@khanacademy/perseus-linter 0.0.0-PR443-20230328215611 → 0.0.0-PR445-20230328222322

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/index.d.ts +7 -0
  3. package/dist/proptypes.d.ts +9 -0
  4. package/dist/rule.d.ts +170 -0
  5. package/dist/rules/absolute-url.d.ts +3 -0
  6. package/dist/rules/all-rules.d.ts +2 -0
  7. package/dist/rules/blockquoted-math.d.ts +3 -0
  8. package/dist/rules/blockquoted-widget.d.ts +3 -0
  9. package/dist/rules/double-spacing-after-terminal.d.ts +3 -0
  10. package/dist/rules/extra-content-spacing.d.ts +3 -0
  11. package/dist/rules/heading-level-1.d.ts +3 -0
  12. package/dist/rules/heading-level-skip.d.ts +3 -0
  13. package/dist/rules/heading-sentence-case.d.ts +3 -0
  14. package/dist/rules/heading-title-case.d.ts +3 -0
  15. package/dist/rules/image-alt-text.d.ts +3 -0
  16. package/dist/rules/image-in-table.d.ts +3 -0
  17. package/dist/rules/image-spaces-around-urls.d.ts +3 -0
  18. package/dist/rules/image-widget.d.ts +3 -0
  19. package/dist/rules/link-click-here.d.ts +3 -0
  20. package/dist/rules/lint-utils.d.ts +2 -0
  21. package/dist/rules/long-paragraph.d.ts +3 -0
  22. package/dist/rules/math-adjacent.d.ts +3 -0
  23. package/dist/rules/math-align-extra-break.d.ts +3 -0
  24. package/dist/rules/math-align-linebreaks.d.ts +3 -0
  25. package/dist/rules/math-empty.d.ts +3 -0
  26. package/dist/rules/math-font-size.d.ts +3 -0
  27. package/dist/rules/math-frac.d.ts +3 -0
  28. package/dist/rules/math-nested.d.ts +3 -0
  29. package/dist/rules/math-starts-with-space.d.ts +3 -0
  30. package/dist/rules/math-text-empty.d.ts +3 -0
  31. package/dist/rules/math-without-dollars.d.ts +3 -0
  32. package/dist/rules/nested-lists.d.ts +3 -0
  33. package/dist/rules/profanity.d.ts +3 -0
  34. package/dist/rules/table-missing-cells.d.ts +3 -0
  35. package/dist/rules/unbalanced-code-delimiters.d.ts +3 -0
  36. package/dist/rules/unescaped-dollar.d.ts +3 -0
  37. package/dist/rules/widget-in-table.d.ts +3 -0
  38. package/dist/selector.d.ts +108 -0
  39. package/dist/tree-transformer.d.ts +205 -0
  40. package/dist/types.d.ts +6 -0
  41. package/package.json +3 -3
  42. package/tsconfig.tsbuildinfo +1 -0
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @khanacademy/perseus-linter
2
2
 
3
- ## 0.0.0-PR443-20230328215611
3
+ ## 0.0.0-PR445-20230328222322
4
4
 
5
5
  ### Minor Changes
6
6
 
@@ -9,7 +9,7 @@
9
9
  ### Patch Changes
10
10
 
11
11
  - Updated dependencies [4ef5607d]
12
- - @khanacademy/perseus-error@0.0.0-PR443-20230328215611
12
+ - @khanacademy/perseus-error@0.0.0-PR445-20230328222322
13
13
 
14
14
  ## 0.2.5
15
15
 
