@mrgrain/cdk-esbuild 3.5.0 → 3.7.2
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/.gitattributes +1 -0
- package/.jsii +581 -355
- package/.projenrc.ts +63 -24
- package/API.md +463 -179
- package/CHANGELOG.md +400 -0
- package/README.md +16 -6
- package/lib/asset.d.ts +20 -6
- package/lib/asset.js +33 -18
- package/lib/bundler.d.ts +44 -6
- package/lib/bundler.js +31 -14
- package/lib/code.d.ts +83 -27
- package/lib/code.js +85 -24
- package/lib/esbuild-types.d.ts +7 -4
- package/lib/esbuild-types.js +1 -1
- package/lib/esbuild-wrapper.d.ts +0 -1
- package/lib/formatMessages.d.ts +0 -1
- package/lib/index.d.ts +4 -5
- package/lib/index.js +3 -1
- package/lib/inline-code.d.ts +0 -1
- package/lib/inline-code.js +4 -4
- package/lib/source.d.ts +81 -6
- package/lib/source.js +84 -8
- package/package.json +13 -16
- package/lib/asset.d.ts.map +0 -1
- package/lib/bundler.d.ts.map +0 -1
- package/lib/code.d.ts.map +0 -1
- package/lib/esbuild-types.d.ts.map +0 -1
- package/lib/esbuild-wrapper.d.ts.map +0 -1
- package/lib/formatMessages.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/inline-code.d.ts.map +0 -1
- package/lib/source.d.ts.map +0 -1
- package/projenrc/TypeScriptSourceFile.ts +0 -50
- package/releasetag.txt +0 -1
- package/version.txt +0 -1
package/lib/bundler.d.ts
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
import { DockerImage, ILocalBundling } from 'aws-cdk-lib';
|
|
2
2
|
import { BuildOptions } from './esbuild-types';
|
|
3
3
|
/**
|
|
4
|
-
* A
|
|
4
|
+
* A path or list or map of paths to the entry points of your code.
|
|
5
|
+
*
|
|
6
|
+
* Relative paths are by default resolved from the current working directory.
|
|
7
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
8
|
+
*
|
|
9
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
10
|
+
*
|
|
11
|
+
* Examples:
|
|
12
|
+
* - `'src/index.ts'`
|
|
13
|
+
* - `require.resolve('./lambda')`
|
|
14
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
15
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
5
16
|
*
|
|
6
17
|
* @stability stable
|
|
7
18
|
*/
|
|
@@ -63,6 +74,14 @@ export interface BundlerProps {
|
|
|
63
74
|
* @default esbuild.buildSync
|
|
64
75
|
*/
|
|
65
76
|
readonly buildFn?: any;
|
|
77
|
+
/**
|
|
78
|
+
* Path to the binary used by esbuild.
|
|
79
|
+
*
|
|
80
|
+
* This is the same as setting the ESBUILD_BINARY_PATH environment variable.
|
|
81
|
+
*
|
|
82
|
+
* @stability experimental
|
|
83
|
+
*/
|
|
84
|
+
readonly esbuildBinaryPath?: string;
|
|
66
85
|
}
|
|
67
86
|
/**
|
|
68
87
|
* Low-level construct that can be used where `BundlingOptions` are required.
|
|
@@ -72,8 +91,18 @@ export interface BundlerProps {
|
|
|
72
91
|
*/
|
|
73
92
|
export declare class EsbuildBundler {
|
|
74
93
|
/**
|
|
75
|
-
* A
|
|
76
|
-
*
|
|
94
|
+
* A path or list or map of paths to the entry points of your code.
|
|
95
|
+
*
|
|
96
|
+
* Relative paths are by default resolved from the current working directory.
|
|
97
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
98
|
+
*
|
|
99
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
100
|
+
*
|
|
101
|
+
* Examples:
|
|
102
|
+
* - `'src/index.ts'`
|
|
103
|
+
* - `require.resolve('./lambda')`
|
|
104
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
105
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
77
106
|
*
|
|
78
107
|
* @stability experimental
|
|
79
108
|
*/
|
|
@@ -101,8 +130,18 @@ export declare class EsbuildBundler {
|
|
|
101
130
|
*/
|
|
102
131
|
constructor(
|
|
103
132
|
/**
|
|
104
|
-
* A
|
|
105
|
-
*
|
|
133
|
+
* A path or list or map of paths to the entry points of your code.
|
|
134
|
+
*
|
|
135
|
+
* Relative paths are by default resolved from the current working directory.
|
|
136
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
137
|
+
*
|
|
138
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
139
|
+
*
|
|
140
|
+
* Examples:
|
|
141
|
+
* - `'src/index.ts'`
|
|
142
|
+
* - `require.resolve('./lambda')`
|
|
143
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
144
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
106
145
|
*
|
|
107
146
|
* @stability experimental
|
|
108
147
|
*/
|
|
@@ -116,4 +155,3 @@ export declare class EsbuildBundler {
|
|
|
116
155
|
private getCopyDirList;
|
|
117
156
|
private getOutputOptions;
|
|
118
157
|
}
|
|
119
|
-
//# sourceMappingURL=bundler.d.ts.map
|
package/lib/bundler.js
CHANGED
|
@@ -20,8 +20,18 @@ class EsbuildBundler {
|
|
|
20
20
|
*/
|
|
21
21
|
constructor(
|
|
22
22
|
/**
|
|
23
|
-
* A
|
|
24
|
-
*
|
|
23
|
+
* A path or list or map of paths to the entry points of your code.
|
|
24
|
+
*
|
|
25
|
+
* Relative paths are by default resolved from the current working directory.
|
|
26
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
27
|
+
*
|
|
28
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
29
|
+
*
|
|
30
|
+
* Examples:
|
|
31
|
+
* - `'src/index.ts'`
|
|
32
|
+
* - `require.resolve('./lambda')`
|
|
33
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
34
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
25
35
|
*
|
|
26
36
|
* @stability experimental
|
|
27
37
|
*/
|
|
@@ -32,7 +42,6 @@ class EsbuildBundler {
|
|
|
32
42
|
* @stability experimental
|
|
33
43
|
*/
|
|
34
44
|
props) {
|
|
35
|
-
var _b, _c;
|
|
36
45
|
this.entryPoints = entryPoints;
|
|
37
46
|
this.props = props;
|
|
38
47
|
/**
|
|
@@ -41,18 +50,16 @@ class EsbuildBundler {
|
|
|
41
50
|
* @stability deprecated
|
|
42
51
|
*/
|
|
43
52
|
this.image = aws_cdk_lib_1.DockerImage.fromRegistry('scratch');
|
|
44
|
-
if (
|
|
53
|
+
if (props?.buildOptions?.outfile && props?.buildOptions?.outdir) {
|
|
45
54
|
throw new Error('Cannot use both "outfile" and "outdir"');
|
|
46
55
|
}
|
|
47
56
|
const { buildFn = esbuild_wrapper_1.buildSync } = this.props;
|
|
48
57
|
this.local = {
|
|
49
58
|
tryBundle: (outputDir, _options) => {
|
|
50
|
-
var _b;
|
|
51
59
|
if (this.props.copyDir) {
|
|
52
60
|
const copyDir = this.getCopyDirList(this.props.copyDir);
|
|
53
61
|
copyDir.forEach(([dest, src]) => {
|
|
54
|
-
|
|
55
|
-
const srcDir = path_1.resolve((_d = (_c = (_b = this.props) === null || _b === void 0 ? void 0 : _b.buildOptions) === null || _c === void 0 ? void 0 : _c.absWorkingDir) !== null && _d !== void 0 ? _d : process.cwd(), src);
|
|
62
|
+
const srcDir = path_1.resolve(this.props?.buildOptions?.absWorkingDir ?? process.cwd(), src);
|
|
56
63
|
const destDir = path_1.resolve(outputDir, dest);
|
|
57
64
|
const destToOutput = path_1.relative(outputDir, destDir);
|
|
58
65
|
if (destToOutput.startsWith('..') || path_1.isAbsolute(destToOutput)) {
|
|
@@ -62,10 +69,14 @@ class EsbuildBundler {
|
|
|
62
69
|
aws_cdk_lib_1.FileSystem.copyDirectory(srcDir, destDir);
|
|
63
70
|
});
|
|
64
71
|
}
|
|
72
|
+
const originalEsbuildBinaryPath = process.env.ESBUILD_BINARY_PATH;
|
|
73
|
+
if (this.props.esbuildBinaryPath) {
|
|
74
|
+
process.env.ESBUILD_BINARY_PATH = this.props.esbuildBinaryPath;
|
|
75
|
+
}
|
|
65
76
|
try {
|
|
66
77
|
const buildResult = buildFn({
|
|
67
78
|
entryPoints,
|
|
68
|
-
...(
|
|
79
|
+
...(this.props?.buildOptions || {}),
|
|
69
80
|
...this.getOutputOptions(outputDir, { normalize: path_1.normalize, join: path_1.join }),
|
|
70
81
|
});
|
|
71
82
|
formatMessages_1.printBuildMessages(buildResult, { prefix: 'Build ' });
|
|
@@ -73,6 +84,13 @@ class EsbuildBundler {
|
|
|
73
84
|
catch (error) {
|
|
74
85
|
formatMessages_1.printBuildMessages(error, { prefix: 'Build ' });
|
|
75
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* only reset `ESBUILD_BINARY_PATH` if it was explicitly set via the construct props
|
|
89
|
+
* since `esbuild` itself sometimes sets it (eg. when running in yarn 2 plug&play)
|
|
90
|
+
*/
|
|
91
|
+
if (this.props.esbuildBinaryPath) {
|
|
92
|
+
process.env.ESBUILD_BINARY_PATH = originalEsbuildBinaryPath;
|
|
93
|
+
}
|
|
76
94
|
return true;
|
|
77
95
|
},
|
|
78
96
|
};
|
|
@@ -103,20 +121,19 @@ class EsbuildBundler {
|
|
|
103
121
|
return [['.', copyDir]];
|
|
104
122
|
}
|
|
105
123
|
getOutputOptions(cdkOutputDir, path = path_1.posix) {
|
|
106
|
-
|
|
107
|
-
if ((_c = (_b = this.props) === null || _b === void 0 ? void 0 : _b.buildOptions) === null || _c === void 0 ? void 0 : _c.outfile) {
|
|
124
|
+
if (this.props?.buildOptions?.outfile) {
|
|
108
125
|
return {
|
|
109
126
|
outdir: undefined,
|
|
110
|
-
outfile: path.normalize(path.join(...[cdkOutputDir,
|
|
127
|
+
outfile: path.normalize(path.join(...[cdkOutputDir, this.props?.buildOptions?.outfile].filter(Boolean))),
|
|
111
128
|
};
|
|
112
129
|
}
|
|
113
130
|
return {
|
|
114
|
-
outdir: path.normalize(path.join(...[cdkOutputDir,
|
|
131
|
+
outdir: path.normalize(path.join(...[cdkOutputDir, this.props?.buildOptions?.outdir].filter(Boolean))),
|
|
115
132
|
outfile: undefined,
|
|
116
133
|
};
|
|
117
134
|
}
|
|
118
135
|
}
|
|
119
136
|
exports.EsbuildBundler = EsbuildBundler;
|
|
120
137
|
_a = JSII_RTTI_SYMBOL_1;
|
|
121
|
-
EsbuildBundler[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildBundler", version: "3.
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQStCO0FBQy9CLCtCQUE2RTtBQUM3RSw2Q0FLcUI7QUFFckIsdURBQThDO0FBQzlDLHFEQUFzRDtBQXVFdEQ7Ozs7O0dBS0c7QUFDSCxNQUFhLGNBQWM7SUFlekI7O09BRUc7SUFDSDtJQUNFOzs7OztPQUtHO0lBQ2EsV0FBd0I7SUFFeEM7Ozs7T0FJRztJQUNhLEtBQW1COztRQVBuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQU94QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBeEJyQzs7OztXQUlHO1FBQ2EsVUFBSyxHQUFHLHlCQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBcUIxRCxJQUFJLE9BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksMENBQUUsT0FBTyxZQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUMzRDtRQUVELE1BQU0sRUFBRSxPQUFPLEdBQUcsMkJBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFM0MsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFNBQVMsRUFBRSxDQUFDLFNBQWlCLEVBQUUsUUFBeUIsRUFBVyxFQUFFOztnQkFFbkUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUV4RCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTs7d0JBQzlCLE1BQU0s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Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNyQixJQUFJLENBQUMsSUFBSSxDQUNQLEdBQUksQ0FBQyxZQUFZLGNBQUUsSUFBSSxDQUFDLEtBQUssMENBQUUsWUFBWSwwQ0FBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQzFELE9BQU8sQ0FDSyxDQUNmLENBQ0Y7YUFDRixDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ3BCLElBQUksQ0FBQyxJQUFJLENBQ1AsR0FBSSxDQUFDLFlBQVksY0FBRSxJQUFJLENBQUMsS0FBSywwQ0FBRSxZQUFZLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDekQsT0FBTyxDQUNLLENBQ2YsQ0FDRjtZQUNELE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUM7SUFDSixDQUFDOztBQTNJSCx3Q0E0SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBta2RpclN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBqb2luLCBub3JtYWxpemUsIHJlbGF0aXZlLCByZXNvbHZlLCBwb3NpeCwgaXNBYnNvbHV0ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQnVuZGxpbmdPcHRpb25zLFxuICBEb2NrZXJJbWFnZSxcbiAgRmlsZVN5c3RlbSxcbiAgSUxvY2FsQnVuZGxpbmcsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEJ1aWxkRmFpbHVyZSwgQnVpbGRPcHRpb25zLCBCdWlsZFJlc3VsdCB9IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5pbXBvcnQgeyBidWlsZFN5bmMgfSBmcm9tICcuL2VzYnVpbGQtd3JhcHBlcic7XG5pbXBvcnQgeyBwcmludEJ1aWxkTWVzc2FnZXMgfSBmcm9tICcuL2Zvcm1hdE1lc3NhZ2VzJztcblxuLyoqXG4gKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC4gRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgdHlwZSBFbnRyeVBvaW50cyA9IHN0cmluZyB8IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuLyoqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBCdWlsZCBvcHRpb25zIHBhc3NlZCBvbiB0byBlc2J1aWxkLiBQbGVhc2UgcmVmZXIgdG8gdGhlIGVzYnVpbGQgQnVpbGQgQVBJIGRvY3MgZm9yIGRldGFpbHMuXG4gICAqXG4gICAqICogYGJ1aWxkT3B0aW9ucy5vdXRkaXI6IHN0cmluZ2BcbiAgICogVGhlIGFjdHVhbCBwYXRoIGZvciB0aGUgb3V0cHV0IGRpcmVjdG9yeSBpcyBkZWZpbmVkIGJ5IENESy4gSG93ZXZlciBzZXR0aW5nIHRoaXMgb3B0aW9uIGFsbG93cyB0byB3cml0ZSBmaWxlcyBpbnRvIGEgc3ViZGlyZWN0b3J5LiBcXFxuICAgKiBGb3IgZXhhbXBsZSBgeyBvdXRkaXI6ICdqcycgfWAgd2lsbCBjcmVhdGUgYW4gYXNzZXQgd2l0aCBhIHNpbmdsZSBkaXJlY3RvcnkgY2FsbGVkIGBqc2AsIHdoaWNoIGNvbnRhaW5zIGFsbCBidWlsdCBmaWxlcy4gVGhpcyBhcHByb2FjaCBjYW4gYmUgdXNlZnVsIGZvciBzdGF0aWMgd2Vic2l0ZSBkZXBsb3ltZW50cywgd2hlcmUgSmF2YVNjcmlwdCBjb2RlIHNob3VsZCBiZSBwbGFjZWQgaW50byBhIHN1YmRpcmVjdG9yeS4gXFxcbiAgICogKkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggYG91dGZpbGVgKi5cbiAgICogKiBgYnVpbGRPcHRpb25zLm91dGZpbGU6IHN0cmluZ2BcbiAgICogUmVsYXRpdmUgcGF0aCB0byBhIGZpbGUgaW5zaWRlIHRoZSBDREsgYXNzZXQgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICogRm9yIGV4YW1wbGUgYHsgb3V0ZmlsZTogJ2pzL2luZGV4LmpzJyB9YCB3aWxsIGNyZWF0ZSBhbiBhc3NldCB3aXRoIGEgc2luZ2xlIGRpcmVjdG9yeSBjYWxsZWQgYGpzYCwgd2hpY2ggY29udGFpbnMgYSBzaW5nbGUgZmlsZSBgaW5kZXguanNgLiBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gcmVuYW1lIHRoZSBlbnRyeSBwb2ludC4gXFxcbiAgICogKkNhbm5vdCBiZSB1c2VkIHdpdGggbXVsdGlwbGUgZW50cnlQb2ludHMgb3IgdG9nZXRoZXIgd2l0aCBgb3V0ZGlyYC4qXG4gICAqICogYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyOiBzdHJpbmdgXG4gICAqIEFic29sdXRlIHBhdGggdG8gdGhlIFtlc2J1aWxkIHdvcmtpbmcgZGlyZWN0b3J5XShodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd29ya2luZy1kaXJlY3RvcnkpIGFuZCBkZWZhdWx0cyB0byB0aGUgW2N1cnJlbnQgd29ya2luZyBkaXJlY3RvcnldKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dvcmtpbmdfZGlyZWN0b3J5KS4gXFxcbiAgICogSWYgcGF0aHMgY2Fubm90IGJlIGZvdW5kLCBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgaXMgdG8gbG9vayBhdCB0aGUgY29uY2F0ZW5hdGlvbiBvZiBgYWJzV29ya2luZ0RpciArIGVudHJ5UG9pbnRgLiBJdCBtdXN0IGFsd2F5cyBiZSBhIHZhbGlkIGFic29sdXRlIHBhdGggcG9pbnRpbmcgdG8gdGhlIGVudHJ5IHBvaW50LiBXaGVuIG5lZWRlZCwgdGhlIHByb2JhYmx5IGVhc2llc3Qgd2F5IHRvIHNldCBhYnNXb3JraW5nRGlyIGlzIHRvIHVzZSBhIGNvbWJpbmF0aW9uIG9mIGByZXNvbHZlYCBhbmQgYF9fZGlybmFtZWAgKHNlZSBcIkxpYnJhcnkgYXV0aG9yc1wiIHNlY3Rpb24gaW4gdGhlIGRvY3VtZW50YXRpb24pLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkT3B0aW9ucz86IEJ1aWxkT3B0aW9ucztcblxuICAvKipcbiAgICogQ29weSBhZGRpdGlvbmFsIGZpbGVzIHRvIHRoZSBjb2RlIFthc3NldCBzdGFnaW5nIGRpcmVjdG9yeV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5Bc3NldFN0YWdpbmcuaHRtbCNhYnNvbHV0ZXN0YWdlZHBhdGgpLCBiZWZvcmUgdGhlIGJ1aWxkIHJ1bnMuXG4gICAqIEZpbGVzIGNvcGllZCBsaWtlIHRoaXMgd2lsbCBiZSBvdmVyd3JpdHRlbiBieSBlc2J1aWxkIGlmIHRoZXkgc2hhcmUgdGhlIHNhbWUgbmFtZSBhcyBhbnkgb2YgdGhlIG91dHB1dHMuXG4gICAqXG4gICAqICogV2hlbiBwcm92aWRlZCB3aXRoIGEgYHN0cmluZ2Agb3IgYGFycmF5YCwgYWxsIGZpbGVzIGFyZSBjb3BpZWQgdG8gdGhlIHJvb3Qgb2YgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkuXG4gICAqICogV2hlbiBnaXZlbiBhIGBtYXBgLCB0aGUga2V5IGluZGljYXRlcyB0aGUgZGVzdGluYXRpb24gcmVsYXRpdmUgdG8gdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5IGFuZCB0aGUgdmFsdWUgaXMgYSBsaXN0IG9mIGFsbCBzb3VyY2VzIHRvIGJlIGNvcGllZC5cbiAgICpcbiAgICogVGhlcmVmb3JlIHRoZSBmb2xsb3dpbmcgdmFsdWVzIGZvciBgY29weURpcmAgYXJlIGFsbCBlcXVpdmFsZW50OlxuICAgKiBgYGB0c1xuICAgKiB7IGNvcHlEaXI6IFwicGF0aC90by9zb3VyY2VcIiB9XG4gICAqIHsgY29weURpcjogW1wicGF0aC90by9zb3VyY2VcIl0gfVxuICAgKiB7IGNvcHlEaXI6IHsgXCIuXCI6IFwicGF0aC90by9zb3VyY2VcIiB9IH1cbiAgICogeyBjb3B5RGlyOiB7IFwiLlwiOiBbXCJwYXRoL3RvL3NvdXJjZVwiXSB9IH1cbiAgICogYGBgXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBjYW5ub3QgYmUgb3V0c2lkZSBvZiB0aGUgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkuXG4gICAqIElmIHlvdSBhcmUgcmVjZWl2aW5nIHRoZSBlcnJvciBcIkNhbm5vdCBjb3B5IGZpbGVzIHRvIG91dHNpZGUgb2YgdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5LlwiXG4gICAqIHlvdSBhcmUgbGlrZWx5IHVzaW5nIGAuLmAgb3IgYW4gYWJzb2x1dGUgcGF0aCBhcyBrZXkgb24gdGhlIGBjb3B5RGlyYCBtYXAuXG4gICAqIEluc3RlYWQgdXNlIG9ubHkgcmVsYXRpdmUgcGF0aHMgYW5kIGF2b2lkIGAuLmAuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb3B5RGlyPzogc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmcgW10+O1xuXG5cbiAgLyoqXG4gICAqIEVzY2FwZSBoYXRjaCB0byBwcm92aWRlIHRoZSBidW5kbGVyIHdpdGggYSBjdXN0b20gYnVpbGQgZnVuY3Rpb24uXG4gICAqIFRoZSBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIGNvbXB1dGVkIG9wdGlvbnMgZnJvbSB0aGUgYnVuZGxlci4gSXQgY2FuIHVzZSB3aXRoIHRoZXNlIG9wdGlvbnMgYXMgaXQgd2lzaGVzLCBob3dldmVyIGBvdXRkaXJgL2BvdXRmaWxlYCBtdXN0IGJlIHJlc3BlY3RlZCB0byBpbnRlZ3JhdGUgd2l0aCBDREsuXG4gICAqIE11c3QgdGhyb3cgYSBgQnVpbGRGYWlsdXJlYCBvbiBmYWlsdXJlIHRvIGNvcnJlY3RseSBpbmZvcm0gdGhlIGJ1bmRsZXIuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqIEB0eXBlIGVzYnVpbGQuYnVpbGRTeW5jXG4gICAqIEByZXR1cm5zIGVzYnVpbGQuQnVpbGRSZXN1bHRcbiAgICogQHRocm93cyBlc2J1aWxkLkJ1aWxkRmFpbHVyZVxuICAgKiBAZGVmYXVsdCBlc2J1aWxkLmJ1aWxkU3luY1xuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRGbj86IGFueTtcbn1cblxuLyoqXG4gKiBMb3ctbGV2ZWwgY29uc3RydWN0IHRoYXQgY2FuIGJlIHVzZWQgd2hlcmUgYEJ1bmRsaW5nT3B0aW9uc2AgYXJlIHJlcXVpcmVkLlxuICogVGhpcyBjbGFzcyBkaXJlY3RseSBpbnRlcmZhY2VzIHdpdGggZXNidWlsZCBhbmQgcHJvdmlkZXMgYWxtb3N0IG5vIGNvbmZpZ3VyYXRpb24gc2FmZWd1YXJkcy5cbiAqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgRXNidWlsZEJ1bmRsZXIge1xuICAvKipcbiAgICogSW1wbGVtZW50YXRpb24gb2YgYElMb2NhbEJ1bmRsaW5nYCBpbnRlcmZhY2UsIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIGVzYnVpbGQgZnVuY3Rpb25zLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvY2FsOiBJTG9jYWxCdW5kbGluZztcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyB2YWx1ZSBpcyBpZ25vcmVkIHNpbmNlIHRoZSBidW5kbGVyIGlzIGFsd2F5cyB1c2luZyBhIGxvY2FsbHkgaW5zdGFsbGVkIHZlcnNpb24gb2YgZXNidWlsZC4gSG93ZXZlciB0aGUgcHJvcGVydHkgaXMgcmVxdWlyZWQgdG8gY29tcGx5IHdpdGggdGhlIGBCdW5kbGluZ09wdGlvbnNgIGludGVyZmFjZS5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2UgPSBEb2NrZXJJbWFnZS5mcm9tUmVnaXN0cnkoJ3NjcmF0Y2gnKTtcblxuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9wczogQnVuZGxlclByb3BzLFxuICApIHtcbiAgICBpZiAocHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZSAmJiBwcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRkaXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBib3RoIFwib3V0ZmlsZVwiIGFuZCBcIm91dGRpclwiJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBidWlsZEZuID0gYnVpbGRTeW5jIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgdGhpcy5sb2NhbCA9IHtcbiAgICAgIHRyeUJ1bmRsZTogKG91dHB1dERpcjogc3RyaW5nLCBfb3B0aW9uczogQnVuZGxpbmdPcHRpb25zKTogYm9vbGVhbiA9PiB7XG5cbiAgICAgICAgaWYgKHRoaXMucHJvcHMuY29weURpcikge1xuICAgICAgICAgIGNvbnN0IGNvcHlEaXIgPSB0aGlzLmdldENvcHlEaXJMaXN0KHRoaXMucHJvcHMuY29weURpcik7XG5cbiAgICAgICAgICBjb3B5RGlyLmZvckVhY2goKFtkZXN0LCBzcmNdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzcmNEaXIgPSByZXNvbHZlKFxuICAgICAgICAgICAgICB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/LmFic1dvcmtpbmdEaXIgPz8gcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGRlc3REaXIgPSByZXNvbHZlKG91dHB1dERpciwgZGVzdCkgO1xuXG4gICAgICAgICAgICBjb25zdCBkZXN0VG9PdXRwdXQgPSByZWxhdGl2ZShvdXRwdXREaXIsIGRlc3REaXIpO1xuICAgICAgICAgICAgaWYgKGRlc3RUb091dHB1dC5zdGFydHNXaXRoKCcuLicpIHx8IGlzQWJzb2x1dGUoZGVzdFRvT3V0cHV0KSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb3B5IGZpbGVzIHRvIG91dHNpZGUgb2YgdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5LiBTZWUgZG9jcyBmb3IgZGV0YWlscy4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWtkaXJTeW5jKGRlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgRmlsZVN5c3RlbS5jb3B5RGlyZWN0b3J5KHNyY0RpciwgZGVzdERpcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGJ1aWxkUmVzdWx0OiBCdWlsZFJlc3VsdCA9IGJ1aWxkRm4oe1xuICAgICAgICAgICAgZW50cnlQb2ludHMsXG4gICAgICAgICAgICAuLi4odGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zIHx8IHt9KSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0T3V0cHV0T3B0aW9ucyhvdXRwdXREaXIsIHsgbm9ybWFsaXplLCBqb2luIH0pLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcHJpbnRCdWlsZE1lc3NhZ2VzKGJ1aWxkUmVzdWx0LCB7IHByZWZpeDogJ0J1aWxkICcgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgcHJpbnRCdWlsZE1lc3NhZ2VzKGVycm9yIGFzIEJ1aWxkRmFpbHVyZSwgeyBwcmVmaXg6ICdCdWlsZCAnIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldENvcHlEaXJMaXN0KGNvcHlEaXI6IEJ1bmRsZXJQcm9wc1snY29weURpciddKTogQXJyYXk8W3N0cmluZywgc3RyaW5nXT4ge1xuICAgIC8vIE5vdGhpbmcgdG8gY29weVxuICAgIGlmICghY29weURpcikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8vIExpc3Qgb2Ygc3RyaW5nc1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNvcHlEaXIpKSB7XG4gICAgICByZXR1cm4gY29weURpci5tYXAoKHNyYzogc3RyaW5nKSA9PiBbJy4nLCBzcmNdKTtcbiAgICB9XG5cbiAgICAvLyBBIG1hcFxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb3B5RGlyID09PSAnb2JqZWN0JyAmJlxuICAgICAgIUFycmF5LmlzQXJyYXkoY29weURpcikgJiZcbiAgICAgIGNvcHlEaXIgIT09IG51bGxcbiAgICApIHtcbiAgICAgIHJldHVybiBPYmplY3RcbiAgICAgICAgLmVudHJpZXMoY29weURpcilcbiAgICAgICAgLmZsYXRNYXAoKFtkZXN0LCBzb3VyY2VzXSkgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gc291cmNlcy5tYXAoKHNyYykgPT4gW2Rlc3QsIHNyY10pIGFzIEFycmF5PFtzdHJpbmcsIHN0cmluZ10+O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbW2Rlc3QsIHNvdXJjZXNdXTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQSBzaW5nbGUgc3RyaW5nXG4gICAgcmV0dXJuIFtbJy4nLCBjb3B5RGlyIGFzIHN0cmluZ11dO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRwdXRPcHRpb25zKFxuICAgIGNka091dHB1dERpcjogc3RyaW5nLFxuICAgIHBhdGg6IFBpY2s8dHlwZW9mIHBvc2l4LCAnbm9ybWFsaXplJyB8ICdqb2luJz4gPSBwb3NpeCxcbiAgKTogQnVpbGRPcHRpb25zIHtcbiAgICBpZiAodGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRmaWxlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvdXRkaXI6IHVuZGVmaW5lZCxcbiAgICAgICAgb3V0ZmlsZTogcGF0aC5ub3JtYWxpemUoXG4gICAgICAgICAgcGF0aC5qb2luKFxuICAgICAgICAgICAgLi4uKFtjZGtPdXRwdXREaXIsIHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZV0uZmlsdGVyKFxuICAgICAgICAgICAgICBCb29sZWFuLFxuICAgICAgICAgICAgKSBhcyBzdHJpbmdbXSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG91dGRpcjogcGF0aC5ub3JtYWxpemUoXG4gICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICAuLi4oW2Nka091dHB1dERpciwgdGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRkaXJdLmZpbHRlcihcbiAgICAgICAgICAgIEJvb2xlYW4sXG4gICAgICAgICAgKSBhcyBzdHJpbmdbXSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICAgb3V0ZmlsZTogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
138
|
+
EsbuildBundler[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildBundler", version: "3.7.2" };
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQStCO0FBQy9CLCtCQUE2RTtBQUM3RSw2Q0FLcUI7QUFFckIsdURBQThDO0FBQzlDLHFEQUFzRDtBQTJGdEQ7Ozs7O0dBS0c7QUFDSCxNQUFhLGNBQWM7SUFlekI7O09BRUc7SUFDSDtJQUNFOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNhLFdBQXdCO0lBRXhDOzs7O09BSUc7SUFDYSxLQUFtQjtRQVBuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQU94QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBbENyQzs7OztXQUlHO1FBQ2EsVUFBSyxHQUFHLHlCQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBK0IxRCxJQUFJLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUMzRDtRQUVELE1BQU0sRUFBRSxPQUFPLEdBQUcsMkJBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFM0MsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFNBQVMsRUFBRSxDQUFDLFNBQWlCLEVBQUUsUUFBeUIsRUFBVyxFQUFFO2dCQUVuRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO29CQUN0QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBRXhELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO3dCQUM5QixNQUFNLE1BQU0sR0FBRyxjQUFPLENBQ3BCLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxF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LENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELGtCQUFrQjtRQUNsQixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBaUIsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVPLGdCQUFnQixDQUN0QixZQUFvQixFQUNwQixPQUFpRCxZQUFLO1FBRXRELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFO1lBQ3JDLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNyQixJQUFJLENBQUMsSUFBSSxDQUNQLEdBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUMxRCxPQUFPLENBQ0ssQ0FDZixDQUNGO2FBQ0YsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNwQixJQUFJLENBQUMsSUFBSSxDQUNQLEdBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUN6RCxPQUFPLENBQ0ssQ0FDZixDQUNGO1lBQ0QsT0FBTyxFQUFFLFNBQVM7U0FDbkIsQ0FBQztJQUNKLENBQUM7O0FBbEtILHdDQW1LQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZGlyU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IGpvaW4sIG5vcm1hbGl6ZSwgcmVsYXRpdmUsIHJlc29sdmUsIHBvc2l4LCBpc0Fic29sdXRlIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBCdW5kbGluZ09wdGlvbnMsXG4gIERvY2tlckltYWdlLFxuICBGaWxlU3lzdGVtLFxuICBJTG9jYWxCdW5kbGluZyxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQnVpbGRGYWlsdXJlLCBCdWlsZE9wdGlvbnMsIEJ1aWxkUmVzdWx0IH0gZnJvbSAnLi9lc2J1aWxkLXR5cGVzJztcbmltcG9ydCB7IGJ1aWxkU3luYyB9IGZyb20gJy4vZXNidWlsZC13cmFwcGVyJztcbmltcG9ydCB7IHByaW50QnVpbGRNZXNzYWdlcyB9IGZyb20gJy4vZm9ybWF0TWVzc2FnZXMnO1xuXG4vKipcbiAqIEEgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZS5cbiAqXG4gKiBSZWxhdGl2ZSBwYXRocyBhcmUgYnkgZGVmYXVsdCByZXNvbHZlZCBmcm9tIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICogVG8gY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSwgc2VlIGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpcmAuXG4gKlxuICogQWJzb2x1dGUgcGF0aHMgY2FuIGJlIHVzZWQgaWYgZmlsZXMgYXJlIHBhcnQgb2YgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LlxuICpcbiAqIEV4YW1wbGVzOlxuICogIC0gYCdzcmMvaW5kZXgudHMnYFxuICogIC0gYHJlcXVpcmUucmVzb2x2ZSgnLi9sYW1iZGEnKWBcbiAqICAtIGBbJ3NyYy9pbmRleC50cycsICdzcmMvdXRpbC50cyddYFxuICogIC0gYHtvbmU6ICdzcmMvdHdvLnRzJywgdHdvOiAnc3JjL29uZS50cyd9YFxuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCB0eXBlIEVudHJ5UG9pbnRzID0gc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4vKipcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVuZGxlclByb3BzIHtcbiAgLyoqXG4gICAqIEJ1aWxkIG9wdGlvbnMgcGFzc2VkIG9uIHRvIGVzYnVpbGQuIFBsZWFzZSByZWZlciB0byB0aGUgZXNidWlsZCBCdWlsZCBBUEkgZG9jcyBmb3IgZGV0YWlscy5cbiAgICpcbiAgICogKiBgYnVpbGRPcHRpb25zLm91dGRpcjogc3RyaW5nYFxuICAgKiBUaGUgYWN0dWFsIHBhdGggZm9yIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGlzIGRlZmluZWQgYnkgQ0RLLiBIb3dldmVyIHNldHRpbmcgdGhpcyBvcHRpb24gYWxsb3dzIHRvIHdyaXRlIGZpbGVzIGludG8gYSBzdWJkaXJlY3RvcnkuIFxcXG4gICAqIEZvciBleGFtcGxlIGB7IG91dGRpcjogJ2pzJyB9YCB3aWxsIGNyZWF0ZSBhbiBhc3NldCB3aXRoIGEgc2luZ2xlIGRpcmVjdG9yeSBjYWxsZWQgYGpzYCwgd2hpY2ggY29udGFpbnMgYWxsIGJ1aWx0IGZpbGVzLiBUaGlzIGFwcHJvYWNoIGNhbiBiZSB1c2VmdWwgZm9yIHN0YXRpYyB3ZWJzaXRlIGRlcGxveW1lbnRzLCB3aGVyZSBKYXZhU2NyaXB0IGNvZGUgc2hvdWxkIGJlIHBsYWNlZCBpbnRvIGEgc3ViZGlyZWN0b3J5LiBcXFxuICAgKiAqQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBgb3V0ZmlsZWAqLlxuICAgKiAqIGBidWlsZE9wdGlvbnMub3V0ZmlsZTogc3RyaW5nYFxuICAgKiBSZWxhdGl2ZSBwYXRoIHRvIGEgZmlsZSBpbnNpZGUgdGhlIENESyBhc3NldCBvdXRwdXQgZGlyZWN0b3J5LlxuICAgKiBGb3IgZXhhbXBsZSBgeyBvdXRmaWxlOiAnanMvaW5kZXguanMnIH1gIHdpbGwgY3JlYXRlIGFuIGFzc2V0IHdpdGggYSBzaW5nbGUgZGlyZWN0b3J5IGNhbGxlZCBganNgLCB3aGljaCBjb250YWlucyBhIHNpbmdsZSBmaWxlIGBpbmRleC5qc2AuIFRoaXMgY2FuIGJlIHVzZWZ1bCB0byByZW5hbWUgdGhlIGVudHJ5IHBvaW50LiBcXFxuICAgKiAqQ2Fubm90IGJlIHVzZWQgd2l0aCBtdWx0aXBsZSBlbnRyeVBvaW50cyBvciB0b2dldGhlciB3aXRoIGBvdXRkaXJgLipcbiAgICogKiBgYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXI6IHN0cmluZ2BcbiAgICogQWJzb2x1dGUgcGF0aCB0byB0aGUgW2VzYnVpbGQgd29ya2luZyBkaXJlY3RvcnldKGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN3b3JraW5nLWRpcmVjdG9yeSkgYW5kIGRlZmF1bHRzIHRvIHRoZSBbY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvV29ya2luZ19kaXJlY3RvcnkpLiBcXFxuICAgKiBJZiBwYXRocyBjYW5ub3QgYmUgZm91bmQsIGEgZ29vZCBzdGFydGluZyBwb2ludCBpcyB0byBsb29rIGF0IHRoZSBjb25jYXRlbmF0aW9uIG9mIGBhYnNXb3JraW5nRGlyICsgZW50cnlQb2ludGAuIEl0IG11c3QgYWx3YXlzIGJlIGEgdmFsaWQgYWJzb2x1dGUgcGF0aCBwb2ludGluZyB0byB0aGUgZW50cnkgcG9pbnQuIFdoZW4gbmVlZGVkLCB0aGUgcHJvYmFibHkgZWFzaWVzdCB3YXkgdG8gc2V0IGFic1dvcmtpbmdEaXIgaXMgdG8gdXNlIGEgY29tYmluYXRpb24gb2YgYHJlc29sdmVgIGFuZCBgX19kaXJuYW1lYCAoc2VlIFwiTGlicmFyeSBhdXRob3JzXCIgc2VjdGlvbiBpbiB0aGUgZG9jdW1lbnRhdGlvbikuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRPcHRpb25zPzogQnVpbGRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBDb3B5IGFkZGl0aW9uYWwgZmlsZXMgdG8gdGhlIGNvZGUgW2Fzc2V0IHN0YWdpbmcgZGlyZWN0b3J5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2FwaS92Mi9kb2NzL2F3cy1jZGstbGliLkFzc2V0U3RhZ2luZy5odG1sI2Fic29sdXRlc3RhZ2VkcGF0aCksIGJlZm9yZSB0aGUgYnVpbGQgcnVucy5cbiAgICogRmlsZXMgY29waWVkIGxpa2UgdGhpcyB3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IGVzYnVpbGQgaWYgdGhleSBzaGFyZSB0aGUgc2FtZSBuYW1lIGFzIGFueSBvZiB0aGUgb3V0cHV0cy5cbiAgICpcbiAgICogKiBXaGVuIHByb3ZpZGVkIHdpdGggYSBgc3RyaW5nYCBvciBgYXJyYXlgLCBhbGwgZmlsZXMgYXJlIGNvcGllZCB0byB0aGUgcm9vdCBvZiBhc3NldCBzdGFnaW5nIGRpcmVjdG9yeS5cbiAgICogKiBXaGVuIGdpdmVuIGEgYG1hcGAsIHRoZSBrZXkgaW5kaWNhdGVzIHRoZSBkZXN0aW5hdGlvbiByZWxhdGl2ZSB0byB0aGUgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkgYW5kIHRoZSB2YWx1ZSBpcyBhIGxpc3Qgb2YgYWxsIHNvdXJjZXMgdG8gYmUgY29waWVkLlxuICAgKlxuICAgKiBUaGVyZWZvcmUgdGhlIGZvbGxvd2luZyB2YWx1ZXMgZm9yIGBjb3B5RGlyYCBhcmUgYWxsIGVxdWl2YWxlbnQ6XG4gICAqIGBgYHRzXG4gICAqIHsgY29weURpcjogXCJwYXRoL3RvL3NvdXJjZVwiIH1cbiAgICogeyBjb3B5RGlyOiBbXCJwYXRoL3RvL3NvdXJjZVwiXSB9XG4gICAqIHsgY29weURpcjogeyBcIi5cIjogXCJwYXRoL3RvL3NvdXJjZVwiIH0gfVxuICAgKiB7IGNvcHlEaXI6IHsgXCIuXCI6IFtcInBhdGgvdG8vc291cmNlXCJdIH0gfVxuICAgKiBgYGBcbiAgICogVGhlIGRlc3RpbmF0aW9uIGNhbm5vdCBiZSBvdXRzaWRlIG9mIHRoZSBhc3NldCBzdGFnaW5nIGRpcmVjdG9yeS5cbiAgICogSWYgeW91IGFyZSByZWNlaXZpbmcgdGhlIGVycm9yIFwiQ2Fubm90IGNvcHkgZmlsZXMgdG8gb3V0c2lkZSBvZiB0aGUgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkuXCJcbiAgICogeW91IGFyZSBsaWtlbHkgdXNpbmcgYC4uYCBvciBhbiBhYnNvbHV0ZSBwYXRoIGFzIGtleSBvbiB0aGUgYGNvcHlEaXJgIG1hcC5cbiAgICogSW5zdGVhZCB1c2Ugb25seSByZWxhdGl2ZSBwYXRocyBhbmQgYXZvaWQgYC4uYC5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGNvcHlEaXI/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHN0cmluZyBbXT47XG5cblxuICAvKipcbiAgICogRXNjYXBlIGhhdGNoIHRvIHByb3ZpZGUgdGhlIGJ1bmRsZXIgd2l0aCBhIGN1c3RvbSBidWlsZCBmdW5jdGlvbi5cbiAgICogVGhlIGZ1bmN0aW9uIHdpbGwgcmVjZWl2ZSB0aGUgY29tcHV0ZWQgb3B0aW9ucyBmcm9tIHRoZSBidW5kbGVyLiBJdCBjYW4gdXNlIHdpdGggdGhlc2Ugb3B0aW9ucyBhcyBpdCB3aXNoZXMsIGhvd2V2ZXIgYG91dGRpcmAvYG91dGZpbGVgIG11c3QgYmUgcmVzcGVjdGVkIHRvIGludGVncmF0ZSB3aXRoIENESy5cbiAgICogTXVzdCB0aHJvdyBhIGBCdWlsZEZhaWx1cmVgIG9uIGZhaWx1cmUgdG8gY29ycmVjdGx5IGluZm9ybSB0aGUgYnVuZGxlci5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICogQHR5cGUgZXNidWlsZC5idWlsZFN5bmNcbiAgICogQHJldHVybnMgZXNidWlsZC5CdWlsZFJlc3VsdFxuICAgKiBAdGhyb3dzIGVzYnVpbGQuQnVpbGRGYWlsdXJlXG4gICAqIEBkZWZhdWx0IGVzYnVpbGQuYnVpbGRTeW5jXG4gICAqL1xuICByZWFkb25seSBidWlsZEZuPzogYW55O1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBiaW5hcnkgdXNlZCBieSBlc2J1aWxkLlxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIEVTQlVJTERfQklOQVJZX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBlc2J1aWxkQmluYXJ5UGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBMb3ctbGV2ZWwgY29uc3RydWN0IHRoYXQgY2FuIGJlIHVzZWQgd2hlcmUgYEJ1bmRsaW5nT3B0aW9uc2AgYXJlIHJlcXVpcmVkLlxuICogVGhpcyBjbGFzcyBkaXJlY3RseSBpbnRlcmZhY2VzIHdpdGggZXNidWlsZCBhbmQgcHJvdmlkZXMgYWxtb3N0IG5vIGNvbmZpZ3VyYXRpb24gc2FmZWd1YXJkcy5cbiAqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgRXNidWlsZEJ1bmRsZXIge1xuICAvKipcbiAgICogSW1wbGVtZW50YXRpb24gb2YgYElMb2NhbEJ1bmRsaW5nYCBpbnRlcmZhY2UsIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIGVzYnVpbGQgZnVuY3Rpb25zLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvY2FsOiBJTG9jYWxCdW5kbGluZztcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyB2YWx1ZSBpcyBpZ25vcmVkIHNpbmNlIHRoZSBidW5kbGVyIGlzIGFsd2F5cyB1c2luZyBhIGxvY2FsbHkgaW5zdGFsbGVkIHZlcnNpb24gb2YgZXNidWlsZC4gSG93ZXZlciB0aGUgcHJvcGVydHkgaXMgcmVxdWlyZWQgdG8gY29tcGx5IHdpdGggdGhlIGBCdW5kbGluZ09wdGlvbnNgIGludGVyZmFjZS5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2UgPSBEb2NrZXJJbWFnZS5mcm9tUmVnaXN0cnkoJ3NjcmF0Y2gnKTtcblxuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUuXG4gICAgICpcbiAgICAgKiBSZWxhdGl2ZSBwYXRocyBhcmUgYnkgZGVmYXVsdCByZXNvbHZlZCBmcm9tIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgICAqIFRvIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnksIHNlZSBgYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgLlxuICAgICAqXG4gICAgICogQWJzb2x1dGUgcGF0aHMgY2FuIGJlIHVzZWQgaWYgZmlsZXMgYXJlIHBhcnQgb2YgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgICAqXG4gICAgICogRXhhbXBsZXM6XG4gICAgICogIC0gYCdzcmMvaW5kZXgudHMnYFxuICAgICAqICAtIGByZXF1aXJlLnJlc29sdmUoJy4vbGFtYmRhJylgXG4gICAgICogIC0gYFsnc3JjL2luZGV4LnRzJywgJ3NyYy91dGlsLnRzJ11gXG4gICAgICogIC0gYHtvbmU6ICdzcmMvdHdvLnRzJywgdHdvOiAnc3JjL29uZS50cyd9YFxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9wczogQnVuZGxlclByb3BzLFxuICApIHtcbiAgICBpZiAocHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZSAmJiBwcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRkaXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBib3RoIFwib3V0ZmlsZVwiIGFuZCBcIm91dGRpclwiJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBidWlsZEZuID0gYnVpbGRTeW5jIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgdGhpcy5sb2NhbCA9IHtcbiAgICAgIHRyeUJ1bmRsZTogKG91dHB1dERpcjogc3RyaW5nLCBfb3B0aW9uczogQnVuZGxpbmdPcHRpb25zKTogYm9vbGVhbiA9PiB7XG5cbiAgICAgICAgaWYgKHRoaXMucHJvcHMuY29weURpcikge1xuICAgICAgICAgIGNvbnN0IGNvcHlEaXIgPSB0aGlzLmdldENvcHlEaXJMaXN0KHRoaXMucHJvcHMuY29weURpcik7XG5cbiAgICAgICAgICBjb3B5RGlyLmZvckVhY2goKFtkZXN0LCBzcmNdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzcmNEaXIgPSByZXNvbHZlKFxuICAgICAgICAgICAgICB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/LmFic1dvcmtpbmdEaXIgPz8gcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGRlc3REaXIgPSByZXNvbHZlKG91dHB1dERpciwgZGVzdCkgO1xuXG4gICAgICAgICAgICBjb25zdCBkZXN0VG9PdXRwdXQgPSByZWxhdGl2ZShvdXRwdXREaXIsIGRlc3REaXIpO1xuICAgICAgICAgICAgaWYgKGRlc3RUb091dHB1dC5zdGFydHNXaXRoKCcuLicpIHx8IGlzQWJzb2x1dGUoZGVzdFRvT3V0cHV0KSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb3B5IGZpbGVzIHRvIG91dHNpZGUgb2YgdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5LiBTZWUgZG9jcyBmb3IgZGV0YWlscy4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWtkaXJTeW5jKGRlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgRmlsZVN5c3RlbS5jb3B5RGlyZWN0b3J5KHNyY0RpciwgZGVzdERpcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcmlnaW5hbEVzYnVpbGRCaW5hcnlQYXRoID0gcHJvY2Vzcy5lbnYuRVNCVUlMRF9CSU5BUllfUEFUSDtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuZXNidWlsZEJpbmFyeVBhdGgpIHtcbiAgICAgICAgICBwcm9jZXNzLmVudi5FU0JVSUxEX0JJTkFSWV9QQVRIID0gdGhpcy5wcm9wcy5lc2J1aWxkQmluYXJ5UGF0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgYnVpbGRSZXN1bHQ6IEJ1aWxkUmVzdWx0ID0gYnVpbGRGbih7XG4gICAgICAgICAgICBlbnRyeVBvaW50cyxcbiAgICAgICAgICAgIC4uLih0aGlzLnByb3BzPy5idWlsZE9wdGlvbnMgfHwge30pLFxuICAgICAgICAgICAgLi4udGhpcy5nZXRPdXRwdXRPcHRpb25zKG91dHB1dERpciwgeyBub3JtYWxpemUsIGpvaW4gfSksXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBwcmludEJ1aWxkTWVzc2FnZXMoYnVpbGRSZXN1bHQsIHsgcHJlZml4OiAnQnVpbGQgJyB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBwcmludEJ1aWxkTWVzc2FnZXMoZXJyb3IgYXMgQnVpbGRGYWlsdXJlLCB7IHByZWZpeDogJ0J1aWxkICcgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogb25seSByZXNldCBgRVNCVUlMRF9CSU5BUllfUEFUSGAgaWYgaXQgd2FzIGV4cGxpY2l0bHkgc2V0IHZpYSB0aGUgY29uc3RydWN0IHByb3BzXG4gICAgICAgICAqIHNpbmNlIGBlc2J1aWxkYCBpdHNlbGYgc29tZXRpbWVzIHNldHMgaXQgKGVnLiB3aGVuIHJ1bm5pbmcgaW4geWFybiAyIHBsdWcmcGxheSlcbiAgICAgICAgICovXG4gICAgICAgIGlmICh0aGlzLnByb3BzLmVzYnVpbGRCaW5hcnlQYXRoKSB7XG4gICAgICAgICAgcHJvY2Vzcy5lbnYuRVNCVUlMRF9CSU5BUllfUEFUSCA9IG9yaWdpbmFsRXNidWlsZEJpbmFyeVBhdGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29weURpckxpc3QoY29weURpcjogQnVuZGxlclByb3BzWydjb3B5RGlyJ10pOiBBcnJheTxbc3RyaW5nLCBzdHJpbmddPiB7XG4gICAgLy8gTm90aGluZyB0byBjb3B5XG4gICAgaWYgKCFjb3B5RGlyKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLy8gTGlzdCBvZiBzdHJpbmdzXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29weURpcikpIHtcbiAgICAgIHJldHVybiBjb3B5RGlyLm1hcCgoc3JjOiBzdHJpbmcpID0+IFsnLicsIHNyY10pO1xuICAgIH1cblxuICAgIC8vIEEgbWFwXG4gICAgaWYgKFxuICAgICAgdHlwZW9mIGNvcHlEaXIgPT09ICdvYmplY3QnICYmXG4gICAgICAhQXJyYXkuaXNBcnJheShjb3B5RGlyKSAmJlxuICAgICAgY29weURpciAhPT0gbnVsbFxuICAgICkge1xuICAgICAgcmV0dXJuIE9iamVjdFxuICAgICAgICAuZW50cmllcyhjb3B5RGlyKVxuICAgICAgICAuZmxhdE1hcCgoW2Rlc3QsIHNvdXJjZXNdKSA9PiB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc291cmNlcykpIHtcbiAgICAgICAgICAgIHJldHVybiBzb3VyY2VzLm1hcCgoc3JjKSA9PiBbZGVzdCwgc3JjXSkgYXMgQXJyYXk8W3N0cmluZywgc3RyaW5nXT47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtbZGVzdCwgc291cmNlc11dO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBIHNpbmdsZSBzdHJpbmdcbiAgICByZXR1cm4gW1snLicsIGNvcHlEaXIgYXMgc3RyaW5nXV07XG4gIH1cblxuICBwcml2YXRlIGdldE91dHB1dE9wdGlvbnMoXG4gICAgY2RrT3V0cHV0RGlyOiBzdHJpbmcsXG4gICAgcGF0aDogUGljazx0eXBlb2YgcG9zaXgsICdub3JtYWxpemUnIHwgJ2pvaW4nPiA9IHBvc2l4LFxuICApOiBCdWlsZE9wdGlvbnMge1xuICAgIGlmICh0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGZpbGUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG91dGRpcjogdW5kZWZpbmVkLFxuICAgICAgICBvdXRmaWxlOiBwYXRoLm5vcm1hbGl6ZShcbiAgICAgICAgICBwYXRoLmpvaW4oXG4gICAgICAgICAgICAuLi4oW2Nka091dHB1dERpciwgdGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRmaWxlXS5maWx0ZXIoXG4gICAgICAgICAgICAgIEJvb2xlYW4sXG4gICAgICAgICAgICApIGFzIHN0cmluZ1tdKSxcbiAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3V0ZGlyOiBwYXRoLm5vcm1hbGl6ZShcbiAgICAgICAgcGF0aC5qb2luKFxuICAgICAgICAgIC4uLihbY2RrT3V0cHV0RGlyLCB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGRpcl0uZmlsdGVyKFxuICAgICAgICAgICAgQm9vbGVhbixcbiAgICAgICAgICApIGFzIHN0cmluZ1tdKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgICBvdXRmaWxlOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxufVxuIl19
|
package/lib/code.d.ts
CHANGED
|
@@ -1,38 +1,76 @@
|
|
|
1
1
|
import { CfnResource } from 'aws-cdk-lib';
|
|
2
|
-
import { ResourceBindOptions } from 'aws-cdk-lib/aws-lambda';
|
|
3
|
-
import { Location } from 'aws-cdk-lib/aws-s3';
|
|
2
|
+
import { ResourceBindOptions, Code, CodeConfig } from 'aws-cdk-lib/aws-lambda';
|
|
4
3
|
import { Construct } from 'constructs';
|
|
5
|
-
import { AssetBaseProps, AssetProps
|
|
4
|
+
import { EsbuildAsset, AssetBaseProps, AssetProps } from './asset';
|
|
6
5
|
import { EntryPoints } from './bundler';
|
|
7
|
-
export
|
|
8
|
-
/**
|
|
9
|
-
* The location of the code in S3.
|
|
10
|
-
*
|
|
11
|
-
* @stability stable
|
|
12
|
-
*/
|
|
13
|
-
readonly s3Location: Location;
|
|
14
|
-
}
|
|
6
|
+
export { CodeConfig } from 'aws-cdk-lib/aws-lambda';
|
|
15
7
|
export interface JavaScriptCodeProps extends AssetBaseProps {
|
|
16
8
|
}
|
|
17
9
|
export interface TypeScriptCodeProps extends AssetBaseProps {
|
|
18
10
|
}
|
|
19
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Represents a generic esbuild code bundle.
|
|
13
|
+
*
|
|
14
|
+
* You should always use `TypeScriptCode` or `JavaScriptCode`.
|
|
15
|
+
*
|
|
16
|
+
* @stability experimental
|
|
17
|
+
*/
|
|
18
|
+
export declare class EsbuildCode<Props extends JavaScriptCodeProps | TypeScriptCodeProps> extends Code {
|
|
19
|
+
/**
|
|
20
|
+
* A path or list or map of paths to the entry points of your code.
|
|
21
|
+
*
|
|
22
|
+
* Relative paths are by default resolved from the current working directory.
|
|
23
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
24
|
+
*
|
|
25
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
26
|
+
*
|
|
27
|
+
* Examples:
|
|
28
|
+
* - `'src/index.ts'`
|
|
29
|
+
* - `require.resolve('./lambda')`
|
|
30
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
31
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
32
|
+
*
|
|
33
|
+
* @stability stable
|
|
34
|
+
*/
|
|
20
35
|
readonly entryPoints: EntryPoints;
|
|
21
|
-
protected
|
|
36
|
+
protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
|
|
22
37
|
protected props: AssetProps;
|
|
23
|
-
protected asset:
|
|
38
|
+
protected asset: EsbuildAsset<AssetProps>;
|
|
24
39
|
/**
|
|
25
40
|
* Determines whether this Code is inline code or not.
|
|
26
41
|
*
|
|
27
42
|
* @deprecated this value is ignored since inline is now determined based on the the inlineCode field of CodeConfig returned from bind().
|
|
28
43
|
*/
|
|
29
44
|
isInline: boolean;
|
|
45
|
+
constructor(
|
|
46
|
+
/**
|
|
47
|
+
* A path or list or map of paths to the entry points of your code.
|
|
48
|
+
*
|
|
49
|
+
* Relative paths are by default resolved from the current working directory.
|
|
50
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
51
|
+
*
|
|
52
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
53
|
+
*
|
|
54
|
+
* Examples:
|
|
55
|
+
* - `'src/index.ts'`
|
|
56
|
+
* - `require.resolve('./lambda')`
|
|
57
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
58
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
59
|
+
*
|
|
60
|
+
* @stability stable
|
|
61
|
+
*/
|
|
62
|
+
entryPoints: EntryPoints,
|
|
30
63
|
/**
|
|
64
|
+
* Props to change the behavior of the bundler.
|
|
31
65
|
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
66
|
+
* Default values for `props.buildOptions`:
|
|
67
|
+
* - `bundle=true`
|
|
68
|
+
* - `platform=node`
|
|
69
|
+
* - `target=nodeX` with X being the major node version running locally
|
|
70
|
+
*
|
|
71
|
+
* @stability stable
|
|
34
72
|
*/
|
|
35
|
-
|
|
73
|
+
props: Props);
|
|
36
74
|
bind(scope: Construct): CodeConfig;
|
|
37
75
|
/**
|
|
38
76
|
* Called after the CFN function resource has been created to allow the code class to bind to it.
|
|
@@ -49,12 +87,22 @@ declare abstract class Code<Props extends JavaScriptCodeProps | TypeScriptCodePr
|
|
|
49
87
|
*
|
|
50
88
|
* @stability stable
|
|
51
89
|
*/
|
|
52
|
-
export declare class JavaScriptCode extends
|
|
53
|
-
protected
|
|
90
|
+
export declare class JavaScriptCode extends EsbuildCode<JavaScriptCodeProps> {
|
|
91
|
+
protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
|
|
54
92
|
constructor(
|
|
55
93
|
/**
|
|
56
|
-
* A
|
|
57
|
-
*
|
|
94
|
+
* A path or list or map of paths to the entry points of your code.
|
|
95
|
+
*
|
|
96
|
+
* Relative paths are by default resolved from the current working directory.
|
|
97
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
98
|
+
*
|
|
99
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
100
|
+
*
|
|
101
|
+
* Examples:
|
|
102
|
+
* - `'src/index.ts'`
|
|
103
|
+
* - `require.resolve('./lambda')`
|
|
104
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
105
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
58
106
|
*
|
|
59
107
|
* @stability stable
|
|
60
108
|
*/
|
|
@@ -76,12 +124,22 @@ export declare class JavaScriptCode extends Code<JavaScriptCodeProps, JSAsset> {
|
|
|
76
124
|
*
|
|
77
125
|
* @stability stable
|
|
78
126
|
*/
|
|
79
|
-
export declare class TypeScriptCode extends
|
|
80
|
-
protected
|
|
127
|
+
export declare class TypeScriptCode extends EsbuildCode<TypeScriptCodeProps> {
|
|
128
|
+
protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
|
|
81
129
|
constructor(
|
|
82
130
|
/**
|
|
83
|
-
* A
|
|
84
|
-
*
|
|
131
|
+
* A path or list or map of paths to the entry points of your code.
|
|
132
|
+
*
|
|
133
|
+
* Relative paths are by default resolved from the current working directory.
|
|
134
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
135
|
+
*
|
|
136
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
137
|
+
*
|
|
138
|
+
* Examples:
|
|
139
|
+
* - `'src/index.ts'`
|
|
140
|
+
* - `require.resolve('./lambda')`
|
|
141
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
142
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
85
143
|
*
|
|
86
144
|
* @stability stable
|
|
87
145
|
*/
|
|
@@ -98,5 +156,3 @@ export declare class TypeScriptCode extends Code<TypeScriptCodeProps, TSAsset> {
|
|
|
98
156
|
*/
|
|
99
157
|
props?: TypeScriptCodeProps);
|
|
100
158
|
}
|
|
101
|
-
export {};
|
|
102
|
-
//# sourceMappingURL=code.d.ts.map
|
package/lib/code.js
CHANGED
|
@@ -1,23 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a, _b;
|
|
2
|
+
var _a, _b, _c;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.TypeScriptCode = exports.JavaScriptCode = void 0;
|
|
4
|
+
exports.TypeScriptCode = exports.JavaScriptCode = exports.EsbuildCode = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
|
+
const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
|
7
8
|
const asset_1 = require("./asset");
|
|
8
9
|
function nodeMajorVersion() {
|
|
9
10
|
return parseInt(process.versions.node.split('.')[0], 10);
|
|
10
11
|
}
|
|
11
12
|
;
|
|
12
13
|
;
|
|
13
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Represents a generic esbuild code bundle.
|
|
16
|
+
*
|
|
17
|
+
* You should always use `TypeScriptCode` or `JavaScriptCode`.
|
|
18
|
+
*
|
|
19
|
+
* @stability experimental
|
|
20
|
+
*/
|
|
21
|
+
class EsbuildCode extends aws_lambda_1.Code {
|
|
22
|
+
constructor(
|
|
14
23
|
/**
|
|
24
|
+
* A path or list or map of paths to the entry points of your code.
|
|
15
25
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
26
|
+
* Relative paths are by default resolved from the current working directory.
|
|
27
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
28
|
+
*
|
|
29
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
30
|
+
*
|
|
31
|
+
* Examples:
|
|
32
|
+
* - `'src/index.ts'`
|
|
33
|
+
* - `require.resolve('./lambda')`
|
|
34
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
35
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
36
|
+
*
|
|
37
|
+
* @stability stable
|
|
18
38
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
39
|
+
entryPoints,
|
|
40
|
+
/**
|
|
41
|
+
* Props to change the behavior of the bundler.
|
|
42
|
+
*
|
|
43
|
+
* Default values for `props.buildOptions`:
|
|
44
|
+
* - `bundle=true`
|
|
45
|
+
* - `platform=node`
|
|
46
|
+
* - `target=nodeX` with X being the major node version running locally
|
|
47
|
+
*
|
|
48
|
+
* @stability stable
|
|
49
|
+
*/
|
|
50
|
+
props) {
|
|
51
|
+
super();
|
|
21
52
|
this.entryPoints = entryPoints;
|
|
22
53
|
/**
|
|
23
54
|
* Determines whether this Code is inline code or not.
|
|
@@ -26,8 +57,8 @@ class Code {
|
|
|
26
57
|
*/
|
|
27
58
|
this.isInline = false;
|
|
28
59
|
const defaultOptions = {
|
|
29
|
-
...(!
|
|
30
|
-
|
|
60
|
+
...(!props.buildOptions?.platform ||
|
|
61
|
+
props.buildOptions?.platform === 'node'
|
|
31
62
|
? { platform: 'node', target: 'node' + nodeMajorVersion() }
|
|
32
63
|
: {}),
|
|
33
64
|
};
|
|
@@ -40,10 +71,13 @@ class Code {
|
|
|
40
71
|
},
|
|
41
72
|
};
|
|
42
73
|
}
|
|
74
|
+
getAsset(scope) {
|
|
75
|
+
return new asset_1.EsbuildAsset(scope, this.constructor.name, this.props);
|
|
76
|
+
}
|
|
43
77
|
bind(scope) {
|
|
44
78
|
// If the same AssetCode is used multiple times, retain only the first instantiation.
|
|
45
79
|
if (!this.asset) {
|
|
46
|
-
this.asset =
|
|
80
|
+
this.asset = this.getAsset(scope);
|
|
47
81
|
}
|
|
48
82
|
else if (aws_cdk_lib_1.Stack.of(this.asset) !== aws_cdk_lib_1.Stack.of(scope)) {
|
|
49
83
|
throw new Error(`Asset is already associated with another stack '${aws_cdk_lib_1.Stack.of(this.asset).stackName}'. ` + 'Create a new Asset instance for every stack.');
|
|
@@ -67,21 +101,34 @@ class Code {
|
|
|
67
101
|
if (!this.asset) {
|
|
68
102
|
throw new Error('bindToResource() must be called after bind()');
|
|
69
103
|
}
|
|
70
|
-
const resourceProperty =
|
|
104
|
+
const resourceProperty = options?.resourceProperty || this.constructor.name;
|
|
71
105
|
// https://github.com/aws/aws-cdk/issues/1432
|
|
72
106
|
this.asset.addResourceMetadata(resource, resourceProperty);
|
|
73
107
|
}
|
|
74
108
|
}
|
|
109
|
+
exports.EsbuildCode = EsbuildCode;
|
|
110
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
111
|
+
EsbuildCode[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildCode", version: "3.7.2" };
|
|
75
112
|
/**
|
|
76
113
|
* Represents the deployed JavaScript Code.
|
|
77
114
|
*
|
|
78
115
|
* @stability stable
|
|
79
116
|
*/
|
|
80
|
-
class JavaScriptCode extends
|
|
117
|
+
class JavaScriptCode extends EsbuildCode {
|
|
81
118
|
constructor(
|
|
82
119
|
/**
|
|
83
|
-
* A
|
|
84
|
-
*
|
|
120
|
+
* A path or list or map of paths to the entry points of your code.
|
|
121
|
+
*
|
|
122
|
+
* Relative paths are by default resolved from the current working directory.
|
|
123
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
124
|
+
*
|
|
125
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
126
|
+
*
|
|
127
|
+
* Examples:
|
|
128
|
+
* - `'src/index.ts'`
|
|
129
|
+
* - `require.resolve('./lambda')`
|
|
130
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
131
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
85
132
|
*
|
|
86
133
|
* @stability stable
|
|
87
134
|
*/
|
|
@@ -98,22 +145,34 @@ class JavaScriptCode extends Code {
|
|
|
98
145
|
*/
|
|
99
146
|
props = {}) {
|
|
100
147
|
super(entryPoints, props);
|
|
101
|
-
|
|
148
|
+
}
|
|
149
|
+
getAsset(scope) {
|
|
150
|
+
return new asset_1.JavaScriptAsset(scope, this.constructor.name, this.props);
|
|
102
151
|
}
|
|
103
152
|
}
|
|
104
153
|
exports.JavaScriptCode = JavaScriptCode;
|
|
105
|
-
|
|
106
|
-
JavaScriptCode[
|
|
154
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
155
|
+
JavaScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "3.7.2" };
|
|
107
156
|
/**
|
|
108
157
|
* Represents the deployed TypeScript Code.
|
|
109
158
|
*
|
|
110
159
|
* @stability stable
|
|
111
160
|
*/
|
|
112
|
-
class TypeScriptCode extends
|
|
161
|
+
class TypeScriptCode extends EsbuildCode {
|
|
113
162
|
constructor(
|
|
114
163
|
/**
|
|
115
|
-
* A
|
|
116
|
-
*
|
|
164
|
+
* A path or list or map of paths to the entry points of your code.
|
|
165
|
+
*
|
|
166
|
+
* Relative paths are by default resolved from the current working directory.
|
|
167
|
+
* To change the working directory, see `buildOptions.absWorkingDir`.
|
|
168
|
+
*
|
|
169
|
+
* Absolute paths can be used if files are part of the working directory.
|
|
170
|
+
*
|
|
171
|
+
* Examples:
|
|
172
|
+
* - `'src/index.ts'`
|
|
173
|
+
* - `require.resolve('./lambda')`
|
|
174
|
+
* - `['src/index.ts', 'src/util.ts']`
|
|
175
|
+
* - `{one: 'src/two.ts', two: 'src/one.ts'}`
|
|
117
176
|
*
|
|
118
177
|
* @stability stable
|
|
119
178
|
*/
|
|
@@ -130,10 +189,12 @@ class TypeScriptCode extends Code {
|
|
|
130
189
|
*/
|
|
131
190
|
props = {}) {
|
|
132
191
|
super(entryPoints, props);
|
|
133
|
-
|
|
192
|
+
}
|
|
193
|
+
getAsset(scope) {
|
|
194
|
+
return new asset_1.TypeScriptAsset(scope, this.constructor.name, this.props);
|
|
134
195
|
}
|
|
135
196
|
}
|
|
136
197
|
exports.TypeScriptCode = TypeScriptCode;
|
|
137
|
-
|
|
138
|
-
TypeScriptCode[
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWlEO0FBSWpELG1DQUtpQjtBQUlqQixTQUFTLGdCQUFnQjtJQUN2QixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQVc2RCxDQUFDO0FBQ0QsQ0FBQztBQUUvRCxNQUFlLElBQUk7SUFxQmpCOzs7O09BSUc7SUFDSCxZQUE0QixXQUF3QixFQUFFLEtBQVk7O1FBQXRDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWnBEOzs7O1dBSUc7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBUS9CLE1BQU0sY0FBYyxHQUEwQjtZQUM1QyxHQUFHLENBQUMsUUFBQyxLQUFLLENBQUMsWUFBWSwwQ0FBRSxRQUFRLENBQUE7Z0JBQ2pDLE9BQUEsS0FBSyxDQUFDLFlBQVksMENBQUUsUUFBUSxNQUFLLE1BQU07Z0JBQ3JDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxFQUFFO2dCQUMzRCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxHQUFHLEtBQUs7WUFDUixXQUFXO1lBQ1gsWUFBWSxFQUFFO2dCQUNaLEdBQUcsY0FBYztnQkFDakIsR0FBRyxLQUFLLENBQUMsWUFBWTthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWdCO1FBQ25CLHFGQUFxRjtRQUNyRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUM5QixLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztTQUNIO2FBQU0sSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FDYixtREFDRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FDdkIsS0FBSyxHQUFHLDhDQUE4QyxDQUN2RCxDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7Z0JBQ25DLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7YUFDbEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxjQUFjLENBQUMsUUFBcUIsRUFBRSxPQUE2QjtRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsZ0JBQWdCLEtBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDNUUsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLElBQWtDO0lBR3BFO0lBQ0U7Ozs7O09BS0c7SUFDSCxXQUF3QjtJQUN4Qjs7Ozs7Ozs7O09BU0c7SUFDSCxRQUE2QixFQUFFO1FBRS9CLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUF0QlQsZUFBVSxHQUFHLHVCQUFPLENBQUM7SUF1QnhDLENBQUM7O0FBeEJILHdDQXlCQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLElBQWtDO0lBR3BFO0lBQ0U7Ozs7O09BS0c7SUFDSCxXQUF3QjtJQUN4Qjs7Ozs7Ozs7O09BU0c7SUFDSCxRQUE2QixFQUFFO1FBRS9CLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUF0QlQsZUFBVSxHQUFHLHVCQUFPLENBQUM7SUF1QnhDLENBQUM7O0FBeEJILHdDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblJlc291cmNlLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlQmluZE9wdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgQXNzZXRCYXNlUHJvcHMsXG4gIEFzc2V0UHJvcHMsXG4gIEphdmFTY3JpcHRBc3NldCBhcyBKU0Fzc2V0LFxuICBUeXBlU2NyaXB0QXNzZXQgYXMgVFNBc3NldCxcbn0gZnJvbSAnLi9hc3NldCc7XG5pbXBvcnQgeyBFbnRyeVBvaW50cyB9IGZyb20gJy4vYnVuZGxlcic7XG5pbXBvcnQgeyBCdWlsZE9wdGlvbnMgfSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuXG5mdW5jdGlvbiBub2RlTWFqb3JWZXJzaW9uKCk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUludChwcm9jZXNzLnZlcnNpb25zLm5vZGUuc3BsaXQoJy4nKVswXSwgMTApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb25maWcge1xuICAvKipcbiAgICogVGhlIGxvY2F0aW9uIG9mIHRoZSBjb2RlIGluIFMzLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgczNMb2NhdGlvbjogTG9jYXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSmF2YVNjcmlwdENvZGVQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3BzIHt9O1xuZXhwb3J0IGludGVyZmFjZSBUeXBlU2NyaXB0Q29kZVByb3BzIGV4dGVuZHMgQXNzZXRCYXNlUHJvcHMge307XG5cbmFic3RyYWN0IGNsYXNzIENvZGU8XG4gIFByb3BzIGV4dGVuZHMgSmF2YVNjcmlwdENvZGVQcm9wcyB8IFR5cGVTY3JpcHRDb2RlUHJvcHMsXG4gIEFzc2V0IGV4dGVuZHMgSlNBc3NldCB8IFRTQXNzZXRcbj4ge1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgYXNzZXRDbGFzczogbmV3IChcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEFzc2V0UHJvcHNcbiAgKSA9PiBBc3NldDtcblxuICBwcm90ZWN0ZWQgcHJvcHM6IEFzc2V0UHJvcHM7XG5cbiAgcHJvdGVjdGVkIGFzc2V0ITogQXNzZXQ7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIENvZGUgaXMgaW5saW5lIGNvZGUgb3Igbm90LlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB0aGlzIHZhbHVlIGlzIGlnbm9yZWQgc2luY2UgaW5saW5lIGlzIG5vdyBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSB0aGUgaW5saW5lQ29kZSBmaWVsZCBvZiBDb2RlQ29uZmlnIHJldHVybmVkIGZyb20gYmluZCgpLlxuICAgKi9cbiAgcHVibGljIGlzSW5saW5lOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlbnRyeVBvaW50cyAtIFJlbGF0aXZlIHBhdGggdG8gdGhlIGFzc2V0IGNvZGUuIFVzZSBgcHJvcHMuYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgIGlmIGFuIGFic29sdXRlIHBhdGggaXMgcmVxdWlyZWQuXG4gICAqIEBwYXJhbSBwcm9wcyAtIEFzc2V0IHByb3BlcnRpZXMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLCBwcm9wczogUHJvcHMpIHtcbiAgICBjb25zdCBkZWZhdWx0T3B0aW9uczogUGFydGlhbDxCdWlsZE9wdGlvbnM+ID0ge1xuICAgICAgLi4uKCFwcm9wcy5idWlsZE9wdGlvbnM/LnBsYXRmb3JtIHx8XG4gICAgICBwcm9wcy5idWlsZE9wdGlvbnM/LnBsYXRmb3JtID09PSAnbm9kZSdcbiAgICAgICAgPyB7IHBsYXRmb3JtOiAnbm9kZScsIHRhcmdldDogJ25vZGUnICsgbm9kZU1ham9yVmVyc2lvbigpIH1cbiAgICAgICAgOiB7fSksXG4gICAgfTtcblxuICAgIHRoaXMucHJvcHMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGVudHJ5UG9pbnRzLFxuICAgICAgYnVpbGRPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgICAgICAuLi5wcm9wcy5idWlsZE9wdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldENvZGUgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb24uXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IHRoaXMuYXNzZXRDbGFzcyhcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChTdGFjay5vZih0aGlzLmFzc2V0KSAhPT0gU3RhY2sub2Yoc2NvcGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBc3NldCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIHN0YWNrICcke1xuICAgICAgICAgIFN0YWNrLm9mKHRoaXMuYXNzZXQpLnN0YWNrTmFtZVxuICAgICAgICB9Jy4gYCArICdDcmVhdGUgYSBuZXcgQXNzZXQgaW5zdGFuY2UgZm9yIGV2ZXJ5IHN0YWNrLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzM0xvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IHRoaXMuYXNzZXQuczNCdWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IHRoaXMuYXNzZXQuczNPYmplY3RLZXksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIHRoZSBDRk4gZnVuY3Rpb24gcmVzb3VyY2UgaGFzIGJlZW4gY3JlYXRlZCB0byBhbGxvdyB0aGUgY29kZSBjbGFzcyB0byBiaW5kIHRvIGl0LlxuICAgKlxuICAgKiBTcGVjaWZpY2FsbHkgaXQncyByZXF1aXJlZCB0byBhbGxvdyBhc3NldHMgdG8gYWRkXG4gICAqIG1ldGFkYXRhIGZvciB0b29saW5nIGxpa2UgU0FNIENMSSB0byBiZSBhYmxlIHRvIGZpbmQgdGhlaXIgb3JpZ2lucy5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIGJpbmRUb1Jlc291cmNlKHJlc291cmNlOiBDZm5SZXNvdXJjZSwgb3B0aW9ucz86IFJlc291cmNlQmluZE9wdGlvbnMpIHtcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYmluZFRvUmVzb3VyY2UoKSBtdXN0IGJlIGNhbGxlZCBhZnRlciBiaW5kKCknKTtcbiAgICB9XG4gICAgY29uc3QgcmVzb3VyY2VQcm9wZXJ0eSA9IG9wdGlvbnM/LnJlc291cmNlUHJvcGVydHkgfHwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTQzMlxuICAgIHRoaXMuYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgcmVzb3VyY2VQcm9wZXJ0eSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZXBsb3llZCBKYXZhU2NyaXB0IENvZGUuXG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFTY3JpcHRDb2RlIGV4dGVuZHMgQ29kZTxKYXZhU2NyaXB0Q29kZVByb3BzLCBKU0Fzc2V0PiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhc3NldENsYXNzID0gSlNBc3NldDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBKYXZhU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZXBsb3llZCBUeXBlU2NyaXB0IENvZGUuXG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRDb2RlIGV4dGVuZHMgQ29kZTxUeXBlU2NyaXB0Q29kZVByb3BzLCBUU0Fzc2V0PiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhc3NldENsYXNzID0gVFNBc3NldDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBUeXBlU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
|
|
198
|
+
_c = JSII_RTTI_SYMBOL_1;
|
|
199
|
+
TypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "3.7.2" };
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWlEO0FBQ2pELHVEQUErRTtBQUUvRSxtQ0FNaUI7QUFJakIsU0FBUyxnQkFBZ0I7SUFDdkIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFHNkQsQ0FBQztBQUNELENBQUM7QUFFL0Q7Ozs7OztHQU1HO0FBQ0gsTUFBYSxXQUVYLFNBQVEsaUJBQUk7SUFvQlo7SUFDRTs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDTSxXQUF3QjtJQUVqQzs7Ozs7Ozs7O09BU0c7SUFDSCxLQUFZO1FBRVosS0FBSyxFQUFFLENBQUM7UUFkQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXhCbkM7Ozs7V0FJRztRQUNJLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFtQy9CLE1BQU0sY0FBYyxHQUEwQjtZQUM1QyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVE7Z0JBQ2pDLEtBQUssQ0FBQyxZQUFZLEVBQUUsUUFBUSxLQUFLLE1BQU07Z0JBQ3JDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxFQUFFO2dCQUMzRCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxHQUFHLEtBQUs7WUFDUixXQUFXO1lBQ1gsWUFBWSxFQUFFO2dCQUNaLEdBQUcsY0FBYztnQkFDakIsR0FBRyxLQUFLLENBQUMsWUFBWTthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBbkVTLFFBQVEsQ0FBQyxLQUFnQjtRQUNqQyxPQUFPLElBQUksb0JBQVksQ0FDckIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNyQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7SUFDSixDQUFDO0lBK0RELElBQUksQ0FBQyxLQUFnQjtRQUNuQixxRkFBcUY7UUFDckYsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDbkM7YUFBTSxJQUFJLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNuRCxNQUFNLElBQUksS0FBSyxDQUNiLG1EQUNFLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUN2QixLQUFLLEdBQUcsOENBQThDLENBQ3ZELENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxVQUFVLEVBQUU7Z0JBQ1YsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTtnQkFDbkMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVzthQUNsQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGNBQWMsQ0FBQyxRQUFxQixFQUFFLE9BQTZCO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLEVBQUUsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDNUUsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDN0QsQ0FBQzs7QUEzR0gsa0NBNEdDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsV0FBZ0M7SUFTbEU7SUFDRTs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxXQUF3QjtJQUV4Qjs7Ozs7Ozs7O09BU0c7SUFDSCxRQUE2QixFQUFFO1FBRS9CLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQXhDUyxRQUFRLENBQUMsS0FBZ0I7UUFDakMsT0FBTyxJQUFJLHVCQUFPLENBQ2hCLEtBQUssRUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFDckIsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0osQ0FBQzs7QUFQSCx3Q0EwQ0M7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxXQUFnQztJQVNsRTtJQUNFOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNILFdBQXdCO0lBRXhCOzs7Ozs7Ozs7T0FTRztJQUNILFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBeENTLFFBQVEsQ0FBQyxLQUFnQjtRQUNqQyxPQUFPLElBQUksdUJBQU8sQ0FDaEIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNyQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7SUFDSixDQUFDOztBQVBILHdDQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblJlc291cmNlLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlQmluZE9wdGlvbnMsIENvZGUsIENvZGVDb25maWcgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgRXNidWlsZEFzc2V0LFxuICBBc3NldEJhc2VQcm9wcyxcbiAgQXNzZXRQcm9wcyxcbiAgSmF2YVNjcmlwdEFzc2V0IGFzIEpTQXNzZXQsXG4gIFR5cGVTY3JpcHRBc3NldCBhcyBUU0Fzc2V0LFxufSBmcm9tICcuL2Fzc2V0JztcbmltcG9ydCB7IEVudHJ5UG9pbnRzIH0gZnJvbSAnLi9idW5kbGVyJztcbmltcG9ydCB7IEJ1aWxkT3B0aW9ucyB9IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5cbmZ1bmN0aW9uIG5vZGVNYWpvclZlcnNpb24oKTogbnVtYmVyIHtcbiAgcmV0dXJuIHBhcnNlSW50KHByb2Nlc3MudmVyc2lvbnMubm9kZS5zcGxpdCgnLicpWzBdLCAxMCk7XG59XG5cbmV4cG9ydCB7IENvZGVDb25maWcgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmV4cG9ydCBpbnRlcmZhY2UgSmF2YVNjcmlwdENvZGVQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3BzIHt9O1xuZXhwb3J0IGludGVyZmFjZSBUeXBlU2NyaXB0Q29kZVByb3BzIGV4dGVuZHMgQXNzZXRCYXNlUHJvcHMge307XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgZXNidWlsZCBjb2RlIGJ1bmRsZS5cbiAqXG4gKiBZb3Ugc2hvdWxkIGFsd2F5cyB1c2UgYFR5cGVTY3JpcHRDb2RlYCBvciBgSmF2YVNjcmlwdENvZGVgLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBFc2J1aWxkQ29kZTxcbiAgUHJvcHMgZXh0ZW5kcyBKYXZhU2NyaXB0Q29kZVByb3BzIHwgVHlwZVNjcmlwdENvZGVQcm9wcyxcbj4gZXh0ZW5kcyBDb2RlIHtcbiAgcHJvdGVjdGVkIGdldEFzc2V0KHNjb3BlOiBDb25zdHJ1Y3QpOiBFc2J1aWxkQXNzZXQ8QXNzZXRQcm9wcz4ge1xuICAgIHJldHVybiBuZXcgRXNidWlsZEFzc2V0KFxuICAgICAgc2NvcGUsXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yLm5hbWUsXG4gICAgICB0aGlzLnByb3BzLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJvcHM6IEFzc2V0UHJvcHM7XG5cbiAgcHJvdGVjdGVkIGFzc2V0ITogRXNidWlsZEFzc2V0PEFzc2V0UHJvcHM+O1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhpcyBDb2RlIGlzIGlubGluZSBjb2RlIG9yIG5vdC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkIHNpbmNlIGlubGluZSBpcyBub3cgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0aGUgdGhlIGlubGluZUNvZGUgZmllbGQgb2YgQ29kZUNvbmZpZyByZXR1cm5lZCBmcm9tIGJpbmQoKS5cbiAgICovXG4gIHB1YmxpYyBpc0lubGluZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZS5cbiAgICAgKlxuICAgICAqIFJlbGF0aXZlIHBhdGhzIGFyZSBieSBkZWZhdWx0IHJlc29sdmVkIGZyb20gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgICogVG8gY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSwgc2VlIGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpcmAuXG4gICAgICpcbiAgICAgKiBBYnNvbHV0ZSBwYXRocyBjYW4gYmUgdXNlZCBpZiBmaWxlcyBhcmUgcGFydCBvZiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlczpcbiAgICAgKiAgLSBgJ3NyYy9pbmRleC50cydgXG4gICAgICogIC0gYHJlcXVpcmUucmVzb2x2ZSgnLi9sYW1iZGEnKWBcbiAgICAgKiAgLSBgWydzcmMvaW5kZXgudHMnLCAnc3JjL3V0aWwudHMnXWBcbiAgICAgKiAgLSBge29uZTogJ3NyYy90d28udHMnLCB0d286ICdzcmMvb25lLnRzJ31gXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcblxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLmJ1aWxkT3B0aW9uc2A6XG4gICAgICogLSBgYnVuZGxlPXRydWVgXG4gICAgICogLSBgcGxhdGZvcm09bm9kZWBcbiAgICAgKiAtIGB0YXJnZXQ9bm9kZVhgIHdpdGggWCBiZWluZyB0aGUgbWFqb3Igbm9kZSB2ZXJzaW9uIHJ1bm5pbmcgbG9jYWxseVxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBwcm9wczogUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCBkZWZhdWx0T3B0aW9uczogUGFydGlhbDxCdWlsZE9wdGlvbnM+ID0ge1xuICAgICAgLi4uKCFwcm9wcy5idWlsZE9wdGlvbnM/LnBsYXRmb3JtIHx8XG4gICAgICBwcm9wcy5idWlsZE9wdGlvbnM/LnBsYXRmb3JtID09PSAnbm9kZSdcbiAgICAgICAgPyB7IHBsYXRmb3JtOiAnbm9kZScsIHRhcmdldDogJ25vZGUnICsgbm9kZU1ham9yVmVyc2lvbigpIH1cbiAgICAgICAgOiB7fSksXG4gICAgfTtcblxuICAgIHRoaXMucHJvcHMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGVudHJ5UG9pbnRzLFxuICAgICAgYnVpbGRPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgICAgICAuLi5wcm9wcy5idWlsZE9wdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldENvZGUgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb24uXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gdGhpcy5nZXRBc3NldChzY29wZSk7XG4gICAgfSBlbHNlIGlmIChTdGFjay5vZih0aGlzLmFzc2V0KSAhPT0gU3RhY2sub2Yoc2NvcGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBc3NldCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIHN0YWNrICcke1xuICAgICAgICAgIFN0YWNrLm9mKHRoaXMuYXNzZXQpLnN0YWNrTmFtZVxuICAgICAgICB9Jy4gYCArICdDcmVhdGUgYSBuZXcgQXNzZXQgaW5zdGFuY2UgZm9yIGV2ZXJ5IHN0YWNrLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzM0xvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IHRoaXMuYXNzZXQuczNCdWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IHRoaXMuYXNzZXQuczNPYmplY3RLZXksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIHRoZSBDRk4gZnVuY3Rpb24gcmVzb3VyY2UgaGFzIGJlZW4gY3JlYXRlZCB0byBhbGxvdyB0aGUgY29kZSBjbGFzcyB0byBiaW5kIHRvIGl0LlxuICAgKlxuICAgKiBTcGVjaWZpY2FsbHkgaXQncyByZXF1aXJlZCB0byBhbGxvdyBhc3NldHMgdG8gYWRkXG4gICAqIG1ldGFkYXRhIGZvciB0b29saW5nIGxpa2UgU0FNIENMSSB0byBiZSBhYmxlIHRvIGZpbmQgdGhlaXIgb3JpZ2lucy5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIGJpbmRUb1Jlc291cmNlKHJlc291cmNlOiBDZm5SZXNvdXJjZSwgb3B0aW9ucz86IFJlc291cmNlQmluZE9wdGlvbnMpIHtcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYmluZFRvUmVzb3VyY2UoKSBtdXN0IGJlIGNhbGxlZCBhZnRlciBiaW5kKCknKTtcbiAgICB9XG4gICAgY29uc3QgcmVzb3VyY2VQcm9wZXJ0eSA9IG9wdGlvbnM/LnJlc291cmNlUHJvcGVydHkgfHwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTQzMlxuICAgIHRoaXMuYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgcmVzb3VyY2VQcm9wZXJ0eSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZXBsb3llZCBKYXZhU2NyaXB0IENvZGUuXG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFTY3JpcHRDb2RlIGV4dGVuZHMgRXNidWlsZENvZGU8SmF2YVNjcmlwdENvZGVQcm9wcz4ge1xuICBwcm90ZWN0ZWQgZ2V0QXNzZXQoc2NvcGU6IENvbnN0cnVjdCk6IEVzYnVpbGRBc3NldDxBc3NldFByb3BzPiB7XG4gICAgcmV0dXJuIG5ldyBKU0Fzc2V0KFxuICAgICAgc2NvcGUsXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yLm5hbWUsXG4gICAgICB0aGlzLnByb3BzLFxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUuXG4gICAgICpcbiAgICAgKiBSZWxhdGl2ZSBwYXRocyBhcmUgYnkgZGVmYXVsdCByZXNvbHZlZCBmcm9tIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgICAqIFRvIGNoYW5nZSB0aGUgd29ya2luZyBkaXJlY3RvcnksIHNlZSBgYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgLlxuICAgICAqXG4gICAgICogQWJzb2x1dGUgcGF0aHMgY2FuIGJlIHVzZWQgaWYgZmlsZXMgYXJlIHBhcnQgb2YgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgICAqXG4gICAgICogRXhhbXBsZXM6XG4gICAgICogIC0gYCdzcmMvaW5kZXgudHMnYFxuICAgICAqICAtIGByZXF1aXJlLnJlc29sdmUoJy4vbGFtYmRhJylgXG4gICAgICogIC0gYFsnc3JjL2luZGV4LnRzJywgJ3NyYy91dGlsLnRzJ11gXG4gICAgICogIC0gYHtvbmU6ICdzcmMvdHdvLnRzJywgdHdvOiAnc3JjL29uZS50cyd9YFxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG5cbiAgICAvKipcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBidW5kbGVyLlxuICAgICAqXG4gICAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBwcm9wcy5idWlsZE9wdGlvbnNgOlxuICAgICAqIC0gYGJ1bmRsZT10cnVlYFxuICAgICAqIC0gYHBsYXRmb3JtPW5vZGVgXG4gICAgICogLSBgdGFyZ2V0PW5vZGVYYCB3aXRoIFggYmVpbmcgdGhlIG1ham9yIG5vZGUgdmVyc2lvbiBydW5uaW5nIGxvY2FsbHlcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgcHJvcHM6IEphdmFTY3JpcHRDb2RlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoZW50cnlQb2ludHMsIHByb3BzKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRlcGxveWVkIFR5cGVTY3JpcHQgQ29kZS5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdENvZGUgZXh0ZW5kcyBFc2J1aWxkQ29kZTxUeXBlU2NyaXB0Q29kZVByb3BzPiB7XG4gIHByb3RlY3RlZCBnZXRBc3NldChzY29wZTogQ29uc3RydWN0KTogRXNidWlsZEFzc2V0PEFzc2V0UHJvcHM+IHtcbiAgICByZXR1cm4gbmV3IFRTQXNzZXQoXG4gICAgICBzY29wZSxcbiAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIHRoaXMucHJvcHMsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZS5cbiAgICAgKlxuICAgICAqIFJlbGF0aXZlIHBhdGhzIGFyZSBieSBkZWZhdWx0IHJlc29sdmVkIGZyb20gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgICogVG8gY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSwgc2VlIGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpcmAuXG4gICAgICpcbiAgICAgKiBBYnNvbHV0ZSBwYXRocyBjYW4gYmUgdXNlZCBpZiBmaWxlcyBhcmUgcGFydCBvZiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlczpcbiAgICAgKiAgLSBgJ3NyYy9pbmRleC50cydgXG4gICAgICogIC0gYHJlcXVpcmUucmVzb2x2ZSgnLi9sYW1iZGEnKWBcbiAgICAgKiAgLSBgWydzcmMvaW5kZXgudHMnLCAnc3JjL3V0aWwudHMnXWBcbiAgICAgKiAgLSBge29uZTogJ3NyYy90d28udHMnLCB0d286ICdzcmMvb25lLnRzJ31gXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcblxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLmJ1aWxkT3B0aW9uc2A6XG4gICAgICogLSBgYnVuZGxlPXRydWVgXG4gICAgICogLSBgcGxhdGZvcm09bm9kZWBcbiAgICAgKiAtIGB0YXJnZXQ9bm9kZVhgIHdpdGggWCBiZWluZyB0aGUgbWFqb3Igbm9kZSB2ZXJzaW9uIHJ1bm5pbmcgbG9jYWxseVxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBwcm9wczogVHlwZVNjcmlwdENvZGVQcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihlbnRyeVBvaW50cywgcHJvcHMpO1xuICB9XG59XG4iXX0=
|