@cdktn/commons 0.23.0-pre.38 → 0.23.0-pre.39
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/build/checkpoint.d.ts.map +1 -0
- package/build/checkpoint.js +176 -0
- package/build/config.d.ts.map +1 -0
- package/build/config.js +267 -0
- package/build/config.test.d.ts.map +1 -0
- package/build/config.test.js +680 -0
- package/build/construct-maker-target.d.ts.map +1 -0
- package/build/construct-maker-target.js +129 -0
- package/build/construct-maker-target.test.d.ts.map +1 -0
- package/build/construct-maker-target.test.js +72 -0
- package/build/debug.d.ts.map +1 -0
- package/build/debug.js +379 -0
- package/build/environment.d.ts.map +1 -0
- package/build/environment.js +15 -0
- package/build/errors.d.ts.map +1 -0
- package/build/errors.js +75 -0
- package/build/gradle.d.ts.map +1 -0
- package/build/gradle.js +160 -0
- package/build/index.d.ts.map +1 -0
- package/{src → build}/index.js +1 -1
- package/build/logging.d.ts.map +1 -0
- package/build/logging.js +117 -0
- package/{src → build}/module-schema.d.ts +1 -0
- package/build/module-schema.d.ts.map +1 -0
- package/build/module-schema.js +3 -0
- package/build/provider-schema.d.ts.map +1 -0
- package/build/provider-schema.js +21 -0
- package/build/terraform-module.d.ts.map +1 -0
- package/build/terraform-module.js +23 -0
- package/build/terraform-module.test.d.ts.map +1 -0
- package/build/terraform-module.test.js +31 -0
- package/build/terraform.d.ts.map +1 -0
- package/build/terraform.js +12 -0
- package/build/util.d.ts.map +1 -0
- package/build/util.js +262 -0
- package/build/version.d.ts.map +1 -0
- package/build/version.js +11 -0
- package/package.json +4 -4
- package/src/checkpoint.d.ts.map +0 -1
- package/src/checkpoint.js +0 -176
- package/src/config.d.ts.map +0 -1
- package/src/config.js +0 -267
- package/src/config.test.d.ts.map +0 -1
- package/src/config.test.js +0 -680
- package/src/construct-maker-target.d.ts.map +0 -1
- package/src/construct-maker-target.js +0 -129
- package/src/construct-maker-target.test.d.ts.map +0 -1
- package/src/construct-maker-target.test.js +0 -72
- package/src/debug.d.ts.map +0 -1
- package/src/debug.js +0 -379
- package/src/environment.d.ts.map +0 -1
- package/src/environment.js +0 -15
- package/src/errors.d.ts.map +0 -1
- package/src/errors.js +0 -75
- package/src/gradle.d.ts.map +0 -1
- package/src/gradle.js +0 -160
- package/src/index.d.ts.map +0 -1
- package/src/logging.d.ts.map +0 -1
- package/src/logging.js +0 -117
- package/src/module-schema.d.ts.map +0 -1
- package/src/module-schema.js +0 -3
- package/src/provider-schema.d.ts.map +0 -1
- package/src/provider-schema.js +0 -21
- package/src/terraform-module.d.ts.map +0 -1
- package/src/terraform-module.js +0 -23
- package/src/terraform-module.test.d.ts.map +0 -1
- package/src/terraform-module.test.js +0 -31
- package/src/terraform.d.ts.map +0 -1
- package/src/terraform.js +0 -12
- package/src/util.d.ts.map +0 -1
- package/src/util.js +0 -262
- package/src/version.d.ts.map +0 -1
- package/src/version.js +0 -11
- /package/{src → build}/checkpoint.d.ts +0 -0
- /package/{src → build}/config.d.ts +0 -0
- /package/{src → build}/config.test.d.ts +0 -0
- /package/{src → build}/construct-maker-target.d.ts +0 -0
- /package/{src → build}/construct-maker-target.test.d.ts +0 -0
- /package/{src → build}/debug.d.ts +0 -0
- /package/{src → build}/environment.d.ts +0 -0
- /package/{src → build}/errors.d.ts +0 -0
- /package/{src → build}/gradle.d.ts +0 -0
- /package/{src → build}/index.d.ts +0 -0
- /package/{src → build}/logging.d.ts +0 -0
- /package/{src → build}/provider-schema.d.ts +0 -0
- /package/{src → build}/terraform-module.d.ts +0 -0
- /package/{src → build}/terraform-module.test.d.ts +0 -0
- /package/{src → build}/terraform.d.ts +0 -0
- /package/{src → build}/util.d.ts +0 -0
- /package/{src → build}/version.d.ts +0 -0
package/build/util.js
ADDED
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.hasNoColorFlagOrEnv = exports.ensureAllSettledBeforeThrowing = exports.downloadFile = exports.HttpError = exports.downcaseFirst = exports.readCDKTFManifest = exports.readCDKTFVersion = exports.exec = exports.mkdtemp = exports.withTempDir = exports.shell = void 0;
|
|
30
|
+
const cross_spawn_1 = require("cross-spawn");
|
|
31
|
+
const fs = __importStar(require("fs-extra"));
|
|
32
|
+
const follow_redirects_1 = require("follow-redirects");
|
|
33
|
+
const os = __importStar(require("os"));
|
|
34
|
+
const path = __importStar(require("path"));
|
|
35
|
+
const logging_1 = require("./logging");
|
|
36
|
+
const cdktn_1 = require("cdktn");
|
|
37
|
+
const config = __importStar(require("./config"));
|
|
38
|
+
const strip_ansi_1 = __importDefault(require("strip-ansi"));
|
|
39
|
+
async function shell(program, args = [], options = {}) {
|
|
40
|
+
const stderr = new Array();
|
|
41
|
+
const stdout = new Array();
|
|
42
|
+
try {
|
|
43
|
+
return await (0, exports.exec)(program, args, options, (chunk) => {
|
|
44
|
+
const sanitizedChunk = options.noColor
|
|
45
|
+
? (0, strip_ansi_1.default)(chunk.toLocaleString())
|
|
46
|
+
: chunk.toLocaleString();
|
|
47
|
+
stdout.push(sanitizedChunk);
|
|
48
|
+
console.log(sanitizedChunk);
|
|
49
|
+
}, (chunk) => {
|
|
50
|
+
const sanitizedChunk = options.noColor
|
|
51
|
+
? (0, strip_ansi_1.default)(chunk.toLocaleString())
|
|
52
|
+
: chunk.toLocaleString();
|
|
53
|
+
stderr.push(sanitizedChunk);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
if (stderr.length > 0) {
|
|
58
|
+
e.stderr = stderr.map((chunk) => chunk.toString()).join("");
|
|
59
|
+
if (options.noColor) {
|
|
60
|
+
e.stderr = (0, strip_ansi_1.default)(e.stderr);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (stdout.length > 0) {
|
|
64
|
+
e.stdout = stdout.join("");
|
|
65
|
+
if (options.noColor) {
|
|
66
|
+
e.stdout = (0, strip_ansi_1.default)(e.stdout);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
throw e;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.shell = shell;
|
|
73
|
+
async function withTempDir(dirname, closure) {
|
|
74
|
+
const prevdir = process.cwd();
|
|
75
|
+
const parent = await fs.mkdtemp(path.join(os.tmpdir(), "cdktf."));
|
|
76
|
+
const workdir = path.join(parent, dirname);
|
|
77
|
+
await fs.mkdirp(workdir);
|
|
78
|
+
try {
|
|
79
|
+
process.chdir(workdir);
|
|
80
|
+
await closure();
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
process.chdir(prevdir);
|
|
84
|
+
await fs.remove(parent);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.withTempDir = withTempDir;
|
|
88
|
+
async function mkdtemp(closure) {
|
|
89
|
+
const workdir = await fs.mkdtemp(path.join(os.tmpdir(), "cdktf."));
|
|
90
|
+
try {
|
|
91
|
+
await closure(workdir);
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
await fs.remove(workdir);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.mkdtemp = mkdtemp;
|
|
98
|
+
const exec = async (command, args, options, stdout, stderr, sendToStderr = true) => {
|
|
99
|
+
// if options.noColor is not set, checking the flags & environment if it should be set
|
|
100
|
+
// This is required for collectDebugInformation() which does not have knowledge about flags
|
|
101
|
+
if (typeof options.noColor !== "boolean" && hasNoColorFlagOrEnv()) {
|
|
102
|
+
options.noColor = true;
|
|
103
|
+
}
|
|
104
|
+
return new Promise((ok, ko) => {
|
|
105
|
+
var _a, _b, _c, _d;
|
|
106
|
+
const child = (0, cross_spawn_1.spawn)(command, args, options);
|
|
107
|
+
const out = new Array();
|
|
108
|
+
const err = new Array();
|
|
109
|
+
if (stdout !== undefined) {
|
|
110
|
+
(_a = child.stdout) === null || _a === void 0 ? void 0 : _a.on("data", (chunk) => {
|
|
111
|
+
const sanitizedChunk = options.noColor
|
|
112
|
+
? (0, strip_ansi_1.default)(chunk.toLocaleString())
|
|
113
|
+
: chunk.toLocaleString();
|
|
114
|
+
(0, logging_1.processLoggerDebug)(sanitizedChunk);
|
|
115
|
+
out.push(sanitizedChunk);
|
|
116
|
+
stdout(sanitizedChunk);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
(_b = child.stdout) === null || _b === void 0 ? void 0 : _b.on("data", (chunk) => {
|
|
121
|
+
const sanitizedChunk = options.noColor
|
|
122
|
+
? (0, strip_ansi_1.default)(chunk.toLocaleString())
|
|
123
|
+
: chunk.toLocaleString();
|
|
124
|
+
(0, logging_1.processLoggerDebug)(sanitizedChunk);
|
|
125
|
+
out.push(sanitizedChunk);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
if (stderr !== undefined) {
|
|
129
|
+
(_c = child.stderr) === null || _c === void 0 ? void 0 : _c.on("data", (chunk) => {
|
|
130
|
+
const sanitizedChunk = options.noColor
|
|
131
|
+
? (0, strip_ansi_1.default)(chunk.toLocaleString())
|
|
132
|
+
: chunk.toLocaleString();
|
|
133
|
+
(0, logging_1.processLoggerError)(sanitizedChunk);
|
|
134
|
+
if (sendToStderr) {
|
|
135
|
+
stderr(sanitizedChunk);
|
|
136
|
+
}
|
|
137
|
+
err.push(sanitizedChunk);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
(_d = child.stderr) === null || _d === void 0 ? void 0 : _d.on("data", (chunk) => {
|
|
142
|
+
const sanitizedChunk = options.noColor
|
|
143
|
+
? (0, strip_ansi_1.default)(chunk.toLocaleString())
|
|
144
|
+
: chunk.toLocaleString();
|
|
145
|
+
(0, logging_1.processLoggerError)(sanitizedChunk);
|
|
146
|
+
if (sendToStderr) {
|
|
147
|
+
process.stderr.write(sanitizedChunk);
|
|
148
|
+
}
|
|
149
|
+
err.push(sanitizedChunk);
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
child.once("error", (err) => ko(err));
|
|
153
|
+
child.once("close", (code) => {
|
|
154
|
+
if (code !== 0) {
|
|
155
|
+
const error = new Error(`non-zero exit code ${code}`);
|
|
156
|
+
error.stderr = err.map((chunk) => chunk.toString()).join("");
|
|
157
|
+
return ko(error);
|
|
158
|
+
}
|
|
159
|
+
return ok(out.join(""));
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
exports.exec = exec;
|
|
164
|
+
async function readCDKTFVersion(outputDir) {
|
|
165
|
+
const outputFile = path.join(outputDir, "cdk.tf.json");
|
|
166
|
+
if (fs.existsSync(outputFile)) {
|
|
167
|
+
const outputJSON = fs.readFileSync(outputFile, "utf8");
|
|
168
|
+
const data = JSON.parse(outputJSON);
|
|
169
|
+
return data["//"].metadata.version;
|
|
170
|
+
}
|
|
171
|
+
return "";
|
|
172
|
+
}
|
|
173
|
+
exports.readCDKTFVersion = readCDKTFVersion;
|
|
174
|
+
async function readCDKTFManifest() {
|
|
175
|
+
const { output } = config.readConfigSync();
|
|
176
|
+
const json = await fs.readFile(path.join(output, cdktn_1.Manifest.fileName));
|
|
177
|
+
return JSON.parse(json.toString());
|
|
178
|
+
}
|
|
179
|
+
exports.readCDKTFManifest = readCDKTFManifest;
|
|
180
|
+
/**
|
|
181
|
+
* Downcase the first character in a string.
|
|
182
|
+
*
|
|
183
|
+
* @param str the string to be processed.
|
|
184
|
+
*/
|
|
185
|
+
function downcaseFirst(str) {
|
|
186
|
+
if (str === "") {
|
|
187
|
+
return str;
|
|
188
|
+
}
|
|
189
|
+
return `${str[0].toLocaleLowerCase()}${str.slice(1)}`;
|
|
190
|
+
}
|
|
191
|
+
exports.downcaseFirst = downcaseFirst;
|
|
192
|
+
class HttpError extends Error {
|
|
193
|
+
constructor(message, statusCode) {
|
|
194
|
+
super(message); // 'Error' breaks prototype chain here
|
|
195
|
+
this.statusCode = statusCode;
|
|
196
|
+
Object.setPrototypeOf(this, new.target.prototype); // restore prototype chain
|
|
197
|
+
// see: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html#support-for-newtarget
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
exports.HttpError = HttpError;
|
|
201
|
+
async function downloadFile(url, targetFilename) {
|
|
202
|
+
// if the type is inferred to be "http|https" calling .get() is not possible
|
|
203
|
+
// because the options parameter (which we don't use anyway) for get is
|
|
204
|
+
// not compatible between http and https -> so we treat it as http
|
|
205
|
+
const client = (url.startsWith("http://") ? follow_redirects_1.http : follow_redirects_1.https);
|
|
206
|
+
const file = fs.createWriteStream(targetFilename);
|
|
207
|
+
return new Promise((ok, ko) => {
|
|
208
|
+
const request = client.get(url, (response) => {
|
|
209
|
+
if (response.statusCode !== 200) {
|
|
210
|
+
ko(new HttpError(`Failed to get '${url}' (${response.statusCode})`, response.statusCode));
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
response.pipe(file);
|
|
214
|
+
});
|
|
215
|
+
file.on("finish", () => ok());
|
|
216
|
+
request.on("error", (err) => {
|
|
217
|
+
fs.unlink(targetFilename, () => ko(err));
|
|
218
|
+
});
|
|
219
|
+
file.on("error", (err) => {
|
|
220
|
+
fs.unlink(targetFilename, () => ko(err));
|
|
221
|
+
});
|
|
222
|
+
request.end();
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
exports.downloadFile = downloadFile;
|
|
226
|
+
/**
|
|
227
|
+
* Awaits a promise and makes sure it's error (if any) is only thrown after all other promises are settled
|
|
228
|
+
* if the promise does not throw an error, the other promises won't be awaited
|
|
229
|
+
* @param p promise to await
|
|
230
|
+
* @param promises promises to await to be all settled if p failed before throwing error that p failed with
|
|
231
|
+
*/
|
|
232
|
+
async function ensureAllSettledBeforeThrowing(p, promises) {
|
|
233
|
+
try {
|
|
234
|
+
await p;
|
|
235
|
+
}
|
|
236
|
+
catch (e) {
|
|
237
|
+
// if an error happened, we still need to wait for all other promises that
|
|
238
|
+
// are currently in progress to complete to allow them to properly wrap up
|
|
239
|
+
await Promise.allSettled(promises);
|
|
240
|
+
throw e;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
exports.ensureAllSettledBeforeThrowing = ensureAllSettledBeforeThrowing;
|
|
244
|
+
/**
|
|
245
|
+
* returns true if --no-color is passed as CLI flag or the env var FORCE_COLOR is set to "0"
|
|
246
|
+
* Used for cases where we can't pass down the noColor flag (e.g. when collecting debug information from the environment)
|
|
247
|
+
* This is the same behavior as the `chalk` lib we use for coloring output
|
|
248
|
+
*/
|
|
249
|
+
function hasNoColorFlagOrEnv() {
|
|
250
|
+
return hasFlag("no-color") || process.env.FORCE_COLOR === "0";
|
|
251
|
+
}
|
|
252
|
+
exports.hasNoColorFlagOrEnv = hasNoColorFlagOrEnv;
|
|
253
|
+
// From: https://github.com/sindresorhus/has-flag/blob/main/index.js
|
|
254
|
+
// as used in https://github.com/chalk/chalk
|
|
255
|
+
function hasFlag(flag) {
|
|
256
|
+
const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
|
|
257
|
+
const position = process.argv.indexOf(prefix + flag);
|
|
258
|
+
const terminatorPosition = process.argv.indexOf("--");
|
|
259
|
+
return (position !== -1 &&
|
|
260
|
+
(terminatorPosition === -1 || position < terminatorPosition));
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsNkNBQW9DO0FBQ3BDLDZDQUErQjtBQUMvQix1REFBK0M7QUFDL0MsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3Qix1Q0FBbUU7QUFDbkUsaUNBQTRDO0FBQzVDLGlEQUFtQztBQUNuQyw0REFBbUM7QUFFNUIsS0FBSyxVQUFVLEtBQUssQ0FDekIsT0FBZSxFQUNmLE9BQWlCLEVBQUUsRUFDbkIsVUFBZ0QsRUFBRTtJQUVsRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBdUIsQ0FBQztJQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBQ25DLElBQUksQ0FBQztRQUNILE9BQU8sTUFBTSxJQUFBLFlBQUksRUFDZixPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPO2dCQUNwQyxDQUFDLENBQUMsSUFBQSxvQkFBUyxFQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxFQUNELENBQUMsS0FBMEIsRUFBRSxFQUFFO1lBQzdCLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxPQUFPO2dCQUNwQyxDQUFDLENBQUMsSUFBQSxvQkFBUyxFQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsSUFBSSxD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QUNmLFFBQXNDO0lBRXRDLElBQUksQ0FBQztRQUNILE1BQU0sQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCwwRUFBMEU7UUFDMUUsMEVBQTBFO1FBQzFFLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsQ0FBQztJQUNWLENBQUM7QUFDSCxDQUFDO0FBWkQsd0VBWUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsbUJBQW1CO0lBQ2pDLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxLQUFLLEdBQUcsQ0FBQztBQUNoRSxDQUFDO0FBRkQsa0RBRUM7QUFFRCxvRUFBb0U7QUFDcEUsNENBQTRDO0FBQzVDLFNBQVMsT0FBTyxDQUFDLElBQVk7SUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ3JELE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsT0FBTyxDQUNMLFFBQVEsS0FBSyxDQUFDLENBQUM7UUFDZixDQUFDLGtCQUFrQixLQUFLLENBQUMsQ0FBQyxJQUFJLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxDQUM3RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBTcGF3bk9wdGlvbnMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgc3Bhd24gfSBmcm9tIFwiY3Jvc3Mtc3Bhd25cIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgaHR0cHMsIGh0dHAgfSBmcm9tIFwiZm9sbG93LXJlZGlyZWN0c1wiO1xuaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBwcm9jZXNzTG9nZ2VyRXJyb3IsIHByb2Nlc3NMb2dnZXJEZWJ1ZyB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcbmltcG9ydCB7IElNYW5pZmVzdCwgTWFuaWZlc3QgfSBmcm9tIFwiY2RrdG5cIjtcbmltcG9ydCAqIGFzIGNvbmZpZyBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCBzdHJpcEFuc2kgZnJvbSBcInN0cmlwLWFuc2lcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNoZWxsKFxuICBwcm9ncmFtOiBzdHJpbmcsXG4gIGFyZ3M6IHN0cmluZ1tdID0gW10sXG4gIG9wdGlvbnM6IFNwYXduT3B0aW9ucyAmIHsgbm9Db2xvcj86IGJvb2xlYW4gfSA9IHt9LFxuKSB7XG4gIGNvbnN0IHN0ZGVyciA9IG5ldyBBcnJheTxzdHJpbmcgfCBVaW50OEFycmF5PigpO1xuICBjb25zdCBzdGRvdXQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBleGVjKFxuICAgICAgcHJvZ3JhbSxcbiAgICAgIGFyZ3MsXG4gICAgICBvcHRpb25zLFxuICAgICAgKGNodW5rOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3Qgc2FuaXRpemVkQ2h1bmsgPSBvcHRpb25zLm5vQ29sb3JcbiAgICAgICAgICA/IHN0cmlwQW5zaShjaHVuay50b0xvY2FsZVN0cmluZygpKVxuICAgICAgICAgIDogY2h1bmsudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgc3Rkb3V0LnB1c2goc2FuaXRpemVkQ2h1bmspO1xuICAgICAgICBjb25zb2xlLmxvZyhzYW5pdGl6ZWRDaHVuayk7XG4gICAgICB9LFxuICAgICAgKGNodW5rOiBzdHJpbmcgfCBVaW50OEFycmF5KSA9PiB7XG4gICAgICAgIGNvbnN0IHNhbml0aXplZENodW5rID0gb3B0aW9ucy5ub0NvbG9yXG4gICAgICAgICAgPyBzdHJpcEFuc2koY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSlcbiAgICAgICAgICA6IGNodW5rLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICAgIHN0ZGVyci5wdXNoKHNhbml0aXplZENodW5rKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgaWYgKHN0ZGVyci5sZW5ndGggPiAwKSB7XG4gICAgICBlLnN0ZGVyciA9IHN0ZGVyci5tYXAoKGNodW5rKSA9PiBjaHVuay50b1N0cmluZygpKS5qb2luKFwiXCIpO1xuICAgICAgaWYgKG9wdGlvbnMubm9Db2xvcikge1xuICAgICAgICBlLnN0ZGVyciA9IHN0cmlwQW5zaShlLnN0ZGVycik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChzdGRvdXQubGVuZ3RoID4gMCkge1xuICAgICAgZS5zdGRvdXQgPSBzdGRvdXQuam9pbihcIlwiKTtcbiAgICAgIGlmIChvcHRpb25zLm5vQ29sb3IpIHtcbiAgICAgICAgZS5zdGRvdXQgPSBzdHJpcEFuc2koZS5zdGRvdXQpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoVGVtcERpcihcbiAgZGlybmFtZTogc3RyaW5nLFxuICBjbG9zdXJlOiAoKSA9PiBQcm9taXNlPHZvaWQ+LFxuKSB7XG4gIGNvbnN0IHByZXZkaXIgPSBwcm9jZXNzLmN3ZCgpO1xuICBjb25zdCBwYXJlbnQgPSBhd2FpdCBmcy5ta2R0ZW1wKHBhdGguam9pbihvcy50bXBkaXIoKSwgXCJjZGt0Zi5cIikpO1xuICBjb25zdCB3b3JrZGlyID0gcGF0aC5qb2luKHBhcmVudCwgZGlybmFtZSk7XG4gIGF3YWl0IGZzLm1rZGlycCh3b3JrZGlyKTtcbiAgdHJ5IHtcbiAgICBwcm9jZXNzLmNoZGlyKHdvcmtkaXIpO1xuICAgIGF3YWl0IGNsb3N1cmUoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBwcm9jZXNzLmNoZGlyKHByZXZkaXIpO1xuICAgIGF3YWl0IGZzLnJlbW92ZShwYXJlbnQpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBta2R0ZW1wKGNsb3N1cmU6IChkaXI6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPikge1xuICBjb25zdCB3b3JrZGlyID0gYXdhaXQgZnMubWtkdGVtcChwYXRoLmpvaW4ob3MudG1wZGlyKCksIFwiY2RrdGYuXCIpKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCBjbG9zdXJlKHdvcmtkaXIpO1xuICB9IGZpbmFsbHkge1xuICAgIGF3YWl0IGZzLnJlbW92ZSh3b3JrZGlyKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZXhlYyA9IGFzeW5jIChcbiAgY29tbWFuZDogc3RyaW5nLFxuICBhcmdzOiBzdHJpbmdbXSxcbiAgb3B0aW9uczogU3Bhd25PcHRpb25zICYgeyBub0NvbG9yPzogYm9vbGVhbiB9LFxuICBzdGRvdXQ/OiAoY2h1bms6IHN0cmluZykgPT4gYW55LFxuICBzdGRlcnI/OiAoY2h1bms6IHN0cmluZyB8IFVpbnQ4QXJyYXkpID0+IGFueSxcbiAgc2VuZFRvU3RkZXJyID0gdHJ1ZSxcbik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIC8vIGlmIG9wdGlvbnMubm9Db2xvciBpcyBub3Qgc2V0LCBjaGVja2luZyB0aGUgZmxhZ3MgJiBlbnZpcm9ubWVudCBpZiBpdCBzaG91bGQgYmUgc2V0XG4gIC8vIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGNvbGxlY3REZWJ1Z0luZm9ybWF0aW9uKCkgd2hpY2ggZG9lcyBub3QgaGF2ZSBrbm93bGVkZ2UgYWJvdXQgZmxhZ3NcbiAgaWYgKHR5cGVvZiBvcHRpb25zLm5vQ29sb3IgIT09IFwiYm9vbGVhblwiICYmIGhhc05vQ29sb3JGbGFnT3JFbnYoKSkge1xuICAgIG9wdGlvbnMubm9Db2xvciA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gbmV3IFByb21pc2UoKG9rLCBrbykgPT4ge1xuICAgIGNvbnN0IGNoaWxkID0gc3Bhd24oY29tbWFuZCwgYXJncywgb3B0aW9ucyk7XG4gICAgY29uc3Qgb3V0ID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICBjb25zdCBlcnIgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGlmIChzdGRvdXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2hpbGQuc3Rkb3V0Py5vbihcImRhdGFcIiwgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICAgICAgY29uc3Qgc2FuaXRpemVkQ2h1bmsgPSBvcHRpb25zLm5vQ29sb3JcbiAgICAgICAgICA/IHN0cmlwQW5zaShjaHVuay50b0xvY2FsZVN0cmluZygpKVxuICAgICAgICAgIDogY2h1bmsudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgcHJvY2Vzc0xvZ2dlckRlYnVnKHNhbml0aXplZENodW5rKTtcbiAgICAgICAgb3V0LnB1c2goc2FuaXRpemVkQ2h1bmspO1xuICAgICAgICBzdGRvdXQoc2FuaXRpemVkQ2h1bmspO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNoaWxkLnN0ZG91dD8ub24oXCJkYXRhXCIsIChjaHVuazogQnVmZmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHNhbml0aXplZENodW5rID0gb3B0aW9ucy5ub0NvbG9yXG4gICAgICAgICAgPyBzdHJpcEFuc2koY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSlcbiAgICAgICAgICA6IGNodW5rLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICAgIHByb2Nlc3NMb2dnZXJEZWJ1ZyhzYW5pdGl6ZWRDaHVuayk7XG4gICAgICAgIG91dC5wdXNoKHNhbml0aXplZENodW5rKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoc3RkZXJyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNoaWxkLnN0ZGVycj8ub24oXCJkYXRhXCIsIChjaHVuazogc3RyaW5nIHwgVWludDhBcnJheSkgPT4ge1xuICAgICAgICBjb25zdCBzYW5pdGl6ZWRDaHVuayA9IG9wdGlvbnMubm9Db2xvclxuICAgICAgICAgID8gc3RyaXBBbnNpKGNodW5rLnRvTG9jYWxlU3RyaW5nKCkpXG4gICAgICAgICAgOiBjaHVuay50b0xvY2FsZVN0cmluZygpO1xuICAgICAgICBwcm9jZXNzTG9nZ2VyRXJyb3Ioc2FuaXRpemVkQ2h1bmspO1xuICAgICAgICBpZiAoc2VuZFRvU3RkZXJyKSB7XG4gICAgICAgICAgc3RkZXJyKHNhbml0aXplZENodW5rKTtcbiAgICAgICAgfVxuICAgICAgICBlcnIucHVzaChzYW5pdGl6ZWRDaHVuayk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2hpbGQuc3RkZXJyPy5vbihcImRhdGFcIiwgKGNodW5rOiBzdHJpbmcgfCBVaW50OEFycmF5KSA9PiB7XG4gICAgICAgIGNvbnN0IHNhbml0aXplZENodW5rID0gb3B0aW9ucy5ub0NvbG9yXG4gICAgICAgICAgPyBzdHJpcEFuc2koY2h1bmsudG9Mb2NhbGVTdHJpbmcoKSlcbiAgICAgICAgICA6IGNodW5rLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgICAgIHByb2Nlc3NMb2dnZXJFcnJvcihzYW5pdGl6ZWRDaHVuayk7XG4gICAgICAgIGlmIChzZW5kVG9TdGRlcnIpIHtcbiAgICAgICAgICBwcm9jZXNzLnN0ZGVyci53cml0ZShzYW5pdGl6ZWRDaHVuayk7XG4gICAgICAgIH1cbiAgICAgICAgZXJyLnB1c2goc2FuaXRpemVkQ2h1bmspO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGNoaWxkLm9uY2UoXCJlcnJvclwiLCAoZXJyOiBhbnkpID0+IGtvKGVycikpO1xuICAgIGNoaWxkLm9uY2UoXCJjbG9zZVwiLCAoY29kZTogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAoY29kZSAhPT0gMCkge1xuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihgbm9uLXplcm8gZXhpdCBjb2RlICR7Y29kZX1gKTtcbiAgICAgICAgKGVycm9yIGFzIGFueSkuc3RkZXJyID0gZXJyLm1hcCgoY2h1bmspID0+IGNodW5rLnRvU3RyaW5nKCkpLmpvaW4oXCJcIik7XG4gICAgICAgIHJldHVybiBrbyhlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2sob3V0LmpvaW4oXCJcIikpO1xuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkQ0RLVEZWZXJzaW9uKG91dHB1dERpcjogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3Qgb3V0cHV0RmlsZSA9IHBhdGguam9pbihvdXRwdXREaXIsIFwiY2RrLnRmLmpzb25cIik7XG4gIGlmIChmcy5leGlzdHNTeW5jKG91dHB1dEZpbGUpKSB7XG4gICAgY29uc3Qgb3V0cHV0SlNPTiA9IGZzLnJlYWRGaWxlU3luYyhvdXRwdXRGaWxlLCBcInV0ZjhcIik7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2Uob3V0cHV0SlNPTik7XG4gICAgcmV0dXJuIGRhdGFbXCIvL1wiXS5tZXRhZGF0YS52ZXJzaW9uO1xuICB9XG5cbiAgcmV0dXJuIFwiXCI7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkQ0RLVEZNYW5pZmVzdCgpOiBQcm9taXNlPElNYW5pZmVzdD4ge1xuICBjb25zdCB7IG91dHB1dCB9ID0gY29uZmlnLnJlYWRDb25maWdTeW5jKCk7XG4gIGNvbnN0IGpzb24gPSBhd2FpdCBmcy5yZWFkRmlsZShwYXRoLmpvaW4ob3V0cHV0LCBNYW5pZmVzdC5maWxlTmFtZSkpO1xuICByZXR1cm4gSlNPTi5wYXJzZShqc29uLnRvU3RyaW5nKCkpIGFzIElNYW5pZmVzdDtcbn1cblxuLyoqXG4gKiBEb3duY2FzZSB0aGUgZmlyc3QgY2hhcmFjdGVyIGluIGEgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSBzdHIgdGhlIHN0cmluZyB0byBiZSBwcm9jZXNzZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkb3duY2FzZUZpcnN0KHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHN0ciA9PT0gXCJcIikge1xuICAgIHJldHVybiBzdHI7XG4gIH1cbiAgcmV0dXJuIGAke3N0clswXS50b0xvY2FsZUxvd2VyQ2FzZSgpfSR7c3RyLnNsaWNlKDEpfWA7XG59XG5cbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1lc3NhZ2U/OiBzdHJpbmcsXG4gICAgcHVibGljIHN0YXR1c0NvZGU/OiBudW1iZXIsXG4gICkge1xuICAgIHN1cGVyKG1lc3NhZ2UpOyAvLyAnRXJyb3InIGJyZWFrcyBwcm90b3R5cGUgY2hhaW4gaGVyZVxuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBuZXcudGFyZ2V0LnByb3RvdHlwZSk7IC8vIHJlc3RvcmUgcHJvdG90eXBlIGNoYWluXG4gICAgLy8gc2VlOiBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay9yZWxlYXNlLW5vdGVzL3R5cGVzY3JpcHQtMi0yLmh0bWwjc3VwcG9ydC1mb3ItbmV3dGFyZ2V0XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRvd25sb2FkRmlsZShcbiAgdXJsOiBzdHJpbmcsXG4gIHRhcmdldEZpbGVuYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gaWYgdGhlIHR5cGUgaXMgaW5mZXJyZWQgdG8gYmUgXCJodHRwfGh0dHBzXCIgY2FsbGluZyAuZ2V0KCkgaXMgbm90IHBvc3NpYmxlXG4gIC8vIGJlY2F1c2UgdGhlIG9wdGlvbnMgcGFyYW1ldGVyICh3aGljaCB3ZSBkb24ndCB1c2UgYW55d2F5KSBmb3IgZ2V0IGlzXG4gIC8vIG5vdCBjb21wYXRpYmxlIGJldHdlZW4gaHR0cCBhbmQgaHR0cHMgLT4gc28gd2UgdHJlYXQgaXQgYXMgaHR0cFxuICBjb25zdCBjbGllbnQgPSAodXJsLnN0YXJ0c1dpdGgoXCJodHRwOi8vXCIpID8gaHR0cCA6IGh0dHBzKSBhcyB0eXBlb2YgaHR0cDtcbiAgY29uc3QgZmlsZSA9IGZzLmNyZWF0ZVdyaXRlU3RyZWFtKHRhcmdldEZpbGVuYW1lKTtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChvaywga28pID0+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gY2xpZW50LmdldCh1cmwsIChyZXNwb25zZSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IDIwMCkge1xuICAgICAgICBrbyhcbiAgICAgICAgICBuZXcgSHR0cEVycm9yKFxuICAgICAgICAgICAgYEZhaWxlZCB0byBnZXQgJyR7dXJsfScgKCR7cmVzcG9uc2Uuc3RhdHVzQ29kZX0pYCxcbiAgICAgICAgICAgIHJlc3BvbnNlLnN0YXR1c0NvZGUsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmVzcG9uc2UucGlwZShmaWxlKTtcbiAgICB9KTtcblxuICAgIGZpbGUub24oXCJmaW5pc2hcIiwgKCkgPT4gb2soKSk7XG5cbiAgICByZXF1ZXN0Lm9uKFwiZXJyb3JcIiwgKGVycjogRXJyb3IpID0+IHtcbiAgICAgIGZzLnVubGluayh0YXJnZXRGaWxlbmFtZSwgKCkgPT4ga28oZXJyKSk7XG4gICAgfSk7XG5cbiAgICBmaWxlLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ge1xuICAgICAgZnMudW5saW5rKHRhcmdldEZpbGVuYW1lLCAoKSA9PiBrbyhlcnIpKTtcbiAgICB9KTtcblxuICAgIHJlcXVlc3QuZW5kKCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEF3YWl0cyBhIHByb21pc2UgYW5kIG1ha2VzIHN1cmUgaXQncyBlcnJvciAoaWYgYW55KSBpcyBvbmx5IHRocm93biBhZnRlciBhbGwgb3RoZXIgcHJvbWlzZXMgYXJlIHNldHRsZWRcbiAqIGlmIHRoZSBwcm9taXNlIGRvZXMgbm90IHRocm93IGFuIGVycm9yLCB0aGUgb3RoZXIgcHJvbWlzZXMgd29uJ3QgYmUgYXdhaXRlZFxuICogQHBhcmFtIHAgcHJvbWlzZSB0byBhd2FpdFxuICogQHBhcmFtIHByb21pc2VzIHByb21pc2VzIHRvIGF3YWl0IHRvIGJlIGFsbCBzZXR0bGVkIGlmIHAgZmFpbGVkIGJlZm9yZSB0aHJvd2luZyBlcnJvciB0aGF0IHAgZmFpbGVkIHdpdGhcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuc3VyZUFsbFNldHRsZWRCZWZvcmVUaHJvd2luZyhcbiAgcDogUHJvbWlzZTxhbnk+LFxuICBwcm9taXNlczogKFByb21pc2U8YW55PiB8IHVuZGVmaW5lZClbXSxcbikge1xuICB0cnkge1xuICAgIGF3YWl0IHA7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBpZiBhbiBlcnJvciBoYXBwZW5lZCwgd2Ugc3RpbGwgbmVlZCB0byB3YWl0IGZvciBhbGwgb3RoZXIgcHJvbWlzZXMgdGhhdFxuICAgIC8vIGFyZSBjdXJyZW50bHkgaW4gcHJvZ3Jlc3MgdG8gY29tcGxldGUgdG8gYWxsb3cgdGhlbSB0byBwcm9wZXJseSB3cmFwIHVwXG4gICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKHByb21pc2VzKTtcbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbi8qKlxuICogcmV0dXJucyB0cnVlIGlmIC0tbm8tY29sb3IgaXMgcGFzc2VkIGFzIENMSSBmbGFnIG9yIHRoZSBlbnYgdmFyIEZPUkNFX0NPTE9SIGlzIHNldCB0byBcIjBcIlxuICogVXNlZCBmb3IgY2FzZXMgd2hlcmUgd2UgY2FuJ3QgcGFzcyBkb3duIHRoZSBub0NvbG9yIGZsYWcgKGUuZy4gd2hlbiBjb2xsZWN0aW5nIGRlYnVnIGluZm9ybWF0aW9uIGZyb20gdGhlIGVudmlyb25tZW50KVxuICogVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvciBhcyB0aGUgYGNoYWxrYCBsaWIgd2UgdXNlIGZvciBjb2xvcmluZyBvdXRwdXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc05vQ29sb3JGbGFnT3JFbnYoKTogYm9vbGVhbiB7XG4gIHJldHVybiBoYXNGbGFnKFwibm8tY29sb3JcIikgfHwgcHJvY2Vzcy5lbnYuRk9SQ0VfQ09MT1IgPT09IFwiMFwiO1xufVxuXG4vLyBGcm9tOiBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2hhcy1mbGFnL2Jsb2IvbWFpbi9pbmRleC5qc1xuLy8gYXMgdXNlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vY2hhbGsvY2hhbGtcbmZ1bmN0aW9uIGhhc0ZsYWcoZmxhZzogc3RyaW5nKSB7XG4gIGNvbnN0IHByZWZpeCA9IGZsYWcuc3RhcnRzV2l0aChcIi1cIikgPyBcIlwiIDogZmxhZy5sZW5ndGggPT09IDEgPyBcIi1cIiA6IFwiLS1cIjtcbiAgY29uc3QgcG9zaXRpb24gPSBwcm9jZXNzLmFyZ3YuaW5kZXhPZihwcmVmaXggKyBmbGFnKTtcbiAgY29uc3QgdGVybWluYXRvclBvc2l0aW9uID0gcHJvY2Vzcy5hcmd2LmluZGV4T2YoXCItLVwiKTtcbiAgcmV0dXJuIChcbiAgICBwb3NpdGlvbiAhPT0gLTEgJiZcbiAgICAodGVybWluYXRvclBvc2l0aW9uID09PSAtMSB8fCBwb3NpdGlvbiA8IHRlcm1pbmF0b3JQb3NpdGlvbilcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,QAAuB,CAAC"}
|
package/build/version.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DISPLAY_VERSION = void 0;
|
|
4
|
+
// Copyright (c) HashiCorp, Inc
|
|
5
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
6
|
+
exports.DISPLAY_VERSION = `${versionNumber()}`;
|
|
7
|
+
function versionNumber() {
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
9
|
+
return require("../package.json").version.replace(/\+[0-9a-f]+$/, "");
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDdEIsUUFBQSxlQUFlLEdBQUcsR0FBRyxhQUFhLEVBQUUsRUFBRSxDQUFDO0FBRXBELFNBQVMsYUFBYTtJQUNwQixpRUFBaUU7SUFDakUsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmV4cG9ydCBjb25zdCBESVNQTEFZX1ZFUlNJT04gPSBgJHt2ZXJzaW9uTnVtYmVyKCl9YDtcblxuZnVuY3Rpb24gdmVyc2lvbk51bWJlcigpOiBzdHJpbmcge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICByZXR1cm4gcmVxdWlyZShcIi4uL3BhY2thZ2UuanNvblwiKS52ZXJzaW9uLnJlcGxhY2UoL1xcK1swLTlhLWZdKyQvLCBcIlwiKTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdktn/commons",
|
|
3
|
-
"version": "0.23.0-pre.
|
|
3
|
+
"version": "0.23.0-pre.39",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"dist-clean": "rm -rf dist",
|
|
22
22
|
"package:js": "./package.sh"
|
|
23
23
|
},
|
|
24
|
-
"main": "
|
|
25
|
-
"types": "
|
|
24
|
+
"main": "build/index.js",
|
|
25
|
+
"types": "build/index.d.ts",
|
|
26
26
|
"repository": {
|
|
27
27
|
"type": "git",
|
|
28
28
|
"url": "git://github.com/open-constructs/cdk-terrain.git",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"license": "MPL-2.0",
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@sentry/node": "7.120.4",
|
|
44
|
-
"cdktn": "0.23.0-pre.
|
|
44
|
+
"cdktn": "0.23.0-pre.39",
|
|
45
45
|
"ci-info": "3.9.0",
|
|
46
46
|
"codemaker": "1.128.0",
|
|
47
47
|
"cross-spawn": "7.0.6",
|
package/src/checkpoint.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["checkpoint.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqCD,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,iBAgB7B;AAuCD,wBAAgB,YAAY,CAAC,WAAW,SAAgB,GAAG,MAAM,CAEhE;AAED,wBAAgB,SAAS,IAAI,MAAM,CAWlC;AAED,wBAAsB,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiD7E"}
|
package/src/checkpoint.js
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.ReportRequest = exports.getUserId = exports.getProjectId = exports.sendTelemetry = void 0;
|
|
30
|
-
// Copyright (c) HashiCorp, Inc
|
|
31
|
-
// SPDX-License-Identifier: MPL-2.0
|
|
32
|
-
const https = require("https");
|
|
33
|
-
const url_1 = require("url");
|
|
34
|
-
const uuid_1 = require("uuid");
|
|
35
|
-
const os = __importStar(require("os"));
|
|
36
|
-
const ci_info_1 = __importDefault(require("ci-info"));
|
|
37
|
-
const logging_1 = require("./logging");
|
|
38
|
-
const path = __importStar(require("path"));
|
|
39
|
-
const fs = __importStar(require("fs-extra"));
|
|
40
|
-
const version_1 = require("./version");
|
|
41
|
-
const BASE_URL = `https://checkpoint-api.hashicorp.com/v1/`;
|
|
42
|
-
const VALID_STATUS_CODES = [200, 201];
|
|
43
|
-
const MAX_REQUEST_BODY_SIZE = 8192;
|
|
44
|
-
function homeDir() {
|
|
45
|
-
var _a;
|
|
46
|
-
return process.env.CDKTF_HOME
|
|
47
|
-
? path.resolve(process.env.CDKTF_HOME)
|
|
48
|
-
: path.join(((_a = os.userInfo().homedir) !== null && _a !== void 0 ? _a : os.homedir()).trim() || "/", ".cdktf");
|
|
49
|
-
}
|
|
50
|
-
async function post(url, data) {
|
|
51
|
-
return new Promise((ok, ko) => {
|
|
52
|
-
const req = https.request((0, url_1.format)(url), {
|
|
53
|
-
headers: {
|
|
54
|
-
Accept: "application/json",
|
|
55
|
-
"Content-Length": data.length,
|
|
56
|
-
"User-Agent": "OpenConstructs/cdktn-cli",
|
|
57
|
-
},
|
|
58
|
-
method: "POST",
|
|
59
|
-
}, (res) => {
|
|
60
|
-
if (res.statusCode) {
|
|
61
|
-
const statusCode = res.statusCode;
|
|
62
|
-
if (!VALID_STATUS_CODES.includes(statusCode)) {
|
|
63
|
-
return ko(new Error(res.statusMessage));
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
const data = new Array();
|
|
67
|
-
res.on("data", (chunk) => data.push(chunk));
|
|
68
|
-
res.on("error", (err) => ko(err));
|
|
69
|
-
res.on("end", () => {
|
|
70
|
-
return ok();
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
req.setTimeout(1000, () => ko(new Error("request timeout")));
|
|
74
|
-
req.write(data);
|
|
75
|
-
req.end();
|
|
76
|
-
req.on("error", (err) => ko(err));
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
async function sendTelemetry(command, payload) {
|
|
80
|
-
const reportParams = {
|
|
81
|
-
command,
|
|
82
|
-
product: "cdktn",
|
|
83
|
-
version: `${version_1.DISPLAY_VERSION}`,
|
|
84
|
-
dateTime: new Date(),
|
|
85
|
-
language: payload.language,
|
|
86
|
-
payload,
|
|
87
|
-
};
|
|
88
|
-
try {
|
|
89
|
-
await ReportRequest(reportParams);
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
logging_1.logger.error(`Could not send telemetry data: ${err}`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.sendTelemetry = sendTelemetry;
|
|
96
|
-
function getId(filePath, key, forceCreation = false, explanatoryComment) {
|
|
97
|
-
const _uuid = (0, uuid_1.v4)(); // create a new UUID in case we don't find one
|
|
98
|
-
let jsonFile;
|
|
99
|
-
try {
|
|
100
|
-
jsonFile = require(filePath); // we found the file
|
|
101
|
-
}
|
|
102
|
-
catch (_a) {
|
|
103
|
-
// we found no file, create one if we're forcing a creation
|
|
104
|
-
if (forceCreation) {
|
|
105
|
-
const _idFile = {}; // compose JSON id file in case we don't find one
|
|
106
|
-
if (explanatoryComment) {
|
|
107
|
-
_idFile["//"] = explanatoryComment.replace(/\n/g, " ");
|
|
108
|
-
}
|
|
109
|
-
_idFile[key] = _uuid;
|
|
110
|
-
fs.ensureDirSync(path.dirname(filePath));
|
|
111
|
-
fs.writeFileSync(filePath, JSON.stringify(_idFile, null, 2));
|
|
112
|
-
}
|
|
113
|
-
return _uuid;
|
|
114
|
-
}
|
|
115
|
-
if (jsonFile[key]) {
|
|
116
|
-
return jsonFile[key]; // we found an id
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
// we found no id, we add it to the file for future use
|
|
120
|
-
fs.writeFileSync(filePath, JSON.stringify({ ...jsonFile, [key]: _uuid }, null, 2));
|
|
121
|
-
return _uuid;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
function getProjectId(projectPath = process.cwd()) {
|
|
125
|
-
return getId(path.resolve(projectPath, "cdktf.json"), "projectId");
|
|
126
|
-
}
|
|
127
|
-
exports.getProjectId = getProjectId;
|
|
128
|
-
function getUserId() {
|
|
129
|
-
return getId(path.resolve(homeDir(), "config.json"), "userId", true, `This signature is a randomly generated UUID used to anonymously differentiate users in telemetry data order to inform product direction.
|
|
130
|
-
This signature is random, it is not based on any personally identifiable information.
|
|
131
|
-
To create a new signature, you can simply delete this file at any time.
|
|
132
|
-
See https://cdk.tf/telemetry for more
|
|
133
|
-
information on how to disable it.`);
|
|
134
|
-
}
|
|
135
|
-
exports.getUserId = getUserId;
|
|
136
|
-
async function ReportRequest(reportParams) {
|
|
137
|
-
// we won't report when checkpoint is disabled.
|
|
138
|
-
// Check at runtime (not import time) to allow tests to modify the env var
|
|
139
|
-
if (process.env.CHECKPOINT_DISABLE) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
if (!reportParams.runID) {
|
|
143
|
-
reportParams.runID = (0, uuid_1.v4)();
|
|
144
|
-
}
|
|
145
|
-
if (!reportParams.dateTime) {
|
|
146
|
-
reportParams.dateTime = new Date();
|
|
147
|
-
}
|
|
148
|
-
if (!reportParams.arch) {
|
|
149
|
-
reportParams.arch = os.arch();
|
|
150
|
-
}
|
|
151
|
-
if (!reportParams.os) {
|
|
152
|
-
reportParams.os = os.platform();
|
|
153
|
-
}
|
|
154
|
-
const ci = ci_info_1.default.isCI ? ci_info_1.default.name || "unknown" : false;
|
|
155
|
-
if (!reportParams.userId && !ci) {
|
|
156
|
-
reportParams.userId = getUserId();
|
|
157
|
-
}
|
|
158
|
-
if (ci) {
|
|
159
|
-
reportParams.ci = ci;
|
|
160
|
-
}
|
|
161
|
-
reportParams.projectId = reportParams.projectId || getProjectId();
|
|
162
|
-
const postData = JSON.stringify(reportParams);
|
|
163
|
-
if (postData.length > MAX_REQUEST_BODY_SIZE) {
|
|
164
|
-
logging_1.logger.warn(`Skipped sending telemetry as the request body size was ${postData.length} bytes. The limit is ${MAX_REQUEST_BODY_SIZE} bytes`);
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
try {
|
|
168
|
-
await post(`${BASE_URL}telemetry/${reportParams.product}`, postData);
|
|
169
|
-
}
|
|
170
|
-
catch (e) {
|
|
171
|
-
// Log errors writing to checkpoint
|
|
172
|
-
(0, logging_1.processLoggerError)(e.message);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
exports.ReportRequest = ReportRequest;
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNoZWNrcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLCtCQUFnQztBQUNoQyw2QkFBNkI7QUFDN0IsK0JBQW9DO0FBQ3BDLHVDQUF5QjtBQUN6QixzREFBNkI7QUFDN0IsdUNBQXVEO0FBQ3ZELDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0IsdUNBQTRDO0FBRTVDLE1BQU0sUUFBUSxHQUFHLDBDQUEwQyxDQUFDO0FBRTVELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFdEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7QUFFbkMsU0FBUyxPQUFPOztJQUNkLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVO1FBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNQLENBQUMsTUFBQSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxtQ0FBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQ3JELFFBQVEsQ0FDVCxDQUFDO0FBQ1IsQ0FBQztBQWlCRCxLQUFLLFVBQVUsSUFBSSxDQUFDLEdBQVcsRUFBRSxJQUFZO0lBQzNDLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDbEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FDdkIsSUFBQSxZQUFNLEVBQUMsR0FBRyxDQUFDLEVBQ1g7WUFDRSxPQUFPLEVBQUU7Z0JBQ1AsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsZ0JBQWdCLEVBQUUs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UUFDNUMsZ0JBQU0sQ0FBQyxJQUFJLENBQ1QsMERBQTBELFFBQVEsQ0FBQyxNQUFNLHdCQUF3QixxQkFBcUIsUUFBUSxDQUMvSCxDQUFDO1FBQ0YsT0FBTztJQUNULENBQUM7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLElBQUksQ0FBQyxHQUFHLFFBQVEsYUFBYSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7UUFDaEIsbUNBQW1DO1FBQ25DLElBQUEsNEJBQWtCLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7QUFDSCxDQUFDO0FBakRELHNDQWlEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgaHR0cHMgPSByZXF1aXJlKFwiaHR0cHNcIik7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tIFwidXJsXCI7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgY2lJbmZvIGZyb20gXCJjaS1pbmZvXCI7XG5pbXBvcnQgeyBsb2dnZXIsIHByb2Nlc3NMb2dnZXJFcnJvciB9IGZyb20gXCIuL2xvZ2dpbmdcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmcy1leHRyYVwiO1xuaW1wb3J0IHsgRElTUExBWV9WRVJTSU9OIH0gZnJvbSBcIi4vdmVyc2lvblwiO1xuXG5jb25zdCBCQVNFX1VSTCA9IGBodHRwczovL2NoZWNrcG9pbnQtYXBpLmhhc2hpY29ycC5jb20vdjEvYDtcblxuY29uc3QgVkFMSURfU1RBVFVTX0NPREVTID0gWzIwMCwgMjAxXTtcblxuY29uc3QgTUFYX1JFUVVFU1RfQk9EWV9TSVpFID0gODE5MjtcblxuZnVuY3Rpb24gaG9tZURpcigpIHtcbiAgcmV0dXJuIHByb2Nlc3MuZW52LkNES1RGX0hPTUVcbiAgICA/IHBhdGgucmVzb2x2ZShwcm9jZXNzLmVudi5DREtURl9IT01FKVxuICAgIDogcGF0aC5qb2luKFxuICAgICAgICAob3MudXNlckluZm8oKS5ob21lZGlyID8/IG9zLmhvbWVkaXIoKSkudHJpbSgpIHx8IFwiL1wiLFxuICAgICAgICBcIi5jZGt0ZlwiLFxuICAgICAgKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXBvcnRQYXJhbXMge1xuICBkYXRlVGltZT86IERhdGU7XG4gIGFyY2g/OiBzdHJpbmc7XG4gIG9zPzogc3RyaW5nO1xuICBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBwcm9kdWN0OiBzdHJpbmc7XG4gIHJ1bklEPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBjb21tYW5kPzogc3RyaW5nO1xuICBsYW5ndWFnZT86IHN0cmluZztcbiAgdXNlcklkPzogc3RyaW5nO1xuICBjaT86IHN0cmluZztcbiAgcHJvamVjdElkPzogc3RyaW5nO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwb3N0KHVybDogc3RyaW5nLCBkYXRhOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChvaywga28pID0+IHtcbiAgICBjb25zdCByZXEgPSBodHRwcy5yZXF1ZXN0KFxuICAgICAgZm9ybWF0KHVybCksXG4gICAgICB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIFwiQ29udGVudC1MZW5ndGhcIjogZGF0YS5sZW5ndGgsXG4gICAgICAgICAgXCJVc2VyLUFnZW50XCI6IFwiT3BlbkNvbnN0cnVjdHMvY2RrdG4tY2xpXCIsXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICB9LFxuICAgICAgKHJlcykgPT4ge1xuICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUpIHtcbiAgICAgICAgICBjb25zdCBzdGF0dXNDb2RlID0gcmVzLnN0YXR1c0NvZGU7XG4gICAgICAgICAgaWYgKCFWQUxJRF9TVEFUVVNfQ09ERVMuaW5jbHVkZXMoc3RhdHVzQ29kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBrbyhuZXcgRXJyb3IocmVzLnN0YXR1c01lc3NhZ2UpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YSA9IG5ldyBBcnJheTxCdWZmZXI+KCk7XG4gICAgICAgIHJlcy5vbihcImRhdGFcIiwgKGNodW5rKSA9PiBkYXRhLnB1c2goY2h1bmspKTtcbiAgICAgICAgcmVzLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ga28oZXJyKSk7XG4gICAgICAgIHJlcy5vbihcImVuZFwiLCAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG9rKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmVxLnNldFRpbWVvdXQoMTAwMCwgKCkgPT4ga28obmV3IEVycm9yKFwicmVxdWVzdCB0aW1lb3V0XCIpKSk7XG4gICAgcmVxLndyaXRlKGRhdGEpO1xuICAgIHJlcS5lbmQoKTtcbiAgICByZXEub24oXCJlcnJvclwiLCAoZXJyKSA9PiBrbyhlcnIpKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzZW5kVGVsZW1ldHJ5KFxuICBjb21tYW5kOiBzdHJpbmcsXG4gIHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4pIHtcbiAgY29uc3QgcmVwb3J0UGFyYW1zOiBSZXBvcnRQYXJhbXMgPSB7XG4gICAgY29tbWFuZCxcbiAgICBwcm9kdWN0OiBcImNka3RuXCIsXG4gICAgdmVyc2lvbjogYCR7RElTUExBWV9WRVJTSU9OfWAsXG4gICAgZGF0ZVRpbWU6IG5ldyBEYXRlKCksXG4gICAgbGFuZ3VhZ2U6IHBheWxvYWQubGFuZ3VhZ2UsXG4gICAgcGF5bG9hZCxcbiAgfTtcblxuICB0cnkge1xuICAgIGF3YWl0IFJlcG9ydFJlcXVlc3QocmVwb3J0UGFyYW1zKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBDb3VsZCBub3Qgc2VuZCB0ZWxlbWV0cnkgZGF0YTogJHtlcnJ9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SWQoXG4gIGZpbGVQYXRoOiBzdHJpbmcsXG4gIGtleTogc3RyaW5nLFxuICBmb3JjZUNyZWF0aW9uID0gZmFsc2UsXG4gIGV4cGxhbmF0b3J5Q29tbWVudD86IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IF91dWlkID0gdXVpZHY0KCk7IC8vIGNyZWF0ZSBhIG5ldyBVVUlEIGluIGNhc2Ugd2UgZG9uJ3QgZmluZCBvbmVcblxuICBsZXQganNvbkZpbGU7XG4gIHRyeSB7XG4gICAganNvbkZpbGUgPSByZXF1aXJlKGZpbGVQYXRoKTsgLy8gd2UgZm91bmQgdGhlIGZpbGVcbiAgfSBjYXRjaCB7XG4gICAgLy8gd2UgZm91bmQgbm8gZmlsZSwgY3JlYXRlIG9uZSBpZiB3ZSdyZSBmb3JjaW5nIGEgY3JlYXRpb25cbiAgICBpZiAoZm9yY2VDcmVhdGlvbikge1xuICAgICAgY29uc3QgX2lkRmlsZSA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47IC8vIGNvbXBvc2UgSlNPTiBpZCBmaWxlIGluIGNhc2Ugd2UgZG9uJ3QgZmluZCBvbmVcbiAgICAgIGlmIChleHBsYW5hdG9yeUNvbW1lbnQpIHtcbiAgICAgICAgX2lkRmlsZVtcIi8vXCJdID0gZXhwbGFuYXRvcnlDb21tZW50LnJlcGxhY2UoL1xcbi9nLCBcIiBcIik7XG4gICAgICB9XG4gICAgICBfaWRGaWxlW2tleV0gPSBfdXVpZDtcbiAgICAgIGZzLmVuc3VyZURpclN5bmMocGF0aC5kaXJuYW1lKGZpbGVQYXRoKSk7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeShfaWRGaWxlLCBudWxsLCAyKSk7XG4gICAgfVxuICAgIHJldHVybiBfdXVpZDtcbiAgfVxuXG4gIGlmIChqc29uRmlsZVtrZXldKSB7XG4gICAgcmV0dXJuIGpzb25GaWxlW2tleV07IC8vIHdlIGZvdW5kIGFuIGlkXG4gIH0gZWxzZSB7XG4gICAgLy8gd2UgZm91bmQgbm8gaWQsIHdlIGFkZCBpdCB0byB0aGUgZmlsZSBmb3IgZnV0dXJlIHVzZVxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBmaWxlUGF0aCxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHsgLi4uanNvbkZpbGUsIFtrZXldOiBfdXVpZCB9LCBudWxsLCAyKSxcbiAgICApO1xuICAgIHJldHVybiBfdXVpZDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJvamVjdElkKHByb2plY3RQYXRoID0gcHJvY2Vzcy5jd2QoKSk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRJZChwYXRoLnJlc29sdmUocHJvamVjdFBhdGgsIFwiY2RrdGYuanNvblwiKSwgXCJwcm9qZWN0SWRcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVc2VySWQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIGdldElkKFxuICAgIHBhdGgucmVzb2x2ZShob21lRGlyKCksIFwiY29uZmlnLmpzb25cIiksXG4gICAgXCJ1c2VySWRcIixcbiAgICB0cnVlLFxuICAgIGBUaGlzIHNpZ25hdHVyZSBpcyBhIHJhbmRvbWx5IGdlbmVyYXRlZCBVVUlEIHVzZWQgdG8gYW5vbnltb3VzbHkgZGlmZmVyZW50aWF0ZSB1c2VycyBpbiB0ZWxlbWV0cnkgZGF0YSBvcmRlciB0byBpbmZvcm0gcHJvZHVjdCBkaXJlY3Rpb24uXG5UaGlzIHNpZ25hdHVyZSBpcyByYW5kb20sIGl0IGlzIG5vdCBiYXNlZCBvbiBhbnkgcGVyc29uYWxseSBpZGVudGlmaWFibGUgaW5mb3JtYXRpb24uXG5UbyBjcmVhdGUgYSBuZXcgc2lnbmF0dXJlLCB5b3UgY2FuIHNpbXBseSBkZWxldGUgdGhpcyBmaWxlIGF0IGFueSB0aW1lLlxuU2VlIGh0dHBzOi8vY2RrLnRmL3RlbGVtZXRyeSBmb3IgbW9yZVxuaW5mb3JtYXRpb24gb24gaG93IHRvIGRpc2FibGUgaXQuYCxcbiAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIFJlcG9ydFJlcXVlc3QocmVwb3J0UGFyYW1zOiBSZXBvcnRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gd2Ugd29uJ3QgcmVwb3J0IHdoZW4gY2hlY2twb2ludCBpcyBkaXNhYmxlZC5cbiAgLy8gQ2hlY2sgYXQgcnVudGltZSAobm90IGltcG9ydCB0aW1lKSB0byBhbGxvdyB0ZXN0cyB0byBtb2RpZnkgdGhlIGVudiB2YXJcbiAgaWYgKHByb2Nlc3MuZW52LkNIRUNLUE9JTlRfRElTQUJMRSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghcmVwb3J0UGFyYW1zLnJ1bklEKSB7XG4gICAgcmVwb3J0UGFyYW1zLnJ1bklEID0gdXVpZHY0KCk7XG4gIH1cblxuICBpZiAoIXJlcG9ydFBhcmFtcy5kYXRlVGltZSkge1xuICAgIHJlcG9ydFBhcmFtcy5kYXRlVGltZSA9IG5ldyBEYXRlKCk7XG4gIH1cblxuICBpZiAoIXJlcG9ydFBhcmFtcy5hcmNoKSB7XG4gICAgcmVwb3J0UGFyYW1zLmFyY2ggPSBvcy5hcmNoKCk7XG4gIH1cblxuICBpZiAoIXJlcG9ydFBhcmFtcy5vcykge1xuICAgIHJlcG9ydFBhcmFtcy5vcyA9IG9zLnBsYXRmb3JtKCk7XG4gIH1cblxuICBjb25zdCBjaTogc3RyaW5nIHwgZmFsc2UgPSBjaUluZm8uaXNDSSA/IGNpSW5mby5uYW1lIHx8IFwidW5rbm93blwiIDogZmFsc2U7XG4gIGlmICghcmVwb3J0UGFyYW1zLnVzZXJJZCAmJiAhY2kpIHtcbiAgICByZXBvcnRQYXJhbXMudXNlcklkID0gZ2V0VXNlcklkKCk7XG4gIH1cblxuICBpZiAoY2kpIHtcbiAgICByZXBvcnRQYXJhbXMuY2kgPSBjaTtcbiAgfVxuXG4gIHJlcG9ydFBhcmFtcy5wcm9qZWN0SWQgPSByZXBvcnRQYXJhbXMucHJvamVjdElkIHx8IGdldFByb2plY3RJZCgpO1xuXG4gIGNvbnN0IHBvc3REYXRhID0gSlNPTi5zdHJpbmdpZnkocmVwb3J0UGFyYW1zKTtcblxuICBpZiAocG9zdERhdGEubGVuZ3RoID4gTUFYX1JFUVVFU1RfQk9EWV9TSVpFKSB7XG4gICAgbG9nZ2VyLndhcm4oXG4gICAgICBgU2tpcHBlZCBzZW5kaW5nIHRlbGVtZXRyeSBhcyB0aGUgcmVxdWVzdCBib2R5IHNpemUgd2FzICR7cG9zdERhdGEubGVuZ3RofSBieXRlcy4gVGhlIGxpbWl0IGlzICR7TUFYX1JFUVVFU1RfQk9EWV9TSVpFfSBieXRlc2AsXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICB0cnkge1xuICAgIGF3YWl0IHBvc3QoYCR7QkFTRV9VUkx9dGVsZW1ldHJ5LyR7cmVwb3J0UGFyYW1zLnByb2R1Y3R9YCwgcG9zdERhdGEpO1xuICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAvLyBMb2cgZXJyb3JzIHdyaXRpbmcgdG8gY2hlY2twb2ludFxuICAgIHByb2Nlc3NMb2dnZXJFcnJvcihlLm1lc3NhZ2UpO1xuICB9XG59XG4iXX0=
|
package/src/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,oBAAY,QAAQ;IAClB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,EAAE,OAAO;CACV;AAED,eAAO,MAAM,SAAS,YAMrB,CAAC;AAKF,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAKF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,qBAAa,yBAA0B,YAAW,6BAA6B;IAC7E,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjD,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,IAAI,EAAE,6BAA6B,GAAG,MAAM;IAsBxD,IAAW,SAAS,WAEnB;IAED,IAAW,QAAQ,WAElB;IAED,OAAO,CAAC,yBAAyB;CA2GlC;AAED,qBAAa,2BAA4B,YAAW,6BAA6B;IAC/E,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjC,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEvB,IAAI,EAAE,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,GAAG,MAAM;IAiBrE,OAAO,CAAC,yBAAyB;CAoBlC;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACnD,gBAAgB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAC3C;AAED,eAAO,MAAM,WAAW,gBAAiB,MAAM,WAuB9C,CAAC;AAEF,wBAAgB,cAAc,CAC5B,UAAU,SAAwC,GACjD,MAAM,CAQR;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIlE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,cAS1C"}
|