@@ -0,0 +1,7 @@
1
+ import Rule from "./rule";
2
+ export { linterContextProps, linterContextDefault } from "./proptypes";
3
+ export type { LinterContextProps } from "./types";
4
+ declare const allLintRules: ReadonlyArray<any>;
5
+ export { Rule, allLintRules as rules };
6
+ export declare function runLinter(tree: any, context: any, highlight: boolean, rules?: ReadonlyArray<any>): ReadonlyArray<any>;
7
+ export declare function pushContextStack(context: any, name: string): any;
@@ -0,0 +1,9 @@
1
+ import PropTypes from "prop-types";
2
+ import type { LinterContextProps } from "./types";
3
+ export declare const linterContextProps: PropTypes.Requireable<PropTypes.InferProps<{
4
+ contentType: PropTypes.Requireable<string>;
5
+ highlightLint: PropTypes.Requireable<boolean>;
6
+ paths: PropTypes.Requireable<(string | null | undefined)[]>;
7
+ stack: PropTypes.Requireable<(string | null | undefined)[]>;
8
+ }>>;
9
+ export declare const linterContextDefault: LinterContextProps;
package/dist/rule.d.ts ADDED
@@ -0,0 +1,170 @@
1
+ /**
2
+ * The Rule class represents a Perseus lint rule. A Rule instance has a check()
3
+ * method that takes the same (node, state, content) arguments that a
4
+ * TreeTransformer traversal callback function does. Call the check() method
5
+ * during a tree traversal to determine whether the current node of the tree
6
+ * violates the rule. If there is no violation, then check() returns
7
+ * null. Otherwise, it returns an object that includes the name of the rule,
8
+ * an error message, and the start and end positions within the node's content
9
+ * string of the lint.
10
+ *
11
+ * A Perseus lint rule consists of a name, a severity, a selector, a pattern
12
+ * (RegExp) and two functions. The check() method uses the selector, pattern,
13
+ * and functions as follows:
14
+ *
15
+ * - First, when determining which rules to apply to a particular piece of
16
+ * content, each rule can specify an optional function provided in the fifth
17
+ * parameter to evaluate whether or not we should be applying this rule.
18
+ * If the function returns false, we don't use the rule on this content.
19
+ *
20
+ * - Next, check() tests whether the node currently being traversed matches
21
+ * the selector. If it does not, then the rule does not apply at this node
22
+ * and there is no lint and check() returns null.
23
+ *
24
+ * - If the selector matched, then check() tests the text content of the node
25
+ * (and its children) against the pattern. If the pattern does not match,
26
+ * then there is no lint, and check() returns null.
27
+ *
28
+ * - If both the selector and pattern match, then check() calls the function
29
+ * passing the TraversalState object, the content string for the node, the
30
+ * array of nodes returned by the selector match, and the array of strings
31
+ * returned by the pattern match. This function can use these arguments to
32
+ * implement any kind of lint detection logic it wants. If it determines
33
+ * that there is no lint, then it should return null. Otherwise, it should
34
+ * return an error message as a string, or an object with `message`, `start`
35
+ * and `end` properties. The start and end properties are numbers that mark
36
+ * the beginning and end of the problematic content. Note that these numbers
37
+ * are relative to the content string passed to the traversal callback, not
38
+ * to the entire string that was used to generate the parse tree in the
39
+ * first place. TODO(davidflanagan): modify the simple-markdown library to
40
+ * have an option to add the text offset of each node to the parse
41
+ * tree. This will allows us to pinpoint lint errors within a long string
42
+ * of markdown text.
43
+ *
44
+ * - If the function returns null, then check() returns null. Otherwise,
45
+ * check() returns an object with `rule`, `message`, `start` and `end`
46
+ * properties. The value of the `rule` property is the name of the rule,
47
+ * which is useful for error reporting purposes.
48
+ *
49
+ * The name, severity, selector, pattern and function arguments to the Rule()
50
+ * constructor are optional, but you may not omit both the selector and the
51
+ * pattern. If you do not specify a selector, a default selector that matches
52
+ * any node of type "text" will be used. If you do not specify a pattern, then
53
+ * any node that matches the selector will be assumed to match the pattern as
54
+ * well. If you don't pass a function as the fourth argument to the Rule()
55
+ * constructor, then you must pass an error message string instead. If you do
56
+ * this, you'll get a default function that unconditionally returns an object
57
+ * that includes the error message and the start and end indexes of the
58
+ * portion of the content string that matched the pattern. If you don't pass a
59
+ * function in the fifth parameter, the rule will be applied in any context.
60
+ *
61
+ * One of the design goals of this Rule class is to allow simple lint rules to
62
+ * be described in JSON files without any JavaScript code. So in addition to
63
+ * the Rule() constructor, the class also defines a Rule.makeRule() factory
64
+ * method. This method takes a single object as its argument and expects the
65
+ * object to have four string properties. The `name` property is passed as the
66
+ * first argument to the Rule() construtctor. The optional `selector`
67
+ * property, if specified, is passed to Selector.parse() and the resulting
68
+ * Selector object is used as the second argument to Rule(). The optional
69
+ * `pattern` property is converted to a RegExp before being passed as the
70
+ * third argument to Rule(). (See Rule.makePattern() for details on the string
71
+ * to RegExp conversion). Finally, the `message` property specifies an error
72
+ * message that is passed as the final argument to Rule(). You can also use a
73
+ * real RegExp as the value of the `pattern` property or define a custom lint
74
+ * function on the `lint` property instead of setting the `message`
75
+ * property. Doing either of these things means that your rule description can
76
+ * no longer be saved in a JSON file, however.
77
+ *
78
+ * For example, here are two lint rules defined with Rule.makeRule():
79
+ *
80
+ * let nestedLists = Rule.makeRule({
81
+ * name: "nested-lists",
82
+ * selector: "list list",
83
+ * message: `Nested lists:
84
+ * nested lists are hard to read on mobile devices;
85
+ * do not use additional indentation.`,
86
+ * });
87
+ *
88
+ * let longParagraph = Rule.makeRule({
89
+ * name: "long-paragraph",
90
+ * selector: "paragraph",
91
+ * pattern: /^.{501,}/,
92
+ * lint: function(state, content, nodes, match) {
93
+ * return `Paragraph too long:
94
+ * This paragraph is ${content.length} characters long.
95
+ * Shorten it to 500 characters or fewer.`;
96
+ * },
97
+ * });
98
+ *
99
+ * Certain advanced lint rules need additional information about the content
100
+ * being linted in order to detect lint. For example, a rule to check for
101
+ * whitespace at the start and end of the URL for an image can't use the
102
+ * information in the node or content arguments because the markdown parser
103
+ * strips leading and trailing whitespace when parsing. (Nevertheless, these
104
+ * spaces have been a practical problem for our content translation process so
105
+ * in order to check for them, a lint rule needs access to the original
106
+ * unparsed source text. Similarly, there are various lint rules that check
107
+ * widget usage. For example, it is easy to write a lint rule to ensure that
108
+ * images have alt text for images encoded in markdown. But when images are
109
+ * added to our content via an image widget we also want to be able to check
110
+ * for alt text. In order to do this, the lint rule needs to be able to look
111
+ * widgets up by name in the widgets object associated with the parse tree.
112
+ *
113
+ * In order to support advanced linting rules like these, the check() method
114
+ * takes a context object as its optional fourth argument, and passes this
115
+ * object on to the lint function of each rule. Rules that require extra
116
+ * context should not assume that they will always get it, and should verify
117
+ * that the necessary context has been supplied before using it. Currently the
118
+ * "content" property of the context object is the unparsed source text if
119
+ * available, and the "widgets" property of the context object is the widget
120
+ * object associated with that content string in the JSON object that defines
121
+ * the Perseus article or exercise that is being linted.
122
+ */
123
+ import Selector from "./selector";
124
+ import type { TraversalState, TreeNode } from "./tree-transformer";
125
+ export type PatternMatchType = any;
126
+ export type RuleCheckReturnType = {
127
+ rule: string;
128
+ message: string;
129
+ start: number;
130
+ end: number;
131
+ severity?: number;
132
+ } | null | undefined;
133
+ export type LintTesterReturnType = string | {
134
+ message: string;
135
+ start: number;
136
+ end: number;
137
+ } | null | undefined;
138
+ export type LintRuleContextObject = any | null | undefined;
139
+ export type LintTester = (state: TraversalState, content: string, selectorMatch: ReadonlyArray<TreeNode>, patternMatch: PatternMatchType, context: LintRuleContextObject) => LintTesterReturnType;
140
+ export type AppliesTester = (context: LintRuleContextObject) => boolean;
141
+ /**
142
+ * A Rule object describes a Perseus lint rule. See the comment at the top of
143
+ * this file for detailed description.
144
+ */
145
+ export default class Rule {
146
+ name: string;
147
+ severity: number;
148
+ selector: Selector;
149
+ pattern: RegExp | null | undefined;
150
+ lint: LintTester;
151
+ applies: AppliesTester;
152
+ message: string | null | undefined;
153
+ static DEFAULT_SELECTOR: Selector;
154
+ constructor(name: string | null | undefined, severity: number | null | undefined, selector: Selector | null | undefined, pattern: RegExp | null | undefined, lint: LintTester | string, applies: AppliesTester);
155
+ static makeRule(options: any): Rule;
156
+ check(node: TreeNode, traversalState: TraversalState, content: string, context: LintRuleContextObject): RuleCheckReturnType;
157
+ _defaultLintFunction(state: TraversalState, content: string, selectorMatch: ReadonlyArray<TreeNode>, patternMatch: PatternMatchType, context: LintRuleContextObject): {
158
+ end: number;
159
+ message: string;
160
+ start: number;
161
+ };
162
+ static makePattern(pattern?: RegExp | string | null): RegExp | null | undefined;
163
+ static FakePatternMatch(input: string, match: string | null | undefined, index: number): PatternMatchType;
164
+ static Severity: {
165
+ BULK_WARNING: number;
166
+ ERROR: number;
167
+ GUIDELINE: number;
168
+ WARNING: number;
169
+ };
170
+ }
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("..").Rule[];
2
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export declare function getHostname(url: string): string;
2
+ export declare function isInternalURL(url: string): boolean;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import Rule from "../rule";
2
+ declare const _default: Rule;
3
+ export default _default;
@@ -0,0 +1,108 @@
1
+ /**
2
+ * The Selector class implements a CSS-like system for matching nodes in a
3
+ * parse tree based on the structure of the tree. Create a Selector object by
4
+ * calling the static Selector.parse() method on a string that describes the
5
+ * tree structure you want to match. For example, if you want to find text
6
+ * nodes that are direct children of paragraph nodes that immediately follow
7
+ * heading nodes, you could create an appropriate selector like this:
8
+ *
9
+ * selector = Selector.parse("heading + paragraph > text");
10
+ *
11
+ * Recall from the TreeTransformer class, that we consider any object with a
12
+ * string-valued `type` property to be a tree node. The words "heading",
13
+ * "paragraph" and "text" in the selector string above specify node types and
14
+ * will match nodes in a parse tree that have `type` properties with those
15
+ * values.
16
+ *
17
+ * Selectors are designed for use during tree traversals done with the
18
+ * TreeTransformer traverse() method. To test whether the node currently being
19
+ * traversed matches a selector, simply pass the TraversalState object to the
20
+ * match() method of the Selector object. If the node does not match the
21
+ * selector, match() returns null. If it does match, then match() returns an
22
+ * array of nodes that match the selector. In the example above the first
23
+ * element of the array would be the node the heading node, the second would
24
+ * be the paragraph node that follows it, and the third would be the text node
25
+ * that is a child of the paragraph. The last element of a returned array of
26
+ * nodes is always equal to the current node of the tree traversal.
27
+ *
28
+ * Code that uses a selector might look like this:
29
+ *
30
+ * matchingNodes = selector.match(state);
31
+ * if (matchingNodes) {
32
+ * let heading = matchingNodes[0];
33
+ * let text = matchingNodes[2];
34
+ * // do something with those nodes
35
+ * }
36
+ *
37
+ * The Selector.parse() method recognizes a grammar that is similar to CSS
38
+ * selectors:
39
+ *
40
+ * selector := treeSelector (, treeSelector)*
41
+ *
42
+ * A selector is one or more comma-separated treeSelectors. A node matches
43
+ * the selector if it matches any of the treeSelectors.
44
+ *
45
+ * treeSelector := (treeSelector combinator)? nodeSelector
46
+ *
47
+ * A treeSelector is a nodeSelector optionally preceeded by a combinator
48
+ * and another tree selector. The tree selector matches if the current node
49
+ * matches the node selector and a sibling or ancestor (depending on the
50
+ * combinator) of the current node matches the optional treeSelector.
51
+ *
52
+ * combinator := ' ' | '>' | '+' | '~' // standard CSS3 combinators
53
+ *
54
+ * A combinator is a space or punctuation character that specifies the
55
+ * relationship between two nodeSelectors. A space between two
56
+ * nodeSelectors means that the first selector much match an ancestor of
57
+ * the node that matches the second selector. A '>' character means that
58
+ * the first selector must match the parent of the node matched by the
59
+ * second. The '~' combinator means that the first selector must match a
60
+ * previous sibling of the node matched by the second. And the '+' selector
61
+ * means that first selector must match the immediate previous sibling of
62
+ * the node that matched the second.
63
+ *
64
+ * nodeSelector := <IDENTIFIER> | '*'
65
+ *
66
+ * A nodeSelector is simply an identifier (a letter followed by any number
67
+ * of letters, digits, hypens, and underscores) or the wildcard asterisk
68
+ * character. A wildcard node selector matches any node. An identifier
69
+ * selector matches any node that has a `type` property whose value matches
70
+ * the identifier.
71
+ *
72
+ * If you call Selector.parse() on a string that does not match this grammar,
73
+ * it will throw an exception
74
+ *
75
+ * TODO(davidflanagan): it might be useful to allow more sophsticated node
76
+ * selector matching with attribute matches and pseudo-classes, like
77
+ * "heading[level=2]" or "paragraph:first-child"
78
+ *
79
+ * Implementation Note: this file exports a very simple Selector class but all
80
+ * the actual work is done in various internal classes. The Parser class
81
+ * parses the string representation of a selector into a parse tree that
82
+ * consists of instances of various subclasses of the Selector class. It is
83
+ * these subclasses that implement the selector matching logic, often
84
+ * depending on features of the TraversalState object from the TreeTransformer
85
+ * traversal.
86
+ */
87
+ import type { TreeNode, TraversalState } from "./tree-transformer";
88
+ /**
89
+ * This is the base class for all Selector types. The key method that all
90
+ * selector subclasses must implement is match(). It takes a TraversalState
91
+ * object (from a TreeTransformer traversal) and tests whether the selector
92
+ * matches at the current node. See the comment at the start of this file for
93
+ * more details on the match() method.
94
+ */
95
+ export default class Selector {
96
+ static parse(selectorText: string): Selector;
97
+ /**
98
+ * Return an array of the nodes that matched or null if no match.
99
+ * This is the base class so we just throw an exception. All Selector
100
+ * subclasses must provide an implementation of this method.
101
+ */
102
+ match(state: TraversalState): ReadonlyArray<TreeNode> | null | undefined;
103
+ /**
104
+ * Selector subclasses all define a toString() method primarily
105
+ * because it makes it easy to write parser tests.
106
+ */
107
+ toString(): string;
108
+ }
@@ -0,0 +1,205 @@
1
+ /**
2
+ * TreeTransformer is a class for traversing and transforming trees. Create a
3
+ * TreeTransformer by passing the root node of the tree to the
4
+ * constructor. Then traverse that tree by calling the traverse() method. The
5
+ * argument to traverse() is a callback function that will be called once for
6
+ * each node in the tree. This is a post-order depth-first traversal: the
7
+ * callback is not called on the a way down, but on the way back up. That is,
8
+ * the children of a node are traversed before the node itself is.
9
+ *
10
+ * The traversal callback function is passed three arguments, the node being
11
+ * traversed, a TraversalState object, and the concatentated text content of
12
+ * the node and all of its descendants. The TraversalState object is the most
13
+ * most interesting argument: it has methods for querying the ancestors and
14
+ * siblings of the node, and for deleting or replacing the node. These
15
+ * transformation methods are why this class is a tree transformer and not
16
+ * just a tree traverser.
17
+ *
18
+ * A typical tree traversal looks like this:
19
+ *
20
+ * new TreeTransformer(root).traverse((node, state, content) => {
21
+ * let parent = state.parent();
22
+ * let previous = state.previousSibling();
23
+ * // etc.
24
+ * });
25
+ *
26
+ * The traverse() method descends through nodes and arrays of nodes and calls
27
+ * the traverse callback on each node on the way back up to the root of the
28
+ * tree. (Note that it only calls the callback on the nodes themselves, not
29
+ * any arrays that contain nodes.) A node is loosely defined as any object
30
+ * with a string-valued `type` property. Objects that do not have a type
31
+ * property are assumed to not be part of the tree and are not traversed. When
32
+ * traversing an array, all elements of the array are examined, and any that
33
+ * are nodes or arrays are recursively traversed. When traversing a node, all
34
+ * properties of the object are examined and any node or array values are
35
+ * recursively traversed. In typical parse trees, the children of a node are
36
+ * in a `children` or `content` array, but this class is designed to handle
37
+ * more general trees. The Perseus markdown parser, for example, produces
38
+ * nodes of type "table" that have children in the `header` and `cells`
39
+ * properties.
40
+ *
41
+ * CAUTION: the traverse() method does not make any attempt to detect
42
+ * cycles. If you call it on a cyclic graph instead of a tree, it will cause
43
+ * infinite recursion (or, more likely, a stack overflow).
44
+ *
45
+ * TODO(davidflanagan): it probably wouldn't be hard to detect cycles: when
46
+ * pushing a new node onto the containers stack we could just check that it
47
+ * isn't already there.
48
+ *
49
+ * If a node has a text-valued `content` property, it is taken to be the
50
+ * plain-text content of the node. The traverse() method concatenates these
51
+ * content strings and passes them to the traversal callback for each
52
+ * node. This means that the callback has access the full text content of its
53
+ * node and all of the nodes descendants.
54
+ *
55
+ * See the TraversalState class for more information on what information and
56
+ * methods are available to the traversal callback.
57
+ **/
58
+ export type TreeNode = {
59
+ type: string;
60
+ };
61
+ export type TraversalCallback = (node: TreeNode, state: TraversalState, content: string) => void;
62
+ export default class TreeTransformer {
63
+ root: TreeNode;
64
+ constructor(root: TreeNode);
65
+ static isNode(n: any): boolean;
66
+ static isTextNode(n: any): boolean;
67
+ traverse(f: TraversalCallback): void;
68
+ _traverse(n: TreeNode | Array<TreeNode>, state: TraversalState, f: TraversalCallback): string;
69
+ }
70
+ /**
71
+ * This class represents the state of a tree traversal. An instance is created
72
+ * by the traverse() method of the TreeTransformer class to maintain the state
73
+ * for that traversal, and the instance is passed to the traversal callback
74
+ * function for each node that is traversed. This class is not intended to be
75
+ * instantiated directly, but is exported so that its type can be used for
76
+ * Flow annotaions.
77
+ **/
78
+ export declare class TraversalState {
79
+ root: TreeNode;
80
+ _currentNode: TreeNode | null | undefined;
81
+ _containers: Stack<TreeNode | Array<TreeNode>>;
82
+ _indexes: Stack<string | number>;
83
+ _ancestors: Stack<TreeNode>;
84
+ constructor(root: TreeNode);
85
+ /**
86
+ * Return the current node in the traversal. Any time the traversal
87
+ * callback is called, this method will return the name value as the
88
+ * first argument to the callback.
89
+ */
90
+ currentNode(): TreeNode;
91
+ /**
92
+ * Return the parent of the current node, if there is one, or null.
93
+ */
94
+ parent(): TreeNode | null | undefined;
95
+ /**
96
+ * Return an array of ancestor nodes. The first element of this array is
97
+ * the same as this.parent() and the last element is the root node. If we
98
+ * are currently at the root node, the the returned array will be empty.
99
+ * This method makes a copy of the internal state, so modifications to the
100
+ * returned array have no effect on the traversal.
101
+ */
102
+ ancestors(): ReadonlyArray<TreeNode>;
103
+ /**
104
+ * Return the next sibling of this node, if it has one, or null otherwise.
105
+ */
106
+ nextSibling(): TreeNode | null | undefined;
107
+ /**
108
+ * Return the previous sibling of this node, if it has one, or null
109
+ * otherwise.
110
+ */
111
+ previousSibling(): TreeNode | null | undefined;
112
+ /**
113
+ * Remove the next sibling node (if there is one) from the tree. Returns
114
+ * the removed sibling or null. This method makes it easy to traverse a
115
+ * tree and concatenate adjacent text nodes into a single node.
116
+ */
117
+ removeNextSibling(): TreeNode | null | undefined;
118
+ /**
119
+ * Replace the current node in the tree with the specified nodes. If no
120
+ * nodes are passed, this is a node deletion. If one node (or array) is
121
+ * passed, this is a 1-for-1 replacement. If more than one node is passed
122
+ * then this is a combination of deletion and insertion. The new node or
123
+ * nodes will not be traversed, so this method can safely be used to
124
+ * reparent the current node node beneath a new parent.
125
+ *
126
+ * This method throws an error if you attempt to replace the root node of
127
+ * the tree.
128
+ */
129
+ replace(...replacements: ReadonlyArray<TreeNode>): void;
130
+ /**
131
+ * Returns true if the current node has a previous sibling and false
132
+ * otherwise. If this method returns false, then previousSibling() will
133
+ * return null, and goToPreviousSibling() will throw an error.
134
+ */
135
+ hasPreviousSibling(): boolean;
136
+ /**
137
+ * Modify this traversal state object to have the state it would have had
138
+ * when visiting the previous sibling. Note that you may want to use
139
+ * clone() to make a copy before modifying the state object like this.
140
+ * This mutator method is not typically used during ordinary tree
141
+ * traversals, but is used by the Selector class for matching multi-node
142
+ * selectors.
143
+ */
144
+ goToPreviousSibling(): void;
145
+ /**
146
+ * Returns true if the current node has an ancestor and false otherwise.
147
+ * If this method returns false, then the parent() method will return
148
+ * null and goToParent() will throw an error
149
+ */
150
+ hasParent(): boolean;
151
+ /**
152
+ * Modify this object to look like it will look when we (later) visit the
153
+ * parent node of this node. You should not modify the instance passed to
154
+ * the tree traversal callback. Instead, make a copy with the clone()
155
+ * method and modify that. This mutator method is not typically used
156
+ * during ordinary tree traversals, but is used by the Selector class for
157
+ * matching multi-node selectors that involve parent and ancestor
158
+ * selectors.
159
+ */
160
+ goToParent(): void;
161
+ /**
162
+ * Return a new TraversalState object that is a copy of this one.
163
+ * This method is useful in conjunction with the mutating methods
164
+ * goToParent() and goToPreviousSibling().
165
+ */
166
+ clone(): TraversalState;
167
+ /**
168
+ * Returns true if this TraversalState object is equal to that
169
+ * TraversalState object, or false otherwise. This method exists
170
+ * primarily for use by our unit tests.
171
+ */
172
+ equals(that: TraversalState): boolean;
173
+ }
174
+ /**
175
+ * This class is an internal utility that just treats an array as a stack
176
+ * and gives us a top() method so we don't have to write expressions like
177
+ * `ancestors[ancestors.length-1]`. The values() method automatically
178
+ * copies the internal array so we don't have to worry about client code
179
+ * modifying our internal stacks. The use of this Stack abstraction makes
180
+ * the TraversalState class simpler in a number of places.
181
+ */
182
+ declare class Stack<T> {
183
+ stack: Array<T>;
184
+ constructor(array?: ReadonlyArray<T> | null);
185
+ /** Push a value onto the stack. */
186
+ push(v: T): void;
187
+ /** Pop a value off of the stack. */
188
+ pop(): T;
189
+ /** Return the top value of the stack without popping it. */
190
+ top(): T;
191
+ /** Return a copy of the stack as an array */
192
+ values(): ReadonlyArray<T>;
193
+ /** Return the number of elements in the stack */
194
+ size(): number;
195
+ /** Return a string representation of the stack */
196
+ toString(): string;
197
+ /** Return a shallow copy of the stack */
198
+ clone(): Stack<T>;
199
+ /**
200
+ * Compare this stack to another and return true if the contents of
201
+ * the two arrays are the same.
202
+ */
203
+ equals(that: Stack<T>): boolean;
204
+ }
205
+ export {};
@@ -0,0 +1,6 @@
1
+ export type LinterContextProps = {
2
+ contentType: string;
3
+ highlightLint: boolean;
4
+ paths: ReadonlyArray<string>;
5
+ stack: ReadonlyArray<string>;
6
+ };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Linter engine for Perseus",
4
4
  "author": "Khan Academy",
