@aws-cdk/aws-glue-alpha 2.219.0-alpha.0 → 2.220.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.
@@ -1,11 +1,38 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
7
35
  };
8
- var _a, _b;
9
36
  Object.defineProperty(exports, "__esModule", { value: true });
10
37
  exports.Workflow = exports.WorkflowBase = void 0;
11
38
  const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
@@ -22,6 +49,7 @@ const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
22
49
  * @see https://docs.aws.amazon.com/glue/latest/dg/about-triggers.html
23
50
  */
24
51
  class WorkflowBase extends cdk.Resource {
52
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.WorkflowBase", version: "2.220.0-alpha.0" };
25
53
  /**
26
54
  * Extract workflowName from arn
27
55
  */
@@ -275,8 +303,6 @@ class WorkflowBase extends cdk.Resource {
275
303
  }
276
304
  }
277
305
  exports.WorkflowBase = WorkflowBase;
278
- _a = JSII_RTTI_SYMBOL_1;
279
- WorkflowBase[_a] = { fqn: "@aws-cdk/aws-glue-alpha.WorkflowBase", version: "2.219.0-alpha.0" };
280
306
  /**
281
307
  * This module defines a construct for creating and managing AWS Glue Workflows and Triggers.
282
308
  *
@@ -307,77 +333,90 @@ WorkflowBase[_a] = { fqn: "@aws-cdk/aws-glue-alpha.WorkflowBase", version: "2.21
307
333
  * });
308
334
  * ```
309
335
  */
