@aws-cdk/aws-imagebuilder-alpha 2.230.0-alpha.0 → 2.231.0-alpha.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/.jsii +6650 -4518
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +49 -1
- package/README.md +216 -11
- package/awslint.json +1 -0
- package/lib/amazon-managed-image.d.ts +242 -0
- package/lib/amazon-managed-image.js +522 -0
- package/lib/base-image.d.ts +13 -0
- package/lib/base-image.js +39 -4
- package/lib/component.js +8 -8
- package/lib/container-recipe.js +4 -4
- package/lib/distribution-configuration.js +2 -2
- package/lib/image-pipeline.js +2 -2
- package/lib/image-recipe.js +1 -1
- package/lib/image.d.ts +339 -0
- package/lib/image.js +357 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/infrastructure-configuration.js +1 -1
- package/lib/lifecycle-policy.d.ts +3 -3
- package/lib/lifecycle-policy.js +5 -5
- package/lib/os-version.js +1 -1
- package/lib/private/constants.d.ts +7 -0
- package/lib/private/constants.js +11 -0
- package/lib/private/image-and-pipeline-props-helper.d.ts +4 -3
- package/lib/private/image-and-pipeline-props-helper.js +1 -1
- package/lib/private/policy-helper.d.ts +2 -1
- package/lib/private/policy-helper.js +1 -1
- package/lib/recipe-base.js +1 -1
- package/lib/workflow.js +5 -5
- package/package.json +6 -6
- package/rosetta/default.ts-fixture +4 -0
package/lib/image.js
ADDED
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
3
|
+
var useValue = arguments.length > 2;
|
|
4
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
5
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
6
|
+
}
|
|
7
|
+
return useValue ? value : void 0;
|
|
8
|
+
};
|
|
9
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
10
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
11
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
12
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
13
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
14
|
+
var _, done = false;
|
|
15
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
16
|
+
var context = {};
|
|
17
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
18
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
19
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
20
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
21
|
+
if (kind === "accessor") {
|
|
22
|
+
if (result === void 0) continue;
|
|
23
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
24
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
25
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
26
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
27
|
+
}
|
|
28
|
+
else if (_ = accept(result)) {
|
|
29
|
+
if (kind === "field") initializers.unshift(_);
|
|
30
|
+
else descriptor[key] = _;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
34
|
+
done = true;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.Image = exports.ImageType = exports.ImageArchitecture = void 0;
|
|
38
|
+
const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
|
39
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
40
|
+
const cdk = require("aws-cdk-lib");
|
|
41
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
42
|
+
const aws_imagebuilder_1 = require("aws-cdk-lib/aws-imagebuilder");
|
|
43
|
+
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
44
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
45
|
+
const base_image_1 = require("./base-image");
|
|
46
|
+
const infrastructure_configuration_1 = require("./infrastructure-configuration");
|
|
47
|
+
const constants_1 = require("./private/constants");
|
|
48
|
+
const image_and_pipeline_props_helper_1 = require("./private/image-and-pipeline-props-helper");
|
|
49
|
+
const policy_helper_1 = require("./private/policy-helper");
|
|
50
|
+
const IMAGE_SYMBOL = Symbol.for('@aws-cdk/aws-imagebuilder-alpha.Image');
|
|
51
|
+
/**
|
|
52
|
+
* The architecture of the image
|
|
53
|
+
*/
|
|
54
|
+
var ImageArchitecture;
|
|
55
|
+
(function (ImageArchitecture) {
|
|
56
|
+
/**
|
|
57
|
+
* 64 bit architecture with the ARM instruction set
|
|
58
|
+
*/
|
|
59
|
+
ImageArchitecture["ARM64"] = "arm64";
|
|
60
|
+
/**
|
|
61
|
+
* 64 bit architecture with x86 instruction set
|
|
62
|
+
*/
|
|
63
|
+
ImageArchitecture["X86_64"] = "x86_64";
|
|
64
|
+
})(ImageArchitecture || (exports.ImageArchitecture = ImageArchitecture = {}));
|
|
65
|
+
/**
|
|
66
|
+
* The type of the image
|
|
67
|
+
*/
|
|
68
|
+
var ImageType;
|
|
69
|
+
(function (ImageType) {
|
|
70
|
+
/**
|
|
71
|
+
* Indicates the image produced is an AMI
|
|
72
|
+
*/
|
|
73
|
+
ImageType["AMI"] = "AMI";
|
|
74
|
+
/**
|
|
75
|
+
* Indicates the image produced is a Docker image
|
|
76
|
+
*/
|
|
77
|
+
ImageType["DOCKER"] = "DOCKER";
|
|
78
|
+
})(ImageType || (exports.ImageType = ImageType = {}));
|
|
79
|
+
/**
|
|
80
|
+
* A new or imported Image
|
|
81
|
+
*/
|
|
82
|
+
class ImageBase extends cdk.Resource {
|
|
83
|
+
/**
|
|
84
|
+
* Grant custom actions to the given grantee for the image
|
|
85
|
+
*
|
|
86
|
+
* @param grantee The principal
|
|
87
|
+
* @param actions The list of actions
|
|
88
|
+
*/
|
|
89
|
+
grant(grantee, ...actions) {
|
|
90
|
+
return iam.Grant.addToPrincipal({
|
|
91
|
+
grantee,
|
|
92
|
+
resourceArns: [this.imageArn],
|
|
93
|
+
actions,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Grants the default permissions for building an image to the provided execution role.
|
|
98
|
+
*
|
|
99
|
+
* @param grantee The execution role used for the image build.
|
|
100
|
+
*/
|
|
101
|
+
grantDefaultExecutionRolePermissions(grantee) {
|
|
102
|
+
const policies = (0, policy_helper_1.defaultExecutionRolePolicy)(this);
|
|
103
|
+
return policies.map((policy) => iam.Grant.addToPrincipal({
|
|
104
|
+
grantee: grantee,
|
|
105
|
+
resourceArns: policy.resources,
|
|
106
|
+
actions: policy.actions,
|
|
107
|
+
conditions: policy.conditions,
|
|
108
|
+
scope: this,
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Grant read permissions to the given grantee for the image
|
|
113
|
+
*
|
|
114
|
+
* @param grantee The principal
|
|
115
|
+
*/
|
|
116
|
+
grantRead(grantee) {
|
|
117
|
+
return this.grant(grantee, 'imagebuilder:GetImage');
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Converts the image to a BaseImage, to use as the parent image in an image recipe
|
|
121
|
+
*/
|
|
122
|
+
toBaseImage() {
|
|
123
|
+
return base_image_1.BaseImage.fromImage(this);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Converts the image to a ContainerBaseImage, to use as the parent image in a container recipe
|
|
127
|
+
*/
|
|
128
|
+
toContainerBaseImage() {
|
|
129
|
+
return base_image_1.BaseContainerImage.fromImage(this);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Represents an EC2 Image Builder Image.
|
|
134
|
+
*
|
|
135
|
+
* @see https://docs.aws.amazon.com/imagebuilder/latest/userguide/create-images.html
|
|
136
|
+
*/
|
|
137
|
+
let Image = (() => {
|
|
138
|
+
let _classDecorators = [prop_injectable_1.propertyInjectable];
|
|
139
|
+
let _classDescriptor;
|
|
140
|
+
let _classExtraInitializers = [];
|
|
141
|
+
let _classThis;
|
|
142
|
+
let _classSuper = ImageBase;
|
|
143
|
+
let _instanceExtraInitializers = [];
|
|
144
|
+
let _grantDefaultExecutionRolePermissions_decorators;
|
|
145
|
+
var Image = class extends _classSuper {
|
|
146
|
+
static { _classThis = this; }
|
|
147
|
+
static {
|
|
148
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
149
|
+
_grantDefaultExecutionRolePermissions_decorators = [(0, metadata_resource_1.MethodMetadata)()];
|
|
150
|
+
__esDecorate(this, null, _grantDefaultExecutionRolePermissions_decorators, { kind: "method", name: "grantDefaultExecutionRolePermissions", static: false, private: false, access: { has: obj => "grantDefaultExecutionRolePermissions" in obj, get: obj => obj.grantDefaultExecutionRolePermissions }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
151
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
152
|
+
Image = _classThis = _classDescriptor.value;
|
|
153
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
154
|
+
}
|
|
155
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.Image", version: "2.231.0-alpha.0" };
|
|
156
|
+
/** Uniquely identifies this class. */
|
|
157
|
+
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-imagebuilder-alpha.Image';
|
|
158
|
+
/**
|
|
159
|
+
* Import an existing image given its ARN
|
|
160
|
+
*/
|
|
161
|
+
static fromImageArn(scope, id, imageArn) {
|
|
162
|
+
return this.fromImageAttributes(scope, id, { imageArn });
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Import an existing image given its name. The provided name must be normalized by converting all alphabetical
|
|
166
|
+
* characters to lowercase, and replacing all spaces and underscores with hyphens.
|
|
167
|
+
*/
|
|
168
|
+
static fromImageName(scope, id, imageName) {
|
|
169
|
+
return this.fromImageAttributes(scope, id, { imageName });
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Import an existing image by providing its attributes. If the image name is provided as an attribute, it must be
|
|
173
|
+
* normalized by converting all alphabetical characters to lowercase, and replacing all spaces and underscores with
|
|
174
|
+
* hyphens.
|
|
175
|
+
*/
|
|
176
|
+
static fromImageAttributes(scope, id, attrs) {
|
|
177
|
+
try {
|
|
178
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_ImageAttributes(attrs);
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
182
|
+
Error.captureStackTrace(error, this.fromImageAttributes);
|
|
183
|
+
}
|
|
184
|
+
throw error;
|
|
185
|
+
}
|
|
186
|
+
if (!attrs.imageArn && !attrs.imageName) {
|
|
187
|
+
throw new cdk.ValidationError('either imageArn or imageName is required', scope);
|
|
188
|
+
}
|
|
189
|
+
const imageArn = attrs.imageArn ??
|
|
190
|
+
cdk.Stack.of(scope).formatArn({
|
|
191
|
+
service: 'imagebuilder',
|
|
192
|
+
resource: 'image',
|
|
193
|
+
resourceName: `${attrs.imageName}/${attrs.imageVersion ?? constants_1.LATEST_VERSION}`,
|
|
194
|
+
});
|
|
195
|
+
const [imageName, imageVersion] = (() => {
|
|
196
|
+
if (attrs.imageName) {
|
|
197
|
+
return [attrs.imageName, attrs.imageVersion ?? constants_1.LATEST_VERSION];
|
|
198
|
+
}
|
|
199
|
+
const imageNameVersion = cdk.Stack.of(scope).splitArn(imageArn, cdk.ArnFormat.SLASH_RESOURCE_NAME).resourceName;
|
|
200
|
+
const imageNameVersionSplit = cdk.Fn.split('/', imageNameVersion);
|
|
201
|
+
return [cdk.Fn.select(0, imageNameVersionSplit), cdk.Fn.select(1, imageNameVersionSplit)];
|
|
202
|
+
})();
|
|
203
|
+
class Import extends ImageBase {
|
|
204
|
+
imageArn = imageArn;
|
|
205
|
+
imageName = imageName;
|
|
206
|
+
imageVersion = imageVersion;
|
|
207
|
+
}
|
|
208
|
+
return new Import(scope, id);
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Return whether the given object is an Image.
|
|
212
|
+
*/
|
|
213
|
+
static isImage(x) {
|
|
214
|
+
return x !== null && typeof x === 'object' && IMAGE_SYMBOL in x;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* The ARN of the image
|
|
218
|
+
*/
|
|
219
|
+
imageArn = __runInitializers(this, _instanceExtraInitializers);
|
|
220
|
+
/**
|
|
221
|
+
* The name of the image
|
|
222
|
+
*/
|
|
223
|
+
imageName;
|
|
224
|
+
/**
|
|
225
|
+
* The version of the image
|
|
226
|
+
*/
|
|
227
|
+
imageVersion;
|
|
228
|
+
/**
|
|
229
|
+
* The AMI ID of the EC2 AMI, or URI for the container
|
|
230
|
+
*
|
|
231
|
+
* @attribute
|
|
232
|
+
*/
|
|
233
|
+
imageId;
|
|
234
|
+
/**
|
|
235
|
+
* The infrastructure configuration used for the image build
|
|
236
|
+
*/
|
|
237
|
+
infrastructureConfiguration;
|
|
238
|
+
/**
|
|
239
|
+
* The execution role used for the image build
|
|
240
|
+
*/
|
|
241
|
+
executionRole;
|
|
242
|
+
props;
|
|
243
|
+
constructor(scope, id, props) {
|
|
244
|
+
super(scope, id);
|
|
245
|
+
try {
|
|
246
|
+
jsiiDeprecationWarnings._aws_cdk_aws_imagebuilder_alpha_ImageProps(props);
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
250
|
+
Error.captureStackTrace(error, Image);
|
|
251
|
+
}
|
|
252
|
+
throw error;
|
|
253
|
+
}
|
|
254
|
+
// Enhanced CDK Analytics Telemetry
|
|
255
|
+
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
256
|
+
Object.defineProperty(this, IMAGE_SYMBOL, { value: true });
|
|
257
|
+
this.props = props;
|
|
258
|
+
this.infrastructureConfiguration =
|
|
259
|
+
props.infrastructureConfiguration ?? new infrastructure_configuration_1.InfrastructureConfiguration(this, 'InfrastructureConfiguration');
|
|
260
|
+
this.executionRole = (0, policy_helper_1.getExecutionRole)(this, (grantee) => this.grantDefaultExecutionRolePermissions(grantee), {
|
|
261
|
+
...props,
|
|
262
|
+
imageLogGroup: props.logGroup,
|
|
263
|
+
});
|
|
264
|
+
const [image, recipe] = this.createImageFromRecipe(props);
|
|
265
|
+
this.imageName = this.getResourceNameAttribute(image.attrName);
|
|
266
|
+
this.imageArn = image.attrArn;
|
|
267
|
+
if (recipe._isImageRecipe()) {
|
|
268
|
+
this.imageId = image.attrImageId;
|
|
269
|
+
this.imageVersion = recipe.imageRecipeVersion;
|
|
270
|
+
}
|
|
271
|
+
else if (recipe._isContainerRecipe()) {
|
|
272
|
+
this.imageId = image.attrImageUri;
|
|
273
|
+
this.imageVersion = recipe.containerRecipeVersion;
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
throw new cdk.ValidationError('recipe must either be an image recipe or container recipe', this);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Grants the default permissions for building an image to the provided execution role.
|
|
281
|
+
*
|
|
282
|
+
* @param grantee The execution role used for the image build.
|
|
283
|
+
*/
|
|
284
|
+
grantDefaultExecutionRolePermissions(grantee) {
|
|
285
|
+
const policies = (0, policy_helper_1.defaultExecutionRolePolicy)(this, this.props);
|
|
286
|
+
return policies.map((policy) => iam.Grant.addToPrincipal({
|
|
287
|
+
grantee: grantee,
|
|
288
|
+
resourceArns: policy.resources,
|
|
289
|
+
actions: policy.actions,
|
|
290
|
+
conditions: policy.conditions,
|
|
291
|
+
scope: this,
|
|
292
|
+
}));
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Creates a CfnImage resource from the recipe and props provided.
|
|
296
|
+
*
|
|
297
|
+
* @param props Props input for the construct
|
|
298
|
+
* @private
|
|
299
|
+
*/
|
|
300
|
+
createImageFromRecipe(props) {
|
|
301
|
+
const recipe = props.recipe;
|
|
302
|
+
if (infrastructure_configuration_1.InfrastructureConfiguration.isInfrastructureConfiguration(this.infrastructureConfiguration)) {
|
|
303
|
+
this.infrastructureConfiguration._bind({ isContainerBuild: recipe._isContainerRecipe() });
|
|
304
|
+
}
|
|
305
|
+
if (recipe._isImageRecipe() && recipe._isContainerRecipe()) {
|
|
306
|
+
throw new cdk.ValidationError('the recipe cannot be both an IImageRecipe and an IContainerRecipe', this);
|
|
307
|
+
}
|
|
308
|
+
if (!recipe._isImageRecipe() && !recipe._isContainerRecipe()) {
|
|
309
|
+
throw new cdk.ValidationError('the recipe must either be an IImageRecipe or IContainerRecipe', this);
|
|
310
|
+
}
|
|
311
|
+
const image = new aws_imagebuilder_1.CfnImage(this, 'Resource', {
|
|
312
|
+
...(recipe._isImageRecipe() && { imageRecipeArn: recipe.imageRecipeArn }),
|
|
313
|
+
...(recipe._isContainerRecipe() && { containerRecipeArn: recipe.containerRecipeArn }),
|
|
314
|
+
infrastructureConfigurationArn: this.infrastructureConfiguration.infrastructureConfigurationArn,
|
|
315
|
+
distributionConfigurationArn: props.distributionConfiguration?.distributionConfigurationArn,
|
|
316
|
+
executionRole: this.executionRole?.roleArn,
|
|
317
|
+
enhancedImageMetadataEnabled: props.enhancedImageMetadataEnabled,
|
|
318
|
+
loggingConfiguration: this.buildLoggingConfiguration(props),
|
|
319
|
+
imageTestsConfiguration: (0, image_and_pipeline_props_helper_1.buildImageTestsConfiguration)(props),
|
|
320
|
+
imageScanningConfiguration: (0, image_and_pipeline_props_helper_1.buildImageScanningConfiguration)(this, props),
|
|
321
|
+
workflows: (0, image_and_pipeline_props_helper_1.buildWorkflows)(props),
|
|
322
|
+
deletionSettings: this.buildDeletionSettings(props),
|
|
323
|
+
tags: props.tags,
|
|
324
|
+
});
|
|
325
|
+
return [image, recipe];
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Generates the loggingConfiguration property into the `LoggingConfiguration` type in the CloudFormation L1
|
|
329
|
+
* definition.
|
|
330
|
+
*
|
|
331
|
+
* @param props Props input for the construct
|
|
332
|
+
*/
|
|
333
|
+
buildLoggingConfiguration(props) {
|
|
334
|
+
if (!props.logGroup) {
|
|
335
|
+
return undefined;
|
|
336
|
+
}
|
|
337
|
+
return { logGroupName: props.logGroup.logGroupName };
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Generates the deletionSettings property into the `DeletionSettings` type in the CloudFormation L1 definition.
|
|
341
|
+
*
|
|
342
|
+
* @param props Props input for the construct
|
|
343
|
+
*/
|
|
344
|
+
buildDeletionSettings(props) {
|
|
345
|
+
if (props.deletionExecutionRole === undefined) {
|
|
346
|
+
return undefined;
|
|
347
|
+
}
|
|
348
|
+
return { executionRole: props.deletionExecutionRole.roleArn };
|
|
349
|
+
}
|
|
350
|
+
static {
|
|
351
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
return Image = _classThis;
|
|
355
|
+
})();
|
|
356
|
+
exports.Image = Image;
|
|
357
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQ0FBbUM7QUFFbkMsMkNBQTJDO0FBQzNDLG1FQUF3RDtBQUV4RCw4RUFBOEY7QUFDOUYsMEVBQTBFO0FBRTFFLDZDQUE2RDtBQUU3RCxpRkFBMkc7QUFDM0csbURBQXFEO0FBQ3JELCtGQUltRDtBQUNuRCwyREFBdUY7QUFJdkYsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0FBd016RTs7R0FFRztBQUNILElBQVksaUJBVVg7QUFWRCxXQUFZLGlCQUFpQjtJQUMzQjs7T0FFRztJQUNILG9DQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFWVyxpQkFBaUIsaUNBQWpCLGlCQUFpQixRQVU1QjtBQUVEOztHQUVHO0FBQ0gsSUFBWSxTQVVYO0FBVkQsV0FBWSxTQUFTO0lBQ25COztPQUVHO0lBQ0gsd0JBQVcsQ0FBQTtJQUVYOztPQUVHO0lBQ0gsOEJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLFNBQVMseUJBQVQsU0FBUyxRQVVwQjtBQUVEOztHQUVHO0FBQ0gsTUFBZSxTQUFVLFNBQVEsR0FBRyxDQUFDLFFBQVE7SUFnQjNDOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLE9BQXVCLEVBQUUsR0FBRyxPQUFpQjtRQUN4RCxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzlCLE9BQU87WUFDUCxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzdCLE9BQU87U0FDUixDQUFDLENBQUM7S0FDSjtJQUVEOzs7O09BSUc7SUFDSSxvQ0FBb0MsQ0FBQyxPQUF1QjtRQUNqRSxNQUFNLFFBQVEsR0FBRyxJQUFBLDBDQUEwQixFQUFDLElBQUks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QUFZLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN0RDtRQUVEOzs7O1dBSUc7UUFDSyxxQkFBcUIsQ0FBQyxLQUFpQjtZQUM3QyxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDOUMsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztZQUVELE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQy9EOztZQTlOVSx1REFBSzs7Ozs7QUFBTCxzQkFBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlY3IgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDZm5JbWFnZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pbWFnZWJ1aWxkZXInO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBCYXNlQ29udGFpbmVySW1hZ2UsIEJhc2VJbWFnZSB9IGZyb20gJy4vYmFzZS1pbWFnZSc7XG5pbXBvcnQgeyBJRGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vZGlzdHJpYnV0aW9uLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgSUluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbiwgSW5mcmFzdHJ1Y3R1cmVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9pbmZyYXN0cnVjdHVyZS1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IExBVEVTVF9WRVJTSU9OIH0gZnJvbSAnLi9wcml2YXRlL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBidWlsZEltYWdlU2Nhbm5pbmdDb25maWd1cmF0aW9uLFxuICBidWlsZEltYWdlVGVzdHNDb25maWd1cmF0aW9uLFxuICBidWlsZFdvcmtmbG93cyxcbn0gZnJvbSAnLi9wcml2YXRlL2ltYWdlLWFuZC1waXBlbGluZS1wcm9wcy1oZWxwZXInO1xuaW1wb3J0IHsgZGVmYXVsdEV4ZWN1dGlvblJvbGVQb2xpY3ksIGdldEV4ZWN1dGlvblJvbGUgfSBmcm9tICcuL3ByaXZhdGUvcG9saWN5LWhlbHBlcic7XG5pbXBvcnQgeyBJUmVjaXBlQmFzZSB9IGZyb20gJy4vcmVjaXBlLWJhc2UnO1xuaW1wb3J0IHsgV29ya2Zsb3dDb25maWd1cmF0aW9uIH0gZnJvbSAnLi93b3JrZmxvdyc7XG5cbmNvbnN0IElNQUdFX1NZTUJPTCA9IFN5bWJvbC5mb3IoJ0Bhd3MtY2RrL2F3cy1pbWFnZWJ1aWxkZXItYWxwaGEuSW1hZ2UnKTtcblxuLyoqXG4gKiBBbiBFQzIgSW1hZ2UgQnVpbGRlciBJbWFnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElJbWFnZSBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgaW1hZ2VcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGltYWdlXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgaW1hZ2VcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdyYW50IGN1c3RvbSBhY3Rpb25zIHRvIHRoZSBnaXZlbiBncmFudGVlIGZvciB0aGUgaW1hZ2VcbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gYWN0aW9ucyBUaGUgbGlzdCBvZiBhY3Rpb25zXG4gICAqL1xuICBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIEdyYW50cyB0aGUgZGVmYXVsdCBwZXJtaXNzaW9ucyBmb3IgYnVpbGRpbmcgYW4gaW1hZ2UgdG8gdGhlIHByb3ZpZGVkIGV4ZWN1dGlvbiByb2xlLlxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgZXhlY3V0aW9uIHJvbGUgdXNlZCBmb3IgdGhlIGltYWdlIGJ1aWxkLlxuICAgKi9cbiAgZ3JhbnREZWZhdWx0RXhlY3V0aW9uUm9sZVBlcm1pc3Npb25zKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50W107XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGdyYW50ZWUgZm9yIHRoZSBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsXG4gICAqL1xuICBncmFudFJlYWQoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBpbWFnZSB0byBhIEJhc2VJbWFnZSwgdG8gdXNlIGFzIHRoZSBwYXJlbnQgaW1hZ2UgaW4gYW4gaW1hZ2UgcmVjaXBlXG4gICAqL1xuICB0b0Jhc2VJbWFnZSgpOiBCYXNlSW1hZ2U7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBpbWFnZSB0byBhIENvbnRhaW5lckJhc2VJbWFnZSwgdG8gdXNlIGFzIHRoZSBwYXJlbnQgaW1hZ2UgaW4gYSBjb250YWluZXIgcmVjaXBlXG4gICAqL1xuICB0b0NvbnRhaW5lckJhc2VJbWFnZSgpOiBCYXNlQ29udGFpbmVySW1hZ2U7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY3JlYXRpbmcgYW4gSW1hZ2UgcmVzb3VyY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbWFnZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSByZWNpcGUgdGhhdCBkZWZpbmVzIHRoZSBiYXNlIGltYWdlLCBjb21wb25lbnRzLCBhbmQgY3VzdG9taXphdGlvbnMgdXNlZCB0byBidWlsZCB0aGUgaW1hZ2UuIFRoaXMgY2FuIGVpdGhlciBiZVxuICAgKiBhbiBpbWFnZSByZWNpcGUsIG9yIGEgY29udGFpbmVyIHJlY2lwZS5cbiAgICovXG4gIHJlYWRvbmx5IHJlY2lwZTogSVJlY2lwZUJhc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uIHVzZWQgZm9yIGJ1aWxkaW5nIHRoZSBpbWFnZS5cbiAgICpcbiAgICogQSBkZWZhdWx0IGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb24gd2lsbCBiZSB1c2VkIGlmIG9uZSBpcyBub3QgcHJvdmlkZWQuXG4gICAqXG4gICAqIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gd2lsbCBjcmVhdGUgYW4gaW5zdGFuY2UgcHJvZmlsZSBhbmQgcm9sZSB3aXRoIG1pbmltYWwgcGVybWlzc2lvbnMgbmVlZGVkIHRvIGJ1aWxkIHRoZVxuICAgKiBpbWFnZSwgYXR0YWNoZWQgdG8gdGhlIEVDMiBpbnN0YW5jZS5cbiAgICpcbiAgICogSU1EU3YyIHdpbGwgYmUgcmVxdWlyZWQgYnkgZGVmYXVsdCBvbiB0aGUgaW5zdGFuY2VzIHVzZWQgdG8gYnVpbGQgYW5kIHRlc3QgdGhlIGltYWdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFuIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb24gd2lsbCBiZSBjcmVhdGVkIHdpdGggdGhlIGRlZmF1bHQgc2V0dGluZ3NcbiAgICovXG4gIHJlYWRvbmx5IGluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbj86IElJbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbiB1c2VkIGZvciBkaXN0cmlidXRpbmcgdGhlIGltYWdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBkaXN0cmlidXRpb25Db25maWd1cmF0aW9uPzogSURpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHdvcmtmbG93IGNvbmZpZ3VyYXRpb25zIHVzZWQgdG8gYnVpbGQgdGhlIGltYWdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEltYWdlIEJ1aWxkZXIgd2lsbCB1c2UgYSBkZWZhdWx0IHNldCBvZiB3b3JrZmxvd3MgZm9yIHRoZSBidWlsZCB0byBidWlsZCwgdGVzdCwgYW5kIGRpc3RyaWJ1dGUgdGhlXG4gICAqIGltYWdlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd3M/OiBXb3JrZmxvd0NvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogVGhlIGV4ZWN1dGlvbiByb2xlIHVzZWQgdG8gcGVyZm9ybSB3b3JrZmxvdyBhY3Rpb25zIHRvIGJ1aWxkIHRoZSBpbWFnZS5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIEltYWdlIEJ1aWxkZXIgU2VydmljZSBMaW5rZWQgUm9sZSAoU0xSKSB3aWxsIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseSBhbmQgdXNlZCBhcyB0aGUgZXhlY3V0aW9uXG4gICAqIHJvbGUuIEhvd2V2ZXIsIHdoZW4gcHJvdmlkaW5nIGEgY3VzdG9tIHNldCBvZiBpbWFnZSB3b3JrZmxvd3MgZm9yIHRoZSBpbWFnZSwgYW4gZXhlY3V0aW9uIHJvbGUgd2lsbCBiZVxuICAgKiBnZW5lcmF0ZWQgd2l0aCB0aGUgbWluaW1hbCBwZXJtaXNzaW9ucyBuZWVkZWQgdG8gZXhlY3V0ZSB0aGUgd29ya2Zsb3dzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEltYWdlIEJ1aWxkZXIgd2lsbCB1c2UgdGhlIFNMUiBpZiBwb3NzaWJsZS4gT3RoZXJ3aXNlLCBhbiBleGVjdXRpb24gcm9sZSB3aWxsIGJlIGdlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0aW9uUm9sZT86IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIGxvZyBncm91cCB0byB1c2UgZm9yIHRoZSBpbWFnZS4gQnkgZGVmYXVsdCwgYSBsb2cgZ3JvdXAgd2lsbCBiZSBjcmVhdGVkIHdpdGggdGhlIGZvcm1hdFxuICAgKiBgL2F3cy9pbWFnZWJ1aWxkZXIvPGltYWdlLW5hbWU+YFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgbG9nIGdyb3VwIHdpbGwgYmUgY3JlYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA/OiBsb2dzLklMb2dHcm91cDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgSW1hZ2UgQnVpbGRlciBrZWVwcyBhIHNuYXBzaG90IG9mIHRoZSB2dWxuZXJhYmlsaXR5IHNjYW5zIHRoYXQgQW1hem9uIEluc3BlY3RvciBydW5zIGFnYWluc3QgdGhlXG4gICAqIGJ1aWxkIGluc3RhbmNlIHdoZW4geW91IGNyZWF0ZSBhIG5ldyBpbWFnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlU2Nhbm5pbmdFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGNvbnRhaW5lciByZXBvc2l0b3J5IHRoYXQgQW1hem9uIEluc3BlY3RvciBzY2FucyB0byBpZGVudGlmeSBmaW5kaW5ncyBmb3IgeW91ciBjb250YWluZXIgaW1hZ2VzLiBJZiBhXG4gICAqIHJlcG9zaXRvcnkgaXMgbm90IHByb3ZpZGVkLCBJbWFnZSBCdWlsZGVyIGNyZWF0ZXMgYSByZXBvc2l0b3J5IG5hbWVkIGBpbWFnZS1idWlsZGVyLWltYWdlLXNjYW5uaW5nLXJlcG9zaXRvcnlgXG4gICAqIGZvciB2dWxuZXJhYmlsaXR5IHNjYW5uaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGlmIHNjYW5uaW5nIGlzIGVuYWJsZWQsIGEgcmVwb3NpdG9yeSB3aWxsIGJlIGNyZWF0ZWQgYnkgSW1hZ2UgQnVpbGRlciBpZiBvbmUgaXMgbm90IHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBpbWFnZVNjYW5uaW5nRWNyUmVwb3NpdG9yeT86IGVjci5JUmVwb3NpdG9yeTtcblxuICAvKipcbiAgICogVGhlIHRhZ3MgZm9yIEltYWdlIEJ1aWxkZXIgdG8gYXBwbHkgdG8gdGhlIG91dHB1dCBjb250YWluZXIgaW1hZ2UgdGhhdCBBbWF6b24gSW5zcGVjdG9yIHNjYW5zLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBpbWFnZVNjYW5uaW5nRWNyVGFncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCBjb2xsZWN0cyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpbWFnZSBiZWluZyBjcmVhdGVkLCBpbmNsdWRpbmcgdGhlIG9wZXJhdGluZyBzeXN0ZW0gKE9TKVxuICAgKiB2ZXJzaW9uIGFuZCBwYWNrYWdlIGxpc3QgZm9yIHRoZSBBTUkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuaGFuY2VkSW1hZ2VNZXRhZGF0YUVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJ1biB0ZXN0cyBhZnRlciBidWlsZGluZyBhbiBpbWFnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VUZXN0c0VuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgZXhlY3V0aW9uIHJvbGUgdG8gdXNlIGZvciBkZWxldGluZyB0aGUgaW1hZ2UgYXMgd2VsbCBhcyB0aGUgdW5kZXJseWluZyByZXNvdXJjZXMsIHN1Y2ggYXMgdGhlIEFNSXMsIHNuYXBzaG90cyxcbiAgICogYW5kIGNvbnRhaW5lcnMuIFRoaXMgcm9sZSBzaG91bGQgY29udGFpbiByZXNvdXJjZSBsaWZlY3ljbGUgcGVybWlzc2lvbnMgcmVxdWlyZWQgdG8gZGVsZXRlIHRoZSB1bmRlcmx5aW5nXG4gICAqIEFNSXMvY29udGFpbmVycy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBleGVjdXRpb24gcm9sZS4gT25seSB0aGUgSW1hZ2UgQnVpbGRlciBpbWFnZSB3aWxsIGJlIGRlbGV0ZWQuXG4gICAqL1xuICByZWFkb25seSBkZWxldGlvbkV4ZWN1dGlvblJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWdzIHRvIGFwcGx5IHRvIHRoZSBpbWFnZVxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhbiBFQzIgSW1hZ2UgQnVpbGRlciBpbWFnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBpbWFnZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlcml2ZWQgZnJvbSB0aGUgaW1hZ2VOYW1lXG4gICAqL1xuICByZWFkb25seSBpbWFnZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGltYWdlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVyaXZlZCBmcm9tIHRoZSBpbWFnZUFyblxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgaW1hZ2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIGltYWdlLCB4LngueFxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VWZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBhcmNoaXRlY3R1cmUgb2YgdGhlIGltYWdlXG4gKi9cbmV4cG9ydCBlbnVtIEltYWdlQXJjaGl0ZWN0dXJlIHtcbiAgLyoqXG4gICAqIDY0IGJpdCBhcmNoaXRlY3R1cmUgd2l0aCB0aGUgQVJNIGluc3RydWN0aW9uIHNldFxuICAgKi9cbiAgQVJNNjQgPSAnYXJtNjQnLFxuXG4gIC8qKlxuICAgKiA2NCBiaXQgYXJjaGl0ZWN0dXJlIHdpdGggeDg2IGluc3RydWN0aW9uIHNldFxuICAgKi9cbiAgWDg2XzY0ID0gJ3g4Nl82NCcsXG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGltYWdlXG4gKi9cbmV4cG9ydCBlbnVtIEltYWdlVHlwZSB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdGhlIGltYWdlIHByb2R1Y2VkIGlzIGFuIEFNSVxuICAgKi9cbiAgQU1JID0gJ0FNSScsXG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB0aGUgaW1hZ2UgcHJvZHVjZWQgaXMgYSBEb2NrZXIgaW1hZ2VcbiAgICovXG4gIERPQ0tFUiA9ICdET0NLRVInLFxufVxuXG4vKipcbiAqIEEgbmV3IG9yIGltcG9ydGVkIEltYWdlXG4gKi9cbmFic3RyYWN0IGNsYXNzIEltYWdlQmFzZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElJbWFnZSB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBpbWFnZVxuICAgKi9cbiAgYWJzdHJhY3QgcmVhZG9ubHkgaW1hZ2VBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGltYWdlXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIGltYWdlXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBpbWFnZVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogR3JhbnQgY3VzdG9tIGFjdGlvbnMgdG8gdGhlIGdpdmVuIGdyYW50ZWUgZm9yIHRoZSBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBhY3Rpb25zIFRoZSBsaXN0IG9mIGFjdGlvbnNcbiAgICovXG4gIHB1YmxpYyBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQge1xuICAgIHJldHVybiBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMuaW1hZ2VBcm5dLFxuICAgICAgYWN0aW9ucyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgdGhlIGRlZmF1bHQgcGVybWlzc2lvbnMgZm9yIGJ1aWxkaW5nIGFuIGltYWdlIHRvIHRoZSBwcm92aWRlZCBleGVjdXRpb24gcm9sZS5cbiAgICpcbiAgICogQHBhcmFtIGdyYW50ZWUgVGhlIGV4ZWN1dGlvbiByb2xlIHVzZWQgZm9yIHRoZSBpbWFnZSBidWlsZC5cbiAgICovXG4gIHB1YmxpYyBncmFudERlZmF1bHRFeGVjdXRpb25Sb2xlUGVybWlzc2lvbnMoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnRbXSB7XG4gICAgY29uc3QgcG9saWNpZXMgPSBkZWZhdWx0RXhlY3V0aW9uUm9sZVBvbGljeSh0aGlzKTtcbiAgICByZXR1cm4gcG9saWNpZXMubWFwKChwb2xpY3kpID0+XG4gICAgICBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgICBncmFudGVlOiBncmFudGVlLFxuICAgICAgICByZXNvdXJjZUFybnM6IHBvbGljeS5yZXNvdXJjZXMsXG4gICAgICAgIGFjdGlvbnM6IHBvbGljeS5hY3Rpb25zLFxuICAgICAgICBjb25kaXRpb25zOiBwb2xpY3kuY29uZGl0aW9ucyxcbiAgICAgICAgc2NvcGU6IHRoaXMsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGdyYW50ZWUgZm9yIHRoZSBpbWFnZVxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgcHJpbmNpcGFsXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5ncmFudChncmFudGVlLCAnaW1hZ2VidWlsZGVyOkdldEltYWdlJyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIGltYWdlIHRvIGEgQmFzZUltYWdlLCB0byB1c2UgYXMgdGhlIHBhcmVudCBpbWFnZSBpbiBhbiBpbWFnZSByZWNpcGVcbiAgICovXG4gIHB1YmxpYyB0b0Jhc2VJbWFnZSgpOiBCYXNlSW1hZ2Uge1xuICAgIHJldHVybiBCYXNlSW1hZ2UuZnJvbUltYWdlKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBpbWFnZSB0byBhIENvbnRhaW5lckJhc2VJbWFnZSwgdG8gdXNlIGFzIHRoZSBwYXJlbnQgaW1hZ2UgaW4gYSBjb250YWluZXIgcmVjaXBlXG4gICAqL1xuICBwdWJsaWMgdG9Db250YWluZXJCYXNlSW1hZ2UoKTogQmFzZUNvbnRhaW5lckltYWdlIHtcbiAgICByZXR1cm4gQmFzZUNvbnRhaW5lckltYWdlLmZyb21JbWFnZSh0aGlzKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gRUMyIEltYWdlIEJ1aWxkZXIgSW1hZ2UuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vaW1hZ2VidWlsZGVyL2xhdGVzdC91c2VyZ3VpZGUvY3JlYXRlLWltYWdlcy5odG1sXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBJbWFnZSBleHRlbmRzIEltYWdlQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWltYWdlYnVpbGRlci1hbHBoYS5JbWFnZSc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBpbWFnZSBnaXZlbiBpdHMgQVJOXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbWFnZUFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBpbWFnZUFybjogc3RyaW5nKTogSUltYWdlIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tSW1hZ2VBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBpbWFnZUFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgaW1hZ2UgZ2l2ZW4gaXRzIG5hbWUuIFRoZSBwcm92aWRlZCBuYW1lIG11c3QgYmUgbm9ybWFsaXplZCBieSBjb252ZXJ0aW5nIGFsbCBhbHBoYWJldGljYWxcbiAgICogY2hhcmFjdGVycyB0byBsb3dlcmNhc2UsIGFuZCByZXBsYWNpbmcgYWxsIHNwYWNlcyBhbmQgdW5kZXJzY29yZXMgd2l0aCBoeXBoZW5zLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tSW1hZ2VOYW1lKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGltYWdlTmFtZTogc3RyaW5nKTogSUltYWdlIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tSW1hZ2VBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBpbWFnZU5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGltYWdlIGJ5IHByb3ZpZGluZyBpdHMgYXR0cmlidXRlcy4gSWYgdGhlIGltYWdlIG5hbWUgaXMgcHJvdmlkZWQgYXMgYW4gYXR0cmlidXRlLCBpdCBtdXN0IGJlXG4gICAqIG5vcm1hbGl6ZWQgYnkgY29udmVydGluZyBhbGwgYWxwaGFiZXRpY2FsIGNoYXJhY3RlcnMgdG8gbG93ZXJjYXNlLCBhbmQgcmVwbGFjaW5nIGFsbCBzcGFjZXMgYW5kIHVuZGVyc2NvcmVzIHdpdGhcbiAgICogaHlwaGVucy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUltYWdlQXR0cmlidXRlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogSW1hZ2VBdHRyaWJ1dGVzKTogSUltYWdlIHtcbiAgICBpZiAoIWF0dHJzLmltYWdlQXJuICYmICFhdHRycy5pbWFnZU5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdlaXRoZXIgaW1hZ2VBcm4gb3IgaW1hZ2VOYW1lIGlzIHJlcXVpcmVkJywgc2NvcGUpO1xuICAgIH1cblxuICAgIGNvbnN0IGltYWdlQXJuID1cbiAgICAgIGF0dHJzLmltYWdlQXJuID8/XG4gICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdpbWFnZWJ1aWxkZXInLFxuICAgICAgICByZXNvdXJjZTogJ2ltYWdlJyxcbiAgICAgICAgcmVzb3VyY2VOYW1lOiBgJHthdHRycy5pbWFnZU5hbWV9LyR7YXR0cnMuaW1hZ2VWZXJzaW9uID8/IExBVEVTVF9WRVJTSU9OfWAsXG4gICAgICB9KTtcblxuICAgIGNvbnN0IFtpbWFnZU5hbWUsIGltYWdlVmVyc2lvbl0gPSAoKCkgPT4ge1xuICAgICAgaWYgKGF0dHJzLmltYWdlTmFtZSkge1xuICAgICAgICByZXR1cm4gW2F0dHJzLmltYWdlTmFtZSwgYXR0cnMuaW1hZ2VWZXJzaW9uID8/IExBVEVTVF9WRVJTSU9OXTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW1hZ2VOYW1lVmVyc2lvbiA9IGNkay5TdGFjay5vZihzY29wZSkuc3BsaXRBcm4oaW1hZ2VBcm4sIGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSkucmVzb3VyY2VOYW1lITtcblxuICAgICAgY29uc3QgaW1hZ2VOYW1lVmVyc2lvblNwbGl0ID0gY2RrLkZuLnNwbGl0KCcvJywgaW1hZ2VOYW1lVmVyc2lvbik7XG4gICAgICByZXR1cm4gW2Nkay5Gbi5zZWxlY3QoMCwgaW1hZ2VOYW1lVmVyc2lvblNwbGl0KSwgY2RrLkZuLnNlbGVjdCgxLCBpbWFnZU5hbWVWZXJzaW9uU3BsaXQpXTtcbiAgICB9KSgpO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgSW1hZ2VCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBpbWFnZUFybiA9IGltYWdlQXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGltYWdlTmFtZSA9IGltYWdlTmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSBpbWFnZVZlcnNpb24gPSBpbWFnZVZlcnNpb247XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGFuIEltYWdlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0ltYWdlKHg6IGFueSk6IHggaXMgSW1hZ2Uge1xuICAgIHJldHVybiB4ICE9PSBudWxsICYmIHR5cGVvZiB4ID09PSAnb2JqZWN0JyAmJiBJTUFHRV9TWU1CT0wgaW4geDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBpbWFnZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGltYWdlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBpbWFnZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgaW1hZ2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbWFnZVZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFNSSBJRCBvZiB0aGUgRUMyIEFNSSwgb3IgVVJJIGZvciB0aGUgY29udGFpbmVyXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbWFnZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uIHVzZWQgZm9yIHRoZSBpbWFnZSBidWlsZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbjogSUluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGV4ZWN1dGlvbiByb2xlIHVzZWQgZm9yIHRoZSBpbWFnZSBidWlsZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGV4ZWN1dGlvblJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogSW1hZ2VQcm9wcztcblxuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEltYWdlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIElNQUdFX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIHRoaXMuaW5mcmFzdHJ1Y3R1cmVDb25maWd1cmF0aW9uID1cbiAgICAgIHByb3BzLmluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbiA/PyBuZXcgSW5mcmFzdHJ1Y3R1cmVDb25maWd1cmF0aW9uKHRoaXMsICdJbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb24nKTtcblxuICAgIHRoaXMuZXhlY3V0aW9uUm9sZSA9IGdldEV4ZWN1dGlvblJvbGUoXG4gICAgICB0aGlzLFxuICAgICAgKGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlKSA9PiB0aGlzLmdyYW50RGVmYXVsdEV4ZWN1dGlvblJvbGVQZXJtaXNzaW9ucyhncmFudGVlKSxcbiAgICAgIHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIGltYWdlTG9nR3JvdXA6IHByb3BzLmxvZ0dyb3VwLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgW2ltYWdlLCByZWNpcGVdID0gdGhpcy5jcmVhdGVJbWFnZUZyb21SZWNpcGUocHJvcHMpO1xuXG4gICAgdGhpcy5pbWFnZU5hbWUgPSB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZShpbWFnZS5hdHRyTmFtZSk7XG4gICAgdGhpcy5pbWFnZUFybiA9IGltYWdlLmF0dHJBcm47XG5cbiAgICBpZiAocmVjaXBlLl9pc0ltYWdlUmVjaXBlKCkpIHtcbiAgICAgIHRoaXMuaW1hZ2VJZCA9IGltYWdlLmF0dHJJbWFnZUlkO1xuICAgICAgdGhpcy5pbWFnZVZlcnNpb24gPSByZWNpcGUuaW1hZ2VSZWNpcGVWZXJzaW9uO1xuICAgIH0gZWxzZSBpZiAocmVjaXBlLl9pc0NvbnRhaW5lclJlY2lwZSgpKSB7XG4gICAgICB0aGlzLmltYWdlSWQgPSBpbWFnZS5hdHRySW1hZ2VVcmk7XG4gICAgICB0aGlzLmltYWdlVmVyc2lvbiA9IHJlY2lwZS5jb250YWluZXJSZWNpcGVWZXJzaW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcigncmVjaXBlIG11c3QgZWl0aGVyIGJlIGFuIGltYWdlIHJlY2lwZSBvciBjb250YWluZXIgcmVjaXBlJywgdGhpcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyB0aGUgZGVmYXVsdCBwZXJtaXNzaW9ucyBmb3IgYnVpbGRpbmcgYW4gaW1hZ2UgdG8gdGhlIHByb3ZpZGVkIGV4ZWN1dGlvbiByb2xlLlxuICAgKlxuICAgKiBAcGFyYW0gZ3JhbnRlZSBUaGUgZXhlY3V0aW9uIHJvbGUgdXNlZCBmb3IgdGhlIGltYWdlIGJ1aWxkLlxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGdyYW50RGVmYXVsdEV4ZWN1dGlvblJvbGVQZXJtaXNzaW9ucyhncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudFtdIHtcbiAgICBjb25zdCBwb2xpY2llcyA9IGRlZmF1bHRFeGVjdXRpb25Sb2xlUG9saWN5KHRoaXMsIHRoaXMucHJvcHMpO1xuICAgIHJldHVybiBwb2xpY2llcy5tYXAoKHBvbGljeSkgPT5cbiAgICAgIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICAgIGdyYW50ZWU6IGdyYW50ZWUsXG4gICAgICAgIHJlc291cmNlQXJuczogcG9saWN5LnJlc291cmNlcyxcbiAgICAgICAgYWN0aW9uczogcG9saWN5LmFjdGlvbnMsXG4gICAgICAgIGNvbmRpdGlvbnM6IHBvbGljeS5jb25kaXRpb25zLFxuICAgICAgICBzY29wZTogdGhpcyxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENmbkltYWdlIHJlc291cmNlIGZyb20gdGhlIHJlY2lwZSBhbmQgcHJvcHMgcHJvdmlkZWQuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wcyBpbnB1dCBmb3IgdGhlIGNvbnN0cnVjdFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVJbWFnZUZyb21SZWNpcGUocHJvcHM6IEltYWdlUHJvcHMpOiBbQ2ZuSW1hZ2UsIElSZWNpcGVCYXNlXSB7XG4gICAgY29uc3QgcmVjaXBlID0gcHJvcHMucmVjaXBlO1xuICAgIGlmIChJbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb24uaXNJbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb24odGhpcy5pbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb24pKSB7XG4gICAgICB0aGlzLmluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbi5fYmluZCh7IGlzQ29udGFpbmVyQnVpbGQ6IHJlY2lwZS5faXNDb250YWluZXJSZWNpcGUoKSB9KTtcbiAgICB9XG5cbiAgICBpZiAocmVjaXBlLl9pc0ltYWdlUmVjaXBlKCkgJiYgcmVjaXBlLl9pc0NvbnRhaW5lclJlY2lwZSgpKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcigndGhlIHJlY2lwZSBjYW5ub3QgYmUgYm90aCBhbiBJSW1hZ2VSZWNpcGUgYW5kIGFuIElDb250YWluZXJSZWNpcGUnLCB0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAoIXJlY2lwZS5faXNJbWFnZVJlY2lwZSgpICYmICFyZWNpcGUuX2lzQ29udGFpbmVyUmVjaXBlKCkpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCd0aGUgcmVjaXBlIG11c3QgZWl0aGVyIGJlIGFuIElJbWFnZVJlY2lwZSBvciBJQ29udGFpbmVyUmVjaXBlJywgdGhpcyk7XG4gICAgfVxuXG4gICAgY29uc3QgaW1hZ2UgPSBuZXcgQ2ZuSW1hZ2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgLi4uKHJlY2lwZS5faXNJbWFnZVJlY2lwZSgpICYmIHsgaW1hZ2VSZWNpcGVBcm46IHJlY2lwZS5pbWFnZVJlY2lwZUFybiB9KSxcbiAgICAgIC4uLihyZWNpcGUuX2lzQ29udGFpbmVyUmVjaXBlKCkgJiYgeyBjb250YWluZXJSZWNpcGVBcm46IHJlY2lwZS5jb250YWluZXJSZWNpcGVBcm4gfSksXG4gICAgICBpbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb25Bcm46IHRoaXMuaW5mcmFzdHJ1Y3R1cmVDb25maWd1cmF0aW9uLmluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbkFybixcbiAgICAgIGRpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb25Bcm46IHByb3BzLmRpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb24/LmRpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb25Bcm4sXG4gICAgICBleGVjdXRpb25Sb2xlOiB0aGlzLmV4ZWN1dGlvblJvbGU/LnJvbGVBcm4sXG4gICAgICBlbmhhbmNlZEltYWdlTWV0YWRhdGFFbmFibGVkOiBwcm9wcy5lbmhhbmNlZEltYWdlTWV0YWRhdGFFbmFibGVkLFxuICAgICAgbG9nZ2luZ0NvbmZpZ3VyYXRpb246IHRoaXMuYnVpbGRMb2dnaW5nQ29uZmlndXJhdGlvbihwcm9wcyksXG4gICAgICBpbWFnZVRlc3RzQ29uZmlndXJhdGlvbjogYnVpbGRJbWFnZVRlc3RzQ29uZmlndXJhdGlvbjxJbWFnZVByb3BzLCBDZm5JbWFnZS5JbWFnZVRlc3RzQ29uZmlndXJhdGlvblByb3BlcnR5PihcbiAgICAgICAgcHJvcHMsXG4gICAgICApLFxuICAgICAgaW1hZ2VTY2FubmluZ0NvbmZpZ3VyYXRpb246IGJ1aWxkSW1hZ2VTY2FubmluZ0NvbmZpZ3VyYXRpb248XG4gICAgICAgIEltYWdlUHJvcHMsXG4gICAgICAgIENmbkltYWdlLkltYWdlU2Nhbm5pbmdDb25maWd1cmF0aW9uUHJvcGVydHlcbiAgICAgID4odGhpcywgcHJvcHMpLFxuICAgICAgd29ya2Zsb3dzOiBidWlsZFdvcmtmbG93czxJbWFnZVByb3BzLCBDZm5JbWFnZS5Xb3JrZmxvd0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eVtdPihwcm9wcyksXG4gICAgICBkZWxldGlvblNldHRpbmdzOiB0aGlzLmJ1aWxkRGVsZXRpb25TZXR0aW5ncyhwcm9wcyksXG4gICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIFtpbWFnZSwgcmVjaXBlXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgdGhlIGxvZ2dpbmdDb25maWd1cmF0aW9uIHByb3BlcnR5IGludG8gdGhlIGBMb2dnaW5nQ29uZmlndXJhdGlvbmAgdHlwZSBpbiB0aGUgQ2xvdWRGb3JtYXRpb24gTDFcbiAgICogZGVmaW5pdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIFByb3BzIGlucHV0IGZvciB0aGUgY29uc3RydWN0XG4gICAqL1xuICBwcml2YXRlIGJ1aWxkTG9nZ2luZ0NvbmZpZ3VyYXRpb24ocHJvcHM6IEltYWdlUHJvcHMpOiBDZm5JbWFnZS5JbWFnZUxvZ2dpbmdDb25maWd1cmF0aW9uUHJvcGVydHkgfCB1bmRlZmluZWQge1xuICAgIGlmICghcHJvcHMubG9nR3JvdXApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgbG9nR3JvdXBOYW1lOiBwcm9wcy5sb2dHcm91cC5sb2dHcm91cE5hbWUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgdGhlIGRlbGV0aW9uU2V0dGluZ3MgcHJvcGVydHkgaW50byB0aGUgYERlbGV0aW9uU2V0dGluZ3NgIHR5cGUgaW4gdGhlIENsb3VkRm9ybWF0aW9uIEwxIGRlZmluaXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyBQcm9wcyBpbnB1dCBmb3IgdGhlIGNvbnN0cnVjdFxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZERlbGV0aW9uU2V0dGluZ3MocHJvcHM6IEltYWdlUHJvcHMpOiBDZm5JbWFnZS5EZWxldGlvblNldHRpbmdzUHJvcGVydHkgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5kZWxldGlvbkV4ZWN1dGlvblJvbGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4geyBleGVjdXRpb25Sb2xlOiBwcm9wcy5kZWxldGlvbkV4ZWN1dGlvblJvbGUucm9sZUFybiB9O1xuICB9XG59XG4iXX0=
|
package/lib/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export * from './component';
|
|
2
2
|
export * from './container-recipe';
|
|
3
3
|
export * from './distribution-configuration';
|
|
4
|
+
export * from './image';
|
|
4
5
|
export * from './image-pipeline';
|
|
5
6
|
export * from './image-recipe';
|
|
6
7
|
export * from './infrastructure-configuration';
|
|
7
8
|
export * from './lifecycle-policy';
|
|
8
9
|
export * from './workflow';
|
|
10
|
+
export * from './amazon-managed-image';
|
|
9
11
|
export * from './base-image';
|
|
10
12
|
export * from './os-version';
|
|
11
13
|
export * from './recipe-base';
|
package/lib/index.js
CHANGED
|
@@ -18,12 +18,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
__exportStar(require("./component"), exports);
|
|
19
19
|
__exportStar(require("./container-recipe"), exports);
|
|
20
20
|
__exportStar(require("./distribution-configuration"), exports);
|
|
21
|
+
__exportStar(require("./image"), exports);
|
|
21
22
|
__exportStar(require("./image-pipeline"), exports);
|
|
22
23
|
__exportStar(require("./image-recipe"), exports);
|
|
23
24
|
__exportStar(require("./infrastructure-configuration"), exports);
|
|
24
25
|
__exportStar(require("./lifecycle-policy"), exports);
|
|
25
26
|
__exportStar(require("./workflow"), exports);
|
|
27
|
+
__exportStar(require("./amazon-managed-image"), exports);
|
|
26
28
|
__exportStar(require("./base-image"), exports);
|
|
27
29
|
__exportStar(require("./os-version"), exports);
|
|
28
30
|
__exportStar(require("./recipe-base"), exports);
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsOENBQThDOzs7Ozs7Ozs7Ozs7Ozs7O0FBRTlDLDhDQUE0QjtBQUM1QixxREFBbUM7QUFDbkMsK0RBQTZDO0FBQzdDLDBDQUF3QjtBQUN4QixtREFBaUM7QUFDakMsaURBQStCO0FBQy9CLGlFQUErQztBQUMvQyxxREFBbUM7QUFDbkMsNkNBQTJCO0FBRTNCLHlEQUF1QztBQUN2QywrQ0FBNkI7QUFDN0IsK0NBQTZCO0FBQzdCLGdEQUE4QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFXUzo6SW1hZ2VCdWlsZGVyIENsb3VkRm9ybWF0aW9uIFJlc291cmNlczpcblxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWluZXItcmVjaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlzdHJpYnV0aW9uLWNvbmZpZ3VyYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlLXBpcGVsaW5lJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtcmVjaXBlJztcbmV4cG9ydCAqIGZyb20gJy4vaW5mcmFzdHJ1Y3R1cmUtY29uZmlndXJhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpZmVjeWNsZS1wb2xpY3knO1xuZXhwb3J0ICogZnJvbSAnLi93b3JrZmxvdyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYW1hem9uLW1hbmFnZWQtaW1hZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlLWltYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vb3MtdmVyc2lvbic7XG5leHBvcnQgKiBmcm9tICcuL3JlY2lwZS1iYXNlJztcbiJdfQ==
|
|
@@ -125,7 +125,7 @@ let InfrastructureConfiguration = (() => {
|
|
|
125
125
|
InfrastructureConfiguration = _classThis = _classDescriptor.value;
|
|
126
126
|
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
127
127
|
}
|
|
128
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.InfrastructureConfiguration", version: "2.
|
|
128
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-imagebuilder-alpha.InfrastructureConfiguration", version: "2.231.0-alpha.0" };
|
|
129
129
|
/** Uniquely identifies this class. */
|
|
130
130
|
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-imagebuilder-alpha.InfrastructureConfiguration';
|
|
131
131
|
/**
|
|
@@ -367,8 +367,8 @@ export declare class LifecyclePolicy extends LifecyclePolicyBase {
|
|
|
367
367
|
/**
|
|
368
368
|
* Generates the action property into the `Action` type in the CloudFormation L1 definition.
|
|
369
369
|
*
|
|
370
|
-
* @param
|
|
371
|
-
* @param
|
|
370
|
+
* @param resourceType The resource type of the lifecycle policy
|
|
371
|
+
* @param action The action being taken in the lifecycle policy rule
|
|
372
372
|
* @private
|
|
373
373
|
*/
|
|
374
374
|
private buildAction;
|
|
@@ -391,7 +391,7 @@ export declare class LifecyclePolicy extends LifecyclePolicyBase {
|
|
|
391
391
|
/**
|
|
392
392
|
* Validates a policy detail filter
|
|
393
393
|
*
|
|
394
|
-
* @param
|
|
394
|
+
* @param filter The lifecycle policy resource filter applied in the rule
|
|
395
395
|
* @private
|
|
396
396
|
*/
|
|
397
397
|
private validatePolicyDetailFilter;
|