5
5
  "license": "MIT",
6
- "version": "0.0.0-PR443-20230328215611",
6
+ "version": "0.0.0-PR445-20230328222322",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -21,10 +21,10 @@
21
21
  "test": "bash -c 'yarn --silent --cwd \"../..\" test ${@:0} $($([[ ${@: -1} = -* ]] || [[ ${@: -1} = bash ]]) && echo $PWD)'"
22
22
  },
23
23
  "dependencies": {
24
- "@khanacademy/perseus-error": "^0.0.0-PR443-20230328215611"
24
+ "@khanacademy/perseus-error": "^0.0.0-PR445-20230328222322"
25
25
  },
26
26
  "devDependencies": {
27
- "@khanacademy/pure-markdown": "^0.0.0-PR443-20230328215611",
27
+ "@khanacademy/pure-markdown": "^0.0.0-PR445-20230328222322",
28
28
  "prop-types": "^15.6.1"
29
29
  },
30
30
  "peerDependencies": {
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.es2016.full.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/clone.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/entries.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/errors.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/errors-from-error.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/get-kind-from-error.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/get-original-stack-from-error.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/keys.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/types.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/kind-error.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/safe-stringify.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/truncate-middle.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/values.d.ts","../perseus-error/node_modules/@khanacademy/wonder-stuff-core/dist/index.d.ts","../perseus-error/dist/index.d.ts","./src/tree-transformer.ts","./src/selector.ts","./src/rule.ts","./src/rules/lint-utils.ts","./src/rules/absolute-url.ts","./src/rules/blockquoted-math.ts","./src/rules/blockquoted-widget.ts","./src/rules/double-spacing-after-terminal.ts","./src/rules/extra-content-spacing.ts","./src/rules/heading-level-1.ts","./src/rules/heading-level-skip.ts","./src/rules/heading-sentence-case.ts","./src/rules/heading-title-case.ts","./src/rules/image-alt-text.ts","./src/rules/image-in-table.ts","./src/rules/image-spaces-around-urls.ts","./src/rules/image-widget.ts","./src/rules/link-click-here.ts","./src/rules/long-paragraph.ts","./src/rules/math-adjacent.ts","./src/rules/math-align-extra-break.ts","./src/rules/math-align-linebreaks.ts","./src/rules/math-empty.ts","./src/rules/math-font-size.ts","./src/rules/math-frac.ts","./src/rules/math-nested.ts","./src/rules/math-starts-with-space.ts","./src/rules/math-text-empty.ts","./src/rules/math-without-dollars.ts","./src/rules/nested-lists.ts","./src/rules/profanity.ts","./src/rules/table-missing-cells.ts","./src/rules/unbalanced-code-delimiters.ts","./src/rules/unescaped-dollar.ts","./src/rules/widget-in-table.ts","./src/rules/all-rules.ts","../../node_modules/@types/prop-types/index.d.ts","./src/types.ts","./src/proptypes.ts","./src/index.ts","../../node_modules/@types/aria-query/index.d.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostics_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/dom-events.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/readline/promises.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/stream/consumers.d.ts","../../node_modules/@types/node/stream/web.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/test.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/connect/index.d.ts","../../node_modules/@types/body-parser/index.d.ts","../../node_modules/@types/bonjour/index.d.ts","../../node_modules/@types/cheerio/index.d.ts","../../node_modules/@types/range-parser/index.d.ts","../../node_modules/@types/qs/index.d.ts","../../node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/@types/connect-history-api-fallback/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/mime/Mime.d.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/serve-static/index.d.ts","../../node_modules/@types/express/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/unist/index.d.ts","../../node_modules/@types/hast/index.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/@types/html-minifier-terser/index.d.ts","../../node_modules/@types/http-proxy/index.d.ts","../../node_modules/ci-info/index.d.ts","../../node_modules/@types/is-ci/index.d.ts","../../node_modules/@types/is-function/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/expect/node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/expect/node_modules/@jest/schemas/build/index.d.ts","../../node_modules/expect/node_modules/pretty-format/build/index.d.ts","../../node_modules/expect/node_modules/jest-diff/build/index.d.ts","../../node_modules/expect/node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/jquery/JQueryStatic.d.ts","../../node_modules/@types/jquery/JQuery.d.ts","../../node_modules/@types/jquery/misc.d.ts","../../node_modules/@types/jquery/legacy.d.ts","../../node_modules/@types/sizzle/index.d.ts","../../node_modules/@types/jquery/index.d.ts","../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts","../../node_modules/@types/parse5/index.d.ts","../../node_modules/@types/tough-cookie/index.d.ts","../../node_modules/@types/jsdom/base.d.ts","../../node_modules/@types/jsdom/ts4.0/index.d.ts","../../node_modules/@types/jsdom/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/mdast/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/npmlog/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/pretty-hrtime/index.d.ts","../../node_modules/@types/q/index.d.ts","../../node_modules/@types/react-dom/index.d.ts","../../node_modules/redux/index.d.ts","../../node_modules/@types/react-redux/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/scheduler/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/serve-index/index.d.ts","../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../node_modules/@types/sockjs/index.d.ts","../../node_modules/@types/source-list-map/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/tapable/index.d.ts","../../node_modules/@types/testing-library__jest-dom/matchers.d.ts","../../node_modules/@types/testing-library__jest-dom/index.d.ts","../../node_modules/source-map/source-map.d.ts","../../node_modules/@types/uglify-js/index.d.ts","../../node_modules/@types/underscore/index.d.ts","../../node_modules/anymatch/index.d.ts","../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../node_modules/@types/webpack-sources/lib/Source.d.ts","../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts","../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts","../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts","../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts","../../node_modules/@types/webpack-sources/lib/RawSource.d.ts","../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts","../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts","../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts","../../node_modules/@types/webpack-sources/lib/index.d.ts","../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts","../../node_modules/@types/webpack-sources/index.d.ts","../../node_modules/@types/webpack/index.d.ts","../../node_modules/@types/webpack-env/index.d.ts","../../node_modules/@types/ws/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts","../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"f3d4da15233e593eacb3965cde7960f3fddf5878528d882bcedd5cbaba0193c7","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"2dfbb27de6bf0db1018122b054d26cf1fc47bc1979d096aec101b08a42c63b13","6304649762698999bfad27a74a30bfce53fbf72922f48a85199e51f722bad413","876f754b9f5b5743997215726693660487af49f333f888456c50a599980935e0","e882066993666b5ee6065940e6fd04457fcd6b362f3d79864794da3402a8a74a","0c8f708bcff149ab03fc5552c628a3fe307797e5233fb15625d67a5254294025","ddaa076d642cda52990e7ac3f0d4e77988e48a5ef8364ab092a8e0d4e2b0e56c","6f995f0051cef664462da3abde1cfaf8ac458b2c591c4bd309d6769c142f1777","78caa9a2c3e615e88e606249032127cd7a524a495885b3cfb91151322b067151","9d76ae8abdc2155a15214d011b4e403b68a44a667d999e99751ead31181bf61f","aab3feec73ec8dc10a95dcff051cf36c1b3687ca72a576a1dd8f0ced1896a2ac","bcc1c7f9a00220d60d6c7d89b7d52286e3744a5a0749d236348bc9380898cb90","f65c3223aff15c3deb2023e8d3c3557fcf7f3a497b64cfa16a75b18b7e7f6555","7ca8408e005a688b33b6c9d99e07242f65590bd1347abbae2436787f21116798","5c4319d283383ea6c4eb291006e73796081e5de43ff359a0a75e354f5826b1c1","78c656d6973a0263705d80fa8ff993fa8b8be03c0e5330062ba9a337d1436531",{"version":"4bd8a244e2384d5d700c339222a044670a009b960809d5030558fea69305a2df","signature":"5581340367598a79373f6ce426fd3a80b20aa7e834af698882f9a63f2bdf87c7"},{"version":"95022bf159706180df39574773142189c7a844ac1235b6307d4016b19446b5f3","signature":"f9550ca31d7259f9d4ff806d6166297ff46bbb70dba65059ff4f7c1fe7f6690e"},{"version":"95d3c70165d992fd8009adcb96d1649375aa0095c5bf727efda6269d10e42642","signature":"0a219a7347c12f24340b28c78393778a9ce91910c3b0a648c2332d24f13eb500"},{"version":"c58de46144746801bca4fffd50b9c3542cf972521973850fdf6538fdfbcb8e44","signature":"56955bfc07f4fd78527fe9a1ec26febe7d9f969ce5acb3cab6ac9bd0c4d6945d"},{"version":"ea63864e2ab79f652a65e47522e7bdaa1decdfdd169dd3b6a007a28834a14593","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"9c35eb3727a14c8030fb50f09b2ceced91f9e227abee71392ca65f188c8ddfe3","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"97d378e9517859073ca0c6c3c5b1f600fcd87b68c199bf6c2cec810c785fe3c8","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"9a8668e0f1a1d343974b888ff540e522b3b8a786f356387c2c24cc88cd20734c","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"b7d503021f358a205560af7119f7c5344680d0346e3e01bf99d32b38804711ce","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"bda993a213c68d2fb4cc0c034d0459b29e87011a997486f7f0cffe4aedf95763","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"23c838efbcf52be87d72cc451d952b3f1e77f0102b20ed96b47b1fca00c548bd","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"7a96c279208217dac4df1d31571f4788a8d1216563293f4d2f4977aee37bf69f","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"b07d2595d878ef097ab9e3da5dc36f770c0ca4dc46500f7178181327cb018cf6","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"9f81a2364f65c8fddb41c680f1a046ab6fba439331f41d4b2ef7fbd4e02940ba","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"a5afefe5b45a3075dfc17a973d5e0958e08aa27630ee6ca23bc14c205a05b88f","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"34ee097de4fb46eb8c2e42e57a2dbc88b195b2d83a7f1a4eb4e97ada11ee6301","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"d99b162a7c5e2180b41bec61e9ad718fa9ffd27c25f35994dee8ed68f1bd8ac2","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"a3e53321f13de1077ef31e436ce5230332d7ac10aa13b6484f522cfb7dafc207","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"42b18107a28a7012c603c55c4b7eac2145d1f72c481884cda2883d9a4f283513","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"7f39c0ea932ea53f846e74e62de36697c99eff8eb553ac5d979e2660506735d4","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"ad888db64c261b2dd03fc8295f884f62caf073d0991b3aeb4103658ca928531e","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"d158d1b18ccd6545fe2540e0103882881a5a988544e9f07d938359b572c8f116","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"fceda52434502670f6bdc4430bbb7805ba63b3f478c58f752659deaaedd7687c","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"83e20ff14d3ba68bcaeb6836aca77bbd19cad20189c09af4095e40e6748720c5","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"d5cef0011f8d3d1b4d14a37b8105b48e4ccf5bc96279261f2599ac88f32fddb3","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"2fc7ac9ec8db99b85e91d63ae7cf536dd074cec2dca02f3dbe1975ec324698dd","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"bc159a2896aca38e280a70adff0f5b2a1aeabd577cc681f76031c0f88bce5990","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"5c618dcbfe31511289a707eb393de69fd31553daeafbac825cee777cc79a2963","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"961ff6fa326d1b1e54e9ba9bc3954dbb877e26a3e00565b9868c6f885fd94cfc","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"ded0db7e12614afcc47bafeffe2d4be5b447e5cece6cc8bfe187260e670ae1cb","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"fa46f3b0bfbd624beaa7bee6acba9ba3b8fe578abfcedc75fed34b71fd0e677b","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"e2ef812224ae3cebc48eea3c52d6a209d9b885dd0f026123a2b2540cf3c23017","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"8fe21cf246df40338efb84d714ca81518ea74432be0c4d092f9c836f16526914","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"e9a55ba10ddaabbcaba0279a7a98017537002f2fa69ef95f29a5188249de9583","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"3699484ed4313e9e2edacda6c6bb8d9351190f19ff14b2b83fc8918ed4f54ba6","signature":"5180c441b155805c0c921a6f8677330aca894999b9c18b81a3826845051ec721"},{"version":"4829f6012466a6fedb1d615d01e757feb7f0caee6218b59e0f92d23e4abdc63f","signature":"ff522a26474624cd6211703e365c4a28b7c5a5059f69c30aed8ef100f32c8d69"},"6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea",{"version":"8924e84d951ed938bf3178b5b8b1ed048848472f27f44086a8dc2a83d6d5decf","signature":"5ed3160fc58a70d5441e5994b90e97bd7af585cbfdd72ce227eb8229ca1580eb"},{"version":"aaaec484291f99ab23d4de968a4553d21606709f1c096ffca967f2672242e520","signature":"6ab85f35ffb1bd0bfbf1ce0cdd0403492e8a0463eba2c8cc5c27d27d33c8af25"},{"version":"bcb2130b72d48c3e776b12a25e1e31481391e5ee0714d288a8cfaf8d72ace268","signature":"0882ad07d6ec904c10902ae05366d62382d795bba93cc6012fe0c37e97fade3a"},"5024433f8da3a7968f6d12cffd32f2cefae4442a9ad1c965fa2d23342338b700","2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","1a7cc144992d79b062c22ac0309c6624dbb0d49bbddff7ea3b9daa0c17bcac0a","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","159bda82b67a7aa30cf7dcf0110cad83bcc6620396830efd470890f0caa6c9c0","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"54ba7456adb777a685250cd144115ea51379784012ba1311255b715c6bdcff2a","affectsGlobalScope":true},"11e2d554398d2bd460e7d06b2fa5827a297c8acfbe00b4f894a224ac0862857f",{"version":"e193e634a99c9c1d71f1c6e4e1567a4a73584328d21ea02dd5cddbaad6693f61","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","e6c86d83bd526c8bdb5d0bf935b8e72ce983763d600743f74d812fdf4abf4df6","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","7d55d78cd47cf5280643b53434b16c2d9d11d144126932759fbdd51da525eec4","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","c4577fb855ca259bdbf3ea663ca73988ce5f84251a92b4aef80a1f4122b6f98e","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"ff07a9a03c65732ccc59b3c65bc584173da093bd563a6565411c01f5703bd3cb","affectsGlobalScope":true},"6de4a219df57d2b27274d59b67708f13c2cbf7ed211abe57d8f9ab8b25cde776","a5edeccc71da079d52df5b6492f577d0131c102fc6296632a04f3dd07247911b","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"d8d555f3d607ecaa18d55de6995ea8f206342ecc93305919eac945c7c78c78c6","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","d78e5898c8de5e0f934eee83f680262de005caa268d137101b833fd932f95e07",{"version":"57a1cb6f082fa2df46deaa96fa0063463b3393dd39bd09359dab251db28000b9","affectsGlobalScope":true},"16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"c5dd1fef4cd4aaffc78786047bed5ae6fc1200d19a1946cbc4e2d3ed4d62c8fa","affectsGlobalScope":true},"56cbe80e6c42d7e6e66b6f048add8b01c663797b843a074d9f19c4a3d63a269a",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","4e75a89a181f3b091173e4c0828dec3fb1c24087d3bb4f37b4a31e0619e8336f","e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","e6f0cb9d8cb2e38bec66e032e73caa3e7c6671f21ed7196acb821aec462051f2","43cdd474c5aa3340da4816bb8f1ae7f3b1bcf9e70d997afc36a0f2c432378c84","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"ea0aa24a32c073b8639aa1f3130ba0add0f0f2f76b314d9ba988a5cb91d7e3c4","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"51da54ddc920585f6f7ad98b6ba9916dfbb42ce4b8a872fd4f9a4cc93491f404","affectsGlobalScope":true},"bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","54c9959f2d8ba97a5fcc4345ac2fca6f1bc20fe5764570b7fef37bea107bc70b","913754f9281683f22d98d0ba7796896cee30c302baefa3dda69f61af8de244d8","a3e5b8b86e7bd38d9afdc294875c4445c535319e288d3a13c1e2e41f9af934f2","de1d6e224048139baf7494237a9231be6bab9e990fb239c7825bfd38b06d8c90","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","6cffc933aac260d5ac5d45a00b35454c98edbb6c0e80b964871b268cc199a871","43883cf3635bb1846cbdc6c363787b76227677388c74f7313e3f0edb380840fa","2d47012580f859dae201d2eef898a416bdae719dffc087dfd06aefe3de2f9c8d","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","2cec1a31729b9b01e9294c33fc9425d336eff067282809761ad2e74425d6d2a5","2d47012580f859dae201d2eef898a416bdae719dffc087dfd06aefe3de2f9c8d",{"version":"458e2fd1185e659cb800ef68d01ef77de70dcab8860bedf6d94eaebe736751f1","affectsGlobalScope":true},{"version":"115761f64ad832d1c1d25b6d88968dbcbd9f041f26dcf4fee24c72f1877676ab","affectsGlobalScope":true},{"version":"fa0c33084cd3ff947ba61f0f6e3082eb0642482875d0600e1d555323f40bdb8e","affectsGlobalScope":true},{"version":"201995bd39718f4a520a5e89b0a378bc12821478d4ea46c70520728d6d79e7e4","affectsGlobalScope":true},{"version":"6f1f78e8c2a5c7cd2c38aa9cc5da26d9c039f2bbfa753f2a0a54ce41c4dff8d0","affectsGlobalScope":true},"ec89427601297d439c961528832a75017d9356bec2ee42c1d16f2274590d9330","2b1af4170f6dfa90f43d2fe3d6c36f95b7fa121aa434a2acefb763d7be460a53","fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa","cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","fd20dfa2434a61a87e3fa9450f9de2ed2c365ea43b17b34ac6616d90d9681381","389303117a81e90897689e7adb4b53a062e68a6fe4067088fae9552907aa28c3",{"version":"d4c4fe14b23180acf25e4a68dc3bb9e5c38233dd3de12a4ab9569e636090ac9b","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","df38da6685578ac3d0e4ce2d20f3d59462ee53959b8263d2532ec9cec48ae098","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","429b6df7d7b94389bd42cfdf39bccea903acd3628498cec6172302801fbeac89","c0a3ea3aee13c4946a6aefce3a6ab9292a40a29f6622cde0fda0b1067a1a1f5f","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","b567296d1820a1e50b6522c99a4f272c70eb2cba690da6e64a25635b70b1383f",{"version":"fd624f7d7b264922476685870f08c5e1c6d6a0f05dee2429a9747b41f6b699d4","affectsGlobalScope":true},"1781e7a2a01c07c7295d3ce885d5d2905bec6449725937e3b8776c9b5ab4bf5b","8a19491eba2108d5c333c249699f40aff05ad312c04a17504573b27d91f0aede","199f9ead0daf25ae4c5632e3d1f42570af59685294a38123eef457407e13f365","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","acebfe99678cf7cddcddc3435222cf132052b1226e902daac9fbb495c321a9b5","550650516d34048712520ffb1fce4a02f2d837761ee45c7d9868a7a35e7b0343","82b1f9a6eefef7386aebe22ac49f23b806421e82dbf35c6e5b7132d79e4165da","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","bd0f4458d57115491a1dd9fe522fa1d6ffe45a85b12bbd463967f90b50e43c29",{"version":"06279f0df6f368af41fe267319e90b5af9d89ad489d1662164b94ce30a797c79","affectsGlobalScope":true},"2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","c6c1427ba1efa270964d61564a3d99b59c0865a51dd55e4beb9f50e5c9aa8b51",{"version":"0609dda5350cd6d8c42daef710dffe3b51521ffbd00109e234f7bfb7533194e7","affectsGlobalScope":true},"4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","b2f006ee835f315d01c43c0f5d9e9ad78a5870b380899877b32a33078d065dbd",{"version":"e0c29cf48f8c3f7c96d9638c60ce6a68e4e2875760eca40a6e0f314c1e6c0997","affectsGlobalScope":true},"77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","105b9a2234dcb06ae922f2cd8297201136d416503ff7d16c72bfc8791e9895c1","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"options":{"composite":true,"declaration":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":1,"module":99,"noImplicitAny":false,"outDir":"./dist","rootDir":"./src","skipDefaultLibCheck":true,"skipLibCheck":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":false,"strictNullChecks":true,"strictPropertyInitialization":true,"target":3},"fileIdsList":[[102,154,216,217,218],[154,216,217,218],[102,103,104,105,106,154,216,217,218],[102,104,154,216,217,218],[127,154,161,162,216,217,218],[118,154,161,216,217,218],[154,161,216,217,218],[153,154,161,168,216,217,218],[127,154,161,216,217,218],[154,171,173,216,217,218],[154,170,171,172,216,217,218],[124,127,154,161,166,167,216,217,218],[154,163,167,168,177,216,217,218],[124,125,154,161,179,216,217,218],[125,154,161,216,217,218],[154,182,216,217,218],[154,187,216,217,218],[124,127,129,132,142,153,154,161,216,217,218],[154,191,216,217,218],[154,194,216,217,218],[154,195,216,217,218],[154,201,204,216,217,218],[154,200,216,217,218],[154,207,208,209,210,211,216,217,218],[124,154,156,161,214,215,217,218],[154,216,217],[154,216,218],[154,216,217,218,220,222,223,224,225,226,227,228,229,230,231,232],[154,216,217,218,220,221,223,224,225,226,227,228,229,230,231,232],[154,216,217,218,221,222,223,224,225,226,227,228,229,230,231,232],[154,216,217,218,220,221,222,224,225,226,227,228,229,230,231,232],[154,216,217,218,220,221,222,223,225,226,227,228,229,230,231,232],[154,216,217,218,220,221,222,223,224,226,227,228,229,230,231,232],[154,216,217,218,220,221,222,223,224,225,227,228,229,230,231,232],[154,216,217,218,220,221,222,223,224,225,226,228,229,230,231,232],[154,216,217,218,220,221,222,223,224,225,226,227,229,230,231,232],[154,216,217,218,220,221,222,223,224,225,226,227,228,230,231,232],[154,216,217,218,220,221,222,223,224,225,226,227,228,229,231,232],[154,216,217,218,220,221,222,223,224,225,226,227,228,229,230,232],[154,216,217,218,220,221,222,223,224,225,226,227,228,229,230,231],[154,176,216,217,218],[154,175,216,217,218],[127,153,154,161,216,217,218,235,236],[127,142,154,161,216,217,218],[108,154,216,217,218],[111,154,216,217,218],[112,117,145,154,216,217,218],[113,124,125,132,142,153,154,216,217,218],[113,114,124,132,154,216,217,218],[115,154,216,217,218],[116,117,125,133,154,216,217,218],[117,142,150,154,216,217,218],[118,120,124,132,154,216,217,218],[119,154,216,217,218],[120,121,154,216,217,218],[124,154,216,217,218],[122,124,154,216,217,218],[124,125,126,142,153,154,216,217,218],[124,125,126,139,142,145,154,216,217,218],[154,158,216,217,218],[120,127,132,142,153,154,216,217,218],[124,125,127,128,132,142,150,153,154,216,217,218],[127,129,142,150,153,154,216,217,218],[108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,216,217,218],[124,130,154,216,217,218],[131,153,154,216,217,218],[120,124,132,142,154,216,217,218],[133,154,216,217,218],[134,154,216,217,218],[111,135,154,216,217,218],[136,152,154,158,216,217,218],[137,154,216,217,218],[138,154,216,217,218],[124,139,140,154,216,217,218],[139,141,154,156,216,217,218],[112,124,142,143,144,145,154,216,217,218],[112,142,144,154,216,217,218],[142,143,154,216,217,218],[145,154,216,217,218],[146,154,216,217,218],[124,148,149,154,216,217,218],[148,149,154,216,217,218],[117,132,142,150,154,216,217,218],[151,154,216,217,218],[132,152,154,216,217,218],[112,127,138,153,154,216,217,218],[117,154,216,217,218],[142,154,155,216,217,218],[154,156,216,217,218],[154,157,216,217,218],[112,117,124,126,135,142,153,154,156,158,216,217,218],[142,154,159,216,217,218],[154,213,216,217,218],[154,214,216,217,218],[154,187,188,216,217,218,245],[97,154,184,185,186,216,217,218],[154,216,217,218,250,289],[154,216,217,218,250,274,289],[154,216,217,218,289],[154,216,217,218,250],[154,216,217,218,250,275,289],[154,216,217,218,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288],[154,216,217,218,275,289],[125,154,178,216,217,218],[127,154,161,176,216,217,218],[154,206,216,217,218,296],[154,216,217,218,298],[154,161,216,217,218,303,304,305,306,307,308,309,310,311,312,313],[154,216,217,218,302,303,312],[154,216,217,218,303,312],[154,216,217,218,293,302,303,312],[154,216,217,218,303],[117,154,216,217,218,302,312],[154,216,217,218,302,303,304,305,306,307,308,309,310,311,313],[117,154,161,216,217,218,295,298,299,301,314],[124,127,129,142,150,153,154,159,161,216,217,218],[154,216,217,218,318],[124,142,154,161,216,217,218],[154,197,203,216,217,218],[154,199,216,217,218],[154,201,216,217,218],[154,198,202,216,217,218],[59,154,216,217,218],[47,48,49,50,51,52,53,54,55,56,57,58,154,216,217,218],[54,154,216,217,218],[61,63,96,98,99,154,216,217,218],[97,98,154,216,217,218],[60,61,62,154,216,217,218],[63,64,154,216,217,218],[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,154,216,217,218],[63,154,216,217,218],[60,61,154,216,217,218],[60,154,216,217,218],[63,98,99],[97,98],[61,62],[63],[100],[61]],"referencedMap":[[104,1],[102,2],[199,2],[101,2],[107,3],[103,1],[105,4],[106,1],[163,5],[164,6],[165,7],[169,8],[162,9],[174,10],[170,2],[173,11],[171,2],[168,12],[178,13],[180,14],[181,15],[183,16],[188,17],[189,2],[190,18],[192,19],[193,2],[194,2],[195,20],[196,21],[206,22],[205,23],[208,2],[207,2],[212,24],[210,2],[209,2],[216,25],[218,26],[217,27],[172,2],[219,2],[221,28],[222,29],[220,30],[223,31],[224,32],[225,33],[226,34],[227,35],[228,36],[229,37],[230,38],[231,39],[232,40],[233,16],[175,41],[176,42],[179,2],[234,2],[236,2],[237,43],[235,44],[108,45],[109,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[117,52],[118,53],[119,54],[120,55],[121,55],[123,56],[122,57],[124,56],[125,58],[126,59],[110,60],[160,2],[127,61],[128,62],[129,63],[161,64],[130,65],[131,66],[132,67],[133,68],[134,69],[135,70],[136,71],[137,72],[138,73],[139,74],[140,74],[141,75],[142,76],[144,77],[143,78],[145,79],[146,80],[147,2],[148,81],[149,82],[150,83],[151,84],[152,85],[153,86],[154,87],[155,88],[156,89],[157,90],[158,91],[159,92],[238,2],[239,56],[240,2],[214,93],[213,94],[241,2],[242,2],[97,2],[243,2],[167,2],[166,2],[244,17],[246,95],[184,2],[187,96],[247,7],[248,2],[249,2],[186,2],[274,97],[275,98],[250,99],[253,99],[272,97],[273,97],[263,97],[262,100],[260,97],[255,97],[268,97],[266,97],[270,97],[254,97],[267,97],[271,97],[256,97],[257,97],[269,97],[251,97],[258,97],[259,97],[261,97],[265,97],[276,101],[264,97],[252,97],[289,102],[288,2],[283,101],[285,103],[284,101],[277,101],[278,101],[280,101],[282,101],[286,103],[287,103],[279,103],[281,103],[290,104],[177,105],[291,2],[211,2],[292,9],[293,2],[294,2],[295,2],[297,106],[296,2],[215,2],[299,107],[300,2],[182,2],[316,2],[314,108],[313,109],[304,110],[305,111],[306,111],[307,110],[308,110],[309,110],[310,112],[303,113],[311,109],[312,114],[302,2],[315,115],[317,116],[318,2],[319,117],[320,118],[301,2],[198,2],[191,2],[185,2],[204,119],[197,2],[200,120],[202,121],[203,122],[201,23],[245,2],[298,2],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[46,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[1,2],[45,2],[11,2],[10,2],[60,123],[47,2],[48,2],[50,2],[49,2],[51,2],[52,2],[59,124],[53,2],[55,125],[56,2],[57,2],[54,2],[58,2],[100,126],[99,127],[63,128],[65,129],[96,130],[66,131],[67,131],[68,131],[69,131],[70,131],[71,131],[72,131],[73,131],[74,131],[75,131],[76,131],[77,131],[78,131],[64,2],[79,131],[80,131],[81,131],[82,131],[83,131],[84,131],[85,131],[86,131],[87,131],[88,131],[89,131],[90,131],[91,131],[92,131],[93,131],[94,131],[95,131],[62,132],[61,133],[98,2]],"exportedModulesMap":[[104,1],[102,2],[199,2],[101,2],[107,3],[103,1],[105,4],[106,1],[163,5],[164,6],[165,7],[169,8],[162,9],[174,10],[170,2],[173,11],[171,2],[168,12],[178,13],[180,14],[181,15],[183,16],[188,17],[189,2],[190,18],[192,19],[193,2],[194,2],[195,20],[196,21],[206,22],[205,23],[208,2],[207,2],[212,24],[210,2],[209,2],[216,25],[218,26],[217,27],[172,2],[219,2],[221,28],[222,29],[220,30],[223,31],[224,32],[225,33],[226,34],[227,35],[228,36],[229,37],[230,38],[231,39],[232,40],[233,16],[175,41],[176,42],[179,2],[234,2],[236,2],[237,43],[235,44],[108,45],[109,45],[111,46],[112,47],[113,48],[114,49],[115,50],[116,51],[117,52],[118,53],[119,54],[120,55],[121,55],[123,56],[122,57],[124,56],[125,58],[126,59],[110,60],[160,2],[127,61],[128,62],[129,63],[161,64],[130,65],[131,66],[132,67],[133,68],[134,69],[135,70],[136,71],[137,72],[138,73],[139,74],[140,74],[141,75],[142,76],[144,77],[143,78],[145,79],[146,80],[147,2],[148,81],[149,82],[150,83],[151,84],[152,85],[153,86],[154,87],[155,88],[156,89],[157,90],[158,91],[159,92],[238,2],[239,56],[240,2],[214,93],[213,94],[241,2],[242,2],[97,2],[243,2],[167,2],[166,2],[244,17],[246,95],[184,2],[187,96],[247,7],[248,2],[249,2],[186,2],[274,97],[275,98],[250,99],[253,99],[272,97],[273,97],[263,97],[262,100],[260,97],[255,97],[268,97],[266,97],[270,97],[254,97],[267,97],[271,97],[256,97],[257,97],[269,97],[251,97],[258,97],[259,97],[261,97],[265,97],[276,101],[264,97],[252,97],[289,102],[288,2],[283,101],[285,103],[284,101],[277,101],[278,101],[280,101],[282,101],[286,103],[287,103],[279,103],[281,103],[290,104],[177,105],[291,2],[211,2],[292,9],[293,2],[294,2],[295,2],[297,106],[296,2],[215,2],[299,107],[300,2],[182,2],[316,2],[314,108],[313,109],[304,110],[305,111],[306,111],[307,110],[308,110],[309,110],[310,112],[303,113],[311,109],[312,114],[302,2],[315,115],[317,116],[318,2],[319,117],[320,118],[301,2],[198,2],[191,2],[185,2],[204,119],[197,2],[200,120],[202,121],[203,122],[201,23],[245,2],[298,2],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[46,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[36,2],[33,2],[34,2],[35,2],[37,2],[7,2],[38,2],[43,2],[44,2],[39,2],[40,2],[41,2],[42,2],[1,2],[45,2],[11,2],[10,2],[60,123],[47,2],[48,2],[50,2],[49,2],[51,2],[52,2],[59,124],[53,2],[55,125],[56,2],[57,2],[54,2],[58,2],[100,134],[99,135],[63,136],[65,137],[96,138],[66,137],[67,137],[68,137],[69,137],[70,137],[71,137],[72,137],[73,137],[74,137],[75,137],[76,137],[77,137],[78,137],[79,137],[80,137],[81,137],[82,137],[83,137],[84,137],[85,137],[86,137],[87,137],[88,137],[89,137],[90,137],[91,137],[92,137],[93,137],[94,137],[95,137],[62,139]],"semanticDiagnosticsPerFile":[104,102,199,101,107,103,105,106,163,164,165,169,162,174,170,173,171,168,178,180,181,183,188,189,190,192,193,194,195,196,206,205,208,207,212,210,209,216,218,217,172,219,221,222,220,223,224,225,226,227,228,229,230,231,232,233,175,176,179,234,236,237,235,108,109,111,112,113,114,115,116,117,118,119,120,121,123,122,124,125,126,110,160,127,128,129,161,130,131,132,133,134,135,136,137,138,139,140,141,142,144,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,238,239,240,214,213,241,242,97,243,167,166,244,246,184,187,247,248,249,186,274,275,250,253,272,273,263,262,260,255,268,266,270,254,267,271,256,257,269,251,258,259,261,265,276,264,252,289,288,283,285,284,277,278,280,282,286,287,279,281,290,177,291,211,292,293,294,295,297,296,215,299,300,182,316,314,313,304,305,306,307,308,309,310,303,311,312,302,315,317,318,319,320,301,198,191,185,204,197,200,202,203,201,245,298,8,9,13,12,2,14,15,16,17,18,19,20,21,3,46,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,1,45,11,10,60,47,48,50,49,51,52,59,53,55,56,57,54,58,100,99,63,65,96,66,67,68,69,70,71,72,73,74,75,76,77,78,64,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,62,61,98],"latestChangedDtsFile":"./dist/index.d.ts"},"version":"4.9.5"}