Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@aws-cdk/aws-s3

Package Overview
Dependencies
Maintainers
4
Versions
288
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/aws-s3 - npm Package Compare versions

Comparing version 0.9.1 to 0.9.2

40

lib/bucket.d.ts

@@ -9,3 +9,2 @@ import actions = require('@aws-cdk/aws-codepipeline-api');

import { LifecycleRule } from './rule';
import { BucketArn, BucketDomainName, BucketDualStackDomainName, BucketName } from './s3.generated';
/**

@@ -21,3 +20,3 @@ * A reference to a bucket. The easiest way to instantiate is to call

*/
bucketArn?: BucketArn;
bucketArn?: string;
/**

@@ -29,3 +28,3 @@ * The name of the bucket. If the underlying value of ARN is a string, the

*/
bucketName?: BucketName;
bucketName?: string;
}

@@ -62,7 +61,7 @@ /**

*/
abstract readonly bucketArn: BucketArn;
abstract readonly bucketArn: string;
/**
* The name of the bucket.
*/
abstract readonly bucketName: BucketName;
abstract readonly bucketName: string;
/**

@@ -110,3 +109,3 @@ * Optional KMS encryption key associated with this bucket.

*/
readonly bucketUrl: S3Url;
readonly bucketUrl: string;
/**

@@ -121,3 +120,3 @@ * The https URL of an S3 object. For example:

*/
urlForObject(key?: any): S3Url;
urlForObject(key?: any): string;
/**

@@ -132,3 +131,3 @@ * Returns an ARN that represents all objects within the bucket that match

*/
arnForObjects(...keyPattern: any[]): cdk.Arn;
arnForObjects(...keyPattern: any[]): string;
/**

@@ -219,9 +218,2 @@ * Grant read permissions for this bucket and it's contents to an IAM

/**
* The bucket policy associated with this bucket.
*
* @default A bucket policy will be created automatically in the first call
* to addToPolicy.
*/
policy?: BucketPolicy;
/**
* Whether this bucket should have versioning turned on or not.

@@ -246,6 +238,6 @@ *

export declare class Bucket extends BucketRef {
readonly bucketArn: BucketArn;
readonly bucketName: BucketName;
readonly domainName: BucketDomainName;
readonly dualstackDomainName: BucketDualStackDomainName;
readonly bucketArn: string;
readonly bucketName: string;
readonly domainName: string;
readonly dualstackDomainName: string;
readonly encryptionKey?: kms.EncryptionKeyRef;

@@ -336,12 +328,2 @@ protected policy?: BucketPolicy;

/**
* A key to an S3 object.
*/
export declare class ObjectKey extends cdk.Token {
}
/**
* The web URL (https://s3.us-west-1.amazonaws.com/bucket/key) of an S3 object.
*/
export declare class S3Url extends cdk.Token {
}
/**
* Notification event types.

@@ -348,0 +330,0 @@ */

@@ -26,3 +26,3 @@ import cdk = require('@aws-cdk/cdk');

*/
static singleton(context: cdk.Construct): cdk.Arn;
static singleton(context: cdk.Construct): string;
/**

@@ -32,4 +32,4 @@ * The ARN of the handler's lambda function. Used as a service token in the

*/
readonly functionArn: cdk.Arn;
readonly functionArn: string;
constructor(parent: cdk.Construct, id: string);
}

@@ -44,3 +44,3 @@ "use strict";

