@mrgrain/cdk-esbuild 3.1.0 → 3.4.0
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 +0 -1
- package/.jsii +290 -88
- package/.projenrc.ts +4 -6
- package/API.md +220 -42
- package/CHANGELOG.md +2 -8
- package/README.md +27 -25
- package/lib/asset.d.ts +1 -6
- package/lib/asset.js +3 -3
- package/lib/bundler.d.ts +32 -19
- package/lib/bundler.js +49 -13
- package/lib/code.d.ts +1 -35
- package/lib/code.js +4 -23
- package/lib/esbuild-types.d.ts +73 -275
- package/lib/esbuild-types.js +1 -1
- package/lib/inline-code.d.ts +14 -37
- package/lib/inline-code.js +13 -33
- package/lib/source.d.ts +0 -35
- package/lib/source.js +3 -26
- package/package.json +15 -15
- package/releasetag.txt +1 -1
- package/version.txt +1 -1
package/lib/esbuild-types.d.ts
CHANGED
|
@@ -5,324 +5,127 @@ export declare type LogLevel = 'verbose' | 'debug' | 'info' | 'warning' | 'error
|
|
|
5
5
|
export declare type Charset = 'ascii' | 'utf8';
|
|
6
6
|
export declare type Drop = 'console' | 'debugger';
|
|
7
7
|
interface CommonOptions {
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
* @stability stable
|
|
12
|
-
*/
|
|
13
|
-
readonly sourcemap?: boolean | 'inline' | 'external' | 'both';
|
|
14
|
-
/**
|
|
15
|
-
* Documentation: https://esbuild.github.io/api/#legal-comments.
|
|
16
|
-
*
|
|
17
|
-
* @stability stable
|
|
18
|
-
*/
|
|
8
|
+
/** Documentation: https://esbuild.github.io/api/#sourcemap */
|
|
9
|
+
readonly sourcemap?: boolean | 'linked' | 'inline' | 'external' | 'both';
|
|
10
|
+
/** Documentation: https://esbuild.github.io/api/#legal-comments */
|
|
19
11
|
readonly legalComments?: 'none' | 'inline' | 'eof' | 'linked' | 'external';
|
|
20
|
-
/**
|
|
21
|
-
* Documentation: https://esbuild.github.io/api/#source-root.
|
|
22
|
-
*
|
|
23
|
-
* @stability stable
|
|
24
|
-
*/
|
|
12
|
+
/** Documentation: https://esbuild.github.io/api/#source-root */
|
|
25
13
|
readonly sourceRoot?: string;
|
|
26
|
-
/**
|
|
27
|
-
* Documentation: https://esbuild.github.io/api/#sources-content.
|
|
28
|
-
*
|
|
29
|
-
* @stability stable
|
|
30
|
-
*/
|
|
14
|
+
/** Documentation: https://esbuild.github.io/api/#sources-content */
|
|
31
15
|
readonly sourcesContent?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Documentation: https://esbuild.github.io/api/#format.
|
|
34
|
-
*
|
|
35
|
-
* @stability stable
|
|
36
|
-
*/
|
|
16
|
+
/** Documentation: https://esbuild.github.io/api/#format */
|
|
37
17
|
readonly format?: Format;
|
|
38
|
-
/**
|
|
39
|
-
* Documentation: https://esbuild.github.io/api/#globalName.
|
|
40
|
-
*
|
|
41
|
-
* @stability stable
|
|
42
|
-
*/
|
|
18
|
+
/** Documentation: https://esbuild.github.io/api/#globalName */
|
|
43
19
|
readonly globalName?: string;
|
|
44
|
-
/**
|
|
45
|
-
* Documentation: https://esbuild.github.io/api/#target.
|
|
46
|
-
*
|
|
47
|
-
* @stability stable
|
|
48
|
-
*/
|
|
20
|
+
/** Documentation: https://esbuild.github.io/api/#target */
|
|
49
21
|
readonly target?: string | string[];
|
|
50
|
-
/**
|
|
51
|
-
|
|
52
|
-
|
|
22
|
+
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
23
|
+
readonly mangleProps?: any;
|
|
24
|
+
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
25
|
+
readonly reserveProps?: any;
|
|
26
|
+
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
27
|
+
readonly mangleQuoted?: boolean;
|
|
28
|
+
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
29
|
+
readonly mangleCache?: Record<string, string | false>;
|
|
30
|
+
/** Documentation: https://esbuild.github.io/api/#drop */
|
|
53
31
|
readonly drop?: Drop[];
|
|
54
|
-
/**
|
|
55
|
-
* Documentation: https://esbuild.github.io/api/#minify.
|
|
56
|
-
*
|
|
57
|
-
* @stability stable
|
|
58
|
-
*/
|
|
32
|
+
/** Documentation: https://esbuild.github.io/api/#minify */
|
|
59
33
|
readonly minify?: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Documentation: https://esbuild.github.io/api/#minify.
|
|
62
|
-
*
|
|
63
|
-
* @stability stable
|
|
64
|
-
*/
|
|
34
|
+
/** Documentation: https://esbuild.github.io/api/#minify */
|
|
65
35
|
readonly minifyWhitespace?: boolean;
|
|
66
|
-
/**
|
|
67
|
-
* Documentation: https://esbuild.github.io/api/#minify.
|
|
68
|
-
*
|
|
69
|
-
* @stability stable
|
|
70
|
-
*/
|
|
36
|
+
/** Documentation: https://esbuild.github.io/api/#minify */
|
|
71
37
|
readonly minifyIdentifiers?: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Documentation: https://esbuild.github.io/api/#minify.
|
|
74
|
-
*
|
|
75
|
-
* @stability stable
|
|
76
|
-
*/
|
|
38
|
+
/** Documentation: https://esbuild.github.io/api/#minify */
|
|
77
39
|
readonly minifySyntax?: boolean;
|
|
78
|
-
/**
|
|
79
|
-
* Documentation: https://esbuild.github.io/api/#charset.
|
|
80
|
-
*
|
|
81
|
-
* @stability stable
|
|
82
|
-
*/
|
|
40
|
+
/** Documentation: https://esbuild.github.io/api/#charset */
|
|
83
41
|
readonly charset?: Charset;
|
|
84
|
-
/**
|
|
85
|
-
* Documentation: https://esbuild.github.io/api/#tree-shaking.
|
|
86
|
-
*
|
|
87
|
-
* @stability stable
|
|
88
|
-
*/
|
|
42
|
+
/** Documentation: https://esbuild.github.io/api/#tree-shaking */
|
|
89
43
|
readonly treeShaking?: boolean;
|
|
90
|
-
/**
|
|
91
|
-
* Documentation: https://esbuild.github.io/api/#ignore-annotations.
|
|
92
|
-
*
|
|
93
|
-
* @stability stable
|
|
94
|
-
*/
|
|
44
|
+
/** Documentation: https://esbuild.github.io/api/#ignore-annotations */
|
|
95
45
|
readonly ignoreAnnotations?: boolean;
|
|
96
|
-
/**
|
|
97
|
-
* Documentation: https://esbuild.github.io/api/#jsx.
|
|
98
|
-
*
|
|
99
|
-
* @stability stable
|
|
100
|
-
*/
|
|
46
|
+
/** Documentation: https://esbuild.github.io/api/#jsx */
|
|
101
47
|
readonly jsx?: 'transform' | 'preserve';
|
|
102
|
-
/**
|
|
103
|
-
* Documentation: https://esbuild.github.io/api/#jsx-factory.
|
|
104
|
-
*
|
|
105
|
-
* @stability stable
|
|
106
|
-
*/
|
|
48
|
+
/** Documentation: https://esbuild.github.io/api/#jsx-factory */
|
|
107
49
|
readonly jsxFactory?: string;
|
|
108
|
-
/**
|
|
109
|
-
* Documentation: https://esbuild.github.io/api/#jsx-fragment.
|
|
110
|
-
*
|
|
111
|
-
* @stability stable
|
|
112
|
-
*/
|
|
50
|
+
/** Documentation: https://esbuild.github.io/api/#jsx-fragment */
|
|
113
51
|
readonly jsxFragment?: string;
|
|
114
|
-
/**
|
|
115
|
-
* Documentation: https://esbuild.github.io/api/#define.
|
|
116
|
-
*
|
|
117
|
-
* @stability stable
|
|
118
|
-
*/
|
|
52
|
+
/** Documentation: https://esbuild.github.io/api/#define */
|
|
119
53
|
readonly define?: {
|
|
120
54
|
[key: string]: string;
|
|
121
55
|
};
|
|
122
|
-
/**
|
|
123
|
-
* Documentation: https://esbuild.github.io/api/#pure.
|
|
124
|
-
*
|
|
125
|
-
* @stability stable
|
|
126
|
-
*/
|
|
56
|
+
/** Documentation: https://esbuild.github.io/api/#pure */
|
|
127
57
|
readonly pure?: string[];
|
|
128
|
-
/**
|
|
129
|
-
* Documentation: https://esbuild.github.io/api/#keep-names.
|
|
130
|
-
*
|
|
131
|
-
* @stability stable
|
|
132
|
-
*/
|
|
58
|
+
/** Documentation: https://esbuild.github.io/api/#keep-names */
|
|
133
59
|
readonly keepNames?: boolean;
|
|
134
|
-
/**
|
|
135
|
-
* Documentation: https://esbuild.github.io/api/#color.
|
|
136
|
-
*
|
|
137
|
-
* @stability stable
|
|
138
|
-
*/
|
|
60
|
+
/** Documentation: https://esbuild.github.io/api/#color */
|
|
139
61
|
readonly color?: boolean;
|
|
140
|
-
/**
|
|
141
|
-
* Documentation: https://esbuild.github.io/api/#log-level.
|
|
142
|
-
*
|
|
143
|
-
* @stability stable
|
|
144
|
-
*/
|
|
62
|
+
/** Documentation: https://esbuild.github.io/api/#log-level */
|
|
145
63
|
readonly logLevel?: LogLevel;
|
|
146
|
-
/**
|
|
147
|
-
* Documentation: https://esbuild.github.io/api/#log-limit.
|
|
148
|
-
*
|
|
149
|
-
* @stability stable
|
|
150
|
-
*/
|
|
64
|
+
/** Documentation: https://esbuild.github.io/api/#log-limit */
|
|
151
65
|
readonly logLimit?: number;
|
|
152
66
|
}
|
|
153
|
-
/**
|
|
154
|
-
* @stability stable
|
|
155
|
-
*/
|
|
156
67
|
export interface BuildOptions extends CommonOptions {
|
|
157
|
-
/**
|
|
158
|
-
* Documentation: https://esbuild.github.io/api/#bundle.
|
|
159
|
-
*
|
|
160
|
-
* @stability stable
|
|
161
|
-
*/
|
|
68
|
+
/** Documentation: https://esbuild.github.io/api/#bundle */
|
|
162
69
|
readonly bundle?: boolean;
|
|
163
|
-
/**
|
|
164
|
-
* Documentation: https://esbuild.github.io/api/#splitting.
|
|
165
|
-
*
|
|
166
|
-
* @stability stable
|
|
167
|
-
*/
|
|
70
|
+
/** Documentation: https://esbuild.github.io/api/#splitting */
|
|
168
71
|
readonly splitting?: boolean;
|
|
169
|
-
/**
|
|
170
|
-
* Documentation: https://esbuild.github.io/api/#preserve-symlinks.
|
|
171
|
-
*
|
|
172
|
-
* @stability stable
|
|
173
|
-
*/
|
|
72
|
+
/** Documentation: https://esbuild.github.io/api/#preserve-symlinks */
|
|
174
73
|
readonly preserveSymlinks?: boolean;
|
|
175
|
-
/**
|
|
176
|
-
* Documentation: https://esbuild.github.io/api/#outfile.
|
|
177
|
-
*
|
|
178
|
-
* @stability stable
|
|
179
|
-
*/
|
|
74
|
+
/** Documentation: https://esbuild.github.io/api/#outfile */
|
|
180
75
|
readonly outfile?: string;
|
|
181
|
-
/**
|
|
182
|
-
* Documentation: https://esbuild.github.io/api/#metafile.
|
|
183
|
-
*
|
|
184
|
-
* @stability stable
|
|
185
|
-
*/
|
|
76
|
+
/** Documentation: https://esbuild.github.io/api/#metafile */
|
|
186
77
|
readonly metafile?: boolean;
|
|
187
|
-
/**
|
|
188
|
-
* Documentation: https://esbuild.github.io/api/#outdir.
|
|
189
|
-
*
|
|
190
|
-
* @stability stable
|
|
191
|
-
*/
|
|
78
|
+
/** Documentation: https://esbuild.github.io/api/#outdir */
|
|
192
79
|
readonly outdir?: string;
|
|
193
|
-
/**
|
|
194
|
-
* Documentation: https://esbuild.github.io/api/#outbase.
|
|
195
|
-
*
|
|
196
|
-
* @stability stable
|
|
197
|
-
*/
|
|
80
|
+
/** Documentation: https://esbuild.github.io/api/#outbase */
|
|
198
81
|
readonly outbase?: string;
|
|
199
|
-
/**
|
|
200
|
-
* Documentation: https://esbuild.github.io/api/#platform.
|
|
201
|
-
*
|
|
202
|
-
* @stability stable
|
|
203
|
-
*/
|
|
82
|
+
/** Documentation: https://esbuild.github.io/api/#platform */
|
|
204
83
|
readonly platform?: Platform;
|
|
205
|
-
/**
|
|
206
|
-
* Documentation: https://esbuild.github.io/api/#external.
|
|
207
|
-
*
|
|
208
|
-
* @stability stable
|
|
209
|
-
*/
|
|
84
|
+
/** Documentation: https://esbuild.github.io/api/#external */
|
|
210
85
|
readonly external?: string[];
|
|
211
|
-
/**
|
|
212
|
-
* Documentation: https://esbuild.github.io/api/#loader.
|
|
213
|
-
*
|
|
214
|
-
* @stability stable
|
|
215
|
-
*/
|
|
86
|
+
/** Documentation: https://esbuild.github.io/api/#loader */
|
|
216
87
|
readonly loader?: {
|
|
217
88
|
[ext: string]: Loader;
|
|
218
89
|
};
|
|
219
|
-
/**
|
|
220
|
-
* Documentation: https://esbuild.github.io/api/#resolve-extensions.
|
|
221
|
-
*
|
|
222
|
-
* @stability stable
|
|
223
|
-
*/
|
|
90
|
+
/** Documentation: https://esbuild.github.io/api/#resolve-extensions */
|
|
224
91
|
readonly resolveExtensions?: string[];
|
|
225
|
-
/**
|
|
226
|
-
* Documentation: https://esbuild.github.io/api/#mainFields.
|
|
227
|
-
*
|
|
228
|
-
* @stability stable
|
|
229
|
-
*/
|
|
92
|
+
/** Documentation: https://esbuild.github.io/api/#mainFields */
|
|
230
93
|
readonly mainFields?: string[];
|
|
231
|
-
/**
|
|
232
|
-
* Documentation: https://esbuild.github.io/api/#conditions.
|
|
233
|
-
*
|
|
234
|
-
* @stability stable
|
|
235
|
-
*/
|
|
94
|
+
/** Documentation: https://esbuild.github.io/api/#conditions */
|
|
236
95
|
readonly conditions?: string[];
|
|
237
|
-
/**
|
|
238
|
-
* Documentation: https://esbuild.github.io/api/#write.
|
|
239
|
-
*
|
|
240
|
-
* @stability stable
|
|
241
|
-
*/
|
|
96
|
+
/** Documentation: https://esbuild.github.io/api/#write */
|
|
242
97
|
readonly write?: boolean;
|
|
243
|
-
/**
|
|
244
|
-
* Documentation: https://esbuild.github.io/api/#allow-overwrite.
|
|
245
|
-
*
|
|
246
|
-
* @stability stable
|
|
247
|
-
*/
|
|
98
|
+
/** Documentation: https://esbuild.github.io/api/#allow-overwrite */
|
|
248
99
|
readonly allowOverwrite?: boolean;
|
|
249
|
-
/**
|
|
250
|
-
* Documentation: https://esbuild.github.io/api/#tsconfig.
|
|
251
|
-
*
|
|
252
|
-
* @stability stable
|
|
253
|
-
*/
|
|
100
|
+
/** Documentation: https://esbuild.github.io/api/#tsconfig */
|
|
254
101
|
readonly tsconfig?: string;
|
|
255
|
-
/**
|
|
256
|
-
* Documentation: https://esbuild.github.io/api/#out-extension.
|
|
257
|
-
*
|
|
258
|
-
* @stability stable
|
|
259
|
-
*/
|
|
102
|
+
/** Documentation: https://esbuild.github.io/api/#out-extension */
|
|
260
103
|
readonly outExtension?: {
|
|
261
104
|
[ext: string]: string;
|
|
262
105
|
};
|
|
263
|
-
/**
|
|
264
|
-
* Documentation: https://esbuild.github.io/api/#public-path.
|
|
265
|
-
*
|
|
266
|
-
* @stability stable
|
|
267
|
-
*/
|
|
106
|
+
/** Documentation: https://esbuild.github.io/api/#public-path */
|
|
268
107
|
readonly publicPath?: string;
|
|
269
|
-
/**
|
|
270
|
-
* Documentation: https://esbuild.github.io/api/#entry-names.
|
|
271
|
-
*
|
|
272
|
-
* @stability stable
|
|
273
|
-
*/
|
|
108
|
+
/** Documentation: https://esbuild.github.io/api/#entry-names */
|
|
274
109
|
readonly entryNames?: string;
|
|
275
|
-
/**
|
|
276
|
-
* Documentation: https://esbuild.github.io/api/#chunk-names.
|
|
277
|
-
*
|
|
278
|
-
* @stability stable
|
|
279
|
-
*/
|
|
110
|
+
/** Documentation: https://esbuild.github.io/api/#chunk-names */
|
|
280
111
|
readonly chunkNames?: string;
|
|
281
|
-
/**
|
|
282
|
-
* Documentation: https://esbuild.github.io/api/#asset-names.
|
|
283
|
-
*
|
|
284
|
-
* @stability stable
|
|
285
|
-
*/
|
|
112
|
+
/** Documentation: https://esbuild.github.io/api/#asset-names */
|
|
286
113
|
readonly assetNames?: string;
|
|
287
|
-
/**
|
|
288
|
-
* Documentation: https://esbuild.github.io/api/#inject.
|
|
289
|
-
*
|
|
290
|
-
* @stability stable
|
|
291
|
-
*/
|
|
114
|
+
/** Documentation: https://esbuild.github.io/api/#inject */
|
|
292
115
|
readonly inject?: string[];
|
|
293
|
-
/**
|
|
294
|
-
* Documentation: https://esbuild.github.io/api/#banner.
|
|
295
|
-
*
|
|
296
|
-
* @stability stable
|
|
297
|
-
*/
|
|
116
|
+
/** Documentation: https://esbuild.github.io/api/#banner */
|
|
298
117
|
readonly banner?: {
|
|
299
118
|
[type: string]: string;
|
|
300
119
|
};
|
|
301
|
-
/**
|
|
302
|
-
* Documentation: https://esbuild.github.io/api/#footer.
|
|
303
|
-
*
|
|
304
|
-
* @stability stable
|
|
305
|
-
*/
|
|
120
|
+
/** Documentation: https://esbuild.github.io/api/#footer */
|
|
306
121
|
readonly footer?: {
|
|
307
122
|
[type: string]: string;
|
|
308
123
|
};
|
|
309
|
-
/**
|
|
310
|
-
* Documentation: https://esbuild.github.io/api/#incremental.
|
|
311
|
-
*
|
|
312
|
-
* @stability stable
|
|
313
|
-
*/
|
|
124
|
+
/** Documentation: https://esbuild.github.io/api/#incremental */
|
|
314
125
|
readonly incremental?: boolean;
|
|
315
|
-
/**
|
|
316
|
-
* Documentation: https://esbuild.github.io/api/#working-directory.
|
|
317
|
-
*
|
|
318
|
-
* @stability stable
|
|
319
|
-
*/
|
|
126
|
+
/** Documentation: https://esbuild.github.io/api/#working-directory */
|
|
320
127
|
readonly absWorkingDir?: string;
|
|
321
|
-
/**
|
|
322
|
-
* Documentation: https://esbuild.github.io/api/#node-paths.
|
|
323
|
-
*
|
|
324
|
-
* @stability stable
|
|
325
|
-
*/
|
|
128
|
+
/** Documentation: https://esbuild.github.io/api/#node-paths */
|
|
326
129
|
readonly nodePaths?: string[];
|
|
327
130
|
}
|
|
328
131
|
export interface WatchMode {
|
|
@@ -386,6 +189,8 @@ export interface BuildResult {
|
|
|
386
189
|
stop?: () => void;
|
|
387
190
|
/** Only when "metafile: true" */
|
|
388
191
|
metafile?: Metafile;
|
|
192
|
+
/** Only when "mangleCache" is present */
|
|
193
|
+
mangleCache?: Record<string, string | false>;
|
|
389
194
|
}
|
|
390
195
|
export interface BuildFailure extends Error {
|
|
391
196
|
errors: Message[];
|
|
@@ -413,35 +218,19 @@ export interface ServeResult {
|
|
|
413
218
|
wait: Promise<void>;
|
|
414
219
|
stop: () => void;
|
|
415
220
|
}
|
|
416
|
-
/**
|
|
417
|
-
* @stability stable
|
|
418
|
-
*/
|
|
419
221
|
export interface TransformOptions extends CommonOptions {
|
|
420
|
-
/**
|
|
421
|
-
* @stability stable
|
|
422
|
-
*/
|
|
423
222
|
readonly tsconfigRaw?: string;
|
|
424
|
-
/**
|
|
425
|
-
* @stability stable
|
|
426
|
-
*/
|
|
427
223
|
readonly sourcefile?: string;
|
|
428
|
-
/**
|
|
429
|
-
* @stability stable
|
|
430
|
-
*/
|
|
431
224
|
readonly loader?: Loader;
|
|
432
|
-
/**
|
|
433
|
-
* @stability stable
|
|
434
|
-
*/
|
|
435
225
|
readonly banner?: string;
|
|
436
|
-
/**
|
|
437
|
-
* @stability stable
|
|
438
|
-
*/
|
|
439
226
|
readonly footer?: string;
|
|
440
227
|
}
|
|
441
228
|
export interface TransformResult {
|
|
442
229
|
code: string;
|
|
443
230
|
map: string;
|
|
444
231
|
warnings: Message[];
|
|
232
|
+
/** Only when "mangleCache" is present */
|
|
233
|
+
mangleCache?: Record<string, string | false>;
|
|
445
234
|
}
|
|
446
235
|
export interface TransformFailure extends Error {
|
|
447
236
|
errors: Message[];
|
|
@@ -716,6 +505,15 @@ export interface InitializeOptions {
|
|
|
716
505
|
* esbuild in the browser.
|
|
717
506
|
*/
|
|
718
507
|
wasmURL?: string;
|
|
508
|
+
/**
|
|
509
|
+
* The result of calling "new WebAssembly.Module(buffer)" where "buffer"
|
|
510
|
+
* is a typed array or ArrayBuffer containing the binary code of the
|
|
511
|
+
* "esbuild.wasm" file.
|
|
512
|
+
*
|
|
513
|
+
* You can use this as an alternative to "wasmURL" for environments where it's
|
|
514
|
+
* not possible to download the WebAssembly module.
|
|
515
|
+
*/
|
|
516
|
+
wasmModule?: any;
|
|
719
517
|
/**
|
|
720
518
|
* By default esbuild runs the WebAssembly-based browser API in a web worker
|
|
721
519
|
* to avoid blocking the UI thread. This can be disabled by setting "worker"
|
package/lib/esbuild-types.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.version = void 0;
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdpbmxpbmUnIHwgJ2V4dGVybmFsJyB8ICdib3RoJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsZWdhbENvbW1lbnRzPzogJ25vbmUnIHwgJ2lubGluZScgfCAnZW9mJyB8ICdsaW5rZWQnIHwgJ2V4dGVybmFsJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzb3VyY2VSb290Pzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzb3VyY2VzQ29udGVudD86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZm9ybWF0PzogRm9ybWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZ2xvYmFsTmFtZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdGFyZ2V0Pzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgcmVhZG9ubHkgZHJvcD86IERyb3BbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWluaWZ5PzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWluaWZ5V2hpdGVzcGFjZT86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG1pbmlmeUlkZW50aWZpZXJzPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWluaWZ5U3ludGF4PzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNoYXJzZXQ/OiBDaGFyc2V0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0cmVlU2hha2luZz86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGlnbm9yZUFubm90YXRpb25zPzogYm9vbGVhbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBqc3g/OiAndHJhbnNmb3JtJyB8ICdwcmVzZXJ2ZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkganN4RmFjdG9yeT86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkganN4RnJhZ21lbnQ/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGVmaW5lPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHB1cmU/OiBzdHJpbmdbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGtlZXBOYW1lcz86IGJvb2xlYW47XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjb2xvcj86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGxvZ0xldmVsPzogTG9nTGV2ZWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGxvZ0xpbWl0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBidW5kbGU/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBzcGxpdHRpbmc/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHByZXNlcnZlU3ltbGlua3M/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgb3V0ZmlsZT86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBtZXRhZmlsZT86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG91dGJhc2U/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBQbGF0Zm9ybTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBleHRlcm5hbD86IHN0cmluZ1tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsb2FkZXI/OiB7IFtleHQ6IHN0cmluZ106IExvYWRlciB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSByZXNvbHZlRXh0ZW5zaW9ucz86IHN0cmluZ1tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWFpbkZpZWxkcz86IHN0cmluZ1tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY29uZGl0aW9ucz86IHN0cmluZ1tdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHdyaXRlPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYWxsb3dPdmVyd3JpdGU/OiBib29sZWFuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRzY29uZmlnPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgb3V0RXh0ZW5zaW9uPzogeyBbZXh0OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBwdWJsaWNQYXRoPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGVudHJ5TmFtZXM/OiBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2h1bmtOYW1lcz86IHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBhc3NldE5hbWVzPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBpbmplY3Q/OiBzdHJpbmdbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYmFubmVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGZvb3Rlcj86IHsgW3R5cGU6IHN0cmluZ106IHN0cmluZyB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGluY3JlbWVudGFsPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBhYnNXb3JraW5nRGlyPzogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbm9kZVBhdGhzPzogc3RyaW5nW107IC8vIFRoZSBcIk5PREVfUEFUSFwiIHZhcmlhYmxlIGZyb20gTm9kZS5qc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhdGNoTW9kZSB7XG4gIG9uUmVidWlsZD86IChlcnJvcjogQnVpbGRGYWlsdXJlIHwgbnVsbCwgcmVzdWx0OiBCdWlsZFJlc3VsdCB8IG51bGwpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RkaW5PcHRpb25zIHtcbiAgY29udGVudHM6IHN0cmluZztcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgc291cmNlZmlsZT86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbiAgbm90ZXM6IE5vdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1zcGVjaWZpZWQgZGF0YSB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIHVubW9kaWZpZWQuIFlvdSBjYW5cbiAgICogdXNlIHRoaXMgdG8gc3Rhc2ggdGhlIG9yaWdpbmFsIGVycm9yLCBmb3IgZXhhbXBsZS5cbiAgICovXG4gIGRldGFpbDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24ge1xuICBmaWxlOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICAvKiogMS1iYXNlZCAqL1xuICBsaW5lOiBudW1iZXI7XG4gIC8qKiAwLWJhc2VkLCBpbiBieXRlcyAqL1xuICBjb2x1bW46IG51bWJlcjtcbiAgLyoqIGluIGJ5dGVzICovXG4gIGxlbmd0aDogbnVtYmVyO1xuICBsaW5lVGV4dDogc3RyaW5nO1xuICBzdWdnZXN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RmlsZSB7XG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFwidGV4dFwiIGFzIGJ5dGVzICovXG4gIGNvbnRlbnRzOiBVaW50OEFycmF5O1xuICAvKiogXCJjb250ZW50c1wiIGFzIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW52YWxpZGF0ZSB7XG4gICgpOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+O1xuICBkaXNwb3NlKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbmNyZW1lbnRhbCBleHRlbmRzIEJ1aWxkUmVzdWx0IHtcbiAgcmVidWlsZDogQnVpbGRJbnZhbGlkYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJ3cml0ZTogZmFsc2VcIiAqL1xuICBvdXRwdXRGaWxlcz86IE91dHB1dEZpbGVbXTtcbiAgLyoqIE9ubHkgd2hlbiBcImluY3JlbWVudGFsOiB0cnVlXCIgKi9cbiAgcmVidWlsZD86IEJ1aWxkSW52YWxpZGF0ZTtcbiAgLyoqIE9ubHkgd2hlbiBcIndhdGNoOiB0cnVlXCIgKi9cbiAgc3RvcD86ICgpID0+IHZvaWQ7XG4gIC8qKiBPbmx5IHdoZW4gXCJtZXRhZmlsZTogdHJ1ZVwiICovXG4gIG1ldGFmaWxlPzogTWV0YWZpbGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRGYWlsdXJlIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1hcmd1bWVudHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPcHRpb25zIHtcbiAgcG9ydD86IG51bWJlcjtcbiAgaG9zdD86IHN0cmluZztcbiAgc2VydmVkaXI/OiBzdHJpbmc7XG4gIG9uUmVxdWVzdD86IChhcmdzOiBTZXJ2ZU9uUmVxdWVzdEFyZ3MpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPblJlcXVlc3RBcmdzIHtcbiAgcmVtb3RlQWRkcmVzczogc3RyaW5nO1xuICBtZXRob2Q6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgLyoqIFRoZSB0aW1lIHRvIGdlbmVyYXRlIHRoZSByZXNwb25zZSwgbm90IHRvIHNlbmQgaXQgKi9cbiAgdGltZUluTVM6IG51bWJlcjtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1yZXR1cm4tdmFsdWVzICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlUmVzdWx0IHtcbiAgcG9ydDogbnVtYmVyO1xuICBob3N0OiBzdHJpbmc7XG4gIHdhaXQ6IFByb21pc2U8dm9pZD47XG4gIHN0b3A6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICByZWFkb25seSB0c2NvbmZpZ1Jhdz86IHN0cmluZztcblxuICByZWFkb25seSBzb3VyY2VmaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBsb2FkZXI/OiBMb2FkZXI7XG4gIHJlYWRvbmx5IGJhbm5lcj86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9vdGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybVJlc3VsdCB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWFwOiBzdHJpbmc7XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtRmFpbHVyZSBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzZXR1cDogKGJ1aWxkOiBQbHVnaW5CdWlsZCkgPT4gKHZvaWQgfCBQcm9taXNlPHZvaWQ+KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZCB7XG4gIGluaXRpYWxPcHRpb25zOiBCdWlsZE9wdGlvbnM7XG4gIHJlc29sdmUocGF0aDogc3RyaW5nLCBvcHRpb25zPzogUmVzb2x2ZU9wdGlvbnMpOiBQcm9taXNlPFJlc29sdmVSZXN1bHQ+O1xuXG4gIG9uU3RhcnQoY2FsbGJhY2s6ICgpID0+XG4gIChPblN0YXJ0UmVzdWx0IHwgbnVsbCB8IHZvaWQgfCBQcm9taXNlPE9uU3RhcnRSZXN1bHQgfCBudWxsIHwgdm9pZD4pKTogdm9pZDtcbiAgb25FbmQoY2FsbGJhY2s6IChyZXN1bHQ6IEJ1aWxkUmVzdWx0KSA9PlxuICAodm9pZCB8IFByb21pc2U8dm9pZD4pKTogdm9pZDtcbiAgb25SZXNvbHZlKG9wdGlvbnM6IE9uUmVzb2x2ZU9wdGlvbnMsIGNhbGxiYWNrOiAoYXJnczogT25SZXNvbHZlQXJncykgPT5cbiAgKE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQ+KSk6IHZvaWQ7XG4gIG9uTG9hZChvcHRpb25zOiBPbkxvYWRPcHRpb25zLCBjYWxsYmFjazogKGFyZ3M6IE9uTG9hZEFyZ3MpID0+XG4gIChPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPikpOiB2b2lkO1xuXG4gIC8vIFRoaXMgaXMgYSBmdWxsIGNvcHkgb2YgdGhlIGVzYnVpbGQgbGlicmFyeSBpbiBjYXNlIHlvdSBuZWVkIGl0XG4gIGVzYnVpbGQ6IHtcbiAgICBzZXJ2ZTogdHlwZW9mIHNlcnZlO1xuICAgIGJ1aWxkOiB0eXBlb2YgYnVpbGQ7XG4gICAgYnVpbGRTeW5jOiB0eXBlb2YgYnVpbGRTeW5jO1xuICAgIHRyYW5zZm9ybTogdHlwZW9mIHRyYW5zZm9ybTtcbiAgICB0cmFuc2Zvcm1TeW5jOiB0eXBlb2YgdHJhbnNmb3JtU3luYztcbiAgICBmb3JtYXRNZXNzYWdlczogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzO1xuICAgIGZvcm1hdE1lc3NhZ2VzU3luYzogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzU3luYztcbiAgICBhbmFseXplTWV0YWZpbGU6IHR5cGVvZiBhbmFseXplTWV0YWZpbGU7XG4gICAgYW5hbHl6ZU1ldGFmaWxlU3luYzogdHlwZW9mIGFuYWx5emVNZXRhZmlsZVN5bmM7XG4gICAgaW5pdGlhbGl6ZTogdHlwZW9mIGluaXRpYWxpemU7XG4gICAgdmVyc2lvbjogdHlwZW9mIHZlcnNpb247XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZU9wdGlvbnMge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuICBpbXBvcnRlcj86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBraW5kPzogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG5cbiAgcGF0aDogc3RyaW5nO1xuICBleHRlcm5hbDogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM6IGJvb2xlYW47XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uU3RhcnRSZXN1bHQge1xuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlT3B0aW9ucyB7XG4gIGZpbHRlcjogUmVnRXhwO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlQXJncyB7XG4gIHBhdGg6IHN0cmluZztcbiAgaW1wb3J0ZXI6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHJlc29sdmVEaXI6IHN0cmluZztcbiAga2luZDogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJbXBvcnRLaW5kID1cbiAgfCAnZW50cnktcG9pbnQnXG5cbiAgLy8gSlNcbiAgfCAnaW1wb3J0LXN0YXRlbWVudCdcbiAgfCAncmVxdWlyZS1jYWxsJ1xuICB8ICdkeW5hbWljLWltcG9ydCdcbiAgfCAncmVxdWlyZS1yZXNvbHZlJ1xuXG4gIC8vIENTU1xuICB8ICdpbXBvcnQtcnVsZSdcbiAgfCAndXJsLXRva2VuJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZVJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIHBhdGg/OiBzdHJpbmc7XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM/OiBib29sZWFuO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcGx1Z2luRGF0YT86IGFueTtcblxuICB3YXRjaEZpbGVzPzogc3RyaW5nW107XG4gIHdhdGNoRGlycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZE9wdGlvbnMge1xuICBmaWx0ZXI6IFJlZ0V4cDtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZEFyZ3Mge1xuICBwYXRoOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZFJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIGNvbnRlbnRzPzogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xuICBwbHVnaW5EYXRhPzogYW55O1xuXG4gIHdhdGNoRmlsZXM/OiBzdHJpbmdbXTtcbiAgd2F0Y2hEaXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbE1lc3NhZ2Uge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuICB0ZXh0Pzogc3RyaW5nO1xuICBsb2NhdGlvbj86IFBhcnRpYWw8TG9jYXRpb24+IHwgbnVsbDtcbiAgbm90ZXM/OiBQYXJ0aWFsTm90ZVtdO1xuICBkZXRhaWw/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbE5vdGUge1xuICB0ZXh0Pzogc3RyaW5nO1xuICBsb2NhdGlvbj86IFBhcnRpYWw8TG9jYXRpb24+IHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRhZmlsZSB7XG4gIGlucHV0czoge1xuICAgIFtwYXRoOiBzdHJpbmddOiB7XG4gICAgICBieXRlczogbnVtYmVyO1xuICAgICAgaW1wb3J0czoge1xuICAgICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICAgIGtpbmQ6IEltcG9ydEtpbmQ7XG4gICAgICB9W107XG4gICAgfTtcbiAgfTtcbiAgb3V0cHV0czoge1xuICAgIFtwYXRoOiBzdHJpbmddOiB7XG4gICAgICBieXRlczogbnVtYmVyO1xuICAgICAgaW5wdXRzOiB7XG4gICAgICAgIFtwYXRoOiBzdHJpbmddOiB7XG4gICAgICAgICAgYnl0ZXNJbk91dHB1dDogbnVtYmVyO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kO1xuICAgICAgfVtdO1xuICAgICAgZXhwb3J0czogc3RyaW5nW107XG4gICAgICBlbnRyeVBvaW50Pzogc3RyaW5nO1xuICAgIH07XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0TWVzc2FnZXNPcHRpb25zIHtcbiAga2luZDogJ2Vycm9yJyB8ICd3YXJuaW5nJztcbiAgY29sb3I/OiBib29sZWFuO1xuICB0ZXJtaW5hbFdpZHRoPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFuYWx5emVNZXRhZmlsZU9wdGlvbnMge1xuICBjb2xvcj86IGJvb2xlYW47XG4gIHZlcmJvc2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaW52b2tlcyB0aGUgXCJlc2J1aWxkXCIgY29tbWFuZC1saW5lIHRvb2wgZm9yIHlvdS4gSXQgcmV0dXJucyBhXG4gKiBwcm9taXNlIHRoYXQgZWl0aGVyIHJlc29sdmVzIHdpdGggYSBcIkJ1aWxkUmVzdWx0XCIgb2JqZWN0IG9yIHJlamVjdHMgd2l0aCBhXG4gKiBcIkJ1aWxkRmFpbHVyZVwiIG9iamVjdC5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVpbGQtYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgd3JpdGU6IGZhbHNlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBvdXRwdXRGaWxlczogT3V0cHV0RmlsZVtdIH0+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyBpbmNyZW1lbnRhbDogdHJ1ZTsgbWV0YWZpbGU6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbCAmIHsgbWV0YWZpbGU6IE1ldGFmaWxlIH0+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyBpbmNyZW1lbnRhbDogdHJ1ZSB9KTogUHJvbWlzZTxCdWlsZEluY3JlbWVudGFsPjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgbWV0YWZpbGU6IHRydWUgfSk6IFByb21pc2U8QnVpbGRSZXN1bHQgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8QnVpbGRSZXN1bHQ+O1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gaXMgc2ltaWxhciB0byBcImJ1aWxkXCIgYnV0IGl0IHNlcnZlcyB0aGUgcmVzdWx0aW5nIGZpbGVzIG92ZXJcbiAqIEhUVFAgb24gYSBsb2NhbGhvc3QgYWRkcmVzcyB3aXRoIHRoZSBzcGVjaWZpZWQgcG9ydC5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBzZXJ2ZShzZXJ2ZU9wdGlvbnM6IFNlcnZlT3B0aW9ucywgYnVpbGRPcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPFNlcnZlUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHRyYW5zZm9ybXMgYSBzaW5nbGUgSmF2YVNjcmlwdCBmaWxlLiBJdCBjYW4gYmUgdXNlZCB0byBtaW5pZnlcbiAqIEphdmFTY3JpcHQsIGNvbnZlcnQgVHlwZVNjcmlwdC9KU1ggdG8gSmF2YVNjcmlwdCwgb3IgY29udmVydCBuZXdlciBKYXZhU2NyaXB0XG4gKiB0byBvbGRlciBKYXZhU2NyaXB0LiBJdCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IGlzIGVpdGhlciByZXNvbHZlZCB3aXRoIGFcbiAqIFwiVHJhbnNmb3JtUmVzdWx0XCIgb2JqZWN0IG9yIHJlamVjdGVkIHdpdGggYSBcIlRyYW5zZm9ybUZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdHJhbnNmb3JtKGlucHV0OiBzdHJpbmcsIG9wdGlvbnM/OiBUcmFuc2Zvcm1PcHRpb25zKTogUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQ+O1xuXG4vKipcbiAqIENvbnZlcnRzIGxvZyBtZXNzYWdlcyB0byBmb3JtYXR0ZWQgbWVzc2FnZSBzdHJpbmdzIHN1aXRhYmxlIGZvciBwcmludGluZyBpblxuICogdGhlIHRlcm1pbmFsLiBUaGlzIGFsbG93cyB5b3UgdG8gcmV1c2UgdGhlIGJ1aWx0LWluIGJlaGF2aW9yIG9mIGVzYnVpbGQnc1xuICogbG9nIG1lc3NhZ2UgZm9ybWF0dGVyLiBUaGlzIGlzIGEgYmF0Y2gtb3JpZW50ZWQgQVBJIGZvciBlZmZpY2llbmN5LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmb3JtYXRNZXNzYWdlcyhtZXNzYWdlczogUGFydGlhbE1lc3NhZ2VbXSwgb3B0aW9uczogRm9ybWF0TWVzc2FnZXNPcHRpb25zKTogUHJvbWlzZTxzdHJpbmdbXT47XG5cbi8qKlxuICogUHJldHR5LXByaW50cyBhbiBhbmFseXNpcyBvZiB0aGUgbWV0YWZpbGUgSlNPTiB0byBhIHN0cmluZy4gVGhpcyBpcyBqdXN0IGZvclxuICogY29udmVuaWVuY2UgdG8gYmUgYWJsZSB0byBtYXRjaCBlc2J1aWxkJ3MgcHJldHR5LXByaW50aW5nIGV4YWN0bHkuIElmIHlvdSB3YW50XG4gKiB0byBjdXN0b21pemUgaXQsIHlvdSBjYW4ganVzdCBpbnNwZWN0IHRoZSBkYXRhIGluIHRoZSBtZXRhZmlsZSB5b3Vyc2VsZi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYW5hbHl6ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBhbmFseXplTWV0YWZpbGUobWV0YWZpbGU6IE1ldGFmaWxlIHwgc3RyaW5nLCBvcHRpb25zPzogQW5hbHl6ZU1ldGFmaWxlT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPjtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJidWlsZFwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZFN5bmMob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyB3cml0ZTogZmFsc2UgfSk6IEJ1aWxkUmVzdWx0ICYgeyBvdXRwdXRGaWxlczogT3V0cHV0RmlsZVtdIH07XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZFN5bmMob3B0aW9uczogQnVpbGRPcHRpb25zKTogQnVpbGRSZXN1bHQ7XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwidHJhbnNmb3JtXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB0cmFuc2Zvcm1TeW5jKGlucHV0OiBzdHJpbmcsIG9wdGlvbnM/OiBUcmFuc2Zvcm1PcHRpb25zKTogVHJhbnNmb3JtUmVzdWx0O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImZvcm1hdE1lc3NhZ2VzXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZXNTeW5jKG1lc3NhZ2VzOiBQYXJ0aWFsTWVzc2FnZVtdLCBvcHRpb25zOiBGb3JtYXRNZXNzYWdlc09wdGlvbnMpOiBzdHJpbmdbXTtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJhbmFseXplTWV0YWZpbGVcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhbmFseXplXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGFuYWx5emVNZXRhZmlsZVN5bmMobWV0YWZpbGU6IE1ldGFmaWxlIHwgc3RyaW5nLCBvcHRpb25zPzogQW5hbHl6ZU1ldGFmaWxlT3B0aW9ucyk6IHN0cmluZztcblxuLyoqXG4gKiBUaGlzIGNvbmZpZ3VyZXMgdGhlIGJyb3dzZXItYmFzZWQgdmVyc2lvbiBvZiBlc2J1aWxkLiBJdCBpcyBuZWNlc3NhcnkgdG9cbiAqIGNhbGwgdGhpcyBmaXJzdCBhbmQgd2FpdCBmb3IgdGhlIHJldHVybmVkIHByb21pc2UgdG8gYmUgcmVzb2x2ZWQgYmVmb3JlXG4gKiBtYWtpbmcgb3RoZXIgQVBJIGNhbGxzIHdoZW4gdXNpbmcgZXNidWlsZCBpbiB0aGUgYnJvd3Nlci5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXMgKFwib3B0aW9uc1wiIGlzIHJlcXVpcmVkKVxuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNydW5uaW5nLWluLXRoZS1icm93c2VyXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGluaXRpYWxpemUob3B0aW9uczogSW5pdGlhbGl6ZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxpemVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhlIFwiZXNidWlsZC53YXNtXCIgZmlsZS4gVGhpcyBtdXN0IGJlIHByb3ZpZGVkIHdoZW4gcnVubmluZ1xuICAgKiBlc2J1aWxkIGluIHRoZSBicm93c2VyLlxuICAgKi9cbiAgd2FzbVVSTD86IHN0cmluZztcblxuICAvKipcbiAgICogQnkgZGVmYXVsdCBlc2J1aWxkIHJ1bnMgdGhlIFdlYkFzc2VtYmx5LWJhc2VkIGJyb3dzZXIgQVBJIGluIGEgd2ViIHdvcmtlclxuICAgKiB0byBhdm9pZCBibG9ja2luZyB0aGUgVUkgdGhyZWFkLiBUaGlzIGNhbiBiZSBkaXNhYmxlZCBieSBzZXR0aW5nIFwid29ya2VyXCJcbiAgICogdG8gZmFsc2UuXG4gICAqL1xuICB3b3JrZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgbGV0IHZlcnNpb246IHN0cmluZztcbiJdfQ==
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXAgKi9cbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdsaW5rZWQnIHwgJ2lubGluZScgfCAnZXh0ZXJuYWwnIHwgJ2JvdGgnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xlZ2FsLWNvbW1lbnRzICovXG4gIHJlYWRvbmx5IGxlZ2FsQ29tbWVudHM/OiAnbm9uZScgfCAnaW5saW5lJyB8ICdlb2YnIHwgJ2xpbmtlZCcgfCAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZS1yb290ICovXG4gIHJlYWRvbmx5IHNvdXJjZVJvb3Q/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlcy1jb250ZW50ICovXG4gIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvcm1hdCAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsTmFtZSAqL1xuICByZWFkb25seSBnbG9iYWxOYW1lPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RhcmdldCAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgcmVzZXJ2ZVByb3BzPzogYW55O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVRdW90ZWQ/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNkcm9wICovXG4gIHJlYWRvbmx5IGRyb3A/OiBEcm9wW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVdoaXRlc3BhY2U/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlJZGVudGlmaWVycz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVN5bnRheD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY2hhcnNldCAqL1xuICByZWFkb25seSBjaGFyc2V0PzogQ2hhcnNldDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmVlLXNoYWtpbmcgKi9cbiAgcmVhZG9ubHkgdHJlZVNoYWtpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2lnbm9yZS1hbm5vdGF0aW9ucyAqL1xuICByZWFkb25seSBpZ25vcmVBbm5vdGF0aW9ucz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3ggKi9cbiAgcmVhZG9ubHkganN4PzogJ3RyYW5zZm9ybScgfCAncHJlc2VydmUnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mYWN0b3J5ICovXG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWZyYWdtZW50ICovXG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50Pzogc3RyaW5nO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZGVmaW5lICovXG4gIHJlYWRvbmx5IGRlZmluZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHVyZSAqL1xuICByZWFkb25seSBwdXJlPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8ja2VlcC1uYW1lcyAqL1xuICByZWFkb25seSBrZWVwTmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29sb3IgKi9cbiAgcmVhZG9ubHkgY29sb3I/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1sZXZlbCAqL1xuICByZWFkb25seSBsb2dMZXZlbD86IExvZ0xldmVsO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1saW1pdCAqL1xuICByZWFkb25seSBsb2dMaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidW5kbGUgKi9cbiAgcmVhZG9ubHkgYnVuZGxlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzcGxpdHRpbmcgKi9cbiAgcmVhZG9ubHkgc3BsaXR0aW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwcmVzZXJ2ZS1zeW1saW5rcyAqL1xuICByZWFkb25seSBwcmVzZXJ2ZVN5bWxpbmtzPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRmaWxlICovXG4gIHJlYWRvbmx5IG91dGZpbGU/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWV0YWZpbGUgKi9cbiAgcmVhZG9ubHkgbWV0YWZpbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGRpciAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0YmFzZSAqL1xuICByZWFkb25seSBvdXRiYXNlPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3BsYXRmb3JtICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtPzogUGxhdGZvcm07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZXh0ZXJuYWwgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWw/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2FkZXIgKi9cbiAgcmVhZG9ubHkgbG9hZGVyPzogeyBbZXh0OiBzdHJpbmddOiBMb2FkZXIgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNyZXNvbHZlLWV4dGVuc2lvbnMgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYWluRmllbGRzICovXG4gIHJlYWRvbmx5IG1haW5GaWVsZHM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjb25kaXRpb25zICovXG4gIHJlYWRvbmx5IGNvbmRpdGlvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN3cml0ZSAqL1xuICByZWFkb25seSB3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYWxsb3ctb3ZlcndyaXRlICovXG4gIHJlYWRvbmx5IGFsbG93T3ZlcndyaXRlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0c2NvbmZpZyAqL1xuICByZWFkb25seSB0c2NvbmZpZz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXQtZXh0ZW5zaW9uICovXG4gIHJlYWRvbmx5IG91dEV4dGVuc2lvbj86IHsgW2V4dDogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHVibGljLXBhdGggKi9cbiAgcmVhZG9ubHkgcHVibGljUGF0aD86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNlbnRyeS1uYW1lcyAqL1xuICByZWFkb25seSBlbnRyeU5hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NodW5rLW5hbWVzICovXG4gIHJlYWRvbmx5IGNodW5rTmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYXNzZXQtbmFtZXMgKi9cbiAgcmVhZG9ubHkgYXNzZXROYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpbmplY3QgKi9cbiAgcmVhZG9ubHkgaW5qZWN0Pzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYmFubmVyICovXG4gIHJlYWRvbmx5IGJhbm5lcj86IHsgW3R5cGU6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvb3RlciAqL1xuICByZWFkb25seSBmb290ZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpbmNyZW1lbnRhbCAqL1xuICByZWFkb25seSBpbmNyZW1lbnRhbD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd29ya2luZy1kaXJlY3RvcnkgKi9cbiAgcmVhZG9ubHkgYWJzV29ya2luZ0Rpcj86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNub2RlLXBhdGhzICovXG4gIHJlYWRvbmx5IG5vZGVQYXRocz86IHN0cmluZ1tdOyAvLyBUaGUgXCJOT0RFX1BBVEhcIiB2YXJpYWJsZSBmcm9tIE5vZGUuanNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYXRjaE1vZGUge1xuICBvblJlYnVpbGQ/OiAoZXJyb3I6IEJ1aWxkRmFpbHVyZSB8IG51bGwsIHJlc3VsdDogQnVpbGRSZXN1bHQgfCBudWxsKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0ZGluT3B0aW9ucyB7XG4gIGNvbnRlbnRzOiBzdHJpbmc7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIHNvdXJjZWZpbGU/OiBzdHJpbmc7XG4gIGxvYWRlcj86IExvYWRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG4gIG5vdGVzOiBOb3RlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXItc3BlY2lmaWVkIGRhdGEgdGhhdCBpcyBwYXNzZWQgdGhyb3VnaCB1bm1vZGlmaWVkLiBZb3UgY2FuXG4gICAqIHVzZSB0aGlzIHRvIHN0YXNoIHRoZSBvcmlnaW5hbCBlcnJvciwgZm9yIGV4YW1wbGUuXG4gICAqL1xuICBkZXRhaWw6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RlIHtcbiAgdGV4dDogc3RyaW5nO1xuICBsb2NhdGlvbjogTG9jYXRpb24gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uIHtcbiAgZmlsZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgLyoqIDEtYmFzZWQgKi9cbiAgbGluZTogbnVtYmVyO1xuICAvKiogMC1iYXNlZCwgaW4gYnl0ZXMgKi9cbiAgY29sdW1uOiBudW1iZXI7XG4gIC8qKiBpbiBieXRlcyAqL1xuICBsZW5ndGg6IG51bWJlcjtcbiAgbGluZVRleHQ6IHN0cmluZztcbiAgc3VnZ2VzdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dEZpbGUge1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKiBcInRleHRcIiBhcyBieXRlcyAqL1xuICBjb250ZW50czogVWludDhBcnJheTtcbiAgLyoqIFwiY29udGVudHNcIiBhcyB0ZXh0ICovXG4gIHRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEludmFsaWRhdGUge1xuICAoKTogUHJvbWlzZTxCdWlsZEluY3JlbWVudGFsPjtcbiAgZGlzcG9zZSgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW5jcmVtZW50YWwgZXh0ZW5kcyBCdWlsZFJlc3VsdCB7XG4gIHJlYnVpbGQ6IEJ1aWxkSW52YWxpZGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFJlc3VsdCB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuICAvKiogT25seSB3aGVuIFwid3JpdGU6IGZhbHNlXCIgKi9cbiAgb3V0cHV0RmlsZXM/OiBPdXRwdXRGaWxlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJpbmNyZW1lbnRhbDogdHJ1ZVwiICovXG4gIHJlYnVpbGQ/OiBCdWlsZEludmFsaWRhdGU7XG4gIC8qKiBPbmx5IHdoZW4gXCJ3YXRjaDogdHJ1ZVwiICovXG4gIHN0b3A/OiAoKSA9PiB2b2lkO1xuICAvKiogT25seSB3aGVuIFwibWV0YWZpbGU6IHRydWVcIiAqL1xuICBtZXRhZmlsZT86IE1ldGFmaWxlO1xuICAvKiogT25seSB3aGVuIFwibWFuZ2xlQ2FjaGVcIiBpcyBwcmVzZW50ICovXG4gIG1hbmdsZUNhY2hlPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgZmFsc2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRmFpbHVyZSBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbi8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmUtYXJndW1lbnRzICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlT3B0aW9ucyB7XG4gIHBvcnQ/OiBudW1iZXI7XG4gIGhvc3Q/OiBzdHJpbmc7XG4gIHNlcnZlZGlyPzogc3RyaW5nO1xuICBvblJlcXVlc3Q/OiAoYXJnczogU2VydmVPblJlcXVlc3RBcmdzKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlT25SZXF1ZXN0QXJncyB7XG4gIHJlbW90ZUFkZHJlc3M6IHN0cmluZztcbiAgbWV0aG9kOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIC8qKiBUaGUgdGltZSB0byBnZW5lcmF0ZSB0aGUgcmVzcG9uc2UsIG5vdCB0byBzZW5kIGl0ICovXG4gIHRpbWVJbk1TOiBudW1iZXI7XG59XG5cbi8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmUtcmV0dXJuLXZhbHVlcyAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZVJlc3VsdCB7XG4gIHBvcnQ6IG51bWJlcjtcbiAgaG9zdDogc3RyaW5nO1xuICB3YWl0OiBQcm9taXNlPHZvaWQ+O1xuICBzdG9wOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybU9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgcmVhZG9ubHkgdHNjb25maWdSYXc/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgc291cmNlZmlsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbG9hZGVyPzogTG9hZGVyO1xuICByZWFkb25seSBiYW5uZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZvb3Rlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1SZXN1bHQge1xuICBjb2RlOiBzdHJpbmc7XG4gIG1hcDogc3RyaW5nO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuICAvKiogT25seSB3aGVuIFwibWFuZ2xlQ2FjaGVcIiBpcyBwcmVzZW50ICovXG4gIG1hbmdsZUNhY2hlPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgZmFsc2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybUZhaWx1cmUgZXh0ZW5kcyBFcnJvciB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2V0dXA6IChidWlsZDogUGx1Z2luQnVpbGQpID0+ICh2b2lkIHwgUHJvbWlzZTx2b2lkPik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQnVpbGQge1xuICBpbml0aWFsT3B0aW9uczogQnVpbGRPcHRpb25zO1xuICByZXNvbHZlKHBhdGg6IHN0cmluZywgb3B0aW9ucz86IFJlc29sdmVPcHRpb25zKTogUHJvbWlzZTxSZXNvbHZlUmVzdWx0PjtcblxuICBvblN0YXJ0KGNhbGxiYWNrOiAoKSA9PlxuICAoT25TdGFydFJlc3VsdCB8IG51bGwgfCB2b2lkIHwgUHJvbWlzZTxPblN0YXJ0UmVzdWx0IHwgbnVsbCB8IHZvaWQ+KSk6IHZvaWQ7XG4gIG9uRW5kKGNhbGxiYWNrOiAocmVzdWx0OiBCdWlsZFJlc3VsdCkgPT5cbiAgKHZvaWQgfCBQcm9taXNlPHZvaWQ+KSk6IHZvaWQ7XG4gIG9uUmVzb2x2ZShvcHRpb25zOiBPblJlc29sdmVPcHRpb25zLCBjYWxsYmFjazogKGFyZ3M6IE9uUmVzb2x2ZUFyZ3MpID0+XG4gIChPblJlc29sdmVSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxPblJlc29sdmVSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPikpOiB2b2lkO1xuICBvbkxvYWQob3B0aW9uczogT25Mb2FkT3B0aW9ucywgY2FsbGJhY2s6IChhcmdzOiBPbkxvYWRBcmdzKSA9PlxuICAoT25Mb2FkUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZCB8IFByb21pc2U8T25Mb2FkUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4pKTogdm9pZDtcblxuICAvLyBUaGlzIGlzIGEgZnVsbCBjb3B5IG9mIHRoZSBlc2J1aWxkIGxpYnJhcnkgaW4gY2FzZSB5b3UgbmVlZCBpdFxuICBlc2J1aWxkOiB7XG4gICAgc2VydmU6IHR5cGVvZiBzZXJ2ZTtcbiAgICBidWlsZDogdHlwZW9mIGJ1aWxkO1xuICAgIGJ1aWxkU3luYzogdHlwZW9mIGJ1aWxkU3luYztcbiAgICB0cmFuc2Zvcm06IHR5cGVvZiB0cmFuc2Zvcm07XG4gICAgdHJhbnNmb3JtU3luYzogdHlwZW9mIHRyYW5zZm9ybVN5bmM7XG4gICAgZm9ybWF0TWVzc2FnZXM6IHR5cGVvZiBmb3JtYXRNZXNzYWdlcztcbiAgICBmb3JtYXRNZXNzYWdlc1N5bmM6IHR5cGVvZiBmb3JtYXRNZXNzYWdlc1N5bmM7XG4gICAgYW5hbHl6ZU1ldGFmaWxlOiB0eXBlb2YgYW5hbHl6ZU1ldGFmaWxlO1xuICAgIGFuYWx5emVNZXRhZmlsZVN5bmM6IHR5cGVvZiBhbmFseXplTWV0YWZpbGVTeW5jO1xuICAgIGluaXRpYWxpemU6IHR5cGVvZiBpbml0aWFsaXplO1xuICAgIHZlcnNpb246IHR5cGVvZiB2ZXJzaW9uO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVPcHRpb25zIHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgaW1wb3J0ZXI/OiBzdHJpbmc7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAga2luZD86IEltcG9ydEtpbmQ7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZVJlc3VsdCB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuXG4gIHBhdGg6IHN0cmluZztcbiAgZXh0ZXJuYWw6IGJvb2xlYW47XG4gIHNpZGVFZmZlY3RzOiBib29sZWFuO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc3VmZml4OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblN0YXJ0UmVzdWx0IHtcbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZU9wdGlvbnMge1xuICBmaWx0ZXI6IFJlZ0V4cDtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZUFyZ3Mge1xuICBwYXRoOiBzdHJpbmc7XG4gIGltcG9ydGVyOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICByZXNvbHZlRGlyOiBzdHJpbmc7XG4gIGtpbmQ6IEltcG9ydEtpbmQ7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgSW1wb3J0S2luZCA9XG4gIHwgJ2VudHJ5LXBvaW50J1xuXG4gIC8vIEpTXG4gIHwgJ2ltcG9ydC1zdGF0ZW1lbnQnXG4gIHwgJ3JlcXVpcmUtY2FsbCdcbiAgfCAnZHluYW1pYy1pbXBvcnQnXG4gIHwgJ3JlcXVpcmUtcmVzb2x2ZSdcblxuICAvLyBDU1NcbiAgfCAnaW1wb3J0LXJ1bGUnXG4gIHwgJ3VybC10b2tlbidcblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVSZXN1bHQge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuXG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcblxuICBwYXRoPzogc3RyaW5nO1xuICBleHRlcm5hbD86IGJvb2xlYW47XG4gIHNpZGVFZmZlY3RzPzogYm9vbGVhbjtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBzdWZmaXg/OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG5cbiAgd2F0Y2hGaWxlcz86IHN0cmluZ1tdO1xuICB3YXRjaERpcnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRPcHRpb25zIHtcbiAgZmlsdGVyOiBSZWdFeHA7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRBcmdzIHtcbiAgcGF0aDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc3VmZml4OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRSZXN1bHQge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuXG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcblxuICBjb250ZW50cz86IHN0cmluZyB8IFVpbnQ4QXJyYXk7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIGxvYWRlcj86IExvYWRlcjtcbiAgcGx1Z2luRGF0YT86IGFueTtcblxuICB3YXRjaEZpbGVzPzogc3RyaW5nW107XG4gIHdhdGNoRGlycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxNZXNzYWdlIHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG4gIG5vdGVzPzogUGFydGlhbE5vdGVbXTtcbiAgZGV0YWlsPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxOb3RlIHtcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWZpbGUge1xuICBpbnB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kO1xuICAgICAgfVtdO1xuICAgIH07XG4gIH07XG4gIG91dHB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGlucHV0czoge1xuICAgICAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgICAgIGJ5dGVzSW5PdXRwdXQ6IG51bWJlcjtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBpbXBvcnRzOiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAga2luZDogSW1wb3J0S2luZDtcbiAgICAgIH1bXTtcbiAgICAgIGV4cG9ydHM6IHN0cmluZ1tdO1xuICAgICAgZW50cnlQb2ludD86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyB7XG4gIGtpbmQ6ICdlcnJvcicgfCAnd2FybmluZyc7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdGVybWluYWxXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXplTWV0YWZpbGVPcHRpb25zIHtcbiAgY29sb3I/OiBib29sZWFuO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGludm9rZXMgdGhlIFwiZXNidWlsZFwiIGNvbW1hbmQtbGluZSB0b29sIGZvciB5b3UuIEl0IHJldHVybnMgYVxuICogcHJvbWlzZSB0aGF0IGVpdGhlciByZXNvbHZlcyB3aXRoIGEgXCJCdWlsZFJlc3VsdFwiIG9iamVjdCBvciByZWplY3RzIHdpdGggYVxuICogXCJCdWlsZEZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWU7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWwgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPEJ1aWxkUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gXCJidWlsZFwiIGJ1dCBpdCBzZXJ2ZXMgdGhlIHJlc3VsdGluZyBmaWxlcyBvdmVyXG4gKiBIVFRQIG9uIGEgbG9jYWxob3N0IGFkZHJlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIHBvcnQuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc2VydmUoc2VydmVPcHRpb25zOiBTZXJ2ZU9wdGlvbnMsIGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxTZXJ2ZVJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGEgc2luZ2xlIEphdmFTY3JpcHQgZmlsZS4gSXQgY2FuIGJlIHVzZWQgdG8gbWluaWZ5XG4gKiBKYXZhU2NyaXB0LCBjb252ZXJ0IFR5cGVTY3JpcHQvSlNYIHRvIEphdmFTY3JpcHQsIG9yIGNvbnZlcnQgbmV3ZXIgSmF2YVNjcmlwdFxuICogdG8gb2xkZXIgSmF2YVNjcmlwdC4gSXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBpcyBlaXRoZXIgcmVzb2x2ZWQgd2l0aCBhXG4gKiBcIlRyYW5zZm9ybVJlc3VsdFwiIG9iamVjdCBvciByZWplY3RlZCB3aXRoIGEgXCJUcmFuc2Zvcm1GYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFByb21pc2U8VHJhbnNmb3JtUmVzdWx0PjtcblxuLyoqXG4gKiBDb252ZXJ0cyBsb2cgbWVzc2FnZXMgdG8gZm9ybWF0dGVkIG1lc3NhZ2Ugc3RyaW5ncyBzdWl0YWJsZSBmb3IgcHJpbnRpbmcgaW5cbiAqIHRoZSB0ZXJtaW5hbC4gVGhpcyBhbGxvd3MgeW91IHRvIHJldXNlIHRoZSBidWlsdC1pbiBiZWhhdmlvciBvZiBlc2J1aWxkJ3NcbiAqIGxvZyBtZXNzYWdlIGZvcm1hdHRlci4gVGhpcyBpcyBhIGJhdGNoLW9yaWVudGVkIEFQSSBmb3IgZWZmaWNpZW5jeS5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZXMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nW10+O1xuXG4vKipcbiAqIFByZXR0eS1wcmludHMgYW4gYW5hbHlzaXMgb2YgdGhlIG1ldGFmaWxlIEpTT04gdG8gYSBzdHJpbmcuIFRoaXMgaXMganVzdCBmb3JcbiAqIGNvbnZlbmllbmNlIHRvIGJlIGFibGUgdG8gbWF0Y2ggZXNidWlsZCdzIHByZXR0eS1wcmludGluZyBleGFjdGx5LiBJZiB5b3Ugd2FudFxuICogdG8gY3VzdG9taXplIGl0LCB5b3UgY2FuIGp1c3QgaW5zcGVjdCB0aGUgZGF0YSBpbiB0aGUgbWV0YWZpbGUgeW91cnNlbGYuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYnVpbGRcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgd3JpdGU6IGZhbHNlIH0pOiBCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IEJ1aWxkUmVzdWx0O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcInRyYW5zZm9ybVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdHJhbnNmb3JtU3luYyhpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFRyYW5zZm9ybVJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJmb3JtYXRNZXNzYWdlc1wiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzU3luYyhtZXNzYWdlczogUGFydGlhbE1lc3NhZ2VbXSwgb3B0aW9uczogRm9ybWF0TWVzc2FnZXNPcHRpb25zKTogc3RyaW5nW107XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYW5hbHl6ZU1ldGFmaWxlXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYW5hbHl6ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBhbmFseXplTWV0YWZpbGVTeW5jKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBzdHJpbmc7XG5cbi8qKlxuICogVGhpcyBjb25maWd1cmVzIHRoZSBicm93c2VyLWJhc2VkIHZlcnNpb24gb2YgZXNidWlsZC4gSXQgaXMgbmVjZXNzYXJ5IHRvXG4gKiBjYWxsIHRoaXMgZmlyc3QgYW5kIHdhaXQgZm9yIHRoZSByZXR1cm5lZCBwcm9taXNlIHRvIGJlIHJlc29sdmVkIGJlZm9yZVxuICogbWFraW5nIG90aGVyIEFQSSBjYWxscyB3aGVuIHVzaW5nIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzIChcIm9wdGlvbnNcIiBpcyByZXF1aXJlZClcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcnVubmluZy1pbi10aGUtYnJvd3NlclxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBpbml0aWFsaXplKG9wdGlvbnM6IEluaXRpYWxpemVPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBcImVzYnVpbGQud2FzbVwiIGZpbGUuIFRoaXMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHJ1bm5pbmdcbiAgICogZXNidWlsZCBpbiB0aGUgYnJvd3Nlci5cbiAgICovXG4gIHdhc21VUkw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXN1bHQgb2YgY2FsbGluZyBcIm5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKVwiIHdoZXJlIFwiYnVmZmVyXCJcbiAgICogaXMgYSB0eXBlZCBhcnJheSBvciBBcnJheUJ1ZmZlciBjb250YWluaW5nIHRoZSBiaW5hcnkgY29kZSBvZiB0aGVcbiAgICogXCJlc2J1aWxkLndhc21cIiBmaWxlLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIGFzIGFuIGFsdGVybmF0aXZlIHRvIFwid2FzbVVSTFwiIGZvciBlbnZpcm9ubWVudHMgd2hlcmUgaXQnc1xuICAgKiBub3QgcG9zc2libGUgdG8gZG93bmxvYWQgdGhlIFdlYkFzc2VtYmx5IG1vZHVsZS5cbiAgICovXG4gIHdhc21Nb2R1bGU/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgZXNidWlsZCBydW5zIHRoZSBXZWJBc3NlbWJseS1iYXNlZCBicm93c2VyIEFQSSBpbiBhIHdlYiB3b3JrZXJcbiAgICogdG8gYXZvaWQgYmxvY2tpbmcgdGhlIFVJIHRocmVhZC4gVGhpcyBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBcIndvcmtlclwiXG4gICAqIHRvIGZhbHNlLlxuICAgKi9cbiAgd29ya2VyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGxldCB2ZXJzaW9uOiBzdHJpbmc7XG4iXX0=
|
package/lib/inline-code.d.ts
CHANGED
|
@@ -1,29 +1,26 @@
|
|
|
1
1
|
import { InlineCode } from 'aws-cdk-lib/aws-lambda';
|
|
2
2
|
import { TransformOptions } from './esbuild-types';
|
|
3
3
|
/**
|
|
4
|
-
* @experimental
|
|
4
|
+
* @stability experimental
|
|
5
5
|
*/
|
|
6
6
|
export interface TransformerProps {
|
|
7
7
|
/**
|
|
8
|
-
* Transform options passed on to esbuild.
|
|
9
|
-
*
|
|
10
|
-
* Please refer to the esbuild Transform API docs for details.
|
|
8
|
+
* Transform options passed on to esbuild. Please refer to the esbuild Transform API docs for details.
|
|
11
9
|
*
|
|
12
10
|
* @see https://esbuild.github.io/api/#transform-api
|
|
13
11
|
* @stability stable
|
|
14
12
|
*/
|
|
15
13
|
readonly transformOptions?: TransformOptions;
|
|
16
14
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
15
|
+
* Escape hatch to provide the bundler with a custom transform function.
|
|
19
16
|
* The function will receive the computed options from the bundler. It can use with these options as it wishes, however a TransformResult must be returned to integrate with CDK.
|
|
20
17
|
* Must throw a `TransformFailure` on failure to correctly inform the bundler.
|
|
21
18
|
*
|
|
22
|
-
* @
|
|
23
|
-
* @default esbuild.transformSync
|
|
24
|
-
* @experimental
|
|
19
|
+
* @stability experimental
|
|
25
20
|
* @type esbuild.transformSync
|
|
21
|
+
* @returns esbuild.TransformResult
|
|
26
22
|
* @throws esbuild.TransformFailure
|
|
23
|
+
* @default esbuild.transformSync
|
|
27
24
|
*/
|
|
28
25
|
readonly transformFn?: any;
|
|
29
26
|
}
|
|
@@ -31,16 +28,11 @@ declare abstract class BaseInlineCode extends InlineCode {
|
|
|
31
28
|
constructor(code: string, props: TransformerProps);
|
|
32
29
|
}
|
|
33
30
|
/**
|
|
34
|
-
*
|
|
31
|
+
* An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
|
|
35
32
|
*
|
|
36
|
-
* @experimental
|
|
33
|
+
* @stability experimental
|
|
37
34
|
*/
|
|
38
35
|
export declare class InlineJavaScriptCode extends BaseInlineCode {
|
|
39
|
-
/**
|
|
40
|
-
* @param code The inline code to be transformed.
|
|
41
|
-
* @param props Support for `TransformOptions` is deprecated. Please provide `TransformerProps`!
|
|
42
|
-
* @experimental
|
|
43
|
-
*/
|
|
44
36
|
constructor(
|
|
45
37
|
/**
|
|
46
38
|
* The inline code to be transformed.
|
|
@@ -62,16 +54,11 @@ export declare class InlineJavaScriptCode extends BaseInlineCode {
|
|
|
62
54
|
props?: TransformerProps | TransformOptions);
|
|
63
55
|
}
|
|
64
56
|
/**
|
|
65
|
-
*
|
|
57
|
+
* An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
|
|
66
58
|
*
|
|
67
|
-
* @experimental
|
|
59
|
+
* @stability experimental
|
|
68
60
|
*/
|
|
69
61
|
export declare class InlineJsxCode extends BaseInlineCode {
|
|
70
|
-
/**
|
|
71
|
-
* @param code The inline code to be transformed.
|
|
72
|
-
* @param props Support for `TransformOptions` is deprecated. Please provide `TransformerProps`!
|
|
73
|
-
* @experimental
|
|
74
|
-
*/
|
|
75
62
|
constructor(
|
|
76
63
|
/**
|
|
77
64
|
* The inline code to be transformed.
|
|
@@ -93,16 +80,11 @@ export declare class InlineJsxCode extends BaseInlineCode {
|
|
|
93
80
|
props?: TransformerProps | TransformOptions);
|
|
94
81
|
}
|
|
95
82
|
/**
|
|
96
|
-
*
|
|
83
|
+
* An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
|
|
97
84
|
*
|
|
98
|
-
* @experimental
|
|
85
|
+
* @stability experimental
|
|
99
86
|
*/
|
|
100
87
|
export declare class InlineTypeScriptCode extends BaseInlineCode {
|
|
101
|
-
/**
|
|
102
|
-
* @param code The inline code to be transformed.
|
|
103
|
-
* @param props Support for `TransformOptions` is deprecated. Please provide `TransformerProps`!
|
|
104
|
-
* @experimental
|
|
105
|
-
*/
|
|
106
88
|
constructor(
|
|
107
89
|
/**
|
|
108
90
|
* The inline code to be transformed.
|
|
@@ -124,16 +106,11 @@ export declare class InlineTypeScriptCode extends BaseInlineCode {
|
|
|
124
106
|
props?: TransformerProps | TransformOptions);
|
|
125
107
|
}
|
|
126
108
|
/**
|
|
127
|
-
*
|
|
109
|
+
* An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
|
|
128
110
|
*
|
|
129
|
-
* @experimental
|
|
111
|
+
* @stability experimental
|
|
130
112
|
*/
|
|
131
113
|
export declare class InlineTsxCode extends BaseInlineCode {
|
|
132
|
-
/**
|
|
133
|
-
* @param code The inline code to be transformed.
|
|
134
|
-
* @param props Support for `TransformOptions` is deprecated. Please provide `TransformerProps`!
|
|
135
|
-
* @experimental
|
|
136
|
-
*/
|
|
137
114
|
constructor(
|
|
138
115
|
/**
|
|
139
116
|
* The inline code to be transformed.
|