@markuplint/ml-config 3.0.0-alpha.66 → 3.0.0-dev.176

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/README.md CHANGED
@@ -1,13 +1,18 @@
1
1
  # @markuplint/ml-config
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/%40markuplint%2Fml-config.svg)](https://www.npmjs.com/package/@markuplint/ml-config)
4
- [![Build Status](https://travis-ci.org/markuplint/markuplint.svg?branch=main)](https://travis-ci.org/markuplint/markuplint)
5
- [![Coverage Status](https://coveralls.io/repos/github/markuplint/markuplint/badge.svg?branch=main)](https://coveralls.io/github/markuplint/markuplint?branch=main)
6
4
 
7
5
  ## Install
8
6
 
9
- ```sh
7
+ [`markuplint`](https://www.npmjs.com/package/markuplint) package includes this package.
8
+
9
+ <details>
10
+ <summary>If you are installing purposely, how below:</summary>
11
+
12
+ ```shell
10
13
  $ npm install @markuplint/ml-config
11
14
 
12
15
  $ yarn add @markuplint/ml-config
13
16
  ```
17
+
18
+ </details>
@@ -1,3 +1,4 @@
1
- import type { Config, Nullable, AnyRule } from './types';
1
+ import type { Config, AnyRule, AnyRuleV2 } from './types';
2
+ import type { Nullable } from '@markuplint/shared';
2
3
  export declare function mergeConfig(a: Config, b: Config): Config;
3
- export declare function mergeRule(a: Nullable<AnyRule>, b: AnyRule): AnyRule;
4
+ export declare function mergeRule(a: Nullable<AnyRule | AnyRuleV2>, b: AnyRule | AnyRuleV2): AnyRule;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mergeRule = exports.mergeConfig = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const deepmerge_1 = tslib_1.__importDefault(require("deepmerge"));
6
- const is_plain_object_1 = require("is-plain-object");
6
+ const utils_1 = require("./utils");
7
7
  function mergeConfig(a, b) {
8
8
  const config = {
9
9
  ...a,
@@ -22,59 +22,61 @@ function mergeConfig(a, b) {
22
22
  // delete all
23
23
  extends: undefined,
24
24
  };
25
- deleteUndefProp(config);
25
+ (0, utils_1.deleteUndefProp)(config);
26
26
  return config;
27
27
  }
28
28
  exports.mergeConfig = mergeConfig;
29
29
  function mergeRule(a, b) {
30
+ var _a, _b, _c;
31
+ const oA = optimizeRule(a);
32
+ const oB = optimizeRule(b);
30
33
  // Particular behavior:
31
- //
32
34
  // If the right-side value is false, return false.
33
35
  // In short; The `false` makes the rule to be disabled absolutely.
34
- if (b === false || (!isRuleConfigValue(b) && b.value === false)) {
36
+ if (oB === false || (!(0, utils_1.isRuleConfigValue)(oB) && (oB === null || oB === void 0 ? void 0 : oB.value) === false)) {
35
37
  return false;
36
38
  }
37
- if (a === undefined) {
38
- return b;
39
+ if (oA === undefined) {
40
+ return oB !== null && oB !== void 0 ? oB : {};
39
41
  }
40
- if (isRuleConfigValue(b)) {
41
- if (isRuleConfigValue(a)) {
42
- if (Array.isArray(a) && Array.isArray(b)) {
43
- return [...a, ...b];
42
+ if (oB === undefined) {
43
+ return oA;
44
+ }
45
+ if ((0, utils_1.isRuleConfigValue)(oB)) {
46
+ if ((0, utils_1.isRuleConfigValue)(oA)) {
47
+ if (Array.isArray(oA) && Array.isArray(oB)) {
48
+ return [...oA, ...oB];
44
49
  }
45
- return b;
50
+ return oB;
46
51
  }
47
- const value = Array.isArray(a.value) && Array.isArray(b) ? [...a.value, b] : b;
48
- const res = {
49
- ...a,
50
- value,
51
- };
52
- deleteUndefProp(res);
52
+ const value = Array.isArray(oA.value) && Array.isArray(oB) ? [...oA.value, ...oB] : oB;
53
+ const res = (0, utils_1.cleanOptions)({ ...oA, value });
54
+ (0, utils_1.deleteUndefProp)(res);
53
55
  return res;
54
56
  }
55
- const severity = b.severity || (!isRuleConfigValue(a) ? a.severity : undefined);
56
- const value = b.value || (isRuleConfigValue(a) ? a : a.value);
57
- const option = mergeObject(!isRuleConfigValue(a) ? a.option : undefined, b.option);
58
- const reason = b.reason || (!isRuleConfigValue(a) ? a.reason : undefined);
57
+ const severity = (_a = oB.severity) !== null && _a !== void 0 ? _a : (!(0, utils_1.isRuleConfigValue)(oA) ? oA.severity : undefined);
58
+ const value = (_b = oB.value) !== null && _b !== void 0 ? _b : ((0, utils_1.isRuleConfigValue)(oA) ? oA : oA.value);
59
+ const options = mergeObject(!(0, utils_1.isRuleConfigValue)(oA) ? oA.options : undefined, oB.options);
60
+ const reason = (_c = oB.reason) !== null && _c !== void 0 ? _c : (!(0, utils_1.isRuleConfigValue)(oA) ? oA.reason : undefined);
59
61
  const res = {
60
62
  severity,
61
63
  value,
62
- option,
64
+ options,
63
65
  reason,
64
66
  };
65
- deleteUndefProp(res);
67
+ (0, utils_1.deleteUndefProp)(res);
66
68
  return res;
67
69
  }
68
70
  exports.mergeRule = mergeRule;
69
71
  function mergeObject(a, b) {
70
72
  if (a == null) {
71
- return b || undefined;
73
+ return b !== null && b !== void 0 ? b : undefined;
72
74
  }
73
75
  if (b == null) {
74
- return a || undefined;
76
+ return a !== null && a !== void 0 ? a : undefined;
75
77
  }
76
78
  const res = (0, deepmerge_1.default)(a, b);
77
- deleteUndefProp(res);
79
+ (0, utils_1.deleteUndefProp)(res);
78
80
  return res;
79
81
  }
80
82
  function concatArray(a, b, uniquely = false, comparePropName) {
@@ -130,41 +132,37 @@ function getName(item, comparePropName) {
130
132
  }
131
133
  function mergeRules(a, b) {
132
134
  if (a == null) {
133
- return b || undefined;
135
+ return b && optimizeRules(b);
134
136
  }
135
137
  if (b == null) {
136
- return a || undefined;
138
+ return optimizeRules(a);
137
139
  }
138
- const res = { ...a };
140
+ const res = optimizeRules(a);
139
141
  for (const [key, rule] of Object.entries(b)) {
140
142
  const merged = mergeRule(res[key], rule);
141
143
  if (merged != null) {
142
144
  res[key] = merged;
143
145
  }
144
146
  }
145
- deleteUndefProp(res);
146
- return res;
147
+ (0, utils_1.deleteUndefProp)(res);
148
+ return Object.freeze(res);
147
149
  }
148
- function isRuleConfigValue(v) {
149
- switch (typeof v) {
150
- case 'string':
151
- case 'number':
152
- case 'boolean': {
153
- return true;
150
+ function optimizeRules(rules) {
151
+ const res = {};
152
+ for (const [key, rule] of Object.entries(rules)) {
153
+ const _rule = optimizeRule(rule);
154
+ if (_rule != null) {
155
+ res[key] = _rule;
154
156
  }
155
157
  }
156
- if (v === null) {
157
- return true;
158
- }
159
- return Array.isArray(v);
158
+ return res;
160
159
  }
161
- function deleteUndefProp(obj) {
162
- if (!(0, is_plain_object_1.isPlainObject)(obj)) {
160
+ function optimizeRule(rule) {
161
+ if (rule === undefined) {
163
162
  return;
164
163
  }
165
- for (const key in obj) {
166
- if (obj[key] === undefined) {
167
- delete obj[key];
168
- }
164
+ if ((0, utils_1.isRuleConfigValue)(rule)) {
165
+ return rule;
169
166
  }
167
+ return (0, utils_1.cleanOptions)(rule);
170
168
  }
package/lib/types.d.ts CHANGED
@@ -1,93 +1,203 @@
1
+ import type { ParserOptions } from '@markuplint/ml-ast';
1
2
  import type { RegexSelector } from '@markuplint/selector';
3
+ import type { Nullable } from '@markuplint/shared';
2
4
  export type { RegexSelector } from '@markuplint/selector';
3
- export interface Config {
4
- $schema?: string;
5
- extends?: string | string[];
6
- plugins?: (PluginConfig | string)[];
7
- parser?: ParserConfig;
8
- parserOptions?: ParserOptions;
9
- specs?: SpecConfig;
10
- excludeFiles?: string[];
11
- rules?: Rules;
12
- nodeRules?: NodeRule[];
13
- childNodeRules?: ChildNodeRule[];
14
- overrides?: Record<string, Omit<Config, '$schema' | 'extends' | 'overrides'>>;
15
- }
16
- export declare type PluginConfig = {
17
- name: string;
18
- settings: Record<string, any>;
19
- };
20
- export interface ParserConfig {
21
- [extensionPattern: string]: string;
22
- }
23
- export declare type ParserOptions = {
24
- ignoreFrontMatter?: boolean;
25
- };
26
- export declare type SpecConfig = {
27
- [extensionPattern: string]: string;
28
- };
29
- export declare type Rule<T extends RuleConfigValue, O = void> = RuleConfig<T, O> | T | boolean;
30
- export declare type AnyRule = Rule<RuleConfigValue, unknown>;
31
- export interface Rules {
32
- [ruleName: string]: AnyRule;
33
- }
34
- export declare type RuleConfig<T extends RuleConfigValue, O = void> = {
35
- severity?: Severity;
36
- value?: T;
37
- option?: O;
38
- reason?: string;
39
- };
40
- export declare type Severity = 'error' | 'warning' | 'info';
41
- export declare type RuleConfigValue = string | number | boolean | any[] | null;
42
- export interface NodeRule {
43
- selector?: string;
44
- regexSelector?: RegexSelector;
45
- categories?: string[];
46
- roles?: string[];
47
- obsolete?: boolean;
48
- rules?: Rules;
49
- }
50
- export interface ChildNodeRule {
51
- selector?: string;
52
- regexSelector?: RegexSelector;
53
- inheritance?: boolean;
54
- rules?: Rules;
55
- }
56
- export declare type Report<T extends RuleConfigValue, O = null> = Report1<T, O> | Report2 | (Report1<T, O> & Report2);
57
- export declare type Report1<T extends RuleConfigValue, O = null> = {
58
- message: string;
59
- scope: Scope<T, O>;
60
- };
61
- export declare type Report2 = {
62
- message: string;
63
- line: number;
64
- col: number;
65
- raw: string;
66
- };
67
- export declare type Scope<T extends RuleConfigValue, O = null> = {
68
- rule: RuleInfo<T, O>;
69
- startLine: number;
70
- startCol: number;
71
- raw: string;
72
- };
73
- export interface Violation {
74
- ruleId: string;
75
- severity: Severity;
76
- message: string;
77
- reason?: string;
78
- line: number;
79
- col: number;
80
- raw: string;
81
- }
82
- export interface RuleInfo<T extends RuleConfigValue, O = null> {
83
- disabled: boolean;
84
- severity: Severity;
85
- value: T;
86
- option: O;
87
- reason?: string;
88
- }
89
- export declare type GlobalRuleInfo<T extends RuleConfigValue, O = null> = RuleInfo<T, O> & {
90
- nodeRules: RuleInfo<T, O>[];
91
- childNodeRules: RuleInfo<T, O>[];
92
- };
93
- export declare type Nullable<T> = T | null | undefined;
5
+ export type Config = {
6
+ readonly $schema?: string;
7
+ readonly extends?: string | readonly string[];
8
+ readonly plugins?: readonly (PluginConfig | string)[];
9
+ readonly parser?: ParserConfig;
10
+ readonly parserOptions?: ParserOptions;
11
+ readonly specs?: SpecConfig;
12
+ readonly excludeFiles?: readonly string[];
13
+ readonly pretenders?: readonly Pretender[];
14
+ readonly rules?: Rules;
15
+ readonly nodeRules?: readonly NodeRule[];
16
+ readonly childNodeRules?: readonly ChildNodeRule[];
17
+ readonly overrides?: Readonly<Record<string, OverrideConfig>>;
18
+ };
19
+ export type PrimitiveScalar = string | number | boolean;
20
+ export type PlainData =
21
+ | Nullable<PrimitiveScalar>
22
+ | readonly PlainData[]
23
+ | {
24
+ readonly [key: string]: PlainData | any;
25
+ };
26
+ export type NonNullablePlainData =
27
+ | PrimitiveScalar
28
+ | readonly NonNullablePlainData[]
29
+ | {
30
+ readonly [key: string]: NonNullablePlainData;
31
+ };
32
+ export type OverrideConfig = Omit<Config, '$schema' | 'extends' | 'overrides'>;
33
+ export type PluginConfig = {
34
+ readonly name: string;
35
+ readonly settings: Readonly<Record<string, NonNullablePlainData>>;
36
+ };
37
+ export type ParserConfig = {
38
+ readonly [extensionPattern: string]: string;
39
+ };
40
+ export type SpecConfig = {
41
+ readonly [extensionPattern: string]: string;
42
+ };
43
+ export type Pretender = {
44
+ /**
45
+ * Target node selectors
46
+ */
47
+ readonly selector: string;
48
+ /**
49
+ * If it is a string, it is resolved as an element name.
50
+ * An element has the same attributes as the pretended custom element
51
+ * because attributes are just inherited.
52
+ *
53
+ * If it is an Object, It creates the element by that.
54
+ */
55
+ readonly as: string | OriginalNode;
56
+ };
57
+ export type OriginalNode = {
58
+ /**
59
+ * Element name
60
+ */
61
+ readonly element: string;
62
+ /**
63
+ * Namespace
64
+ *
65
+ * Supports `"svg"` and `undefined` only.
66
+ * If it is `undefined`, the namespace is HTML.
67
+ */
68
+ readonly namespace?: 'svg';
69
+ /**
70
+ * Attributes
71
+ */
72
+ readonly attrs?: readonly {
73
+ /**
74
+ * Attribute name
75
+ */
76
+ readonly name: string;
77
+ /**
78
+ * If it omits this property, the attribute is resolved as a boolean.
79
+ */
80
+ readonly value?:
81
+ | string
82
+ | {
83
+ readonly fromAttr: string;
84
+ };
85
+ }[];
86
+ /**
87
+ * To have attributes the defined element has.
88
+ */
89
+ readonly inheritAttrs?: boolean;
90
+ /**
91
+ * ARIA properties
92
+ */
93
+ readonly aria?: PretenderARIA;
94
+ };
95
+ /**
96
+ * Pretender Node ARIA properties
97
+ */
98
+ export type PretenderARIA = {
99
+ /**
100
+ * Accessible name
101
+ *
102
+ * - If it is `true`, it assumes the element has any text on its accessible name.
103
+ * - If it specifies `fromAttr` property, it assumes the accessible name refers to the value of the attribute.
104
+ */
105
+ readonly name?:
106
+ | boolean
107
+ | {
108
+ readonly fromAttr: string;
109
+ };
110
+ };
111
+ export type Rule<T extends RuleConfigValue, O extends PlainData = undefined> = RuleConfig<T, O> | Readonly<T> | boolean;
112
+ /**
113
+ * @deprecated
114
+ */
115
+ export type RuleV2<T extends RuleConfigValue, O extends PlainData = undefined> =
116
+ | RuleConfigV2<T, O>
117
+ | Readonly<T>
118
+ | boolean;
119
+ export type AnyRule = Rule<RuleConfigValue, PlainData>;
120
+ /**
121
+ * @deprecated
122
+ */
123
+ export type AnyRuleV2 = RuleV2<RuleConfigValue, PlainData>;
124
+ export type Rules = {
125
+ readonly [ruleName: string]: AnyRule;
126
+ };
127
+ export type RuleConfig<T extends RuleConfigValue, O extends PlainData = undefined> = {
128
+ readonly severity?: Severity;
129
+ readonly value?: Readonly<T>;
130
+ readonly options?: Readonly<O>;
131
+ readonly reason?: string;
132
+ };
133
+ /**
134
+ * @deprecated
135
+ */
136
+ export type RuleConfigV2<T extends RuleConfigValue, O extends PlainData = undefined> = {
137
+ readonly severity?: Severity;
138
+ readonly value?: Readonly<T>;
139
+ readonly reason?: string;
140
+ /**
141
+ * Old property
142
+ *
143
+ * @deprecated
144
+ * @see {this.options}
145
+ */
146
+ readonly option?: Readonly<O>;
147
+ };
148
+ export type Severity = 'error' | 'warning' | 'info';
149
+ export type RuleConfigValue = PrimitiveScalar | readonly (PrimitiveScalar | Readonly<Record<string, any>>)[] | null;
150
+ export type NodeRule = {
151
+ readonly selector?: string;
152
+ readonly regexSelector?: RegexSelector;
153
+ readonly categories?: readonly string[];
154
+ readonly roles?: readonly string[];
155
+ readonly obsolete?: boolean;
156
+ readonly rules?: Rules;
157
+ };
158
+ export type ChildNodeRule = {
159
+ readonly selector?: string;
160
+ readonly regexSelector?: RegexSelector;
161
+ readonly inheritance?: boolean;
162
+ readonly rules?: Rules;
163
+ };
164
+ export type Report<T extends RuleConfigValue, O extends PlainData = undefined> =
165
+ | Report1<T, O>
166
+ | Report2
167
+ | (Report1<T, O> & Report2);
168
+ export type Report1<T extends RuleConfigValue, O extends PlainData = undefined> = {
169
+ readonly message: string;
170
+ readonly scope: Scope<T, O>;
171
+ };
172
+ export type Report2 = {
173
+ readonly message: string;
174
+ readonly line: number;
175
+ readonly col: number;
176
+ readonly raw: string;
177
+ };
178
+ export type Scope<T extends RuleConfigValue, O extends PlainData = undefined> = {
179
+ readonly rule: RuleInfo<T, O>;
180
+ readonly startLine: number;
181
+ readonly startCol: number;
182
+ readonly raw: string;
183
+ };
184
+ export type Violation = {
185
+ readonly ruleId: string;
186
+ readonly severity: Severity;
187
+ readonly message: string;
188
+ readonly reason?: string;
189
+ readonly line: number;
190
+ readonly col: number;
191
+ readonly raw: string;
192
+ };
193
+ export type RuleInfo<T extends RuleConfigValue, O extends PlainData = undefined> = {
194
+ readonly disabled: boolean;
195
+ readonly severity: Severity;
196
+ readonly value: Readonly<T>;
197
+ readonly options: Readonly<O>;
198
+ readonly reason?: string;
199
+ };
200
+ export type GlobalRuleInfo<T extends RuleConfigValue, O extends PlainData = undefined> = RuleInfo<T, O> & {
201
+ nodeRules: RuleInfo<T, O>[];
202
+ childNodeRules: RuleInfo<T, O>[];
203
+ };
package/lib/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AnyRule } from './types';
1
+ import type { AnyRule, AnyRuleV2, PlainData, RuleConfig, RuleConfigV2, RuleConfigValue } from './types';
2
2
  /**
3
3
  * Return undefined if the template doesn't include the variable that is set as a property in data.
4
4
  * But return template string without changes if it doesn't have a variable.
@@ -6,5 +6,18 @@ import type { AnyRule } from './types';
6
6
  * @param template Mustache template string
7
7
  * @param data Captured string for replacement
8
8
  */
9
- export declare function provideValue(template: string, data: Record<string, string>): string | undefined;
10
- export declare function exchangeValueOnRule(rule: AnyRule, data: Record<string, string>): AnyRule | undefined;
9
+ export declare function provideValue(template: string, data: Readonly<Record<string, string>>): string | undefined;
10
+ export declare function exchangeValueOnRule(
11
+ rule: AnyRule | AnyRuleV2,
12
+ data: Readonly<Record<string, string>>,
13
+ ): AnyRule | undefined;
14
+ export declare function cleanOptions(
15
+ rule: RuleConfig<RuleConfigValue, PlainData> | RuleConfigV2<RuleConfigValue, PlainData>,
16
+ ): RuleConfig<RuleConfigValue, PlainData>;
17
+ export declare function isRuleConfigValue(v: any): v is RuleConfigValue;
18
+ /**
19
+ *
20
+ * @param obj
21
+ * @returns
22
+ */
23
+ export declare function deleteUndefProp(obj: any): void;
package/lib/utils.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exchangeValueOnRule = exports.provideValue = void 0;
3
+ exports.deleteUndefProp = exports.isRuleConfigValue = exports.cleanOptions = exports.exchangeValueOnRule = exports.provideValue = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const is_plain_object_1 = require("is-plain-object");
5
6
  const mustache_1 = tslib_1.__importDefault(require("mustache"));
6
7
  /**
7
8
  * Return undefined if the template doesn't include the variable that is set as a property in data.
@@ -11,8 +12,9 @@ const mustache_1 = tslib_1.__importDefault(require("mustache"));
11
12
  * @param data Captured string for replacement
12
13
  */
13
14
  function provideValue(template, data) {
15
+ var _a;
14
16
  const ast = mustache_1.default.parse(template);
15
- if (ast.length === 1 && ast[0][0] === 'text') {
17
+ if (ast.length === 1 && ((_a = ast[0]) === null || _a === void 0 ? void 0 : _a[0]) === 'text') {
16
18
  // It doesn't have a variable
17
19
  return template;
18
20
  }
@@ -26,31 +28,94 @@ function provideValue(template, data) {
26
28
  }
27
29
  exports.provideValue = provideValue;
28
30
  function exchangeValueOnRule(rule, data) {
29
- if (rule != null && typeof rule === 'object' && !Array.isArray(rule)) {
30
- if (rule.value != null) {
31
- rule = {
32
- ...rule,
33
- value: exchangeValue(rule.value, data),
34
- };
35
- }
36
- if (rule.option) {
37
- rule = {
38
- ...rule,
39
- option: exchangeOption(rule.option, data),
40
- };
31
+ if (isRuleConfigValue(rule)) {
32
+ return exchangeValue(rule, data);
33
+ }
34
+ let result = cleanOptions(rule);
35
+ if (result.value != null) {
36
+ result = {
37
+ ...result,
38
+ value: exchangeValue(result.value, data),
39
+ };
40
+ }
41
+ const options = extractOptions(result);
42
+ if (options != null && options !== '' && options !== 0) {
43
+ const newOptions = exchangeOption(options, data);
44
+ result = {
45
+ ...result,
46
+ ...(newOptions == null
47
+ ? undefined
48
+ : {
49
+ options: newOptions,
50
+ }),
51
+ };
52
+ }
53
+ if (result.reason != null) {
54
+ const exchangedValue = exchangeValue(result.reason, data);
55
+ result = {
56
+ ...result,
57
+ reason: exchangedValue != null ? `${exchangedValue}` : undefined,
58
+ };
59
+ }
60
+ deleteUndefProp(result);
61
+ return result;
62
+ }
63
+ exports.exchangeValueOnRule = exchangeValueOnRule;
64
+ function cleanOptions(rule) {
65
+ const res = {
66
+ severity: rule.severity,
67
+ value: rule.value,
68
+ options: extractOptions(rule),
69
+ reason: rule.reason,
70
+ };
71
+ deleteUndefProp(res);
72
+ return res;
73
+ }
74
+ exports.cleanOptions = cleanOptions;
75
+ function isRuleConfigValue(v) {
76
+ switch (typeof v) {
77
+ case 'string':
78
+ case 'number':
79
+ case 'boolean': {
80
+ return true;
41
81
  }
42
- if (rule.reason != null) {
43
- const exchangedValue = exchangeValue(rule.reason, data);
44
- rule = {
45
- ...rule,
46
- reason: exchangedValue ? `${exchangedValue}` : undefined,
47
- };
82
+ }
83
+ if (v === null) {
84
+ return true;
85
+ }
86
+ return Array.isArray(v);
87
+ }
88
+ exports.isRuleConfigValue = isRuleConfigValue;
89
+ /**
90
+ *
91
+ * @param obj
92
+ * @returns
93
+ */
94
+ function deleteUndefProp(obj) {
95
+ if (!(0, is_plain_object_1.isPlainObject)(obj)) {
96
+ return;
97
+ }
98
+ for (const key in obj) {
99
+ if (obj[key] === undefined) {
100
+ delete obj[key];
48
101
  }
49
- return rule;
50
102
  }
51
- return exchangeValue(rule, data);
52
103
  }
53
- exports.exchangeValueOnRule = exchangeValueOnRule;
104
+ exports.deleteUndefProp = deleteUndefProp;
105
+ /**
106
+ * Return options from `options` or `option`
107
+ *
108
+ * @param rule
109
+ * @returns
110
+ */
111
+ function extractOptions(rule) {
112
+ if ('options' in rule && rule.options != null) {
113
+ return rule.options;
114
+ }
115
+ if ('option' in rule && rule.option != null) {
116
+ return rule.option;
117
+ }
118
+ }
54
119
  function exchangeValue(rule, data) {
55
120
  if (rule == null) {
56
121
  return rule;
@@ -66,8 +131,8 @@ function exchangeValue(rule, data) {
66
131
  }
67
132
  return val;
68
133
  })
69
- .filter(item => item !== undefined);
70
- return ruleArray.length ? ruleArray : undefined;
134
+ .filter((item) => item !== undefined);
135
+ return ruleArray.length > 0 ? ruleArray : undefined;
71
136
  }
72
137
  return rule;
73
138
  }
@@ -81,7 +146,7 @@ function exchangeOption(optionValue, data) {
81
146
  if (typeof optionValue === 'string') {
82
147
  return provideValue(optionValue, data);
83
148
  }
84
- if (Array.isArray(optionValue)) {
149
+ if (isArray(optionValue)) {
85
150
  return optionValue.map(v => exchangeOption(v, data));
86
151
  }
87
152
  const result = {};
@@ -90,3 +155,16 @@ function exchangeOption(optionValue, data) {
90
155
  });
91
156
  return result;
92
157
  }
158
+ /**
159
+ * Array.isArray for ReadonlyArray
160
+ *
161
+ * > Array.isArray type narrows to any[] for ReadonlyArray<T>
162
+ *
163
+ * @see https://github.com/microsoft/TypeScript/issues/17002
164
+ *
165
+ * @param value
166
+ * @returns
167
+ */
168
+ function isArray(value) {
169
+ return Array.isArray(value);
170
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markuplint/ml-config",
3
- "version": "3.0.0-alpha.66+6cde1134",
3
+ "version": "3.0.0-dev.176+f6ad62e9",
4
4
  "description": "JSON Schema and TypeScript types of markuplint configure JSON",
5
5
  "repository": "git@github.com:markuplint/markuplint.git",
6
6
  "author": "Yusuke Hirao <yusukehirao@me.com>",
@@ -11,18 +11,22 @@
11
11
  "publishConfig": {
12
12
  "access": "public"
13
13
  },
14
+ "typedoc": {
15
+ "entryPoint": "./src/index.ts"
16
+ },
14
17
  "scripts": {
15
18
  "build": "tsc",
16
19
  "clean": "tsc --build --clean"
17
20
  },
18
- "devDependencies": {
19
- "@types/mustache": "^4.1.2"
20
- },
21
21
  "dependencies": {
22
- "@markuplint/selector": "3.0.0-alpha.2105+6cde1134",
23
- "deepmerge": "^4.2.2",
22
+ "@markuplint/ml-ast": "3.0.0-dev.176+f6ad62e9",
23
+ "@markuplint/selector": "3.0.0-dev.176+f6ad62e9",
24
+ "@markuplint/shared": "3.5.1-dev.3129+f6ad62e9",
25
+ "@types/mustache": "^4.2.2",
26
+ "deepmerge": "^4.3.1",
24
27
  "is-plain-object": "^5.0.0",
25
- "mustache": "^4.2.0"
28
+ "mustache": "^4.2.0",
29
+ "type-fest": "^3.8.0"
26
30
  },
27
- "gitHead": "6cde113402758a8fdbd6a0fcf98e78efd2cdb778"
31
+ "gitHead": "f6ad62e992e1569be4067f1e90d2d6017a658f57"
28
32
  }
@@ -0,0 +1,233 @@
1
+ const { mergeConfig, mergeRule } = require('../lib/merge-config');
2
+
3
+ it('test', () => {
4
+ expect(mergeConfig({}, {})).toStrictEqual({});
5
+ });
6
+
7
+ it('test', () => {
8
+ expect(
9
+ mergeConfig(
10
+ {
11
+ plugins: ['a', 'b', 'c'],
12
+ },
13
+ {
14
+ plugins: ['c', 'b', 'd'],
15
+ },
16
+ ),
17
+ ).toStrictEqual({
18
+ plugins: ['a', 'b', 'c', 'd'],
19
+ });
20
+ });
21
+
22
+ it('test', () => {
23
+ expect(
24
+ mergeConfig(
25
+ {
26
+ plugins: ['a', 'b', { name: 'c', settings: { foo: 'foo', bar: 'bar' } }],
27
+ },
28
+ {
29
+ plugins: ['c', 'b', 'd', { name: 'c', settings: { foo2: 'foo2', bar: 'bar2' } }],
30
+ },
31
+ ),
32
+ ).toStrictEqual({
33
+ plugins: [
34
+ 'a',
35
+ 'b',
36
+ {
37
+ name: 'c',
38
+ settings: {
39
+ bar: 'bar2',
40
+ foo: 'foo',
41
+ foo2: 'foo2',
42
+ },
43
+ },
44
+ 'd',
45
+ ],
46
+ });
47
+ });
48
+
49
+ it('test', () => {
50
+ expect(
51
+ mergeConfig(
52
+ {
53
+ parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
54
+ },
55
+ {
56
+ parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
57
+ },
58
+ ),
59
+ ).toStrictEqual({
60
+ parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
61
+ });
62
+ });
63
+
64
+ it('test', () => {
65
+ expect(
66
+ mergeConfig(
67
+ {
68
+ parser: { '/\\.vue$/i': '@markuplint/vue-parser' },
69
+ },
70
+ {
71
+ parser: { '/\\.[jt]sx?$/i': '@markuplint/jsx-parser' },
72
+ },
73
+ ),
74
+ ).toStrictEqual({
75
+ parser: {
76
+ '/\\.vue$/i': '@markuplint/vue-parser',
77
+ '/\\.[jt]sx?$/i': '@markuplint/jsx-parser',
78
+ },
79
+ });
80
+ });
81
+
82
+ it('test', () => {
83
+ expect(
84
+ mergeRule(
85
+ {
86
+ value: true,
87
+ },
88
+ {},
89
+ ),
90
+ ).toStrictEqual({
91
+ value: true,
92
+ });
93
+
94
+ expect(
95
+ mergeRule(
96
+ {
97
+ value: true,
98
+ },
99
+ false,
100
+ ),
101
+ ).toStrictEqual(false);
102
+
103
+ expect(
104
+ mergeRule(
105
+ {
106
+ value: false,
107
+ },
108
+ true,
109
+ ),
110
+ ).toStrictEqual({
111
+ value: true,
112
+ });
113
+
114
+ expect(
115
+ mergeRule(
116
+ {
117
+ options: {
118
+ optional: 'OPTIONAL_VALUE',
119
+ },
120
+ },
121
+ {
122
+ options: {
123
+ optional: 'CHANGED_OPTIONAL_VALUE',
124
+ },
125
+ },
126
+ ),
127
+ ).toStrictEqual({
128
+ options: {
129
+ optional: 'CHANGED_OPTIONAL_VALUE',
130
+ },
131
+ });
132
+
133
+ expect(
134
+ mergeRule(
135
+ {
136
+ option: {
137
+ optional: 'OPTIONAL_VALUE',
138
+ },
139
+ },
140
+ {
141
+ option: {
142
+ optional: 'CHANGED_OPTIONAL_VALUE',
143
+ },
144
+ },
145
+ ),
146
+ ).toStrictEqual({
147
+ options: {
148
+ optional: 'CHANGED_OPTIONAL_VALUE',
149
+ },
150
+ });
151
+ });
152
+
153
+ it('test', () => {
154
+ expect(
155
+ mergeConfig(
156
+ {
157
+ overrides: {
158
+ a: {
159
+ rules: {
160
+ rule1: true,
161
+ },
162
+ },
163
+ },
164
+ },
165
+ {
166
+ overrides: {
167
+ a: {
168
+ rules: {
169
+ rule1: false,
170
+ },
171
+ },
172
+ b: {
173
+ rules: {
174
+ rule1: true,
175
+ },
176
+ },
177
+ },
178
+ },
179
+ ),
180
+ ).toStrictEqual({
181
+ overrides: {
182
+ a: {
183
+ rules: {
184
+ rule1: false,
185
+ },
186
+ },
187
+ b: {
188
+ rules: {
189
+ rule1: true,
190
+ },
191
+ },
192
+ },
193
+ });
194
+ });
195
+
196
+ it('test', () => {
197
+ expect(
198
+ mergeConfig(
199
+ {
200
+ rules: {
201
+ a: {
202
+ // @ts-ignore
203
+ option: {
204
+ ruleA: true,
205
+ },
206
+ },
207
+ },
208
+ },
209
+ {
210
+ rules: {
211
+ b: {
212
+ options: {
213
+ ruleB: true,
214
+ },
215
+ },
216
+ },
217
+ },
218
+ ),
219
+ ).toStrictEqual({
220
+ rules: {
221
+ a: {
222
+ options: {
223
+ ruleA: true,
224
+ },
225
+ },
226
+ b: {
227
+ options: {
228
+ ruleB: true,
229
+ },
230
+ },
231
+ },
232
+ });
233
+ });
@@ -0,0 +1,119 @@
1
+ const { exchangeValueOnRule, provideValue } = require('../lib/utils');
2
+
3
+ it('provideValue', () => {
4
+ expect(
5
+ provideValue('The name is {{ dataName }}', {
6
+ $0: 'data-hoge',
7
+ $1: 'hoge',
8
+ dataName: 'hoge',
9
+ }),
10
+ ).toBe('The name is hoge');
11
+
12
+ expect(provideValue('The name is {{ dataName }}', {})).toBeUndefined();
13
+
14
+ expect(
15
+ provideValue('No variable', {
16
+ $0: 'data-hoge',
17
+ $1: 'hoge',
18
+ dataName: 'hoge',
19
+ }),
20
+ ).toBe('No variable');
21
+ });
22
+
23
+ it('exchangeValueOnRule', () => {
24
+ expect(
25
+ exchangeValueOnRule('The name is {{ dataName }}', {
26
+ $0: 'data-hoge',
27
+ $1: 'hoge',
28
+ dataName: 'hoge',
29
+ }),
30
+ ).toBe('The name is hoge');
31
+
32
+ expect(
33
+ exchangeValueOnRule(
34
+ {
35
+ value: 'The name is {{ dataName }}',
36
+ },
37
+ {
38
+ $0: 'data-hoge',
39
+ $1: 'hoge',
40
+ dataName: 'hoge',
41
+ },
42
+ ),
43
+ ).toStrictEqual({
44
+ value: 'The name is hoge',
45
+ });
46
+
47
+ expect(
48
+ exchangeValueOnRule(
49
+ {
50
+ severity: 'error',
51
+ value: 'The name is {{ dataName }}',
52
+ reason: 'For {{ dataName }}',
53
+ },
54
+ {
55
+ $0: 'data-hoge',
56
+ $1: 'hoge',
57
+ dataName: 'hoge',
58
+ },
59
+ ),
60
+ ).toStrictEqual({
61
+ severity: 'error',
62
+ value: 'The name is hoge',
63
+ reason: 'For hoge',
64
+ });
65
+
66
+ expect(
67
+ exchangeValueOnRule(
68
+ {
69
+ value: 'The name is {{ dataName }}',
70
+ option: {
71
+ propA: 'The name is {{ dataName }}',
72
+ propB: ['The name is {{ dataName }}'],
73
+ propC: {
74
+ prop: 'The name is {{ dataName }}',
75
+ },
76
+ },
77
+ },
78
+ {
79
+ dataName: 'hoge',
80
+ },
81
+ ),
82
+ ).toStrictEqual({
83
+ value: 'The name is hoge',
84
+ options: {
85
+ propA: 'The name is hoge',
86
+ propB: ['The name is hoge'],
87
+ propC: {
88
+ prop: 'The name is hoge',
89
+ },
90
+ },
91
+ });
92
+
93
+ expect(
94
+ exchangeValueOnRule(
95
+ {
96
+ value: 'The name is {{ dataName }}',
97
+ options: {
98
+ propA: 'The name is {{ dataName }}',
99
+ propB: ['The name is {{ dataName }}'],
100
+ propC: {
101
+ prop: 'The name is {{ dataName }}',
102
+ },
103
+ },
104
+ },
105
+ {
106
+ dataName: 'hoge',
107
+ },
108
+ ),
109
+ ).toStrictEqual({
110
+ value: 'The name is hoge',
111
+ options: {
112
+ propA: 'The name is hoge',
113
+ propB: ['The name is hoge'],
114
+ propC: {
115
+ prop: 'The name is hoge',
116
+ },
117
+ },
118
+ });
119
+ });
@@ -1,3 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.json"
3
- }
@@ -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.es2020.bigint.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.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.object.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","../selector/lib/types.d.ts","../selector/lib/compare-specificity.d.ts","../selector/lib/match-selector.d.ts","../ml-spec/lib/dom-traverse/accname-computation.d.ts","../ml-spec/lib/types/aria.d.ts","../ml-spec/lib/types/attributes.d.ts","../ml-spec/lib/types/permitted-structres.d.ts","../ml-spec/node_modules/@markuplint/ml-ast/lib/types.d.ts","../ml-spec/node_modules/@markuplint/ml-ast/lib/index.d.ts","../ml-spec/lib/types/index.d.ts","../ml-spec/lib/dom-traverse/get-attr-specs.d.ts","../ml-spec/lib/dom-traverse/get-computed-role.d.ts","../ml-spec/lib/dom-traverse/get-implicit-role.d.ts","../ml-spec/lib/dom-traverse/get-permitted-roles.d.ts","../ml-spec/lib/dom-traverse/get-spec.d.ts","../ml-spec/lib/dom-traverse/has-required-owned-elements.d.ts","../ml-spec/lib/specs/aria-specs.d.ts","../ml-spec/lib/specs/content-model-category-to-tag-names.d.ts","../ml-spec/lib/specs/get-role-spec.d.ts","../ml-spec/lib/specs/get-spec-by-tag-name.d.ts","../ml-spec/lib/specs/schema-to-spec.d.ts","../ml-spec/lib/utils/resolve-namespace.d.ts","../ml-spec/lib/index.d.ts","../selector/lib/selector.d.ts","../selector/lib/create-selector.d.ts","../selector/lib/index.d.ts","./src/types.ts","../../../node_modules/deepmerge/index.d.ts","../../../node_modules/is-plain-object/is-plain-object.d.ts","./src/merge-config.ts","../../../node_modules/@types/mustache/index.d.ts","./src/utils.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/estree/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/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/chalk/index.d.ts","../../../node_modules/jest-diff/build/cleanupsemantic.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/difflines.d.ts","../../../node_modules/jest-diff/build/printdiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/parse5/lib/tree-adapters/default.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/tough-cookie/index.d.ts","../../../node_modules/@types/jsdom/base.d.ts","../../../node_modules/@types/jsdom/ts4.0/index.d.ts","../../../node_modules/@types/jsdom/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/ajv/lib/ajv.d.ts","../../../node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/schema-utils/declarations/index.d.ts","../../../node_modules/tapable/tapable.d.ts","../../../node_modules/@types/mini-css-extract-plugin/node_modules/webpack/types.d.ts","../../../node_modules/@types/mini-css-extract-plugin/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../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/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/webpack/node_modules/@types/estree/index.d.ts","../../../node_modules/webpack/types.d.ts","../../../node_modules/@types/script-ext-html-webpack-plugin/index.d.ts","../../../node_modules/@types/serve-index/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/webpack-dev-server/node_modules/webpack/types.d.ts","../../../node_modules/http-proxy-middleware/dist/types.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/response-interceptor.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/fix-request-body.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/public.d.ts","../../../node_modules/http-proxy-middleware/dist/handlers/index.d.ts","../../../node_modules/http-proxy-middleware/dist/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/schema-utils/declarations/validationerror.d.ts","../../../node_modules/uri-js/dist/es5/uri.all.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/code.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/scope.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/codegen/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/rules.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/util.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/subschema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/errors.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/validate/datatype.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/additionalitems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/propertynames.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/additionalproperties.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/not.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/anyof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/oneof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/if.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/applicator/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/limitnumber.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/multipleof.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/required.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/uniqueitems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/const.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/enum.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/format/format.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedproperties.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/unevaluated/unevaluateditems.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/validation/dependentrequired.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/vocabularies/errors.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/json-schema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/jtd-schema.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/runtime/validation_error.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/ref_error.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/core.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/resolve.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/compile/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/types/index.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/ajv/dist/ajv.d.ts","../../../node_modules/webpack-dev-middleware/node_modules/schema-utils/declarations/validate.d.ts","../../../node_modules/webpack-dev-middleware/types/index.d.ts","../../../node_modules/chokidar/types/index.d.ts","../../../node_modules/@types/webpack-dev-server/index.d.ts","../../../node_modules/@types/whatwg-mimetype/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2f93dda35dafec68ec217c9ce67f0f4fbbbb030c055ac312641565ad60dd7e26","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","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":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75","8e25827436b3cb7cdf66606f539d32d7c2dc3de882ceef183821e2f4b706b42f","9be49acc7796aba6f46c3cc7097d3f0adbf70583bc9f30d09e7bd8becdee8877","6188e524ad93af680c78edf33c4612f80102c747814dc50b7bead9456e56a24d","30070473f3c9f82e4b9acd51775bc6e9e3d748b04e8a7228a07e2df18b88e811","6c7618ecafc7c5c30d4ea0383493bb6f52b59b0d00995e80005c712a2700383d","468eeef346e27512a3bcb17bafcddf7444f3d18baab352caaf5f990e25f94166","8c041be53cdb171bde460bc1d5f44eab640716fb1fe33483a4f68f0af3533aaa","f7ca8fa6b32b2323784fe39c6a7739667e16fa40192b3ff078699df1c96fdd7c","d5c19655468e29f60c871b21e73af8ebc653f736e7123ade916f22c4a5f80ce5","3ff9a126c67fe062f003d5caef82f3adc68dd9c0a6ce9fe4802b3cc6cd89eb23","60c5fdb48b631ab3d7e30e8ae0f80132672d3fb10892f119bef8d47e860a13bb","8ceca669ca875c99809350719f0857701edef93cde0bd3d7740abdb1000e0333","65911474b8066910597d335a85fc76d0d81d9cc38d60e65f45980167899730ce","29baf6825ade0ce8b0fbf0b42f7b4578dfd7f95ddea0619792ef5a61721d197b","7cdcfd1ef792d559a048f8f9a7ca91c76b61bc3d98be8cf4d973d639e278133d","a4988ce9ea67d7f14196038494465d0c6a759ff52311926afead339052875c70","2c976a874b55f496245b8760cdd19c6952a39ed1ab8ed579e254d124781244a0","6af04679a4651978b280c3c64c3ff7941df58422835abdbc1432680e4f3aba25","ed0cd9a47656338ab5d493138cfa70d91eec03b39e985d2d90e88b851f8a2889","4c517f1a402edfc0fd0e185430b2f193a367fbd0db06c87d5ed5528f0af1d2cc","89b3d59037522e331c0e819157ac6672dd0ccfcc92401410599cf305151ad476","3b384ec93a30b9333ec1fd18b5b43da098826e2f0071711e91f8ca1a3c54039b","587aa0b12b1c676dc8d905c0e3c330ec2f45b5d907453d43d039bbda889ee2aa","1248237dfce91a218ccedbcf3d68b8f4d7839a5ada077f274202d4186cd33d65","b106759be4af4294804d71cc18466dd283e7526e92031b85dfc8df9c9164d70e","c4ea611138b4c94a41f6b482fa2049bd2c014720944ed1371f09d9eb1ca25d81","6852ac9aae82803ed2b8772fe9dbc3e5d9f264d39ee425c951f13ffd196cda49","f163b1edf76fbde01836f8522fbe646fe2f55e313bb7fdd363891748f9b57c60","9a4c49a0b2bf8536b1f4a72f162f807d7a23aa27a816e9cd24cc965540ba4b35","83a3dcab0109f764bdf9f769424681b43f4352514be553bc0c4fe94491036e6c","56dd85019d2374449708458f4acf4712d4c6f7b19ae597e910bab6ae75bc9e05","147266c7de9aaedc7a746e86f3142debf35df9a4f03a6a25efbd6caeb84203ee","3e846bbed6945fa695b2a999410d4096f485c254230e93e355859af8749d33dd","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","1cc502622a7f773e7cd75ecacd64d0bc83a2a6442dc16a7081f968702edf5051","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"56cbe80e6c42d7e6e66b6f048add8b01c663797b843a074d9f19c4a3d63a269a","af9abc3144d279b29affb0e6dd842609eca65fb44c712368f6a89bb264b34ef4","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","8566fa84085caa46340393b1704ecd368491918fb45bd688d6e89736aec73a2f","dc33ce27fbeaf0ea3da556c80a6cc8af9d13eb443088c8f25cdc39fca8e756f6","84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","ed19da84b7dbf00952ad0b98ce5c194f1903bcf7c94d8103e8e0d63b271543ae","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","e4b4326b61261bf5ffd6de8b4825f00eb11ebb89a51bd92663dd6e660abf4210","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"3fe15a491a792852283caeece8142bc7427a29c183d9fec8691d95a49c8932a1","affectsGlobalScope":true},"fc37aca06f6b8b296c42412a2e75ab53d30cd1fa8a340a3bb328a723fd678377","5f2c582b9ef260cb9559a64221b38606378c1fabe17694592cdfe5975a6d7efa","cc256fd958b33576ed32c7338c64adb0d08fc0c2c6525010202fab83f32745da","fd20dfa2434a61a87e3fa9450f9de2ed2c365ea43b17b34ac6616d90d9681381","389303117a81e90897689e7adb4b53a062e68a6fe4067088fae9552907aa28c3",{"version":"d4c4fe14b23180acf25e4a68dc3bb9e5c38233dd3de12a4ab9569e636090ac9b","affectsGlobalScope":true},"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"cddf5c26907c0b8378bc05543161c11637b830da9fadf59e02a11e675d11e180","2a2e2c6463bcf3c59f31bc9ab4b6ef963bbf7dffb049cd017e2c1834e3adca63","dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","67f129ed8b372622ff36b8b10e39d03e09e363a5ff7821105f92f085b8d1ccba","721124f5db1f4a42da2308dfa1414d2e99055d2dfc59de7bf2e0b6ac64356c0e","0d7569149194d622212c21d5d162b0715d5a6ca764cebae7145fdbaff1e07311","cd74c8275483d3fe0d07a9b4bba28845a8a611f0aa399e961dbd40e5d46dd9ad","9fd94af6ff33bb25c014a4cc2dd9ffb54650176666b7831f1c85168784826ad4","4b0011a86baef7b2d7a95ce25e729c96f28c923a06cb0cbf9915135eae784aee","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","6209c901f30cc321f4b86800d11fad3d67e73a3308f19946b1bc642af0280298","dac991ec2b7f56b1a39f74a65cca109ec9cde62df848c5bd41524030c894e341","58a3914b1cce4560d9ad6eee2b716caaa030eda0a90b21ca2457ea9e2783eaa3","d64037d2df4c89d6d2113b1aaad4b59259d448dbd8862bc20003d1caef23b1d4","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","3054859381b164f72e31f3554b795761db2f4a54208587c55bdd690af83b3bc0","44a9aadd9a9e24c7fab7f5b271c8eb89d0e6af07bbc637adae7f15f1c1b6f70e","acebfe99678cf7cddcddc3435222cf132052b1226e902daac9fbb495c321a9b5","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","b2f006ee835f315d01c43c0f5d9e9ad78a5870b380899877b32a33078d065dbd","9fd94af6ff33bb25c014a4cc2dd9ffb54650176666b7831f1c85168784826ad4","43a4860173cec933ed8380e55f7a4473dd0df38b43e706b492f443cd8612bd87","f90d85d4cb38445499bdb7e7b013e4f64d99d157a6fa0843e998495ceb27b520","2e178a87e7bf03a067cfb1cf5573e7c4899fcbc9f462a0b0c67d238e39b794a4","901becb8779e1089442378fda5623e607ee4588762a32e7692436f1ea81cf848","8286d84d2567b713fd6a1fdfbb1a0abc8cfa668ee1e0e83d7dd4ade5761f2750","f28dffc6bf9bbd8b9dc156aadb74d11de7faabf547eb9f0aebb8cd03e8750a6c","dee5d387e2e6f3015cbf91fc0c13ed6f016f9c5c1f2ad9c62602f4fd398fa83a","9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825","44a8d350600656882fd7462774e32e8d13788313ba2e36d2e8d5437ac91b98df","60bb0e47502bf8716d1230288b4e6387c1d34cded12752ab5338108e2e662e67","b8870b5155d11a273c75718a4f19026da49f91c548703858cd3400d06c3bd3b8","b3ae4ded82f27cabba780b9af9647f6e08c9a4cabe8fbb7a0cca69c7add9ef4b","8d26ae32e5c9c080e44aee4a67e5ef02b5fda0604e6fecbb7b753c537e5282d9","05c4e792dae38912ba333725cdf8c42d242337d006c0d887f4ce5a7787871a95","cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da","58ce1486f851942bd2d3056b399079bc9cb978ec933fe9833ea417e33eab676e","1a23b521db8d7ec9e2b96c6fbd4c7e96d12f408b1e03661b3b9f7da7291103e6","d3d0d11d30c9878ada3356b9c36a2754b8c7b6204a41c86bfb1488c08ce263b0","a6493f1f479637ed89a3ebec03f6dc117e3b1851d7e938ac4c8501396b8639a8","ae0951e44973e928fe2e999b11960493835d094b16adac0b085a79cff181bcb9","9d00e3a59eff68fa8c40e89953083eeaad1c5b2580ed7da2304424b249ecb237","1609ad4d488c356ee91eba7d7aa87cc6fb59bc8ac05c1a8f08665285ba3b71ad","8add088f72326098d68d622ddb024c00ae56a912383efe96b03f0481db88f7c9","dd17fe6332567b8f13e33dd3ff8926553cdcea2ad32d4350ce0063a2addaa764","4091d56a4622480549350b8811ec64c7826cd41a70ce5d9c1cc20384bb144049","353c0125b9e50c2a71e18394d46be5ccb37161cc0f0e7c69216aa6932c8cdafb","9c5d5f167e86b6ddf7142559a17d13fd39c34e868ae947c40381db866eed6609","4430dea494b0ee77bf823d9a7c4850a539e1060d5d865316bb23fb393e4f01d7","aae698ceead4edad0695b9ea87e43f274e698bdb302c8cb5fd2cab4dc496ccf0","51631e9a0c041e12479ab01f5801d8a237327d19e9ee37d5f1f66be912631425","c9d5d8adb1455f49182751ce885745dcc5f9697e9c260388bc3ae9d1860d5d10","f64289e3fa8d5719eaf5ba1bb02dd32dbbf7c603dda75c16770a6bc6e9c6b6d9","b1aa0e2e3511a8d10990f35866405c64c9e576258ef99eeb9ebafed980fd7506","2d255a5287f2fb5295688cb25bd18e1cd59866179f795f3f1fd6b71b7f0edf8f","43c1dbb78d5277a5fdd8fddce8b257f84ffa2b4253f58b95c04a310710d19e97","6c669d7e080344c1574aa276a89e57c3b9f0e97fab96a09427e7dfb19ca261bf","b71ac126853867d8e64c910f47d46d05c5ea797987d2604f63d401507dc43b6d","9a37238558d28b7ee06d08599e92eab30b90704541cc85e6448009d6d55fffa9","120b14d66a061910309ff97e7b06b5c6c09444218178b80b687a92af4d22d5dc","3de958065e3a44cbe0bfa667813bc59c63e63c9ce522af8dc1b64714910fa9ba","66e655f7c43558bae6703242cbd6c0551a94d0a97204bd4c4bbf7e77f24d1f85","72f7b32e023814078046c036ed4b7ad92414be0aebb63e805c682e14103ae38a","a89d8e67966d085ff971c9900cfa1abdd9732bab66d9c1914ecc15befdf8623d","7dfd0308261bb91b058eb91802690fe3f09192b263e070a19df4d629df29e265","608eb9d411ac76e93a10e05f8aae92b3a5cefc87594219b737df7c8737ba2bd7","cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a","3d7f9eb12aface876f7b535cc89dcd416daf77f0b3573333f16ec0a70bcf902a","93ba4ac36f570c70a12d588e21c10dda9f351fad3e77d416952acddb27bff01d","8750f9dc1e277ffff7446c95571bae61aca0984e8f99e40fc1e8cb7161ae0642","66408d81ba8962282b1a55da34c6bd767105141f54d0ba14dca330efe0c8f552","7481b9d93ca44eb1f689e0b939545ff00dead7bdb9daba401dfb74292d83f831","821e64ddbdfa10fac5f0aed1c1d4e1f275840400caa96357ddfd15d02e5afba1","1154651a6fbc1d60e448b903ec80f256f6771ced212ee1c3e5121168723621db","b0e5214ceeeb82c90f925ae53482d511c4ecabc47d74d49851f5d5d9257893aa","a7e430e32eaefba6b1ebf23a94a4562bfe7051cc83558d33ddc8ff342f3c18e9","2f495fcb913e89c0dace4a79e5bd7214c674ef8a391c8056a77a084eb3c882f9","3c71707988135662b344d59c4f92d2ea37b1f198149b762693db61e30bdaae9a","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","6ba73232c9d3267ca36ddb83e335d474d2c0e167481e3dec416c782894e11438"],"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":[[85,135,198,199,200],[135,198,199,200],[85,86,87,88,89,135,198,199,200],[85,87,135,198,199,200],[110,135,142,143,198,199,200],[102,135,142,198,199,200],[135,142,198,199,200],[135,147,148,149,150,151,152,153,154,155,156,157,158,198,199,200],[107,135,142,198,199,200],[134,135,142,163,198,199,200],[110,135,142,198,199,200],[135,166,198,199,200],[135,170,171,198,199,200],[135,168,169,170,198,199,200],[107,110,135,142,161,162,198,199,200],[135,144,162,163,174,198,199,200],[108,135,142,198,199,200],[107,108,135,142,177,198,199,200],[107,110,112,115,124,134,135,142,198,199,200],[135,182,198,199,200],[135,183,198,199,200],[135,188,193,198,199,200],[107,135,137,142,196,197,199,200],[135,198,199],[135,198,200],[135,198,199,200,202,204,205,206,207,208,209,210,211,212,213,214],[135,198,199,200,202,203,205,206,207,208,209,210,211,212,213,214],[135,198,199,200,203,204,205,206,207,208,209,210,211,212,213,214],[135,198,199,200,202,203,204,206,207,208,209,210,211,212,213,214],[135,198,199,200,202,203,204,205,207,208,209,210,211,212,213,214],[135,198,199,200,202,203,204,205,206,208,209,210,211,212,213,214],[135,198,199,200,202,203,204,205,206,207,209,210,211,212,213,214],[135,198,199,200,202,203,204,205,206,207,208,210,211,212,213,214],[135,198,199,200,202,203,204,205,206,207,208,209,211,212,213,214],[135,198,199,200,202,203,204,205,206,207,208,209,210,212,213,214],[135,198,199,200,202,203,204,205,206,207,208,209,210,211,213,214],[135,198,199,200,202,203,204,205,206,207,208,209,210,211,212,214],[135,198,199,200,202,203,204,205,206,207,208,209,210,211,212,213],[135,198,199,200,215],[135,142,198,199,200,222],[96,110,115,131,135,170,198,199,200,217,219,220,221],[110,134,135,142,198,199,200,225,226],[92,135,198,199,200],[95,135,198,199,200],[96,101,135,198,199,200],[97,107,108,115,124,134,135,198,199,200],[97,98,107,115,135,198,199,200],[99,135,198,199,200],[100,101,108,116,135,198,199,200],[101,124,131,135,198,199,200],[102,104,107,115,135,198,199,200],[103,135,198,199,200],[104,105,135,198,199,200],[106,107,135,198,199,200],[107,135,198,199,200],[107,108,109,124,134,135,198,199,200],[107,108,109,124,135,198,199,200],[110,115,124,134,135,198,199,200],[107,108,110,111,115,124,131,134,135,198,199,200],[110,112,124,131,134,135,198,199,200],[92,93,94,95,96,97,98,99,100,101,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,198,199,200],[107,113,135,198,199,200],[114,134,135,198,199,200],[104,107,115,124,135,198,199,200],[116,135,198,199,200],[117,135,198,199,200],[95,118,135,198,199,200],[119,133,135,139,198,199,200],[120,135,198,199,200],[121,135,198,199,200],[107,122,135,198,199,200],[122,123,135,137,198,199,200],[107,124,125,126,135,198,199,200],[124,126,135,198,199,200],[124,125,135,198,199,200],[127,135,198,199,200],[128,135,198,199,200],[107,129,130,135,198,199,200],[129,130,135,198,199,200],[101,115,124,131,135,198,199,200],[132,135,198,199,200],[115,133,135,198,199,200],[96,110,121,134,135,198,199,200],[101,135,198,199,200],[124,135,136,198,199,200],[135,137,198,199,200],[135,138,198,199,200],[96,101,107,109,118,124,134,135,137,139,198,199,200],[124,135,140,198,199,200],[135,195,198,199,200],[135,196,198,199,200],[134,135,142,198,199,200],[135,198,199,200,235],[108,135,175,198,199,200],[110,135,142,173,198,199,200],[135,198,199,200,241],[110,112,135,145,164,174,175,198,199,200,222,237,265,313,314],[135,142,198,199,200,246,247,248,249,250,251,252,253,254,255,256],[135,198,199,200,245,246,255],[135,198,199,200,246,255],[135,198,199,200,238,245,246,255],[135,198,199,200,245,246,247,248,249,250,251,252,253,254,256],[135,198,199,200,246],[101,135,198,199,200,245,255],[101,135,142,198,199,200,221,241,242,244,257],[135,198,199,200,317],[107,108,135,142,198,199,200,244],[110,124,135,142,198,199,200],[135,198,199,200,263],[135,198,199,200,261,262],[135,198,199,200,260,264],[110,115,134,135,142,175,181,198,199,200],[135,186,189,198,199,200],[135,186,189,190,191,198,199,200],[135,188,198,199,200],[135,185,192,198,199,200],[135,187,198,199,200],[135,198,199,200,219],[135,169,198,199,200,217,218],[135,169,198,199,200,219],[135,198,199,200,270,271,275,302,303,307,309,310],[135,198,199,200,268,269],[135,198,199,200,268],[135,198,199,200,270,310],[135,198,199,200,270,271,307,308,310],[135,198,199,200,310],[135,198,199,200,267,310,311],[135,198,199,200,270,271,309,310],[135,198,199,200,270,271,273,274,309,310],[135,198,199,200,270,271,272,309,310],[135,198,199,200,270,271,275,302,303,304,305,306,309,310],[135,198,199,200,267,270,271,275,307,309],[135,198,199,200,275,310],[135,198,199,200,277,278,279,280,281,282,283,284,285,286,310],[135,198,199,200,300,310],[135,198,199,200,276,287,295,296,297,298,299,301],[135,198,199,200,280,310],[135,198,199,200,288,289,290,291,292,293,294,310],[135,169,198,199,200,266,311],[135,169,198,199,200,312],[108,110,135,142,198,199,200,235,312],[110,115,131,135,198,199,200,217,219,220,221,234],[51,78,81,83,135,198,199,200],[51,78,79,80,135,198,199,200],[51,77,135,198,199,200],[51,78,82,135,198,199,200],[61,135,198,199,200],[61,74,135,198,199,200],[55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,135,198,199,200],[58,61,135,198,199,200],[60,61,135,198,199,200],[56,57,58,60,135,198,199,200],[60,135,198,199,200],[59,135,198,199,200],[52,135,198,199,200],[74,75,135,198,199,200],[52,53,54,76,135,198,199,200]],"referencedMap":[[87,1],[85,2],[90,3],[86,1],[88,4],[89,1],[91,2],[144,5],[145,6],[146,7],[147,2],[148,2],[149,2],[150,2],[151,2],[153,2],[159,8],[152,2],[157,2],[154,2],[155,2],[156,2],[158,2],[160,9],[164,10],[143,11],[165,2],[167,12],[172,13],[168,2],[171,14],[170,2],[163,15],[175,16],[176,17],[178,18],[179,17],[180,2],[181,19],[182,2],[183,20],[184,21],[194,22],[198,23],[200,24],[199,25],[169,2],[201,2],[203,26],[204,27],[202,28],[205,29],[206,30],[207,31],[208,32],[209,33],[210,34],[211,35],[212,36],[213,37],[214,38],[216,39],[173,2],[223,40],[222,41],[177,2],[224,2],[166,2],[82,2],[226,2],[227,42],[92,43],[93,43],[95,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[103,52],[104,53],[105,53],[106,54],[107,55],[108,56],[109,57],[94,2],[141,2],[110,58],[111,59],[112,60],[142,61],[113,62],[114,63],[115,64],[116,65],[117,66],[118,67],[119,68],[120,69],[121,70],[122,71],[123,72],[124,73],[126,74],[125,75],[127,76],[128,77],[129,78],[130,79],[131,80],[132,81],[133,82],[134,83],[135,84],[136,85],[137,86],[138,87],[139,88],[140,89],[228,2],[229,2],[196,90],[195,91],[230,2],[231,2],[162,2],[161,2],[232,2],[233,92],[236,93],[237,94],[174,95],[238,2],[239,2],[240,2],[197,2],[242,96],[215,2],[243,2],[315,97],[259,41],[257,98],[256,99],[247,100],[248,101],[255,102],[249,101],[250,100],[251,100],[252,100],[253,103],[246,104],[254,99],[245,2],[258,105],[316,2],[317,2],[318,106],[218,2],[244,2],[185,2],[314,107],[79,2],[225,108],[262,11],[264,109],[263,110],[261,11],[265,111],[260,112],[80,2],[186,2],[190,113],[192,114],[191,113],[189,115],[193,116],[188,117],[187,2],[220,118],[219,119],[217,120],[241,2],[221,2],[51,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],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[8,2],[45,2],[42,2],[43,2],[44,2],[46,2],[9,2],[47,2],[48,2],[49,2],[1,2],[10,2],[50,2],[267,2],[311,121],[268,2],[270,122],[269,123],[274,124],[309,125],[306,126],[308,127],[271,126],[272,128],[276,128],[275,129],[273,130],[307,131],[305,126],[310,132],[303,2],[304,2],[277,133],[282,126],[284,126],[279,126],[280,133],[286,126],[287,134],[278,126],[283,126],[285,126],[281,126],[301,135],[300,126],[302,136],[296,126],[298,126],[297,126],[293,126],[299,137],[294,126],[295,138],[288,126],[289,126],[290,126],[291,126],[292,126],[312,139],[266,140],[313,141],[234,2],[235,142],[84,143],[81,144],[78,145],[83,146],[55,2],[62,147],[63,147],[64,148],[65,147],[66,147],[67,147],[74,149],[68,147],[69,150],[70,151],[71,147],[72,147],[56,2],[57,2],[61,152],[58,2],[73,153],[60,154],[59,2],[53,155],[76,156],[77,157],[54,155],[75,155],[52,2]],"exportedModulesMap":[[87,1],[85,2],[90,3],[86,1],[88,4],[89,1],[91,2],[144,5],[145,6],[146,7],[147,2],[148,2],[149,2],[150,2],[151,2],[153,2],[159,8],[152,2],[157,2],[154,2],[155,2],[156,2],[158,2],[160,9],[164,10],[143,11],[165,2],[167,12],[172,13],[168,2],[171,14],[170,2],[163,15],[175,16],[176,17],[178,18],[179,17],[180,2],[181,19],[182,2],[183,20],[184,21],[194,22],[198,23],[200,24],[199,25],[169,2],[201,2],[203,26],[204,27],[202,28],[205,29],[206,30],[207,31],[208,32],[209,33],[210,34],[211,35],[212,36],[213,37],[214,38],[216,39],[173,2],[223,40],[222,41],[177,2],[224,2],[166,2],[82,2],[226,2],[227,42],[92,43],[93,43],[95,44],[96,45],[97,46],[98,47],[99,48],[100,49],[101,50],[102,51],[103,52],[104,53],[105,53],[106,54],[107,55],[108,56],[109,57],[94,2],[141,2],[110,58],[111,59],[112,60],[142,61],[113,62],[114,63],[115,64],[116,65],[117,66],[118,67],[119,68],[120,69],[121,70],[122,71],[123,72],[124,73],[126,74],[125,75],[127,76],[128,77],[129,78],[130,79],[131,80],[132,81],[133,82],[134,83],[135,84],[136,85],[137,86],[138,87],[139,88],[140,89],[228,2],[229,2],[196,90],[195,91],[230,2],[231,2],[162,2],[161,2],[232,2],[233,92],[236,93],[237,94],[174,95],[238,2],[239,2],[240,2],[197,2],[242,96],[215,2],[243,2],[315,97],[259,41],[257,98],[256,99],[247,100],[248,101],[255,102],[249,101],[250,100],[251,100],[252,100],[253,103],[246,104],[254,99],[245,2],[258,105],[316,2],[317,2],[318,106],[218,2],[244,2],[185,2],[314,107],[79,2],[225,108],[262,11],[264,109],[263,110],[261,11],[265,111],[260,112],[80,2],[186,2],[190,113],[192,114],[191,113],[189,115],[193,116],[188,117],[187,2],[220,118],[219,119],[217,120],[241,2],[221,2],[51,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],[33,2],[34,2],[35,2],[36,2],[7,2],[41,2],[37,2],[38,2],[39,2],[40,2],[8,2],[45,2],[42,2],[43,2],[44,2],[46,2],[9,2],[47,2],[48,2],[49,2],[1,2],[10,2],[50,2],[267,2],[311,121],[268,2],[270,122],[269,123],[274,124],[309,125],[306,126],[308,127],[271,126],[272,128],[276,128],[275,129],[273,130],[307,131],[305,126],[310,132],[303,2],[304,2],[277,133],[282,126],[284,126],[279,126],[280,133],[286,126],[287,134],[278,126],[283,126],[285,126],[281,126],[301,135],[300,126],[302,136],[296,126],[298,126],[297,126],[293,126],[299,137],[294,126],[295,138],[288,126],[289,126],[290,126],[291,126],[292,126],[312,139],[266,140],[313,141],[234,2],[235,142],[84,143],[81,144],[78,145],[83,146],[55,2],[62,147],[63,147],[64,148],[65,147],[66,147],[67,147],[74,149],[68,147],[69,150],[70,151],[71,147],[72,147],[56,2],[57,2],[61,152],[58,2],[73,153],[60,154],[59,2],[53,155],[76,156],[77,157],[54,155],[75,155],[52,2]],"semanticDiagnosticsPerFile":[87,85,90,86,88,89,91,144,145,146,147,148,149,150,151,153,159,152,157,154,155,156,158,160,164,143,165,167,172,168,171,170,163,175,176,178,179,180,181,182,183,184,194,198,200,199,169,201,203,204,202,205,206,207,208,209,210,211,212,213,214,216,173,223,222,177,224,166,82,226,227,92,93,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,94,141,110,111,112,142,113,114,115,116,117,118,119,120,121,122,123,124,126,125,127,128,129,130,131,132,133,134,135,136,137,138,139,140,228,229,196,195,230,231,162,161,232,233,236,237,174,238,239,240,197,242,215,243,315,259,257,256,247,248,255,249,250,251,252,253,246,254,245,258,316,317,318,218,244,185,314,79,225,262,264,263,261,265,260,80,186,190,192,191,189,193,188,187,220,219,217,241,221,51,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,33,34,35,36,7,41,37,38,39,40,8,45,42,43,44,46,9,47,48,49,1,10,50,267,311,268,270,269,274,309,306,308,271,272,276,275,273,307,305,310,303,304,277,282,284,279,280,286,287,278,283,285,281,301,300,302,296,298,297,293,299,294,295,288,289,290,291,292,312,266,313,234,235,84,81,78,83,55,62,63,64,65,66,67,74,68,69,70,71,72,56,57,61,58,73,60,59,53,76,77,54,75,52]},"version":"4.6.3"}