@redocly/cli 1.0.0-beta.100 → 1.0.0-beta.101
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__mocks__/utils.d.ts +1 -0
- package/lib/__mocks__/utils.js +2 -1
- package/lib/__tests__/commands/join.test.d.ts +1 -0
- package/lib/__tests__/commands/join.test.js +41 -0
- package/lib/commands/join.d.ts +5 -2
- package/lib/commands/join.js +82 -40
- package/lib/index.js +4 -0
- package/package.json +2 -2
- package/src/__mocks__/utils.ts +1 -0
- package/src/__tests__/commands/join.test.ts +47 -0
- package/src/commands/join.ts +156 -64
- package/src/index.ts +4 -0
- package/tsconfig.tsbuildinfo +1 -1
package/lib/__mocks__/utils.d.ts
CHANGED
package/lib/__mocks__/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.handleError = exports.getOutputFileName = exports.printLintTotals = exports.printUnusedWarnings = exports.printExecutionTime = exports.getExecutionTime = exports.pluralize = exports.slash = exports.dumpBundle = exports.getTotals = exports.getFallbackEntryPointsOrExit = void 0;
|
|
3
|
+
exports.exitWithError = exports.handleError = exports.getOutputFileName = exports.printLintTotals = exports.printUnusedWarnings = exports.printExecutionTime = exports.getExecutionTime = exports.pluralize = exports.slash = exports.dumpBundle = exports.getTotals = exports.getFallbackEntryPointsOrExit = void 0;
|
|
4
4
|
exports.getFallbackEntryPointsOrExit = jest.fn((entrypoints) => entrypoints.map(() => ({ path: '' })));
|
|
5
5
|
exports.getTotals = jest.fn(() => ({ errors: 0 }));
|
|
6
6
|
exports.dumpBundle = jest.fn(() => '');
|
|
@@ -12,3 +12,4 @@ exports.printUnusedWarnings = jest.fn();
|
|
|
12
12
|
exports.printLintTotals = jest.fn();
|
|
13
13
|
exports.getOutputFileName = jest.fn(() => ({ outputFile: 'test.yaml', ext: 'yaml' }));
|
|
14
14
|
exports.handleError = jest.fn();
|
|
15
|
+
exports.exitWithError = jest.fn();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const join_1 = require("../../commands/join");
|
|
13
|
+
const utils_1 = require("../../utils");
|
|
14
|
+
const colorette_1 = require("colorette");
|
|
15
|
+
jest.mock('../../utils');
|
|
16
|
+
jest.mock('colorette');
|
|
17
|
+
describe('handleJoin fails', () => {
|
|
18
|
+
const colloreteYellowMock = colorette_1.yellow;
|
|
19
|
+
colloreteYellowMock.mockImplementation((string) => string);
|
|
20
|
+
it('should call exitWithError because only one entrypoint', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
yield join_1.handleJoin({ entrypoints: ['first.yaml'] }, 'cli-version');
|
|
22
|
+
expect(utils_1.exitWithError).toHaveBeenCalledWith(`At least 2 entrypoints should be provided. \n\n`);
|
|
23
|
+
}));
|
|
24
|
+
it('should call exitWithError because passed all 3 options for tags', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
yield join_1.handleJoin({
|
|
26
|
+
entrypoints: ['first.yaml', 'second.yaml'],
|
|
27
|
+
'prefix-tags-with-info-prop': 'something',
|
|
28
|
+
'without-x-tag-groups': true,
|
|
29
|
+
'prefix-tags-with-filename': true,
|
|
30
|
+
}, 'cli-version');
|
|
31
|
+
expect(utils_1.exitWithError).toHaveBeenCalledWith(`You use prefix-tags-with-filename, prefix-tags-with-info-prop, without-x-tag-groups together.\nPlease choose only one! \n\n`);
|
|
32
|
+
}));
|
|
33
|
+
it('should call exitWithError because passed all 2 options for tags', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
+
yield join_1.handleJoin({
|
|
35
|
+
entrypoints: ['first.yaml', 'second.yaml'],
|
|
36
|
+
'without-x-tag-groups': true,
|
|
37
|
+
'prefix-tags-with-filename': true,
|
|
38
|
+
}, 'cli-version');
|
|
39
|
+
expect(utils_1.exitWithError).toHaveBeenCalledWith(`You use prefix-tags-with-filename, without-x-tag-groups together.\nPlease choose only one! \n\n`);
|
|
40
|
+
}));
|
|
41
|
+
});
|
package/lib/commands/join.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
declare type JoinArgv = {
|
|
2
2
|
entrypoints: string[];
|
|
3
3
|
lint?: boolean;
|
|
4
4
|
'prefix-tags-with-info-prop'?: string;
|
|
5
5
|
'prefix-tags-with-filename'?: boolean;
|
|
6
6
|
'prefix-components-with-info-prop'?: string;
|
|
7
|
-
|
|
7
|
+
'without-x-tag-groups'?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function handleJoin(argv: JoinArgv, packageVersion: string): Promise<void>;
|
|
10
|
+
export {};
|
package/lib/commands/join.js
CHANGED
|
@@ -12,12 +12,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.handleJoin = void 0;
|
|
13
13
|
const path = require("path");
|
|
14
14
|
const colorette_1 = require("colorette");
|
|
15
|
+
const outdent_1 = require("outdent");
|
|
15
16
|
const perf_hooks_1 = require("perf_hooks");
|
|
16
17
|
const isEqual = require('lodash.isequal');
|
|
17
18
|
const openapi_core_1 = require("@redocly/openapi-core");
|
|
18
19
|
const utils_1 = require("../utils");
|
|
19
20
|
const js_utils_1 = require("../js-utils");
|
|
20
21
|
const COMPONENTS = 'components';
|
|
22
|
+
const Tags = 'tags';
|
|
23
|
+
const xTagGroups = 'x-tagGroups';
|
|
21
24
|
let potentialConflictsTotal = 0;
|
|
22
25
|
function handleJoin(argv, packageVersion) {
|
|
23
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -25,6 +28,15 @@ function handleJoin(argv, packageVersion) {
|
|
|
25
28
|
if (argv.entrypoints.length < 2) {
|
|
26
29
|
return utils_1.exitWithError(`At least 2 entrypoints should be provided. \n\n`);
|
|
27
30
|
}
|
|
31
|
+
const { 'prefix-components-with-info-prop': prefixComponentsWithInfoProp, 'prefix-tags-with-filename': prefixTagsWithFilename, 'prefix-tags-with-info-prop': prefixTagsWithInfoProp, 'without-x-tag-groups': withoutXTagGroups, } = argv;
|
|
32
|
+
const usedTagsOptions = [
|
|
33
|
+
prefixTagsWithFilename && 'prefix-tags-with-filename',
|
|
34
|
+
prefixTagsWithInfoProp && 'prefix-tags-with-info-prop',
|
|
35
|
+
withoutXTagGroups && 'without-x-tag-groups',
|
|
36
|
+
].filter(Boolean);
|
|
37
|
+
if (usedTagsOptions.length > 1) {
|
|
38
|
+
return utils_1.exitWithError(`You use ${colorette_1.yellow(usedTagsOptions.join(', '))} together.\nPlease choose only one! \n\n`);
|
|
39
|
+
}
|
|
28
40
|
const config = yield openapi_core_1.loadConfig();
|
|
29
41
|
const entrypoints = yield utils_1.getFallbackEntryPointsOrExit(argv.entrypoints, config);
|
|
30
42
|
const externalRefResolver = new openapi_core_1.BaseResolver(config.resolve);
|
|
@@ -67,14 +79,8 @@ function handleJoin(argv, packageVersion) {
|
|
|
67
79
|
tags: {},
|
|
68
80
|
paths: {},
|
|
69
81
|
components: {},
|
|
70
|
-
xWebhooks: {}
|
|
82
|
+
xWebhooks: {},
|
|
71
83
|
};
|
|
72
|
-
const prefixComponentsWithInfoProp = argv['prefix-components-with-info-prop'];
|
|
73
|
-
const prefixTagsWithFilename = argv['prefix-tags-with-filename'];
|
|
74
|
-
const prefixTagsWithInfoProp = argv['prefix-tags-with-info-prop'];
|
|
75
|
-
if (prefixTagsWithFilename && prefixTagsWithInfoProp) {
|
|
76
|
-
return utils_1.exitWithError(`You used ${colorette_1.yellow('prefix-tags-with-filename')} and ${colorette_1.yellow('prefix-tags-with-info-prop')} that do not go together.\nPlease choose only one! \n\n`);
|
|
77
|
-
}
|
|
78
84
|
addInfoSectionAndSpecVersion(documents, prefixComponentsWithInfoProp);
|
|
79
85
|
for (const document of documents) {
|
|
80
86
|
const openapi = document.parsed;
|
|
@@ -100,52 +106,78 @@ function handleJoin(argv, packageVersion) {
|
|
|
100
106
|
replace$Refs(openapi, componentsPrefix);
|
|
101
107
|
}
|
|
102
108
|
}
|
|
103
|
-
iteratePotentialConflicts(potentialConflicts);
|
|
109
|
+
iteratePotentialConflicts(potentialConflicts, withoutXTagGroups);
|
|
104
110
|
const specFilename = 'openapi.yaml';
|
|
105
111
|
const noRefs = true;
|
|
106
|
-
if (
|
|
107
|
-
utils_1.
|
|
112
|
+
if (potentialConflictsTotal) {
|
|
113
|
+
return utils_1.exitWithError(`Please fix conflicts before running ${colorette_1.yellow('join')}.`);
|
|
108
114
|
}
|
|
115
|
+
utils_1.writeYaml(joinedDef, specFilename, noRefs);
|
|
109
116
|
utils_1.printExecutionTime('join', startedAt, specFilename);
|
|
110
|
-
function populateTags({ entrypoint, entrypointFilename, tags, potentialConflicts, tagsPrefix, componentsPrefix }) {
|
|
111
|
-
const xTagGroups = 'x-tagGroups';
|
|
112
|
-
const Tags = 'tags';
|
|
117
|
+
function populateTags({ entrypoint, entrypointFilename, tags, potentialConflicts, tagsPrefix, componentsPrefix, }) {
|
|
113
118
|
if (!joinedDef.hasOwnProperty(Tags)) {
|
|
114
119
|
joinedDef[Tags] = [];
|
|
115
120
|
}
|
|
116
|
-
if (!joinedDef.hasOwnProperty(xTagGroups)) {
|
|
117
|
-
joinedDef[xTagGroups] = [];
|
|
118
|
-
}
|
|
119
121
|
if (!potentialConflicts.tags.hasOwnProperty('all')) {
|
|
120
122
|
potentialConflicts.tags['all'] = {};
|
|
121
123
|
}
|
|
122
|
-
if (!
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
const indexGroup = joinedDef[xTagGroups].findIndex((item) => item.name === entrypointFilename);
|
|
126
|
-
if (!joinedDef[xTagGroups][indexGroup].hasOwnProperty(Tags)) {
|
|
127
|
-
joinedDef[xTagGroups][indexGroup][Tags] = [];
|
|
124
|
+
if (withoutXTagGroups && !potentialConflicts.tags.hasOwnProperty('description')) {
|
|
125
|
+
potentialConflicts.tags['description'] = {};
|
|
128
126
|
}
|
|
129
127
|
for (const tag of tags) {
|
|
130
128
|
const entrypointTagName = addPrefix(tag.name, tagsPrefix);
|
|
131
129
|
if (tag.description) {
|
|
132
130
|
tag.description = addComponentsPrefix(tag.description, componentsPrefix);
|
|
133
131
|
}
|
|
134
|
-
|
|
132
|
+
const tagDuplicate = joinedDef.tags.find((t) => t.name === entrypointTagName);
|
|
133
|
+
if (tagDuplicate && withoutXTagGroups) {
|
|
134
|
+
// If tag already exist and `without-x-tag-groups` option;
|
|
135
|
+
// check if description are different for potential conflicts warning;
|
|
136
|
+
const isTagDescriptionNotEqual = tag.hasOwnProperty('description') && tagDuplicate.description !== tag.description;
|
|
137
|
+
potentialConflicts.tags.description[entrypointTagName].push(...(isTagDescriptionNotEqual ? [entrypoint] : []));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
// Instead add tag to joinedDef;
|
|
135
141
|
tag['x-displayName'] = tag['x-displayName'] || tag.name;
|
|
136
142
|
tag.name = entrypointTagName;
|
|
137
143
|
joinedDef.tags.push(tag);
|
|
144
|
+
if (withoutXTagGroups) {
|
|
145
|
+
potentialConflicts.tags.description[entrypointTagName] = [entrypoint];
|
|
146
|
+
}
|
|
138
147
|
}
|
|
139
|
-
if (!
|
|
140
|
-
|
|
148
|
+
if (!withoutXTagGroups) {
|
|
149
|
+
createXTagGroups(entrypointFilename);
|
|
150
|
+
populateXTagGroups(entrypointTagName, getIndexGroup(entrypointFilename));
|
|
141
151
|
}
|
|
142
|
-
const doesEntrypointExist = !potentialConflicts.tags.all[entrypointTagName] ||
|
|
143
|
-
|
|
152
|
+
const doesEntrypointExist = !potentialConflicts.tags.all[entrypointTagName] ||
|
|
153
|
+
(potentialConflicts.tags.all[entrypointTagName] &&
|
|
154
|
+
!potentialConflicts.tags.all[entrypointTagName].includes(entrypoint));
|
|
144
155
|
potentialConflicts.tags.all[entrypointTagName] = [
|
|
145
|
-
...(potentialConflicts.tags.all[entrypointTagName] || []),
|
|
156
|
+
...(potentialConflicts.tags.all[entrypointTagName] || []),
|
|
157
|
+
...(!withoutXTagGroups && doesEntrypointExist ? [entrypoint] : []),
|
|
146
158
|
];
|
|
147
159
|
}
|
|
148
160
|
}
|
|
161
|
+
function getIndexGroup(entrypointFilename) {
|
|
162
|
+
return joinedDef[xTagGroups].findIndex((item) => item.name === entrypointFilename);
|
|
163
|
+
}
|
|
164
|
+
function createXTagGroups(entrypointFilename) {
|
|
165
|
+
if (!joinedDef.hasOwnProperty(xTagGroups)) {
|
|
166
|
+
joinedDef[xTagGroups] = [];
|
|
167
|
+
}
|
|
168
|
+
if (!joinedDef[xTagGroups].some((g) => g.name === entrypointFilename)) {
|
|
169
|
+
joinedDef[xTagGroups].push({ name: entrypointFilename, tags: [] });
|
|
170
|
+
}
|
|
171
|
+
const indexGroup = getIndexGroup(entrypointFilename);
|
|
172
|
+
if (!joinedDef[xTagGroups][indexGroup].hasOwnProperty(Tags)) {
|
|
173
|
+
joinedDef[xTagGroups][indexGroup][Tags] = [];
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function populateXTagGroups(entrypointTagName, indexGroup) {
|
|
177
|
+
if (!joinedDef[xTagGroups][indexGroup][Tags].find((t) => t.name === entrypointTagName)) {
|
|
178
|
+
joinedDef[xTagGroups][indexGroup][Tags].push(entrypointTagName);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
149
181
|
function collectServers(openapi) {
|
|
150
182
|
const { servers } = openapi;
|
|
151
183
|
if (servers) {
|
|
@@ -162,8 +194,7 @@ function handleJoin(argv, packageVersion) {
|
|
|
162
194
|
function collectInfoDescriptions(openapi, { entrypointFilename, componentsPrefix }) {
|
|
163
195
|
const { info } = openapi;
|
|
164
196
|
if (info === null || info === void 0 ? void 0 : info.description) {
|
|
165
|
-
const
|
|
166
|
-
const groupIndex = joinedDef[xTagGroups] ? joinedDef[xTagGroups].findIndex((item) => item.name === entrypointFilename) : -1;
|
|
197
|
+
const groupIndex = joinedDef[xTagGroups] ? getIndexGroup(entrypointFilename) : -1;
|
|
167
198
|
if (joinedDef.hasOwnProperty(xTagGroups) &&
|
|
168
199
|
groupIndex !== -1 &&
|
|
169
200
|
joinedDef[xTagGroups][groupIndex]['tags'] &&
|
|
@@ -306,7 +337,7 @@ function validateComponentsDifference(files) {
|
|
|
306
337
|
}
|
|
307
338
|
return isDiffer;
|
|
308
339
|
}
|
|
309
|
-
function iteratePotentialConflicts(potentialConflicts) {
|
|
340
|
+
function iteratePotentialConflicts(potentialConflicts, withoutXTagGroups) {
|
|
310
341
|
for (const group of Object.keys(potentialConflicts)) {
|
|
311
342
|
for (const [key, value] of Object.entries(potentialConflicts[group])) {
|
|
312
343
|
const conflicts = filterConflicts(value);
|
|
@@ -321,20 +352,31 @@ function iteratePotentialConflicts(potentialConflicts) {
|
|
|
321
352
|
}
|
|
322
353
|
}
|
|
323
354
|
else {
|
|
324
|
-
|
|
325
|
-
|
|
355
|
+
if (withoutXTagGroups && group === 'tags') {
|
|
356
|
+
duplicateTagDescriptionWarning(conflicts);
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
potentialConflictsTotal += conflicts.length;
|
|
360
|
+
showConflicts(colorette_1.green(group) + ' => ' + key, conflicts);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
if (group === 'tags' && !withoutXTagGroups) {
|
|
364
|
+
prefixTagSuggestion(conflicts.length);
|
|
326
365
|
}
|
|
327
|
-
prefixTagSuggestion(group, conflicts.length);
|
|
328
366
|
}
|
|
329
367
|
}
|
|
330
368
|
}
|
|
331
369
|
}
|
|
332
|
-
function
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
${
|
|
336
|
-
|
|
337
|
-
|
|
370
|
+
function duplicateTagDescriptionWarning(conflicts) {
|
|
371
|
+
const tagsKeys = conflicts.map(([tagName]) => `\`${tagName}\``);
|
|
372
|
+
const joinString = colorette_1.yellow(', ');
|
|
373
|
+
process.stderr.write(colorette_1.yellow(`\nwarning: ${tagsKeys.length} conflict(s) on the ${colorette_1.red(tagsKeys.join(joinString))} tags description.\n`));
|
|
374
|
+
}
|
|
375
|
+
function prefixTagSuggestion(conflictsLength) {
|
|
376
|
+
process.stderr.write(colorette_1.green(outdent_1.outdent `\n
|
|
377
|
+
${conflictsLength} conflict(s) on tags.
|
|
378
|
+
Suggestion: please use ${colorette_1.blue('prefix-tags-with-filename')}, ${colorette_1.blue('prefix-tags-with-info-prop')} or ${colorette_1.blue('without-x-tag-groups')} to prevent naming conflicts.\n\n
|
|
379
|
+
`));
|
|
338
380
|
}
|
|
339
381
|
function showConflicts(key, conflicts) {
|
|
340
382
|
for (const [path, files] of conflicts) {
|
package/lib/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/cli",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.101",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"Andriy Leliv <andriy@redoc.ly> (https://redoc.ly/)"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@redocly/openapi-core": "1.0.0-beta.
|
|
38
|
+
"@redocly/openapi-core": "1.0.0-beta.101",
|
|
39
39
|
"assert-node-version": "^1.0.3",
|
|
40
40
|
"chokidar": "^3.5.1",
|
|
41
41
|
"colorette": "^1.2.0",
|
package/src/__mocks__/utils.ts
CHANGED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { handleJoin } from '../../commands/join';
|
|
2
|
+
import { exitWithError } from '../../utils';
|
|
3
|
+
import { yellow } from 'colorette';
|
|
4
|
+
|
|
5
|
+
jest.mock('../../utils');
|
|
6
|
+
jest.mock('colorette');
|
|
7
|
+
|
|
8
|
+
describe('handleJoin fails', () => {
|
|
9
|
+
const colloreteYellowMock = yellow as jest.Mock<any, any>;
|
|
10
|
+
colloreteYellowMock.mockImplementation((string: string) => string);
|
|
11
|
+
|
|
12
|
+
it('should call exitWithError because only one entrypoint', async () => {
|
|
13
|
+
await handleJoin({ entrypoints: ['first.yaml'] }, 'cli-version');
|
|
14
|
+
expect(exitWithError).toHaveBeenCalledWith(`At least 2 entrypoints should be provided. \n\n`);
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
it('should call exitWithError because passed all 3 options for tags', async () => {
|
|
18
|
+
await handleJoin(
|
|
19
|
+
{
|
|
20
|
+
entrypoints: ['first.yaml', 'second.yaml'],
|
|
21
|
+
'prefix-tags-with-info-prop': 'something',
|
|
22
|
+
'without-x-tag-groups': true,
|
|
23
|
+
'prefix-tags-with-filename': true,
|
|
24
|
+
},
|
|
25
|
+
'cli-version',
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
expect(exitWithError).toHaveBeenCalledWith(
|
|
29
|
+
`You use prefix-tags-with-filename, prefix-tags-with-info-prop, without-x-tag-groups together.\nPlease choose only one! \n\n`,
|
|
30
|
+
);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('should call exitWithError because passed all 2 options for tags', async () => {
|
|
34
|
+
await handleJoin(
|
|
35
|
+
{
|
|
36
|
+
entrypoints: ['first.yaml', 'second.yaml'],
|
|
37
|
+
'without-x-tag-groups': true,
|
|
38
|
+
'prefix-tags-with-filename': true,
|
|
39
|
+
},
|
|
40
|
+
'cli-version',
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
expect(exitWithError).toHaveBeenCalledWith(
|
|
44
|
+
`You use prefix-tags-with-filename, without-x-tag-groups together.\nPlease choose only one! \n\n`,
|
|
45
|
+
);
|
|
46
|
+
});
|
|
47
|
+
});
|
package/src/commands/join.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
2
|
import { red, blue, yellow, green } from 'colorette';
|
|
3
|
+
import { outdent } from 'outdent';
|
|
3
4
|
import { performance } from 'perf_hooks';
|
|
4
5
|
const isEqual = require('lodash.isequal');
|
|
5
6
|
import {
|
|
@@ -29,29 +30,54 @@ import {
|
|
|
29
30
|
import { isObject, isString } from '../js-utils';
|
|
30
31
|
|
|
31
32
|
const COMPONENTS = 'components';
|
|
33
|
+
const Tags = 'tags';
|
|
34
|
+
const xTagGroups = 'x-tagGroups';
|
|
32
35
|
let potentialConflictsTotal = 0;
|
|
33
36
|
|
|
34
37
|
type JoinDocumentContext = {
|
|
35
|
-
entrypoint: string
|
|
36
|
-
entrypointFilename: string
|
|
37
|
-
tags: Oas3Tag[]
|
|
38
|
-
potentialConflicts: any
|
|
39
|
-
tagsPrefix: string
|
|
40
|
-
componentsPrefix: string | undefined
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
entrypoints: string[]
|
|
45
|
-
lint?: boolean
|
|
46
|
-
'prefix-tags-with-info-prop'?: string
|
|
47
|
-
'prefix-tags-with-filename'?: boolean
|
|
48
|
-
'prefix-components-with-info-prop'?: string
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
38
|
+
entrypoint: string;
|
|
39
|
+
entrypointFilename: string;
|
|
40
|
+
tags: Oas3Tag[];
|
|
41
|
+
potentialConflicts: any;
|
|
42
|
+
tagsPrefix: string;
|
|
43
|
+
componentsPrefix: string | undefined;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
type JoinArgv = {
|
|
47
|
+
entrypoints: string[];
|
|
48
|
+
lint?: boolean;
|
|
49
|
+
'prefix-tags-with-info-prop'?: string;
|
|
50
|
+
'prefix-tags-with-filename'?: boolean;
|
|
51
|
+
'prefix-components-with-info-prop'?: string;
|
|
52
|
+
'without-x-tag-groups'?: boolean;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
export async function handleJoin(argv: JoinArgv, packageVersion: string) {
|
|
52
57
|
const startedAt = performance.now();
|
|
53
|
-
if (argv.entrypoints.length < 2) {
|
|
58
|
+
if (argv.entrypoints.length < 2) {
|
|
59
|
+
return exitWithError(`At least 2 entrypoints should be provided. \n\n`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const {
|
|
63
|
+
'prefix-components-with-info-prop': prefixComponentsWithInfoProp,
|
|
64
|
+
'prefix-tags-with-filename': prefixTagsWithFilename,
|
|
65
|
+
'prefix-tags-with-info-prop': prefixTagsWithInfoProp,
|
|
66
|
+
'without-x-tag-groups': withoutXTagGroups,
|
|
67
|
+
} = argv;
|
|
54
68
|
|
|
69
|
+
const usedTagsOptions = [
|
|
70
|
+
prefixTagsWithFilename && 'prefix-tags-with-filename',
|
|
71
|
+
prefixTagsWithInfoProp && 'prefix-tags-with-info-prop',
|
|
72
|
+
withoutXTagGroups && 'without-x-tag-groups',
|
|
73
|
+
].filter(Boolean);
|
|
74
|
+
|
|
75
|
+
if (usedTagsOptions.length > 1) {
|
|
76
|
+
return exitWithError(
|
|
77
|
+
`You use ${yellow(usedTagsOptions.join(', '))} together.\nPlease choose only one! \n\n`,
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
55
81
|
const config: Config = await loadConfig();
|
|
56
82
|
const entrypoints = await getFallbackEntryPointsOrExit(argv.entrypoints, config);
|
|
57
83
|
const externalRefResolver = new BaseResolver(config.resolve);
|
|
@@ -71,7 +97,7 @@ packageVersion: string
|
|
|
71
97
|
}))
|
|
72
98
|
);
|
|
73
99
|
|
|
74
|
-
for (const { problems, bundle: document } of
|
|
100
|
+
for (const { problems, bundle: document } of bundleResults as any) {
|
|
75
101
|
const fileTotals = getTotals(problems);
|
|
76
102
|
if (fileTotals.errors) {
|
|
77
103
|
formatProblems(problems, {
|
|
@@ -104,18 +130,9 @@ packageVersion: string
|
|
|
104
130
|
tags: {},
|
|
105
131
|
paths: {},
|
|
106
132
|
components: {},
|
|
107
|
-
xWebhooks: {}
|
|
133
|
+
xWebhooks: {},
|
|
108
134
|
};
|
|
109
135
|
|
|
110
|
-
const prefixComponentsWithInfoProp = argv['prefix-components-with-info-prop'];
|
|
111
|
-
const prefixTagsWithFilename = argv['prefix-tags-with-filename'];
|
|
112
|
-
const prefixTagsWithInfoProp = argv['prefix-tags-with-info-prop'];
|
|
113
|
-
if (prefixTagsWithFilename && prefixTagsWithInfoProp) {
|
|
114
|
-
return exitWithError(
|
|
115
|
-
`You used ${yellow('prefix-tags-with-filename')} and ${yellow('prefix-tags-with-info-prop')} that do not go together.\nPlease choose only one! \n\n`
|
|
116
|
-
);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
136
|
addInfoSectionAndSpecVersion(documents, prefixComponentsWithInfoProp);
|
|
120
137
|
|
|
121
138
|
for (const document of documents) {
|
|
@@ -141,10 +158,15 @@ packageVersion: string
|
|
|
141
158
|
if (componentsPrefix) { replace$Refs(openapi, componentsPrefix); }
|
|
142
159
|
}
|
|
143
160
|
|
|
144
|
-
iteratePotentialConflicts(potentialConflicts);
|
|
161
|
+
iteratePotentialConflicts(potentialConflicts, withoutXTagGroups);
|
|
145
162
|
const specFilename = 'openapi.yaml';
|
|
146
163
|
const noRefs = true;
|
|
147
|
-
|
|
164
|
+
|
|
165
|
+
if (potentialConflictsTotal) {
|
|
166
|
+
return exitWithError(`Please fix conflicts before running ${yellow('join')}.`);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
writeYaml(joinedDef, specFilename, noRefs);
|
|
148
170
|
printExecutionTime('join', startedAt, specFilename);
|
|
149
171
|
|
|
150
172
|
function populateTags({
|
|
@@ -153,42 +175,87 @@ packageVersion: string
|
|
|
153
175
|
tags,
|
|
154
176
|
potentialConflicts,
|
|
155
177
|
tagsPrefix,
|
|
156
|
-
componentsPrefix
|
|
178
|
+
componentsPrefix,
|
|
157
179
|
}: JoinDocumentContext) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
if (!
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
180
|
+
if (!joinedDef.hasOwnProperty(Tags)) {
|
|
181
|
+
joinedDef[Tags] = [];
|
|
182
|
+
}
|
|
183
|
+
if (!potentialConflicts.tags.hasOwnProperty('all')) {
|
|
184
|
+
potentialConflicts.tags['all'] = {};
|
|
185
|
+
}
|
|
186
|
+
if (withoutXTagGroups && !potentialConflicts.tags.hasOwnProperty('description')) {
|
|
187
|
+
potentialConflicts.tags['description'] = {};
|
|
165
188
|
}
|
|
166
|
-
const indexGroup = joinedDef[xTagGroups].findIndex((item: any) => item.name === entrypointFilename);
|
|
167
|
-
if (!joinedDef[xTagGroups][indexGroup].hasOwnProperty(Tags)) { joinedDef[xTagGroups][indexGroup][Tags] = []; }
|
|
168
189
|
for (const tag of tags) {
|
|
169
190
|
const entrypointTagName = addPrefix(tag.name, tagsPrefix);
|
|
170
191
|
if (tag.description) {
|
|
171
192
|
tag.description = addComponentsPrefix(tag.description, componentsPrefix!);
|
|
172
193
|
}
|
|
173
|
-
|
|
194
|
+
|
|
195
|
+
const tagDuplicate = joinedDef.tags.find((t: Oas3Tag) => t.name === entrypointTagName);
|
|
196
|
+
|
|
197
|
+
if (tagDuplicate && withoutXTagGroups) {
|
|
198
|
+
// If tag already exist and `without-x-tag-groups` option;
|
|
199
|
+
// check if description are different for potential conflicts warning;
|
|
200
|
+
const isTagDescriptionNotEqual =
|
|
201
|
+
tag.hasOwnProperty('description') && tagDuplicate.description !== tag.description;
|
|
202
|
+
|
|
203
|
+
potentialConflicts.tags.description[entrypointTagName].push(
|
|
204
|
+
...(isTagDescriptionNotEqual ? [entrypoint] : []),
|
|
205
|
+
);
|
|
206
|
+
} else {
|
|
207
|
+
// Instead add tag to joinedDef;
|
|
174
208
|
tag['x-displayName'] = tag['x-displayName'] || tag.name;
|
|
175
209
|
tag.name = entrypointTagName;
|
|
176
210
|
joinedDef.tags.push(tag);
|
|
211
|
+
|
|
212
|
+
if (withoutXTagGroups) {
|
|
213
|
+
potentialConflicts.tags.description[entrypointTagName] = [entrypoint];
|
|
214
|
+
}
|
|
177
215
|
}
|
|
178
|
-
|
|
179
|
-
|
|
216
|
+
|
|
217
|
+
if (!withoutXTagGroups) {
|
|
218
|
+
createXTagGroups(entrypointFilename);
|
|
219
|
+
populateXTagGroups(entrypointTagName, getIndexGroup(entrypointFilename));
|
|
180
220
|
}
|
|
181
221
|
|
|
182
|
-
const doesEntrypointExist =
|
|
183
|
-
potentialConflicts.tags.all[entrypointTagName]
|
|
184
|
-
|
|
185
|
-
|
|
222
|
+
const doesEntrypointExist =
|
|
223
|
+
!potentialConflicts.tags.all[entrypointTagName] ||
|
|
224
|
+
(potentialConflicts.tags.all[entrypointTagName] &&
|
|
225
|
+
!potentialConflicts.tags.all[entrypointTagName].includes(entrypoint));
|
|
186
226
|
potentialConflicts.tags.all[entrypointTagName] = [
|
|
187
|
-
...(potentialConflicts.tags.all[entrypointTagName] || []),
|
|
227
|
+
...(potentialConflicts.tags.all[entrypointTagName] || []),
|
|
228
|
+
...(!withoutXTagGroups && doesEntrypointExist ? [entrypoint] : []),
|
|
188
229
|
];
|
|
189
230
|
}
|
|
190
231
|
}
|
|
191
232
|
|
|
233
|
+
function getIndexGroup(entrypointFilename: string): number {
|
|
234
|
+
return joinedDef[xTagGroups].findIndex((item: any) => item.name === entrypointFilename);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
function createXTagGroups(entrypointFilename: string) {
|
|
238
|
+
if (!joinedDef.hasOwnProperty(xTagGroups)) {
|
|
239
|
+
joinedDef[xTagGroups] = [];
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
if (!joinedDef[xTagGroups].some((g: any) => g.name === entrypointFilename)) {
|
|
243
|
+
joinedDef[xTagGroups].push({ name: entrypointFilename, tags: [] });
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
const indexGroup = getIndexGroup(entrypointFilename);
|
|
247
|
+
|
|
248
|
+
if (!joinedDef[xTagGroups][indexGroup].hasOwnProperty(Tags)) {
|
|
249
|
+
joinedDef[xTagGroups][indexGroup][Tags] = [];
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function populateXTagGroups(entrypointTagName: string, indexGroup: number) {
|
|
254
|
+
if (!joinedDef[xTagGroups][indexGroup][Tags].find((t: Oas3Tag) => t.name === entrypointTagName)) {
|
|
255
|
+
joinedDef[xTagGroups][indexGroup][Tags].push(entrypointTagName);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
|
|
192
259
|
function collectServers(openapi: Oas3Definition) {
|
|
193
260
|
const { servers } = openapi;
|
|
194
261
|
if (servers) {
|
|
@@ -210,15 +277,17 @@ packageVersion: string
|
|
|
210
277
|
) {
|
|
211
278
|
const { info } = openapi;
|
|
212
279
|
if (info?.description) {
|
|
213
|
-
const
|
|
214
|
-
const groupIndex = joinedDef[xTagGroups] ? joinedDef[xTagGroups].findIndex((item: any) => item.name === entrypointFilename) : -1;
|
|
280
|
+
const groupIndex = joinedDef[xTagGroups] ? getIndexGroup(entrypointFilename) : -1;
|
|
215
281
|
if (
|
|
216
282
|
joinedDef.hasOwnProperty(xTagGroups) &&
|
|
217
283
|
groupIndex !== -1 &&
|
|
218
284
|
joinedDef[xTagGroups][groupIndex]['tags'] &&
|
|
219
285
|
joinedDef[xTagGroups][groupIndex]['tags'].length
|
|
220
286
|
) {
|
|
221
|
-
joinedDef[xTagGroups][groupIndex]['description'] = addComponentsPrefix(
|
|
287
|
+
joinedDef[xTagGroups][groupIndex]['description'] = addComponentsPrefix(
|
|
288
|
+
info.description,
|
|
289
|
+
componentsPrefix!,
|
|
290
|
+
);
|
|
222
291
|
}
|
|
223
292
|
}
|
|
224
293
|
}
|
|
@@ -369,7 +438,7 @@ function validateComponentsDifference(files: any) {
|
|
|
369
438
|
return isDiffer;
|
|
370
439
|
}
|
|
371
440
|
|
|
372
|
-
function iteratePotentialConflicts(potentialConflicts: any) {
|
|
441
|
+
function iteratePotentialConflicts(potentialConflicts: any, withoutXTagGroups?: boolean) {
|
|
373
442
|
for (const group of Object.keys(potentialConflicts)) {
|
|
374
443
|
for (const [key, value] of Object.entries(potentialConflicts[group])) {
|
|
375
444
|
const conflicts = filterConflicts(value as object);
|
|
@@ -383,22 +452,45 @@ function iteratePotentialConflicts(potentialConflicts: any) {
|
|
|
383
452
|
}
|
|
384
453
|
}
|
|
385
454
|
} else {
|
|
386
|
-
|
|
387
|
-
|
|
455
|
+
if (withoutXTagGroups && group === 'tags') {
|
|
456
|
+
duplicateTagDescriptionWarning(conflicts);
|
|
457
|
+
} else {
|
|
458
|
+
potentialConflictsTotal += conflicts.length;
|
|
459
|
+
showConflicts(green(group) + ' => ' + key, conflicts);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
if (group === 'tags' && !withoutXTagGroups) {
|
|
464
|
+
prefixTagSuggestion(conflicts.length);
|
|
388
465
|
}
|
|
389
|
-
prefixTagSuggestion(group, conflicts.length);
|
|
390
466
|
}
|
|
391
467
|
}
|
|
392
468
|
}
|
|
393
469
|
}
|
|
394
470
|
|
|
395
|
-
function
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
471
|
+
function duplicateTagDescriptionWarning(conflicts: [string, any][]) {
|
|
472
|
+
const tagsKeys = conflicts.map(([tagName]) => `\`${tagName}\``);
|
|
473
|
+
const joinString = yellow(', ');
|
|
474
|
+
process.stderr.write(
|
|
475
|
+
yellow(
|
|
476
|
+
`\nwarning: ${tagsKeys.length} conflict(s) on the ${red(
|
|
477
|
+
tagsKeys.join(joinString),
|
|
478
|
+
)} tags description.\n`,
|
|
479
|
+
),
|
|
480
|
+
);
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
function prefixTagSuggestion(conflictsLength: number) {
|
|
484
|
+
process.stderr.write(
|
|
485
|
+
green(
|
|
486
|
+
outdent`\n
|
|
487
|
+
${conflictsLength} conflict(s) on tags.
|
|
488
|
+
Suggestion: please use ${blue('prefix-tags-with-filename')}, ${blue(
|
|
489
|
+
'prefix-tags-with-info-prop',
|
|
490
|
+
)} or ${blue('without-x-tag-groups')} to prevent naming conflicts.\n\n
|
|
491
|
+
`,
|
|
492
|
+
),
|
|
493
|
+
);
|
|
402
494
|
}
|
|
403
495
|
|
|
404
496
|
function showConflicts(key: string, conflicts: any) {
|
|
@@ -484,5 +576,5 @@ function replace$Refs(obj: any, componentsPrefix: string) {
|
|
|
484
576
|
}
|
|
485
577
|
}
|
|
486
578
|
}
|
|
487
|
-
})
|
|
579
|
+
});
|
|
488
580
|
}
|
package/src/index.ts
CHANGED
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.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.esnext.intl.d.ts","../../node_modules/colorette/index.d.ts","../core/node_modules/@types/node/assert.d.ts","../core/node_modules/@types/node/globals.d.ts","../core/node_modules/@types/node/async_hooks.d.ts","../core/node_modules/@types/node/buffer.d.ts","../core/node_modules/@types/node/child_process.d.ts","../core/node_modules/@types/node/cluster.d.ts","../core/node_modules/@types/node/console.d.ts","../core/node_modules/@types/node/constants.d.ts","../core/node_modules/@types/node/crypto.d.ts","../core/node_modules/@types/node/dgram.d.ts","../core/node_modules/@types/node/dns.d.ts","../core/node_modules/@types/node/domain.d.ts","../core/node_modules/@types/node/events.d.ts","../core/node_modules/@types/node/fs.d.ts","../core/node_modules/@types/node/fs/promises.d.ts","../core/node_modules/@types/node/http.d.ts","../core/node_modules/@types/node/http2.d.ts","../core/node_modules/@types/node/https.d.ts","../core/node_modules/@types/node/inspector.d.ts","../core/node_modules/@types/node/module.d.ts","../core/node_modules/@types/node/net.d.ts","../core/node_modules/@types/node/os.d.ts","../core/node_modules/@types/node/path.d.ts","../core/node_modules/@types/node/perf_hooks.d.ts","../core/node_modules/@types/node/process.d.ts","../core/node_modules/@types/node/punycode.d.ts","../core/node_modules/@types/node/querystring.d.ts","../core/node_modules/@types/node/readline.d.ts","../core/node_modules/@types/node/repl.d.ts","../core/node_modules/@types/node/stream.d.ts","../core/node_modules/@types/node/string_decoder.d.ts","../core/node_modules/@types/node/timers.d.ts","../core/node_modules/@types/node/tls.d.ts","../core/node_modules/@types/node/trace_events.d.ts","../core/node_modules/@types/node/tty.d.ts","../core/node_modules/@types/node/url.d.ts","../core/node_modules/@types/node/util.d.ts","../core/node_modules/@types/node/v8.d.ts","../core/node_modules/@types/node/vm.d.ts","../core/node_modules/@types/node/wasi.d.ts","../core/node_modules/@types/node/worker_threads.d.ts","../core/node_modules/@types/node/zlib.d.ts","../core/node_modules/@types/node/globals.global.d.ts","../core/node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/glob-promise/lib/index.d.ts","../core/lib/typings/openapi.d.ts","../../node_modules/yaml-ast-parser/dist/src/mark.d.ts","../../node_modules/yaml-ast-parser/dist/src/exception.d.ts","../../node_modules/yaml-ast-parser/dist/src/yamlAST.d.ts","../../node_modules/yaml-ast-parser/dist/src/loader.d.ts","../../node_modules/yaml-ast-parser/dist/src/dumper.d.ts","../../node_modules/yaml-ast-parser/dist/src/scalarInference.d.ts","../../node_modules/yaml-ast-parser/dist/src/index.d.ts","../core/lib/types/index.d.ts","../../node_modules/@types/js-yaml/index.d.ts","../core/lib/typings/swagger.d.ts","../core/lib/visitors.d.ts","../core/lib/oas-types.d.ts","../core/lib/config/types.d.ts","../core/lib/resolve.d.ts","../core/lib/ref-utils.d.ts","../core/lib/walk.d.ts","../core/lib/config/config.d.ts","../core/lib/config/rules.d.ts","../core/lib/config/builtIn.d.ts","../core/lib/config/load.d.ts","../core/lib/config/utils.d.ts","../core/lib/config/config-resolvers.d.ts","../core/lib/config/index.d.ts","../core/lib/js-yaml/index.d.ts","../core/lib/utils.d.ts","../core/lib/types/oas3_1.d.ts","../core/lib/types/oas3.d.ts","../core/lib/types/oas2.d.ts","../core/lib/types/redocly-yaml.d.ts","../core/lib/typings/common.d.ts","../core/lib/rules/other/stats.d.ts","../core/lib/redocly/registry-api-types.d.ts","../core/lib/redocly/registry-api.d.ts","../core/lib/redocly/redocly-client-types.d.ts","../core/lib/redocly/index.d.ts","../core/lib/format/codeframes.d.ts","../core/lib/format/format.d.ts","../core/lib/lint.d.ts","../core/lib/bundle.d.ts","../core/lib/index.d.ts","./src/types.ts","./src/utils.ts","./src/assert-node-version.ts","../../node_modules/@types/yargs-parser/index.d.ts","./node_modules/@types/yargs/index.d.ts","../../node_modules/anymatch/index.d.ts","../../node_modules/chokidar/types/index.d.ts","../../node_modules/handlebars/types/index.d.ts","../../node_modules/portfinder/lib/portfinder.d.ts","./src/commands/preview-docs/preview-server/server.ts","./src/commands/preview-docs/preview-server/preview-server.ts","./src/commands/preview-docs/index.ts","./src/commands/stats.ts","./src/js-utils.ts","./src/commands/split/types.ts","./src/commands/split/index.ts","./src/commands/join.ts","../../node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","./src/commands/login.ts","./src/commands/push.ts","./src/commands/lint.ts","./src/commands/bundle.ts","./src/index.ts","./src/__mocks__/fs.ts","./src/__mocks__/utils.ts","./src/__mocks__/@redocly/openapi-core.ts","./src/__tests__/utils.test.ts","./src/__tests__/commands/bundle.test.ts","./src/__tests__/commands/push-region.test.ts","./src/__tests__/commands/push.test.ts","./src/commands/split/__tests__/index.test.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/graceful-fs/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/jest-diff/build/cleanupSemantic.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/pretty-format/build/types.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/js-levenshtein/index.d.ts","../../node_modules/@types/json-schema/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/lodash.isequal/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/pluralize/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","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":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"a456dd94a596de621bd25cf3c91278101ea62782c3ac4435aef9190a2336ddde","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"51d9e2eaf087398ff58dd41c0bd2ab20ca78b4dc3691cd3c26d556747c3dab05","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","50ae84dc0183f9f69b4d0933e240fb76cc77fddb2ec223dd070d12420b6ccfa6","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"cc829932ffaf5c49092f878bec18af1fa5d8591b45a45e2b7f757f793cb3b4ed","47db10fdc4e76c4f4598cf7c91ba6bfde6cf6d8082c51860fe751643bf359739","53d2c24a3cbc00a88ebaf8ab8e1b6e206bc3a6647d544f877241684ea3d484e3","ecee890ff04b70d8e8815fb753c20f24f95203426267a577823d375009c1ace7","0ce99c641ea20b0c0c09d093fc28f18f5ab31dc80033707a1ac3154399de2559","7dc9ed91e245cf0c4f8add7f6845d0cb08cceec4408ce3398c51e1f6dd7679ec","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","1606ea615c0a5ea9f5c1376a33e34c0e1112e8dee31a5b3b8a74ce781893aa6f","9fef9de633d01cb7f01f68195626a890ededd25cf96a1e785617d08c8668230d","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","bb1e8c36fe44bf321d130de5c60e605ac0c76f5b7aa03f17f18ccfa38f922015","605c24042a348b033b30121cff64380eb5d6d82853c5608f1f94ef72385cf5c9","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"79d679a1d56574cc5cef92be1f0e5e8fb4af62fb55933b236670a0e0a23c83f6","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","ad7118e1b64e20fabb52ad24c16add91835d4fa79fa344e8260fc4a3a79a3a41","98ff615c968cfa7c9fd52d0b79180d71de471ddadc81dd47e764694ca887f1dd","8d1539367a9f5a03698f4c37111251eb76433ea8fcb5f1e546571b8513cac822","9ad71085f8ab35282a341995f85c6e06a19e6d5ab73b39f634b444ce8742a664","ee94d8f60c253d9994559ad325e9cb8a7af6bd36176884cb869ee5a40daa766c","606de01a4212a48518a219585f673504d3c0c26b361706006038a71bf8b9f42c","76de776e227ad01b703ce076b32177da31a765d5b5a681d5bb4c4e0f4876840f","aa4c984c8f2919742d06f305b1870bf180275cbe015490451a6374e6f6b9998a","46b9cdcd62e90f604876c143481ac7ff2c89cdfb902179bda0d8ee44c0695beb","f7376eb8232cc156bc6afff5d564a40ad2504b8e88a4543adf6f4e945d186474","686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","07dba097a66bf3b0bb04497bc136dba51a9cdb94cd8ad663eab82f5f6f83c21e","07981dc93c563507c26821c74a49bbbe2352b310fe74f91599c33d90c4acb376","60c67218e451d0a4644389c5902d4ec99bd63572f94c3d41dd86a4367de0d80e","c8ad695329bb68238f54553349cb8774bc3966c8a119aa240c689f2535c803ca","f0433d6c3e0d3ea7d957535c338c82fdb0c10b2c6fa759ee323438747d006929","b5e4fa898ff7e7a88489f9b7b47294cf78d986ab96c7d25807ff3e5e9fec6465","8cae8c496b7cdd6881404d5c629357badb099229ccf7c6730da9c1ab78ec9559","ecba6db9ca957c821dab2e8ed44e45211a791aa14d7413bf4e58275968a00673","6df8cf3b5add85842da66e0fb16df4e33e29cb832be0dd067ed6b148ec709226","759c54bac5348f5c1376dda8d4cc283eb2b0356b898827206b811be769ff6c7b","df10a03e5141d8aa63a17e68833c51bfaaf94fbb0dd71c5dda47a22efb3821a7","191e80abbb0947ea4af8c03c4251ff6e572a8f405189739f32c31fbaaa421a05","9630421fdcc7c076b84ba338894e78ffc0d96a362d05303a0b719f8ef5811728","88dc0dcab75df96583b348f379c7aec6712561d17d8ce208d36ab492b23ae46d","ec3bc0a0573da655bab5c8f96c6e905b25e2fcf799996ea025eea985656e0bc4","c6d8058f53245666fe420e069fb8ca88286153c12d6accacc84edec2eb3694e2","fdb7f9800267358d093879ae8ebe6322fec83a7f3c1f9b53fc27f85af4cd8723","c2bff909cb7d9a3939b3dbb2b1e3ce0fec7b747c74b9c47648c42b40a0724fa3","de41964adcdb5316152314f126b999cd651719d90b9d7fca50f8461c256b4e2b","fbbedd7745fef1135414280adf758927576b94d0cadba64d5c7ec24cdbc9c37a","1f7d50dbb3ea1f13f7ef1c82e0d77017660da61daf75ba427de32f67f25ace0c","7d74698235b0646f1d0217fa509d2731a855b420137355347dcf463e72fcd479","bd3355eb75d5c515a96f5b930cf4adcf62b4e7105fc30aba24d976b83f31163e","6b9775a46498c8b2bb7c92dbbdd6ae0d17f2698c8c87e286ee8b8d4414231a9f","de964a6cafbc7909ec88f74393327f89fc3e4b309e90639f7102df4e0edb5e06","036c607f3926e7e7704c4c1a497bc130f3257523e22bf0c0748e311c50f284cb","d5531816f67bb2247ecd105ddfa30f3e399ed2cb5ebb40c3d7ad2922405b5fe1","704fcfe996ab3b59214f9283f7515890972a075742121f1d1bf44aad05cd966d","9b8453ae568d8af6690fabfbd855c19a775fe8fdf7fa576961963b7e5bab6443","e06be111acc4813d7322918330ea53c3d4b74886a89b0c496a64979561e040b8","007bd38bbfb1a1b4aec076d52d7c98d0e9e12c5716e7cf0d4ec1c9949794bf2d","1be7961694e69bcf6dde648a4f5f537fe197e1b2b9a48fd8c0e561c79416eb17","a9333528c51a010dc4b6d5fc90af50c3edc2a2e8beee1f46e52fbfb635301156","ba37366c716b76a402bddee0e3974ad55d69943aabdb25bd4602e5172f7a7c15","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","99bbadcf4153b61d79a2616b377da8f42a16fcb41d2136f1f6c2cf070b084216","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","a7e430e32eaefba6b1ebf23a94a4562bfe7051cc83558d33ddc8ff342f3c18e9",{"version":"f3a68054f682f21cec1eb6bc37d3c4c7f73b7723c7256f8a1ccc75873024aaa6","affectsGlobalScope":true},"5b72d384b825756c53642e763bae92e03623950dc1b4c132938364cb0c5e577d","f2045729c599b3e083819ef5e2bf84c64e52877c1e4fa224eacc5f6892e13213","9aa9facdd19fa4ff59d22445655090446e92047c8d4fd37770176f5a39e0c23a","228fafe6eafe9c54d13eaed8d9302b281babe1d9415771958fedb89a11aaef1e","3a2adbe59d431ae55f84724a535014d07f55e417b95a4f852b5359b9af8578c8","f121f2b65b93d73dca9a0d8df21461c0506d8cb309fcfa7d3aa32d64757783c4","6afdb1ccecb27c9a02303b4fc3b8fcc1037d0c62c1746100dbd1751594369d15","0229beadeaa75ebc04fb2c1b1abdd6a39dcc3145fa19104a59d3feb26514244e","8eee2b7ea707957c02860ac6bca8bbd1d57247385a60230b4d2ee28b2e4bab82","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","3da9fb38176c01819f54378976aedb30d2bb68fbce52a91deda9c7d3e159850f","69e81e18bb59fc56cc81c65c28a0e2bb49164627a5643dfbdb349cdb3aea83c2","b5920ff9f287bbcb9172732b2a1ca55b8dacba8347fa5548eb989140cfcbfd9e","bd0dac35f879debc94a781110f617a66f555af80456d76a78d3fc3ef6c5c87ec","7c211d0fdaf457a25c8076ebe21e11feef8a7413ac24ae93502e94f766989e60","6bcd7d885b9c22c3b319fd7413d23fc97293d75c642e14c496b752af78726b87","cc1c12d2c83e15bb072c98a0bb29bba40a7d6fe8b252c64a6f30d488c0a72da5","ac32b9211f9657c2d92ab649ea55a65911a73206d61da868df58061c75e55cb4","83e3f698e40c319c3ee2a8e02f389c8ff5322c364b879b4b53ba3131a4b8d124","c982ec91d1713653202498476d3435fb497d8129aed637a270ea7283796aaab6","6ed11aa8b11a848cdbafec7d87bc97ad31387bbf3d8c768ec113ea608c1711c2","0d63d482b41627bee84a1964f53572f98f6e4f618da38c71bed676b5d0f7afe8","74ec27fa777819b9de52c1095bb9d7f8452af7f49ed65853eda9782bf4108c2b","573c0dec8be2f89b41ecfa6722fd67ed89ff1f5d64a2d7ef31c66233af913807","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"21bb8dda75eb025927e9d62d8fa619e349ebc5ba0b8b9dddd8fdfc9ff058e2b8","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"6bb8d7433a29fbd33df8e9693f1788a273a9eb90b96c8f99c745678c7db623f1","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8f7a2387ecc680872d09a6edbca1612d699f77ee5a5129944935c3798a613d04","1583b9baa41a4db2f2bd4fedfafbe791a986fd785749d5cae2ff5171344e9b4c","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298"],"options":{"composite":true,"declaration":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./lib","rootDir":"./src","strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":3},"fileIdsList":[[161],[161,162,163,164,165],[161,163],[52,53,83,84],[53,83],[168],[169],[175,177],[193],[181,183,184,185,186,187,188,189,190,191,192,193],[181,182,184,185,186,187,188,189,190,191,192,193],[182,183,184,185,186,187,188,189,190,191,192,193],[181,182,183,185,186,187,188,189,190,191,192,193],[181,182,183,184,186,187,188,189,190,191,192,193],[181,182,183,184,185,187,188,189,190,191,192,193],[181,182,183,184,185,186,188,189,190,191,192,193],[181,182,183,184,185,186,187,189,190,191,192,193],[181,182,183,184,185,186,187,188,190,191,192,193],[181,182,183,184,185,186,187,188,189,191,192,193],[181,182,183,184,185,186,187,188,189,190,192,193],[181,182,183,184,185,186,187,188,189,190,191,193],[181,182,183,184,185,186,187,188,189,190,191,192],[55,75,83,145,146],[52,53,133,199],[55,69,83],[85],[171,172],[171,172,173,174],[176],[88],[89,90,91,92,93],[90],[89],[131],[127,151],[127,148,149],[127,149],[129],[62,129],[39,53,63,127,128,129],[39,62,63,127,129,141],[39,63,127,128,129],[39,127,129],[39,127,129,134,138],[39,53,55,62,129,135,136,137],[53,55,81],[39,48,53,62,63,127,129,147,148],[39,62,127,142,143],[39,53,62,63,127,129,141,142],[127],[39,63,127,129],[127,128,130,132,139,140,143,144,148,149,150,151],[39,53,62,63,67,69,86,127,128],[95,98,99,101,103,110],[100],[100,101,104],[83,95,99,100,103],[100,104,105,106,107,108,109],[100,104],[99,104,127],[95,99,103],[94,103],[103],[87,95,97,98,99,101,102,103,110,111,112,113,114,115,116,117,118,122,123,124,125,126],[96],[95,101,103,110],[98],[100,120,121],[100,119],[87,101],[94,95,100],[87,97,117],[95],[87,96],[103,110,111],[87,95,97,102,103,112],[87,95,98,99,101,102],[40],[42],[43,48],[44,52,53,60,69],[44,45,52,60],[46,76],[47,48,53,61],[48,69],[49,50,52,60],[50],[51,52],[52],[52,53,54,69,75],[53,54],[55,60,69,75],[52,53,55,56,60,69,72,75],[55,57,69,72,75],[40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],[52,58],[59,75],[50,52,60,69],[61],[62],[42,63],[64,74],[65],[66],[52,67],[67,68,76,78],[52,69],[70],[71],[60,69,72],[73],[60,74],[66,75],[76],[69,77],[78],[79],[52,54,69,75,78,80],[69,81]],"referencedMap":[[163,1],[166,2],[162,1],[164,3],[165,1],[85,4],[167,5],[169,6],[170,7],[178,8],[194,9],[182,10],[183,11],[181,12],[184,13],[185,14],[186,15],[187,16],[188,17],[189,18],[190,19],[191,20],[192,21],[193,22],[147,23],[134,24],[145,25],[86,26],[173,27],[175,28],[174,27],[177,29],[89,30],[94,31],[91,32],[93,32],[90,33],[132,34],[157,35],[158,36],[159,37],[156,38],[130,39],[151,40],[144,41],[150,42],[148,43],[139,44],[138,45],[137,46],[149,47],[160,48],[143,49],[142,50],[140,51],[152,52],[128,50],[129,53],[126,54],[106,55],[109,56],[104,57],[110,58],[107,59],[105,60],[100,61],[108,59],[123,62],[124,63],[127,64],[111,65],[125,66],[99,67],[122,68],[121,55],[120,69],[102,70],[101,71],[118,72],[115,73],[114,73],[113,73],[116,73],[97,74],[112,75],[98,76],[103,77],[40,78],[42,79],[43,80],[44,81],[45,82],[46,83],[47,84],[48,85],[49,86],[50,87],[51,88],[52,89],[53,90],[54,91],[55,92],[56,93],[57,94],[83,95],[58,96],[59,97],[60,98],[61,99],[62,100],[63,101],[64,102],[65,103],[66,104],[67,105],[68,106],[69,107],[70,108],[71,109],[72,110],[73,111],[74,112],[75,113],[76,114],[77,115],[78,116],[79,117],[80,118],[81,119]],"exportedModulesMap":[[163,1],[166,2],[162,1],[164,3],[165,1],[85,4],[167,5],[169,6],[170,7],[178,8],[194,9],[182,10],[183,11],[181,12],[184,13],[185,14],[186,15],[187,16],[188,17],[189,18],[190,19],[191,20],[192,21],[193,22],[147,23],[134,24],[145,25],[86,26],[173,27],[175,28],[174,27],[177,29],[89,30],[94,31],[91,32],[93,32],[90,33],[132,34],[157,35],[158,36],[159,37],[156,38],[130,39],[151,40],[144,41],[150,42],[148,43],[139,44],[138,45],[137,46],[149,47],[160,48],[143,49],[142,50],[140,51],[152,52],[128,50],[129,53],[126,54],[106,55],[109,56],[104,57],[110,58],[107,59],[105,60],[100,61],[108,59],[123,62],[124,63],[127,64],[111,65],[125,66],[99,67],[122,68],[121,55],[120,69],[102,70],[101,71],[118,72],[115,73],[114,73],[113,73],[116,73],[97,74],[112,75],[98,76],[103,77],[40,78],[42,79],[43,80],[44,81],[45,82],[46,83],[47,84],[48,85],[49,86],[50,87],[51,88],[52,89],[53,90],[54,91],[55,92],[56,93],[57,94],[83,95],[58,96],[59,97],[60,98],[61,99],[62,100],[63,101],[64,102],[65,103],[66,104],[67,105],[68,106],[69,107],[70,108],[71,109],[72,110],[73,111],[74,112],[75,113],[76,114],[77,115],[78,116],[79,117],[80,118],[81,119]],"semanticDiagnosticsPerFile":[163,161,166,162,164,165,85,167,168,169,170,178,179,96,180,194,182,183,181,184,185,186,187,188,189,190,191,192,193,84,146,147,195,196,197,198,131,133,134,39,145,86,135,171,173,175,174,172,136,177,176,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,92,89,94,91,88,93,90,132,155,153,154,157,158,159,156,130,151,144,150,148,139,138,137,149,160,143,142,140,152,141,128,129,126,106,109,104,110,107,105,100,108,123,124,127,111,125,99,122,121,119,120,102,101,118,95,115,114,113,116,117,87,97,112,98,103,40,42,43,44,45,46,47,48,49,50,51,52,53,54,41,82,55,56,57,83,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81]},"version":"4.3.3"}
|
|
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.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.esnext.intl.d.ts","../../node_modules/colorette/index.d.ts","../core/node_modules/@types/node/assert.d.ts","../core/node_modules/@types/node/globals.d.ts","../core/node_modules/@types/node/async_hooks.d.ts","../core/node_modules/@types/node/buffer.d.ts","../core/node_modules/@types/node/child_process.d.ts","../core/node_modules/@types/node/cluster.d.ts","../core/node_modules/@types/node/console.d.ts","../core/node_modules/@types/node/constants.d.ts","../core/node_modules/@types/node/crypto.d.ts","../core/node_modules/@types/node/dgram.d.ts","../core/node_modules/@types/node/dns.d.ts","../core/node_modules/@types/node/domain.d.ts","../core/node_modules/@types/node/events.d.ts","../core/node_modules/@types/node/fs.d.ts","../core/node_modules/@types/node/fs/promises.d.ts","../core/node_modules/@types/node/http.d.ts","../core/node_modules/@types/node/http2.d.ts","../core/node_modules/@types/node/https.d.ts","../core/node_modules/@types/node/inspector.d.ts","../core/node_modules/@types/node/module.d.ts","../core/node_modules/@types/node/net.d.ts","../core/node_modules/@types/node/os.d.ts","../core/node_modules/@types/node/path.d.ts","../core/node_modules/@types/node/perf_hooks.d.ts","../core/node_modules/@types/node/process.d.ts","../core/node_modules/@types/node/punycode.d.ts","../core/node_modules/@types/node/querystring.d.ts","../core/node_modules/@types/node/readline.d.ts","../core/node_modules/@types/node/repl.d.ts","../core/node_modules/@types/node/stream.d.ts","../core/node_modules/@types/node/string_decoder.d.ts","../core/node_modules/@types/node/timers.d.ts","../core/node_modules/@types/node/tls.d.ts","../core/node_modules/@types/node/trace_events.d.ts","../core/node_modules/@types/node/tty.d.ts","../core/node_modules/@types/node/url.d.ts","../core/node_modules/@types/node/util.d.ts","../core/node_modules/@types/node/v8.d.ts","../core/node_modules/@types/node/vm.d.ts","../core/node_modules/@types/node/wasi.d.ts","../core/node_modules/@types/node/worker_threads.d.ts","../core/node_modules/@types/node/zlib.d.ts","../core/node_modules/@types/node/globals.global.d.ts","../core/node_modules/@types/node/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/glob-promise/lib/index.d.ts","../core/lib/typings/openapi.d.ts","../../node_modules/yaml-ast-parser/dist/src/mark.d.ts","../../node_modules/yaml-ast-parser/dist/src/exception.d.ts","../../node_modules/yaml-ast-parser/dist/src/yamlAST.d.ts","../../node_modules/yaml-ast-parser/dist/src/loader.d.ts","../../node_modules/yaml-ast-parser/dist/src/dumper.d.ts","../../node_modules/yaml-ast-parser/dist/src/scalarInference.d.ts","../../node_modules/yaml-ast-parser/dist/src/index.d.ts","../core/lib/types/index.d.ts","../../node_modules/@types/js-yaml/index.d.ts","../core/lib/typings/swagger.d.ts","../core/lib/visitors.d.ts","../core/lib/oas-types.d.ts","../core/lib/config/types.d.ts","../core/lib/resolve.d.ts","../core/lib/ref-utils.d.ts","../core/lib/walk.d.ts","../core/lib/config/config.d.ts","../core/lib/config/rules.d.ts","../core/lib/config/builtIn.d.ts","../core/lib/config/load.d.ts","../core/lib/config/utils.d.ts","../core/lib/config/config-resolvers.d.ts","../core/lib/config/index.d.ts","../core/lib/js-yaml/index.d.ts","../core/lib/utils.d.ts","../core/lib/types/oas3_1.d.ts","../core/lib/types/oas3.d.ts","../core/lib/types/oas2.d.ts","../core/lib/types/redocly-yaml.d.ts","../core/lib/typings/common.d.ts","../core/lib/rules/other/stats.d.ts","../core/lib/redocly/registry-api-types.d.ts","../core/lib/redocly/registry-api.d.ts","../core/lib/redocly/redocly-client-types.d.ts","../core/lib/redocly/index.d.ts","../core/lib/format/codeframes.d.ts","../core/lib/format/format.d.ts","../core/lib/lint.d.ts","../core/lib/bundle.d.ts","../core/lib/index.d.ts","./src/types.ts","./src/utils.ts","./src/assert-node-version.ts","../../node_modules/@types/yargs-parser/index.d.ts","./node_modules/@types/yargs/index.d.ts","../../node_modules/anymatch/index.d.ts","../../node_modules/chokidar/types/index.d.ts","../../node_modules/handlebars/types/index.d.ts","../../node_modules/portfinder/lib/portfinder.d.ts","./src/commands/preview-docs/preview-server/server.ts","./src/commands/preview-docs/preview-server/preview-server.ts","./src/commands/preview-docs/index.ts","./src/commands/stats.ts","./src/js-utils.ts","./src/commands/split/types.ts","./src/commands/split/index.ts","../../node_modules/outdent/lib/index.d.ts","./src/commands/join.ts","../../node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","./src/commands/login.ts","./src/commands/push.ts","./src/commands/lint.ts","./src/commands/bundle.ts","./src/index.ts","./src/__mocks__/fs.ts","./src/__mocks__/utils.ts","./src/__mocks__/@redocly/openapi-core.ts","./src/__tests__/utils.test.ts","./src/__tests__/commands/bundle.test.ts","./src/__tests__/commands/join.test.ts","./src/__tests__/commands/push-region.test.ts","./src/__tests__/commands/push.test.ts","./src/commands/split/__tests__/index.test.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/graceful-fs/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/jest-diff/build/cleanupSemantic.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/pretty-format/build/types.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/js-levenshtein/index.d.ts","../../node_modules/@types/json-schema/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/lodash.isequal/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/pluralize/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","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":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"a456dd94a596de621bd25cf3c91278101ea62782c3ac4435aef9190a2336ddde","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"51d9e2eaf087398ff58dd41c0bd2ab20ca78b4dc3691cd3c26d556747c3dab05","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","50ae84dc0183f9f69b4d0933e240fb76cc77fddb2ec223dd070d12420b6ccfa6","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"cc829932ffaf5c49092f878bec18af1fa5d8591b45a45e2b7f757f793cb3b4ed","47db10fdc4e76c4f4598cf7c91ba6bfde6cf6d8082c51860fe751643bf359739","53d2c24a3cbc00a88ebaf8ab8e1b6e206bc3a6647d544f877241684ea3d484e3","ecee890ff04b70d8e8815fb753c20f24f95203426267a577823d375009c1ace7","0ce99c641ea20b0c0c09d093fc28f18f5ab31dc80033707a1ac3154399de2559","7dc9ed91e245cf0c4f8add7f6845d0cb08cceec4408ce3398c51e1f6dd7679ec","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d79fda68cbfb361c4ee9cd9ea169babb65887534d64017726cd01f54783d20a5","1606ea615c0a5ea9f5c1376a33e34c0e1112e8dee31a5b3b8a74ce781893aa6f","9fef9de633d01cb7f01f68195626a890ededd25cf96a1e785617d08c8668230d","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","bb1e8c36fe44bf321d130de5c60e605ac0c76f5b7aa03f17f18ccfa38f922015","605c24042a348b033b30121cff64380eb5d6d82853c5608f1f94ef72385cf5c9","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"79d679a1d56574cc5cef92be1f0e5e8fb4af62fb55933b236670a0e0a23c83f6","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","ad7118e1b64e20fabb52ad24c16add91835d4fa79fa344e8260fc4a3a79a3a41","98ff615c968cfa7c9fd52d0b79180d71de471ddadc81dd47e764694ca887f1dd","8d1539367a9f5a03698f4c37111251eb76433ea8fcb5f1e546571b8513cac822","9ad71085f8ab35282a341995f85c6e06a19e6d5ab73b39f634b444ce8742a664","ee94d8f60c253d9994559ad325e9cb8a7af6bd36176884cb869ee5a40daa766c","606de01a4212a48518a219585f673504d3c0c26b361706006038a71bf8b9f42c","76de776e227ad01b703ce076b32177da31a765d5b5a681d5bb4c4e0f4876840f","aa4c984c8f2919742d06f305b1870bf180275cbe015490451a6374e6f6b9998a","46b9cdcd62e90f604876c143481ac7ff2c89cdfb902179bda0d8ee44c0695beb","f7376eb8232cc156bc6afff5d564a40ad2504b8e88a4543adf6f4e945d186474","686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","07dba097a66bf3b0bb04497bc136dba51a9cdb94cd8ad663eab82f5f6f83c21e","07981dc93c563507c26821c74a49bbbe2352b310fe74f91599c33d90c4acb376","60c67218e451d0a4644389c5902d4ec99bd63572f94c3d41dd86a4367de0d80e","c8ad695329bb68238f54553349cb8774bc3966c8a119aa240c689f2535c803ca","f0433d6c3e0d3ea7d957535c338c82fdb0c10b2c6fa759ee323438747d006929","b5e4fa898ff7e7a88489f9b7b47294cf78d986ab96c7d25807ff3e5e9fec6465","8cae8c496b7cdd6881404d5c629357badb099229ccf7c6730da9c1ab78ec9559","ecba6db9ca957c821dab2e8ed44e45211a791aa14d7413bf4e58275968a00673","6df8cf3b5add85842da66e0fb16df4e33e29cb832be0dd067ed6b148ec709226","759c54bac5348f5c1376dda8d4cc283eb2b0356b898827206b811be769ff6c7b","df10a03e5141d8aa63a17e68833c51bfaaf94fbb0dd71c5dda47a22efb3821a7","191e80abbb0947ea4af8c03c4251ff6e572a8f405189739f32c31fbaaa421a05","9630421fdcc7c076b84ba338894e78ffc0d96a362d05303a0b719f8ef5811728","88dc0dcab75df96583b348f379c7aec6712561d17d8ce208d36ab492b23ae46d","ec3bc0a0573da655bab5c8f96c6e905b25e2fcf799996ea025eea985656e0bc4","c6d8058f53245666fe420e069fb8ca88286153c12d6accacc84edec2eb3694e2","fdb7f9800267358d093879ae8ebe6322fec83a7f3c1f9b53fc27f85af4cd8723","c2bff909cb7d9a3939b3dbb2b1e3ce0fec7b747c74b9c47648c42b40a0724fa3","de41964adcdb5316152314f126b999cd651719d90b9d7fca50f8461c256b4e2b","fbbedd7745fef1135414280adf758927576b94d0cadba64d5c7ec24cdbc9c37a","1f7d50dbb3ea1f13f7ef1c82e0d77017660da61daf75ba427de32f67f25ace0c","7d74698235b0646f1d0217fa509d2731a855b420137355347dcf463e72fcd479","bd3355eb75d5c515a96f5b930cf4adcf62b4e7105fc30aba24d976b83f31163e","6b9775a46498c8b2bb7c92dbbdd6ae0d17f2698c8c87e286ee8b8d4414231a9f","de964a6cafbc7909ec88f74393327f89fc3e4b309e90639f7102df4e0edb5e06","036c607f3926e7e7704c4c1a497bc130f3257523e22bf0c0748e311c50f284cb","d5531816f67bb2247ecd105ddfa30f3e399ed2cb5ebb40c3d7ad2922405b5fe1","704fcfe996ab3b59214f9283f7515890972a075742121f1d1bf44aad05cd966d","9b8453ae568d8af6690fabfbd855c19a775fe8fdf7fa576961963b7e5bab6443","e06be111acc4813d7322918330ea53c3d4b74886a89b0c496a64979561e040b8","007bd38bbfb1a1b4aec076d52d7c98d0e9e12c5716e7cf0d4ec1c9949794bf2d","1be7961694e69bcf6dde648a4f5f537fe197e1b2b9a48fd8c0e561c79416eb17","a9333528c51a010dc4b6d5fc90af50c3edc2a2e8beee1f46e52fbfb635301156","ba37366c716b76a402bddee0e3974ad55d69943aabdb25bd4602e5172f7a7c15","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","99bbadcf4153b61d79a2616b377da8f42a16fcb41d2136f1f6c2cf070b084216","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","a7e430e32eaefba6b1ebf23a94a4562bfe7051cc83558d33ddc8ff342f3c18e9",{"version":"f3a68054f682f21cec1eb6bc37d3c4c7f73b7723c7256f8a1ccc75873024aaa6","affectsGlobalScope":true},"5b72d384b825756c53642e763bae92e03623950dc1b4c132938364cb0c5e577d","f2045729c599b3e083819ef5e2bf84c64e52877c1e4fa224eacc5f6892e13213","9aa9facdd19fa4ff59d22445655090446e92047c8d4fd37770176f5a39e0c23a","228fafe6eafe9c54d13eaed8d9302b281babe1d9415771958fedb89a11aaef1e","3a2adbe59d431ae55f84724a535014d07f55e417b95a4f852b5359b9af8578c8","f121f2b65b93d73dca9a0d8df21461c0506d8cb309fcfa7d3aa32d64757783c4","6afdb1ccecb27c9a02303b4fc3b8fcc1037d0c62c1746100dbd1751594369d15","0229beadeaa75ebc04fb2c1b1abdd6a39dcc3145fa19104a59d3feb26514244e","6da649544254ad3a2df7deb094377505876f21258bd0e8f1be624a0566ecaa52","1cc0b040bbedbb12bd56982677ef15cfff8bc5fb4521fafaa2eff2786eb744f3","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","3da9fb38176c01819f54378976aedb30d2bb68fbce52a91deda9c7d3e159850f","69e81e18bb59fc56cc81c65c28a0e2bb49164627a5643dfbdb349cdb3aea83c2","b5920ff9f287bbcb9172732b2a1ca55b8dacba8347fa5548eb989140cfcbfd9e","bd0dac35f879debc94a781110f617a66f555af80456d76a78d3fc3ef6c5c87ec","ad37ef3fe7f48a3b04e43e0abfd330228a92fc2c65f427fe28a209045ae291f6","6bcd7d885b9c22c3b319fd7413d23fc97293d75c642e14c496b752af78726b87","b59f4ef3cad4b3ede50d804c30b8c1ec563812278bd7afd33942b833c5baf5a8","ac32b9211f9657c2d92ab649ea55a65911a73206d61da868df58061c75e55cb4","83e3f698e40c319c3ee2a8e02f389c8ff5322c364b879b4b53ba3131a4b8d124","c982ec91d1713653202498476d3435fb497d8129aed637a270ea7283796aaab6","0e86c6adbee7211f7cc070b1595d58f866096e221724d928801128577ecd30fe","6ed11aa8b11a848cdbafec7d87bc97ad31387bbf3d8c768ec113ea608c1711c2","0d63d482b41627bee84a1964f53572f98f6e4f618da38c71bed676b5d0f7afe8","74ec27fa777819b9de52c1095bb9d7f8452af7f49ed65853eda9782bf4108c2b","573c0dec8be2f89b41ecfa6722fd67ed89ff1f5d64a2d7ef31c66233af913807","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"21bb8dda75eb025927e9d62d8fa619e349ebc5ba0b8b9dddd8fdfc9ff058e2b8","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"6bb8d7433a29fbd33df8e9693f1788a273a9eb90b96c8f99c745678c7db623f1","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8f7a2387ecc680872d09a6edbca1612d699f77ee5a5129944935c3798a613d04","1583b9baa41a4db2f2bd4fedfafbe791a986fd785749d5cae2ff5171344e9b4c","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298"],"options":{"composite":true,"declaration":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./lib","rootDir":"./src","strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":3},"fileIdsList":[[163],[163,164,165,166,167],[163,165],[52,53,83,84],[53,83],[170],[171],[177,179],[195],[183,185,186,187,188,189,190,191,192,193,194,195],[183,184,186,187,188,189,190,191,192,193,194,195],[184,185,186,187,188,189,190,191,192,193,194,195],[183,184,185,187,188,189,190,191,192,193,194,195],[183,184,185,186,188,189,190,191,192,193,194,195],[183,184,185,186,187,189,190,191,192,193,194,195],[183,184,185,186,187,188,190,191,192,193,194,195],[183,184,185,186,187,188,189,191,192,193,194,195],[183,184,185,186,187,188,189,190,192,193,194,195],[183,184,185,186,187,188,189,190,191,193,194,195],[183,184,185,186,187,188,189,190,191,192,194,195],[183,184,185,186,187,188,189,190,191,192,193,195],[183,184,185,186,187,188,189,190,191,192,193,194],[55,75,83,146,147],[52,53,133,201],[55,69,83],[85],[173,174],[173,174,175,176],[178],[88],[89,90,91,92,93],[90],[89],[131],[127,152],[39,129,145],[127,149,150],[127,150],[129],[62,129],[39,53,63,127,128,129],[39,62,63,127,129,141,144],[39,63,127,128,129],[39,127,129],[39,127,129,134,138],[39,53,55,62,129,135,136,137],[53,55,81],[39,48,53,62,63,127,129,148,149],[39,62,127,142,143],[39,53,62,63,127,129,141,142],[127],[39,63,127,129],[127,128,130,132,139,140,143,145,149,150,151,152],[39,53,62,63,67,69,86,127,128],[95,98,99,101,103,110],[100],[100,101,104],[83,95,99,100,103],[100,104,105,106,107,108,109],[100,104],[99,104,127],[95,99,103],[94,103],[103],[87,95,97,98,99,101,102,103,110,111,112,113,114,115,116,117,118,122,123,124,125,126],[96],[95,101,103,110],[98],[100,120,121],[100,119],[87,101],[94,95,100],[87,97,117],[95],[87,96],[103,110,111],[87,95,97,102,103,112],[87,95,98,99,101,102],[40],[42],[43,48],[44,52,53,60,69],[44,45,52,60],[46,76],[47,48,53,61],[48,69],[49,50,52,60],[50],[51,52],[52],[52,53,54,69,75],[53,54],[55,60,69,75],[52,53,55,56,60,69,72,75],[55,57,69,72,75],[40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82],[52,58],[59,75],[50,52,60,69],[61],[62],[42,63],[64,74],[65],[66],[52,67],[67,68,76,78],[52,69],[70],[71],[60,69,72],[73],[60,74],[66,75],[76],[69,77],[78],[79],[52,54,69,75,78,80],[69,81]],"referencedMap":[[165,1],[168,2],[164,1],[166,3],[167,1],[85,4],[169,5],[171,6],[172,7],[180,8],[196,9],[184,10],[185,11],[183,12],[186,13],[187,14],[188,15],[189,16],[190,17],[191,18],[192,19],[193,20],[194,21],[195,22],[148,23],[134,24],[146,25],[86,26],[175,27],[177,28],[176,27],[179,29],[89,30],[94,31],[91,32],[93,32],[90,33],[132,34],[158,35],[159,36],[160,37],[161,38],[157,39],[130,40],[152,41],[145,42],[151,43],[149,44],[139,45],[138,46],[137,47],[150,48],[162,49],[143,50],[142,51],[140,52],[153,53],[128,51],[129,54],[126,55],[106,56],[109,57],[104,58],[110,59],[107,60],[105,61],[100,62],[108,60],[123,63],[124,64],[127,65],[111,66],[125,67],[99,68],[122,69],[121,56],[120,70],[102,71],[101,72],[118,73],[115,74],[114,74],[113,74],[116,74],[97,75],[112,76],[98,77],[103,78],[40,79],[42,80],[43,81],[44,82],[45,83],[46,84],[47,85],[48,86],[49,87],[50,88],[51,89],[52,90],[53,91],[54,92],[55,93],[56,94],[57,95],[83,96],[58,97],[59,98],[60,99],[61,100],[62,101],[63,102],[64,103],[65,104],[66,105],[67,106],[68,107],[69,108],[70,109],[71,110],[72,111],[73,112],[74,113],[75,114],[76,115],[77,116],[78,117],[79,118],[80,119],[81,120]],"exportedModulesMap":[[165,1],[168,2],[164,1],[166,3],[167,1],[85,4],[169,5],[171,6],[172,7],[180,8],[196,9],[184,10],[185,11],[183,12],[186,13],[187,14],[188,15],[189,16],[190,17],[191,18],[192,19],[193,20],[194,21],[195,22],[148,23],[134,24],[146,25],[86,26],[175,27],[177,28],[176,27],[179,29],[89,30],[94,31],[91,32],[93,32],[90,33],[132,34],[158,35],[159,36],[160,37],[161,38],[157,39],[130,40],[152,41],[145,42],[151,43],[149,44],[139,45],[138,46],[137,47],[150,48],[162,49],[143,50],[142,51],[140,52],[153,53],[128,51],[129,54],[126,55],[106,56],[109,57],[104,58],[110,59],[107,60],[105,61],[100,62],[108,60],[123,63],[124,64],[127,65],[111,66],[125,67],[99,68],[122,69],[121,56],[120,70],[102,71],[101,72],[118,73],[115,74],[114,74],[113,74],[116,74],[97,75],[112,76],[98,77],[103,78],[40,79],[42,80],[43,81],[44,82],[45,83],[46,84],[47,85],[48,86],[49,87],[50,88],[51,89],[52,90],[53,91],[54,92],[55,93],[56,94],[57,95],[83,96],[58,97],[59,98],[60,99],[61,100],[62,101],[63,102],[64,103],[65,104],[66,105],[67,106],[68,107],[69,108],[70,109],[71,110],[72,111],[73,112],[74,113],[75,114],[76,115],[77,116],[78,117],[79,118],[80,119],[81,120]],"semanticDiagnosticsPerFile":[165,163,168,164,166,167,85,169,170,171,172,180,181,96,182,196,184,185,183,186,187,188,189,190,191,192,193,194,195,84,147,148,197,198,199,200,131,133,134,39,146,86,135,173,175,177,176,174,144,136,179,178,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,92,89,94,91,88,93,90,132,156,154,155,158,159,160,161,157,130,152,145,151,149,139,138,137,150,162,143,142,140,153,141,128,129,126,106,109,104,110,107,105,100,108,123,124,127,111,125,99,122,121,119,120,102,101,118,95,115,114,113,116,117,87,97,112,98,103,40,42,43,44,45,46,47,48,49,50,51,52,53,54,41,82,55,56,57,83,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81]},"version":"4.3.3"}
|