managedPolicyArns: [
cdk.Arn.fromComponents({
cdk.ArnUtils.fromComponents({
service: 'iam',

@@ -69,3 +69,3 @@ region: '',

});
this.functionArn = new cdk.Arn(resource.getAtt('Arn'));
this.functionArn = resource.getAtt('Arn').toString();
}

@@ -144,2 +144,2 @@ }

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1yZXNvdXJjZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm90aWZpY2F0aW9ucy1yZXNvdXJjZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBQ3pDLG9DQUFxQztBQUVyQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFDM0Q7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQXNCO1FBQzFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJDLHFEQUFxRDtRQUNyRCxNQUFNLFNBQVMsR0FBRyw0REFBNEQsQ0FBQztRQUMvRSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBaUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsTUFBTSxHQUFHLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQzlCLENBQUM7SUFRRCxZQUFZLE1BQXFCLEVBQUUsRUFBVTtRQUN6QyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUMzRCxpQkFBaUIsRUFBRTtnQkFDZixHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztvQkFDbkIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsUUFBUSxFQUFF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QixPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDbEIsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpYW0gPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtaWFtJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5cbi8qKlxuICogQSBMYW1iZGEtYmFzZWQgY3VzdG9tIHJlc291cmNlIGhhbmRsZXIgdGhhdCBwcm92aXNpb25zIFMzIGJ1Y2tldFxuICogbm90aWZpY2F0aW9ucyBmb3IgYSBidWNrZXQuXG4gKlxuICogVGhlIHJlc291cmNlIHByb3BlcnR5IHNjaGVtYSBpczpcbiAqXG4gKiB7XG4gKiAgIEJ1Y2tldE5hbWU6IHN0cmluZywgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbjogeyBzZWVcbiAqICAgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiB9XG4gKiB9XG4gKlxuICogRm9yICdEZWxldGUnIG9wZXJhdGlvbnMsIHdlIHNlbmQgYW4gZW1wdHkgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBhc1xuICogcmVxdWlyZWQuIFdlIHByb3BhZ2F0ZSBlcnJvcnMgYW5kIHJlc3VsdHMgYXMtaXMuXG4gKlxuICogU2FkbHksIHdlIGNhbid0IHVzZSBAYXdzLWNkay9hd3MtbGFtYmRhIGFzIGl0IHdpbGwgaW50cm9kdWNlIGEgZGVwZW5kZW5jeVxuICogY3ljbGUsIHNvIHRoaXMgdXNlcyByYXcgYGNkay5SZXNvdXJjZWBzLlxuICovXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1Jlc291cmNlSGFuZGxlciBleHRlbmRzIGNkay5Db25zdHJ1Y3Qge1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgYSBzdGFjay1zaW5nbGV0b24gbGFtYmRhIGZ1bmN0aW9uIHdpdGggdGhlIGxvZ2ljIGZvciBhIENsb3VkRm9ybWF0aW9uIGN1c3RvbVxuICAgICAqIHJlc291cmNlIHRoYXQgcHJvdmlzaW9ucyBidWNrZXQgbm90aWZpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnVja2V0LlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIEFSTiBvZiB0aGUgY3VzdG9tIHJlc291cmNlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHNpbmdsZXRvbihjb250ZXh0OiBjZGsuQ29uc3RydWN0KSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBjZGsuU3RhY2suZmluZChjb250ZXh0KTtcblxuICAgICAgICAvLyB3ZWxsLWtub3duIGxvZ2ljYWwgaWQgdG8gZW5zdXJlIHN0YWNrIHNpbmdsZXRvbml0eVxuICAgICAgICBjb25zdCBsb2dpY2FsSWQgPSAnQnVja2V0Tm90aWZpY2F0aW9uc0hhbmRsZXIwNTBhMDU4N2I3NTQ0NTQ3YmYzMjVmMDk0YTNkYjgzNCc7XG4gICAgICAgIGxldCBsYW1iZGEgPSByb290LnRyeUZpbmRDaGlsZChsb2dpY2FsSWQpIGFzIE5vdGlmaWNhdGlvbnNSZXNvdXJjZUhhbmRsZXI7XG4gICAgICAgIGlmICghbGFtYmRhKSB7XG4gICAgICAgICAgICBsYW1iZGEgPSBuZXcgTm90aWZpY2F0aW9uc1Jlc291cmNlSGFuZGxlcihyb290LCBsb2dpY2FsSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxhbWJkYS5mdW5jdGlvbkFybjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgQVJOIG9mIHRoZSBoYW5kbGVyJ3MgbGFtYmRhIGZ1bmN0aW9uLiBVc2VkIGFzIGEgc2VydmljZSB0b2tlbiBpbiB0aGVcbiAgICAgKiBjdXN0b20gcmVzb3VyY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZ1bmN0aW9uQXJuOiBjZGsuQXJuO1xuXG4gICAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgICAgIGNvbnN0IHJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ1JvbGUnLCB7XG4gICAgICAgICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuU2VydmljZVByaW5jaXBhbCgnbGFtYmRhLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgICAgICAgIG1hbmFnZWRQb2xpY3lBcm5zOiBbXG4gICAgICAgICAgICAgICAgY2RrLkFybi5mcm9tQ29tcG9uZW50cyh7XG4gICAgICAgICAgICAgICAgICAgIHNlcnZpY2U6ICdpYW0nLFxuICAgICAgICAgICAgICAgICAgICByZWdpb246ICcnLCAvLyBubyByZWdpb24gZm9yIG1hbmFnZWQgcG9saWN5XG4gICAgICAgICAgICAgICAgICAgIGFjY291bnQ6ICdhd3MnLCAvLyB0aGUgYWNjb3VudCBmb3IgYSBtYW5hZ2VkIHBvbGljeSBpcyAnYXdzJ1xuICAgICAgICAgICAgICAgICAgICByZXNvdXJjZTogJ3BvbGljeScsXG4gICAgICAgICAgICAgICAgICAgIHJlc291cmNlTmFtZTogJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIGhhbmRsZXIgYWxsb3dzIHRvIHB1dCBidWNrZXQgbm90aWZpY2F0aW9uIG9uIHMzIGJ1Y2tldHMuXG4gICAgICAgIHJvbGUuYWRkVG9Qb2xpY3kobmV3IGNkay5Qb2xpY3lTdGF0ZW1lbnQoKVxuICAgICAgICAgICAgLmFkZEFjdGlvbignczM6UHV0QnVja2V0Tm90aWZpY2F0aW9uJylcbiAgICAgICAgICAgIC5hZGRBbGxSZXNvdXJjZXMoKSk7XG5cbiAgICAgICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgY2RrLlJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgICAgICAgIHR5cGU6ICdBV1M6OkxhbWJkYTo6RnVuY3Rpb24nLFxuICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uOiAnQVdTIENsb3VkRm9ybWF0aW9uIGhhbmRsZXIgZm9yIFwiQ3VzdG9tOjpTM0J1Y2tldE5vdGlmaWNhdGlvbnNcIiByZXNvdXJjZXMgKEBhd3MtY2RrL2F3cy1zMyknLFxuICAgICAgICAgICAgICAgIENvZGU6IHsgWmlwRmlsZTogYGV4cG9ydHMuaGFuZGxlciA9ICR7aGFuZGxlci50b1N0cmluZygpfTtgIH0sXG4gICAgICAgICAgICAgICAgSGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgICAgICAgICAgIFJvbGU6IHJvbGUucm9sZUFybixcbiAgICAgICAgICAgICAgICBSdW50aW1lOiAnbm9kZWpzOC4xMCcsXG4gICAgICAgICAgICAgICAgVGltZW91dDogMzAwLFxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZ1bmN0aW9uQXJuID0gbmV3IGNkay5Bcm4ocmVzb3VyY2UuZ2V0QXR0KCdBcm4nKSk7XG4gICAgfVxufVxuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpuby1jb25zb2xlXG5cbi8qKlxuICogTGFtYmRhIGV2ZW50IGhhbmRsZXIgZm9yIHRoZSBjdXN0b20gcmVzb3VyY2UuIEJlYXIgaW4gbWluZCB0aGF0IHdlIGFyZSBnb2luZ1xuICogdG8gLnRvU3RyaW5nKCkgdGhpcyBmdW5jdGlvbiBhbmQgaW5saW5lIGl0IGFzIExhbWJkYSBjb2RlLlxuICpcbiAqIFRoZSBmdW5jdGlvbiB3aWxsIGlzc3VlIGEgcHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiByZXF1ZXN0IGZvciB0aGVcbiAqIHNwZWNpZmllZCBidWNrZXQuXG4gKi9cbmNvbnN0IGhhbmRsZXIgPSAoZXZlbnQ6IGFueSwgY29udGV4dDogYW55KSA9PiB7XG4gICAgY29uc3QgczMgPSBuZXcgKHJlcXVpcmUoJ2F3cy1zZGsnKS5TMykoKTtcbiAgICBjb25zdCBodHRwcyA9IHJlcXVpcmUoXCJodHRwc1wiKTtcbiAgICBjb25zdCB1cmwgPSByZXF1aXJlKFwidXJsXCIpO1xuXG4gICAgbG9nKEpTT04uc3RyaW5naWZ5KGV2ZW50LCB1bmRlZmluZWQsIDIpKTtcblxuICAgIGNvbnN0IHByb3BzID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzO1xuXG4gICAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlID09PSAnRGVsZXRlJykge1xuICAgICAgICBwcm9wcy5Ob3RpZmljYXRpb25Db25maWd1cmF0aW9uID0geyB9OyAvLyB0aGlzIGlzIGhvdyB5b3UgY2xlYW4gb3V0IG5vdGlmaWNhdGlvbnNcbiAgICB9XG5cbiAgICBjb25zdCByZXEgPSB7XG4gICAgICAgIEJ1Y2tldDogcHJvcHMuQnVja2V0TmFtZSxcbiAgICAgICAgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbjogcHJvcHMuTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvblxuICAgIH07XG5cbiAgICByZXR1cm4gczMucHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbihyZXEsIChlcnI6IGFueSwgZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxvZyh7IGVyciwgZGF0YSB9KTtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgcmV0dXJuIHN1Ym1pdFJlc3BvbnNlKFwiRkFJTEVEXCIsIGVyci5tZXNzYWdlICsgYFxcbk1vcmUgaW5mb3JtYXRpb24gaW4gQ2xvdWRXYXRjaCBMb2cgU3RyZWFtOiAke2NvbnRleHQubG9nU3RyZWFtTmFtZX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBzdWJtaXRSZXNwb25zZShcIlNVQ0NFU1NcIik7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIGxvZyhvYmo6IGFueSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGV2ZW50LlJlcXVlc3RJZCwgZXZlbnQuU3RhY2tJZCwgZXZlbnQuTG9naWNhbFJlc291cmNlSWQsIG9iaik7XG4gICAgfVxuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm1heC1saW5lLWxlbmd0aFxuICAgIC8vIGFkYXB0ZWQgZnJvbSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1sYW1iZGEtZnVuY3Rpb24tY29kZS5odG1sI2Nmbi1sYW1iZGEtZnVuY3Rpb24tY29kZS1jZm5yZXNwb25zZW1vZHVsZVxuICAgIC8vIHRvIGFsbG93IHNlbmRpbmcgYW4gZXJyb3IgbWVzc2dlIGFzIGEgcmVhc29uLlxuICAgIGZ1bmN0aW9uIHN1Ym1pdFJlc3BvbnNlKHJlc3BvbnNlU3RhdHVzOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZykge1xuICAgICAgICBjb25zdCByZXNwb25zZUJvZHkgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBTdGF0dXM6IHJlc3BvbnNlU3RhdHVzLFxuICAgICAgICAgICAgUmVhc29uOiByZWFzb24gfHwgXCJTZWUgdGhlIGRldGFpbHMgaW4gQ2xvdWRXYXRjaCBMb2cgU3RyZWFtOiBcIiArIGNvbnRleHQubG9nU3RyZWFtTmFtZSxcbiAgICAgICAgICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogY29udGV4dC5sb2dTdHJlYW1OYW1lLFxuICAgICAgICAgICAgU3RhY2tJZDogZXZlbnQuU3RhY2tJZCxcbiAgICAgICAgICAgIFJlcXVlc3RJZDogZXZlbnQuUmVxdWVzdElkLFxuICAgICAgICAgICAgTG9naWNhbFJlc291cmNlSWQ6IGV2ZW50LkxvZ2ljYWxSZXNvdXJjZUlkLFxuICAgICAgICAgICAgTm9FY2hvOiBmYWxzZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbG9nKHsgcmVzcG9uc2VCb2R5IH0pO1xuXG4gICAgICAgIGNvbnN0IHBhcnNlZFVybCA9IHVybC5wYXJzZShldmVudC5SZXNwb25zZVVSTCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBob3N0bmFtZTogcGFyc2VkVXJsLmhvc3RuYW1lLFxuICAgICAgICAgICAgcG9ydDogNDQzLFxuICAgICAgICAgICAgcGF0aDogcGFyc2VkVXJsLnBhdGgsXG4gICAgICAgICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgXCJjb250ZW50LXR5cGVcIjogXCJcIixcbiAgICAgICAgICAgICAgICBcImNvbnRlbnQtbGVuZ3RoXCI6IHJlc3BvbnNlQm9keS5sZW5ndGhcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gaHR0cHMucmVxdWVzdChvcHRpb25zLCAocjogYW55KSA9PiB7XG4gICAgICAgICAgICBsb2coeyBzdGF0dXNDb2RlOiByLnN0YXR1c0NvZGUsIHN0YXR1c01lc3NhZ2U6IHIuc3RhdHVzTWVzc2FnZSB9KTtcbiAgICAgICAgICAgIGNvbnRleHQuZG9uZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXF1ZXN0Lm9uKFwiZXJyb3JcIiwgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxvZyh7IHNlbmRFcnJvcjogZXJyb3IgfSk7XG4gICAgICAgICAgICBjb250ZXh0LmRvbmUoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmVxdWVzdC53cml0ZShyZXNwb25zZUJvZHkpO1xuICAgICAgICByZXF1ZXN0LmVuZCgpO1xuICAgIH1cbn07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1yZXNvdXJjZS1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm90aWZpY2F0aW9ucy1yZXNvdXJjZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBQ3pDLG9DQUFxQztBQUVyQzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFDM0Q7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQXNCO1FBQzFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJDLHFEQUFxRDtRQUNyRCxNQUFNLFNBQVMsR0FBRyw0REFBNEQsQ0FBQztRQUMvRSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBaUMsQ0FBQztRQUMxRSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsTUFBTSxHQUFHLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQzlCLENBQUM7SUFRRCxZQUFZLE1BQXFCLEVBQUUsRUFBVTtRQUN6QyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUMzRCxpQkFBaUIsRUFBRTtnQkFDZixHQUFHLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztvQkFDeEIsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsT0FBTyxFQUFFLEtBQUs7b0JBQ2QsUUFBUSxFQUFF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RyxFQUFFLENBQUM7SUFDbEIsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpYW0gPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtaWFtJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5cbi8qKlxuICogQSBMYW1iZGEtYmFzZWQgY3VzdG9tIHJlc291cmNlIGhhbmRsZXIgdGhhdCBwcm92aXNpb25zIFMzIGJ1Y2tldFxuICogbm90aWZpY2F0aW9ucyBmb3IgYSBidWNrZXQuXG4gKlxuICogVGhlIHJlc291cmNlIHByb3BlcnR5IHNjaGVtYSBpczpcbiAqXG4gKiB7XG4gKiAgIEJ1Y2tldE5hbWU6IHN0cmluZywgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbjogeyBzZWVcbiAqICAgUHV0QnVja2V0Tm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiB9XG4gKiB9XG4gKlxuICogRm9yICdEZWxldGUnIG9wZXJhdGlvbnMsIHdlIHNlbmQgYW4gZW1wdHkgTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiBhc1xuICogcmVxdWlyZWQuIFdlIHByb3BhZ2F0ZSBlcnJvcnMgYW5kIHJlc3VsdHMgYXMtaXMuXG4gKlxuICogU2FkbHksIHdlIGNhbid0IHVzZSBAYXdzLWNkay9hd3MtbGFtYmRhIGFzIGl0IHdpbGwgaW50cm9kdWNlIGEgZGVwZW5kZW5jeVxuICogY3ljbGUsIHNvIHRoaXMgdXNlcyByYXcgYGNkay5SZXNvdXJjZWBzLlxuICovXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1Jlc291cmNlSGFuZGxlciBleHRlbmRzIGNkay5Db25zdHJ1Y3Qge1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgYSBzdGFjay1zaW5nbGV0b24gbGFtYmRhIGZ1bmN0aW9uIHdpdGggdGhlIGxvZ2ljIGZvciBhIENsb3VkRm9ybWF0aW9uIGN1c3RvbVxuICAgICAqIHJlc291cmNlIHRoYXQgcHJvdmlzaW9ucyBidWNrZXQgbm90aWZpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnVja2V0LlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIEFSTiBvZiB0aGUgY3VzdG9tIHJlc291cmNlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHNpbmdsZXRvbihjb250ZXh0OiBjZGsuQ29uc3RydWN0KSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBjZGsuU3RhY2suZmluZChjb250ZXh0KTtcblxuICAgICAgICAvLyB3ZWxsLWtub3duIGxvZ2ljYWwgaWQgdG8gZW5zdXJlIHN0YWNrIHNpbmdsZXRvbml0eVxuICAgICAgICBjb25zdCBsb2dpY2FsSWQgPSAnQnVja2V0Tm90aWZpY2F0aW9uc0hhbmRsZXIwNTBhMDU4N2I3NTQ0NTQ3YmYzMjVmMDk0YTNkYjgzNCc7XG4gICAgICAgIGxldCBsYW1iZGEgPSByb290LnRyeUZpbmRDaGlsZChsb2dpY2FsSWQpIGFzIE5vdGlmaWNhdGlvbnNSZXNvdXJjZUhhbmRsZXI7XG4gICAgICAgIGlmICghbGFtYmRhKSB7XG4gICAgICAgICAgICBsYW1iZGEgPSBuZXcgTm90aWZpY2F0aW9uc1Jlc291cmNlSGFuZGxlcihyb290LCBsb2dpY2FsSWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxhbWJkYS5mdW5jdGlvbkFybjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgQVJOIG9mIHRoZSBoYW5kbGVyJ3MgbGFtYmRhIGZ1bmN0aW9uLiBVc2VkIGFzIGEgc2VydmljZSB0b2tlbiBpbiB0aGVcbiAgICAgKiBjdXN0b20gcmVzb3VyY2UuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZ1bmN0aW9uQXJuOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocGFyZW50LCBpZCk7XG5cbiAgICAgICAgY29uc3Qgcm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnUm9sZScsIHtcbiAgICAgICAgICAgIGFzc3VtZWRCeTogbmV3IGNkay5TZXJ2aWNlUHJpbmNpcGFsKCdsYW1iZGEuYW1hem9uYXdzLmNvbScpLFxuICAgICAgICAgICAgbWFuYWdlZFBvbGljeUFybnM6IFtcbiAgICAgICAgICAgICAgICBjZGsuQXJuVXRpbHMuZnJvbUNvbXBvbmVudHMoe1xuICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlOiAnaWFtJyxcbiAgICAgICAgICAgICAgICAgICAgcmVnaW9uOiAnJywgLy8gbm8gcmVnaW9uIGZvciBtYW5hZ2VkIHBvbGljeVxuICAgICAgICAgICAgICAgICAgICBhY2NvdW50OiAnYXdzJywgLy8gdGhlIGFjY291bnQgZm9yIGEgbWFuYWdlZCBwb2xpY3kgaXMgJ2F3cydcbiAgICAgICAgICAgICAgICAgICAgcmVzb3VyY2U6ICdwb2xpY3knLFxuICAgICAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6ICdzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlJyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBoYW5kbGVyIGFsbG93cyB0byBwdXQgYnVja2V0IG5vdGlmaWNhdGlvbiBvbiBzMyBidWNrZXRzLlxuICAgICAgICByb2xlLmFkZFRvUG9saWN5KG5ldyBjZGsuUG9saWN5U3RhdGVtZW50KClcbiAgICAgICAgICAgIC5hZGRBY3Rpb24oJ3MzOlB1dEJ1Y2tldE5vdGlmaWNhdGlvbicpXG4gICAgICAgICAgICAuYWRkQWxsUmVzb3VyY2VzKCkpO1xuXG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICAgICAgICB0eXBlOiAnQVdTOjpMYW1iZGE6OkZ1bmN0aW9uJyxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICBEZXNjcmlwdGlvbjogJ0FXUyBDbG91ZEZvcm1hdGlvbiBoYW5kbGVyIGZvciBcIkN1c3RvbTo6UzNCdWNrZXROb3RpZmljYXRpb25zXCIgcmVzb3VyY2VzIChAYXdzLWNkay9hd3MtczMpJyxcbiAgICAgICAgICAgICAgICBDb2RlOiB7IFppcEZpbGU6IGBleHBvcnRzLmhhbmRsZXIgPSAke2hhbmRsZXIudG9TdHJpbmcoKX07YCB9LFxuICAgICAgICAgICAgICAgIEhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgICAgICAgICAgICBSb2xlOiByb2xlLnJvbGVBcm4sXG4gICAgICAgICAgICAgICAgUnVudGltZTogJ25vZGVqczguMTAnLFxuICAgICAgICAgICAgICAgIFRpbWVvdXQ6IDMwMCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mdW5jdGlvbkFybiA9IHJlc291cmNlLmdldEF0dCgnQXJuJykudG9TdHJpbmcoKTtcbiAgICB9XG59XG5cbi8vIHRzbGludDpkaXNhYmxlOm5vLWNvbnNvbGVcblxuLyoqXG4gKiBMYW1iZGEgZXZlbnQgaGFuZGxlciBmb3IgdGhlIGN1c3RvbSByZXNvdXJjZS4gQmVhciBpbiBtaW5kIHRoYXQgd2UgYXJlIGdvaW5nXG4gKiB0byAudG9TdHJpbmcoKSB0aGlzIGZ1bmN0aW9uIGFuZCBpbmxpbmUgaXQgYXMgTGFtYmRhIGNvZGUuXG4gKlxuICogVGhlIGZ1bmN0aW9uIHdpbGwgaXNzdWUgYSBwdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uIHJlcXVlc3QgZm9yIHRoZVxuICogc3BlY2lmaWVkIGJ1Y2tldC5cbiAqL1xuY29uc3QgaGFuZGxlciA9IChldmVudDogYW55LCBjb250ZXh0OiBhbnkpID0+IHtcbiAgICBjb25zdCBzMyA9IG5ldyAocmVxdWlyZSgnYXdzLXNkaycpLlMzKSgpO1xuICAgIGNvbnN0IGh0dHBzID0gcmVxdWlyZShcImh0dHBzXCIpO1xuICAgIGNvbnN0IHVybCA9IHJlcXVpcmUoXCJ1cmxcIik7XG5cbiAgICBsb2coSlNPTi5zdHJpbmdpZnkoZXZlbnQsIHVuZGVmaW5lZCwgMikpO1xuXG4gICAgY29uc3QgcHJvcHMgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXM7XG5cbiAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09ICdEZWxldGUnKSB7XG4gICAgICAgIHByb3BzLk5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24gPSB7IH07IC8vIHRoaXMgaXMgaG93IHlvdSBjbGVhbiBvdXQgbm90aWZpY2F0aW9uc1xuICAgIH1cblxuICAgIGNvbnN0IHJlcSA9IHtcbiAgICAgICAgQnVja2V0OiBwcm9wcy5CdWNrZXROYW1lLFxuICAgICAgICBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiBwcm9wcy5Ob3RpZmljYXRpb25Db25maWd1cmF0aW9uXG4gICAgfTtcblxuICAgIHJldHVybiBzMy5wdXRCdWNrZXROb3RpZmljYXRpb25Db25maWd1cmF0aW9uKHJlcSwgKGVycjogYW55LCBkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgbG9nKHsgZXJyLCBkYXRhIH0pO1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gc3VibWl0UmVzcG9uc2UoXCJGQUlMRURcIiwgZXJyLm1lc3NhZ2UgKyBgXFxuTW9yZSBpbmZvcm1hdGlvbiBpbiBDbG91ZFdhdGNoIExvZyBTdHJlYW06ICR7Y29udGV4dC5sb2dTdHJlYW1OYW1lfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHN1Ym1pdFJlc3BvbnNlKFwiU1VDQ0VTU1wiKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gbG9nKG9iajogYW55KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXZlbnQuUmVxdWVzdElkLCBldmVudC5TdGFja0lkLCBldmVudC5Mb2dpY2FsUmVzb3VyY2VJZCwgb2JqKTtcbiAgICB9XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bWF4LWxpbmUtbGVuZ3RoXG4gICAgLy8gYWRhcHRlZCBmcm9tIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWxhbWJkYS1mdW5jdGlvbi1jb2RlLmh0bWwjY2ZuLWxhbWJkYS1mdW5jdGlvbi1jb2RlLWNmbnJlc3BvbnNlbW9kdWxlXG4gICAgLy8gdG8gYWxsb3cgc2VuZGluZyBhbiBlcnJvciBtZXNzZ2UgYXMgYSByZWFzb24uXG4gICAgZnVuY3Rpb24gc3VibWl0UmVzcG9uc2UocmVzcG9uc2VTdGF0dXM6IHN0cmluZywgcmVhc29uPzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlQm9keSA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIFN0YXR1czogcmVzcG9uc2VTdGF0dXMsXG4gICAgICAgICAgICBSZWFzb246IHJlYXNvbiB8fCBcIlNlZSB0aGUgZGV0YWlscyBpbiBDbG91ZFdhdGNoIExvZyBTdHJlYW06IFwiICsgY29udGV4dC5sb2dTdHJlYW1OYW1lLFxuICAgICAgICAgICAgUGh5c2ljYWxSZXNvdXJjZUlkOiBjb250ZXh0LmxvZ1N0cmVhbU5hbWUsXG4gICAgICAgICAgICBTdGFja0lkOiBldmVudC5TdGFja0lkLFxuICAgICAgICAgICAgUmVxdWVzdElkOiBldmVudC5SZXF1ZXN0SWQsXG4gICAgICAgICAgICBMb2dpY2FsUmVzb3VyY2VJZDogZXZlbnQuTG9naWNhbFJlc291cmNlSWQsXG4gICAgICAgICAgICBOb0VjaG86IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICBsb2coeyByZXNwb25zZUJvZHkgfSk7XG5cbiAgICAgICAgY29uc3QgcGFyc2VkVXJsID0gdXJsLnBhcnNlKGV2ZW50LlJlc3BvbnNlVVJMKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGhvc3RuYW1lOiBwYXJzZWRVcmwuaG9zdG5hbWUsXG4gICAgICAgICAgICBwb3J0OiA0NDMsXG4gICAgICAgICAgICBwYXRoOiBwYXJzZWRVcmwucGF0aCxcbiAgICAgICAgICAgIG1ldGhvZDogXCJQVVRcIixcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBcImNvbnRlbnQtdHlwZVwiOiBcIlwiLFxuICAgICAgICAgICAgICAgIFwiY29udGVudC1sZW5ndGhcIjogcmVzcG9uc2VCb2R5Lmxlbmd0aFxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBodHRwcy5yZXF1ZXN0KG9wdGlvbnMsIChyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxvZyh7IHN0YXR1c0NvZGU6IHIuc3RhdHVzQ29kZSwgc3RhdHVzTWVzc2FnZTogci5zdGF0dXNNZXNzYWdlIH0pO1xuICAgICAgICAgICAgY29udGV4dC5kb25lKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJlcXVlc3Qub24oXCJlcnJvclwiLCAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgbG9nKHsgc2VuZEVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgICAgIGNvbnRleHQuZG9uZSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXF1ZXN0LndyaXRlKHJlc3BvbnNlQm9keSk7XG4gICAgICAgIHJlcXVlc3QuZW5kKCk7XG4gICAgfVxufTtcbiJdfQ==

@@ -117,2 +117,2 @@ "use strict";

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5vdGlmaWNhdGlvbnMtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx3RUFBa0g7QUFDbEgsb0NBQXFDO0FBRXJDLHFGQUFnRjtBQVloRjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFPbEQsWUFBWSxNQUFxQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNwRSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUEwsd0JBQW1CLEdBQUcsSUFBSSxLQUFLLEVBQStCLENBQUM7UUFDL0QsdUJBQWtCLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFDckQsdUJBQWtCLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFNbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksZUFBZSxDQUFDLEtBQWdCLEVBQUUsTUFBc0MsRUFBRSxHQUFHLE9BQWdDO1FBQ2hILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTNDLGtGQUFrRjtRQUNsRixpREFBaUQ7UUFDakQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEcsTUFBTSxZQUFZLEdBQXdCO1lBQ3RDLE1BQU0sRUFBRSxDQUFFLEtBQUssQ0FBRTtZQUNqQixNQUFNLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQztTQUNqQyxDQUFDO1FBRUYsNkVBQTZFO1FBQzdFLHdGQUF3RjtRQUN4RiwyREFBMkQ7UUFDM0QsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFO1lBQzFCLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxxRUFBcUU7UUFDckUsUUFBUSxXQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3RCLEtBQUssd0RBQWlDLENBQUMsTUFBTTtnQkFDekMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksbUJBQU0sWUFBWSxJQUFFLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxHQUFHLElBQUcsQ0FBQztnQkFDdkYsTUFBTTtZQUVWLEtBQUssd0RBQWlDLENBQUMsS0FBSztnQkFDeEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksbUJBQU0sWUFBWSxJQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxJQUFHLENBQUM7Z0JBQzdFLE1BQU07WUFFVixLQUFLLHdEQUFpQyxDQUFDLEtBQUs7Z0JBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG1CQUFNLFlBQVksSUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDLEdBQUcsSUFBRyxDQUFDO2dCQUM3RSxNQUFNO1lBRVY7Z0JBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyx3REFBaUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN0SDtJQUNMLENBQUM7SUFFTywrQkFBK0I7UUFDbkMsT0FBTztZQUNILDRCQUE0QixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDeEcsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUM3RixtQkFBbUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ2hHLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixNQUFNLFVBQVUsR0FBRyw2REFBNEIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFaEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDL0MsSUFBSSxFQUFFLCtCQUErQjtnQkFDckMsVUFBVSxFQUFFO29CQUNSLFlBQVksRUFBRSxVQUFVO29CQUN4QixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO29CQUNsQyx5QkFBeUIsRUFBRSxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLCtCQUErQixFQUFFLENBQUM7aUJBQ3pGO2FBQ0osQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztDQUNKO0FBdEZELGtEQXNGQztBQUVELFNBQVMsYUFBYSxDQUFDLE9BQWlDO0lBQ3BELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDbEMsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO0lBRTlDLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxFQUFFO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDZEQUE2RCxDQUFDLENBQUM7U0FDbEY7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDOUQ7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDOUQ7S0FDSjtJQUVELE9BQU87UUFDSCxHQUFHLEVBQUU7WUFDRCxXQUFXLEVBQUUsYUFBYTtTQUM3QjtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLCBJQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24gfSBmcm9tICdAYXdzLWNkay9hd3MtczMtbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgeyBCdWNrZXQsIEV2ZW50VHlwZSwgTm90aWZpY2F0aW9uS2V5RmlsdGVyIH0gZnJvbSAnLi4vYnVja2V0JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNSZXNvdXJjZUhhbmRsZXIgfSBmcm9tICcuL25vdGlmaWNhdGlvbnMtcmVzb3VyY2UtaGFuZGxlcic7XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcHMge1xuICAgIC8qKlxuICAgICAqIFRoZSBidWNrZXQgdG8gbWFuYWdlIG5vdGlmaWNhdGlvbnMgZm9yLlxuICAgICAqXG4gICAgICogVGhpcyBjYW5ub3QgYmUgYSBgQnVja2V0UmVmYCBiZWNhdXNlIHRoZSBidWNrZXQgbWFpbnRhaW5zIHRoZSAxOjFcbiAgICAgKiByZWxhdGlvbnNoaXAgd2l0aCB0aGlzIHJlc291cmNlLlxuICAgICAqL1xuICAgIGJ1Y2tldDogQnVja2V0O1xufVxuXG4vKipcbiAqIEEgY3VzdG9tIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHRoYXQgdXBkYXRlcyBidWNrZXQgbm90aWZpY2F0aW9ucyBmb3IgYVxuICogYnVja2V0LiBUaGUgcmVhc29uIHdlIG5lZWQgaXQgaXMgYmVjYXVzZSB0aGUgQVdTOjpTMzo6QnVja2V0IG5vdGlmaWNhdGlvblxuICogY29uZmlndXJhdGlvbiBpcyBkZWZpbmVkIG9uIHRoZSBidWNrZXQgaXRzZWxmLCB3aGljaCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvXG4gKiBwcm92aXNpb24gbm90aWZpY2F0aW9ucyBhdCB0aGUgc2FtZSB0aW1lIGFzIHRoZSB0YXJnZXQgKHNpbmNlXG4gKiBQdXRCdWNrZXROb3RpZmljYXRpb25zIHZhbGlkYXRlcyB0aGUgdGFyZ2V0cykuXG4gKlxuICogU2luY2Ugb25seSBhIHNpbmdsZSBCdWNrZXROb3RpZmljYXRpb25zIHJlc291cmNlIGlzIGFsbG93ZWQgZm9yIGVhY2ggQnVja2V0LFxuICogdGhpcyBjb25zdHJ1Y3QgaXMgbm90IGV4cG9ydGVkIGluIHRoZSBwdWJsaWMgQVBJIG9mIHRoaXMgbW9kdWxlLiBJbnN0ZWFkLCBpdFxuICogaXMgY3JlYXRlZCBqdXN0LWluLXRpbWUgYnkgYHMzLkJ1Y2tldC5vbkV2ZW50YCwgc28gYSAxOjEgcmVsYXRpb25zaGlwIGlzXG4gKiBlbnN1cmVkLlxuICpcbiAqIEBzZWVcbiAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLXMzLWJ1Y2tldC1ub3RpZmljYXRpb25jb25maWcuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgQnVja2V0Tm90aWZpY2F0aW9ucyBleHRlbmRzIGNkay5Db25zdHJ1Y3Qge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGFtYmRhTm90aWZpY2F0aW9ucyA9IG5ldyBBcnJheTxMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb24+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWV1ZU5vdGlmaWNhdGlvbnMgPSBuZXcgQXJyYXk8UXVldWVDb25maWd1cmF0aW9uPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9waWNOb3RpZmljYXRpb25zID0gbmV3IEFycmF5PFRvcGljQ29uZmlndXJhdGlvbj4oKTtcbiAgICBwcml2YXRlIHJlc291cmNlPzogY2RrLlJlc291cmNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBCdWNrZXQ7XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOb3RpZmljYXRpb25zUHJvcHMpIHtcbiAgICAgICAgc3VwZXIocGFyZW50LCBpZCk7XG4gICAgICAgIHRoaXMuYnVja2V0ID0gcHJvcHMuYnVja2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBub3RpZmljYXRpb24gc3Vic2NyaXB0aW9uIGZvciB0aGlzIGJ1Y2tldC5cbiAgICAgKiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBub3RpZmljYXRpb24sIGEgQnVja2V0Tm90aWZpY2F0aW9uIHJlc291cmNlIGlzIGFkZGVkIHRvIHRoZSBzdGFjay5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudCBUaGUgdHlwZSBvZiBldmVudFxuICAgICAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBjb25zdHJ1Y3RcbiAgICAgKiBAcGFyYW0gZmlsdGVycyBBIHNldCBvZiBTMyBrZXkgZmlsdGVyc1xuICAgICAqL1xuICAgIHB1YmxpYyBhZGROb3RpZmljYXRpb24oZXZlbnQ6IEV2ZW50VHlwZSwgdGFyZ2V0OiBJQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24sIC4uLmZpbHRlcnM6IE5vdGlmaWNhdGlvbktleUZpbHRlcltdKSB7XG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5jcmVhdGVSZXNvdXJjZU9uY2UoKTtcblxuICAgICAgICAvLyByZXNvbHZlIHRhcmdldC4gdGhpcyBhbHNvIHByb3ZpZGVzIGFuIG9wcG9ydHVuaXR5IGZvciB0aGUgdGFyZ2V0IHRvIGUuZy4gdXBkYXRlXG4gICAgICAgIC8vIHBvbGljaWVzIHRvIGFsbG93IHRoaXMgbm90aWZpY2F0aW9uIHRvIGhhcHBlbi5cbiAgICAgICAgY29uc3QgdGFyZ2V0UHJvcHMgPSB0YXJnZXQuYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbih0aGlzLmJ1Y2tldC5idWNrZXRBcm4sIHRoaXMuYnVja2V0LnVuaXF1ZUlkKTtcbiAgICAgICAgY29uc3QgY29tbW9uQ29uZmlnOiBDb21tb25Db25maWd1cmF0aW9uID0ge1xuICAgICAgICAgICAgRXZlbnRzOiBbIGV2ZW50IF0sXG4gICAgICAgICAgICBGaWx0ZXI6IHJlbmRlckZpbHRlcnMoZmlsdGVycyksXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gaWYgdGhlIHRhcmdldCBzcGVjaWZpZXMgYW55IGRlcGVuZGVuY2llcywgYWRkIHRoZW0gdG8gdGhlIGN1c3RvbSByZXNvdXJjZS5cbiAgICAgICAgLy8gZm9yIGV4YW1wbGUsIHRoZSBTTlMgdG9waWMgcG9saWN5IG11c3QgYmUgY3JlYXRlZCAvYmVmb3JlLyB0aGUgbm90aWZpY2F0aW9uIHJlc291cmNlLlxuICAgICAgICAvLyBvdGhlcndpc2UsIFMzIHdvbid0IGJlIGFibGUgdG8gY29uZmlybSB0aGUgc3Vic2NyaXB0aW9uLlxuICAgICAgICBpZiAodGFyZ2V0UHJvcHMuZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgICByZXNvdXJjZS5hZGREZXBlbmRlbmN5KC4uLnRhcmdldFByb3BzLmRlcGVuZGVuY2llcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBiYXNlZCBvbiB0aGUgdGFyZ2V0IHR5cGUsIGFkZCB0aGUgdGhlIGNvcnJlY3QgY29uZmlndXJhdGlvbnMgYXJyYXlcbiAgICAgICAgc3dpdGNoICh0YXJnZXRQcm9wcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5MYW1iZGE6XG4gICAgICAgICAgICAgICAgdGhpcy5sYW1iZGFOb3RpZmljYXRpb25zLnB1c2goeyAuLi5jb21tb25Db25maWcsIExhbWJkYUZ1bmN0aW9uQXJuOiB0YXJnZXRQcm9wcy5hcm4gfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlF1ZXVlOlxuICAgICAgICAgICAgICAgIHRoaXMucXVldWVOb3RpZmljYXRpb25zLnB1c2goeyAuLi5jb21tb25Db25maWcsIFF1ZXVlQXJuOiB0YXJnZXRQcm9wcy5hcm4gfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlRvcGljOlxuICAgICAgICAgICAgICAgIHRoaXMudG9waWNOb3RpZmljYXRpb25zLnB1c2goeyAuLi5jb21tb25Db25maWcsIFRvcGljQXJuOiB0YXJnZXRQcm9wcy5hcm4gfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBub3RpZmljYXRpb24gdGFyZ2V0IHR5cGU6JyArIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZVt0YXJnZXRQcm9wcy50eXBlXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmRlck5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oKTogTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb25zOiB0aGlzLmxhbWJkYU5vdGlmaWNhdGlvbnMubGVuZ3RoID4gMCA/IHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIFF1ZXVlQ29uZmlndXJhdGlvbnM6IHRoaXMucXVldWVOb3RpZmljYXRpb25zLmxlbmd0aCA+IDAgPyB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIFRvcGljQ29uZmlndXJhdGlvbnM6IHRoaXMudG9waWNOb3RpZmljYXRpb25zLmxlbmd0aCA+IDAgPyB0aGlzLnRvcGljTm90aWZpY2F0aW9ucyA6IHVuZGVmaW5lZFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIGJ1Y2tldCBub3RpZmljYXRpb25zIHJlc291cmNlcyBpbiB0aGUgc3RhY2sgb25seSBvbmNlLlxuICAgICAqIFRoaXMgaXMgY2FsbGVkIGxhemlseSBhcyB3ZSBhZGQgbm90aWZpY2F0aW9ucywgc28gdGhhdCBpZiBub3RpZmljYXRpb25zIGFyZSBub3QgYWRkZWQsXG4gICAgICogdGhlcmUgaXMgbm8gbm90aWZpY2F0aW9ucyByZXNvdXJjZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZVJlc291cmNlT25jZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlc291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyQXJuID0gTm90aWZpY2F0aW9uc1Jlc291cmNlSGFuZGxlci5zaW5nbGV0b24odGhpcyk7XG5cbiAgICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY2RrLlJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnQ3VzdG9tOjpTM0J1Y2tldE5vdGlmaWNhdGlvbnMnLFxuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZVRva2VuOiBoYW5kbGVyQXJuLFxuICAgICAgICAgICAgICAgICAgICBCdWNrZXROYW1lOiB0aGlzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiBuZXcgY2RrLlRva2VuKCgpID0+IHRoaXMucmVuZGVyTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbigpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb3VyY2U7XG4gICAgfVxufVxuXG5mdW5jdGlvbiByZW5kZXJGaWx0ZXJzKGZpbHRlcnM/OiBOb3RpZmljYXRpb25LZXlGaWx0ZXJbXSk6IEZpbHRlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFmaWx0ZXJzIHx8IGZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgcmVuZGVyZWRSdWxlcyA9IG5ldyBBcnJheTxGaWx0ZXJSdWxlPigpO1xuXG4gICAgZm9yIChjb25zdCBydWxlIG9mIGZpbHRlcnMpIHtcbiAgICAgICAgaWYgKCFydWxlLnN1ZmZpeCAmJiAhcnVsZS5wcmVmaXgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm90aWZpY2F0aW9uS2V5RmlsdGVyIG11c3Qgc3BlY2lmeSBgcHJlZml4YCBhbmQvb3IgYHN1ZmZpeGAnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChydWxlLnN1ZmZpeCkge1xuICAgICAgICAgICAgcmVuZGVyZWRSdWxlcy5wdXNoKHsgTmFtZTogJ3N1ZmZpeCcsIFZhbHVlOiBydWxlLnN1ZmZpeCB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChydWxlLnByZWZpeCkge1xuICAgICAgICAgICAgcmVuZGVyZWRSdWxlcy5wdXNoKHsgTmFtZTogJ3ByZWZpeCcsIFZhbHVlOiBydWxlLnByZWZpeCB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIEtleToge1xuICAgICAgICAgICAgRmlsdGVyUnVsZXM6IHJlbmRlcmVkUnVsZXNcbiAgICAgICAgfVxuICAgIH07XG59XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uIHtcbiAgICBMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb25zPzogTGFtYmRhRnVuY3Rpb25Db25maWd1cmF0aW9uW107XG4gICAgUXVldWVDb25maWd1cmF0aW9ucz86IFF1ZXVlQ29uZmlndXJhdGlvbltdO1xuICAgIFRvcGljQ29uZmlndXJhdGlvbnM/OiBUb3BpY0NvbmZpZ3VyYXRpb25bXTtcbn1cblxuaW50ZXJmYWNlIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICAgIElkPzogc3RyaW5nO1xuICAgIEV2ZW50czogRXZlbnRUeXBlW107XG4gICAgRmlsdGVyPzogRmlsdGVyXG59XG5cbmludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBDb21tb25Db25maWd1cmF0aW9uIHtcbiAgICBMYW1iZGFGdW5jdGlvbkFybjogY2RrLkFybjtcbn1cblxuaW50ZXJmYWNlIFF1ZXVlQ29uZmlndXJhdGlvbiBleHRlbmRzIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICAgIFF1ZXVlQXJuOiBjZGsuQXJuO1xufVxuXG5pbnRlcmZhY2UgVG9waWNDb25maWd1cmF0aW9uIGV4dGVuZHMgQ29tbW9uQ29uZmlndXJhdGlvbiB7XG4gICAgVG9waWNBcm46IGNkay5Bcm47XG59XG5cbmludGVyZmFjZSBGaWx0ZXJSdWxlIHtcbiAgICBOYW1lOiAncHJlZml4JyB8ICdzdWZmaXgnO1xuICAgIFZhbHVlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBGaWx0ZXIge1xuICAgIEtleTogeyBGaWx0ZXJSdWxlczogRmlsdGVyUnVsZVtdIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm5vdGlmaWNhdGlvbnMtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx3RUFBa0g7QUFDbEgsb0NBQXFDO0FBRXJDLHFGQUFnRjtBQVloRjs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE1BQWEsbUJBQW9CLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFPbEQsWUFBWSxNQUFxQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNwRSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUEwsd0JBQW1CLEdBQUcsSUFBSSxLQUFLLEVBQStCLENBQUM7UUFDL0QsdUJBQWtCLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFDckQsdUJBQWtCLEdBQUcsSUFBSSxLQUFLLEVBQXNCLENBQUM7UUFNbEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksZUFBZSxDQUFDLEtBQWdCLEVBQUUsTUFBc0MsRUFBRSxHQUFHLE9BQWdDO1FBQ2hILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTNDLGtGQUFrRjtRQUNsRixpREFBaUQ7UUFDakQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEcsTUFBTSxZQUFZLEdBQXdCO1lBQ3RDLE1BQU0sRUFBRSxDQUFFLEtBQUssQ0FBRTtZQUNqQixNQUFNLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQztTQUNqQyxDQUFDO1FBRUYsNkVBQTZFO1FBQzdFLHdGQUF3RjtRQUN4RiwyREFBMkQ7UUFDM0QsSUFBSSxXQUFXLENBQUMsWUFBWSxFQUFFO1lBQzFC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LE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDOUQ7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDYixhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDOUQ7S0FDSjtJQUVELE9BQU87UUFDSCxHQUFHLEVBQUU7WUFDRCxXQUFXLEVBQUUsYUFBYTtTQUM3QjtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLCBJQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24gfSBmcm9tICdAYXdzLWNkay9hd3MtczMtbm90aWZpY2F0aW9ucyc7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5pbXBvcnQgeyBCdWNrZXQsIEV2ZW50VHlwZSwgTm90aWZpY2F0aW9uS2V5RmlsdGVyIH0gZnJvbSAnLi4vYnVja2V0JztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbnNSZXNvdXJjZUhhbmRsZXIgfSBmcm9tICcuL25vdGlmaWNhdGlvbnMtcmVzb3VyY2UtaGFuZGxlcic7XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcHMge1xuICAgIC8qKlxuICAgICAqIFRoZSBidWNrZXQgdG8gbWFuYWdlIG5vdGlmaWNhdGlvbnMgZm9yLlxuICAgICAqXG4gICAgICogVGhpcyBjYW5ub3QgYmUgYSBgQnVja2V0UmVmYCBiZWNhdXNlIHRoZSBidWNrZXQgbWFpbnRhaW5zIHRoZSAxOjFcbiAgICAgKiByZWxhdGlvbnNoaXAgd2l0aCB0aGlzIHJlc291cmNlLlxuICAgICAqL1xuICAgIGJ1Y2tldDogQnVja2V0O1xufVxuXG4vKipcbiAqIEEgY3VzdG9tIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHRoYXQgdXBkYXRlcyBidWNrZXQgbm90aWZpY2F0aW9ucyBmb3IgYVxuICogYnVja2V0LiBUaGUgcmVhc29uIHdlIG5lZWQgaXQgaXMgYmVjYXVzZSB0aGUgQVdTOjpTMzo6QnVja2V0IG5vdGlmaWNhdGlvblxuICogY29uZmlndXJhdGlvbiBpcyBkZWZpbmVkIG9uIHRoZSBidWNrZXQgaXRzZWxmLCB3aGljaCBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvXG4gKiBwcm92aXNpb24gbm90aWZpY2F0aW9ucyBhdCB0aGUgc2FtZSB0aW1lIGFzIHRoZSB0YXJnZXQgKHNpbmNlXG4gKiBQdXRCdWNrZXROb3RpZmljYXRpb25zIHZhbGlkYXRlcyB0aGUgdGFyZ2V0cykuXG4gKlxuICogU2luY2Ugb25seSBhIHNpbmdsZSBCdWNrZXROb3RpZmljYXRpb25zIHJlc291cmNlIGlzIGFsbG93ZWQgZm9yIGVhY2ggQnVja2V0LFxuICogdGhpcyBjb25zdHJ1Y3QgaXMgbm90IGV4cG9ydGVkIGluIHRoZSBwdWJsaWMgQVBJIG9mIHRoaXMgbW9kdWxlLiBJbnN0ZWFkLCBpdFxuICogaXMgY3JlYXRlZCBqdXN0LWluLXRpbWUgYnkgYHMzLkJ1Y2tldC5vbkV2ZW50YCwgc28gYSAxOjEgcmVsYXRpb25zaGlwIGlzXG4gKiBlbnN1cmVkLlxuICpcbiAqIEBzZWVcbiAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLXMzLWJ1Y2tldC1ub3RpZmljYXRpb25jb25maWcuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgQnVja2V0Tm90aWZpY2F0aW9ucyBleHRlbmRzIGNkay5Db25zdHJ1Y3Qge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbGFtYmRhTm90aWZpY2F0aW9ucyA9IG5ldyBBcnJheTxMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb24+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWV1ZU5vdGlmaWNhdGlvbnMgPSBuZXcgQXJyYXk8UXVldWVDb25maWd1cmF0aW9uPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9waWNOb3RpZmljYXRpb25zID0gbmV3IEFycmF5PFRvcGljQ29uZmlndXJhdGlvbj4oKTtcbiAgICBwcml2YXRlIHJlc291cmNlPzogY2RrLlJlc291cmNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYnVja2V0OiBCdWNrZXQ7XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnQ6IGNkay5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOb3RpZmljYXRpb25zUHJvcHMpIHtcbiAgICAgICAgc3VwZXIocGFyZW50LCBpZCk7XG4gICAgICAgIHRoaXMuYnVja2V0ID0gcHJvcHMuYnVja2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYSBub3RpZmljYXRpb24gc3Vic2NyaXB0aW9uIGZvciB0aGlzIGJ1Y2tldC5cbiAgICAgKiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBub3RpZmljYXRpb24sIGEgQnVja2V0Tm90aWZpY2F0aW9uIHJlc291cmNlIGlzIGFkZGVkIHRvIHRoZSBzdGFjay5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudCBUaGUgdHlwZSBvZiBldmVudFxuICAgICAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBjb25zdHJ1Y3RcbiAgICAgKiBAcGFyYW0gZmlsdGVycyBBIHNldCBvZiBTMyBrZXkgZmlsdGVyc1xuICAgICAqL1xuICAgIHB1YmxpYyBhZGROb3RpZmljYXRpb24oZXZlbnQ6IEV2ZW50VHlwZSwgdGFyZ2V0OiBJQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24sIC4uLmZpbHRlcnM6IE5vdGlmaWNhdGlvbktleUZpbHRlcltdKSB7XG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gdGhpcy5jcmVhdGVSZXNvdXJjZU9uY2UoKTtcblxuICAgICAgICAvLyByZXNvbHZlIHRhcmdldC4gdGhpcyBhbHNvIHByb3ZpZGVzIGFuIG9wcG9ydHVuaXR5IGZvciB0aGUgdGFyZ2V0IHRvIGUuZy4gdXBkYXRlXG4gICAgICAgIC8vIHBvbGljaWVzIHRvIGFsbG93IHRoaXMgbm90aWZpY2F0aW9uIHRvIGhhcHBlbi5cbiAgICAgICAgY29uc3QgdGFyZ2V0UHJvcHMgPSB0YXJnZXQuYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbih0aGlzLmJ1Y2tldC5idWNrZXRBcm4sIHRoaXMuYnVja2V0LnVuaXF1ZUlkKTtcbiAgICAgICAgY29uc3QgY29tbW9uQ29uZmlnOiBDb21tb25Db25maWd1cmF0aW9uID0ge1xuICAgICAgICAgICAgRXZlbnRzOiBbIGV2ZW50IF0sXG4gICAgICAgICAgICBGaWx0ZXI6IHJlbmRlckZpbHRlcnMoZmlsdGVycyksXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gaWYgdGhlIHRhcmdldCBzcGVjaWZpZXMgYW55IGRlcGVuZGVuY2llcywgYWRkIHRoZW0gdG8gdGhlIGN1c3RvbSByZXNvdXJjZS5cbiAgICAgICAgLy8gZm9yIGV4YW1wbGUsIHRoZSBTTlMgdG9waWMgcG9saWN5IG11c3QgYmUgY3JlYXRlZCAvYmVmb3JlLyB0aGUgbm90aWZpY2F0aW9uIHJlc291cmNlLlxuICAgICAgICAvLyBvdGhlcndpc2UsIFMzIHdvbid0IGJlIGFibGUgdG8gY29uZmlybSB0aGUgc3Vic2NyaXB0aW9uLlxuICAgICAgICBpZiAodGFyZ2V0UHJvcHMuZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgICAgICByZXNvdXJjZS5hZGREZXBlbmRlbmN5KC4uLnRhcmdldFByb3BzLmRlcGVuZGVuY2llcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBiYXNlZCBvbiB0aGUgdGFyZ2V0IHR5cGUsIGFkZCB0aGUgdGhlIGNvcnJlY3QgY29uZmlndXJhdGlvbnMgYXJyYXlcbiAgICAgICAgc3dpdGNoICh0YXJnZXRQcm9wcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5MYW1iZGE6XG4gICAgICAgICAgICAgICAgdGhpcy5sYW1iZGFOb3RpZmljYXRpb25zLnB1c2goeyAuLi5jb21tb25Db25maWcsIExhbWJkYUZ1bmN0aW9uQXJuOiB0YXJnZXRQcm9wcy5hcm4gfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlF1ZXVlOlxuICAgICAgICAgICAgICAgIHRoaXMucXVldWVOb3RpZmljYXRpb25zLnB1c2goeyAuLi5jb21tb25Db25maWcsIFF1ZXVlQXJuOiB0YXJnZXRQcm9wcy5hcm4gfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlRvcGljOlxuICAgICAgICAgICAgICAgIHRoaXMudG9waWNOb3RpZmljYXRpb25zLnB1c2goeyAuLi5jb21tb25Db25maWcsIFRvcGljQXJuOiB0YXJnZXRQcm9wcy5hcm4gfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbnN1cHBvcnRlZCBub3RpZmljYXRpb24gdGFyZ2V0IHR5cGU6JyArIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZVt0YXJnZXRQcm9wcy50eXBlXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmRlck5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb24oKTogTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb25zOiB0aGlzLmxhbWJkYU5vdGlmaWNhdGlvbnMubGVuZ3RoID4gMCA/IHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIFF1ZXVlQ29uZmlndXJhdGlvbnM6IHRoaXMucXVldWVOb3RpZmljYXRpb25zLmxlbmd0aCA+IDAgPyB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucyA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIFRvcGljQ29uZmlndXJhdGlvbnM6IHRoaXMudG9waWNOb3RpZmljYXRpb25zLmxlbmd0aCA+IDAgPyB0aGlzLnRvcGljTm90aWZpY2F0aW9ucyA6IHVuZGVmaW5lZFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIGJ1Y2tldCBub3RpZmljYXRpb25zIHJlc291cmNlcyBpbiB0aGUgc3RhY2sgb25seSBvbmNlLlxuICAgICAqIFRoaXMgaXMgY2FsbGVkIGxhemlseSBhcyB3ZSBhZGQgbm90aWZpY2F0aW9ucywgc28gdGhhdCBpZiBub3RpZmljYXRpb25zIGFyZSBub3QgYWRkZWQsXG4gICAgICogdGhlcmUgaXMgbm8gbm90aWZpY2F0aW9ucyByZXNvdXJjZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZVJlc291cmNlT25jZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlc291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyQXJuID0gTm90aWZpY2F0aW9uc1Jlc291cmNlSGFuZGxlci5zaW5nbGV0b24odGhpcyk7XG5cbiAgICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgY2RrLlJlc291cmNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnQ3VzdG9tOjpTM0J1Y2tldE5vdGlmaWNhdGlvbnMnLFxuICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgU2VydmljZVRva2VuOiBoYW5kbGVyQXJuLFxuICAgICAgICAgICAgICAgICAgICBCdWNrZXROYW1lOiB0aGlzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiBuZXcgY2RrLlRva2VuKCgpID0+IHRoaXMucmVuZGVyTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvbigpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb3VyY2U7XG4gICAgfVxufVxuXG5mdW5jdGlvbiByZW5kZXJGaWx0ZXJzKGZpbHRlcnM/OiBOb3RpZmljYXRpb25LZXlGaWx0ZXJbXSk6IEZpbHRlciB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFmaWx0ZXJzIHx8IGZpbHRlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgcmVuZGVyZWRSdWxlcyA9IG5ldyBBcnJheTxGaWx0ZXJSdWxlPigpO1xuXG4gICAgZm9yIChjb25zdCBydWxlIG9mIGZpbHRlcnMpIHtcbiAgICAgICAgaWYgKCFydWxlLnN1ZmZpeCAmJiAhcnVsZS5wcmVmaXgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm90aWZpY2F0aW9uS2V5RmlsdGVyIG11c3Qgc3BlY2lmeSBgcHJlZml4YCBhbmQvb3IgYHN1ZmZpeGAnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChydWxlLnN1ZmZpeCkge1xuICAgICAgICAgICAgcmVuZGVyZWRSdWxlcy5wdXNoKHsgTmFtZTogJ3N1ZmZpeCcsIFZhbHVlOiBydWxlLnN1ZmZpeCB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChydWxlLnByZWZpeCkge1xuICAgICAgICAgICAgcmVuZGVyZWRSdWxlcy5wdXNoKHsgTmFtZTogJ3ByZWZpeCcsIFZhbHVlOiBydWxlLnByZWZpeCB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIEtleToge1xuICAgICAgICAgICAgRmlsdGVyUnVsZXM6IHJlbmRlcmVkUnVsZXNcbiAgICAgICAgfVxuICAgIH07XG59XG5cbmludGVyZmFjZSBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uIHtcbiAgICBMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb25zPzogTGFtYmRhRnVuY3Rpb25Db25maWd1cmF0aW9uW107XG4gICAgUXVldWVDb25maWd1cmF0aW9ucz86IFF1ZXVlQ29uZmlndXJhdGlvbltdO1xuICAgIFRvcGljQ29uZmlndXJhdGlvbnM/OiBUb3BpY0NvbmZpZ3VyYXRpb25bXTtcbn1cblxuaW50ZXJmYWNlIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICAgIElkPzogc3RyaW5nO1xuICAgIEV2ZW50czogRXZlbnRUeXBlW107XG4gICAgRmlsdGVyPzogRmlsdGVyXG59XG5cbmludGVyZmFjZSBMYW1iZGFGdW5jdGlvbkNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBDb21tb25Db25maWd1cmF0aW9uIHtcbiAgICBMYW1iZGFGdW5jdGlvbkFybjogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUXVldWVDb25maWd1cmF0aW9uIGV4dGVuZHMgQ29tbW9uQ29uZmlndXJhdGlvbiB7XG4gICAgUXVldWVBcm46IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFRvcGljQ29uZmlndXJhdGlvbiBleHRlbmRzIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICAgIFRvcGljQXJuOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBGaWx0ZXJSdWxlIHtcbiAgICBOYW1lOiAncHJlZml4JyB8ICdzdWZmaXgnO1xuICAgIFZhbHVlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBGaWx0ZXIge1xuICAgIEtleTogeyBGaWx0ZXJSdWxlczogRmlsdGVyUnVsZVtdIH1cbn1cbiJdfQ==

@@ -94,16 +94,16 @@ import cdk = require('@aws-cdk/cdk');

*/
readonly bucketArn: BucketArn;
readonly bucketArn: string;
/**
* @cloudformation_attribute DomainName
*/
readonly bucketDomainName: BucketDomainName;
readonly bucketDomainName: string;
/**
* @cloudformation_attribute DualStackDomainName
*/
readonly bucketDualStackDomainName: BucketDualStackDomainName;
readonly bucketDualStackDomainName: string;
/**
* @cloudformation_attribute WebsiteURL
*/
readonly bucketWebsiteUrl: BucketWebsiteUrl;
readonly ref: BucketName;
readonly bucketWebsiteUrl: string;
readonly bucketName: string;
/**

@@ -915,17 +915,2 @@ * Creates a new ``AWS::S3::Bucket``.

}
export declare class BucketArn extends cdk.Arn {
private readonly thisIsABucketArn;
}
export declare class BucketDomainName extends cdk.CloudFormationToken {
private readonly thisIsABucketDomainName;
}
export declare class BucketDualStackDomainName extends cdk.CloudFormationToken {
private readonly thisIsABucketDualStackDomainName;
}
export declare class BucketWebsiteUrl extends cdk.CloudFormationToken {
private readonly thisIsABucketWebsiteUrl;
}
export declare class BucketName extends cdk.CloudFormationToken {
private readonly thisIsABucketName;
}
export declare namespace cloudformation {

@@ -932,0 +917,0 @@ /**

import { BucketRefProps } from './bucket';
import { BucketArn, BucketName } from './s3.generated';
export declare function parseBucketArn(props: BucketRefProps): BucketArn;
export declare function parseBucketName(props: BucketRefProps): BucketName | undefined;
export declare function parseBucketArn(props: BucketRefProps): string;
export declare function parseBucketName(props: BucketRefProps): string | undefined;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const cdk_1 = require("@aws-cdk/cdk");
const s3_generated_1 = require("./s3.generated");
const cdk = require("@aws-cdk/cdk");
function parseBucketArn(props) {

@@ -11,3 +10,3 @@ // if we have an explicit bucket ARN, use it.

if (props.bucketName) {
return new s3_generated_1.BucketArn(cdk_1.Arn.fromComponents({
return cdk.ArnUtils.fromComponents({
// S3 Bucket names are globally unique in a partition,

@@ -19,3 +18,3 @@ // and so their ARNs have empty region and account components

resource: props.bucketName
}));
});
}

@@ -32,5 +31,5 @@ throw new Error('Cannot determine bucket ARN. At least `bucketArn` or `bucketName` is needed');

if (props.bucketArn) {
const resolved = props.bucketArn.resolve();
const resolved = cdk.resolve(props.bucketArn);
if (typeof (resolved) === 'string') {
const components = cdk_1.Arn.parse(resolved);
const components = cdk.ArnUtils.parse(resolved);
if (components.service !== 's3') {

@@ -49,2 +48,2 @@ throw new Error('Invalid ARN. Expecting "s3" service:' + resolved);

exports.parseBucketName = parseBucketName;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxzQ0FBbUM7QUFFbkMsaURBQXVEO0FBRXZELFNBQWdCLGNBQWMsQ0FBQyxLQUFxQjtJQUVoRCw2Q0FBNkM7SUFDN0MsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQztLQUMxQjtJQUVELElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtRQUNsQixPQUFPLElBQUksd0JBQVMsQ0FBQyxTQUFHLENBQUMsY0FBYyxDQUFDO1lBQ3BDLHNEQUFzRDtZQUN0RCw2REFBNkQ7WUFDN0QsTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzdCLENBQUMsQ0FBQyxDQUFDO0tBQ1A7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDZFQUE2RSxDQUFDLENBQUM7QUFDbkcsQ0FBQztBQW5CRCx3Q0FtQkM7QUFFRCxTQUFnQixlQUFlLENBQUMsS0FBcUI7SUFFakQsOENBQThDO0lBQzlDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtRQUNsQixPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUM7S0FDM0I7SUFFRCxtRUFBbUU7SUFDbkUsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsSUFBSSxPQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQy9CLE1BQU0sVUFBVSxHQUFHLFNBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkMsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRTtnQkFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsR0FBRyxRQUFRLENBQUMsQ0FBQzthQUN0RTtZQUNELElBQUksVUFBVSxDQUFDLFlBQVksRUFBRTtnQkFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO2FBQ3pEO1lBQ0QsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzlCO0tBQ0o7SUFFRCw4Q0FBOEM7SUFDOUMsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQXhCRCwwQ0F3QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcm4gfSBmcm9tICdAYXdzLWNkay9jZGsnO1xuaW1wb3J0IHsgQnVja2V0UmVmUHJvcHMgfSBmcm9tICcuL2J1Y2tldCc7XG5pbXBvcnQgeyBCdWNrZXRBcm4sIEJ1Y2tldE5hbWUgfSBmcm9tICcuL3MzLmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJ1Y2tldEFybihwcm9wczogQnVja2V0UmVmUHJvcHMpOiBCdWNrZXRBcm4ge1xuXG4gICAgLy8gaWYgd2UgaGF2ZSBhbiBleHBsaWNpdCBidWNrZXQgQVJOLCB1c2UgaXQuXG4gICAgaWYgKHByb3BzLmJ1Y2tldEFybikge1xuICAgICAgICByZXR1cm4gcHJvcHMuYnVja2V0QXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5idWNrZXROYW1lKSB7XG4gICAgICAgIHJldHVybiBuZXcgQnVja2V0QXJuKEFybi5mcm9tQ29tcG9uZW50cyh7XG4gICAgICAgICAgICAvLyBTMyBCdWNrZXQgbmFtZXMgYXJlIGdsb2JhbGx5IHVuaXF1ZSBpbiBhIHBhcnRpdGlvbixcbiAgICAgICAgICAgIC8vIGFuZCBzbyB0aGVpciBBUk5zIGhhdmUgZW1wdHkgcmVnaW9uIGFuZCBhY2NvdW50IGNvbXBvbmVudHNcbiAgICAgICAgICAgIHJlZ2lvbjogJycsXG4gICAgICAgICAgICBhY2NvdW50OiAnJyxcbiAgICAgICAgICAgIHNlcnZpY2U6ICdzMycsXG4gICAgICAgICAgICByZXNvdXJjZTogcHJvcHMuYnVja2V0TmFtZVxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGV0ZXJtaW5lIGJ1Y2tldCBBUk4uIEF0IGxlYXN0IGBidWNrZXRBcm5gIG9yIGBidWNrZXROYW1lYCBpcyBuZWVkZWQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQnVja2V0TmFtZShwcm9wczogQnVja2V0UmVmUHJvcHMpOiBCdWNrZXROYW1lIHwgdW5kZWZpbmVkIHtcblxuICAgIC8vIGlmIHdlIGhhdmUgYW4gZXhwbGljaXQgYnVja2V0IG5hbWUsIHVzZSBpdC5cbiAgICBpZiAocHJvcHMuYnVja2V0TmFtZSkge1xuICAgICAgICByZXR1cm4gcHJvcHMuYnVja2V0TmFtZTtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBoYXZlIGEgc3RyaW5nIGFybiwgd2UgY2FuIGV4dHJhY3QgdGhlIGJ1Y2tldCBuYW1lIGZyb20gaXQuXG4gICAgaWYgKHByb3BzLmJ1Y2tldEFybikge1xuICAgICAgICBjb25zdCByZXNvbHZlZCA9IHByb3BzLmJ1Y2tldEFybi5yZXNvbHZlKCk7XG4gICAgICAgIGlmICh0eXBlb2YocmVzb2x2ZWQpID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50cyA9IEFybi5wYXJzZShyZXNvbHZlZCk7XG4gICAgICAgICAgICBpZiAoY29tcG9uZW50cy5zZXJ2aWNlICE9PSAnczMnKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEFSTi4gRXhwZWN0aW5nIFwiczNcIiBzZXJ2aWNlOicgKyByZXNvbHZlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY29tcG9uZW50cy5yZXNvdXJjZU5hbWUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJ1Y2tldCBBUk4gbXVzdCBub3QgY29udGFpbiBhIHBhdGhgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnRzLnJlc291cmNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gbm8gYnVja2V0IG5hbWUgaXMgb2theSBzaW5jZSBpdCdzIG9wdGlvbmFsLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvQ0FBcUM7QUFHckMsU0FBZ0IsY0FBYyxDQUFDLEtBQXFCO0lBRWhELDZDQUE2QztJQUM3QyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7UUFDakIsT0FBTyxLQUFLLENBQUMsU0FBUyxDQUFDO0tBQzFCO0lBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1FBQ2xCLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDL0Isc0RBQXNEO1lBQ3RELDZEQUE2RDtZQUM3RCxNQUFNLEVBQUUsRUFBRTtZQUNWLE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDN0IsQ0FBQyxDQUFDO0tBQ047SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDZFQUE2RSxDQUFDLENBQUM7QUFDbkcsQ0FBQztBQW5CRCx3Q0FtQkM7QUFFRCxTQUFnQixlQUFlLENBQUMsS0FBcUI7SUFFakQsOENBQThDO0lBQzlDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRTtRQUNsQixPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUM7S0FDM0I7SUFFRCxtRUFBbUU7SUFDbkUsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1FBRWpCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLElBQUksT0FBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO2dCQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO2FBQ3RFO1lBQ0QsSUFBSSxVQUFVLENBQUMsWUFBWSxFQUFFO2dCQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7YUFDekQ7WUFDRCxPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDOUI7S0FDSjtJQUVELDhDQUE4QztJQUM5QyxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBekJELDBDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcbmltcG9ydCB7IEJ1Y2tldFJlZlByb3BzIH0gZnJvbSAnLi9idWNrZXQnO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCdWNrZXRBcm4ocHJvcHM6IEJ1Y2tldFJlZlByb3BzKTogc3RyaW5nIHtcblxuICAgIC8vIGlmIHdlIGhhdmUgYW4gZXhwbGljaXQgYnVja2V0IEFSTiwgdXNlIGl0LlxuICAgIGlmIChwcm9wcy5idWNrZXRBcm4pIHtcbiAgICAgICAgcmV0dXJuIHByb3BzLmJ1Y2tldEFybjtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuYnVja2V0TmFtZSkge1xuICAgICAgICByZXR1cm4gY2RrLkFyblV0aWxzLmZyb21Db21wb25lbnRzKHtcbiAgICAgICAgICAgIC8vIFMzIEJ1Y2tldCBuYW1lcyBhcmUgZ2xvYmFsbHkgdW5pcXVlIGluIGEgcGFydGl0aW9uLFxuICAgICAgICAgICAgLy8gYW5kIHNvIHRoZWlyIEFSTnMgaGF2ZSBlbXB0eSByZWdpb24gYW5kIGFjY291bnQgY29tcG9uZW50c1xuICAgICAgICAgICAgcmVnaW9uOiAnJyxcbiAgICAgICAgICAgIGFjY291bnQ6ICcnLFxuICAgICAgICAgICAgc2VydmljZTogJ3MzJyxcbiAgICAgICAgICAgIHJlc291cmNlOiBwcm9wcy5idWNrZXROYW1lXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRldGVybWluZSBidWNrZXQgQVJOLiBBdCBsZWFzdCBgYnVja2V0QXJuYCBvciBgYnVja2V0TmFtZWAgaXMgbmVlZGVkJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJ1Y2tldE5hbWUocHJvcHM6IEJ1Y2tldFJlZlByb3BzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblxuICAgIC8vIGlmIHdlIGhhdmUgYW4gZXhwbGljaXQgYnVja2V0IG5hbWUsIHVzZSBpdC5cbiAgICBpZiAocHJvcHMuYnVja2V0TmFtZSkge1xuICAgICAgICByZXR1cm4gcHJvcHMuYnVja2V0TmFtZTtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBoYXZlIGEgc3RyaW5nIGFybiwgd2UgY2FuIGV4dHJhY3QgdGhlIGJ1Y2tldCBuYW1lIGZyb20gaXQuXG4gICAgaWYgKHByb3BzLmJ1Y2tldEFybikge1xuXG4gICAgICAgIGNvbnN0IHJlc29sdmVkID0gY2RrLnJlc29sdmUocHJvcHMuYnVja2V0QXJuKTtcbiAgICAgICAgaWYgKHR5cGVvZihyZXNvbHZlZCkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRzID0gY2RrLkFyblV0aWxzLnBhcnNlKHJlc29sdmVkKTtcbiAgICAgICAgICAgIGlmIChjb21wb25lbnRzLnNlcnZpY2UgIT09ICdzMycpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgQVJOLiBFeHBlY3RpbmcgXCJzM1wiIHNlcnZpY2U6JyArIHJlc29sdmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb21wb25lbnRzLnJlc291cmNlTmFtZSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQnVja2V0IEFSTiBtdXN0IG5vdCBjb250YWluIGEgcGF0aGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudHMucmVzb3VyY2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBubyBidWNrZXQgbmFtZSBpcyBva2F5IHNpbmNlIGl0J3Mgb3B0aW9uYWwuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiJdfQ==
{
"name": "@aws-cdk/aws-s3",
"version": "0.9.1",
"version": "0.9.2",
"description": "CDK Constructs for AWS S3",

@@ -55,16 +55,16 @@ "main": "lib/index.js",

"devDependencies": {
"@aws-cdk/assert": "^0.9.1",
"cdk-build-tools": "^0.9.1",
"cdk-integ-tools": "^0.9.1",
"cfn2ts": "^0.9.1",
"pkglint": "^0.9.1"
"@aws-cdk/assert": "^0.9.2",
"cdk-build-tools": "^0.9.2",
"cdk-integ-tools": "^0.9.2",
"cfn2ts": "^0.9.2",
"pkglint": "^0.9.2"
},
"dependencies": {
"@aws-cdk/aws-codepipeline-api": "^0.9.1",
"@aws-cdk/aws-iam": "^0.9.1",
"@aws-cdk/aws-kms": "^0.9.1",
"@aws-cdk/aws-s3-notifications": "^0.9.1",
"@aws-cdk/cdk": "^0.9.1"
"@aws-cdk/aws-codepipeline-api": "^0.9.2",
"@aws-cdk/aws-iam": "^0.9.2",
"@aws-cdk/aws-kms": "^0.9.2",
"@aws-cdk/aws-s3-notifications": "^0.9.2",
"@aws-cdk/cdk": "^0.9.2"
},
"homepage": "https://github.com/awslabs/aws-cdk"
}

@@ -8,7 +8,7 @@ import s3notifications = require('@aws-cdk/aws-s3-notifications');

export declare class Topic extends cdk.Construct implements s3notifications.IBucketNotificationDestination {
readonly topicArn: cdk.Arn;
readonly topicArn: string;
private readonly policy;
private readonly notifyingBucketPaths;
constructor(parent: cdk.Construct, id: string);
asBucketNotificationDestination(bucketArn: cdk.Arn, bucketId: string): s3notifications.BucketNotificationDestinationProps;
asBucketNotificationDestination(bucketArn: string, bucketId: string): s3notifications.BucketNotificationDestinationProps;
}

@@ -15,3 +15,3 @@ "use strict";

const resource = new cdk.Resource(this, 'Resource', { type: 'AWS::SNS::Topic' });
const topicArn = new cdk.Ref(resource);
const topicArn = resource.ref;
new cdk.Resource(this, 'Policy', {

@@ -24,3 +24,3 @@ type: 'AWS::SNS::TopicPolicy',

});
this.topicArn = new cdk.Arn(topicArn);
this.topicArn = topicArn;
}

@@ -45,2 +45,2 @@ asBucketNotificationDestination(bucketArn, bucketId) {

exports.Topic = Topic;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWRlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm90aWZpY2F0aW9uLWRlc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUVBQWtFO0FBQ2xFLG9DQUFxQztBQUVyQzs7O0dBR0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxHQUFHLENBQUMsU0FBUztJQUtwQyxZQUFZLE1BQXFCLEVBQUUsRUFBVTtRQUN6QyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBSkwsV0FBTSxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2xDLHlCQUFvQixHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFLdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM3QixJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUsQ0FBRSxRQUFRLENBQUU7Z0JBQ3BCLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTTthQUM5QjtTQUNKLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSwrQkFBK0IsQ0FBQyxTQUFrQixFQUFFLFFBQWdCO1FBRXZFLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxlQUFlLEVBQUU7aUJBQzdDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7aUJBQzVDLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDO2lCQUN2QyxTQUFTLENBQUMsYUFBYSxDQUFDO2lCQUN4QixXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztpQkFDMUIsWUFBWSxDQUFDLFNBQVMsRUFBRSxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzQztRQUVELE9BQU87WUFDSCxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbEIsSUFBSSxFQUFFLGVBQWUsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLO1NBQ2hFLENBQUM7SUFDTixDQUFDO0NBQ0o7QUF4Q0Qsc0JBd0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHMzbm90aWZpY2F0aW9ucyA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1zMy1ub3RpZmljYXRpb25zJyk7XG5pbXBvcnQgY2RrID0gcmVxdWlyZSgnQGF3cy1jZGsvY2RrJyk7XG5cbi8qKlxuICogU2luY2Ugd2UgY2FuJ3QgdGFrZSBhIGRlcGVuZGVuY3kgb24gQGF3cy1jZGsvc25zLCB0aGlzIGlzIGEgc2ltcGxlIHdyYXBwZXJcbiAqIGZvciBBV1M6OlNOUzo6VG9waWMgd2hpY2ggaW1wbGVtZW50cyBJQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBUb3BpYyBleHRlbmRzIGNkay5Db25zdHJ1Y3QgaW1wbGVtZW50cyBzM25vdGlmaWNhdGlvbnMuSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9waWNBcm46IGNkay5Bcm47XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb2xpY3kgPSBuZXcgY2RrLlBvbGljeURvY3VtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZnlpbmdCdWNrZXRQYXRocyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7IHR5cGU6ICdBV1M6OlNOUzo6VG9waWMnIH0pO1xuICAgICAgICBjb25zdCB0b3BpY0FybiA9IG5ldyBjZGsuUmVmKHJlc291cmNlKTtcblxuICAgICAgICBuZXcgY2RrLlJlc291cmNlKHRoaXMsICdQb2xpY3knLCB7XG4gICAgICAgICAgICB0eXBlOiAnQVdTOjpTTlM6OlRvcGljUG9saWN5JyxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICBUb3BpY3M6IFsgdG9waWNBcm4gXSxcbiAgICAgICAgICAgICAgICBQb2xpY3lEb2N1bWVudDogdGhpcy5wb2xpY3lcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50b3BpY0FybiA9IG5ldyBjZGsuQXJuKHRvcGljQXJuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbihidWNrZXRBcm46IGNkay5Bcm4sIGJ1Y2tldElkOiBzdHJpbmcpOiBzM25vdGlmaWNhdGlvbnMuQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25Qcm9wcyB7XG5cbiAgICAgICAgLy8gYWRkIHBlcm1pc3Npb24gdG8gZWFjaCBzb3VyY2UgYnVja2V0XG4gICAgICAgIGlmICghdGhpcy5ub3RpZnlpbmdCdWNrZXRQYXRocy5oYXMoYnVja2V0SWQpKSB7XG4gICAgICAgICAgICB0aGlzLnBvbGljeS5hZGRTdGF0ZW1lbnQobmV3IGNkay5Qb2xpY3lTdGF0ZW1lbnQoKVxuICAgICAgICAgICAgICAgIC5kZXNjcmliZShgc2lkJHt0aGlzLnBvbGljeS5zdGF0ZW1lbnRDb3VudH1gKVxuICAgICAgICAgICAgICAgIC5hZGRTZXJ2aWNlUHJpbmNpcGFsKCdzMy5hbWF6b25hd3MuY29tJylcbiAgICAgICAgICAgICAgICAuYWRkQWN0aW9uKCdzbnM6UHVibGlzaCcpXG4gICAgICAgICAgICAgICAgLmFkZFJlc291cmNlKHRoaXMudG9waWNBcm4pXG4gICAgICAgICAgICAgICAgLmFkZENvbmRpdGlvbignQXJuTGlrZScsIHsgXCJhd3M6U291cmNlQXJuXCI6IGJ1Y2tldEFybiB9KSk7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeWluZ0J1Y2tldFBhdGhzLmFkZChidWNrZXRJZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYXJuOiB0aGlzLnRvcGljQXJuLFxuICAgICAgICAgICAgdHlwZTogczNub3RpZmljYXRpb25zLkJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5Ub3BpY1xuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWRlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm90aWZpY2F0aW9uLWRlc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUVBQWtFO0FBQ2xFLG9DQUFxQztBQUVyQzs7O0dBR0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxHQUFHLENBQUMsU0FBUztJQUtwQyxZQUFZLE1BQXFCLEVBQUUsRUFBVTtRQUN6QyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBSkwsV0FBTSxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2xDLHlCQUFvQixHQUFHLElBQUksR0FBRyxFQUFVLENBQUM7UUFLdEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ2pGLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFFOUIsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDN0IsSUFBSSxFQUFFLHVCQUF1QjtZQUM3QixVQUFVLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLENBQUUsUUFBUSxDQUFFO2dCQUNwQixjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDOUI7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDO0lBRU0sK0JBQStCLENBQUMsU0FBaUIsRUFBRSxRQUFnQjtRQUV0RSx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLENBQUMsZUFBZSxFQUFFO2lCQUM3QyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO2lCQUM1QyxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDdkMsU0FBUyxDQUFDLGFBQWEsQ0FBQztpQkFDeEIsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQzFCLFlBQVksQ0FBQyxTQUFTLEVBQUUsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDM0M7UUFFRCxPQUFPO1lBQ0gsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ2xCLElBQUksRUFBRSxlQUFlLENBQUMsaUNBQWlDLENBQUMsS0FBSztTQUNoRSxDQUFDO0lBQ04sQ0FBQztDQUNKO0FBeENELHNCQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzM25vdGlmaWNhdGlvbnMgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtczMtbm90aWZpY2F0aW9ucycpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuXG4vKipcbiAqIFNpbmNlIHdlIGNhbid0IHRha2UgYSBkZXBlbmRlbmN5IG9uIEBhd3MtY2RrL3NucywgdGhpcyBpcyBhIHNpbXBsZSB3cmFwcGVyXG4gKiBmb3IgQVdTOjpTTlM6OlRvcGljIHdoaWNoIGltcGxlbWVudHMgSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVG9waWMgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgczNub3RpZmljYXRpb25zLklCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbiB7XG4gICAgcHVibGljIHJlYWRvbmx5IHRvcGljQXJuOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb2xpY3kgPSBuZXcgY2RrLlBvbGljeURvY3VtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBub3RpZnlpbmdCdWNrZXRQYXRocyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHBhcmVudCwgaWQpO1xuXG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGNkay5SZXNvdXJjZSh0aGlzLCAnUmVzb3VyY2UnLCB7IHR5cGU6ICdBV1M6OlNOUzo6VG9waWMnIH0pO1xuICAgICAgICBjb25zdCB0b3BpY0FybiA9IHJlc291cmNlLnJlZjtcblxuICAgICAgICBuZXcgY2RrLlJlc291cmNlKHRoaXMsICdQb2xpY3knLCB7XG4gICAgICAgICAgICB0eXBlOiAnQVdTOjpTTlM6OlRvcGljUG9saWN5JyxcbiAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICBUb3BpY3M6IFsgdG9waWNBcm4gXSxcbiAgICAgICAgICAgICAgICBQb2xpY3lEb2N1bWVudDogdGhpcy5wb2xpY3lcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50b3BpY0FybiA9IHRvcGljQXJuO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc0J1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uKGJ1Y2tldEFybjogc3RyaW5nLCBidWNrZXRJZDogc3RyaW5nKTogczNub3RpZmljYXRpb25zLkJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uUHJvcHMge1xuXG4gICAgICAgIC8vIGFkZCBwZXJtaXNzaW9uIHRvIGVhY2ggc291cmNlIGJ1Y2tldFxuICAgICAgICBpZiAoIXRoaXMubm90aWZ5aW5nQnVja2V0UGF0aHMuaGFzKGJ1Y2tldElkKSkge1xuICAgICAgICAgICAgdGhpcy5wb2xpY3kuYWRkU3RhdGVtZW50KG5ldyBjZGsuUG9saWN5U3RhdGVtZW50KClcbiAgICAgICAgICAgICAgICAuZGVzY3JpYmUoYHNpZCR7dGhpcy5wb2xpY3kuc3RhdGVtZW50Q291bnR9YClcbiAgICAgICAgICAgICAgICAuYWRkU2VydmljZVByaW5jaXBhbCgnczMuYW1hem9uYXdzLmNvbScpXG4gICAgICAgICAgICAgICAgLmFkZEFjdGlvbignc25zOlB1Ymxpc2gnKVxuICAgICAgICAgICAgICAgIC5hZGRSZXNvdXJjZSh0aGlzLnRvcGljQXJuKVxuICAgICAgICAgICAgICAgIC5hZGRDb25kaXRpb24oJ0Fybkxpa2UnLCB7IFwiYXdzOlNvdXJjZUFyblwiOiBidWNrZXRBcm4gfSkpO1xuICAgICAgICAgICAgdGhpcy5ub3RpZnlpbmdCdWNrZXRQYXRocy5hZGQoYnVja2V0SWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFybjogdGhpcy50b3BpY0FybixcbiAgICAgICAgICAgIHR5cGU6IHMzbm90aWZpY2F0aW9ucy5CdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuVG9waWNcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=

@@ -80,3 +80,3 @@ "use strict";

type: s3n.BucketNotificationDestinationType.Queue,
arn: new cdk.Arn('arn:aws:sqs:...')
arn: 'arn:aws:sqs:...'
})

@@ -87,3 +87,3 @@ };

type: s3n.BucketNotificationDestinationType.Lambda,
arn: new cdk.Arn('arn:aws:lambda:...')
arn: 'arn:aws:lambda:...'
})

@@ -94,3 +94,3 @@ };

type: s3n.BucketNotificationDestinationType.Topic,
arn: new cdk.Arn('arn:aws:sns:...')
arn: 'arn:aws:sns:...'
})

@@ -156,3 +156,3 @@ };

type: s3n.BucketNotificationDestinationType.Queue,
arn: new cdk.Arn('arn:aws:sqs:...:queue1')
arn: 'arn:aws:sqs:...:queue1'
})

@@ -163,3 +163,3 @@ });

type: s3n.BucketNotificationDestinationType.Queue,
arn: new cdk.Arn('arn:aws:sqs:...:queue2')
arn: 'arn:aws:sqs:...:queue2'
})

@@ -201,3 +201,3 @@ });

type: s3n.BucketNotificationDestinationType.Queue,
arn: new cdk.Arn('arn:aws:sqs:...')
arn: 'arn:aws:sqs:...'
};

@@ -248,3 +248,3 @@ bucket.onEvent(s3.EventType.ObjectRemovedDelete, { asBucketNotificationDestination: _ => bucketNotificationTarget }, { prefix: 'images/', suffix: '.jpg' });

asBucketNotificationDestination: () => ({
arn: new cdk.Arn('arn'),
arn: 'arn',
type: s3n.BucketNotificationDestinationType.Queue,

@@ -267,2 +267,2 @@ dependencies: [dependent]

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5ub3RpZmljYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC5ub3RpZmljYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBdUQ7QUFDdkQscURBQXNEO0FBQ3RELG9DQUFxQztBQUNyQyxzQ0FBcUM7QUFFckMsNkJBQThCO0FBQzlCLDZEQUE2QztBQUs3QyxpQkFBUztJQUNMLDhCQUE4QixDQUFDLElBQVU7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFOUIsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVqQyxlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3BCLFdBQVcsRUFBRTtnQkFDWCxrQkFBa0IsRUFBRTtvQkFDbEIsTUFBTSxFQUFFLGlCQUFpQjtpQkFDMUI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQseUZBQXlGLENBQUMsSUFBVTtRQUNoRyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU5QixNQUFNLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWhELE1BQU0sS0FBSyxHQUFHLElBQUksMEJBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsRCxlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ2xELGVBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMscUJB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RSxDQUFFLFdBQVcsQ0FBRTtTQUM3QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleHBlY3QsIGhhdmVSZXNvdXJjZSB9IGZyb20gJ0Bhd3MtY2RrL2Fzc2VydCc7XG5pbXBvcnQgczNuID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLXMzLW5vdGlmaWNhdGlvbnMnKTtcbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnQGF3cy1jZGsvY2RrJztcbmltcG9ydCB7IFRlc3QgfSBmcm9tICdub2RldW5pdCc7XG5pbXBvcnQgczMgPSByZXF1aXJlKCcuLi9saWInKTtcbmltcG9ydCB7IFRvcGljIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tZGVzdHMnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZTpvYmplY3QtbGl0ZXJhbC1rZXktcXVvdGVzXG4vLyB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGhcblxuZXhwb3J0ID0ge1xuICAgICdidWNrZXQgd2l0aG91dCBub3RpZmljYXRpb25zJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgICAgIG5ldyBzMy5CdWNrZXQoc3RhY2ssICdNeUJ1Y2tldCcpO1xuXG4gICAgICAgIGV4cGVjdChzdGFjaykudG9NYXRjaCh7XG4gICAgICAgICAgXCJSZXNvdXJjZXNcIjoge1xuICAgICAgICAgICAgXCJNeUJ1Y2tldEY2OEYzRkYwXCI6IHtcbiAgICAgICAgICAgICAgXCJUeXBlXCI6IFwiQVdTOjpTMzo6QnVja2V0XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnd2hlbiBub3RpZmljYXRpb24gYXJlIGFkZGVkLCBhIGN1c3RvbSByZXNvdXJjZSBpcyBwcm92aXNpb25lZCArIGEgbGFtYmRhIGhhbmRsZXIgZm9yIGl0Jyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQoc3RhY2ssICdNeUJ1Y2tldCcpO1xuXG4gICAgICAgIGNvbnN0IHRvcGljID0gbmV3IFRvcGljKHN0YWNrLCAnTXlUb3BpYycpO1xuXG4gICAgICAgIGJ1Y2tldC5vbkV2ZW50KHMzLkV2ZW50VHlwZS5PYmplY3RDcmVhdGVkLCB0b3BpYyk7XG5cbiAgICAgICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6UzM6OkJ1Y2tldCcpKTtcbiAgICAgICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6TGFtYmRhOjpGdW5jdGlvbicsIHsgRGVzY3JpcHRpb246ICdBV1MgQ2xvdWRGb3JtYXRpb24gaGFuZGxlciBmb3IgXCJDdXN0b206OlMzQnVja2V0Tm90aWZpY2F0aW9uc1wiIHJlc291cmNlcyAoQGF3cy1jZGsvYXdzLXMzKScgfSkpO1xuICAgICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQ3VzdG9tOjpTM0J1Y2tldE5vdGlmaWNhdGlvbnMnKSk7XG5cbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcblxuICAgICdidWNrZXROb3RpZmljYXRpb25UYXJnZXQgaXMgbm90IGNhbGxlZCBkdXJpbmcgc3ludGhlc2lzJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgICAgIC8vIG5vdGljZSB0aGUgb3JkZXIgaGVyZSAtIHRvcGljIGlzIGRlZmluZWQgYmVmb3JlIGJ1Y2tldFxuICAgICAgICAvLyBidXQgdGhpcyBzaG91bGRuJ3QgaW1wYWN0IHRoZSBmYWN0IHRoYXQgdGhlIHRvcGljIHBvbGljeSBpbmNsdWRlc1xuICAgICAgICAvLyB0aGUgYnVja2V0IGluZm9ybWF0aW9uXG4gICAgICAgIGNvbnN0IHRvcGljID0gbmV3IFRvcGljKHN0YWNrLCAnVG9waWMnKTtcbiAgICAgICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldChzdGFjaywgJ015QnVja2V0Jyk7XG5cbiAgICAgICAgYnVja2V0Lm9uT2JqZWN0Q3JlYXRlZCh0b3BpYyk7XG5cbiAgICAgICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6U05TOjpUb3BpY1BvbGljeScsIHtcbiAgICAgICAgICBcIlRvcGljc1wiOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIFwiUmVmXCI6IFwiVG9waWNCRkM3QUY2RVwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICBcIlBvbGljeURvY3VtZW50XCI6IHtcbiAgICAgICAgICAgIFwiU3RhdGVtZW50XCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiQWN0aW9uXCI6IFwic25zOlB1Ymxpc2hcIixcbiAgICAgICAgICAgICAgICBcIkNvbmRpdGlvblwiOiB7XG4gICAgICAgICAgICAgICAgICBcIkFybkxpa2VcIjoge1xuICAgICAgICAgICAgICAgICAgICBcImF3czpTb3VyY2VBcm5cIjoge1xuICAgICAgICAgICAgICAgICAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBcIk15QnVja2V0RjY4RjNGRjBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiQXJuXCJcbiAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiRWZmZWN0XCI6IFwiQWxsb3dcIixcbiAgICAgICAgICAgICAgICBcIlByaW5jaXBhbFwiOiB7XG4gICAgICAgICAgICAgICAgICBcIlNlcnZpY2VcIjogXCJzMy5hbWF6b25hd3MuY29tXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiUmVzb3VyY2VcIjoge1xuICAgICAgICAgICAgICAgICAgXCJSZWZcIjogXCJUb3BpY0JGQzdBRjZFXCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiU2lkXCI6IFwic2lkMFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcIlZlcnNpb25cIjogXCIyMDEyLTEwLTE3XCJcbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcblxuICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ3N1YnNjcmlwdGlvbiB0eXBlcycodGVzdDogVGVzdCkge1xuICAgICAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcblxuICAgICAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHN0YWNrLCAnVGVzdEJ1Y2tldCcpO1xuXG4gICAgICAgIGNvbnN0IHF1ZXVlVGFyZ2V0OiBzM24uSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uID0ge1xuICAgICAgICAgICAgYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbjogXyA9PiAoe1xuICAgICAgICAgICAgICAgIHR5cGU6IHMzbi5CdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuUXVldWUsXG4gICAgICAgICAgICAgICAgYXJuOiBuZXcgY2RrLkFybignYXJuOmF3czpzcXM6Li4uJylcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgbGFtYmRhVGFyZ2V0OiBzM24uSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uID0ge1xuICAgICAgICAgICAgYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbjogXyA9PiAoe1xuICAgICAgICAgICAgICAgIHR5cGU6IHMzbi5CdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuTGFtYmRhLFxuICAgICAgICAgICAgICAgIGFybjogbmV3IGNkay5Bcm4oJ2Fybjphd3M6bGFtYmRhOi4uLicpXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHRvcGljVGFyZ2V0OiBzM24uSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uID0ge1xuICAgICAgICAgICAgYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbjogXyA9PiAoe1xuICAgICAgICAgICAgICAgIHR5cGU6IHMzbi5CdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuVG9waWMsXG4gICAgICAgICAgICAgICAgYXJuOiBuZXcgY2RrLkFybignYXJuOmF3czpzbnM6Li4uJylcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG5cbiAgICAgICAgYnVja2V0Lm9uRXZlbnQoczMuRXZlbnRUeXBlLk9iamVjdENyZWF0ZWQsIHF1ZXVlVGFyZ2V0KTtcbiAgICAgICAgYnVja2V0Lm9uRXZlbnQoczMuRXZlbnRUeXBlLk9iamVjdENyZWF0ZWQsIGxhbWJkYVRhcmdldCk7XG4gICAgICAgIGJ1Y2tldC5vbk9iamVjdFJlbW92ZWQodG9waWNUYXJnZXQsIHsgcHJlZml4OiAncHJlZml4JyB9KTtcblxuICAgICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQ3VzdG9tOjpTM0J1Y2tldE5vdGlmaWNhdGlvbnMnLCB7XG4gICAgICAgICAgXCJTZXJ2aWNlVG9rZW5cIjoge1xuICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgXCJCdWNrZXROb3RpZmljYXRpb25zSGFuZGxlcjA1MGEwNTg3Yjc1NDQ1NDdiZjMyNWYwOTRhM2RiODM0N0VDQzM2OTFcIixcbiAgICAgICAgICAgICAgXCJBcm5cIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJCdWNrZXROYW1lXCI6IHtcbiAgICAgICAgICAgIFwiUmVmXCI6IFwiVGVzdEJ1Y2tldDU2MEI4MEJDXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvblwiOiB7XG4gICAgICAgICAgICBcIkxhbWJkYUZ1bmN0aW9uQ29uZmlndXJhdGlvbnNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJFdmVudHNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJzMzpPYmplY3RDcmVhdGVkOipcIlxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgXCJMYW1iZGFGdW5jdGlvbkFyblwiOiBcImFybjphd3M6bGFtYmRhOi4uLlwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcIlF1ZXVlQ29uZmlndXJhdGlvbnNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJFdmVudHNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJzMzpPYmplY3RDcmVhdGVkOipcIlxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgXCJRdWV1ZUFyblwiOiBcImFybjphd3M6c3FzOi4uLlwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcIlRvcGljQ29uZmlndXJhdGlvbnNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJFdmVudHNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJzMzpPYmplY3RSZW1vdmVkOipcIlxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgXCJUb3BpY0FyblwiOiBcImFybjphd3M6c25zOi4uLlwiLFxuICAgICAgICAgICAgICAgIFwiRmlsdGVyXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiS2V5XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJGaWx0ZXJSdWxlc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJOYW1lXCI6IFwicHJlZml4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlZhbHVlXCI6IFwicHJlZml4XCJcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH0pKTtcblxuICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ211bHRpcGxlIHN1YnNjcmlwdGlvbnMgb2YgdGhlIHNhbWUgdHlwZScodGVzdDogVGVzdCkge1xuICAgICAgICBjb25zdCBzdGFjayA9IG5ldyBjZGsuU3RhY2soKTtcblxuICAgICAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHN0YWNrLCAnVGVzdEJ1Y2tldCcpO1xuXG4gICAgICAgIGJ1Y2tldC5vbkV2ZW50KHMzLkV2ZW50VHlwZS5PYmplY3RSZW1vdmVkRGVsZXRlLCB7XG4gICAgICAgICAgICBhc0J1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uOiBfID0+ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogczNuLkJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5RdWV1ZSxcbiAgICAgICAgICAgICAgICBhcm46IG5ldyBjZGsuQXJuKCdhcm46YXdzOnNxczouLi46cXVldWUxJylcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGJ1Y2tldC5vbkV2ZW50KHMzLkV2ZW50VHlwZS5PYmplY3RSZW1vdmVkRGVsZXRlLCB7XG4gICAgICAgICAgICBhc0J1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uOiBfID0+ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogczNuLkJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5RdWV1ZSxcbiAgICAgICAgICAgICAgICBhcm46IG5ldyBjZGsuQXJuKCdhcm46YXdzOnNxczouLi46cXVldWUyJylcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdDdXN0b206OlMzQnVja2V0Tm90aWZpY2F0aW9ucycsIHtcbiAgICAgICAgICBcIlNlcnZpY2VUb2tlblwiOiB7XG4gICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICBcIkJ1Y2tldE5vdGlmaWNhdGlvbnNIYW5kbGVyMDUwYTA1ODdiNzU0NDU0N2JmMzI1ZjA5NGEzZGI4MzQ3RUNDMzY5MVwiLFxuICAgICAgICAgICAgICBcIkFyblwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIkJ1Y2tldE5hbWVcIjoge1xuICAgICAgICAgICAgXCJSZWZcIjogXCJUZXN0QnVja2V0NTYwQjgwQkNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCI6IHtcbiAgICAgICAgICAgIFwiUXVldWVDb25maWd1cmF0aW9uc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcIkV2ZW50c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcInMzOk9iamVjdFJlbW92ZWQ6RGVsZXRlXCJcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIFwiUXVldWVBcm5cIjogXCJhcm46YXdzOnNxczouLi46cXVldWUxXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiRXZlbnRzXCI6IFtcbiAgICAgICAgICAgICAgICAgIFwiczM6T2JqZWN0UmVtb3ZlZDpEZWxldGVcIlxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgXCJRdWV1ZUFyblwiOiBcImFybjphd3M6c3FzOi4uLjpxdWV1ZTJcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcblxuICAgICdwcmVmaXgvc3VmZml4IGZpbHRlcnMnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICAgICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldChzdGFjaywgJ1Rlc3RCdWNrZXQnKTtcblxuICAgICAgICBjb25zdCBidWNrZXROb3RpZmljYXRpb25UYXJnZXQgPSB7XG4gICAgICAgICAgICB0eXBlOiBzM24uQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlF1ZXVlLFxuICAgICAgICAgICAgYXJuOiBuZXcgY2RrLkFybignYXJuOmF3czpzcXM6Li4uJylcbiAgICAgICAgfTtcblxuICAgICAgICBidWNrZXQub25FdmVudChzMy5FdmVudFR5cGUuT2JqZWN0UmVtb3ZlZERlbGV0ZSwgeyBhc0J1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uOiBfID0+IGJ1Y2tldE5vdGlmaWNhdGlvblRhcmdldCB9LCB7IHByZWZpeDogJ2ltYWdlcy8nLCBzdWZmaXg6ICcuanBnJyB9KTtcblxuICAgICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQ3VzdG9tOjpTM0J1Y2tldE5vdGlmaWNhdGlvbnMnLCB7XG4gICAgICAgICAgXCJTZXJ2aWNlVG9rZW5cIjoge1xuICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgXCJCdWNrZXROb3RpZmljYXRpb25zSGFuZGxlcjA1MGEwNTg3Yjc1NDQ1NDdiZjMyNWYwOTRhM2RiODM0N0VDQzM2OTFcIixcbiAgICAgICAgICAgICAgXCJBcm5cIlxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJCdWNrZXROYW1lXCI6IHtcbiAgICAgICAgICAgIFwiUmVmXCI6IFwiVGVzdEJ1Y2tldDU2MEI4MEJDXCJcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiTm90aWZpY2F0aW9uQ29uZmlndXJhdGlvblwiOiB7XG4gICAgICAgICAgICBcIlF1ZXVlQ29uZmlndXJhdGlvbnNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJFdmVudHNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJzMzpPYmplY3RSZW1vdmVkOkRlbGV0ZVwiXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBcIkZpbHRlclwiOiB7XG4gICAgICAgICAgICAgICAgICBcIktleVwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiRmlsdGVyUnVsZXNcIjogW1xuICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiTmFtZVwiOiBcInN1ZmZpeFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJWYWx1ZVwiOiBcIi5qcGdcIlxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJOYW1lXCI6IFwicHJlZml4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlZhbHVlXCI6IFwiaW1hZ2VzL1wiXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcIlF1ZXVlQXJuXCI6IFwiYXJuOmF3czpzcXM6Li4uXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnYSBub3RpZmljYXRpb24gZGVzdGluYXRpb24gY2FuIHNwZWNpZnkgYSBzZXQgb2YgZGVwZW5kZW5jaWVzIHRoYXQgbXVzdCBiZSByZXNvbHZlZCBiZWZvcmUgdGhlIG5vdGlmaWNhdGlvbnMgcmVzb3VyY2UgaXMgY3JlYXRlZCcodGVzdDogVGVzdCkge1xuICAgICAgICBjb25zdCBzdGFjayA9IG5ldyBTdGFjaygpO1xuXG4gICAgICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQoc3RhY2ssICdCdWNrZXQnKTtcbiAgICAgICAgY29uc3QgZGVwZW5kZW50ID0gbmV3IGNkay5SZXNvdXJjZShzdGFjaywgJ0RlcGVuZGVudCcsIHsgdHlwZTogJ0RlcGVuZE9uTWUnIH0pO1xuICAgICAgICBjb25zdCBkZXN0OiBzM24uSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uID0ge1xuICAgICAgICAgICAgYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbjogKCkgPT4gKHtcbiAgICAgICAgICAgICAgICBhcm46IG5ldyBjZGsuQXJuKCdhcm4nKSxcbiAgICAgICAgICAgICAgICB0eXBlOiBzM24uQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlF1ZXVlLFxuICAgICAgICAgICAgICAgIGRlcGVuZGVuY2llczogWyBkZXBlbmRlbnQgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcblxuICAgICAgICBidWNrZXQub25PYmplY3RDcmVhdGVkKGRlc3QpO1xuXG4gICAgICAgIHRlc3QuZGVlcEVxdWFsKHN0YWNrLnRvQ2xvdWRGb3JtYXRpb24oKS5SZXNvdXJjZXMuQnVja2V0Tm90aWZpY2F0aW9uczhGMkUyNTdELCB7XG4gICAgICAgICAgICBUeXBlOiAnQ3VzdG9tOjpTM0J1Y2tldE5vdGlmaWNhdGlvbnMnLFxuICAgICAgICAgICAgUHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgIFNlcnZpY2VUb2tlbjogeyAnRm46OkdldEF0dCc6IFsgJ0J1Y2tldE5vdGlmaWNhdGlvbnNIYW5kbGVyMDUwYTA1ODdiNzU0NDU0N2JmMzI1ZjA5NGEzZGI4MzQ3RUNDMzY5MScsICdBcm4nIF0gfSxcbiAgICAgICAgICAgICAgICBCdWNrZXROYW1lOiB7IFJlZjogJ0J1Y2tldDgzOTA4RTc3JyB9LFxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb246IHsgUXVldWVDb25maWd1cmF0aW9uczogWyB7IEV2ZW50czogWyAnczM6T2JqZWN0Q3JlYXRlZDoqJyBdLCBRdWV1ZUFybjogJ2FybicgfSBdIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBEZXBlbmRzT246IFsgJ0RlcGVuZGVudCcgXVxuICAgICAgICB9KTtcblxuICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9XG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5ub3RpZmljYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC5ub3RpZmljYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBdUQ7QUFDdkQscURBQXNEO0FBQ3RELG9DQUFxQztBQUNyQyxzQ0FBcUM7QUFFckMsNkJBQThCO0FBQzlCLDZEQUE2QztBQUs3QyxpQkFBUztJQUNMLDhCQUE4QixDQUFDLElBQVU7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFOUIsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVqQyxlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3BCLFdBQVcsRUFBRTtnQkFDWCxrQkFBa0IsRUFBRTtvQkFDbEIsTUFBTSxFQUFFLGlCQUFpQjtpQkFDMUI7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQseUZBQXlGLENBQUMsSUFBVTtRQUNoRyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU5QixNQUFNLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRWhELE1BQU0sS0FBSyxHQUFHLElBQUksMEJBQUssQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsRCxlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQ2xELGVBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMscUJB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SyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDL0UsTUFBTSxJQUFJLEdBQXVDO1lBQzdDLCtCQUErQixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ3BDLEdBQUcsRUFBRSxLQUFLO2dCQUNWLElBQUksRUFBRSxHQUFHLENBQUMsaUNBQWlDLENBQUMsS0FBSztnQkFDakQsWUFBWSxFQUFFLENBQUUsU0FBUyxDQUFFO2FBQzlCLENBQUM7U0FDTCxDQUFDO1FBRUYsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFNBQVMsQ0FBQywyQkFBMkIsRUFBRTtZQUMzRSxJQUFJLEVBQUUsK0JBQStCO1lBQ3JDLFVBQVUsRUFBRTtnQkFDUixZQUFZLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBRSxvRUFBb0UsRUFBRSxLQUFLLENBQUUsRUFBRTtnQkFDL0csVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFO2dCQUNyQyx5QkFBeUIsRUFBRSxFQUFFLG1CQUFtQixFQUFFLENBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBRSxFQUFFO2FBQ2hIO1lBQ0QsU0FBUyxFQUFFLENBQUUsV0FBVyxDQUFFO1NBQzdCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdCwgaGF2ZVJlc291cmNlIH0gZnJvbSAnQGF3cy1jZGsvYXNzZXJ0JztcbmltcG9ydCBzM24gPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtczMtbm90aWZpY2F0aW9ucycpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tICdAYXdzLWNkay9jZGsnO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCBzMyA9IHJlcXVpcmUoJy4uL2xpYicpO1xuaW1wb3J0IHsgVG9waWMgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1kZXN0cyc7XG5cbi8vIHRzbGludDpkaXNhYmxlOm9iamVjdC1saXRlcmFsLWtleS1xdW90ZXNcbi8vIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aFxuXG5leHBvcnQgPSB7XG4gICAgJ2J1Y2tldCB3aXRob3V0IG5vdGlmaWNhdGlvbnMnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICAgICAgbmV3IHMzLkJ1Y2tldChzdGFjaywgJ015QnVja2V0Jyk7XG5cbiAgICAgICAgZXhwZWN0KHN0YWNrKS50b01hdGNoKHtcbiAgICAgICAgICBcIlJlc291cmNlc1wiOiB7XG4gICAgICAgICAgICBcIk15QnVja2V0RjY4RjNGRjBcIjoge1xuICAgICAgICAgICAgICBcIlR5cGVcIjogXCJBV1M6OlMzOjpCdWNrZXRcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcblxuICAgICd3aGVuIG5vdGlmaWNhdGlvbiBhcmUgYWRkZWQsIGEgY3VzdG9tIHJlc291cmNlIGlzIHByb3Zpc2lvbmVkICsgYSBsYW1iZGEgaGFuZGxlciBmb3IgaXQnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICAgICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldChzdGFjaywgJ015QnVja2V0Jyk7XG5cbiAgICAgICAgY29uc3QgdG9waWMgPSBuZXcgVG9waWMoc3RhY2ssICdNeVRvcGljJyk7XG5cbiAgICAgICAgYnVja2V0Lm9uRXZlbnQoczMuRXZlbnRUeXBlLk9iamVjdENyZWF0ZWQsIHRvcGljKTtcblxuICAgICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpTMzo6QnVja2V0JykpO1xuICAgICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpMYW1iZGE6OkZ1bmN0aW9uJywgeyBEZXNjcmlwdGlvbjogJ0FXUyBDbG91ZEZvcm1hdGlvbiBoYW5kbGVyIGZvciBcIkN1c3RvbTo6UzNCdWNrZXROb3RpZmljYXRpb25zXCIgcmVzb3VyY2VzIChAYXdzLWNkay9hd3MtczMpJyB9KSk7XG4gICAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdDdXN0b206OlMzQnVja2V0Tm90aWZpY2F0aW9ucycpKTtcblxuICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9LFxuXG4gICAgJ2J1Y2tldE5vdGlmaWNhdGlvblRhcmdldCBpcyBub3QgY2FsbGVkIGR1cmluZyBzeW50aGVzaXMnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICAgICAgLy8gbm90aWNlIHRoZSBvcmRlciBoZXJlIC0gdG9waWMgaXMgZGVmaW5lZCBiZWZvcmUgYnVja2V0XG4gICAgICAgIC8vIGJ1dCB0aGlzIHNob3VsZG4ndCBpbXBhY3QgdGhlIGZhY3QgdGhhdCB0aGUgdG9waWMgcG9saWN5IGluY2x1ZGVzXG4gICAgICAgIC8vIHRoZSBidWNrZXQgaW5mb3JtYXRpb25cbiAgICAgICAgY29uc3QgdG9waWMgPSBuZXcgVG9waWMoc3RhY2ssICdUb3BpYycpO1xuICAgICAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHN0YWNrLCAnTXlCdWNrZXQnKTtcblxuICAgICAgICBidWNrZXQub25PYmplY3RDcmVhdGVkKHRvcGljKTtcblxuICAgICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpTTlM6OlRvcGljUG9saWN5Jywge1xuICAgICAgICAgIFwiVG9waWNzXCI6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgXCJSZWZcIjogXCJUb3BpY0JGQzdBRjZFXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdLFxuICAgICAgICAgIFwiUG9saWN5RG9jdW1lbnRcIjoge1xuICAgICAgICAgICAgXCJTdGF0ZW1lbnRcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJBY3Rpb25cIjogXCJzbnM6UHVibGlzaFwiLFxuICAgICAgICAgICAgICAgIFwiQ29uZGl0aW9uXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiQXJuTGlrZVwiOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiYXdzOlNvdXJjZUFyblwiOiB7XG4gICAgICAgICAgICAgICAgICAgICAgXCJGbjo6R2V0QXR0XCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiTXlCdWNrZXRGNjhGM0ZGMFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJBcm5cIlxuICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJFZmZlY3RcIjogXCJBbGxvd1wiLFxuICAgICAgICAgICAgICAgIFwiUHJpbmNpcGFsXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiU2VydmljZVwiOiBcInMzLmFtYXpvbmF3cy5jb21cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJSZXNvdXJjZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcIlJlZlwiOiBcIlRvcGljQkZDN0FGNkVcIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJTaWRcIjogXCJzaWQwXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwiVmVyc2lvblwiOiBcIjIwMTItMTAtMTdcIlxuICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnc3Vic2NyaXB0aW9uIHR5cGVzJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQoc3RhY2ssICdUZXN0QnVja2V0Jyk7XG5cbiAgICAgICAgY29uc3QgcXVldWVUYXJnZXQ6IHMzbi5JQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24gPSB7XG4gICAgICAgICAgICBhc0J1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uOiBfID0+ICh7XG4gICAgICAgICAgICAgICAgdHlwZTogczNuLkJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5RdWV1ZSxcbiAgICAgICAgICAgICAgICBhcm46ICdhcm46YXdzOnNxczouLi4nXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYVRhcmdldDogczNuLklCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbiA9IHtcbiAgICAgICAgICAgIGFzQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb246IF8gPT4gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBzM24uQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLkxhbWJkYSxcbiAgICAgICAgICAgICAgICBhcm46ICdhcm46YXdzOmxhbWJkYTouLi4nXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHRvcGljVGFyZ2V0OiBzM24uSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uID0ge1xuICAgICAgICAgICAgYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbjogXyA9PiAoe1xuICAgICAgICAgICAgICAgIHR5cGU6IHMzbi5CdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuVG9waWMsXG4gICAgICAgICAgICAgICAgYXJuOiAnYXJuOmF3czpzbnM6Li4uJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcblxuICAgICAgICBidWNrZXQub25FdmVudChzMy5FdmVudFR5cGUuT2JqZWN0Q3JlYXRlZCwgcXVldWVUYXJnZXQpO1xuICAgICAgICBidWNrZXQub25FdmVudChzMy5FdmVudFR5cGUuT2JqZWN0Q3JlYXRlZCwgbGFtYmRhVGFyZ2V0KTtcbiAgICAgICAgYnVja2V0Lm9uT2JqZWN0UmVtb3ZlZCh0b3BpY1RhcmdldCwgeyBwcmVmaXg6ICdwcmVmaXgnIH0pO1xuXG4gICAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdDdXN0b206OlMzQnVja2V0Tm90aWZpY2F0aW9ucycsIHtcbiAgICAgICAgICBcIlNlcnZpY2VUb2tlblwiOiB7XG4gICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICBcIkJ1Y2tldE5vdGlmaWNhdGlvbnNIYW5kbGVyMDUwYTA1ODdiNzU0NDU0N2JmMzI1ZjA5NGEzZGI4MzQ3RUNDMzY5MVwiLFxuICAgICAgICAgICAgICBcIkFyblwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIkJ1Y2tldE5hbWVcIjoge1xuICAgICAgICAgICAgXCJSZWZcIjogXCJUZXN0QnVja2V0NTYwQjgwQkNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCI6IHtcbiAgICAgICAgICAgIFwiTGFtYmRhRnVuY3Rpb25Db25maWd1cmF0aW9uc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcIkV2ZW50c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcInMzOk9iamVjdENyZWF0ZWQ6KlwiXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBcIkxhbWJkYUZ1bmN0aW9uQXJuXCI6IFwiYXJuOmF3czpsYW1iZGE6Li4uXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwiUXVldWVDb25maWd1cmF0aW9uc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcIkV2ZW50c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcInMzOk9iamVjdENyZWF0ZWQ6KlwiXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBcIlF1ZXVlQXJuXCI6IFwiYXJuOmF3czpzcXM6Li4uXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwiVG9waWNDb25maWd1cmF0aW9uc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcIkV2ZW50c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcInMzOk9iamVjdFJlbW92ZWQ6KlwiXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICBcIlRvcGljQXJuXCI6IFwiYXJuOmF3czpzbnM6Li4uXCIsXG4gICAgICAgICAgICAgICAgXCJGaWx0ZXJcIjoge1xuICAgICAgICAgICAgICAgICAgXCJLZXlcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIkZpbHRlclJ1bGVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcIk5hbWVcIjogXCJwcmVmaXhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiVmFsdWVcIjogXCJwcmVmaXhcIlxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnbXVsdGlwbGUgc3Vic2NyaXB0aW9ucyBvZiB0aGUgc2FtZSB0eXBlJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IGNkay5TdGFjaygpO1xuXG4gICAgICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQoc3RhY2ssICdUZXN0QnVja2V0Jyk7XG5cbiAgICAgICAgYnVja2V0Lm9uRXZlbnQoczMuRXZlbnRUeXBlLk9iamVjdFJlbW92ZWREZWxldGUsIHtcbiAgICAgICAgICAgIGFzQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb246IF8gPT4gKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBzM24uQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlF1ZXVlLFxuICAgICAgICAgICAgICAgIGFybjogJ2Fybjphd3M6c3FzOi4uLjpxdWV1ZTEnXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcblxuICAgICAgICBidWNrZXQub25FdmVudChzMy5FdmVudFR5cGUuT2JqZWN0UmVtb3ZlZERlbGV0ZSwge1xuICAgICAgICAgICAgYXNCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbjogXyA9PiAoe1xuICAgICAgICAgICAgICAgIHR5cGU6IHMzbi5CdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuUXVldWUsXG4gICAgICAgICAgICAgICAgYXJuOiAnYXJuOmF3czpzcXM6Li4uOnF1ZXVlMidcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdDdXN0b206OlMzQnVja2V0Tm90aWZpY2F0aW9ucycsIHtcbiAgICAgICAgICBcIlNlcnZpY2VUb2tlblwiOiB7XG4gICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICBcIkJ1Y2tldE5vdGlmaWNhdGlvbnNIYW5kbGVyMDUwYTA1ODdiNzU0NDU0N2JmMzI1ZjA5NGEzZGI4MzQ3RUNDMzY5MVwiLFxuICAgICAgICAgICAgICBcIkFyblwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIkJ1Y2tldE5hbWVcIjoge1xuICAgICAgICAgICAgXCJSZWZcIjogXCJUZXN0QnVja2V0NTYwQjgwQkNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCI6IHtcbiAgICAgICAgICAgIFwiUXVldWVDb25maWd1cmF0aW9uc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcIkV2ZW50c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcInMzOk9iamVjdFJlbW92ZWQ6RGVsZXRlXCJcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIFwiUXVldWVBcm5cIjogXCJhcm46YXdzOnNxczouLi46cXVldWUxXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiRXZlbnRzXCI6IFtcbiAgICAgICAgICAgICAgICAgIFwiczM6T2JqZWN0UmVtb3ZlZDpEZWxldGVcIlxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgXCJRdWV1ZUFyblwiOiBcImFybjphd3M6c3FzOi4uLjpxdWV1ZTJcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcblxuICAgICdwcmVmaXgvc3VmZml4IGZpbHRlcnMnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG5cbiAgICAgICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldChzdGFjaywgJ1Rlc3RCdWNrZXQnKTtcblxuICAgICAgICBjb25zdCBidWNrZXROb3RpZmljYXRpb25UYXJnZXQgPSB7XG4gICAgICAgICAgICB0eXBlOiBzM24uQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb25UeXBlLlF1ZXVlLFxuICAgICAgICAgICAgYXJuOiAnYXJuOmF3czpzcXM6Li4uJ1xuICAgICAgICB9O1xuXG4gICAgICAgIGJ1Y2tldC5vbkV2ZW50KHMzLkV2ZW50VHlwZS5PYmplY3RSZW1vdmVkRGVsZXRlLCB7IGFzQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb246IF8gPT4gYnVja2V0Tm90aWZpY2F0aW9uVGFyZ2V0IH0sIHsgcHJlZml4OiAnaW1hZ2VzLycsIHN1ZmZpeDogJy5qcGcnIH0pO1xuXG4gICAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdDdXN0b206OlMzQnVja2V0Tm90aWZpY2F0aW9ucycsIHtcbiAgICAgICAgICBcIlNlcnZpY2VUb2tlblwiOiB7XG4gICAgICAgICAgICBcIkZuOjpHZXRBdHRcIjogW1xuICAgICAgICAgICAgICBcIkJ1Y2tldE5vdGlmaWNhdGlvbnNIYW5kbGVyMDUwYTA1ODdiNzU0NDU0N2JmMzI1ZjA5NGEzZGI4MzQ3RUNDMzY5MVwiLFxuICAgICAgICAgICAgICBcIkFyblwiXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIkJ1Y2tldE5hbWVcIjoge1xuICAgICAgICAgICAgXCJSZWZcIjogXCJUZXN0QnVja2V0NTYwQjgwQkNcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJOb3RpZmljYXRpb25Db25maWd1cmF0aW9uXCI6IHtcbiAgICAgICAgICAgIFwiUXVldWVDb25maWd1cmF0aW9uc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcIkV2ZW50c1wiOiBbXG4gICAgICAgICAgICAgICAgICBcInMzOk9iamVjdFJlbW92ZWQ6RGVsZXRlXCJcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIFwiRmlsdGVyXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwiS2V5XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJGaWx0ZXJSdWxlc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJOYW1lXCI6IFwic3VmZml4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlZhbHVlXCI6IFwiLmpwZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcIk5hbWVcIjogXCJwcmVmaXhcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiVmFsdWVcIjogXCJpbWFnZXMvXCJcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiUXVldWVBcm5cIjogXCJhcm46YXdzOnNxczouLi5cIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfSxcblxuICAgICdhIG5vdGlmaWNhdGlvbiBkZXN0aW5hdGlvbiBjYW4gc3BlY2lmeSBhIHNldCBvZiBkZXBlbmRlbmNpZXMgdGhhdCBtdXN0IGJlIHJlc29sdmVkIGJlZm9yZSB0aGUgbm90aWZpY2F0aW9ucyByZXNvdXJjZSBpcyBjcmVhdGVkJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKCk7XG5cbiAgICAgICAgY29uc3QgYnVja2V0ID0gbmV3IHMzLkJ1Y2tldChzdGFjaywgJ0J1Y2tldCcpO1xuICAgICAgICBjb25zdCBkZXBlbmRlbnQgPSBuZXcgY2RrLlJlc291cmNlKHN0YWNrLCAnRGVwZW5kZW50JywgeyB0eXBlOiAnRGVwZW5kT25NZScgfSk7XG4gICAgICAgIGNvbnN0IGRlc3Q6IHMzbi5JQnVja2V0Tm90aWZpY2F0aW9uRGVzdGluYXRpb24gPSB7XG4gICAgICAgICAgICBhc0J1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uOiAoKSA9PiAoe1xuICAgICAgICAgICAgICAgIGFybjogJ2FybicsXG4gICAgICAgICAgICAgICAgdHlwZTogczNuLkJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5RdWV1ZSxcbiAgICAgICAgICAgICAgICBkZXBlbmRlbmNpZXM6IFsgZGVwZW5kZW50IF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG5cbiAgICAgICAgYnVja2V0Lm9uT2JqZWN0Q3JlYXRlZChkZXN0KTtcblxuICAgICAgICB0ZXN0LmRlZXBFcXVhbChzdGFjay50b0Nsb3VkRm9ybWF0aW9uKCkuUmVzb3VyY2VzLkJ1Y2tldE5vdGlmaWNhdGlvbnM4RjJFMjU3RCwge1xuICAgICAgICAgICAgVHlwZTogJ0N1c3RvbTo6UzNCdWNrZXROb3RpZmljYXRpb25zJyxcbiAgICAgICAgICAgIFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICBTZXJ2aWNlVG9rZW46IHsgJ0ZuOjpHZXRBdHQnOiBbICdCdWNrZXROb3RpZmljYXRpb25zSGFuZGxlcjA1MGEwNTg3Yjc1NDQ1NDdiZjMyNWYwOTRhM2RiODM0N0VDQzM2OTEnLCAnQXJuJyBdIH0sXG4gICAgICAgICAgICAgICAgQnVja2V0TmFtZTogeyBSZWY6ICdCdWNrZXQ4MzkwOEU3NycgfSxcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25Db25maWd1cmF0aW9uOiB7IFF1ZXVlQ29uZmlndXJhdGlvbnM6IFsgeyBFdmVudHM6IFsgJ3MzOk9iamVjdENyZWF0ZWQ6KicgXSwgUXVldWVBcm46ICdhcm4nIH0gXSB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgRGVwZW5kc09uOiBbICdEZXBlbmRlbnQnIF1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgfVxufTtcbiJdfQ==
"use strict";
const cdk = require("@aws-cdk/cdk");
const s3 = require("../lib");
const util_1 = require("../lib/util");

@@ -8,3 +7,3 @@ module.exports = {

'explicit arn'(test) {
const bucketArn = new s3.BucketArn('my:bucket:arn');
const bucketArn = 'my:bucket:arn';
test.deepEqual(util_1.parseBucketArn({ bucketArn }), bucketArn);

@@ -14,3 +13,3 @@ test.done();

'produce arn from bucket name'(test) {
const bucketName = new s3.BucketName('hello');
const bucketName = 'hello';
test.deepEqual(cdk.resolve(util_1.parseBucketArn({ bucketName })), { 'Fn::Join': ['',

@@ -37,3 +36,3 @@ ['arn',

'explicit name'(test) {
const bucketName = new s3.BucketName('foo');
const bucketName = 'foo';
test.deepEqual(cdk.resolve(util_1.parseBucketName({ bucketName })), 'foo');

@@ -43,3 +42,3 @@ test.done();

'extract bucket name from string arn'(test) {
const bucketArn = new s3.BucketArn('arn:aws:s3:::my-bucket');
const bucketArn = 'arn:aws:s3:::my-bucket';
test.deepEqual(cdk.resolve(util_1.parseBucketName({ bucketArn })), 'my-bucket');

@@ -49,3 +48,3 @@ test.done();

'undefined if cannot extract name from a non-string arn'(test) {
const bucketArn = new s3.BucketArn(new cdk.FnConcat('arn:aws:s3:::', 'my-bucket'));
const bucketArn = new cdk.FnConcat('arn:aws:s3:::', 'my-bucket').toString();
test.deepEqual(cdk.resolve(util_1.parseBucketName({ bucketArn })), undefined);

@@ -55,3 +54,3 @@ test.done();

'fails if arn uses a non "s3" service'(test) {
const bucketArn = new s3.BucketArn('arn:aws:xx:::my-bucket');
const bucketArn = 'arn:aws:xx:::my-bucket';
test.throws(() => util_1.parseBucketName({ bucketArn }), /Invalid ARN/);

@@ -61,3 +60,3 @@ test.done();

'fails if ARN has invalid format'(test) {
const bucketArn = new s3.BucketArn('invalid-arn');
const bucketArn = 'invalid-arn';
test.throws(() => util_1.parseBucketName({ bucketArn }), /ARNs must have at least 6 components/);

@@ -67,3 +66,3 @@ test.done();

'fails if ARN has path'(test) {
const bucketArn = new s3.BucketArn('arn:aws:s3:::my-bucket/path');
const bucketArn = 'arn:aws:s3:::my-bucket/path';
test.throws(() => util_1.parseBucketName({ bucketArn }), /Bucket ARN must not contain a path/);

@@ -74,2 +73,2 @@ test.done();

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQ0FBcUM7QUFFckMsNkJBQThCO0FBQzlCLHNDQUE4RDtBQUU5RCxpQkFBUztJQUNMLGNBQWMsRUFBRTtRQUNaLGNBQWMsQ0FBQyxJQUFVO1lBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFjLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDO1FBRUQsOEJBQThCLENBQUMsSUFBVTtZQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHFCQUFjLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQ3hFLENBQUUsRUFBRTtvQkFDRixDQUFFLEtBQUs7d0JBQ0wsR0FBRzt3QkFDSCxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRTt3QkFDekIsR0FBRzt3QkFDSCxJQUFJO3dCQUNKLEdBQUc7d0JBQ0gsRUFBRTt3QkFDRixHQUFHO3dCQUNILEVBQUU7d0JBQ0YsR0FBRzt3QkFDSCxPQUFPLENBQUUsQ0FBRSxFQUFFLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELDRDQUE0QyxDQUFDLElBQVU7WUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFLDZFQUE2RSxDQUFDLENBQUM7WUFDckgsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7S0FDSjtJQUVELGVBQWUsRUFBRTtRQUViLGVBQWUsQ0FBQyxJQUFVO1lBQ3RCLE1BQU0sVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQWUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELHFDQUFxQyxDQUFDLElBQVU7WUFDNUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHNCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFFRCx3REFBd0QsQ0FBQyxJQUFVO1lBQy9ELE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDbkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHNCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxzQ0FBc0MsQ0FBQyxJQUFVO1lBQzdDLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQWUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxpQ0FBaUMsQ0FBQyxJQUFVO1lBQ3hDLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFlLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLHNDQUFzQyxDQUFDLENBQUM7WUFDMUYsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFFRCx1QkFBdUIsQ0FBQyxJQUFVO1lBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQWUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsb0NBQW9DLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcbmltcG9ydCB7IFRlc3QgfSBmcm9tICdub2RldW5pdCc7XG5pbXBvcnQgczMgPSByZXF1aXJlKCcuLi9saWInKTtcbmltcG9ydCB7IHBhcnNlQnVja2V0QXJuLCBwYXJzZUJ1Y2tldE5hbWUgfSBmcm9tICcuLi9saWIvdXRpbCc7XG5cbmV4cG9ydCA9IHtcbiAgICBwYXJzZUJ1Y2tldEFybjoge1xuICAgICAgICAnZXhwbGljaXQgYXJuJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXRBcm4gPSBuZXcgczMuQnVja2V0QXJuKCdteTpidWNrZXQ6YXJuJyk7XG4gICAgICAgICAgICB0ZXN0LmRlZXBFcXVhbChwYXJzZUJ1Y2tldEFybih7IGJ1Y2tldEFybiB9KSwgYnVja2V0QXJuKTtcbiAgICAgICAgICAgIHRlc3QuZG9uZSgpO1xuICAgICAgICB9LFxuXG4gICAgICAgICdwcm9kdWNlIGFybiBmcm9tIGJ1Y2tldCBuYW1lJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXROYW1lID0gbmV3IHMzLkJ1Y2tldE5hbWUoJ2hlbGxvJyk7XG4gICAgICAgICAgICB0ZXN0LmRlZXBFcXVhbChjZGsucmVzb2x2ZShwYXJzZUJ1Y2tldEFybih7IGJ1Y2tldE5hbWUgfSkpLCB7ICdGbjo6Sm9pbic6XG4gICAgICAgICAgICBbICcnLFxuICAgICAgICAgICAgICBbICdhcm4nLFxuICAgICAgICAgICAgICAgICc6JyxcbiAgICAgICAgICAgICAgICB7IFJlZjogJ0FXUzo6UGFydGl0aW9uJyB9LFxuICAgICAgICAgICAgICAgICc6JyxcbiAgICAgICAgICAgICAgICAnczMnLFxuICAgICAgICAgICAgICAgICc6JyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAnOicsXG4gICAgICAgICAgICAgICAgJycsXG4gICAgICAgICAgICAgICAgJzonLFxuICAgICAgICAgICAgICAgICdoZWxsbycgXSBdIH0pO1xuICAgICAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgJ2ZhaWxzIGlmIG5laXRoZXIgYXJuIG5vciBuYW1lIGFyZSBwcm92aWRlZCcodGVzdDogVGVzdCkge1xuICAgICAgICAgICAgdGVzdC50aHJvd3MoKCkgPT4gcGFyc2VCdWNrZXRBcm4oe30pLCAvQ2Fubm90IGRldGVybWluZSBidWNrZXQgQVJOLiBBdCBsZWFzdCBgYnVja2V0QXJuYCBvciBgYnVja2V0TmFtZWAgaXMgbmVlZGVkLyk7XG4gICAgICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICBwYXJzZUJ1Y2tldE5hbWU6IHtcblxuICAgICAgICAnZXhwbGljaXQgbmFtZScodGVzdDogVGVzdCkge1xuICAgICAgICAgICAgY29uc3QgYnVja2V0TmFtZSA9IG5ldyBzMy5CdWNrZXROYW1lKCdmb28nKTtcbiAgICAgICAgICAgIHRlc3QuZGVlcEVxdWFsKGNkay5yZXNvbHZlKHBhcnNlQnVja2V0TmFtZSh7IGJ1Y2tldE5hbWUgfSkpLCAnZm9vJyk7XG4gICAgICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICAgICAgfSxcblxuICAgICAgICAnZXh0cmFjdCBidWNrZXQgbmFtZSBmcm9tIHN0cmluZyBhcm4nKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ1Y2tldEFybiA9IG5ldyBzMy5CdWNrZXRBcm4oJ2Fybjphd3M6czM6OjpteS1idWNrZXQnKTtcbiAgICAgICAgICAgIHRlc3QuZGVlcEVxdWFsKGNkay5yZXNvbHZlKHBhcnNlQnVja2V0TmFtZSh7IGJ1Y2tldEFybiB9KSksICdteS1idWNrZXQnKTtcbiAgICAgICAgICAgIHRlc3QuZG9uZSgpO1xuICAgICAgICB9LFxuXG4gICAgICAgICd1bmRlZmluZWQgaWYgY2Fubm90IGV4dHJhY3QgbmFtZSBmcm9tIGEgbm9uLXN0cmluZyBhcm4nKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ1Y2tldEFybiA9IG5ldyBzMy5CdWNrZXRBcm4obmV3IGNkay5GbkNvbmNhdCgnYXJuOmF3czpzMzo6OicsICdteS1idWNrZXQnKSk7XG4gICAgICAgICAgICB0ZXN0LmRlZXBFcXVhbChjZGsucmVzb2x2ZShwYXJzZUJ1Y2tldE5hbWUoeyBidWNrZXRBcm4gfSkpLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgJ2ZhaWxzIGlmIGFybiB1c2VzIGEgbm9uIFwiczNcIiBzZXJ2aWNlJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXRBcm4gPSBuZXcgczMuQnVja2V0QXJuKCdhcm46YXdzOnh4Ojo6bXktYnVja2V0Jyk7XG4gICAgICAgICAgICB0ZXN0LnRocm93cygoKSA9PiBwYXJzZUJ1Y2tldE5hbWUoeyBidWNrZXRBcm4gfSksIC9JbnZhbGlkIEFSTi8pO1xuICAgICAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgJ2ZhaWxzIGlmIEFSTiBoYXMgaW52YWxpZCBmb3JtYXQnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ1Y2tldEFybiA9IG5ldyBzMy5CdWNrZXRBcm4oJ2ludmFsaWQtYXJuJyk7XG4gICAgICAgICAgICB0ZXN0LnRocm93cygoKSA9PiBwYXJzZUJ1Y2tldE5hbWUoeyBidWNrZXRBcm4gfSksIC9BUk5zIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNvbXBvbmVudHMvKTtcbiAgICAgICAgICAgIHRlc3QuZG9uZSgpO1xuICAgICAgICB9LFxuXG4gICAgICAgICdmYWlscyBpZiBBUk4gaGFzIHBhdGgnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ1Y2tldEFybiA9IG5ldyBzMy5CdWNrZXRBcm4oJ2Fybjphd3M6czM6OjpteS1idWNrZXQvcGF0aCcpO1xuICAgICAgICAgICAgdGVzdC50aHJvd3MoKCkgPT4gcGFyc2VCdWNrZXROYW1lKHsgYnVja2V0QXJuIH0pLCAvQnVja2V0IEFSTiBtdXN0IG5vdCBjb250YWluIGEgcGF0aC8pO1xuICAgICAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgICAgIH1cbiAgICB9LFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVzdC51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQ0FBcUM7QUFFckMsc0NBQThEO0FBRTlELGlCQUFTO0lBQ0wsY0FBYyxFQUFFO1FBQ1osY0FBYyxDQUFDLElBQVU7WUFDckIsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQWMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFFRCw4QkFBOEIsQ0FBQyxJQUFVO1lBQ3JDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMscUJBQWMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFDeEUsQ0FBRSxFQUFFO29CQUNGLENBQUUsS0FBSzt3QkFDTCxHQUFHO3dCQUNILEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFO3dCQUN6QixHQUFHO3dCQUNILElBQUk7d0JBQ0osR0FBRzt3QkFDSCxFQUFFO3dCQUNGLEdBQUc7d0JBQ0gsRUFBRTt3QkFDRixHQUFHO3dCQUNILE9BQU8sQ0FBRSxDQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDO1FBRUQsNENBQTRDLENBQUMsSUFBVTtZQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFjLENBQUMsRUFBRSxDQUFDLEVBQUUsNkVBQTZFLENBQUMsQ0FBQztZQUNySCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUNKO0lBRUQsZUFBZSxFQUFFO1FBRWIsZUFBZSxDQUFDLElBQVU7WUFDdEIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBZSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDO1FBRUQscUNBQXFDLENBQUMsSUFBVTtZQUM1QyxNQUFNLFNBQVMsR0FBRyx3QkFBd0IsQ0FBQztZQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQWUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELHdEQUF3RCxDQUFDLElBQVU7WUFDL0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1RSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQWUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELHNDQUFzQyxDQUFDLElBQVU7WUFDN0MsTUFBTSxTQUFTLEdBQUcsd0JBQXdCLENBQUM7WUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBZSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELGlDQUFpQyxDQUFDLElBQVU7WUFDeEMsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQWUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsc0NBQXNDLENBQUMsQ0FBQztZQUMxRixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVELHVCQUF1QixDQUFDLElBQVU7WUFDOUIsTUFBTSxTQUFTLEdBQUcsNkJBQTZCLENBQUM7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBZSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3hGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQ0o7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCB7IHBhcnNlQnVja2V0QXJuLCBwYXJzZUJ1Y2tldE5hbWUgfSBmcm9tICcuLi9saWIvdXRpbCc7XG5cbmV4cG9ydCA9IHtcbiAgICBwYXJzZUJ1Y2tldEFybjoge1xuICAgICAgICAnZXhwbGljaXQgYXJuJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXRBcm4gPSAnbXk6YnVja2V0OmFybic7XG4gICAgICAgICAgICB0ZXN0LmRlZXBFcXVhbChwYXJzZUJ1Y2tldEFybih7IGJ1Y2tldEFybiB9KSwgYnVja2V0QXJuKTtcbiAgICAgICAgICAgIHRlc3QuZG9uZSgpO1xuICAgICAgICB9LFxuXG4gICAgICAgICdwcm9kdWNlIGFybiBmcm9tIGJ1Y2tldCBuYW1lJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXROYW1lID0gJ2hlbGxvJztcbiAgICAgICAgICAgIHRlc3QuZGVlcEVxdWFsKGNkay5yZXNvbHZlKHBhcnNlQnVja2V0QXJuKHsgYnVja2V0TmFtZSB9KSksIHsgJ0ZuOjpKb2luJzpcbiAgICAgICAgICAgIFsgJycsXG4gICAgICAgICAgICAgIFsgJ2FybicsXG4gICAgICAgICAgICAgICAgJzonLFxuICAgICAgICAgICAgICAgIHsgUmVmOiAnQVdTOjpQYXJ0aXRpb24nIH0sXG4gICAgICAgICAgICAgICAgJzonLFxuICAgICAgICAgICAgICAgICdzMycsXG4gICAgICAgICAgICAgICAgJzonLFxuICAgICAgICAgICAgICAgICcnLFxuICAgICAgICAgICAgICAgICc6JyxcbiAgICAgICAgICAgICAgICAnJyxcbiAgICAgICAgICAgICAgICAnOicsXG4gICAgICAgICAgICAgICAgJ2hlbGxvJyBdIF0gfSk7XG4gICAgICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICAgICAgfSxcblxuICAgICAgICAnZmFpbHMgaWYgbmVpdGhlciBhcm4gbm9yIG5hbWUgYXJlIHByb3ZpZGVkJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICB0ZXN0LnRocm93cygoKSA9PiBwYXJzZUJ1Y2tldEFybih7fSksIC9DYW5ub3QgZGV0ZXJtaW5lIGJ1Y2tldCBBUk4uIEF0IGxlYXN0IGBidWNrZXRBcm5gIG9yIGBidWNrZXROYW1lYCBpcyBuZWVkZWQvKTtcbiAgICAgICAgICAgIHRlc3QuZG9uZSgpO1xuICAgICAgICB9XG4gICAgfSxcblxuICAgIHBhcnNlQnVja2V0TmFtZToge1xuXG4gICAgICAgICdleHBsaWNpdCBuYW1lJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXROYW1lID0gJ2Zvbyc7XG4gICAgICAgICAgICB0ZXN0LmRlZXBFcXVhbChjZGsucmVzb2x2ZShwYXJzZUJ1Y2tldE5hbWUoeyBidWNrZXROYW1lIH0pKSwgJ2ZvbycpO1xuICAgICAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgJ2V4dHJhY3QgYnVja2V0IG5hbWUgZnJvbSBzdHJpbmcgYXJuJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXRBcm4gPSAnYXJuOmF3czpzMzo6Om15LWJ1Y2tldCc7XG4gICAgICAgICAgICB0ZXN0LmRlZXBFcXVhbChjZGsucmVzb2x2ZShwYXJzZUJ1Y2tldE5hbWUoeyBidWNrZXRBcm4gfSkpLCAnbXktYnVja2V0Jyk7XG4gICAgICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICAgICAgfSxcblxuICAgICAgICAndW5kZWZpbmVkIGlmIGNhbm5vdCBleHRyYWN0IG5hbWUgZnJvbSBhIG5vbi1zdHJpbmcgYXJuJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXRBcm4gPSBuZXcgY2RrLkZuQ29uY2F0KCdhcm46YXdzOnMzOjo6JywgJ215LWJ1Y2tldCcpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0ZXN0LmRlZXBFcXVhbChjZGsucmVzb2x2ZShwYXJzZUJ1Y2tldE5hbWUoeyBidWNrZXRBcm4gfSkpLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgJ2ZhaWxzIGlmIGFybiB1c2VzIGEgbm9uIFwiczNcIiBzZXJ2aWNlJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBidWNrZXRBcm4gPSAnYXJuOmF3czp4eDo6Om15LWJ1Y2tldCc7XG4gICAgICAgICAgICB0ZXN0LnRocm93cygoKSA9PiBwYXJzZUJ1Y2tldE5hbWUoeyBidWNrZXRBcm4gfSksIC9JbnZhbGlkIEFSTi8pO1xuICAgICAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgICAgIH0sXG5cbiAgICAgICAgJ2ZhaWxzIGlmIEFSTiBoYXMgaW52YWxpZCBmb3JtYXQnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ1Y2tldEFybiA9ICdpbnZhbGlkLWFybic7XG4gICAgICAgICAgICB0ZXN0LnRocm93cygoKSA9PiBwYXJzZUJ1Y2tldE5hbWUoeyBidWNrZXRBcm4gfSksIC9BUk5zIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNvbXBvbmVudHMvKTtcbiAgICAgICAgICAgIHRlc3QuZG9uZSgpO1xuICAgICAgICB9LFxuXG4gICAgICAgICdmYWlscyBpZiBBUk4gaGFzIHBhdGgnKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ1Y2tldEFybiA9ICdhcm46YXdzOnMzOjo6bXktYnVja2V0L3BhdGgnO1xuICAgICAgICAgICAgdGVzdC50aHJvd3MoKCkgPT4gcGFyc2VCdWNrZXROYW1lKHsgYnVja2V0QXJuIH0pLCAvQnVja2V0IEFSTiBtdXN0IG5vdCBjb250YWluIGEgcGF0aC8pO1xuICAgICAgICAgICAgdGVzdC5kb25lKCk7XG4gICAgICAgIH1cbiAgICB9LFxufTtcbiJdfQ==

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc