@asyncapi/react-component 2.2.5 → 2.3.1
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/browser/index.js +1 -1
- package/browser/standalone/index.js +1 -1
- package/lib/cjs/helpers/parser.js +45 -38
- package/lib/cjs/helpers/parser.js.map +1 -1
- package/lib/esm/helpers/parser.js +46 -39
- package/lib/esm/helpers/parser.js.map +1 -1
- package/lib/types/helpers/parser.d.ts +3 -1
- package/lib/types/helpers/parser.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -51,42 +51,20 @@ var Parser = (function () {
|
|
|
51
51
|
}
|
|
52
52
|
Parser.parse = function (content, parserOptions) {
|
|
53
53
|
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
-
var
|
|
55
|
-
return __generator(this, function (
|
|
56
|
-
switch (
|
|
54
|
+
var _a, document_1, diagnostics, err_1;
|
|
55
|
+
return __generator(this, function (_b) {
|
|
56
|
+
switch (_b.label) {
|
|
57
57
|
case 0:
|
|
58
|
-
|
|
58
|
+
_b.trys.push([0, 2, , 3]);
|
|
59
59
|
return [4, asyncapiParser.parse(content, parserOptions)];
|
|
60
60
|
case 1:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
validationErrors: [],
|
|
65
|
-
};
|
|
66
|
-
if (parseResult.document === undefined) {
|
|
67
|
-
parseResult.diagnostics.forEach(function (diagnostic) {
|
|
68
|
-
var _a;
|
|
69
|
-
if (diagnostic.severity == 0) {
|
|
70
|
-
var tempObj = {
|
|
71
|
-
title: diagnostic.message,
|
|
72
|
-
location: {
|
|
73
|
-
jsonPointer: '/' + diagnostic.path.join('/'),
|
|
74
|
-
startLine: diagnostic.range.start.line,
|
|
75
|
-
startColumn: diagnostic.range.start.character,
|
|
76
|
-
startOffset: 1,
|
|
77
|
-
endLine: diagnostic.range.end.line,
|
|
78
|
-
endColumn: diagnostic.range.end.character,
|
|
79
|
-
endOffset: 0,
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
(_a = error_1.validationErrors) === null || _a === void 0 ? void 0 : _a.push(tempObj);
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
throw error_1;
|
|
61
|
+
_a = _b.sent(), document_1 = _a.document, diagnostics = _a.diagnostics;
|
|
62
|
+
if (document_1 === undefined) {
|
|
63
|
+
throw this.convertDiagnosticToErrorObject(diagnostics, [0]);
|
|
86
64
|
}
|
|
87
|
-
return [2, { asyncapi:
|
|
65
|
+
return [2, { asyncapi: document_1 }];
|
|
88
66
|
case 2:
|
|
89
|
-
err_1 =
|
|
67
|
+
err_1 = _b.sent();
|
|
90
68
|
return [2, this.handleError(err_1)];
|
|
91
69
|
case 3: return [2];
|
|
92
70
|
}
|
|
@@ -95,24 +73,53 @@ var Parser = (function () {
|
|
|
95
73
|
};
|
|
96
74
|
Parser.parseFromUrl = function (arg, parserOptions) {
|
|
97
75
|
return __awaiter(this, void 0, void 0, function () {
|
|
98
|
-
var fromResult,
|
|
99
|
-
return __generator(this, function (
|
|
100
|
-
switch (
|
|
76
|
+
var fromResult, _a, document_2, diagnostics, err_2;
|
|
77
|
+
return __generator(this, function (_b) {
|
|
78
|
+
switch (_b.label) {
|
|
101
79
|
case 0:
|
|
102
|
-
|
|
80
|
+
_b.trys.push([0, 2, , 3]);
|
|
103
81
|
fromResult = (0, parser_1.fromURL)(asyncapiParser, arg.url, arg.requestOptions);
|
|
104
82
|
return [4, fromResult.parse(parserOptions)];
|
|
105
83
|
case 1:
|
|
106
|
-
|
|
107
|
-
|
|
84
|
+
_a = _b.sent(), document_2 = _a.document, diagnostics = _a.diagnostics;
|
|
85
|
+
if (document_2 == undefined) {
|
|
86
|
+
throw this.convertDiagnosticToErrorObject(diagnostics, [0]);
|
|
87
|
+
}
|
|
88
|
+
return [2, { asyncapi: document_2, error: undefined }];
|
|
108
89
|
case 2:
|
|
109
|
-
err_2 =
|
|
90
|
+
err_2 = _b.sent();
|
|
110
91
|
return [2, this.handleError(err_2)];
|
|
111
92
|
case 3: return [2];
|
|
112
93
|
}
|
|
113
94
|
});
|
|
114
95
|
});
|
|
115
96
|
};
|
|
97
|
+
Parser.convertDiagnosticToErrorObject = function (diagnostics, severities) {
|
|
98
|
+
var error = {
|
|
99
|
+
title: 'There are errors in your Asyncapi document',
|
|
100
|
+
type: 'VALIDATION_ERRORS_TYPE',
|
|
101
|
+
validationErrors: [],
|
|
102
|
+
};
|
|
103
|
+
diagnostics.forEach(function (diagnostic) {
|
|
104
|
+
var _a;
|
|
105
|
+
if (severities.includes(diagnostic.severity)) {
|
|
106
|
+
var tempObj = {
|
|
107
|
+
title: diagnostic.message,
|
|
108
|
+
location: {
|
|
109
|
+
jsonPointer: '/' + diagnostic.path.join('/'),
|
|
110
|
+
startLine: diagnostic.range.start.line,
|
|
111
|
+
startColumn: diagnostic.range.start.character,
|
|
112
|
+
startOffset: 1,
|
|
113
|
+
endLine: diagnostic.range.end.line,
|
|
114
|
+
endColumn: diagnostic.range.end.character,
|
|
115
|
+
endOffset: 0,
|
|
116
|
+
},
|
|
117
|
+
};
|
|
118
|
+
(_a = error.validationErrors) === null || _a === void 0 ? void 0 : _a.push(tempObj);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
return error;
|
|
122
|
+
};
|
|
116
123
|
Parser.handleError = function (err) {
|
|
117
124
|
if (err.type === constants_1.VALIDATION_ERRORS_TYPE) {
|
|
118
125
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/helpers/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/helpers/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Parser as AsyncapiParser,\n Diagnostic,\n DiagnosticSeverity,\n fromURL,\n} from '@asyncapi/parser';\nimport { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser';\nimport { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser';\nimport { AvroSchemaParser } from '@asyncapi/avro-schema-parser';\n\nimport {\n ErrorObject,\n ParserReturn,\n FetchingSchemaInterface,\n ValidationError,\n} from '../types';\n\nimport { VALIDATION_ERRORS_TYPE } from '../constants';\n\nconst asyncapiParser = new AsyncapiParser();\nasyncapiParser.registerSchemaParser(OpenAPISchemaParser());\nasyncapiParser.registerSchemaParser(AvroSchemaParser());\nasyncapiParser.registerSchemaParser(ProtoBuffSchemaParser());\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class Parser {\n static async parse(\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents, @typescript-eslint/no-explicit-any\n content: string | any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parserOptions?: any,\n ): Promise<ParserReturn> {\n try {\n const { document, diagnostics } = await asyncapiParser.parse(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n content,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n parserOptions,\n );\n\n if (document === undefined) {\n throw this.convertDiagnosticToErrorObject(diagnostics, [0]);\n }\n\n return { asyncapi: document };\n } catch (err) {\n return this.handleError(err as ErrorObject);\n }\n }\n\n static async parseFromUrl(\n arg: FetchingSchemaInterface,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parserOptions?: any,\n ): Promise<ParserReturn> {\n try {\n const fromResult = fromURL(\n asyncapiParser,\n arg.url,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n arg.requestOptions as any,\n );\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const { document, diagnostics } = await fromResult.parse(parserOptions);\n\n if (document == undefined) {\n // this means there are errors in the document.\n // so we gather all the severity 0 diagnostics and throw them as errors\n throw this.convertDiagnosticToErrorObject(diagnostics, [0]);\n }\n\n return { asyncapi: document, error: undefined };\n } catch (err) {\n return this.handleError(err as ErrorObject);\n }\n }\n\n static readonly convertDiagnosticToErrorObject = (\n diagnostics: Diagnostic[],\n severities: DiagnosticSeverity[],\n ): ErrorObject => {\n const error: ErrorObject = {\n title: 'There are errors in your Asyncapi document',\n type: 'VALIDATION_ERRORS_TYPE',\n validationErrors: [],\n };\n diagnostics.forEach((diagnostic) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison\n if (severities.includes(diagnostic.severity)) {\n const tempObj: ValidationError = {\n title: diagnostic.message,\n location: {\n jsonPointer: '/' + diagnostic.path.join('/'),\n startLine: diagnostic.range.start.line,\n startColumn: diagnostic.range.start.character,\n // as of @asyncapi/parser 3.3.0 offset of 1 correctly shows the error line\n startOffset: 1,\n endLine: diagnostic.range.end.line,\n endColumn: diagnostic.range.end.character,\n endOffset: 0,\n },\n };\n error.validationErrors?.push(tempObj);\n }\n });\n return error;\n };\n\n private static handleError = (err: ErrorObject): ParserReturn => {\n if (err.type === VALIDATION_ERRORS_TYPE) {\n return {\n error: err,\n };\n }\n return { error: err };\n };\n}\n"]}
|
|
@@ -34,7 +34,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
34
34
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
import { Parser as AsyncapiParser, fromURL } from '@asyncapi/parser';
|
|
37
|
+
import { Parser as AsyncapiParser, fromURL, } from '@asyncapi/parser';
|
|
38
38
|
import { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser';
|
|
39
39
|
import { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser';
|
|
40
40
|
import { AvroSchemaParser } from '@asyncapi/avro-schema-parser';
|
|
@@ -48,42 +48,20 @@ var Parser = (function () {
|
|
|
48
48
|
}
|
|
49
49
|
Parser.parse = function (content, parserOptions) {
|
|
50
50
|
return __awaiter(this, void 0, void 0, function () {
|
|
51
|
-
var
|
|
52
|
-
return __generator(this, function (
|
|
53
|
-
switch (
|
|
51
|
+
var _a, document_1, diagnostics, err_1;
|
|
52
|
+
return __generator(this, function (_b) {
|
|
53
|
+
switch (_b.label) {
|
|
54
54
|
case 0:
|
|
55
|
-
|
|
55
|
+
_b.trys.push([0, 2, , 3]);
|
|
56
56
|
return [4, asyncapiParser.parse(content, parserOptions)];
|
|
57
57
|
case 1:
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
validationErrors: [],
|
|
62
|
-
};
|
|
63
|
-
if (parseResult.document === undefined) {
|
|
64
|
-
parseResult.diagnostics.forEach(function (diagnostic) {
|
|
65
|
-
var _a;
|
|
66
|
-
if (diagnostic.severity == 0) {
|
|
67
|
-
var tempObj = {
|
|
68
|
-
title: diagnostic.message,
|
|
69
|
-
location: {
|
|
70
|
-
jsonPointer: '/' + diagnostic.path.join('/'),
|
|
71
|
-
startLine: diagnostic.range.start.line,
|
|
72
|
-
startColumn: diagnostic.range.start.character,
|
|
73
|
-
startOffset: 1,
|
|
74
|
-
endLine: diagnostic.range.end.line,
|
|
75
|
-
endColumn: diagnostic.range.end.character,
|
|
76
|
-
endOffset: 0,
|
|
77
|
-
},
|
|
78
|
-
};
|
|
79
|
-
(_a = error_1.validationErrors) === null || _a === void 0 ? void 0 : _a.push(tempObj);
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
throw error_1;
|
|
58
|
+
_a = _b.sent(), document_1 = _a.document, diagnostics = _a.diagnostics;
|
|
59
|
+
if (document_1 === undefined) {
|
|
60
|
+
throw this.convertDiagnosticToErrorObject(diagnostics, [0]);
|
|
83
61
|
}
|
|
84
|
-
return [2, { asyncapi:
|
|
62
|
+
return [2, { asyncapi: document_1 }];
|
|
85
63
|
case 2:
|
|
86
|
-
err_1 =
|
|
64
|
+
err_1 = _b.sent();
|
|
87
65
|
return [2, this.handleError(err_1)];
|
|
88
66
|
case 3: return [2];
|
|
89
67
|
}
|
|
@@ -92,24 +70,53 @@ var Parser = (function () {
|
|
|
92
70
|
};
|
|
93
71
|
Parser.parseFromUrl = function (arg, parserOptions) {
|
|
94
72
|
return __awaiter(this, void 0, void 0, function () {
|
|
95
|
-
var fromResult,
|
|
96
|
-
return __generator(this, function (
|
|
97
|
-
switch (
|
|
73
|
+
var fromResult, _a, document_2, diagnostics, err_2;
|
|
74
|
+
return __generator(this, function (_b) {
|
|
75
|
+
switch (_b.label) {
|
|
98
76
|
case 0:
|
|
99
|
-
|
|
77
|
+
_b.trys.push([0, 2, , 3]);
|
|
100
78
|
fromResult = fromURL(asyncapiParser, arg.url, arg.requestOptions);
|
|
101
79
|
return [4, fromResult.parse(parserOptions)];
|
|
102
80
|
case 1:
|
|
103
|
-
|
|
104
|
-
|
|
81
|
+
_a = _b.sent(), document_2 = _a.document, diagnostics = _a.diagnostics;
|
|
82
|
+
if (document_2 == undefined) {
|
|
83
|
+
throw this.convertDiagnosticToErrorObject(diagnostics, [0]);
|
|
84
|
+
}
|
|
85
|
+
return [2, { asyncapi: document_2, error: undefined }];
|
|
105
86
|
case 2:
|
|
106
|
-
err_2 =
|
|
87
|
+
err_2 = _b.sent();
|
|
107
88
|
return [2, this.handleError(err_2)];
|
|
108
89
|
case 3: return [2];
|
|
109
90
|
}
|
|
110
91
|
});
|
|
111
92
|
});
|
|
112
93
|
};
|
|
94
|
+
Parser.convertDiagnosticToErrorObject = function (diagnostics, severities) {
|
|
95
|
+
var error = {
|
|
96
|
+
title: 'There are errors in your Asyncapi document',
|
|
97
|
+
type: 'VALIDATION_ERRORS_TYPE',
|
|
98
|
+
validationErrors: [],
|
|
99
|
+
};
|
|
100
|
+
diagnostics.forEach(function (diagnostic) {
|
|
101
|
+
var _a;
|
|
102
|
+
if (severities.includes(diagnostic.severity)) {
|
|
103
|
+
var tempObj = {
|
|
104
|
+
title: diagnostic.message,
|
|
105
|
+
location: {
|
|
106
|
+
jsonPointer: '/' + diagnostic.path.join('/'),
|
|
107
|
+
startLine: diagnostic.range.start.line,
|
|
108
|
+
startColumn: diagnostic.range.start.character,
|
|
109
|
+
startOffset: 1,
|
|
110
|
+
endLine: diagnostic.range.end.line,
|
|
111
|
+
endColumn: diagnostic.range.end.character,
|
|
112
|
+
endOffset: 0,
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
(_a = error.validationErrors) === null || _a === void 0 ? void 0 : _a.push(tempObj);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
return error;
|
|
119
|
+
};
|
|
113
120
|
Parser.handleError = function (err) {
|
|
114
121
|
if (err.type === VALIDATION_ERRORS_TYPE) {
|
|
115
122
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/helpers/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/helpers/parser.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Parser as AsyncapiParser,\n Diagnostic,\n DiagnosticSeverity,\n fromURL,\n} from '@asyncapi/parser';\nimport { OpenAPISchemaParser } from '@asyncapi/openapi-schema-parser';\nimport { ProtoBuffSchemaParser } from '@asyncapi/protobuf-schema-parser';\nimport { AvroSchemaParser } from '@asyncapi/avro-schema-parser';\n\nimport {\n ErrorObject,\n ParserReturn,\n FetchingSchemaInterface,\n ValidationError,\n} from '../types';\n\nimport { VALIDATION_ERRORS_TYPE } from '../constants';\n\nconst asyncapiParser = new AsyncapiParser();\nasyncapiParser.registerSchemaParser(OpenAPISchemaParser());\nasyncapiParser.registerSchemaParser(AvroSchemaParser());\nasyncapiParser.registerSchemaParser(ProtoBuffSchemaParser());\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class Parser {\n static async parse(\n // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents, @typescript-eslint/no-explicit-any\n content: string | any,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parserOptions?: any,\n ): Promise<ParserReturn> {\n try {\n const { document, diagnostics } = await asyncapiParser.parse(\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n content,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n parserOptions,\n );\n\n if (document === undefined) {\n throw this.convertDiagnosticToErrorObject(diagnostics, [0]);\n }\n\n return { asyncapi: document };\n } catch (err) {\n return this.handleError(err as ErrorObject);\n }\n }\n\n static async parseFromUrl(\n arg: FetchingSchemaInterface,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parserOptions?: any,\n ): Promise<ParserReturn> {\n try {\n const fromResult = fromURL(\n asyncapiParser,\n arg.url,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n arg.requestOptions as any,\n );\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const { document, diagnostics } = await fromResult.parse(parserOptions);\n\n if (document == undefined) {\n // this means there are errors in the document.\n // so we gather all the severity 0 diagnostics and throw them as errors\n throw this.convertDiagnosticToErrorObject(diagnostics, [0]);\n }\n\n return { asyncapi: document, error: undefined };\n } catch (err) {\n return this.handleError(err as ErrorObject);\n }\n }\n\n static readonly convertDiagnosticToErrorObject = (\n diagnostics: Diagnostic[],\n severities: DiagnosticSeverity[],\n ): ErrorObject => {\n const error: ErrorObject = {\n title: 'There are errors in your Asyncapi document',\n type: 'VALIDATION_ERRORS_TYPE',\n validationErrors: [],\n };\n diagnostics.forEach((diagnostic) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison\n if (severities.includes(diagnostic.severity)) {\n const tempObj: ValidationError = {\n title: diagnostic.message,\n location: {\n jsonPointer: '/' + diagnostic.path.join('/'),\n startLine: diagnostic.range.start.line,\n startColumn: diagnostic.range.start.character,\n // as of @asyncapi/parser 3.3.0 offset of 1 correctly shows the error line\n startOffset: 1,\n endLine: diagnostic.range.end.line,\n endColumn: diagnostic.range.end.character,\n endOffset: 0,\n },\n };\n error.validationErrors?.push(tempObj);\n }\n });\n return error;\n };\n\n private static handleError = (err: ErrorObject): ParserReturn => {\n if (err.type === VALIDATION_ERRORS_TYPE) {\n return {\n error: err,\n };\n }\n return { error: err };\n };\n}\n"]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Diagnostic, DiagnosticSeverity } from '@asyncapi/parser';
|
|
2
|
+
import { ErrorObject, ParserReturn, FetchingSchemaInterface } from '../types';
|
|
2
3
|
export declare class Parser {
|
|
3
4
|
static parse(content: string | any, parserOptions?: any): Promise<ParserReturn>;
|
|
4
5
|
static parseFromUrl(arg: FetchingSchemaInterface, parserOptions?: any): Promise<ParserReturn>;
|
|
6
|
+
static readonly convertDiagnosticToErrorObject: (diagnostics: Diagnostic[], severities: DiagnosticSeverity[]) => ErrorObject;
|
|
5
7
|
private static handleError;
|
|
6
8
|
}
|
|
7
9
|
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/helpers/parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/helpers/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,uBAAuB,EAExB,MAAM,UAAU,CAAC;AAUlB,qBAAa,MAAM;WACJ,KAAK,CAEhB,OAAO,EAAE,MAAM,GAAG,GAAG,EAErB,aAAa,CAAC,EAAE,GAAG,GAClB,OAAO,CAAC,YAAY,CAAC;WAmBX,YAAY,CACvB,GAAG,EAAE,uBAAuB,EAE5B,aAAa,CAAC,EAAE,GAAG,GAClB,OAAO,CAAC,YAAY,CAAC;IAuBxB,MAAM,CAAC,QAAQ,CAAC,8BAA8B,gBAC/B,UAAU,EAAE,cACb,kBAAkB,EAAE,KAC/B,WAAW,CA0BZ;IAEF,OAAO,CAAC,MAAM,CAAC,WAAW,CAOxB;CACH"}
|