310
- let Workflow = class Workflow extends WorkflowBase {
311
- /**
312
- * Import a workflow from its name
313
- */
314
- static fromWorkflowName(scope, id, workflowName) {
315
- return this.fromWorkflowAttributes(scope, id, {
316
- workflowName,
317
- });
318
- }
319
- /**
320
- * Import an workflow from it's name
321
- */
322
- static fromWorkflowArn(scope, id, workflowArn) {
323
- return this.fromWorkflowAttributes(scope, id, {
324
- workflowName: this.extractNameFromArn(scope, workflowArn),
325
- workflowArn,
326
- });
327
- }
328
- /**
329
- * Import an existing workflow
330
- */
331
- static fromWorkflowAttributes(scope, id, attrs) {
332
- try {
333
- jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_WorkflowAttributes(attrs);
336
+ let Workflow = (() => {
337
+ let _classDecorators = [prop_injectable_1.propertyInjectable];
338
+ let _classDescriptor;
339
+ let _classExtraInitializers = [];
340
+ let _classThis;
341
+ let _classSuper = WorkflowBase;
342
+ var Workflow = class extends _classSuper {
343
+ static { _classThis = this; }
344
+ static {
345
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
346
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
347
+ Workflow = _classThis = _classDescriptor.value;
348
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
334
349
  }
335
- catch (error) {
336
- if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
337
- Error.captureStackTrace(error, this.fromWorkflowAttributes);
338
- }
339
- throw error;
350
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-glue-alpha.Workflow", version: "2.220.0-alpha.0" };
351
+ /** Uniquely identifies this class. */
352
+ static PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Workflow';
353
+ /**
354
+ * Import a workflow from its name
355
+ */
356
+ static fromWorkflowName(scope, id, workflowName) {
357
+ return this.fromWorkflowAttributes(scope, id, {
358
+ workflowName,
359
+ });
340
360
  }
341
- class Import extends WorkflowBase {
342
- constructor() {
343
- super(...arguments);
344
- this.workflowName = attrs.workflowName;
345
- this.workflowArn = this.buildWorkflowArn(scope, this.workflowName);
346
- }
361
+ /**
362
+ * Import an workflow from it's name
363
+ */
364
+ static fromWorkflowArn(scope, id, workflowArn) {
365
+ return this.fromWorkflowAttributes(scope, id, {
366
+ workflowName: this.extractNameFromArn(scope, workflowArn),
367
+ workflowArn,
368
+ });
347
369
  }
348
- return new Import(scope, id);
349
- }
350
- constructor(scope, id, props) {
351
- super(scope, id, {
352
- physicalName: props?.workflowName,
353
- });
354
- try {
355
- jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_WorkflowProps(props);
370
+ /**
371
+ * Import an existing workflow
372
+ */
373
+ static fromWorkflowAttributes(scope, id, attrs) {
374
+ try {
375
+ jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_WorkflowAttributes(attrs);
376
+ }
377
+ catch (error) {
378
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
379
+ Error.captureStackTrace(error, this.fromWorkflowAttributes);
380
+ }
381
+ throw error;
382
+ }
383
+ class Import extends WorkflowBase {
384
+ workflowName = attrs.workflowName;
385
+ workflowArn = this.buildWorkflowArn(scope, this.workflowName);
386
+ }
387
+ return new Import(scope, id);
356
388
  }
357
- catch (error) {
358
- if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
359
- Error.captureStackTrace(error, Workflow);
389
+ workflowName;
390
+ workflowArn;
391
+ constructor(scope, id, props) {
392
+ super(scope, id, {
393
+ physicalName: props?.workflowName,
394
+ });
395
+ try {
396
+ jsiiDeprecationWarnings._aws_cdk_aws_glue_alpha_WorkflowProps(props);
360
397
  }
361
- throw error;
398
+ catch (error) {
399
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
400
+ Error.captureStackTrace(error, Workflow);
401
+ }
402
+ throw error;
403
+ }
404
+ // Enhanced CDK Analytics Telemetry
405
+ (0, metadata_resource_1.addConstructMetadata)(this, props);
406
+ const resource = new aws_glue_1.CfnWorkflow(this, 'Resource', {
407
+ name: this.physicalName,
408
+ description: props?.description,
409
+ defaultRunProperties: props?.defaultRunProperties,
410
+ maxConcurrentRuns: props?.maxConcurrentRuns,
411
+ });
412
+ this.workflowName = this.getResourceNameAttribute(resource.ref);
413
+ this.workflowArn = this.buildWorkflowArn(this, this.workflowName);
362
414
  }
363
- // Enhanced CDK Analytics Telemetry
364
- (0, metadata_resource_1.addConstructMetadata)(this, props);
365
- const resource = new aws_glue_1.CfnWorkflow(this, 'Resource', {
366
- name: this.physicalName,
367
- description: props?.description,
368
- defaultRunProperties: props?.defaultRunProperties,
369
- maxConcurrentRuns: props?.maxConcurrentRuns,
370
- });
371
- this.workflowName = this.getResourceNameAttribute(resource.ref);
372
- this.workflowArn = this.buildWorkflowArn(this, this.workflowName);
373
- }
374
- };
415
+ static {
416
+ __runInitializers(_classThis, _classExtraInitializers);
417
+ }
418
+ };
419
+ return Workflow = _classThis;
420
+ })();
375
421
  exports.Workflow = Workflow;
376
- _b = JSII_RTTI_SYMBOL_1;
377
- Workflow[_b] = { fqn: "@aws-cdk/aws-glue-alpha.Workflow", version: "2.219.0-alpha.0" };
378
- /** Uniquely identifies this class. */
379
- Workflow.PROPERTY_INJECTION_ID = '@aws-cdk.aws-glue-alpha.Workflow';
380
- exports.Workflow = Workflow = __decorate([
381
- prop_injectable_1.propertyInjectable
382
- ], Workflow);
383
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFFeEMsbURBQStEO0FBQy9ELDRDQUdzQjtBQUN0Qix1REFTMkI7QUFDM0IsOEVBQThFO0FBQzlFLDBFQUEwRTtBQTJGMUU7Ozs7R0FJRztBQUNILE1BQXNCLFlBQWEsU0FBUSxHQUFHLENBQUMsUUFBUTtJQUNyRDs7T0FFRztJQUNPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxLQUEyQixFQUFFLFdBQW1CO1FBQ2xGLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUNqQyxXQUFXLEVBQ1gsR0FBRyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFlBQWEsQ0FBQztLQUNwRDtJQUtEOzs7Ozs7O09BT0c7SUFDSSxrQkFBa0IsQ0FBQyxFQUFVLEVBQUUsT0FBK0I7Ozs7Ozs7Ozs7UUFDbkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBVSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdkMsR0FBRyxPQUFPO1lBQ1YsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRCxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxTQUFTO1NBQzlDLENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0tBQ2hCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHdCQUF3QixDQUFDLEVBQVUsRUFBRSxPQUFvQzs7Ozs7Ozs7OztRQUM5RSxNQUFNLGFBQWEsR0FBRyxpQ0FBZSxDQUFDLElBQUksQ0FBQztZQUN6QyxNQUFNLEVBQUUsR0FBRztZQUNYLElBQUksRUFBRSxHQUFHO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBVSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdkMsR0FBRyxPQUFPO1lBQ1YsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLElBQUksRUFBRSxXQUFXO1lBQ2pCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRCxRQUFRLEVBQUUsYUFBYSxDQUFDLGdCQUFnQjtZQUN4QyxlQUFlLEVBQUUsT0FBTyxDQUFDLGVBQWUsSUFBSSxLQUFLO1NBQ2xELENBQUMsQ0FBQztRQUVILE9BQU8sT0FBTyxDQUFDO0tBQ2hCO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLHlCQUF5QixDQUFDLEVBQVUsRUFBRSxPQUFxQzs7Ozs7Ozs7OztRQUNoRixNQUFNLGNBQWMsR0FBRyxpQ0FBZSxDQUFDLElBQUksQ0FBQztZQUMxQyxNQUFNLEVBQUUsR0FBRztZQUNYLElBQUksRUFBRSxHQUFHO1lBQ1QsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2QyxHQUFHLE9BQU87WUFDVixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELFFBQVEsRUFBRSxjQUFjLENBQUMsZ0JBQWdCO1lBQ3pDLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZSxJQUFJLEtBQUs7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7S0FDaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0kseUJBQXlCLENBQUMsRUFBVSxFQUFFLE9BQXNDOzs7Ozs7Ozs7O1FBQ2pGLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3ZDLEdBQUcsT0FBTztZQUNWLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixJQUFJLEVBQUUsV0FBVztZQUNqQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0QsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQzNDLGVBQWUsRUFBRSxPQUFPLENBQUMsZUFBZSxJQUFJLEtBQUs7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7S0FDaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0kscUJBQXFCLENBQUMsRUFBVSxFQUFFLE9BQWtDOzs7Ozs7Ozs7O1FBQ3pFLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3ZDLEdBQUcsT0FBTztZQUNWLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixJQUFJLEVBQUUsT0FBTztZQUNiLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzRCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDO1lBQ2xFLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7S0FDaEI7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLHFCQUFxQixDQUFDLEVBQVUsRUFBRSxPQUFrQzs7Ozs7Ozs7OztRQUN6RSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN2QyxHQUFHLE9BQU87WUFDVixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLGFBQWE7WUFDbkIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNELFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUN4QyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsNEJBQTRCLENBQUMsT0FBTyxDQUFDO1lBQ2xFLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLFNBQVM7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUM7S0FDaEI7SUFFTyxZQUFZLENBQUMsTUFBYztRQUNqQyxnRUFBZ0U7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsNERBQTRELEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEcsQ0FBQzthQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsNkRBQTZELEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckcsQ0FBQztRQUVELE9BQU87WUFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPO1lBQzVCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDcEMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLHFCQUFxQixFQUFFLHlCQUF5QjtZQUM5RSxXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJO1NBQ2xDLENBQUM7S0FDSDtJQUVPLGVBQWUsQ0FBQyxLQUFnQztRQUN0RCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDN0QsZ0VBQWdFO1lBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUM3QyxNQUFNLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQywrREFBK0QsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2RyxDQUFDO2lCQUFNLElBQUksU0FBUyxDQUFDLEdBQUcsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2xELE1BQU0sSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDLGdFQUFnRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hHLENBQUM7WUFFRCwrREFBK0Q7WUFDL0QsSUFBSSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN0QyxNQUFNLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQyw0RUFBNEUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNwSCxDQUFDO1lBRUQsdUVBQXVFO1lBQ3ZFLElBQUksU0FBUyxDQUFDLFdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbkQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsb0ZBQW9GLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUgsQ0FBQztZQUVELE9BQU87Z0JBQ0wsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlLElBQUksb0NBQXdCLENBQUMsTUFBTTtnQkFDN0UsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxJQUFJLFNBQVM7Z0JBQzVDLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLFNBQVM7Z0JBQ25DLFdBQVcsRUFBRSxTQUFTLENBQUMsV0FBVyxJQUFJLFNBQVM7Z0JBQy9DLFVBQVUsRUFBRSxTQUFTLENBQUMsVUFBVSxJQUFJLFNBQVM7YUFDOUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTztZQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxJQUFJLDRCQUFnQixDQUFDLEdBQUc7WUFDL0csVUFBVSxFQUFFLFVBQVU7U0FDdkIsQ0FBQztLQUNIO0lBRU8sNEJBQTRCLENBQUMsS0FBZ0M7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDM0IsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVqRSxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDbEMsT0FBTztnQkFDTCxTQUFTLEVBQUUsZ0JBQWdCO2dCQUMzQixXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTztZQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsc0JBQXNCLENBQUMsU0FBUyxJQUFJLGdCQUFnQjtZQUNyRSxXQUFXLEVBQUUsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxrQkFBa0I7U0FDekYsQ0FBQztLQUNIO0lBRVMsZ0JBQWdCLENBQUMsS0FBMkIsRUFBRSxZQUFvQjtRQUMxRSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNuQyxPQUFPLEVBQUUsTUFBTTtZQUNmLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFlBQVksRUFBRSxZQUFZO1NBQzNCLENBQUMsQ0FBQztLQUNKOztBQWpPSCxvQ0FrT0M7OztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZCRztBQUVJLElBQU0sUUFBUSxHQUFkLE1BQU0sUUFBUyxTQUFRLFlBQVk7SUFJeEM7O09BRUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBMkIsRUFBRSxFQUFVLEVBQUUsWUFBb0I7UUFDMUYsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUM1QyxZQUFZO1NBQ2IsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBMkIsRUFBRSxFQUFVLEVBQUUsV0FBbUI7UUFDeEYsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUM1QyxZQUFZLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxXQUFXLENBQUM7WUFDekQsV0FBVztTQUNaLENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsc0JBQXNCLENBQUMsS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBeUI7Ozs7Ozs7Ozs7UUFDckcsTUFBTSxNQUFPLFNBQVEsWUFBWTtZQUFqQzs7Z0JBQ2tCLGlCQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztnQkFDbEMsZ0JBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoRixDQUFDO1NBQUE7UUFFRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztLQUM5QjtJQUtELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBcUI7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVk7U0FDbEMsQ0FBQyxDQUFDOzs7Ozs7K0NBekNNLFFBQVE7Ozs7UUEwQ2pCLG1DQUFtQztRQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLHNCQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNqRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDdkIsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXO1lBQy9CLG9CQUFvQixFQUFFLEtBQUssRUFBRSxvQkFBb0I7WUFDakQsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGlCQUFpQjtTQUM1QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUNuRTs7QUF0RFUsNEJBQVE7OztBQUNuQixzQ0FBc0M7QUFDZiw4QkFBcUIsR0FBVyxrQ0FBa0MsQUFBN0MsQ0FBOEM7bUJBRi9FLFFBQVE7SUFEcEIsb0NBQWtCO0dBQ04sUUFBUSxDQXVEcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2ZuV29ya2Zsb3csIENmblRyaWdnZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2x1ZSc7XG5pbXBvcnQge1xuICBDb25kaXRpb25Mb2dpY2FsT3BlcmF0b3IsXG4gIFByZWRpY2F0ZUxvZ2ljYWwsXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBY3Rpb24sXG4gIFRyaWdnZXJTY2hlZHVsZSxcbiAgT25EZW1hbmRUcmlnZ2VyT3B0aW9ucyxcbiAgV2Vla2x5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyxcbiAgRGFpbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zLFxuICBDdXN0b21TY2hlZHVsZWRUcmlnZ2VyT3B0aW9ucyxcbiAgTm90aWZ5RXZlbnRUcmlnZ2VyT3B0aW9ucyxcbiAgQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyxcbn0gZnJvbSAnLi90cmlnZ2VyLW9wdGlvbnMnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuXG4vKipcbiAqIFRoZSBiYXNlIGludGVyZmFjZSBmb3IgR2x1ZSBXb3JrZmxvd1xuICpcbiAqIEBzZWUge0BsaW5rIFdvcmtmbG93fVxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvd29ya2Zsb3dzX292ZXJ2aWV3Lmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJV29ya2Zsb3cgZXh0ZW5kcyBjZGsuSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB3b3JrZmxvd1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgd29ya2Zsb3dcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dBcm46IHN0cmluZztcblxuICAvKipcbiAgICogQWRkIGFuIG9uLWRlbWFuZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkT25EZW1hbmRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IE9uRGVtYW5kVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gZGFpbHktc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93XG4gICAqL1xuICBhZGREYWlseVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogRGFpbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlcjtcblxuICAvKipcbiAgICogQWRkIGFuIHdlZWtseS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZFdlZWtseVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogV2Vla2x5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBjdXN0b20tc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93XG4gICAqL1xuICBhZGRDdXN0b21TY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IEN1c3RvbVNjaGVkdWxlZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlcjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBpbXBvcnRpbmcgYSBXb3JrZmxvdyB1c2luZyBpdHMgYXR0cmlidXRlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93QXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgd29ya2Zsb3cgdG8gaW1wb3J0XG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHdvcmtmbG93IHRvIGltcG9ydFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlcml2ZWQgZnJvbSB0aGUgd29ya2Zsb3cgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dBcm4/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgZGVmaW5pbmcgYSBXb3JrZmxvd1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93UHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgd29ya2Zsb3dcbiAgICpcbiAgICogQGRlZmF1bHQgLSBhIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBkZXNjcmlwdGlvbiBvZiB0aGUgd29ya2Zsb3dcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbWFwIG9mIHByb3BlcnRpZXMgdG8gdXNlIHdoZW4gdGhpcyB3b3JrZmxvdyBpcyBleGVjdXRlZFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlZmF1bHQgcnVuIHByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRSdW5Qcm9wZXJ0aWVzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbmN1cnJlbnQgcnVucyBhbGxvd2VkIGZvciB0aGUgd29ya2Zsb3dcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBsaW1pdFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29uY3VycmVudFJ1bnM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQmFzZSBhYnN0cmFjdCBjbGFzcyBmb3IgV29ya2Zsb3dcbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy9hYm91dC10cmlnZ2Vycy5odG1sXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBXb3JrZmxvd0Jhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJV29ya2Zsb3cge1xuICAvKipcbiAgICogRXh0cmFjdCB3b3JrZmxvd05hbWUgZnJvbSBhcm5cbiAgICovXG4gIHByb3RlY3RlZCBzdGF0aWMgZXh0cmFjdE5hbWVGcm9tQXJuKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgd29ya2Zsb3dBcm46IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNkay5TdGFjay5vZihzY29wZSkuc3BsaXRBcm4oXG4gICAgICB3b3JrZmxvd0FybixcbiAgICAgIGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSkucmVzb3VyY2VOYW1lITtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtmbG93QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBvbi1kZW1hbmQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRPbkRlbWFuZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogT25EZW1hbmRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnT05fREVNQU5EJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24gfHwgdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgZGFpbHktc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkRGFpbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IERhaWx5U2NoZWR1bGVUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IGRhaWx5U2NoZWR1bGUgPSBUcmlnZ2VyU2NoZWR1bGUuY3Jvbih7XG4gICAgICBtaW51dGU6ICcwJyxcbiAgICAgIGhvdXI6ICcwJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnU0NIRURVTEVEJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgc2NoZWR1bGU6IGRhaWx5U2NoZWR1bGUuZXhwcmVzc2lvblN0cmluZyxcbiAgICAgIHN0YXJ0T25DcmVhdGlvbjogb3B0aW9ucy5zdGFydE9uQ3JlYXRpb24gPz8gZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB3ZWVrbHktc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkV2Vla2x5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBXZWVrbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3Qgd2Vla2x5U2NoZWR1bGUgPSBUcmlnZ2VyU2NoZWR1bGUuY3Jvbih7XG4gICAgICBtaW51dGU6ICcwJyxcbiAgICAgIGhvdXI6ICcwJyxcbiAgICAgIHdlZWtEYXk6ICdTVU4nLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdTQ0hFRFVMRUQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBzY2hlZHVsZTogd2Vla2x5U2NoZWR1bGUuZXhwcmVzc2lvblN0cmluZyxcbiAgICAgIHN0YXJ0T25DcmVhdGlvbjogb3B0aW9ucy5zdGFydE9uQ3JlYXRpb24gPz8gZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBjdXN0b20tc2NoZWR1bGVkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBDdXN0b21TY2hlZHVsZWRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnU0NIRURVTEVEJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgc2NoZWR1bGU6IG9wdGlvbnMuc2NoZWR1bGUuZXhwcmVzc2lvblN0cmluZyxcbiAgICAgIHN0YXJ0T25DcmVhdGlvbjogb3B0aW9ucy5zdGFydE9uQ3JlYXRpb24gPz8gZmFsc2UsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gRXZlbnQgQnJpZGdlIGJhc2VkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTm90aWZ5RXZlbnRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IE5vdGlmeUV2ZW50VHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ0VWRU5UJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgZXZlbnRCYXRjaGluZ0NvbmRpdGlvbjogdGhpcy5yZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKG9wdGlvbnMpLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24gPz8gdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRyaWdnZXI7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgQ29uZGl0aW9uIChQcmVkaWNhdGUpIGJhc2VkIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93LlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIGlkIG9mIHRoZSB0cmlnZ2VyLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgKiBAdGhyb3dzIElmIGJvdGggam9iIGFuZCBjcmF3bGVyIGFyZSBwcm92aWRlZCwgb3IgaWYgbmVpdGhlciBqb2Igbm9yIGNyYXdsZXIgaXMgcHJvdmlkZWQgZm9yIGFueSBjb25kaXRpb24uXG4gICAqIEB0aHJvd3MgSWYgYSBqb2IgaXMgcHJvdmlkZWQgd2l0aG91dCBhIGpvYiBzdGF0ZSwgb3IgaWYgYSBjcmF3bGVyIGlzIHByb3ZpZGVkIHdpdGhvdXQgYSBjcmF3bGVyIHN0YXRlIGZvciBhbnkgY29uZGl0aW9uLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZENvbmRpdGlvbmFsVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBDb25kaXRpb25hbFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdDT05ESVRJT05BTCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHByZWRpY2F0ZTogdGhpcy5yZW5kZXJQcmVkaWNhdGUob3B0aW9ucyksXG4gICAgICBldmVudEJhdGNoaW5nQ29uZGl0aW9uOiB0aGlzLnJlbmRlckV2ZW50QmF0Y2hpbmdDb25kaXRpb24ob3B0aW9ucyksXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbiA/PyB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyQWN0aW9uKGFjdGlvbjogQWN0aW9uKTogQ2ZuVHJpZ2dlci5BY3Rpb25Qcm9wZXJ0eSB7XG4gICAgLy8gVmFsaWRhdGUgdGhhdCBlaXRoZXIgam9iIG9yIGNyYXdsZXIgaXMgcHJvdmlkZWQsIGJ1dCBub3QgYm90aFxuICAgIGlmICghYWN0aW9uLmpvYiAmJiAhYWN0aW9uLmNyYXdsZXIpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGVpdGhlciBhIGpvYiBvciBhIGNyYXdsZXIgZm9yIHRoZSBhY3Rpb24uJywgdGhpcyk7XG4gICAgfSBlbHNlIGlmIChhY3Rpb24uam9iICYmIGFjdGlvbi5jcmF3bGVyKSB7XG4gICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcignWW91IGNhbm5vdCBwcm92aWRlIGJvdGggYSBqb2IgYW5kIGEgY3Jhd2xlciBmb3IgdGhlIGFjdGlvbi4nLCB0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgam9iTmFtZTogYWN0aW9uLmpvYj8uam9iTmFtZSxcbiAgICAgIGFyZ3VtZW50czogYWN0aW9uLmFyZ3VtZW50cyxcbiAgICAgIHRpbWVvdXQ6IGFjdGlvbi50aW1lb3V0Py50b01pbnV0ZXMoKSxcbiAgICAgIHNlY3VyaXR5Q29uZmlndXJhdGlvbjogYWN0aW9uLnNlY3VyaXR5Q29uZmlndXJhdGlvbj8uc2VjdXJpdHlDb25maWd1cmF0aW9uTmFtZSxcbiAgICAgIGNyYXdsZXJOYW1lOiBhY3Rpb24uY3Jhd2xlcj8ubmFtZSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJQcmVkaWNhdGUocHJvcHM6IENvbmRpdGlvbmFsVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyLlByZWRpY2F0ZVByb3BlcnR5IHtcbiAgICBjb25zdCBjb25kaXRpb25zID0gcHJvcHMucHJlZGljYXRlLmNvbmRpdGlvbnM/Lm1hcChjb25kaXRpb24gPT4ge1xuICAgICAgLy8gVmFsaWRhdGUgdGhhdCBlaXRoZXIgam9iIG9yIGNyYXdsZXIgaXMgcHJvdmlkZWQsIGJ1dCBub3QgYm90aFxuICAgICAgaWYgKCFjb25kaXRpb24uam9iICYmICFjb25kaXRpb24uY3Jhd2xlck5hbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgZWl0aGVyIGEgam9iIG9yIGEgY3Jhd2xlciBmb3IgdGhlIGNvbmRpdGlvbi4nLCB0aGlzKTtcbiAgICAgIH0gZWxzZSBpZiAoY29uZGl0aW9uLmpvYiAmJiBjb25kaXRpb24uY3Jhd2xlck5hbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ1lvdSBjYW5ub3QgcHJvdmlkZSBib3RoIGEgam9iIGFuZCBhIGNyYXdsZXIgZm9yIHRoZSBjb25kaXRpb24uJywgdGhpcyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgaWYgam9iIGlzIHByb3ZpZGVkLCBqb2Igc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5zdGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcignSWYgeW91IHByb3ZpZGUgYSBqb2IgZm9yIHRoZSBjb25kaXRpb24sIHlvdSBtdXN0IGFsc28gcHJvdmlkZSBhIGpvYiBzdGF0ZS4nLCB0aGlzKTtcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGUgdGhhdCBpZiBjcmF3bGVyIGlzIHByb3ZpZGVkLCBjcmF3bGVyIHN0YXRlIGlzIGFsc28gcHJvdmlkZWRcbiAgICAgIGlmIChjb25kaXRpb24uY3Jhd2xlck5hbWUgJiYgIWNvbmRpdGlvbi5jcmF3bFN0YXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdJZiB5b3UgcHJvdmlkZSBhIGNyYXdsZXIgZm9yIHRoZSBjb25kaXRpb24sIHlvdSBtdXN0IGFsc28gcHJvdmlkZSBhIGNyYXdsZXIgc3RhdGUuJywgdGhpcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxvZ2ljYWxPcGVyYXRvcjogY29uZGl0aW9uLmxvZ2ljYWxPcGVyYXRvciA/PyBDb25kaXRpb25Mb2dpY2FsT3BlcmF0b3IuRVFVQUxTLFxuICAgICAgICBqb2JOYW1lOiBjb25kaXRpb24uam9iPy5qb2JOYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgc3RhdGU6IGNvbmRpdGlvbi5zdGF0ZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIGNyYXdsZXJOYW1lOiBjb25kaXRpb24uY3Jhd2xlck5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICBjcmF3bFN0YXRlOiBjb25kaXRpb24uY3Jhd2xTdGF0ZSA/PyB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2ljYWw6IHByb3BzLnByZWRpY2F0ZS5jb25kaXRpb25zPy5sZW5ndGggPT09IDEgPyB1bmRlZmluZWQgOiBwcm9wcy5wcmVkaWNhdGUubG9naWNhbCA/PyBQcmVkaWNhdGVMb2dpY2FsLkFORCxcbiAgICAgIGNvbmRpdGlvbnM6IGNvbmRpdGlvbnMsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihwcm9wczogTm90aWZ5RXZlbnRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIuRXZlbnRCYXRjaGluZ0NvbmRpdGlvblByb3BlcnR5IHtcbiAgICBjb25zdCBkZWZhdWx0QmF0Y2hTaXplID0gMTtcbiAgICBjb25zdCBkZWZhdWx0QmF0Y2hXaW5kb3cgPSBjZGsuRHVyYXRpb24uc2Vjb25kcyg5MDApLnRvU2Vjb25kcygpO1xuXG4gICAgaWYgKCFwcm9wcy5ldmVudEJhdGNoaW5nQ29uZGl0aW9uKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBiYXRjaFNpemU6IGRlZmF1bHRCYXRjaFNpemUsXG4gICAgICAgIGJhdGNoV2luZG93OiBkZWZhdWx0QmF0Y2hXaW5kb3csXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBiYXRjaFNpemU6IHByb3BzLmV2ZW50QmF0Y2hpbmdDb25kaXRpb24uYmF0Y2hTaXplIHx8IGRlZmF1bHRCYXRjaFNpemUsXG4gICAgICBiYXRjaFdpbmRvdzogcHJvcHMuZXZlbnRCYXRjaGluZ0NvbmRpdGlvbi5iYXRjaFdpbmRvdz8udG9TZWNvbmRzKCkgfHwgZGVmYXVsdEJhdGNoV2luZG93LFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRXb3JrZmxvd0FybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIHdvcmtmbG93TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dsdWUnLFxuICAgICAgcmVzb3VyY2U6ICd3b3JrZmxvdycsXG4gICAgICByZXNvdXJjZU5hbWU6IHdvcmtmbG93TmFtZSxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYSBjb25zdHJ1Y3QgZm9yIGNyZWF0aW5nIGFuZCBtYW5hZ2luZyBBV1MgR2x1ZSBXb3JrZmxvd3MgYW5kIFRyaWdnZXJzLlxuICpcbiAqIEFXUyBHbHVlIFdvcmtmbG93cyBhcmUgb3JjaGVzdHJhdGlvbiBzZXJ2aWNlcyB0aGF0IGFsbG93IHlvdSB0byBjcmVhdGUsIG1hbmFnZSwgYW5kIG1vbml0b3IgY29tcGxleCBleHRyYWN0LCB0cmFuc2Zvcm0sIGFuZCBsb2FkIChFVEwpIGFjdGl2aXRpZXMgaW52b2x2aW5nIG11bHRpcGxlIGNyYXdsZXJzLCBqb2JzLCBhbmQgdHJpZ2dlcnMuIFdvcmtmbG93cyBhcmUgZGVzaWduZWQgdG8gYWxsb3cgeW91IHRvIG1hbmFnZSBpbnRlcmRlcGVuZGVudCBqb2JzIGFuZCBjcmF3bGVycyBhcyBhIHNpbmdsZSB1bml0LCBtYWtpbmcgaXQgZWFzaWVyIHRvIG9yY2hlc3RyYXRlIGFuZCBtb25pdG9yIGNvbXBsZXggRVRMIHBpcGVsaW5lcy5cbiAqXG4gKiBUcmlnZ2VycyBhcmUgdXNlZCB0byBpbml0aWF0ZSBhbiBBV1MgR2x1ZSBXb3JrZmxvdy4gWW91IGNhbiBjb25maWd1cmUgZGlmZmVyZW50IHR5cGVzIG9mIHRyaWdnZXJzLCBzdWNoIGFzIG9uLWRlbWFuZCwgc2NoZWR1bGVkLCBldmVudC1iYXNlZCwgb3IgY29uZGl0aW9uYWwgdHJpZ2dlcnMsIHRvIHN0YXJ0IHlvdXIgV29ya2Zsb3cgYmFzZWQgb24gc3BlY2lmaWMgY29uZGl0aW9ucyBvciBldmVudHMuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvd29ya2Zsb3dzX292ZXJ2aWV3Lmh0bWxcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL2Fib3V0LXRyaWdnZXJzLmh0bWxcbiAqXG4gKiAjIyBVc2FnZSBFeGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcbiAqIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ1Rlc3RTdGFjaycpO1xuICpcbiAqIC8vIENyZWF0ZSBhIEdsdWUgSm9iXG4gKiBkZWNsYXJlIGNvbnN0IHJvbGU6IGlhbS5JUm9sZTtcbiAqIGRlY2xhcmUgY29uc3Qgc2NyaXB0OiBnbHVlLkNvZGU7XG4gKiBjb25zdCBqb2IgPSBuZXcgZ2x1ZS5QeVNwYXJrU3RyZWFtaW5nSm9iKHN0YWNrLCAnSW1wb3J0ZWRKb2InLCB7IHJvbGUsIHNjcmlwdCB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgYSBHbHVlIFdvcmtmbG93XG4gKiBjb25zdCB3b3JrZmxvdyA9IG5ldyBnbHVlLldvcmtmbG93KHN0YWNrLCAnVGVzdFdvcmtmbG93Jyk7XG4gKlxuICogLy8gQWRkIGFuIG9uLWRlbWFuZCB0cmlnZ2VyIHRvIHRoZSBXb3JrZmxvd1xuICogd29ya2Zsb3cuYWRkT25EZW1hbmRUcmlnZ2VyKCdPbkRlbWFuZFRyaWdnZXInLCB7XG4gKiAgIGFjdGlvbnM6IFt7IGpvYjogam9iIH1dLFxuICogfSk7XG4gKiBgYGBcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFdvcmtmbG93IGV4dGVuZHMgV29ya2Zsb3dCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2x1ZS1hbHBoYS5Xb3JrZmxvdyc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhIHdvcmtmbG93IGZyb20gaXRzIG5hbWVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVdvcmtmbG93TmFtZShzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHdvcmtmbG93TmFtZTogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tV29ya2Zsb3dBdHRyaWJ1dGVzKHNjb3BlLCBpZCwge1xuICAgICAgd29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiB3b3JrZmxvdyBmcm9tIGl0J3MgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2Zsb3dBcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCB3b3JrZmxvd0Fybjogc3RyaW5nKTogSVdvcmtmbG93IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tV29ya2Zsb3dBdHRyaWJ1dGVzKHNjb3BlLCBpZCwge1xuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLmV4dHJhY3ROYW1lRnJvbUFybihzY29wZSwgd29ya2Zsb3dBcm4pLFxuICAgICAgd29ya2Zsb3dBcm4sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIHdvcmtmbG93XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogV29ya2Zsb3dBdHRyaWJ1dGVzKTogSVdvcmtmbG93IHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBXb3JrZmxvd0Jhc2Uge1xuICAgICAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93TmFtZSA9IGF0dHJzLndvcmtmbG93TmFtZTtcbiAgICAgIHB1YmxpYyByZWFkb25seSB3b3JrZmxvd0FybiA9IHRoaXMuYnVpbGRXb3JrZmxvd0FybihzY29wZSwgdGhpcy53b3JrZmxvd05hbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB3b3JrZmxvd0Fybjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBXb3JrZmxvd1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzPy53b3JrZmxvd05hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5Xb3JrZmxvdyh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcz8uZGVzY3JpcHRpb24sXG4gICAgICBkZWZhdWx0UnVuUHJvcGVydGllczogcHJvcHM/LmRlZmF1bHRSdW5Qcm9wZXJ0aWVzLFxuICAgICAgbWF4Q29uY3VycmVudFJ1bnM6IHByb3BzPy5tYXhDb25jdXJyZW50UnVucyxcbiAgICB9KTtcblxuICAgIHRoaXMud29ya2Zsb3dOYW1lID0gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUocmVzb3VyY2UucmVmKTtcbiAgICB0aGlzLndvcmtmbG93QXJuID0gdGhpcy5idWlsZFdvcmtmbG93QXJuKHRoaXMsIHRoaXMud29ya2Zsb3dOYW1lKTtcbiAgfVxufVxuIl19
422
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3b3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBd0M7QUFFeEMsbURBQStEO0FBQy9ELDRDQUdzQjtBQUN0Qix1REFTMkI7QUFDM0IsOEVBQThFO0FBQzlFLDBFQUEwRTtBQTJGMUU7Ozs7R0FJRztBQUNILE1BQXNCLFlBQWEsU0FBUSxHQUFHLENBQUMsUUFBUTs7SUFDckQ7O09BRUc7SUFDTyxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBMkIsRUFBRSxXQUFtQjtRQUNsRixPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FDakMsV0FBVyxFQUNYLEdBQUcsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxZQUFhLENBQUM7S0FDcEQ7SUFLRDs7Ozs7OztPQU9HO0lBQ0ksa0JBQWtCLENBQUMsRUFBVSxFQUFFLE9BQStCOzs7Ozs7Ozs7O1FBQ25FLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3ZDLEdBQUcsT0FBTztZQUNWLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixJQUFJLEVBQUUsV0FBVztZQUNqQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0QsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksU0FBUztTQUM5QyxDQUFDLENBQUM7UUFFSCxPQUFPLE9BQU8sQ0FBQztLQUNoQjtJQUVEOzs7Ozs7O09BT0c7SUFDSSx3QkFBd0IsQ0FBQyxFQUFVLEVBQUUsT0FBb0M7Ozs7Ozs7Ozs7UUFDOUUsTUFBTSxhQUFhLEdBQUcsaUNBQWUsQ0FBQyxJ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QUFROzs7O1lBMENqQixtQ0FBbUM7WUFDbkMsSUFBQSx3Q0FBb0IsRUFBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFbEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxzQkFBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ2pELElBQUksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDdkIsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXO2dCQUMvQixvQkFBb0IsRUFBRSxLQUFLLEVBQUUsb0JBQW9CO2dCQUNqRCxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsaUJBQWlCO2FBQzVDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ25FOztZQXREVSx1REFBUTs7Ozs7QUFBUiw0QkFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDZm5Xb3JrZmxvdywgQ2ZuVHJpZ2dlciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1nbHVlJztcbmltcG9ydCB7XG4gIENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvcixcbiAgUHJlZGljYXRlTG9naWNhbCxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIEFjdGlvbixcbiAgVHJpZ2dlclNjaGVkdWxlLFxuICBPbkRlbWFuZFRyaWdnZXJPcHRpb25zLFxuICBXZWVrbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zLFxuICBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMsXG4gIEN1c3RvbVNjaGVkdWxlZFRyaWdnZXJPcHRpb25zLFxuICBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zLFxuICBDb25kaXRpb25hbFRyaWdnZXJPcHRpb25zLFxufSBmcm9tICcuL3RyaWdnZXItb3B0aW9ucyc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5cbi8qKlxuICogVGhlIGJhc2UgaW50ZXJmYWNlIGZvciBHbHVlIFdvcmtmbG93XG4gKlxuICogQHNlZSB7QGxpbmsgV29ya2Zsb3d9XG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy93b3JrZmxvd3Nfb3ZlcnZpZXcuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElXb3JrZmxvdyBleHRlbmRzIGNkay5JUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHdvcmtmbG93XG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB3b3JrZmxvd1xuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIHdvcmtmbG93XG4gICAqL1xuICBhZGRPbkRlbWFuZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogT25EZW1hbmRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXI7XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBkYWlseS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZERhaWx5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBEYWlseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xuXG4gIC8qKlxuICAgKiBBZGQgYW4gd2Vla2x5LXNjaGVkdWxlZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvd1xuICAgKi9cbiAgYWRkV2Vla2x5U2NoZWR1bGVkVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBXZWVrbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlcjtcblxuICAvKipcbiAgICogQWRkIGFuIGN1c3RvbS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3dcbiAgICovXG4gIGFkZEN1c3RvbVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogQ3VzdG9tU2NoZWR1bGVkVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGltcG9ydGluZyBhIFdvcmtmbG93IHVzaW5nIGl0cyBhdHRyaWJ1dGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSB3b3JrZmxvdyB0byBpbXBvcnRcbiAgICovXG4gIHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgd29ya2Zsb3cgdG8gaW1wb3J0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVyaXZlZCBmcm9tIHRoZSB3b3JrZmxvdyBuYW1lXG4gICAqL1xuICByZWFkb25seSB3b3JrZmxvd0Fybj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBhIFdvcmtmbG93XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV29ya2Zsb3dQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZFxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2Zsb3dOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBtYXAgb2YgcHJvcGVydGllcyB0byB1c2Ugd2hlbiB0aGlzIHdvcmtmbG93IGlzIGV4ZWN1dGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVmYXVsdCBydW4gcHJvcGVydGllc1xuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFJ1blByb3BlcnRpZXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBydW5zIGFsbG93ZWQgZm9yIHRoZSB3b3JrZmxvd1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGxpbWl0XG4gICAqL1xuICByZWFkb25seSBtYXhDb25jdXJyZW50UnVucz86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCYXNlIGFic3RyYWN0IGNsYXNzIGZvciBXb3JrZmxvd1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dsdWUvbGF0ZXN0L2RnL2Fib3V0LXRyaWdnZXJzLmh0bWxcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdvcmtmbG93QmFzZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElXb3JrZmxvdyB7XG4gIC8qKlxuICAgKiBFeHRyYWN0IHdvcmtmbG93TmFtZSBmcm9tIGFyblxuICAgKi9cbiAgcHJvdGVjdGVkIHN0YXRpYyBleHRyYWN0TmFtZUZyb21Bcm4oc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCB3b3JrZmxvd0Fybjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHNjb3BlKS5zcGxpdEFybihcbiAgICAgIHdvcmtmbG93QXJuLFxuICAgICAgY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKS5yZXNvdXJjZU5hbWUhO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHdvcmtmbG93TmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgd29ya2Zsb3dBcm46IHN0cmluZztcblxuICAvKipcbiAgICogQWRkIGFuIG9uLWRlbWFuZCB0cmlnZ2VyIHRvIHRoZSB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIGlkIFRoZSBpZCBvZiB0aGUgdHJpZ2dlci5cbiAgICogQHBhcmFtIG9wdGlvbnMgQWRkaXRpb25hbCBvcHRpb25zIGZvciB0aGUgdHJpZ2dlci5cbiAgICogQHRocm93cyBJZiBib3RoIGpvYiBhbmQgY3Jhd2xlciBhcmUgcHJvdmlkZWQsIG9yIGlmIG5laXRoZXIgam9iIG5vciBjcmF3bGVyIGlzIHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBUaGUgY3JlYXRlZCBDZm5UcmlnZ2VyIHJlc291cmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE9uRGVtYW5kVHJpZ2dlcihpZDogc3RyaW5nLCBvcHRpb25zOiBPbkRlbWFuZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdPTl9ERU1BTkQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBkYWlseS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGREYWlseVNjaGVkdWxlZFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogRGFpbHlTY2hlZHVsZVRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgZGFpbHlTY2hlZHVsZSA9IFRyaWdnZXJTY2hlZHVsZS5jcm9uKHtcbiAgICAgIG1pbnV0ZTogJzAnLFxuICAgICAgaG91cjogJzAnLFxuICAgIH0pO1xuXG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdTQ0hFRFVMRUQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBzY2hlZHVsZTogZGFpbHlTY2hlZHVsZS5leHByZXNzaW9uU3RyaW5nLFxuICAgICAgc3RhcnRPbkNyZWF0aW9uOiBvcHRpb25zLnN0YXJ0T25DcmVhdGlvbiA/PyBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHdlZWtseS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRXZWVrbHlTY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IFdlZWtseVNjaGVkdWxlVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB3ZWVrbHlTY2hlZHVsZSA9IFRyaWdnZXJTY2hlZHVsZS5jcm9uKHtcbiAgICAgIG1pbnV0ZTogJzAnLFxuICAgICAgaG91cjogJzAnLFxuICAgICAgd2Vla0RheTogJ1NVTicsXG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ1NDSEVEVUxFRCcsXG4gICAgICBhY3Rpb25zOiBvcHRpb25zLmFjdGlvbnM/Lm1hcCh0aGlzLnJlbmRlckFjdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHNjaGVkdWxlOiB3ZWVrbHlTY2hlZHVsZS5leHByZXNzaW9uU3RyaW5nLFxuICAgICAgc3RhcnRPbkNyZWF0aW9uOiBvcHRpb25zLnN0YXJ0T25DcmVhdGlvbiA/PyBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGN1c3RvbS1zY2hlZHVsZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDdXN0b21TY2hlZHVsZWRUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IEN1c3RvbVNjaGVkdWxlZFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlciB7XG4gICAgY29uc3QgdHJpZ2dlciA9IG5ldyBDZm5UcmlnZ2VyKHRoaXMsIGlkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgd29ya2Zsb3dOYW1lOiB0aGlzLndvcmtmbG93TmFtZSxcbiAgICAgIHR5cGU6ICdTQ0hFRFVMRUQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBzY2hlZHVsZTogb3B0aW9ucy5zY2hlZHVsZS5leHByZXNzaW9uU3RyaW5nLFxuICAgICAgc3RhcnRPbkNyZWF0aW9uOiBvcHRpb25zLnN0YXJ0T25DcmVhdGlvbiA/PyBmYWxzZSxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBFdmVudCBCcmlkZ2UgYmFzZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZC5cbiAgICogQHJldHVybnMgVGhlIGNyZWF0ZWQgQ2ZuVHJpZ2dlciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBhZGROb3RpZnlFdmVudFRyaWdnZXIoaWQ6IHN0cmluZywgb3B0aW9uczogTm90aWZ5RXZlbnRUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIge1xuICAgIGNvbnN0IHRyaWdnZXIgPSBuZXcgQ2ZuVHJpZ2dlcih0aGlzLCBpZCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHdvcmtmbG93TmFtZTogdGhpcy53b3JrZmxvd05hbWUsXG4gICAgICB0eXBlOiAnRVZFTlQnLFxuICAgICAgYWN0aW9uczogb3B0aW9ucy5hY3Rpb25zPy5tYXAodGhpcy5yZW5kZXJBY3Rpb24uYmluZCh0aGlzKSksXG4gICAgICBldmVudEJhdGNoaW5nQ29uZGl0aW9uOiB0aGlzLnJlbmRlckV2ZW50QmF0Y2hpbmdDb25kaXRpb24ob3B0aW9ucyksXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9ucy5kZXNjcmlwdGlvbiA/PyB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdHJpZ2dlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBDb25kaXRpb24gKFByZWRpY2F0ZSkgYmFzZWQgdHJpZ2dlciB0byB0aGUgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIHRyaWdnZXIuXG4gICAqIEBwYXJhbSBvcHRpb25zIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIHRyaWdnZXIuXG4gICAqIEB0aHJvd3MgSWYgYm90aCBqb2IgYW5kIGNyYXdsZXIgYXJlIHByb3ZpZGVkLCBvciBpZiBuZWl0aGVyIGpvYiBub3IgY3Jhd2xlciBpcyBwcm92aWRlZCBmb3IgYW55IGNvbmRpdGlvbi5cbiAgICogQHRocm93cyBJZiBhIGpvYiBpcyBwcm92aWRlZCB3aXRob3V0IGEgam9iIHN0YXRlLCBvciBpZiBhIGNyYXdsZXIgaXMgcHJvdmlkZWQgd2l0aG91dCBhIGNyYXdsZXIgc3RhdGUgZm9yIGFueSBjb25kaXRpb24uXG4gICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIENmblRyaWdnZXIgcmVzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkQ29uZGl0aW9uYWxUcmlnZ2VyKGlkOiBzdHJpbmcsIG9wdGlvbnM6IENvbmRpdGlvbmFsVHJpZ2dlck9wdGlvbnMpOiBDZm5UcmlnZ2VyIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gbmV3IENmblRyaWdnZXIodGhpcywgaWQsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMud29ya2Zsb3dOYW1lLFxuICAgICAgdHlwZTogJ0NPTkRJVElPTkFMJyxcbiAgICAgIGFjdGlvbnM6IG9wdGlvbnMuYWN0aW9ucz8ubWFwKHRoaXMucmVuZGVyQWN0aW9uLmJpbmQodGhpcykpLFxuICAgICAgcHJlZGljYXRlOiB0aGlzLnJlbmRlclByZWRpY2F0ZShvcHRpb25zKSxcbiAgICAgIGV2ZW50QmF0Y2hpbmdDb25kaXRpb246IHRoaXMucmVuZGVyRXZlbnRCYXRjaGluZ0NvbmRpdGlvbihvcHRpb25zKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb25zLmRlc2NyaXB0aW9uID8/IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHJldHVybiB0cmlnZ2VyO1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJBY3Rpb24oYWN0aW9uOiBBY3Rpb24pOiBDZm5UcmlnZ2VyLkFjdGlvblByb3BlcnR5IHtcbiAgICAvLyBWYWxpZGF0ZSB0aGF0IGVpdGhlciBqb2Igb3IgY3Jhd2xlciBpcyBwcm92aWRlZCwgYnV0IG5vdCBib3RoXG4gICAgaWYgKCFhY3Rpb24uam9iICYmICFhY3Rpb24uY3Jhd2xlcikge1xuICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgZWl0aGVyIGEgam9iIG9yIGEgY3Jhd2xlciBmb3IgdGhlIGFjdGlvbi4nLCB0aGlzKTtcbiAgICB9IGVsc2UgaWYgKGFjdGlvbi5qb2IgJiYgYWN0aW9uLmNyYXdsZXIpIHtcbiAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdZb3UgY2Fubm90IHByb3ZpZGUgYm90aCBhIGpvYiBhbmQgYSBjcmF3bGVyIGZvciB0aGUgYWN0aW9uLicsIHRoaXMpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBqb2JOYW1lOiBhY3Rpb24uam9iPy5qb2JOYW1lLFxuICAgICAgYXJndW1lbnRzOiBhY3Rpb24uYXJndW1lbnRzLFxuICAgICAgdGltZW91dDogYWN0aW9uLnRpbWVvdXQ/LnRvTWludXRlcygpLFxuICAgICAgc2VjdXJpdHlDb25maWd1cmF0aW9uOiBhY3Rpb24uc2VjdXJpdHlDb25maWd1cmF0aW9uPy5zZWN1cml0eUNvbmZpZ3VyYXRpb25OYW1lLFxuICAgICAgY3Jhd2xlck5hbWU6IGFjdGlvbi5jcmF3bGVyPy5uYW1lLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclByZWRpY2F0ZShwcm9wczogQ29uZGl0aW9uYWxUcmlnZ2VyT3B0aW9ucyk6IENmblRyaWdnZXIuUHJlZGljYXRlUHJvcGVydHkge1xuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBwcm9wcy5wcmVkaWNhdGUuY29uZGl0aW9ucz8ubWFwKGNvbmRpdGlvbiA9PiB7XG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGVpdGhlciBqb2Igb3IgY3Jhd2xlciBpcyBwcm92aWRlZCwgYnV0IG5vdCBib3RoXG4gICAgICBpZiAoIWNvbmRpdGlvbi5qb2IgJiYgIWNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcignWW91IG11c3QgcHJvdmlkZSBlaXRoZXIgYSBqb2Igb3IgYSBjcmF3bGVyIGZvciB0aGUgY29uZGl0aW9uLicsIHRoaXMpO1xuICAgICAgfSBlbHNlIGlmIChjb25kaXRpb24uam9iICYmIGNvbmRpdGlvbi5jcmF3bGVyTmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgY2RrLlZhbGlkYXRpb25FcnJvcignWW91IGNhbm5vdCBwcm92aWRlIGJvdGggYSBqb2IgYW5kIGEgY3Jhd2xlciBmb3IgdGhlIGNvbmRpdGlvbi4nLCB0aGlzKTtcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGUgdGhhdCBpZiBqb2IgaXMgcHJvdmlkZWQsIGpvYiBzdGF0ZSBpcyBhbHNvIHByb3ZpZGVkXG4gICAgICBpZiAoY29uZGl0aW9uLmpvYiAmJiAhY29uZGl0aW9uLnN0YXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBjZGsuVmFsaWRhdGlvbkVycm9yKCdJZiB5b3UgcHJvdmlkZSBhIGpvYiBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgam9iIHN0YXRlLicsIHRoaXMpO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGF0ZSB0aGF0IGlmIGNyYXdsZXIgaXMgcHJvdmlkZWQsIGNyYXdsZXIgc3RhdGUgaXMgYWxzbyBwcm92aWRlZFxuICAgICAgaWYgKGNvbmRpdGlvbi5jcmF3bGVyTmFtZSAmJiAhY29uZGl0aW9uLmNyYXdsU3RhdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IGNkay5WYWxpZGF0aW9uRXJyb3IoJ0lmIHlvdSBwcm92aWRlIGEgY3Jhd2xlciBmb3IgdGhlIGNvbmRpdGlvbiwgeW91IG11c3QgYWxzbyBwcm92aWRlIGEgY3Jhd2xlciBzdGF0ZS4nLCB0aGlzKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbG9naWNhbE9wZXJhdG9yOiBjb25kaXRpb24ubG9naWNhbE9wZXJhdG9yID8/IENvbmRpdGlvbkxvZ2ljYWxPcGVyYXRvci5FUVVBTFMsXG4gICAgICAgIGpvYk5hbWU6IGNvbmRpdGlvbi5qb2I/LmpvYk5hbWUgPz8gdW5kZWZpbmVkLFxuICAgICAgICBzdGF0ZTogY29uZGl0aW9uLnN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgY3Jhd2xlck5hbWU6IGNvbmRpdGlvbi5jcmF3bGVyTmFtZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIGNyYXdsU3RhdGU6IGNvbmRpdGlvbi5jcmF3bFN0YXRlID8/IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgbG9naWNhbDogcHJvcHMucHJlZGljYXRlLmNvbmRpdGlvbnM/Lmxlbmd0aCA9PT0gMSA/IHVuZGVmaW5lZCA6IHByb3BzLnByZWRpY2F0ZS5sb2dpY2FsID8/IFByZWRpY2F0ZUxvZ2ljYWwuQU5ELFxuICAgICAgY29uZGl0aW9uczogY29uZGl0aW9ucyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJFdmVudEJhdGNoaW5nQ29uZGl0aW9uKHByb3BzOiBOb3RpZnlFdmVudFRyaWdnZXJPcHRpb25zKTogQ2ZuVHJpZ2dlci5FdmVudEJhdGNoaW5nQ29uZGl0aW9uUHJvcGVydHkge1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFNpemUgPSAxO1xuICAgIGNvbnN0IGRlZmF1bHRCYXRjaFdpbmRvdyA9IGNkay5EdXJhdGlvbi5zZWNvbmRzKDkwMCkudG9TZWNvbmRzKCk7XG5cbiAgICBpZiAoIXByb3BzLmV2ZW50QmF0Y2hpbmdDb25kaXRpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhdGNoU2l6ZTogZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgICAgYmF0Y2hXaW5kb3c6IGRlZmF1bHRCYXRjaFdpbmRvdyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJhdGNoU2l6ZTogcHJvcHMuZXZlbnRCYXRjaGluZ0NvbmRpdGlvbi5iYXRjaFNpemUgfHwgZGVmYXVsdEJhdGNoU2l6ZSxcbiAgICAgIGJhdGNoV2luZG93OiBwcm9wcy5ldmVudEJhdGNoaW5nQ29uZGl0aW9uLmJhdGNoV2luZG93Py50b1NlY29uZHMoKSB8fCBkZWZhdWx0QmF0Y2hXaW5kb3csXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFdvcmtmbG93QXJuKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2x1ZScsXG4gICAgICByZXNvdXJjZTogJ3dvcmtmbG93JyxcbiAgICAgIHJlc291cmNlTmFtZTogd29ya2Zsb3dOYW1lLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGNvbnN0cnVjdCBmb3IgY3JlYXRpbmcgYW5kIG1hbmFnaW5nIEFXUyBHbHVlIFdvcmtmbG93cyBhbmQgVHJpZ2dlcnMuXG4gKlxuICogQVdTIEdsdWUgV29ya2Zsb3dzIGFyZSBvcmNoZXN0cmF0aW9uIHNlcnZpY2VzIHRoYXQgYWxsb3cgeW91IHRvIGNyZWF0ZSwgbWFuYWdlLCBhbmQgbW9uaXRvciBjb21wbGV4IGV4dHJhY3QsIHRyYW5zZm9ybSwgYW5kIGxvYWQgKEVUTCkgYWN0aXZpdGllcyBpbnZvbHZpbmcgbXVsdGlwbGUgY3Jhd2xlcnMsIGpvYnMsIGFuZCB0cmlnZ2Vycy4gV29ya2Zsb3dzIGFyZSBkZXNpZ25lZCB0byBhbGxvdyB5b3UgdG8gbWFuYWdlIGludGVyZGVwZW5kZW50IGpvYnMgYW5kIGNyYXdsZXJzIGFzIGEgc2luZ2xlIHVuaXQsIG1ha2luZyBpdCBlYXNpZXIgdG8gb3JjaGVzdHJhdGUgYW5kIG1vbml0b3IgY29tcGxleCBFVEwgcGlwZWxpbmVzLlxuICpcbiAqIFRyaWdnZXJzIGFyZSB1c2VkIHRvIGluaXRpYXRlIGFuIEFXUyBHbHVlIFdvcmtmbG93LiBZb3UgY2FuIGNvbmZpZ3VyZSBkaWZmZXJlbnQgdHlwZXMgb2YgdHJpZ2dlcnMsIHN1Y2ggYXMgb24tZGVtYW5kLCBzY2hlZHVsZWQsIGV2ZW50LWJhc2VkLCBvciBjb25kaXRpb25hbCB0cmlnZ2VycywgdG8gc3RhcnQgeW91ciBXb3JrZmxvdyBiYXNlZCBvbiBzcGVjaWZpYyBjb25kaXRpb25zIG9yIGV2ZW50cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nbHVlL2xhdGVzdC9kZy93b3JrZmxvd3Nfb3ZlcnZpZXcuaHRtbFxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2x1ZS9sYXRlc3QvZGcvYWJvdXQtdHJpZ2dlcnMuaHRtbFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuICogY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnVGVzdFN0YWNrJyk7XG4gKlxuICogLy8gQ3JlYXRlIGEgR2x1ZSBKb2JcbiAqIGRlY2xhcmUgY29uc3Qgcm9sZTogaWFtLklSb2xlO1xuICogZGVjbGFyZSBjb25zdCBzY3JpcHQ6IGdsdWUuQ29kZTtcbiAqIGNvbnN0IGpvYiA9IG5ldyBnbHVlLlB5U3BhcmtTdHJlYW1pbmdKb2Ioc3RhY2ssICdJbXBvcnRlZEpvYicsIHsgcm9sZSwgc2NyaXB0IH0pO1xuICpcbiAqIC8vIENyZWF0ZSBhIEdsdWUgV29ya2Zsb3dcbiAqIGNvbnN0IHdvcmtmbG93ID0gbmV3IGdsdWUuV29ya2Zsb3coc3RhY2ssICdUZXN0V29ya2Zsb3cnKTtcbiAqXG4gKiAvLyBBZGQgYW4gb24tZGVtYW5kIHRyaWdnZXIgdG8gdGhlIFdvcmtmbG93XG4gKiB3b3JrZmxvdy5hZGRPbkRlbWFuZFRyaWdnZXIoJ09uRGVtYW5kVHJpZ2dlcicsIHtcbiAqICAgYWN0aW9uczogW3sgam9iOiBqb2IgfV0sXG4gKiB9KTtcbiAqIGBgYFxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgV29ya2Zsb3cgZXh0ZW5kcyBXb3JrZmxvd0Jhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nbHVlLWFscGhhLldvcmtmbG93JztcblxuICAvKipcbiAgICogSW1wb3J0IGEgd29ya2Zsb3cgZnJvbSBpdHMgbmFtZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tV29ya2Zsb3dOYW1lKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgd29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIHdvcmtmbG93IGZyb20gaXQncyBuYW1lXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Xb3JrZmxvd0FybihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHdvcmtmbG93QXJuOiBzdHJpbmcpOiBJV29ya2Zsb3cge1xuICAgIHJldHVybiB0aGlzLmZyb21Xb3JrZmxvd0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICB3b3JrZmxvd05hbWU6IHRoaXMuZXh0cmFjdE5hbWVGcm9tQXJuKHNjb3BlLCB3b3JrZmxvd0FybiksXG4gICAgICB3b3JrZmxvd0FybixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3Rpbmcgd29ya2Zsb3dcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVdvcmtmbG93QXR0cmlidXRlcyhzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBXb3JrZmxvd0F0dHJpYnV0ZXMpOiBJV29ya2Zsb3cge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFdvcmtmbG93QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgd29ya2Zsb3dOYW1lID0gYXR0cnMud29ya2Zsb3dOYW1lO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93QXJuID0gdGhpcy5idWlsZFdvcmtmbG93QXJuKHNjb3BlLCB0aGlzLndvcmtmbG93TmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSB3b3JrZmxvd05hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHdvcmtmbG93QXJuOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFdvcmtmbG93UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHM/LndvcmtmbG93TmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmbldvcmtmbG93KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzPy5kZXNjcmlwdGlvbixcbiAgICAgIGRlZmF1bHRSdW5Qcm9wZXJ0aWVzOiBwcm9wcz8uZGVmYXVsdFJ1blByb3BlcnRpZXMsXG4gICAgICBtYXhDb25jdXJyZW50UnVuczogcHJvcHM/Lm1heENvbmN1cnJlbnRSdW5zLFxuICAgIH0pO1xuXG4gICAgdGhpcy53b3JrZmxvd05hbWUgPSB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZShyZXNvdXJjZS5yZWYpO1xuICAgIHRoaXMud29ya2Zsb3dBcm4gPSB0aGlzLmJ1aWxkV29ya2Zsb3dBcm4odGhpcywgdGhpcy53b3JrZmxvd05hbWUpO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-glue-alpha",
3
- "version": "2.219.0-alpha.0",
3
+ "version": "2.220.0-alpha.0",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for AWS::Glue",
6
6
  "main": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
8
  "jsii": {
9
+ "tsconfig": "tsconfig.json",
9
10
  "outdir": "dist",
10
11
  "targets": {
11
12
  "java": {
@@ -33,14 +34,14 @@
33
34
  "packageName": "awscdkgluealpha"
34
35
  }
35
36
  },
36
- "projectReferences": true,
37
37
  "metadata": {
38
38
  "jsii": {
39
39
  "rosetta": {
40
40
  "strict": true
41
41
  }
42
42
  }
43
- }
43
+ },
44
+ "validateTsconfig": "minimal"
44
45
  },
45
46
  "repository": {
46
47
  "type": "git",
@@ -81,18 +82,18 @@
81
82
  },
82
83
  "license": "Apache-2.0",
83
84
  "devDependencies": {
84
- "@aws-cdk/cdk-build-tools": "2.219.0-alpha.0",
85
+ "@aws-cdk/cdk-build-tools": "2.220.0-alpha.0",
85
86
  "@aws-cdk/integ-runner": "^2.190.2",
86
- "@aws-cdk/integ-tests-alpha": "2.219.0-alpha.0",
87
- "@aws-cdk/pkglint": "2.219.0-alpha.0",
87
+ "@aws-cdk/integ-tests-alpha": "2.220.0-alpha.0",
88
+ "@aws-cdk/pkglint": "2.220.0-alpha.0",
88
89
  "@types/jest": "^29.5.14",
89
- "aws-cdk-lib": "2.219.0",
90
+ "aws-cdk-lib": "2.220.0",
90
91
  "constructs": "^10.0.0",
91
92
  "jest": "^29.7.0"
92
93
  },
93
94
  "homepage": "https://github.com/aws/aws-cdk",
94
95
  "peerDependencies": {
95
- "aws-cdk-lib": "^2.219.0",
96
+ "aws-cdk-lib": "^2.220.0",
96
97
  "constructs": "^10.0.0"
97
98
  },
98
99
  "engines": {