@cdktn/hcl2cdk 0.23.0-pre.4 → 0.23.0-pre.41
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/ambient.d.ts +0 -1
- package/build/__tests__/coerceType.test.js +165 -0
- package/build/__tests__/expressionToTs.test.js +693 -0
- package/build/__tests__/expressions.test.js +415 -0
- package/build/__tests__/findExpressionType.test.js +105 -0
- package/build/__tests__/functions.test.js +605 -0
- package/build/__tests__/generation.test.js +45 -0
- package/build/__tests__/jsii-rosetta-workarounds.test.js +86 -0
- package/build/__tests__/partialCode.test.js +390 -0
- package/build/__tests__/terraformSchema.test.js +105 -0
- package/build/__tests__/testHelpers.js +16 -0
- package/build/coerceType.js +240 -0
- package/build/dynamic-blocks.js +44 -0
- package/build/expressions.js +633 -0
- package/build/function-bindings/functions.generated.js +1142 -0
- package/build/function-bindings/functions.js +73 -0
- package/build/generation.js +676 -0
- package/{lib → build}/index.d.ts +2 -2
- package/build/index.js +364 -0
- package/build/iteration.js +87 -0
- package/build/jsii-rosetta-workarounds.js +126 -0
- package/build/partialCode.js +116 -0
- package/build/provider.js +40 -0
- package/build/references.js +141 -0
- package/build/schema.js +81 -0
- package/build/telemetryAllowList.json +24 -0
- package/build/terraformSchema.js +136 -0
- package/build/types.js +3 -0
- package/build/utils.js +25 -0
- package/build/variables.js +172 -0
- package/package.json +19 -19
- package/tsconfig.json +4 -2
- package/lib/__tests__/coerceType.test.js +0 -165
- package/lib/__tests__/expressionToTs.test.js +0 -693
- package/lib/__tests__/expressions.test.js +0 -415
- package/lib/__tests__/findExpressionType.test.js +0 -105
- package/lib/__tests__/functions.test.js +0 -605
- package/lib/__tests__/generation.test.js +0 -45
- package/lib/__tests__/jsii-rosetta-workarounds.test.js +0 -86
- package/lib/__tests__/partialCode.test.js +0 -390
- package/lib/__tests__/terraformSchema.test.js +0 -105
- package/lib/__tests__/testHelpers.js +0 -16
- package/lib/coerceType.js +0 -240
- package/lib/dynamic-blocks.js +0 -44
- package/lib/expressions.js +0 -634
- package/lib/function-bindings/functions.generated.js +0 -1142
- package/lib/function-bindings/functions.js +0 -73
- package/lib/generation.js +0 -676
- package/lib/index.js +0 -364
- package/lib/iteration.js +0 -87
- package/lib/jsii-rosetta-workarounds.js +0 -126
- package/lib/partialCode.js +0 -116
- package/lib/provider.js +0 -40
- package/lib/references.js +0 -141
- package/lib/schema.js +0 -81
- package/lib/terraformSchema.js +0 -136
- package/lib/types.js +0 -3
- package/lib/utils.js +0 -25
- package/lib/variables.js +0 -172
- /package/{lib → build}/__tests__/coerceType.test.d.ts +0 -0
- /package/{lib → build}/__tests__/expressionToTs.test.d.ts +0 -0
- /package/{lib → build}/__tests__/expressions.test.d.ts +0 -0
- /package/{lib → build}/__tests__/findExpressionType.test.d.ts +0 -0
- /package/{lib → build}/__tests__/functions.test.d.ts +0 -0
- /package/{lib → build}/__tests__/generation.test.d.ts +0 -0
- /package/{lib → build}/__tests__/jsii-rosetta-workarounds.test.d.ts +0 -0
- /package/{lib → build}/__tests__/partialCode.test.d.ts +0 -0
- /package/{lib → build}/__tests__/terraformSchema.test.d.ts +0 -0
- /package/{lib → build}/__tests__/testHelpers.d.ts +0 -0
- /package/{lib → build}/coerceType.d.ts +0 -0
- /package/{lib → build}/dynamic-blocks.d.ts +0 -0
- /package/{lib → build}/expressions.d.ts +0 -0
- /package/{lib → build}/function-bindings/functions.d.ts +0 -0
- /package/{lib → build}/function-bindings/functions.generated.d.ts +0 -0
- /package/{lib → build}/generation.d.ts +0 -0
- /package/{lib → build}/iteration.d.ts +0 -0
- /package/{lib → build}/jsii-rosetta-workarounds.d.ts +0 -0
- /package/{lib → build}/partialCode.d.ts +0 -0
- /package/{lib → build}/provider.d.ts +0 -0
- /package/{lib → build}/references.d.ts +0 -0
- /package/{lib → build}/schema.d.ts +0 -0
- /package/{lib → build}/terraformSchema.d.ts +0 -0
- /package/{lib → build}/types.d.ts +0 -0
- /package/{lib → build}/utils.d.ts +0 -0
- /package/{lib → build}/variables.d.ts +0 -0
- /package/{lib → src}/telemetryAllowList.json +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) HashiCorp, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.tsFunctionsMap = exports.functionsMap = void 0;
|
|
8
|
+
const functions_generated_1 = require("./functions.generated");
|
|
9
|
+
exports.functionsMap = {
|
|
10
|
+
...functions_generated_1.functionsMapGenerated,
|
|
11
|
+
bcrypt: {
|
|
12
|
+
name: "bcrypt", // this one is not variadic anymore after we mapped it
|
|
13
|
+
returnType: "string",
|
|
14
|
+
parameters: [{ type: "string" }, { type: "number", optional: true }],
|
|
15
|
+
},
|
|
16
|
+
join: {
|
|
17
|
+
name: "join",
|
|
18
|
+
returnType: "string",
|
|
19
|
+
parameters: [{ type: "string" }, { type: ["list", "string"] }],
|
|
20
|
+
/**
|
|
21
|
+
* Terraform supports join(separator, listA, listB)
|
|
22
|
+
* wheras CDKTN only supports join(separator, list) (to make it simpler to use as JSII does not support variadic parameters)
|
|
23
|
+
* and we'd need to convert this to join(separator, concat(listA, listB)) if multiple variadic args are passed
|
|
24
|
+
*/
|
|
25
|
+
transformer: (fc) => {
|
|
26
|
+
if (fc.children.length <= 2) {
|
|
27
|
+
return fc; // just one child -> nothing to do
|
|
28
|
+
}
|
|
29
|
+
const concatFunction = {
|
|
30
|
+
type: "function",
|
|
31
|
+
meta: {
|
|
32
|
+
name: "concat",
|
|
33
|
+
expandedFinalArgument: fc.meta.expandedFinalArgument,
|
|
34
|
+
nameRange: {},
|
|
35
|
+
openParenRange: {},
|
|
36
|
+
closeParenRange: {},
|
|
37
|
+
argsRanges: [],
|
|
38
|
+
},
|
|
39
|
+
children: fc.children.slice(1),
|
|
40
|
+
};
|
|
41
|
+
return {
|
|
42
|
+
type: "function",
|
|
43
|
+
meta: {
|
|
44
|
+
name: "join",
|
|
45
|
+
},
|
|
46
|
+
children: [
|
|
47
|
+
fc.children[0], // the first parameter is the separator, so keep it as is
|
|
48
|
+
concatFunction,
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
range: {
|
|
54
|
+
name: "range",
|
|
55
|
+
returnType: ["list", "string"], // TODO: Fn.range() currently returns string[] but should return number[] (according to functions.json)
|
|
56
|
+
parameters: [
|
|
57
|
+
{ type: "number" },
|
|
58
|
+
{ type: "number" },
|
|
59
|
+
{ type: "number", optional: true },
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
lookup: {
|
|
63
|
+
name: "lookup",
|
|
64
|
+
returnType: "dynamic",
|
|
65
|
+
parameters: [{ type: "dynamic" }, { type: "string" }, { type: "dynamic" }],
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
exports.tsFunctionsMap = Object.entries(exports.functionsMap).reduce((acc, [name, fnInfo]) => {
|
|
69
|
+
// Swap the names around
|
|
70
|
+
acc[fnInfo.name] = { ...fnInfo, name: name };
|
|
71
|
+
return acc;
|
|
72
|
+
}, {});
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Z1bmN0aW9uLWJpbmRpbmdzL2Z1bmN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztHQUdHOzs7QUFHSCwrREFBOEQ7QUEyQmpELFFBQUEsWUFBWSxHQUFpQztJQUN4RCxHQUFJLDJDQUE2QjtJQUVqQyxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsUUFBUSxFQUFFLHNEQUFzRDtRQUN0RSxVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0tBQ3JFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlEOzs7O1dBSUc7UUFDSCxXQUFXLEVBQUUsQ0FBQyxFQUE4QixFQUFFLEVBQUU7WUFDOUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxrQ0FBa0M7WUFDL0MsQ0FBQztZQUVELE1BQU0sY0FBYyxHQUFHO2dCQUNyQixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsSUFBSSxFQUFFO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCO29CQUNwRCxTQUFTLEVBQUUsRUFBRTtvQkFDYixjQUFjLEVBQUUsRUFBRTtvQkFDbEIsZUFBZSxFQUFFLEVBQUU7b0JBQ25CLFVBQVUsRUFBRSxFQUFFO2lCQUNmO2dCQUNELFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDL0IsQ0FBQztZQUVGLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLElBQUksRUFBRTtvQkFDSixJQUFJLEVBQUUsTUFBTTtpQkFDYjtnQkFDRCxRQUFRLEVBQUU7b0JBQ1IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSx5REFBeUQ7b0JBQ3pFLGNBQWM7aUJBQ2Y7YUFDRixDQUFDO1FBQ0osQ0FBQztLQUNGO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLE9BQU87UUFDYixVQUFVLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsdUdBQXVHO1FBQ3ZJLFVBQVUsRUFBRTtZQUNWLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNsQixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDbEIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7U0FDbkM7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLElBQUksRUFBRSxRQUFRO1FBQ2QsVUFBVSxFQUFFLFNBQVM7UUFDckIsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7S0FDM0U7Q0FDRixDQUFDO0FBRVcsUUFBQSxjQUFjLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLENBQUMsTUFBTSxDQUMvRCxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO0lBQ3RCLHdCQUF3QjtJQUN4QixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzdDLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxFQUNELEVBQWtDLENBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbmltcG9ydCB7IEF0dHJpYnV0ZVR5cGUgfSBmcm9tIFwiQGNka3RuL2NvbW1vbnNcIjtcbmltcG9ydCB7IGZ1bmN0aW9uc01hcEdlbmVyYXRlZCB9IGZyb20gXCIuL2Z1bmN0aW9ucy5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IFRGRXhwcmVzc2lvblN5bnRheFRyZWUgYXMgdGV4IH0gZnJvbSBcIkBjZGt0bi9oY2wyanNvblwiO1xuXG50eXBlIEZ1bmN0aW9uQ2FsbCA9IGFueTsgLy8gVE9ETzogdGhpcyB3aWxsIGNvbWUgZnJvbSB0aGUgdHlwZXMgZm9yIGhjbDJqc29uIChha2EgZnJvbSB0aGUgVGVycmFmb3JtIEFTVClcblxudHlwZSBGdW5jdGlvbk1ldGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgcmV0dXJuVHlwZTogQXR0cmlidXRlVHlwZTtcbiAgcGFyYW1ldGVyczoge1xuICAgIHR5cGU6IEF0dHJpYnV0ZVR5cGU7XG4gICAgb3B0aW9uYWw/OiBib29sZWFuO1xuICAgIHZhcmlhZGljPzogYm9vbGVhbjtcbiAgfVtdO1xuICAvKipcbiAgICogQWxsb3dzIHRyYW5zZm9ybWluZyB0aGUgZnVuY3Rpb24gY2FsbCBiZWZvcmUgaXQgaXMgaGFuZGxlZC4gVGhpcyBpcyBjdXJyZW50bHkgdXNlZCB0byBoYW5kbGVcbiAgICogZGlmZmVyZW50IEFQSXMgYmV0d2VlbiBURiBzdXBwb3J0aW5nIGpvaW4oc2VwLCBsaXN0QSwgbGlzdEIpIGFuZCBDREtUTiBvbmx5IHN1cHBvcnRpbmcgam9pbihzZXAsIGxpc3QpXG4gICAqIChhcyB0aGUgYWx0ZXJuYXRpdmUgZHVlIHRvIEpTSUlzIGxhY2sgb2Ygc3VwcG9ydCBmb3IgdmFyaWFkaWMgcGFyYW1ldGVzIHdvdWxkIGJlIGpvaW4oc2VwLCBsaXN0cykgd2hpY2hcbiAgICogIHdvdWxkIGhhdmUgYSB3b3JzZSBVWCBhcyBtb3N0IG9mdGVuIGp1c3QgYSBzaW5nbGUgbGlzdCBpcyBwYXNzZWQpXG4gICAqIEluIHRoZSBjYXNlIG9mIGpvaW4oKSB0aGUgdHJhbnNmb3JtZXIgd2lsbCBjb252ZXJ0IHRoZSBmdW5jdGlvbiBjYWxsIHRvIGpvaW4oc2VwLCBjb25jYXQobGlzdEEsIGxpc3RCKSlcbiAgICogYmVmb3JlIGhhbmRsaW5nIGl0XG4gICAqXG4gICAqIENhdXRpb246IEJld2FyZSBvZiBpbmZpbml0ZSByZWN1cnNpb24gaWYgdGhlIHJldHVybmVkIGZ1bmN0aW9uIGNhbGwgaXMgdG8gdGhlIHNhbWUgZnVuY3Rpb24gdGhhdCBoYXMgdGhpc1xuICAgKiB0cmFuc2Zvcm1lci4gUmV0dXJuIHRoZSBzYW1lIGluc3RhbmNlIG9mIHRoZSBwYXNzZWQgZnVuY3Rpb25DYWxsIHRvIGJyZWFrIG91dCBvZiB0aGF0IHJlY3Vyc2lvbi5cbiAgICovXG4gIHRyYW5zZm9ybWVyPzogKGZ1bmN0aW9uQ2FsbDogRnVuY3Rpb25DYWxsKSA9PiBGdW5jdGlvbkNhbGw7XG59O1xuXG5leHBvcnQgY29uc3QgZnVuY3Rpb25zTWFwOiBSZWNvcmQ8c3RyaW5nLCBGdW5jdGlvbk1ldGE+ID0ge1xuICAuLi4oZnVuY3Rpb25zTWFwR2VuZXJhdGVkIGFzIGFueSksXG5cbiAgYmNyeXB0OiB7XG4gICAgbmFtZTogXCJiY3J5cHRcIiwgLy8gdGhpcyBvbmUgaXMgbm90IHZhcmlhZGljIGFueW1vcmUgYWZ0ZXIgd2UgbWFwcGVkIGl0XG4gICAgcmV0dXJuVHlwZTogXCJzdHJpbmdcIixcbiAgICBwYXJhbWV0ZXJzOiBbeyB0eXBlOiBcInN0cmluZ1wiIH0sIHsgdHlwZTogXCJudW1iZXJcIiwgb3B0aW9uYWw6IHRydWUgfV0sXG4gIH0sXG4gIGpvaW46IHtcbiAgICBuYW1lOiBcImpvaW5cIixcbiAgICByZXR1cm5UeXBlOiBcInN0cmluZ1wiLFxuICAgIHBhcmFtZXRlcnM6IFt7IHR5cGU6IFwic3RyaW5nXCIgfSwgeyB0eXBlOiBbXCJsaXN0XCIsIFwic3RyaW5nXCJdIH1dLFxuICAgIC8qKlxuICAgICAqIFRlcnJhZm9ybSBzdXBwb3J0cyBqb2luKHNlcGFyYXRvciwgbGlzdEEsIGxpc3RCKVxuICAgICAqIHdoZXJhcyBDREtUTiBvbmx5IHN1cHBvcnRzIGpvaW4oc2VwYXJhdG9yLCBsaXN0KSAodG8gbWFrZSBpdCBzaW1wbGVyIHRvIHVzZSBhcyBKU0lJIGRvZXMgbm90IHN1cHBvcnQgdmFyaWFkaWMgcGFyYW1ldGVycylcbiAgICAgKiBhbmQgd2UnZCBuZWVkIHRvIGNvbnZlcnQgdGhpcyB0byBqb2luKHNlcGFyYXRvciwgY29uY2F0KGxpc3RBLCBsaXN0QikpIGlmIG11bHRpcGxlIHZhcmlhZGljIGFyZ3MgYXJlIHBhc3NlZFxuICAgICAqL1xuICAgIHRyYW5zZm9ybWVyOiAoZmM6IHRleC5GdW5jdGlvbkNhbGxFeHByZXNzaW9uKSA9PiB7XG4gICAgICBpZiAoZmMuY2hpbGRyZW4ubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgcmV0dXJuIGZjOyAvLyBqdXN0IG9uZSBjaGlsZCAtPiBub3RoaW5nIHRvIGRvXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbmNhdEZ1bmN0aW9uID0ge1xuICAgICAgICB0eXBlOiBcImZ1bmN0aW9uXCIsXG4gICAgICAgIG1ldGE6IHtcbiAgICAgICAgICBuYW1lOiBcImNvbmNhdFwiLFxuICAgICAgICAgIGV4cGFuZGVkRmluYWxBcmd1bWVudDogZmMubWV0YS5leHBhbmRlZEZpbmFsQXJndW1lbnQsXG4gICAgICAgICAgbmFtZVJhbmdlOiB7fSxcbiAgICAgICAgICBvcGVuUGFyZW5SYW5nZToge30sXG4gICAgICAgICAgY2xvc2VQYXJlblJhbmdlOiB7fSxcbiAgICAgICAgICBhcmdzUmFuZ2VzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IGZjLmNoaWxkcmVuLnNsaWNlKDEpLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogXCJmdW5jdGlvblwiLFxuICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgbmFtZTogXCJqb2luXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgZmMuY2hpbGRyZW5bMF0sIC8vIHRoZSBmaXJzdCBwYXJhbWV0ZXIgaXMgdGhlIHNlcGFyYXRvciwgc28ga2VlcCBpdCBhcyBpc1xuICAgICAgICAgIGNvbmNhdEZ1bmN0aW9uLFxuICAgICAgICBdLFxuICAgICAgfTtcbiAgICB9LFxuICB9LFxuICByYW5nZToge1xuICAgIG5hbWU6IFwicmFuZ2VcIixcbiAgICByZXR1cm5UeXBlOiBbXCJsaXN0XCIsIFwic3RyaW5nXCJdLCAvLyBUT0RPOiBGbi5yYW5nZSgpIGN1cnJlbnRseSByZXR1cm5zIHN0cmluZ1tdIGJ1dCBzaG91bGQgcmV0dXJuIG51bWJlcltdIChhY2NvcmRpbmcgdG8gZnVuY3Rpb25zLmpzb24pXG4gICAgcGFyYW1ldGVyczogW1xuICAgICAgeyB0eXBlOiBcIm51bWJlclwiIH0sXG4gICAgICB7IHR5cGU6IFwibnVtYmVyXCIgfSxcbiAgICAgIHsgdHlwZTogXCJudW1iZXJcIiwgb3B0aW9uYWw6IHRydWUgfSxcbiAgICBdLFxuICB9LFxuICBsb29rdXA6IHtcbiAgICBuYW1lOiBcImxvb2t1cFwiLFxuICAgIHJldHVyblR5cGU6IFwiZHluYW1pY1wiLFxuICAgIHBhcmFtZXRlcnM6IFt7IHR5cGU6IFwiZHluYW1pY1wiIH0sIHsgdHlwZTogXCJzdHJpbmdcIiB9LCB7IHR5cGU6IFwiZHluYW1pY1wiIH1dLFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IHRzRnVuY3Rpb25zTWFwID0gT2JqZWN0LmVudHJpZXMoZnVuY3Rpb25zTWFwKS5yZWR1Y2UoXG4gIChhY2MsIFtuYW1lLCBmbkluZm9dKSA9PiB7XG4gICAgLy8gU3dhcCB0aGUgbmFtZXMgYXJvdW5kXG4gICAgYWNjW2ZuSW5mby5uYW1lXSA9IHsgLi4uZm5JbmZvLCBuYW1lOiBuYW1lIH07XG4gICAgcmV0dXJuIGFjYztcbiAgfSxcbiAge30gYXMgUmVjb3JkPHN0cmluZywgRnVuY3Rpb25NZXRhPixcbik7XG4iXX0=
|