@markuplint/svelte-parser 3.0.0-dev.25 → 3.0.0-dev.300
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.
- package/lib/attr.d.ts +1 -1
- package/lib/attr.js +27 -26
- package/lib/directive-tokenizer.js +24 -27
- package/lib/index.d.ts +1 -1
- package/lib/index.js +2 -6
- package/lib/nodeize.d.ts +1 -1
- package/lib/nodeize.js +81 -115
- package/lib/parse-ctrl-block.d.ts +3 -0
- package/lib/parse-ctrl-block.js +169 -0
- package/lib/parse.js +9 -14
- package/lib/svelte-parser/index.d.ts +3 -3
- package/lib/svelte-parser/index.js +4 -7
- package/lib/traverse.d.ts +2 -2
- package/lib/traverse.js +10 -8
- package/package.json +13 -8
- package/tsconfig.test.json +0 -3
- package/tsconfig.tsbuildinfo +0 -1
package/lib/attr.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SvelteDirective } from './svelte-parser';
|
|
1
|
+
import type { SvelteDirective } from './svelte-parser/index.js';
|
|
2
2
|
import type { MLASTAttr } from '@markuplint/ml-ast';
|
|
3
3
|
export declare function attr(attr: SvelteDirective, rawHTML: string): MLASTAttr | {
|
|
4
4
|
__spreadAttr: true;
|
package/lib/attr.js
CHANGED
|
@@ -1,39 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const directive_tokenizer_1 = tslib_1.__importDefault(require("./directive-tokenizer"));
|
|
1
|
+
import { defaultValueDelimiters, parseAttr, sliceFragment } from '@markuplint/parser-utils';
|
|
2
|
+
import directiveTokenizer from './directive-tokenizer.js';
|
|
3
|
+
const mustacheTag = {
|
|
4
|
+
start: '{',
|
|
5
|
+
end: '}',
|
|
6
|
+
};
|
|
8
7
|
const specificBindDirective = ['bind:group', 'bind:this'];
|
|
9
|
-
function attr(
|
|
8
|
+
export function attr(
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
10
|
+
attr, rawHTML) {
|
|
10
11
|
const isShorthand = attr.value && Array.isArray(attr.value)
|
|
11
12
|
? attr.value.some((val) => val.type === 'AttributeShorthand')
|
|
12
13
|
: false;
|
|
13
14
|
const { start, end } = attr;
|
|
14
|
-
// @ts-ignore
|
|
15
15
|
if (attr.type === 'Spread') {
|
|
16
16
|
return {
|
|
17
17
|
__spreadAttr: true,
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
|
|
20
|
+
let token;
|
|
21
21
|
if (attr.type === 'Attribute' && !isShorthand) {
|
|
22
|
-
const { raw
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
const { raw } = sliceFragment(rawHTML, start, end);
|
|
23
|
+
token = parseAttr(raw, start, rawHTML, {
|
|
24
|
+
valueDelimiters: [...defaultValueDelimiters, mustacheTag],
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const { raw, startLine, startCol, startOffset } = sliceFragment(rawHTML, start, end);
|
|
29
|
+
const valueToken = isShorthand
|
|
30
|
+
? attr.name
|
|
31
|
+
: attr.expression && 'start' in attr.expression && 'end' in attr.expression
|
|
32
|
+
? sliceFragment(rawHTML, attr.expression.start, attr.expression.end).raw
|
|
33
|
+
: '';
|
|
34
|
+
token = directiveTokenizer(raw, valueToken, startLine, startCol, startOffset);
|
|
25
35
|
}
|
|
26
|
-
const { raw, startLine, startCol, startOffset } = (0, parser_utils_1.sliceFragment)(rawHTML, start, end);
|
|
27
|
-
const valueToken = isShorthand
|
|
28
|
-
? attr.name
|
|
29
|
-
: // @ts-ignore TODO solve type
|
|
30
|
-
attr.type === 'Spread'
|
|
31
|
-
? raw.slice(1).slice(0, -1)
|
|
32
|
-
: attr.expression && 'start' in attr.expression && 'end' in attr.expression
|
|
33
|
-
? // @ts-ignore
|
|
34
|
-
(0, parser_utils_1.sliceFragment)(rawHTML, attr.expression.start, attr.expression.end).raw
|
|
35
|
-
: '';
|
|
36
|
-
const token = (0, directive_tokenizer_1.default)(raw, valueToken, startLine, startCol, startOffset);
|
|
37
36
|
if (!specificBindDirective.includes(token.name.raw) && /^bind:/i.test(token.name.raw)) {
|
|
38
37
|
// Remove "bind:"
|
|
39
38
|
token.potentialName = token.name.raw.slice(5);
|
|
@@ -46,15 +45,17 @@ function attr(attr, rawHTML) {
|
|
|
46
45
|
token.isDynamicValue = true;
|
|
47
46
|
}
|
|
48
47
|
const [baseName, subName] = token.name.raw.split(':');
|
|
49
|
-
if (baseName
|
|
48
|
+
if (baseName?.toLowerCase() === 'class') {
|
|
50
49
|
token.isDuplicatable = true;
|
|
51
50
|
if (subName) {
|
|
52
51
|
token.potentialName = 'class';
|
|
53
52
|
token.isDynamicValue = true;
|
|
54
53
|
}
|
|
55
54
|
}
|
|
55
|
+
if (token.startQuote.raw === '{' && token.endQuote.raw === '}') {
|
|
56
|
+
token.isDynamicValue = true;
|
|
57
|
+
}
|
|
56
58
|
return {
|
|
57
59
|
...token,
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
|
-
exports.attr = attr;
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const html_parser_1 = require("@markuplint/html-parser");
|
|
4
|
-
const parser_utils_1 = require("@markuplint/parser-utils");
|
|
1
|
+
import { attrTokenizer } from '@markuplint/html-parser';
|
|
2
|
+
import { tokenizer, uuid } from '@markuplint/parser-utils';
|
|
5
3
|
// eslint-disable-next-line no-control-regex
|
|
6
4
|
const reNameOnly = /^[^\x00-\x1f\x7f-\x9f {>/=]+/;
|
|
7
5
|
// eslint-disable-next-line no-control-regex
|
|
8
6
|
const reBeforeStructure = /^(\s*)([^\x00-\x1f\x7f-\x9f {>/=]+)(\s*)(=)(\s*){(\s*)$/;
|
|
9
7
|
const reBeforeStructureWithoutName = /^{(\s*)$/;
|
|
10
8
|
const reAfterStructure = /(\s*)}/;
|
|
11
|
-
function directiveTokenizer(raw, rawValue, line, col, startOffset) {
|
|
9
|
+
export default function directiveTokenizer(raw, rawValue, line, col, startOffset) {
|
|
12
10
|
let spacesBeforeAttrString = '';
|
|
13
11
|
let nameChars = '';
|
|
14
12
|
let spacesBeforeEqualChars = '';
|
|
@@ -16,22 +14,22 @@ function directiveTokenizer(raw, rawValue, line, col, startOffset) {
|
|
|
16
14
|
let spacesAfterEqualChars = '';
|
|
17
15
|
let valueChars = '';
|
|
18
16
|
const [before, after] = raw.split(rawValue);
|
|
19
|
-
const beforeMatchedMap = before
|
|
20
|
-
const beforeWithoutNameMatchedMap = before
|
|
21
|
-
const afterMatchedMap = after
|
|
17
|
+
const beforeMatchedMap = before?.match(reBeforeStructure);
|
|
18
|
+
const beforeWithoutNameMatchedMap = before?.match(reBeforeStructureWithoutName);
|
|
19
|
+
const afterMatchedMap = after?.match(reAfterStructure);
|
|
22
20
|
if (beforeMatchedMap && afterMatchedMap) {
|
|
23
|
-
spacesBeforeAttrString = beforeMatchedMap[1];
|
|
24
|
-
nameChars = beforeMatchedMap[2];
|
|
25
|
-
spacesBeforeEqualChars = beforeMatchedMap[3]
|
|
26
|
-
equalChars = beforeMatchedMap[4]
|
|
27
|
-
spacesAfterEqualChars = beforeMatchedMap[5]
|
|
28
|
-
valueChars = (beforeMatchedMap[6]
|
|
21
|
+
spacesBeforeAttrString = beforeMatchedMap[1] ?? '';
|
|
22
|
+
nameChars = beforeMatchedMap[2] ?? '';
|
|
23
|
+
spacesBeforeEqualChars = beforeMatchedMap[3] ?? '';
|
|
24
|
+
equalChars = beforeMatchedMap[4] ?? null;
|
|
25
|
+
spacesAfterEqualChars = beforeMatchedMap[5] ?? '';
|
|
26
|
+
valueChars = (beforeMatchedMap[6] ?? '') + rawValue + (afterMatchedMap[1] ?? '');
|
|
29
27
|
}
|
|
30
28
|
else if (beforeWithoutNameMatchedMap && afterMatchedMap) {
|
|
31
|
-
valueChars = (beforeWithoutNameMatchedMap[1]
|
|
29
|
+
valueChars = (beforeWithoutNameMatchedMap[1] ?? '') + rawValue + (afterMatchedMap[1] ?? '');
|
|
32
30
|
}
|
|
33
31
|
else if (reNameOnly.test(raw)) {
|
|
34
|
-
const token =
|
|
32
|
+
const token = attrTokenizer(raw, line, col, startOffset);
|
|
35
33
|
token.isDirective = true;
|
|
36
34
|
return token;
|
|
37
35
|
}
|
|
@@ -39,42 +37,42 @@ function directiveTokenizer(raw, rawValue, line, col, startOffset) {
|
|
|
39
37
|
throw new SyntaxError('Illegal attribute token');
|
|
40
38
|
}
|
|
41
39
|
let offset = startOffset;
|
|
42
|
-
const attrToken =
|
|
43
|
-
const spacesBeforeName =
|
|
40
|
+
const attrToken = tokenizer(raw, line, col, offset);
|
|
41
|
+
const spacesBeforeName = tokenizer(spacesBeforeAttrString, line, col, offset);
|
|
44
42
|
line = spacesBeforeName.endLine;
|
|
45
43
|
col = spacesBeforeName.endCol;
|
|
46
44
|
offset = spacesBeforeName.endOffset;
|
|
47
|
-
const name =
|
|
45
|
+
const name = tokenizer(nameChars, line, col, offset);
|
|
48
46
|
line = name.endLine;
|
|
49
47
|
col = name.endCol;
|
|
50
48
|
offset = name.endOffset;
|
|
51
|
-
const spacesBeforeEqual =
|
|
49
|
+
const spacesBeforeEqual = tokenizer(spacesBeforeEqualChars, line, col, offset);
|
|
52
50
|
line = spacesBeforeEqual.endLine;
|
|
53
51
|
col = spacesBeforeEqual.endCol;
|
|
54
52
|
offset = spacesBeforeEqual.endOffset;
|
|
55
|
-
const equal =
|
|
53
|
+
const equal = tokenizer(equalChars, line, col, offset);
|
|
56
54
|
line = equal.endLine;
|
|
57
55
|
col = equal.endCol;
|
|
58
56
|
offset = equal.endOffset;
|
|
59
|
-
const spacesAfterEqual =
|
|
57
|
+
const spacesAfterEqual = tokenizer(spacesAfterEqualChars, line, col, offset);
|
|
60
58
|
line = spacesAfterEqual.endLine;
|
|
61
59
|
col = spacesAfterEqual.endCol;
|
|
62
60
|
offset = spacesAfterEqual.endOffset;
|
|
63
|
-
const startQuote =
|
|
61
|
+
const startQuote = tokenizer('{', line, col, offset);
|
|
64
62
|
line = startQuote.endLine;
|
|
65
63
|
col = startQuote.endCol;
|
|
66
64
|
offset = startQuote.endOffset;
|
|
67
|
-
const value =
|
|
65
|
+
const value = tokenizer(valueChars, line, col, offset);
|
|
68
66
|
line = value.endLine;
|
|
69
67
|
col = value.endCol;
|
|
70
68
|
offset = value.endOffset;
|
|
71
|
-
const endQuote =
|
|
69
|
+
const endQuote = tokenizer('}', line, col, offset);
|
|
72
70
|
line = endQuote.endLine;
|
|
73
71
|
col = endQuote.endCol;
|
|
74
72
|
offset = endQuote.endOffset;
|
|
75
73
|
const result = {
|
|
76
74
|
type: 'html-attr',
|
|
77
|
-
uuid:
|
|
75
|
+
uuid: uuid(),
|
|
78
76
|
raw: attrToken.raw,
|
|
79
77
|
startOffset: attrToken.startOffset,
|
|
80
78
|
endOffset: attrToken.endOffset,
|
|
@@ -101,4 +99,3 @@ function directiveTokenizer(raw, rawValue, line, col, startOffset) {
|
|
|
101
99
|
};
|
|
102
100
|
return result;
|
|
103
101
|
}
|
|
104
|
-
exports.default = directiveTokenizer;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { parse } from './parse';
|
|
1
|
+
export { parse } from './parse.js';
|
|
2
2
|
export declare const endTag = "xml";
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.endTag = exports.parse = void 0;
|
|
4
|
-
var parse_1 = require("./parse");
|
|
5
|
-
Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return parse_1.parse; } });
|
|
6
|
-
exports.endTag = 'xml';
|
|
1
|
+
export { parse } from './parse.js';
|
|
2
|
+
export const endTag = 'xml';
|
package/lib/nodeize.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { SvelteNode } from './svelte-parser';
|
|
1
|
+
import type { SvelteNode } from './svelte-parser/index.js';
|
|
2
2
|
import type { MLASTNode, MLASTParentNode, ParserOptions } from '@markuplint/ml-ast';
|
|
3
3
|
export declare function nodeize(originNode: SvelteNode, prevNode: MLASTNode | null, parentNode: MLASTParentNode | null, rawHtml: string, options?: ParserOptions): MLASTNode | MLASTNode[] | null;
|
package/lib/nodeize.js
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { getNamespace, parseRawTag } from '@markuplint/html-parser';
|
|
2
|
+
import { detectElementType, sliceFragment, uuid } from '@markuplint/parser-utils';
|
|
3
|
+
import { attr } from './attr.js';
|
|
4
|
+
import { parseCtrlBlock } from './parse-ctrl-block.js';
|
|
5
|
+
import { traverse } from './traverse.js';
|
|
6
|
+
export function nodeize(
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
8
|
+
originNode,
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
10
|
+
prevNode,
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
12
|
+
parentNode, rawHtml, options) {
|
|
10
13
|
const nextNode = null;
|
|
11
|
-
const { startOffset, endOffset, startLine, endLine, startCol, endCol, raw } =
|
|
14
|
+
const { startOffset, endOffset, startLine, endLine, startCol, endCol, raw } = sliceFragment(rawHtml, originNode.start, originNode.end);
|
|
12
15
|
const parentNamespace = parentNode && 'namespace' in parentNode ? parentNode.namespace : 'http://www.w3.org/1999/xhtml';
|
|
13
16
|
switch (originNode.type) {
|
|
14
17
|
case 'Text': {
|
|
15
18
|
const node = {
|
|
16
|
-
uuid:
|
|
19
|
+
uuid: uuid(),
|
|
17
20
|
raw,
|
|
18
21
|
startOffset,
|
|
19
22
|
endOffset,
|
|
@@ -33,7 +36,7 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
33
36
|
}
|
|
34
37
|
case 'MustacheTag': {
|
|
35
38
|
return {
|
|
36
|
-
uuid:
|
|
39
|
+
uuid: uuid(),
|
|
37
40
|
raw,
|
|
38
41
|
startOffset,
|
|
39
42
|
endOffset,
|
|
@@ -50,13 +53,12 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
50
53
|
isGhost: false,
|
|
51
54
|
};
|
|
52
55
|
}
|
|
56
|
+
case 'InlineComponent':
|
|
53
57
|
case 'Element': {
|
|
54
|
-
const children = originNode.children
|
|
58
|
+
const children = originNode.children ?? [];
|
|
55
59
|
const reEndTag = new RegExp(`</${originNode.name}\\s*>$`, 'i');
|
|
56
|
-
const startTagEndOffset = children.length
|
|
57
|
-
|
|
58
|
-
: raw.replace(reEndTag, '').length + startOffset;
|
|
59
|
-
const startTagLocation = (0, parser_utils_1.sliceFragment)(rawHtml, startOffset, startTagEndOffset);
|
|
60
|
+
const startTagEndOffset = children.length > 0 ? children[0]?.start ?? 0 : raw.replace(reEndTag, '').length + startOffset;
|
|
61
|
+
const startTagLocation = sliceFragment(rawHtml, startOffset, startTagEndOffset);
|
|
60
62
|
let endTag = null;
|
|
61
63
|
if (reEndTag.test(raw)) {
|
|
62
64
|
const endTagRawMatched = raw.match(reEndTag);
|
|
@@ -66,10 +68,10 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
66
68
|
const endTagRaw = endTagRawMatched[0];
|
|
67
69
|
const endTagStartOffset = startOffset + raw.lastIndexOf(endTagRaw);
|
|
68
70
|
const endTagEndOffset = endTagStartOffset + endTagRaw.length;
|
|
69
|
-
const endTagLocation =
|
|
70
|
-
const namespace =
|
|
71
|
+
const endTagLocation = sliceFragment(rawHtml, endTagStartOffset, endTagEndOffset);
|
|
72
|
+
const namespace = getNamespace(originNode.name, parentNamespace);
|
|
71
73
|
endTag = {
|
|
72
|
-
uuid:
|
|
74
|
+
uuid: uuid(),
|
|
73
75
|
raw: endTagRaw,
|
|
74
76
|
startOffset: endTagStartOffset,
|
|
75
77
|
endOffset: endTagEndOffset,
|
|
@@ -91,18 +93,18 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
91
93
|
tagCloseChar: '>',
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
|
-
const directives = originNode.attributes.map(a =>
|
|
96
|
+
const directives = originNode.attributes.map(a => attr(a, rawHtml)) ?? [];
|
|
95
97
|
const attributes = directives.filter((d) => !('__spreadAttr' in d));
|
|
96
98
|
const hasSpreadAttr = directives.some(d => '__spreadAttr' in d);
|
|
97
|
-
const tagTokens =
|
|
98
|
-
const namespace =
|
|
99
|
+
const tagTokens = parseRawTag(startTagLocation.raw, startTagLocation.startLine, startTagLocation.startCol, startTagLocation.startOffset);
|
|
100
|
+
const namespace = getNamespace(originNode.name, parentNamespace);
|
|
99
101
|
const startTag = {
|
|
100
|
-
uuid:
|
|
102
|
+
uuid: uuid(),
|
|
101
103
|
...startTagLocation,
|
|
102
104
|
nodeName: originNode.name,
|
|
103
105
|
type: 'starttag',
|
|
104
106
|
namespace,
|
|
105
|
-
elementType:
|
|
107
|
+
elementType: detectElementType(originNode.name, options?.authoredElementName, /[A-Z]|\./),
|
|
106
108
|
attributes,
|
|
107
109
|
hasSpreadAttr,
|
|
108
110
|
parentNode,
|
|
@@ -120,21 +122,22 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
120
122
|
endTag.pearNode = startTag;
|
|
121
123
|
}
|
|
122
124
|
if (originNode.children) {
|
|
123
|
-
startTag.childNodes =
|
|
125
|
+
startTag.childNodes = traverse(originNode.children, startTag, rawHtml, options);
|
|
124
126
|
}
|
|
125
127
|
return startTag;
|
|
126
128
|
}
|
|
127
129
|
case 'IfBlock': {
|
|
128
|
-
|
|
130
|
+
const ifBlocks = parseCtrlBlock('if', originNode, raw, rawHtml, startOffset, parentNode, prevNode, nextNode, options);
|
|
131
|
+
return ifBlocks;
|
|
129
132
|
}
|
|
130
133
|
case 'EachBlock': {
|
|
131
|
-
return
|
|
134
|
+
return parseCtrlBlock('each', originNode, raw, rawHtml, startOffset, parentNode, prevNode, nextNode, options);
|
|
132
135
|
}
|
|
133
136
|
case 'AwaitBlock': {
|
|
134
137
|
const pendingNode = originNode.pending;
|
|
135
|
-
const pendingTag =
|
|
138
|
+
const pendingTag = sliceFragment(rawHtml, originNode.start, pendingNode.start);
|
|
136
139
|
const pending = {
|
|
137
|
-
uuid:
|
|
140
|
+
uuid: uuid(),
|
|
138
141
|
...pendingTag,
|
|
139
142
|
nodeName: pendingNode.type,
|
|
140
143
|
type: 'psblock',
|
|
@@ -145,14 +148,14 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
145
148
|
isGhost: false,
|
|
146
149
|
};
|
|
147
150
|
if (pendingNode.children) {
|
|
148
|
-
pending.childNodes =
|
|
151
|
+
pending.childNodes = traverse(pendingNode.children, pending, rawHtml, options);
|
|
149
152
|
}
|
|
150
153
|
let then = null;
|
|
151
154
|
if (originNode.then) {
|
|
152
155
|
const thenNode = originNode.then;
|
|
153
|
-
const thenTag =
|
|
156
|
+
const thenTag = sliceFragment(rawHtml, thenNode.start, (thenNode.children && thenNode.children[0] && thenNode.children[0].start) ?? thenNode.end);
|
|
154
157
|
then = {
|
|
155
|
-
uuid:
|
|
158
|
+
uuid: uuid(),
|
|
156
159
|
...thenTag,
|
|
157
160
|
nodeName: thenNode.type,
|
|
158
161
|
type: 'psblock',
|
|
@@ -163,15 +166,16 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
163
166
|
isGhost: false,
|
|
164
167
|
};
|
|
165
168
|
if (thenNode.children) {
|
|
166
|
-
then.childNodes =
|
|
169
|
+
then.childNodes = traverse(thenNode.children, then, rawHtml, options);
|
|
167
170
|
}
|
|
168
171
|
}
|
|
169
172
|
let awaitCatch = null;
|
|
170
173
|
if (originNode.catch) {
|
|
171
174
|
const awaitCatchNode = originNode.catch;
|
|
172
|
-
const awaitCatchTag =
|
|
175
|
+
const awaitCatchTag = sliceFragment(rawHtml, awaitCatchNode.start, (awaitCatchNode.children && awaitCatchNode.children[0] && awaitCatchNode.children[0].start) ??
|
|
176
|
+
awaitCatchNode.end);
|
|
173
177
|
awaitCatch = {
|
|
174
|
-
uuid:
|
|
178
|
+
uuid: uuid(),
|
|
175
179
|
...awaitCatchTag,
|
|
176
180
|
nodeName: awaitCatchNode.type,
|
|
177
181
|
type: 'psblock',
|
|
@@ -182,7 +186,7 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
182
186
|
isGhost: false,
|
|
183
187
|
};
|
|
184
188
|
if (awaitCatchNode.children) {
|
|
185
|
-
awaitCatch.childNodes =
|
|
189
|
+
awaitCatch.childNodes = traverse(awaitCatchNode.children, awaitCatch, rawHtml, options);
|
|
186
190
|
}
|
|
187
191
|
}
|
|
188
192
|
const reEndTag = new RegExp('{/await}$', 'i');
|
|
@@ -195,9 +199,9 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
195
199
|
const endTagRaw = endTagRawMatched[0];
|
|
196
200
|
const endTagStartOffset = startOffset + raw.indexOf(endTagRaw);
|
|
197
201
|
const endTagEndOffset = endTagStartOffset + endTagRaw.length;
|
|
198
|
-
const endTagLocation =
|
|
202
|
+
const endTagLocation = sliceFragment(rawHtml, endTagStartOffset, endTagEndOffset);
|
|
199
203
|
endTag = {
|
|
200
|
-
uuid:
|
|
204
|
+
uuid: uuid(),
|
|
201
205
|
raw: endTagRaw,
|
|
202
206
|
startOffset: endTagStartOffset,
|
|
203
207
|
endOffset: endTagEndOffset,
|
|
@@ -227,8 +231,8 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
227
231
|
return tags;
|
|
228
232
|
}
|
|
229
233
|
default: {
|
|
230
|
-
|
|
231
|
-
uuid:
|
|
234
|
+
const startTag = {
|
|
235
|
+
uuid: uuid(),
|
|
232
236
|
raw,
|
|
233
237
|
startOffset,
|
|
234
238
|
endOffset,
|
|
@@ -244,80 +248,42 @@ function nodeize(originNode, prevNode, parentNode, rawHtml, options) {
|
|
|
244
248
|
isFragment: false,
|
|
245
249
|
isGhost: false,
|
|
246
250
|
};
|
|
251
|
+
let endTag = null;
|
|
252
|
+
if (originNode.children) {
|
|
253
|
+
startTag.childNodes = traverse(originNode.children, startTag, rawHtml, options);
|
|
254
|
+
const firstChild = startTag.childNodes[0];
|
|
255
|
+
if (firstChild) {
|
|
256
|
+
startTag.endOffset = firstChild.startOffset;
|
|
257
|
+
startTag.endLine = firstChild.startLine;
|
|
258
|
+
startTag.endCol = firstChild.startCol;
|
|
259
|
+
startTag.raw = rawHtml.slice(startTag.startOffset, startTag.endOffset);
|
|
260
|
+
}
|
|
261
|
+
const lastChild = startTag.childNodes[startTag.childNodes.length - 1];
|
|
262
|
+
if (lastChild && lastChild.endOffset > startTag.endOffset) {
|
|
263
|
+
const startOffset = lastChild.endOffset;
|
|
264
|
+
const startLine = lastChild.endLine;
|
|
265
|
+
const startCol = lastChild.endCol;
|
|
266
|
+
const raw = rawHtml.slice(startOffset, endOffset);
|
|
267
|
+
endTag = {
|
|
268
|
+
uuid: uuid(),
|
|
269
|
+
raw,
|
|
270
|
+
startOffset,
|
|
271
|
+
endOffset,
|
|
272
|
+
startLine,
|
|
273
|
+
endLine,
|
|
274
|
+
startCol,
|
|
275
|
+
endCol,
|
|
276
|
+
nodeName: originNode.name || originNode.type,
|
|
277
|
+
type: 'psblock',
|
|
278
|
+
parentNode,
|
|
279
|
+
prevNode,
|
|
280
|
+
nextNode,
|
|
281
|
+
isFragment: false,
|
|
282
|
+
isGhost: false,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return endTag != null ? [startTag, endTag] : startTag;
|
|
247
287
|
}
|
|
248
288
|
}
|
|
249
289
|
}
|
|
250
|
-
exports.nodeize = nodeize;
|
|
251
|
-
function solveCtrlBlock(ctrlName, originNode, raw, rawHtml, startOffset, parentNode, prevNode, nextNode, options) {
|
|
252
|
-
const children = originNode.children || [];
|
|
253
|
-
const reEndTag = new RegExp(`{/${ctrlName}}$`, 'i');
|
|
254
|
-
const startTagEndOffset = children.length ? children[0].start : raw.replace(reEndTag, '').length + startOffset;
|
|
255
|
-
const startTagLocation = (0, parser_utils_1.sliceFragment)(rawHtml, startOffset, startTagEndOffset);
|
|
256
|
-
let endTag = null;
|
|
257
|
-
const endTagRawMatched = raw.match(reEndTag);
|
|
258
|
-
if (endTagRawMatched) {
|
|
259
|
-
const endTagRaw = endTagRawMatched[0];
|
|
260
|
-
const endTagStartOffset = originNode.end - endTagRaw.length;
|
|
261
|
-
const endTagEndOffset = originNode.end;
|
|
262
|
-
const endTagLocation = (0, parser_utils_1.sliceFragment)(rawHtml, endTagStartOffset, endTagEndOffset);
|
|
263
|
-
endTag = {
|
|
264
|
-
uuid: (0, parser_utils_1.uuid)(),
|
|
265
|
-
raw: endTagRaw,
|
|
266
|
-
startOffset: endTagStartOffset,
|
|
267
|
-
endOffset: endTagEndOffset,
|
|
268
|
-
startLine: endTagLocation.startLine,
|
|
269
|
-
endLine: endTagLocation.endLine,
|
|
270
|
-
startCol: endTagLocation.startCol,
|
|
271
|
-
endCol: endTagLocation.endCol,
|
|
272
|
-
nodeName: originNode.type,
|
|
273
|
-
type: 'psblock',
|
|
274
|
-
parentNode,
|
|
275
|
-
prevNode,
|
|
276
|
-
nextNode,
|
|
277
|
-
isFragment: false,
|
|
278
|
-
isGhost: false,
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
let elseTag = null;
|
|
282
|
-
if (originNode.else) {
|
|
283
|
-
const elseNode = originNode.else;
|
|
284
|
-
const elseTagStartOffset = children.length ? children[children.length - 1].end : startTagLocation.endOffset;
|
|
285
|
-
const elseTagLocation = (0, parser_utils_1.sliceFragment)(rawHtml, elseTagStartOffset, elseNode.start);
|
|
286
|
-
elseTag = {
|
|
287
|
-
uuid: (0, parser_utils_1.uuid)(),
|
|
288
|
-
...elseTagLocation,
|
|
289
|
-
nodeName: elseNode.type,
|
|
290
|
-
type: 'psblock',
|
|
291
|
-
parentNode,
|
|
292
|
-
prevNode,
|
|
293
|
-
nextNode,
|
|
294
|
-
isFragment: false,
|
|
295
|
-
isGhost: false,
|
|
296
|
-
};
|
|
297
|
-
if (elseNode.children) {
|
|
298
|
-
elseTag.childNodes = (0, traverse_1.traverse)(elseNode.children, elseTag, rawHtml, options);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
const tag = {
|
|
302
|
-
uuid: (0, parser_utils_1.uuid)(),
|
|
303
|
-
...startTagLocation,
|
|
304
|
-
nodeName: originNode.type,
|
|
305
|
-
type: 'psblock',
|
|
306
|
-
parentNode,
|
|
307
|
-
prevNode,
|
|
308
|
-
nextNode,
|
|
309
|
-
isFragment: false,
|
|
310
|
-
isGhost: false,
|
|
311
|
-
};
|
|
312
|
-
if (originNode.children) {
|
|
313
|
-
tag.childNodes = (0, traverse_1.traverse)(originNode.children, tag, rawHtml, options);
|
|
314
|
-
}
|
|
315
|
-
const tags = [tag];
|
|
316
|
-
if (elseTag) {
|
|
317
|
-
tags.push(elseTag);
|
|
318
|
-
}
|
|
319
|
-
if (endTag) {
|
|
320
|
-
tags.push(endTag);
|
|
321
|
-
}
|
|
322
|
-
return tags;
|
|
323
|
-
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SvelteNode } from './svelte-parser/index.js';
|
|
2
|
+
import type { MLASTNode, MLASTParentNode, MLASTPreprocessorSpecificBlock, ParserOptions } from '@markuplint/ml-ast';
|
|
3
|
+
export declare function parseCtrlBlock(ctrlName: 'if' | 'each', originNode: SvelteNode, raw: string, rawHtml: string, startOffset: number, parentNode: MLASTParentNode | null, prevNode: MLASTNode | null, nextNode: MLASTNode | null, options?: ParserOptions): MLASTPreprocessorSpecificBlock[];
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { sliceFragment, uuid } from '@markuplint/parser-utils';
|
|
2
|
+
import { traverse } from './traverse.js';
|
|
3
|
+
export function parseCtrlBlock(ctrlName,
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
5
|
+
originNode, raw, rawHtml, startOffset,
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
7
|
+
parentNode,
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
9
|
+
prevNode,
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
11
|
+
nextNode, options) {
|
|
12
|
+
if (ctrlName === 'if') {
|
|
13
|
+
return parseIfBlock(originNode, raw, rawHtml, startOffset, originNode.start, parentNode, prevNode, nextNode, options);
|
|
14
|
+
}
|
|
15
|
+
const children = originNode.children ?? [];
|
|
16
|
+
const reEndTag = new RegExp('{/each}$', 'i');
|
|
17
|
+
const startTagEndOffset = children.length > 0 ? children[0]?.start ?? 0 : raw.replace(reEndTag, '').length + startOffset;
|
|
18
|
+
const startTagLocation = sliceFragment(rawHtml, startOffset, startTagEndOffset);
|
|
19
|
+
const tag = {
|
|
20
|
+
uuid: uuid(),
|
|
21
|
+
...startTagLocation,
|
|
22
|
+
nodeName: originNode.type,
|
|
23
|
+
type: 'psblock',
|
|
24
|
+
parentNode,
|
|
25
|
+
prevNode,
|
|
26
|
+
nextNode,
|
|
27
|
+
isFragment: false,
|
|
28
|
+
isGhost: false,
|
|
29
|
+
};
|
|
30
|
+
if (originNode.children) {
|
|
31
|
+
tag.childNodes = traverse(originNode.children, tag, rawHtml, options);
|
|
32
|
+
}
|
|
33
|
+
let elseTag = null;
|
|
34
|
+
if (originNode.else) {
|
|
35
|
+
const elseNode = originNode.else;
|
|
36
|
+
const elseTagStartOffset = children.length > 0 ? children[children.length - 1]?.end ?? 0 : startTagLocation.endOffset;
|
|
37
|
+
const elseTagLocation = sliceFragment(rawHtml, elseTagStartOffset, elseNode.start);
|
|
38
|
+
elseTag = {
|
|
39
|
+
uuid: uuid(),
|
|
40
|
+
...elseTagLocation,
|
|
41
|
+
nodeName: elseNode.type,
|
|
42
|
+
type: 'psblock',
|
|
43
|
+
parentNode,
|
|
44
|
+
prevNode,
|
|
45
|
+
nextNode,
|
|
46
|
+
isFragment: false,
|
|
47
|
+
isGhost: false,
|
|
48
|
+
};
|
|
49
|
+
if (elseNode.children) {
|
|
50
|
+
elseTag.childNodes = traverse(elseNode.children, elseTag, rawHtml, options);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
let endTag = null;
|
|
54
|
+
const endTagRawMatched = raw.match(reEndTag);
|
|
55
|
+
if (endTagRawMatched) {
|
|
56
|
+
const endTagRaw = endTagRawMatched[0];
|
|
57
|
+
const endTagStartOffset = originNode.end - endTagRaw.length;
|
|
58
|
+
const endTagEndOffset = originNode.end;
|
|
59
|
+
const endTagLocation = sliceFragment(rawHtml, endTagStartOffset, endTagEndOffset);
|
|
60
|
+
endTag = {
|
|
61
|
+
uuid: uuid(),
|
|
62
|
+
raw: endTagRaw,
|
|
63
|
+
startOffset: endTagStartOffset,
|
|
64
|
+
endOffset: endTagEndOffset,
|
|
65
|
+
startLine: endTagLocation.startLine,
|
|
66
|
+
endLine: endTagLocation.endLine,
|
|
67
|
+
startCol: endTagLocation.startCol,
|
|
68
|
+
endCol: endTagLocation.endCol,
|
|
69
|
+
nodeName: originNode.type,
|
|
70
|
+
type: 'psblock',
|
|
71
|
+
parentNode,
|
|
72
|
+
prevNode,
|
|
73
|
+
nextNode,
|
|
74
|
+
isFragment: false,
|
|
75
|
+
isGhost: false,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
const tags = [tag];
|
|
79
|
+
if (elseTag) {
|
|
80
|
+
tags.push(elseTag);
|
|
81
|
+
}
|
|
82
|
+
if (endTag) {
|
|
83
|
+
tags.push(endTag);
|
|
84
|
+
}
|
|
85
|
+
return tags;
|
|
86
|
+
}
|
|
87
|
+
function parseIfBlock(
|
|
88
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
89
|
+
originNode, raw, rawHtml, statementStartOffset, tokenStartOffset,
|
|
90
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
91
|
+
parentNode,
|
|
92
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
93
|
+
prevNode,
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
95
|
+
nextNode, options) {
|
|
96
|
+
const children = originNode.children ?? [];
|
|
97
|
+
const startTagEndOffset = children[0]?.start ?? tokenStartOffset;
|
|
98
|
+
const startTagLocation = sliceFragment(rawHtml, tokenStartOffset, startTagEndOffset);
|
|
99
|
+
const tag = {
|
|
100
|
+
uuid: uuid(),
|
|
101
|
+
...startTagLocation,
|
|
102
|
+
nodeName: originNode.elseif ? 'ElseIfBlock' : originNode.type,
|
|
103
|
+
type: 'psblock',
|
|
104
|
+
parentNode,
|
|
105
|
+
prevNode,
|
|
106
|
+
nextNode,
|
|
107
|
+
isFragment: false,
|
|
108
|
+
isGhost: false,
|
|
109
|
+
};
|
|
110
|
+
if (originNode.children) {
|
|
111
|
+
tag.childNodes = traverse(originNode.children, tag, rawHtml, options);
|
|
112
|
+
}
|
|
113
|
+
const elseOrElseIfTags = [];
|
|
114
|
+
if (originNode.else) {
|
|
115
|
+
const elseNode = originNode.else;
|
|
116
|
+
const elseTagStartOffset = children.length > 0 ? children[children.length - 1]?.end ?? 0 : startTagLocation.endOffset;
|
|
117
|
+
const elseTagLocation = sliceFragment(rawHtml, elseTagStartOffset, elseNode.start);
|
|
118
|
+
if (elseNode.children) {
|
|
119
|
+
if (elseNode.children.length === 1 && elseNode.children[0]?.type === 'IfBlock') {
|
|
120
|
+
const elseIfTags = parseIfBlock(elseNode.children[0], elseTagLocation.raw, rawHtml, statementStartOffset, originNode.children?.[0]?.end ?? startTagLocation.endOffset, parentNode, null, null, options);
|
|
121
|
+
elseOrElseIfTags.push(...elseIfTags);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
const elseTag = {
|
|
125
|
+
uuid: uuid(),
|
|
126
|
+
...elseTagLocation,
|
|
127
|
+
nodeName: elseNode.type,
|
|
128
|
+
type: 'psblock',
|
|
129
|
+
parentNode,
|
|
130
|
+
prevNode,
|
|
131
|
+
nextNode,
|
|
132
|
+
isFragment: false,
|
|
133
|
+
isGhost: false,
|
|
134
|
+
};
|
|
135
|
+
elseTag.childNodes = traverse(elseNode.children, elseTag, rawHtml, options);
|
|
136
|
+
elseOrElseIfTags.push(elseTag);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (originNode.elseif) {
|
|
141
|
+
return [tag, ...elseOrElseIfTags];
|
|
142
|
+
}
|
|
143
|
+
const endTagRawMatched = raw.match('{/if}');
|
|
144
|
+
if (!endTagRawMatched) {
|
|
145
|
+
throw new Error('Missing the end token `{/if}`');
|
|
146
|
+
}
|
|
147
|
+
const endTagRaw = endTagRawMatched[0];
|
|
148
|
+
const endTagStartOffset = originNode.end - endTagRaw.length;
|
|
149
|
+
const endTagEndOffset = originNode.end;
|
|
150
|
+
const endTagLocation = sliceFragment(rawHtml, endTagStartOffset, endTagEndOffset);
|
|
151
|
+
const endTag = {
|
|
152
|
+
uuid: uuid(),
|
|
153
|
+
raw: endTagRaw,
|
|
154
|
+
startOffset: endTagStartOffset,
|
|
155
|
+
endOffset: endTagEndOffset,
|
|
156
|
+
startLine: endTagLocation.startLine,
|
|
157
|
+
endLine: endTagLocation.endLine,
|
|
158
|
+
startCol: endTagLocation.startCol,
|
|
159
|
+
endCol: endTagLocation.endCol,
|
|
160
|
+
nodeName: originNode.type,
|
|
161
|
+
type: 'psblock',
|
|
162
|
+
parentNode,
|
|
163
|
+
prevNode,
|
|
164
|
+
nextNode,
|
|
165
|
+
isFragment: false,
|
|
166
|
+
isGhost: false,
|
|
167
|
+
};
|
|
168
|
+
return [tag, ...elseOrElseIfTags, endTag];
|
|
169
|
+
}
|
package/lib/parse.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const parser_utils_1 = require("@markuplint/parser-utils");
|
|
7
|
-
const svelte_parser_1 = tslib_1.__importDefault(require("./svelte-parser"));
|
|
8
|
-
const traverse_1 = require("./traverse");
|
|
9
|
-
const parse = (rawCode, options) => {
|
|
10
|
-
const blocks = (0, parser_utils_1.ignoreBlock)(rawCode, [
|
|
1
|
+
import { flattenNodes, ParserError, ignoreBlock, restoreNode } from '@markuplint/parser-utils';
|
|
2
|
+
import svelteParse from './svelte-parser/index.js';
|
|
3
|
+
import { traverse } from './traverse.js';
|
|
4
|
+
export const parse = (rawCode, options) => {
|
|
5
|
+
const blocks = ignoreBlock(rawCode, [
|
|
11
6
|
{
|
|
12
7
|
type: 'Script',
|
|
13
8
|
start: /<script/,
|
|
@@ -21,13 +16,13 @@ const parse = (rawCode, options) => {
|
|
|
21
16
|
], '-');
|
|
22
17
|
let ast;
|
|
23
18
|
try {
|
|
24
|
-
ast = (
|
|
19
|
+
ast = svelteParse(blocks.replaced);
|
|
25
20
|
}
|
|
26
21
|
catch (err) {
|
|
27
22
|
if (err instanceof Error && 'start' in err && 'end' in err && 'frame' in err) {
|
|
28
23
|
// @ts-ignore
|
|
29
24
|
const raw = rawCode.slice(err.start.character, err.end.character);
|
|
30
|
-
throw new
|
|
25
|
+
throw new ParserError(
|
|
31
26
|
// @ts-ignore
|
|
32
27
|
err.message + '\n' + err.frame, {
|
|
33
28
|
// @ts-ignore
|
|
@@ -43,10 +38,10 @@ const parse = (rawCode, options) => {
|
|
|
43
38
|
parseError: err instanceof Error ? err.message : new Error(`${err}`).message,
|
|
44
39
|
};
|
|
45
40
|
}
|
|
46
|
-
const
|
|
41
|
+
const nodes = traverse(ast, null, blocks.replaced, options);
|
|
42
|
+
const nodeList = restoreNode(flattenNodes(nodes, blocks.replaced), blocks);
|
|
47
43
|
return {
|
|
48
44
|
nodeList,
|
|
49
45
|
isFragment: true,
|
|
50
46
|
};
|
|
51
47
|
};
|
|
52
|
-
exports.parse = parse;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Directive, TemplateNode } from 'svelte/types/compiler/interfaces';
|
|
1
|
+
import type { Directive, TemplateNode, Attribute, SpreadAttribute } from 'svelte/types/compiler/interfaces';
|
|
2
2
|
export type SvelteNode = TemplateNode;
|
|
3
|
-
export default function svelteParse(template: string):
|
|
4
|
-
export type SvelteDirective = Directive;
|
|
3
|
+
export default function svelteParse(template: string): SvelteNode[];
|
|
4
|
+
export type SvelteDirective = Directive | Attribute | SpreadAttribute;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
function svelteParse(template) {
|
|
5
|
-
const ast = (0, compiler_1.parse)(template, { customElement: true });
|
|
1
|
+
import { parse } from 'svelte/compiler';
|
|
2
|
+
export default function svelteParse(template) {
|
|
3
|
+
const ast = parse(template, { customElement: true });
|
|
6
4
|
const start = ast.html.start;
|
|
7
|
-
const children = ast.html.children
|
|
5
|
+
const children = ast.html.children ?? [];
|
|
8
6
|
if (children[0] && children[0].end === start) {
|
|
9
7
|
children.shift();
|
|
10
8
|
}
|
|
11
9
|
return children;
|
|
12
10
|
}
|
|
13
|
-
exports.default = svelteParse;
|
package/lib/traverse.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { SvelteNode } from './svelte-parser';
|
|
1
|
+
import type { SvelteNode } from './svelte-parser/index.js';
|
|
2
2
|
import type { MLASTNode, MLASTParentNode, ParserOptions } from '@markuplint/ml-ast';
|
|
3
|
-
export declare function traverse(astNodes: SvelteNode[], parentNode: MLASTParentNode | null | undefined, rawHtml: string, options?: ParserOptions): MLASTNode[];
|
|
3
|
+
export declare function traverse(astNodes: readonly SvelteNode[], parentNode: MLASTParentNode | null | undefined, rawHtml: string, options?: ParserOptions): MLASTNode[];
|
package/lib/traverse.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function traverse(astNodes, parentNode = null, rawHtml, options) {
|
|
1
|
+
import { nodeize } from './nodeize.js';
|
|
2
|
+
export function traverse(
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
|
|
4
|
+
astNodes, parentNode = null, rawHtml, options) {
|
|
6
5
|
const nodeList = [];
|
|
7
6
|
let prevNode = null;
|
|
8
7
|
for (const astNode of astNodes) {
|
|
9
|
-
const nodes =
|
|
8
|
+
const nodes = nodeize(astNode, prevNode, parentNode, rawHtml, options);
|
|
10
9
|
if (!nodes) {
|
|
11
10
|
continue;
|
|
12
11
|
}
|
|
13
12
|
let node;
|
|
14
13
|
if (Array.isArray(nodes)) {
|
|
15
|
-
|
|
14
|
+
const lastNode = nodes[nodes.length - 1];
|
|
15
|
+
if (!lastNode) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
node = lastNode;
|
|
16
19
|
}
|
|
17
20
|
else {
|
|
18
21
|
node = nodes;
|
|
@@ -33,4 +36,3 @@ function traverse(astNodes, parentNode = null, rawHtml, options) {
|
|
|
33
36
|
}
|
|
34
37
|
return nodeList;
|
|
35
38
|
}
|
|
36
|
-
exports.traverse = traverse;
|
package/package.json
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@markuplint/svelte-parser",
|
|
3
|
-
"version": "3.0.0-dev.
|
|
3
|
+
"version": "3.0.0-dev.300+7ab32aca",
|
|
4
4
|
"description": "Svelte parser for markuplint",
|
|
5
5
|
"repository": "git@github.com:markuplint/markuplint.git",
|
|
6
6
|
"author": "Yusuke Hirao <yusukehirao@me.com>",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"private": false,
|
|
9
|
-
"
|
|
9
|
+
"type": "module",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"import": "./lib/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
10
15
|
"types": "lib/index.d.ts",
|
|
11
16
|
"publishConfig": {
|
|
12
17
|
"access": "public"
|
|
@@ -16,11 +21,11 @@
|
|
|
16
21
|
"clean": "tsc --build --clean"
|
|
17
22
|
},
|
|
18
23
|
"dependencies": {
|
|
19
|
-
"@markuplint/html-parser": "3.0.0-dev.
|
|
20
|
-
"@markuplint/ml-ast": "3.0.0-
|
|
21
|
-
"@markuplint/parser-utils": "3.0.0-dev.
|
|
22
|
-
"svelte": "^
|
|
23
|
-
"tslib": "^2.
|
|
24
|
+
"@markuplint/html-parser": "3.0.0-dev.300+7ab32aca",
|
|
25
|
+
"@markuplint/ml-ast": "3.0.0-dev.300+7ab32aca",
|
|
26
|
+
"@markuplint/parser-utils": "3.0.0-dev.300+7ab32aca",
|
|
27
|
+
"svelte": "^4.2.1",
|
|
28
|
+
"tslib": "^2.6.2"
|
|
24
29
|
},
|
|
25
|
-
"gitHead": "
|
|
30
|
+
"gitHead": "7ab32aca316e08a27753da8dceed72550a65d6c8"
|
|
26
31
|
}
|
package/tsconfig.test.json
DELETED
package/tsconfig.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
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.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.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.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/magic-string/index.d.ts","../../../node_modules/svelte/types/compiler/interfaces.d.ts","../../../node_modules/svelte/types/compiler/compile/index.d.ts","../../../node_modules/svelte/types/compiler/parse/index.d.ts","../../../node_modules/svelte/types/compiler/preprocess/types.d.ts","../../../node_modules/svelte/types/compiler/preprocess/index.d.ts","../../../node_modules/svelte/types/compiler/index.d.ts","../../../node_modules/svelte/compiler.d.ts","./src/svelte-parser/index.ts","../ml-ast/lib/types.d.ts","../ml-ast/lib/index.d.ts","../html-parser/lib/is-document-fragment.d.ts","../html-parser/lib/parse.d.ts","../html-parser/lib/flatten-nodes.d.ts","../html-parser/lib/remove-deprecated-node.d.ts","../html-parser/lib/get-namespace.d.ts","../html-parser/lib/parse-raw-tag.d.ts","../html-parser/lib/attr-tokenizer.d.ts","../html-parser/lib/index.d.ts","../parser-utils/lib/decision.d.ts","../parser-utils/lib/get-location.d.ts","../parser-utils/lib/create-token.d.ts","../parser-utils/lib/idl-attributes.d.ts","../parser-utils/lib/walker.d.ts","../parser-utils/lib/types.d.ts","../parser-utils/lib/ignore-block.d.ts","../parser-utils/lib/ignore-front-matter.d.ts","../parser-utils/lib/debugger.d.ts","../parser-utils/lib/parser-error.d.ts","../parser-utils/lib/detect-element-type.d.ts","../parser-utils/lib/index.d.ts","./src/directive-tokenizer.ts","./src/attr.ts","./src/nodeize.ts","./src/traverse.ts","./src/parse.ts","./src/index.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/bcp-47/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/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/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/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/cli-color/art.d.ts","../../../node_modules/@types/cli-color/bare.d.ts","../../../node_modules/@types/cli-color/beep.d.ts","../../../node_modules/@types/cli-color/columns.d.ts","../../../node_modules/@types/cli-color/erase.d.ts","../../../node_modules/@types/cli-color/move.d.ts","../../../node_modules/@types/cli-color/get-stripped-length.d.ts","../../../node_modules/@types/cli-color/slice.d.ts","../../../node_modules/@types/cli-color/strip.d.ts","../../../node_modules/@types/cli-color/throbber.d.ts","../../../node_modules/@types/cli-color/reset.d.ts","../../../node_modules/@types/cli-color/window-size.d.ts","../../../node_modules/@types/cli-color/index.d.ts","../../../node_modules/@types/cli-progress/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/css-tree/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/eslint/helpers.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/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/fs-extra/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/html-minifier-terser/index.d.ts","../../../node_modules/@types/http-proxy/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@types/jest/node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/parse5/dist/common/html.d.ts","../../../node_modules/parse5/dist/common/token.d.ts","../../../node_modules/parse5/dist/common/error-codes.d.ts","../../../node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../../../node_modules/parse5/dist/tokenizer/index.d.ts","../../../node_modules/parse5/dist/tree-adapters/interface.d.ts","../../../node_modules/parse5/dist/parser/open-element-stack.d.ts","../../../node_modules/parse5/dist/parser/formatting-element-list.d.ts","../../../node_modules/parse5/dist/parser/index.d.ts","../../../node_modules/parse5/dist/tree-adapters/default.d.ts","../../../node_modules/parse5/dist/serializer/index.d.ts","../../../node_modules/parse5/dist/common/foreign-content.d.ts","../../../node_modules/parse5/dist/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/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mustache/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/parse-json/index.d.ts","../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/pug/index.d.ts","../../../node_modules/@types/retry/index.d.ts","../../../node_modules/@types/sass/index.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/webpack/node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/ajv/lib/ajv.d.ts","../../../node_modules/webpack/node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/webpack/node_modules/schema-utils/declarations/index.d.ts","../../../node_modules/tapable/tapable.d.ts","../../../node_modules/webpack/types.d.ts","../../../node_modules/@types/script-ext-html-webpack-plugin/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/node_modules/@types/express/index.d.ts","../../../node_modules/@types/serve-index/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/source-map/source-map.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/@types/uuid/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/whatwg-mimetype/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/svelte/types/compiler/interfaces.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","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":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"14a84fbe4ec531dcbaf5d2594fd95df107258e60ae6c6a076404f13c3f66f28e","a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","dd6a4b050f1016c0318291b42c98ab068e07e208b1ae8e4e27167c2b8007406f","e93a5b988d9f7dc3907662ba73ca8b30df3d4d0b710598d655759294f08d5eb4","7812c252b043f5ca4b9d16d05b29de5535a80f30cfbe7562cc5e4727048e343a","fe2a0a1a4128446d88fe968b903ead137b7249966b4f916e0883323d9d98ad16","4c04a85a24a484456e2d73386ed6898853bac2ef262c6ddb0a18f0cea81c91da","f8d167fff7de0e407e0a2b60753788ef919f2a926c068bc30f06fab76728856b","d81cc5d6d5c8e956b3cbab88560e9d3ea5b5411f386569cb530bf8e8e715a32e","0e2f6001f8f9b04580a565f6802679737abdd4327f993c0274c959558d31cb10",{"version":"12f670c1e7b903710f43558da452ec382f16eb9990fa165e2376c770354098a1","signature":"e78da76ef08f98f0793f7e919facca0959e94e9d33886dfba9f4c97f09187f28"},"51956a7c3a0ae2f92df270f27e817e4888634fc3fee101dcfb725f4d0078410a","d5c19655468e29f60c871b21e73af8ebc653f736e7123ade916f22c4a5f80ce5","bf356dd705ed34b49f945417950cc210c3c15b4686cb799a284d6b825d71321c","1a1da5552decfd0c419ebbfba1f87cc9b409cace8c2d1bb514d8ea3fd920e6dd","9ffde4657c3e2ebee7e3bec80caed66b7c4c79a436f4434f3c2685b679453750","e9e8ae09420eebc4b554213c1f02dc9ba2bf02edf74413e33dbd4d5306289efe","ef2bd6b1dcc531ec8594416321851165be26afb5fa22afe20bde8809ef14b321","78c9630eead8ad34c4ed122d05fac0dac6002d6cc18907bf2c6b73b91100908a","0c9102347e5106ba850a29539f687ab886583dbd96732c335ea6807b2ccc1177","dc51089340a6a196726075688c9317245e667d88f38a0922da49e2b772cc57f0","6376724527596ee9199df1b374a7c37f57a980e6045f26c7eb8ad217b1be4536","9e4f537a26b821c81b768e76f581ac1a0491b1414ad1ec8e2cc5513cfa0363e4","b5f2fe64c9a05bc11bb616d2bdc4a5c0b7855f009fd4493116f19e657bf82d47","325dc6178b2211d5bc61cc190d6cc188f6141cd2ced4fcc0172c408796aaf688","724ffe33e82f40fb3f4d7ef6e160bbd9a11703d65cb1fce2ac5a079706d57f11","d3958c4339b07dd20e0460a2279c64cb64d4f9aa278e626b0f08c01c2a9732ad","6720e6d8090bd6169b0e09c06355d8a7866b35df1cb0041dc7779cc5e19c2b33","69553d6f2b6dfaa4454946acda2dc9cac0c913e1ada1e5e64687e6c6499d92f4","3dd7e179e143ccff3598b13e7fc028950ec01a3f22f78a805cce1fd1d00dd4dc","65664131c79fb5aefeae0e9bbbbe38062c608a3f15cfe33a9b7492152a06cc8f","c8918990bd7e2b446b281113c29a23ee7991a93a63944d8ca40794392298a2bf","f53e5df144949e946a2ea829ebb7b3cba20dd2ded4b6e070f448b1250b4f76b6",{"version":"8cc27ef03cde70c9c2320d89b09c47f9a3d8a59d3b50c3766edf843bfc143a7b","signature":"569ed9d30fb97df39c414367506d2c17dbd5d0578ef4877b628dd364a36d66dd"},{"version":"427f14f6929c22fa824a5eb1331dfc5fdf2c3809d5ffe1984522e9c99f51cd0a","signature":"db04ba4d23e8f166a56633ed924b307c80008e9de6c87b470083766604aaa538"},{"version":"2e24bc81cb3e40919787c5ff9faa7071192e34833c7a7edcb2624268dca37cc7","signature":"cd5f66c886e0b90b170d082f10b1bc2519864d4bb236eefe37e65c024fbfc4af"},{"version":"dd0eaaeba3e6dba0057d37aa61a7ff33414aad1b874f9348781db673a16b426b","signature":"4ac6a7fb0764dee2ce21c4603a445d888f6a4866a65acc935f9ede6607543938"},{"version":"5e1adb2c55bdd1c18244fe009eaa0d097de30376d07a1467a9e92bdde6be6824","signature":"1a1da5552decfd0c419ebbfba1f87cc9b409cace8c2d1bb514d8ea3fd920e6dd"},{"version":"c6455e2359c9986ee60f4131d2ddfee103d8e1933f9d7db7538cc199ed85b184","signature":"0ea4b03027ac7a48f9a5741a9ffcfd62b103adad3a5c9fec8647ad82afa1ab88"},"2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","1a7cc144992d79b062c22ac0309c6624dbb0d49bbddff7ea3b9daa0c17bcac0a","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","e2a56bb80f66ac0b6767fd7bb6b337ac3cb9cd4a368b13491e3fd1b5e26d93d6","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","d78e5898c8de5e0f934eee83f680262de005caa268d137101b833fd932f95e07",{"version":"57a1cb6f082fa2df46deaa96fa0063463b3393dd39bd09359dab251db28000b9","affectsGlobalScope":true},"a7b9533447378e7f34fa432e26be9102173e79bceb65b20d258d61c4042e90ad","d71ffe64592c4e61c6b431d8fbaff58735cd659738d788a4c8423a27f78f01b7","b869f848bec826c9d3645d10a183b905672a4675747f41700fd30e1b7e0d0308","62cc84c2971b16cc82e1f7cb1dac7d8c70b589d492fbc2f6efbcbfc53b61d514","67729b7b26e1ecf2afeb2f4a0a8c3ba16712918ef22d23bb615f033169ebe0f3","903da09dbdfea0af66cb6b7b25950e42e350f1f3cc87f3516baa553cc4de882f","e237aa7b157ebfb2699d2e3bbf07c65a8cea0382201dc44c9da006f0f730de67","05e8a403b04248dbe9eebd2025d58e95495de303f37b39f13e7562f5f414087a","a56bf5dce7c05192e4c2d95eb1527feda15f9225afea8c5ad67034a79992ebb6","fcb510be50b0756cb770f8caf321dba38ae074665efbea090584f8a8d3e6b8f4","d4c9c56a2f4ecedcc224a495dfbaee88072c8e99679504fb32ef1d0629f843a1","5ec537948044f7c0280d6175729bf7aa13deae28fe0f6346628a8cf15569aefa","94998ffb6165ce44d492327169a7f7cb0e1e11a967f068fbda6796029a4a40dd","6d8c708a5237a8508ee8553f22143a6d2fb60807de0574b41622c1e281b04c6d","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"56cbe80e6c42d7e6e66b6f048add8b01c663797b843a074d9f19c4a3d63a269a","eafa2daa16a53d9a42d6ec56ffa607c78e96117fe52c434b5df60220d43b0a1e","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","8566fa84085caa46340393b1704ecd368491918fb45bd688d6e89736aec73a2f","dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec",{"version":"ae3fe461989bbd951344efc1f1fe932360ce7392e6126bdb225a82a1bbaf15ee","affectsGlobalScope":true},"15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","a55ca8b5f8c6a8535bb26fac1e10132a5338234ca3d5b9ed739fbc8ef41c8075","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","e4b4326b61261bf5ffd6de8b4825f00eb11ebb89a51bd92663dd6e660abf4210","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","032cbd1883827ca3728c1400145403b62e65b7b584a0d2115ae538c9edec7936","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","3ad5991645bbea846d4efe615cd847e785ca30fff0205fdffb0f9a3ade3d13df",{"version":"0c3b45b6a42c0074fadd59c5d370592ca48c89a706d903452565ca89b1b2c164","affectsGlobalScope":true},"ba600bf38b5c1a5dffa1b99dd7a783549082bbba3b4fe9497eaaf5e4c1764b20","172dddc700c620827370b416d4aafbd7a4abd6f929cb50d6448cf6e3baeca38c","8cfa7e547e353e06dc3b486a400f95eef3a4aa9ded83ae38f325c0ce02e6d708","95c1cf650d16b197525b5bfdf8dd7abba0a49d99ddb12a4ba66466a8a6903e49","1fe0aabe758d56ad72495d6e6c7b6ae75619faaeaaf03f0ddf1948eea4cfac84","bbc57966c8c48ee78fd58aadb893784025be056ae538ae22d1e83c502a987e68","5e5d6f6697e378b0660b567866bf67d099d0ea754f8810c0dabe737805f5cf03","016821973966c7663ee27e1d1c75fa51d5e4f942506c44e083feda52c82e0848","af8339d509c40da075088e544c28ed37b519876e5c4d36a48644ebfb3c6ae6c8","657d689b204952d36655db5c6ba626414ff5e97fcc278f41edf872a6d3cc9e92","c26af7eaedb4f710984634e419ab15e54e5bb99a0b3cae71188c2fff572276de","38b58ef018d0aeee42ef74c42978bb5805503233fdeeb82cd2aed2199fb0d013","7426c455724cc1e1e7e6de540803db0a5858563e442b0640819dd316e4bc913c","cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","fd20dfa2434a61a87e3fa9450f9de2ed2c365ea43b17b34ac6616d90d9681381","389303117a81e90897689e7adb4b53a062e68a6fe4067088fae9552907aa28c3",{"version":"d4c4fe14b23180acf25e4a68dc3bb9e5c38233dd3de12a4ab9569e636090ac9b","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6702a1cd8818cb22ee95c85dcf2c31c117bde892e1afd2bc254bd720f4c6263c","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","7a79ca84e4370ed2e1afaa99ff7d25194901916b7672e977d16f77af3b71342f","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","a74476691118f376a4d42c9721f76c5c896e41393df98c7789589f618ad1dbd5","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","dac991ec2b7f56b1a39f74a65cca109ec9cde62df848c5bd41524030c894e341","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","d64037d2df4c89d6d2113b1aaad4b59259d448dbd8862bc20003d1caef23b1d4","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","721124f5db1f4a42da2308dfa1414d2e99055d2dfc59de7bf2e0b6ac64356c0e","0d7569149194d622212c21d5d162b0715d5a6ca764cebae7145fdbaff1e07311","cd74c8275483d3fe0d07a9b4bba28845a8a611f0aa399e961dbd40e5d46dd9ad","2836f718f2458d81c2df3d01d1f998f75631b0763bd9298e1bd15331cc4f2632","44a9aadd9a9e24c7fab7f5b271c8eb89d0e6af07bbc637adae7f15f1c1b6f70e","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","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","acebfe99678cf7cddcddc3435222cf132052b1226e902daac9fbb495c321a9b5","82b1f9a6eefef7386aebe22ac49f23b806421e82dbf35c6e5b7132d79e4165da","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","d258b243f130c00b958bfad96586b5413bccc86cf17e9339e6a94d45f7e7b84f","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","b2f006ee835f315d01c43c0f5d9e9ad78a5870b380899877b32a33078d065dbd","3c71707988135662b344d59c4f92d2ea37b1f198149b762693db61e30bdaae9a","b4358a89fcd9c579f84a6c68e2ce44ca91b07e4db3f8f403c2b7a72c1a1e04b6","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"module":1,"noImplicitAny":true,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"strict":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":6},"fileIdsList":[[95,145,218,219,220],[145,218,219,220],[145,197,218,219,220],[95,96,97,98,99,145,218,219,220],[95,97,145,218,219,220],[120,145,152,153,218,219,220],[112,145,152,218,219,220],[145,152,218,219,220],[145,157,158,159,160,161,162,163,164,165,166,167,168,218,219,220],[117,145,152,218,219,220],[144,145,152,173,218,219,220],[120,145,152,218,219,220],[145,176,218,219,220],[57,145,180,218,219,220],[57,145,178,179,218,219,220],[117,120,145,152,171,172,218,219,220],[145,154,172,173,183,184,218,219,220],[118,145,152,218,219,220],[117,118,145,152,187,218,219,220],[117,120,122,125,134,144,145,152,218,219,220],[145,192,218,219,220],[145,193,218,219,220],[145,199,202,218,219,220],[145,195,201,218,219,220],[145,199,218,219,220],[145,196,200,218,219,220],[145,198,218,219,220],[117,145,147,152,216,217,219,220],[145,218,219],[145,218,220],[145,218,219,220,222,224,225,226,227,228,229,230,231,232,233,234],[145,218,219,220,222,223,225,226,227,228,229,230,231,232,233,234],[145,218,219,220,223,224,225,226,227,228,229,230,231,232,233,234],[145,218,219,220,222,223,224,226,227,228,229,230,231,232,233,234],[145,218,219,220,222,223,224,225,227,228,229,230,231,232,233,234],[145,218,219,220,222,223,224,225,226,228,229,230,231,232,233,234],[145,218,219,220,222,223,224,225,226,227,229,230,231,232,233,234],[145,218,219,220,222,223,224,225,226,227,228,230,231,232,233,234],[145,218,219,220,222,223,224,225,226,227,228,229,231,232,233,234],[145,218,219,220,222,223,224,225,226,227,228,229,230,232,233,234],[145,218,219,220,222,223,224,225,226,227,228,229,230,231,233,234],[145,218,219,220,222,223,224,225,226,227,228,229,230,231,232,234],[145,218,219,220,222,223,224,225,226,227,228,229,230,231,232,233],[145,218,219,220,235],[120,144,145,152,218,219,220,239,240],[120,134,145,152,218,219,220],[102,145,218,219,220],[105,145,218,219,220],[106,111,145,218,219,220],[107,117,118,125,134,144,145,218,219,220],[107,108,117,125,145,218,219,220],[109,145,218,219,220],[110,111,118,126,145,218,219,220],[111,134,141,145,218,219,220],[112,114,117,125,145,218,219,220],[113,145,218,219,220],[114,115,145,218,219,220],[116,117,145,218,219,220],[117,145,218,219,220],[117,118,119,134,144,145,218,219,220],[117,118,119,134,145,218,219,220],[120,125,134,144,145,218,219,220],[117,118,120,121,125,134,141,144,145,218,219,220],[120,122,134,141,144,145,218,219,220],[102,103,104,105,106,107,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,218,219,220],[117,123,145,218,219,220],[124,144,145,218,219,220],[114,117,125,134,145,218,219,220],[126,145,218,219,220],[127,145,218,219,220],[105,128,145,218,219,220],[129,143,145,149,218,219,220],[130,145,218,219,220],[131,145,218,219,220],[117,132,145,218,219,220],[132,133,145,147,218,219,220],[117,134,135,136,145,218,219,220],[134,136,145,218,219,220],[134,135,145,218,219,220],[137,145,218,219,220],[138,145,218,219,220],[117,139,140,145,218,219,220],[139,140,145,218,219,220],[111,125,134,141,145,218,219,220],[142,145,218,219,220],[125,143,145,218,219,220],[106,120,131,144,145,218,219,220],[111,145,218,219,220],[134,145,146,218,219,220],[145,147,218,219,220],[145,148,218,219,220],[106,111,117,119,128,134,144,145,147,149,218,219,220],[134,145,150,218,219,220],[145,218,219,220,244],[145,218,219,220,245],[144,145,152,218,219,220],[145,218,219,220,256],[145,218,219,220,258,297],[145,218,219,220,258,282,297],[145,218,219,220,297],[145,218,219,220,258],[145,218,219,220,258,283,297],[145,218,219,220,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,289,290,291,292,293,294,295,296],[145,218,219,220,283,297],[118,145,218,219,220,298],[145,154,172,173,183,218,219,220],[120,145,152,182,218,219,220],[145,218,219,220,304],[145,152,218,219,220,309,310,311,312,313,314,315,316,317,318,319],[145,218,219,220,308,309,318],[145,218,219,220,309,318],[145,218,219,220,301,308,309,318],[145,218,219,220,308,309,310,311,312,313,314,315,316,317,319],[145,218,219,220,309],[111,145,218,219,220,308,318],[111,145,152,218,219,220,255,304,305,307,320],[117,120,122,134,141,144,145,150,152,218,219,220],[145,218,219,220,324],[145,205,218,219,220],[145,204,205,218,219,220],[145,204,218,219,220],[145,204,205,206,208,209,212,213,214,215,218,219,220],[145,205,209,218,219,220],[145,204,205,206,208,209,210,211,218,219,220],[145,204,209,218,219,220],[145,209,213,218,219,220],[145,205,206,207,218,219,220],[145,206,218,219,220],[145,204,205,209,218,219,220],[64,145,218,219,220],[59,145,218,219,220],[59,60,61,63,145,218,219,220],[57,58,145,218,219,220],[62,145,218,219,220],[145,218,219,220,253],[145,179,218,219,220,251,252],[145,179,218,219,220,253],[57,106,120,125,141,145,218,219,220,251,253,254,255],[68,145,218,219,220],[69,70,71,72,73,74,75,145,218,219,220],[67,145,218,219,220],[68,82,145,218,219,220],[77,78,79,80,81,83,84,85,86,87,145,218,219,220],[56,66,68,76,88,89,145,218,219,220],[56,68,76,88,145,218,219,220],[56,93,145,218,219,220],[56,66,68,76,88,90,92,145,218,219,220],[56,66,68,76,88,92,145,218,219,220],[56,59,65,145,218,219,220],[56,66,68,91,145,218,219,220],[66,68],[68],[93],[326]],"referencedMap":[[97,1],[95,2],[198,3],[197,2],[100,4],[96,1],[98,5],[99,1],[101,2],[154,6],[155,7],[156,8],[157,2],[158,2],[159,2],[160,2],[161,2],[163,2],[169,9],[162,2],[167,2],[164,2],[165,2],[166,2],[168,2],[170,10],[174,11],[153,12],[175,2],[177,13],[181,14],[178,2],[180,15],[57,2],[173,16],[185,17],[184,16],[186,18],[188,19],[189,18],[190,2],[191,20],[192,2],[193,21],[194,22],[203,23],[195,2],[202,24],[200,25],[201,26],[199,27],[218,28],[220,29],[219,30],[179,2],[221,2],[223,31],[224,32],[222,33],[225,34],[226,35],[227,36],[228,37],[229,38],[230,39],[231,40],[232,41],[233,42],[234,43],[236,44],[182,2],[187,2],[237,2],[176,2],[238,2],[240,2],[241,45],[239,46],[102,47],[103,47],[105,48],[106,49],[107,50],[108,51],[109,52],[110,53],[111,54],[112,55],[113,56],[114,57],[115,57],[116,58],[117,59],[118,60],[119,61],[104,2],[151,2],[120,62],[121,63],[122,64],[152,65],[123,66],[124,67],[125,68],[126,69],[127,70],[128,71],[129,72],[130,73],[131,74],[132,75],[133,76],[134,77],[136,78],[135,79],[137,80],[138,81],[139,82],[140,83],[141,84],[142,85],[143,86],[144,87],[145,88],[146,89],[147,90],[148,91],[149,92],[150,93],[242,2],[243,2],[245,94],[244,95],[246,2],[247,2],[172,2],[171,2],[248,2],[249,96],[257,97],[282,98],[283,99],[258,100],[261,100],[280,98],[281,98],[271,98],[270,101],[268,98],[263,98],[276,98],[274,98],[278,98],[262,98],[275,98],[279,98],[264,98],[265,98],[277,98],[259,98],[266,98],[267,98],[269,98],[273,98],[284,102],[272,98],[260,98],[297,103],[296,2],[291,102],[293,104],[292,102],[285,102],[286,102],[288,102],[290,102],[294,104],[295,104],[287,104],[289,104],[299,105],[298,106],[183,107],[300,12],[301,2],[302,2],[303,2],[217,2],[305,108],[235,2],[306,2],[320,109],[319,110],[310,111],[311,112],[318,113],[312,112],[313,111],[314,111],[315,111],[316,114],[309,115],[317,110],[308,2],[321,116],[322,2],[323,117],[324,2],[325,118],[252,2],[307,2],[250,2],[196,2],[58,2],[206,119],[215,120],[204,2],[205,121],[216,122],[211,123],[212,124],[210,125],[214,126],[208,127],[207,128],[213,129],[209,120],[304,2],[65,130],[60,131],[64,132],[59,133],[61,131],[63,134],[62,2],[255,2],[56,2],[11,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],[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],[8,2],[48,2],[45,2],[46,2],[47,2],[49,2],[9,2],[50,2],[51,2],[52,2],[53,2],[54,2],[1,2],[10,2],[55,2],[254,135],[253,136],[251,137],[256,138],[75,139],[71,139],[73,139],[76,140],[69,2],[74,139],[70,139],[72,139],[68,141],[67,2],[79,139],[85,139],[77,2],[87,139],[78,2],[80,2],[83,142],[84,2],[88,143],[86,2],[82,2],[81,139],[90,144],[89,145],[94,146],[91,147],[93,148],[66,149],[92,150]],"exportedModulesMap":[[97,1],[95,2],[198,3],[197,2],[100,4],[96,1],[98,5],[99,1],[101,2],[154,6],[155,7],[156,8],[157,2],[158,2],[159,2],[160,2],[161,2],[163,2],[169,9],[162,2],[167,2],[164,2],[165,2],[166,2],[168,2],[170,10],[174,11],[153,12],[175,2],[177,13],[181,14],[178,2],[180,15],[57,2],[173,16],[185,17],[184,16],[186,18],[188,19],[189,18],[190,2],[191,20],[192,2],[193,21],[194,22],[203,23],[195,2],[202,24],[200,25],[201,26],[199,27],[218,28],[220,29],[219,30],[179,2],[221,2],[223,31],[224,32],[222,33],[225,34],[226,35],[227,36],[228,37],[229,38],[230,39],[231,40],[232,41],[233,42],[234,43],[236,44],[182,2],[187,2],[237,2],[176,2],[238,2],[240,2],[241,45],[239,46],[102,47],[103,47],[105,48],[106,49],[107,50],[108,51],[109,52],[110,53],[111,54],[112,55],[113,56],[114,57],[115,57],[116,58],[117,59],[118,60],[119,61],[104,2],[151,2],[120,62],[121,63],[122,64],[152,65],[123,66],[124,67],[125,68],[126,69],[127,70],[128,71],[129,72],[130,73],[131,74],[132,75],[133,76],[134,77],[136,78],[135,79],[137,80],[138,81],[139,82],[140,83],[141,84],[142,85],[143,86],[144,87],[145,88],[146,89],[147,90],[148,91],[149,92],[150,93],[242,2],[243,2],[245,94],[244,95],[246,2],[247,2],[172,2],[171,2],[248,2],[249,96],[257,97],[282,98],[283,99],[258,100],[261,100],[280,98],[281,98],[271,98],[270,101],[268,98],[263,98],[276,98],[274,98],[278,98],[262,98],[275,98],[279,98],[264,98],[265,98],[277,98],[259,98],[266,98],[267,98],[269,98],[273,98],[284,102],[272,98],[260,98],[297,103],[296,2],[291,102],[293,104],[292,102],[285,102],[286,102],[288,102],[290,102],[294,104],[295,104],[287,104],[289,104],[299,105],[298,106],[183,107],[300,12],[301,2],[302,2],[303,2],[217,2],[305,108],[235,2],[306,2],[320,109],[319,110],[310,111],[311,112],[318,113],[312,112],[313,111],[314,111],[315,111],[316,114],[309,115],[317,110],[308,2],[321,116],[322,2],[323,117],[324,2],[325,118],[252,2],[307,2],[250,2],[196,2],[58,2],[206,119],[215,120],[204,2],[205,121],[216,122],[211,123],[212,124],[210,125],[214,126],[208,127],[207,128],[213,129],[209,120],[304,2],[65,130],[60,131],[64,132],[59,133],[61,131],[63,134],[62,2],[255,2],[56,2],[11,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],[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],[8,2],[48,2],[45,2],[46,2],[47,2],[49,2],[9,2],[50,2],[51,2],[52,2],[53,2],[54,2],[1,2],[10,2],[55,2],[254,135],[253,136],[251,137],[256,138],[75,139],[71,139],[73,139],[76,140],[69,2],[74,139],[70,139],[72,139],[68,141],[67,2],[79,139],[85,139],[77,2],[87,139],[78,2],[80,2],[83,142],[84,2],[88,143],[86,2],[82,2],[81,139],[90,151],[89,152],[94,153],[91,151],[93,152],[66,154],[92,151]],"semanticDiagnosticsPerFile":[97,95,198,197,100,96,98,99,101,154,155,156,157,158,159,160,161,163,169,162,167,164,165,166,168,170,174,153,175,177,181,178,180,57,173,185,184,186,188,189,190,191,192,193,194,203,195,202,200,201,199,218,220,219,179,221,223,224,222,225,226,227,228,229,230,231,232,233,234,236,182,187,237,176,238,240,241,239,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,104,151,120,121,122,152,123,124,125,126,127,128,129,130,131,132,133,134,136,135,137,138,139,140,141,142,143,144,145,146,147,148,149,150,242,243,245,244,246,247,172,171,248,249,257,282,283,258,261,280,281,271,270,268,263,276,274,278,262,275,279,264,265,277,259,266,267,269,273,284,272,260,297,296,291,293,292,285,286,288,290,294,295,287,289,299,298,183,300,301,302,303,217,305,235,306,320,319,310,311,318,312,313,314,315,316,309,317,308,321,322,323,324,325,252,307,250,196,58,206,215,204,205,216,211,212,210,214,208,207,213,209,304,65,60,64,59,61,63,62,255,56,11,13,12,2,14,15,16,17,18,19,20,21,3,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,8,48,45,46,47,49,9,50,51,52,53,54,1,10,55,254,253,251,256,75,71,73,76,69,74,70,72,68,67,79,85,77,87,78,80,83,84,88,86,82,81,90,89,94,91,93,66,92],"latestChangedDtsFile":"./lib/index.d.ts"},"version":"4.9.4"}
|