Socket
Socket
Sign inDemoInstall

@aws-cdk/aws-kinesis

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-kinesis - npm Package Compare versions

Comparing version 0.9.2 to 0.10.0

7

lib/kinesis.generated.d.ts

@@ -49,8 +49,9 @@ import cdk = require('@aws-cdk/cdk');

*
* @param parent the ``cdk.Construct`` this ``StreamResource`` is a part of
* @param name the name of the resource in the ``cdk.Construct`` tree
* @param parent the ``cdk.Construct`` this ``StreamResource`` is a part of
* @param name the name of the resource in the ``cdk.Construct`` tree
* @param properties the properties of this ``StreamResource``
*/
constructor(parent: cdk.Construct, name: string, properties: StreamResourceProps);
protected renderProperties(): {
readonly propertyOverrides: StreamResourceProps;
protected renderProperties(properties: any): {
[key: string]: any;

@@ -57,0 +58,0 @@ };

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

// See: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html
// @cfn2ts:meta@ {"generated":"2018-09-20T12:54:44.300Z","fingerprint":"VCKak7TWvHz5DT9EgW4yTdeZsOBxcyVbKGzGrZnOhRA="}
// @cfn2ts:meta@ {"generated":"2018-09-27T21:36:12.661Z","fingerprint":"+PCbnjMrBf13ARzg8Jp4MC9veVPP+bCkq7tHzhUbm4U="}
Object.defineProperty(exports, "__esModule", { value: true });

@@ -59,4 +59,4 @@ // tslint:disable:max-line-length | This is generated code - line lengths are difficult to control

*
* @param parent the ``cdk.Construct`` this ``StreamResource`` is a part of
* @param name the name of the resource in the ``cdk.Construct`` tree
* @param parent the ``cdk.Construct`` this ``StreamResource`` is a part of
* @param name the name of the resource in the ``cdk.Construct`` tree
* @param properties the properties of this ``StreamResource``

@@ -70,5 +70,8 @@ */

}
renderProperties() {
return streamResourcePropsToCloudFormation(cdk.resolve(this.properties));
get propertyOverrides() {
return this.untypedPropertyOverrides;
}
renderProperties(properties) {
return streamResourcePropsToCloudFormation(cdk.resolve(properties));
}
}

@@ -116,2 +119,2 @@ /**

})(cloudformation = exports.cloudformation || (exports.cloudformation = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpcy5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJraW5lc2lzLmdlbmVyYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0VBQStFO0FBQy9FLCtEQUErRDtBQUMvRCw4RkFBOEY7QUFDOUYsc0hBQXNIOztBQUV0SCxrR0FBa0c7QUFFbEcsb0NBQXFDO0FBRXJDLElBQWlCLGNBQWMsQ0EwSjlCO0FBMUpELFdBQWlCLGNBQWM7SUFnQzNCOzs7Ozs7T0FNRztJQUNILFNBQVMsNEJBQTRCLENBQUMsVUFBZTtRQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUFFLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDO1NBQUU7UUFDbkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ25ILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNsRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sQ0FBQyxPQUFP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QUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxTQUFTLHNEQUFzRCxDQUFDLFVBQWU7UUFDM0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFBRSxPQUFPLFVBQVUsQ0FBQztTQUFFO1FBQ3ZELGdEQUFnRCxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzdFLE9BQU87WUFDSCxjQUFjLEVBQUUsR0FBRyxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7WUFDckUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ3RELENBQUM7SUFDTixDQUFDO0FBQ0wsQ0FBQyxFQTFKZ0IsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUEwSjlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMTItMjAxOCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gR2VuZXJhdGVkIGZyb20gdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBSZXNvdXJjZSBTcGVjaWZpY2F0aW9uXG4vLyBTZWU6IGRvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9jZm4tcmVzb3VyY2Utc3BlY2lmaWNhdGlvbi5odG1sXG4vLyBAY2ZuMnRzOm1ldGFAIHtcImdlbmVyYXRlZFwiOlwiMjAxOC0wOS0yMFQxMjo1NDo0NC4zMDBaXCIsXCJmaW5nZXJwcmludFwiOlwiVkNLYWs3VFd2SHo1RFQ5RWdXNHlUZGVac09CeGN5VmJLR3pHclpuT2hSQT1cIn1cblxuLy8gdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoIHwgVGhpcyBpcyBnZW5lcmF0ZWQgY29kZSAtIGxpbmUgbGVuZ3RocyBhcmUgZGlmZmljdWx0IHRvIGNvbnRyb2xcblxuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuXG5leHBvcnQgbmFtZXNwYWNlIGNsb3VkZm9ybWF0aW9uIHtcbiAgICAvKipcbiAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1raW5lc2lzLXN0cmVhbS5odG1sXG4gICAgICovXG4gICAgZXhwb3J0IGludGVyZmFjZSBTdHJlYW1SZXNvdXJjZVByb3BzIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGBgQVdTOjpLaW5lc2lzOjpTdHJlYW0uU2hhcmRDb3VudGBgXG4gICAgICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWtpbmVzaXMtc3RyZWFtLmh0bWwjY2ZuLWtpbmVzaXMtc3RyZWFtLXNoYXJkY291bnRcbiAgICAgICAgICovXG4gICAgICAgIHNoYXJkQ291bnQ6IG51bWJlciB8IGNkay5DbG91ZEZvcm1hdGlvblRva2VuO1xuICAgICAgICAvKipcbiAgICAgICAgICogYGBBV1M6OktpbmVzaXM6OlN0cmVhbS5OYW1lYGBcbiAgICAgICAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2Uta2luZXNpcy1zdHJlYW0uaHRtbCNjZm4ta2luZXNpcy1zdHJlYW0tbmFtZVxuICAgICAgICAgKi9cbiAgICAgICAgc3RyZWFtTmFtZT86IHN0cmluZyB8IGNkay5DbG91ZEZvcm1hdGlvblRva2VuO1xuICAgICAgICAvKipcbiAgICAgICAgICogYGBBV1M6OktpbmVzaXM6OlN0cmVhbS5SZXRlbnRpb25QZXJpb2RIb3Vyc2BgXG4gICAgICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWtpbmVzaXMtc3RyZWFtLmh0bWwjY2ZuLWtpbmVzaXMtc3RyZWFtLXJldGVudGlvbnBlcmlvZGhvdXJzXG4gICAgICAgICAqL1xuICAgICAgICByZXRlbnRpb25QZXJpb2RIb3Vycz86IG51bWJlciB8IGNkay5DbG91ZEZvcm1hdGlvblRva2VuO1xuICAgICAgICAvKipcbiAgICAgICAgICogYGBBV1M6OktpbmVzaXM6OlN0cmVhbS5TdHJlYW1FbmNyeXB0aW9uYGBcbiAgICAgICAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2Uta2luZXNpcy1zdHJlYW0uaHRtbCNjZm4ta2luZXNpcy1zdHJlYW0tc3RyZWFtZW5jcnlwdGlvblxuICAgICAgICAgKi9cbiAgICAgICAgc3RyZWFtRW5jcnlwdGlvbj86IFN0cmVhbVJlc291cmNlLlN0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eSB8IGNkay5DbG91ZEZvcm1hdGlvblRva2VuO1xuICAgICAgICAvKipcbiAgICAgICAgICogYGBBV1M6OktpbmVzaXM6OlN0cmVhbS5UYWdzYGBcbiAgICAgICAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2Uta2luZXNpcy1zdHJlYW0uaHRtbCNjZm4ta2luZXNpcy1zdHJlYW0tdGFnc1xuICAgICAgICAgKi9cbiAgICAgICAgdGFncz86IEFycmF5PGNkay5UYWcgfCBjZGsuQ2xvdWRGb3JtYXRpb25Ub2tlbj4gfCBjZGsuQ2xvdWRGb3JtYXRpb25Ub2tlbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgd2hldGhlciB0aGUgZ2l2ZW4gcHJvcGVydGllcyBtYXRjaCB0aG9zZSBvZiBhIGBgU3RyZWFtUmVzb3VyY2VQcm9wc2BgXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydGllcyB0aGUgVHlwZVNjcmlwdCBwcm9wZXJ0aWVzIG9mIGEgYGBTdHJlYW1SZXNvdXJjZVByb3BzYGBcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIHZhbGlkYXRpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gU3RyZWFtUmVzb3VyY2VQcm9wc1ZhbGlkYXRvcihwcm9wZXJ0aWVzOiBhbnkpOiBjZGsuVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgICAgIGlmICghY2RrLmNhbkluc3BlY3QocHJvcGVydGllcykpIHsgcmV0dXJuIGNkay5WQUxJREFUSU9OX1NVQ0NFU1M7IH1cbiAgICAgICAgY29uc3QgZXJyb3JzID0gbmV3IGNkay5WYWxpZGF0aW9uUmVzdWx0cygpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ3N0cmVhbU5hbWUnLCBjZGsudmFsaWRhdGVTdHJpbmcpKHByb3BlcnRpZXMuc3RyZWFtTmFtZSkpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ3JldGVudGlvblBlcmlvZEhvdXJzJywgY2RrLnZhbGlkYXRlTnVtYmVyKShwcm9wZXJ0aWVzLnJldGVudGlvblBlcmlvZEhvdXJzKSk7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KGNkay5wcm9wZXJ0eVZhbGlkYXRvcignc2hhcmRDb3VudCcsIGNkay5yZXF1aXJlZFZhbGlkYXRvcikocHJvcGVydGllcy5zaGFyZENvdW50KSk7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KGNkay5wcm9wZXJ0eVZhbGlkYXRvcignc2hhcmRDb3VudCcsIGNkay52YWxpZGF0ZU51bWJlcikocHJvcGVydGllcy5zaGFyZENvdW50KSk7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KGNkay5wcm9wZXJ0eVZhbGlkYXRvcignc3RyZWFtRW5jcnlwdGlvbicsIFN0cmVhbVJlc291cmNlX1N0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eVZhbGlkYXRvcikocHJvcGVydGllcy5zdHJlYW1FbmNyeXB0aW9uKSk7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KGNkay5wcm9wZXJ0eVZhbGlkYXRvcigndGFncycsIGNkay5saXN0VmFsaWRhdG9yKGNkay52YWxpZGF0ZVRhZykpKHByb3BlcnRpZXMudGFncykpO1xuICAgICAgICByZXR1cm4gZXJyb3JzLndyYXAoJ3N1cHBsaWVkIHByb3BlcnRpZXMgbm90IGNvcnJlY3QgZm9yIFwiU3RyZWFtUmVzb3VyY2VQcm9wc1wiJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVuZGVycyB0aGUgQVdTIENsb3VkRm9ybWF0aW9uIHByb3BlcnRpZXMgb2YgYW4gYGBBV1M6OktpbmVzaXM6OlN0cmVhbWBgIHJlc291cmNlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydGllcyB0aGUgVHlwZVNjcmlwdCBwcm9wZXJ0aWVzIG9mIGEgYGBTdHJlYW1SZXNvdXJjZVByb3BzYGBcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSBBV1MgQ2xvdWRGb3JtYXRpb24gcHJvcGVydGllcyBvZiBhbiBgYEFXUzo6S2luZXNpczo6U3RyZWFtYGAgcmVzb3VyY2UuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RyZWFtUmVzb3VyY2VQcm9wc1RvQ2xvdWRGb3JtYXRpb24ocHJvcGVydGllczogYW55KTogYW55IHtcbiAgICAgICAgaWYgKCFjZGsuY2FuSW5zcGVjdChwcm9wZXJ0aWVzKSkgeyByZXR1cm4gcHJvcGVydGllczsgfVxuICAgICAgICBTdHJlYW1SZXNvdXJjZVByb3BzVmFsaWRhdG9yKHByb3BlcnRpZXMpLmFzc2VydFN1Y2Nlc3MoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFNoYXJkQ291bnQ6IGNkay5udW1iZXJUb0Nsb3VkRm9ybWF0aW9uKHByb3BlcnRpZXMuc2hhcmRDb3VudCksXG4gICAgICAgICAgICBOYW1lOiBjZGsuc3RyaW5nVG9DbG91ZEZvcm1hdGlvbihwcm9wZXJ0aWVzLnN0cmVhbU5hbWUpLFxuICAgICAgICAgICAgUmV0ZW50aW9uUGVyaW9kSG91cnM6IGNkay5udW1iZXJUb0Nsb3VkRm9ybWF0aW9uKHByb3BlcnRpZXMucmV0ZW50aW9uUGVyaW9kSG91cnMpLFxuICAgICAgICAgICAgU3RyZWFtRW5jcnlwdGlvbjogc3RyZWFtUmVzb3VyY2VTdHJlYW1FbmNyeXB0aW9uUHJvcGVydHlUb0Nsb3VkRm9ybWF0aW9uKHByb3BlcnRpZXMuc3RyZWFtRW5jcnlwdGlvbiksXG4gICAgICAgICAgICBUYWdzOiBjZGsubGlzdE1hcHBlcihjZGsudGFnVG9DbG91ZEZvcm1hdGlvbikocHJvcGVydGllcy50YWdzKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1raW5lc2lzLXN0cmVhbS5odG1sXG4gICAgICovXG4gICAgZXhwb3J0IGNsYXNzIFN0cmVhbVJlc291cmNlIGV4dGVuZHMgY2RrLlJlc291cmNlIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSB0eXBlIG5hbWUgZm9yIHRoaXMgcmVzb3VyY2UgY2xhc3MuXG4gICAgICAgICAqL1xuICAgICAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHJlc291cmNlVHlwZU5hbWUgPSBcIkFXUzo6S2luZXNpczo6U3RyZWFtXCI7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBjbG91ZGZvcm1hdGlvbl9hdHRyaWJ1dGUgQXJuXG4gICAgICAgICAqL1xuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgc3RyZWFtQXJuOiBzdHJpbmc7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzdHJlYW1JZDogc3RyaW5nO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDcmVhdGVzIGEgbmV3IGBgQVdTOjpLaW5lc2lzOjpTdHJlYW1gYC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHBhcmFtIHBhcmVudCAgICAgdGhlIGBgY2RrLkNvbnN0cnVjdGBgIHRoaXMgYGBTdHJlYW1SZXNvdXJjZWBgIGlzIGEgcGFydCBvZlxuICAgICAgICAgKiBAcGFyYW0gbmFtZSAgICAgICB0aGUgbmFtZSBvZiB0aGUgcmVzb3VyY2UgaW4gdGhlIGBgY2RrLkNvbnN0cnVjdGBgIHRyZWVcbiAgICAgICAgICogQHBhcmFtIHByb3BlcnRpZXMgdGhlIHByb3BlcnRpZXMgb2YgdGhpcyBgYFN0cmVhbVJlc291cmNlYGBcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0cnVjdG9yKHBhcmVudDogY2RrLkNvbnN0cnVjdCwgbmFtZTogc3RyaW5nLCBwcm9wZXJ0aWVzOiBTdHJlYW1SZXNvdXJjZVByb3BzKSB7XG4gICAgICAgICAgICBzdXBlcihwYXJlbnQsIG5hbWUsIHsgdHlwZTogU3RyZWFtUmVzb3VyY2UucmVzb3VyY2VUeXBlTmFtZSwgcHJvcGVydGllcyB9KTtcbiAgICAgICAgICAgIGNkay5yZXF1aXJlUHJvcGVydHkocHJvcGVydGllcywgJ3NoYXJkQ291bnQnLCB0aGlzKTtcbiAgICAgICAgICAgIHRoaXMuc3RyZWFtQXJuID0gdGhpcy5nZXRBdHQoJ0FybicpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB0aGlzLnN0cmVhbUlkID0gdGhpcy5yZWYudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByb3RlY3RlZCByZW5kZXJQcm9wZXJ0aWVzKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gIHtcbiAgICAgICAgICAgIHJldHVybiBzdHJlYW1SZXNvdXJjZVByb3BzVG9DbG91ZEZvcm1hdGlvbihjZGsucmVzb2x2ZSh0aGlzLnByb3BlcnRpZXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGV4cG9ydCBuYW1lc3BhY2UgU3RyZWFtUmVzb3VyY2Uge1xuICAgICAgICAvKipcbiAgICAgICAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1raW5lc2lzLXN0cmVhbS1zdHJlYW1lbmNyeXB0aW9uLmh0bWxcbiAgICAgICAgICovXG4gICAgICAgIGV4cG9ydCBpbnRlcmZhY2UgU3RyZWFtRW5jcnlwdGlvblByb3BlcnR5IHtcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICogYGBTdHJlYW1SZXNvdXJjZS5TdHJlYW1FbmNyeXB0aW9uUHJvcGVydHkuRW5jcnlwdGlvblR5cGVgYFxuICAgICAgICAgICAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1raW5lc2lzLXN0cmVhbS1zdHJlYW1lbmNyeXB0aW9uLmh0bWwjY2ZuLWtpbmVzaXMtc3RyZWFtLXN0cmVhbWVuY3J5cHRpb24tZW5jcnlwdGlvbnR5cGVcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgZW5jcnlwdGlvblR5cGU6IHN0cmluZyB8IGNkay5DbG91ZEZvcm1hdGlvblRva2VuO1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBgYFN0cmVhbVJlc291cmNlLlN0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eS5LZXlJZGBgXG4gICAgICAgICAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWtpbmVzaXMtc3RyZWFtLXN0cmVhbWVuY3J5cHRpb24uaHRtbCNjZm4ta2luZXNpcy1zdHJlYW0tc3RyZWFtZW5jcnlwdGlvbi1rZXlpZFxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBrZXlJZDogc3RyaW5nIHwgY2RrLkNsb3VkRm9ybWF0aW9uVG9rZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmUgd2hldGhlciB0aGUgZ2l2ZW4gcHJvcGVydGllcyBtYXRjaCB0aG9zZSBvZiBhIGBgU3RyZWFtRW5jcnlwdGlvblByb3BlcnR5YGBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0aWVzIHRoZSBUeXBlU2NyaXB0IHByb3BlcnRpZXMgb2YgYSBgYFN0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eWBgXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIFN0cmVhbVJlc291cmNlX1N0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eVZhbGlkYXRvcihwcm9wZXJ0aWVzOiBhbnkpOiBjZGsuVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgICAgIGlmICghY2RrLmNhbkluc3BlY3QocHJvcGVydGllcykpIHsgcmV0dXJuIGNkay5WQUxJREFUSU9OX1NVQ0NFU1M7IH1cbiAgICAgICAgY29uc3QgZXJyb3JzID0gbmV3IGNkay5WYWxpZGF0aW9uUmVzdWx0cygpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ2VuY3J5cHRpb25UeXBlJywgY2RrLnJlcXVpcmVkVmFsaWRhdG9yKShwcm9wZXJ0aWVzLmVuY3J5cHRpb25UeXBlKSk7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KGNkay5wcm9wZXJ0eVZhbGlkYXRvcignZW5jcnlwdGlvblR5cGUnLCBjZGsudmFsaWRhdGVTdHJpbmcpKHByb3BlcnRpZXMuZW5jcnlwdGlvblR5cGUpKTtcbiAgICAgICAgZXJyb3JzLmNvbGxlY3QoY2RrLnByb3BlcnR5VmFsaWRhdG9yKCdrZXlJZCcsIGNkay5yZXF1aXJlZFZhbGlkYXRvcikocHJvcGVydGllcy5rZXlJZCkpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ2tleUlkJywgY2RrLnZhbGlkYXRlU3RyaW5nKShwcm9wZXJ0aWVzLmtleUlkKSk7XG4gICAgICAgIHJldHVybiBlcnJvcnMud3JhcCgnc3VwcGxpZWQgcHJvcGVydGllcyBub3QgY29ycmVjdCBmb3IgXCJTdHJlYW1FbmNyeXB0aW9uUHJvcGVydHlcIicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbmRlcnMgdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBwcm9wZXJ0aWVzIG9mIGFuIGBgQVdTOjpLaW5lc2lzOjpTdHJlYW0uU3RyZWFtRW5jcnlwdGlvbmBgIHJlc291cmNlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydGllcyB0aGUgVHlwZVNjcmlwdCBwcm9wZXJ0aWVzIG9mIGEgYGBTdHJlYW1FbmNyeXB0aW9uUHJvcGVydHlgYFxuICAgICAqXG4gICAgICogQHJldHVybnMgdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBwcm9wZXJ0aWVzIG9mIGFuIGBgQVdTOjpLaW5lc2lzOjpTdHJlYW0uU3RyZWFtRW5jcnlwdGlvbmBgIHJlc291cmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0cmVhbVJlc291cmNlU3RyZWFtRW5jcnlwdGlvblByb3BlcnR5VG9DbG91ZEZvcm1hdGlvbihwcm9wZXJ0aWVzOiBhbnkpOiBhbnkge1xuICAgICAgICBpZiAoIWNkay5jYW5JbnNwZWN0KHByb3BlcnRpZXMpKSB7IHJldHVybiBwcm9wZXJ0aWVzOyB9XG4gICAgICAgIFN0cmVhbVJlc291cmNlX1N0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eVZhbGlkYXRvcihwcm9wZXJ0aWVzKS5hc3NlcnRTdWNjZXNzKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBFbmNyeXB0aW9uVHlwZTogY2RrLnN0cmluZ1RvQ2xvdWRGb3JtYXRpb24ocHJvcGVydGllcy5lbmNyeXB0aW9uVHlwZSksXG4gICAgICAgICAgICBLZXlJZDogY2RrLnN0cmluZ1RvQ2xvdWRGb3JtYXRpb24ocHJvcGVydGllcy5rZXlJZCksXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpcy5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJraW5lc2lzLmdlbmVyYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0VBQStFO0FBQy9FLCtEQUErRDtBQUMvRCw4RkFBOEY7QUFDOUYsc0hBQXNIOztBQUV0SCxrR0FBa0c7QUFFbEcsb0NBQXFDO0FBRXJDLElBQWlCLGNBQWMsQ0E2SjlCO0FBN0pELFdBQWlCLGNBQWM7SUFnQzNCOzs7Ozs7T0FNRztJQUNILFNBQVMsNEJBQTRCLENBQUMsVUFBZTtRQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUFFLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDO1NBQUU7UUFDbkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUMzQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ25ILE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNsRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9GLE1BQU0sQ0FBQyxPQUFP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QUMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN2RyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDeEYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxzREFBc0QsQ0FBQyxVQUFlO1FBQzNFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQUUsT0FBTyxVQUFVLENBQUM7U0FBRTtRQUN2RCxnREFBZ0QsQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3RSxPQUFPO1lBQ0wsY0FBYyxFQUFFLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO1lBQ3JFLEtBQUssRUFBRSxHQUFHLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztTQUNwRCxDQUFDO0lBQ04sQ0FBQztBQUNMLENBQUMsRUE3SmdCLGNBQWMsR0FBZCxzQkFBYyxLQUFkLHNCQUFjLFFBNko5QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDEyLTIwMTggQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIEdlbmVyYXRlZCBmcm9tIHRoZSBBV1MgQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2UgU3BlY2lmaWNhdGlvblxuLy8gU2VlOiBkb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvY2ZuLXJlc291cmNlLXNwZWNpZmljYXRpb24uaHRtbFxuLy8gQGNmbjJ0czptZXRhQCB7XCJnZW5lcmF0ZWRcIjpcIjIwMTgtMDktMjdUMjE6MzY6MTIuNjYxWlwiLFwiZmluZ2VycHJpbnRcIjpcIitQQ2Juak1yQmYxM0FSemc4SnA0TUM5dmVWUFArYkNrcTd0SHpoVWJtNFU9XCJ9XG5cbi8vIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCB8IFRoaXMgaXMgZ2VuZXJhdGVkIGNvZGUgLSBsaW5lIGxlbmd0aHMgYXJlIGRpZmZpY3VsdCB0byBjb250cm9sXG5cbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcblxuZXhwb3J0IG5hbWVzcGFjZSBjbG91ZGZvcm1hdGlvbiB7XG4gICAgLyoqXG4gICAgICogQGxpbmsgaHR0cDovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2Uta2luZXNpcy1zdHJlYW0uaHRtbFxuICAgICAqL1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3RyZWFtUmVzb3VyY2VQcm9wcyB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBgYEFXUzo6S2luZXNpczo6U3RyZWFtLlNoYXJkQ291bnRgYFxuICAgICAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1raW5lc2lzLXN0cmVhbS5odG1sI2Nmbi1raW5lc2lzLXN0cmVhbS1zaGFyZGNvdW50XG4gICAgICAgICAqL1xuICAgICAgICBzaGFyZENvdW50OiBudW1iZXIgfCBjZGsuQ2xvdWRGb3JtYXRpb25Ub2tlbjtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGBgQVdTOjpLaW5lc2lzOjpTdHJlYW0uTmFtZWBgXG4gICAgICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWtpbmVzaXMtc3RyZWFtLmh0bWwjY2ZuLWtpbmVzaXMtc3RyZWFtLW5hbWVcbiAgICAgICAgICovXG4gICAgICAgIHN0cmVhbU5hbWU/OiBzdHJpbmcgfCBjZGsuQ2xvdWRGb3JtYXRpb25Ub2tlbjtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGBgQVdTOjpLaW5lc2lzOjpTdHJlYW0uUmV0ZW50aW9uUGVyaW9kSG91cnNgYFxuICAgICAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1raW5lc2lzLXN0cmVhbS5odG1sI2Nmbi1raW5lc2lzLXN0cmVhbS1yZXRlbnRpb25wZXJpb2Rob3Vyc1xuICAgICAgICAgKi9cbiAgICAgICAgcmV0ZW50aW9uUGVyaW9kSG91cnM/OiBudW1iZXIgfCBjZGsuQ2xvdWRGb3JtYXRpb25Ub2tlbjtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGBgQVdTOjpLaW5lc2lzOjpTdHJlYW0uU3RyZWFtRW5jcnlwdGlvbmBgXG4gICAgICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWtpbmVzaXMtc3RyZWFtLmh0bWwjY2ZuLWtpbmVzaXMtc3RyZWFtLXN0cmVhbWVuY3J5cHRpb25cbiAgICAgICAgICovXG4gICAgICAgIHN0cmVhbUVuY3J5cHRpb24/OiBTdHJlYW1SZXNvdXJjZS5TdHJlYW1FbmNyeXB0aW9uUHJvcGVydHkgfCBjZGsuQ2xvdWRGb3JtYXRpb25Ub2tlbjtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIGBgQVdTOjpLaW5lc2lzOjpTdHJlYW0uVGFnc2BgXG4gICAgICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWtpbmVzaXMtc3RyZWFtLmh0bWwjY2ZuLWtpbmVzaXMtc3RyZWFtLXRhZ3NcbiAgICAgICAgICovXG4gICAgICAgIHRhZ3M/OiBBcnJheTxjZGsuVGFnIHwgY2RrLkNsb3VkRm9ybWF0aW9uVG9rZW4+IHwgY2RrLkNsb3VkRm9ybWF0aW9uVG9rZW47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGdpdmVuIHByb3BlcnRpZXMgbWF0Y2ggdGhvc2Ugb2YgYSBgYFN0cmVhbVJlc291cmNlUHJvcHNgYFxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnRpZXMgdGhlIFR5cGVTY3JpcHQgcHJvcGVydGllcyBvZiBhIGBgU3RyZWFtUmVzb3VyY2VQcm9wc2BgXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSB2YWxpZGF0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIFN0cmVhbVJlc291cmNlUHJvcHNWYWxpZGF0b3IocHJvcGVydGllczogYW55KTogY2RrLlZhbGlkYXRpb25SZXN1bHQge1xuICAgICAgICBpZiAoIWNkay5jYW5JbnNwZWN0KHByb3BlcnRpZXMpKSB7IHJldHVybiBjZGsuVkFMSURBVElPTl9TVUNDRVNTOyB9XG4gICAgICAgIGNvbnN0IGVycm9ycyA9IG5ldyBjZGsuVmFsaWRhdGlvblJlc3VsdHMoKTtcbiAgICAgICAgZXJyb3JzLmNvbGxlY3QoY2RrLnByb3BlcnR5VmFsaWRhdG9yKCdzdHJlYW1OYW1lJywgY2RrLnZhbGlkYXRlU3RyaW5nKShwcm9wZXJ0aWVzLnN0cmVhbU5hbWUpKTtcbiAgICAgICAgZXJyb3JzLmNvbGxlY3QoY2RrLnByb3BlcnR5VmFsaWRhdG9yKCdyZXRlbnRpb25QZXJpb2RIb3VycycsIGNkay52YWxpZGF0ZU51bWJlcikocHJvcGVydGllcy5yZXRlbnRpb25QZXJpb2RIb3VycykpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ3NoYXJkQ291bnQnLCBjZGsucmVxdWlyZWRWYWxpZGF0b3IpKHByb3BlcnRpZXMuc2hhcmRDb3VudCkpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ3NoYXJkQ291bnQnLCBjZGsudmFsaWRhdGVOdW1iZXIpKHByb3BlcnRpZXMuc2hhcmRDb3VudCkpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ3N0cmVhbUVuY3J5cHRpb24nLCBTdHJlYW1SZXNvdXJjZV9TdHJlYW1FbmNyeXB0aW9uUHJvcGVydHlWYWxpZGF0b3IpKHByb3BlcnRpZXMuc3RyZWFtRW5jcnlwdGlvbikpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ3RhZ3MnLCBjZGsubGlzdFZhbGlkYXRvcihjZGsudmFsaWRhdGVUYWcpKShwcm9wZXJ0aWVzLnRhZ3MpKTtcbiAgICAgICAgcmV0dXJuIGVycm9ycy53cmFwKCdzdXBwbGllZCBwcm9wZXJ0aWVzIG5vdCBjb3JyZWN0IGZvciBcIlN0cmVhbVJlc291cmNlUHJvcHNcIicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbmRlcnMgdGhlIEFXUyBDbG91ZEZvcm1hdGlvbiBwcm9wZXJ0aWVzIG9mIGFuIGBgQVdTOjpLaW5lc2lzOjpTdHJlYW1gYCByZXNvdXJjZVxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnRpZXMgdGhlIFR5cGVTY3JpcHQgcHJvcGVydGllcyBvZiBhIGBgU3RyZWFtUmVzb3VyY2VQcm9wc2BgXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgQVdTIENsb3VkRm9ybWF0aW9uIHByb3BlcnRpZXMgb2YgYW4gYGBBV1M6OktpbmVzaXM6OlN0cmVhbWBgIHJlc291cmNlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0cmVhbVJlc291cmNlUHJvcHNUb0Nsb3VkRm9ybWF0aW9uKHByb3BlcnRpZXM6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICghY2RrLmNhbkluc3BlY3QocHJvcGVydGllcykpIHsgcmV0dXJuIHByb3BlcnRpZXM7IH1cbiAgICAgICAgU3RyZWFtUmVzb3VyY2VQcm9wc1ZhbGlkYXRvcihwcm9wZXJ0aWVzKS5hc3NlcnRTdWNjZXNzKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgU2hhcmRDb3VudDogY2RrLm51bWJlclRvQ2xvdWRGb3JtYXRpb24ocHJvcGVydGllcy5zaGFyZENvdW50KSxcbiAgICAgICAgICBOYW1lOiBjZGsuc3RyaW5nVG9DbG91ZEZvcm1hdGlvbihwcm9wZXJ0aWVzLnN0cmVhbU5hbWUpLFxuICAgICAgICAgIFJldGVudGlvblBlcmlvZEhvdXJzOiBjZGsubnVtYmVyVG9DbG91ZEZvcm1hdGlvbihwcm9wZXJ0aWVzLnJldGVudGlvblBlcmlvZEhvdXJzKSxcbiAgICAgICAgICBTdHJlYW1FbmNyeXB0aW9uOiBzdHJlYW1SZXNvdXJjZVN0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eVRvQ2xvdWRGb3JtYXRpb24ocHJvcGVydGllcy5zdHJlYW1FbmNyeXB0aW9uKSxcbiAgICAgICAgICBUYWdzOiBjZGsubGlzdE1hcHBlcihjZGsudGFnVG9DbG91ZEZvcm1hdGlvbikocHJvcGVydGllcy50YWdzKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1raW5lc2lzLXN0cmVhbS5odG1sXG4gICAgICovXG4gICAgZXhwb3J0IGNsYXNzIFN0cmVhbVJlc291cmNlIGV4dGVuZHMgY2RrLlJlc291cmNlIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSB0eXBlIG5hbWUgZm9yIHRoaXMgcmVzb3VyY2UgY2xhc3MuXG4gICAgICAgICAqL1xuICAgICAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHJlc291cmNlVHlwZU5hbWUgPSBcIkFXUzo6S2luZXNpczo6U3RyZWFtXCI7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBjbG91ZGZvcm1hdGlvbl9hdHRyaWJ1dGUgQXJuXG4gICAgICAgICAqL1xuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgc3RyZWFtQXJuOiBzdHJpbmc7XG4gICAgICAgIHB1YmxpYyByZWFkb25seSBzdHJlYW1JZDogc3RyaW5nO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDcmVhdGVzIGEgbmV3IGBgQVdTOjpLaW5lc2lzOjpTdHJlYW1gYC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHBhcmFtIHBhcmVudCAgIHRoZSBgYGNkay5Db25zdHJ1Y3RgYCB0aGlzIGBgU3RyZWFtUmVzb3VyY2VgYCBpcyBhIHBhcnQgb2ZcbiAgICAgICAgICogQHBhcmFtIG5hbWUgICAgIHRoZSBuYW1lIG9mIHRoZSByZXNvdXJjZSBpbiB0aGUgYGBjZGsuQ29uc3RydWN0YGAgdHJlZVxuICAgICAgICAgKiBAcGFyYW0gcHJvcGVydGllcyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGBgU3RyZWFtUmVzb3VyY2VgYFxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BlcnRpZXM6IFN0cmVhbVJlc291cmNlUHJvcHMpIHtcbiAgICAgICAgICAgIHN1cGVyKHBhcmVudCwgbmFtZSwgeyB0eXBlOiBTdHJlYW1SZXNvdXJjZS5yZXNvdXJjZVR5cGVOYW1lLCBwcm9wZXJ0aWVzIH0pO1xuICAgICAgICAgICAgY2RrLnJlcXVpcmVQcm9wZXJ0eShwcm9wZXJ0aWVzLCAnc2hhcmRDb3VudCcsIHRoaXMpO1xuICAgICAgICAgICAgdGhpcy5zdHJlYW1Bcm4gPSB0aGlzLmdldEF0dCgnQXJuJykudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHRoaXMuc3RyZWFtSWQgPSB0aGlzLnJlZi50b1N0cmluZygpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGdldCBwcm9wZXJ0eU92ZXJyaWRlcygpOiBTdHJlYW1SZXNvdXJjZVByb3BzIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVudHlwZWRQcm9wZXJ0eU92ZXJyaWRlcztcbiAgICAgICAgfVxuICAgICAgICBwcm90ZWN0ZWQgcmVuZGVyUHJvcGVydGllcyhwcm9wZXJ0aWVzOiBhbnkpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ICB7XG4gICAgICAgICAgICByZXR1cm4gc3RyZWFtUmVzb3VyY2VQcm9wc1RvQ2xvdWRGb3JtYXRpb24oY2RrLnJlc29sdmUocHJvcGVydGllcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZXhwb3J0IG5hbWVzcGFjZSBTdHJlYW1SZXNvdXJjZSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWtpbmVzaXMtc3RyZWFtLXN0cmVhbWVuY3J5cHRpb24uaHRtbFxuICAgICAgICAgKi9cbiAgICAgICAgZXhwb3J0IGludGVyZmFjZSBTdHJlYW1FbmNyeXB0aW9uUHJvcGVydHkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBgYFN0cmVhbVJlc291cmNlLlN0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eS5FbmNyeXB0aW9uVHlwZWBgXG4gICAgICAgICAgICAgKiBAbGluayBodHRwOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWtpbmVzaXMtc3RyZWFtLXN0cmVhbWVuY3J5cHRpb24uaHRtbCNjZm4ta2luZXNpcy1zdHJlYW0tc3RyZWFtZW5jcnlwdGlvbi1lbmNyeXB0aW9udHlwZVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICBlbmNyeXB0aW9uVHlwZTogc3RyaW5nIHwgY2RrLkNsb3VkRm9ybWF0aW9uVG9rZW47XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIGBgU3RyZWFtUmVzb3VyY2UuU3RyZWFtRW5jcnlwdGlvblByb3BlcnR5LktleUlkYGBcbiAgICAgICAgICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMta2luZXNpcy1zdHJlYW0tc3RyZWFtZW5jcnlwdGlvbi5odG1sI2Nmbi1raW5lc2lzLXN0cmVhbS1zdHJlYW1lbmNyeXB0aW9uLWtleWlkXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGtleUlkOiBzdHJpbmcgfCBjZGsuQ2xvdWRGb3JtYXRpb25Ub2tlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERldGVybWluZSB3aGV0aGVyIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIG1hdGNoIHRob3NlIG9mIGEgYGBTdHJlYW1FbmNyeXB0aW9uUHJvcGVydHlgYFxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnRpZXMgdGhlIFR5cGVTY3JpcHQgcHJvcGVydGllcyBvZiBhIGBgU3RyZWFtRW5jcnlwdGlvblByb3BlcnR5YGBcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIHZhbGlkYXRpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gU3RyZWFtUmVzb3VyY2VfU3RyZWFtRW5jcnlwdGlvblByb3BlcnR5VmFsaWRhdG9yKHByb3BlcnRpZXM6IGFueSk6IGNkay5WYWxpZGF0aW9uUmVzdWx0IHtcbiAgICAgICAgaWYgKCFjZGsuY2FuSW5zcGVjdChwcm9wZXJ0aWVzKSkgeyByZXR1cm4gY2RrLlZBTElEQVRJT05fU1VDQ0VTUzsgfVxuICAgICAgICBjb25zdCBlcnJvcnMgPSBuZXcgY2RrLlZhbGlkYXRpb25SZXN1bHRzKCk7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KGNkay5wcm9wZXJ0eVZhbGlkYXRvcignZW5jcnlwdGlvblR5cGUnLCBjZGsucmVxdWlyZWRWYWxpZGF0b3IpKHByb3BlcnRpZXMuZW5jcnlwdGlvblR5cGUpKTtcbiAgICAgICAgZXJyb3JzLmNvbGxlY3QoY2RrLnByb3BlcnR5VmFsaWRhdG9yKCdlbmNyeXB0aW9uVHlwZScsIGNkay52YWxpZGF0ZVN0cmluZykocHJvcGVydGllcy5lbmNyeXB0aW9uVHlwZSkpO1xuICAgICAgICBlcnJvcnMuY29sbGVjdChjZGsucHJvcGVydHlWYWxpZGF0b3IoJ2tleUlkJywgY2RrLnJlcXVpcmVkVmFsaWRhdG9yKShwcm9wZXJ0aWVzLmtleUlkKSk7XG4gICAgICAgIGVycm9ycy5jb2xsZWN0KGNkay5wcm9wZXJ0eVZhbGlkYXRvcigna2V5SWQnLCBjZGsudmFsaWRhdGVTdHJpbmcpKHByb3BlcnRpZXMua2V5SWQpKTtcbiAgICAgICAgcmV0dXJuIGVycm9ycy53cmFwKCdzdXBwbGllZCBwcm9wZXJ0aWVzIG5vdCBjb3JyZWN0IGZvciBcIlN0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eVwiJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVuZGVycyB0aGUgQVdTIENsb3VkRm9ybWF0aW9uIHByb3BlcnRpZXMgb2YgYW4gYGBBV1M6OktpbmVzaXM6OlN0cmVhbS5TdHJlYW1FbmNyeXB0aW9uYGAgcmVzb3VyY2VcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0aWVzIHRoZSBUeXBlU2NyaXB0IHByb3BlcnRpZXMgb2YgYSBgYFN0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eWBgXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgQVdTIENsb3VkRm9ybWF0aW9uIHByb3BlcnRpZXMgb2YgYW4gYGBBV1M6OktpbmVzaXM6OlN0cmVhbS5TdHJlYW1FbmNyeXB0aW9uYGAgcmVzb3VyY2UuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RyZWFtUmVzb3VyY2VTdHJlYW1FbmNyeXB0aW9uUHJvcGVydHlUb0Nsb3VkRm9ybWF0aW9uKHByb3BlcnRpZXM6IGFueSk6IGFueSB7XG4gICAgICAgIGlmICghY2RrLmNhbkluc3BlY3QocHJvcGVydGllcykpIHsgcmV0dXJuIHByb3BlcnRpZXM7IH1cbiAgICAgICAgU3RyZWFtUmVzb3VyY2VfU3RyZWFtRW5jcnlwdGlvblByb3BlcnR5VmFsaWRhdG9yKHByb3BlcnRpZXMpLmFzc2VydFN1Y2Nlc3MoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBFbmNyeXB0aW9uVHlwZTogY2RrLnN0cmluZ1RvQ2xvdWRGb3JtYXRpb24ocHJvcGVydGllcy5lbmNyeXB0aW9uVHlwZSksXG4gICAgICAgICAgS2V5SWQ6IGNkay5zdHJpbmdUb0Nsb3VkRm9ybWF0aW9uKHByb3BlcnRpZXMua2V5SWQpLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==

@@ -25,12 +25,12 @@ import iam = require('@aws-cdk/aws-iam');

*
* new Stream(this, 'MyStream', { props });
* new Stream(this, 'MyStream', { props });
*
* Or imported from an existing stream:
*
* StreamRef.import(this, 'MyImportedStream', { streamArn: ... });
* StreamRef.import(this, 'MyImportedStream', { streamArn: ... });
*
* You can also export a stream and import it into another stack:
*
* const ref = myStream.export();
* StreamRef.import(this, 'MyImportedStream', ref);
* const ref = myStream.export();
* StreamRef.import(this, 'MyImportedStream', ref);
*

@@ -37,0 +37,0 @@ */

@@ -13,12 +13,12 @@ "use strict";

*
* new Stream(this, 'MyStream', { props });
* new Stream(this, 'MyStream', { props });
*
* Or imported from an existing stream:
*
* StreamRef.import(this, 'MyImportedStream', { streamArn: ... });
* StreamRef.import(this, 'MyImportedStream', { streamArn: ... });
*
* You can also export a stream and import it into another stack:
*
* const ref = myStream.export();
* StreamRef.import(this, 'MyImportedStream', ref);
* const ref = myStream.export();
* StreamRef.import(this, 'MyImportedStream', ref);
*

@@ -258,2 +258,2 @@ */

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBQ3pDLHdDQUF5QztBQUN6QywwQ0FBMkM7QUFDM0Msb0NBQXFDO0FBQ3JDLDJEQUFxRDtBQW1CckQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFzQixTQUFVLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFDakQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBcUIsRUFBRSxJQUFZLEVBQUUsS0FBcUI7UUFDM0UsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQXNCRDs7T0FFRztJQUNJLE1BQU07UUFDVCxPQUFPO1lBQ0gsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNwRyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUM5RSxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxRQUFnQztRQUM3QyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FDTixRQUFRLEVBQ1I7WUFDSSxhQUFhLEVBQUU7Z0JBQ1gsd0JBQXdCO2dCQUN4QixvQkFBb0I7Z0JBQ3BCLDBCQUEwQjthQUM3QjtZQUNELFVBQVUsRUFBRTtnQkFDUixhQUFhO2FBQ2hCO1NBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFVB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QyxFQVhXLGdCQUFnQixHQUFoQix3QkFBZ0IsS0FBaEIsd0JBQWdCLFFBVzNCO0FBRUQsTUFBTSxpQkFBa0IsU0FBUSxTQUFTO0lBS3JDLFlBQVksTUFBcUIsRUFBRSxJQUFZLEVBQUUsS0FBcUI7UUFDbEUsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVwQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFFakMsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQWEsQ0FBQztRQUVwRSxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3hGO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztTQUNsQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpYW0gPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtaWFtJyk7XG5pbXBvcnQga21zID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWttcycpO1xuaW1wb3J0IGxvZ3MgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtbG9ncycpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IHsgY2xvdWRmb3JtYXRpb24gfSBmcm9tICcuL2tpbmVzaXMuZ2VuZXJhdGVkJztcblxuLyoqXG4gKiBBIHJlZmVyZW5jZSB0byBhIHN0cmVhbS4gVGhlIGVhc2llc3Qgd2F5IHRvIGluc3RhbnRpYXRlIGlzIHRvIGNhbGxcbiAqIGBzdHJlYW0uZXhwb3J0KClgLiBUaGVuLCB0aGUgY29uc3VtZXIgY2FuIHVzZSBgU3RyZWFtLmltcG9ydCh0aGlzLCByZWYpYCBhbmRcbiAqIGdldCBhIGBTdHJlYW1gLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbVJlZlByb3BzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgQVJOIG9mIHRoZSBzdHJlYW0uXG4gICAgICovXG4gICAgc3RyZWFtQXJuOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgS01TIGtleSBzZWN1cmluZyB0aGUgY29udGVudHMgb2YgdGhlIHN0cmVhbSBpZiBlbmNyeXB0aW9uIGlzIGVuYWJsZWQuXG4gICAgICovXG4gICAgZW5jcnlwdGlvbktleT86IGttcy5FbmNyeXB0aW9uS2V5UmVmUHJvcHM7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIEtpbmVzaXMgU3RyZWFtLlxuICpcbiAqIFN0cmVhbXMgY2FuIGJlIGVpdGhlciBkZWZpbmVkIHdpdGhpbiB0aGlzIHN0YWNrOlxuICpcbiAqICAgICBuZXcgU3RyZWFtKHRoaXMsICdNeVN0cmVhbScsIHsgcHJvcHMgfSk7XG4gKlxuICogT3IgaW1wb3J0ZWQgZnJvbSBhbiBleGlzdGluZyBzdHJlYW06XG4gKlxuICogICAgIFN0cmVhbVJlZi5pbXBvcnQodGhpcywgJ015SW1wb3J0ZWRTdHJlYW0nLCB7IHN0cmVhbUFybjogLi4uIH0pO1xuICpcbiAqIFlvdSBjYW4gYWxzbyBleHBvcnQgYSBzdHJlYW0gYW5kIGltcG9ydCBpdCBpbnRvIGFub3RoZXIgc3RhY2s6XG4gKlxuICogICAgIGNvbnN0IHJlZiA9IG15U3RyZWFtLmV4cG9ydCgpO1xuICogICAgIFN0cmVhbVJlZi5pbXBvcnQodGhpcywgJ015SW1wb3J0ZWRTdHJlYW0nLCByZWYpO1xuICpcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFN0cmVhbVJlZiBleHRlbmRzIGNkay5Db25zdHJ1Y3QgaW1wbGVtZW50cyBsb2dzLklMb2dTdWJzY3JpcHRpb25EZXN0aW5hdGlvbiB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIFN0cmVhbSBjb25zdHJ1Y3QgdGhhdCByZXByZXNlbnRzIGFuIGV4dGVybmFsIHN0cmVhbS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJlbnQgVGhlIHBhcmVudCBjcmVhdGluZyBjb25zdHJ1Y3QgKHVzdWFsbHkgYHRoaXNgKS5cbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgY29uc3RydWN0J3MgbmFtZS5cbiAgICAgKiBAcGFyYW0gcmVmIEEgU3RyZWFtUmVmUHJvcHMgb2JqZWN0LiBDYW4gYmUgb2J0YWluZWQgZnJvbSBhIGNhbGwgdG9cbiAgICAgKiBgc3RyZWFtLmV4cG9ydCgpYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGltcG9ydChwYXJlbnQ6IGNkay5Db25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgcHJvcHM6IFN0cmVhbVJlZlByb3BzKTogU3RyZWFtUmVmIHtcbiAgICAgICAgcmV0dXJuIG5ldyBJbXBvcnRlZFN0cmVhbVJlZihwYXJlbnQsIG5hbWUsIHByb3BzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgQVJOIG9mIHRoZSBzdHJlYW0uXG4gICAgICovXG4gICAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHN0cmVhbUFybjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIHN0cmVhbVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzdHJlYW1OYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBLTVMgZW5jcnlwdGlvbiBrZXkgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3RyZWFtLlxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLkVuY3J5cHRpb25LZXlSZWY7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcm9sZSB0aGF0IGNhbiBiZSB1c2VkIGJ5IENsb3VkV2F0Y2ggbG9ncyB0byB3cml0ZSB0byB0aGlzIHN0cmVhbVxuICAgICAqL1xuICAgIHByaXZhdGUgY2xvdWRXYXRjaExvZ3NSb2xlPzogaWFtLlJvbGU7XG5cbiAgICAvKipcbiAgICAgKiBFeHBvcnRzIHRoaXMgc3RyZWFtIGZyb20gdGhlIHN0YWNrLlxuICAgICAqL1xuICAgIHB1YmxpYyBleHBvcnQoKTogU3RyZWFtUmVmUHJvcHMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3RyZWFtQXJuOiBuZXcgY2RrLk91dHB1dCh0aGlzLCAnU3RyZWFtQXJuJywgeyB2YWx1ZTogdGhpcy5zdHJlYW1Bcm4gfSkubWFrZUltcG9ydFZhbHVlKCkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGVuY3J5cHRpb25LZXk6IHRoaXMuZW5jcnlwdGlvbktleSA/IHRoaXMuZW5jcnlwdGlvbktleS5leHBvcnQoKSA6IHVuZGVmaW5lZCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHcmFudCB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhpcyBzdHJlYW0gYW5kIGl0cyBjb250ZW50cyB0byBhbiBJQU1cbiAgICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAgICpcbiAgICAgKiBJZiBhbiBlbmNyeXB0aW9uIGtleSBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVlcyB0aGUga2V5IHRvIGRlY3J5cHQgdGhlXG4gICAgICogY29udGVudHMgb2YgdGhlIHN0cmVhbSB3aWxsIGFsc28gYmUgZ3JhbnRlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ3JhbnRSZWFkKGlkZW50aXR5PzogaWFtLklJZGVudGl0eVJlc291cmNlKSB7XG4gICAgICAgIGlmICghaWRlbnRpdHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdyYW50KFxuICAgICAgICAgICAgaWRlbnRpdHksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc3RyZWFtQWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAna2luZXNpczpEZXNjcmliZVN0cmVhbScsXG4gICAgICAgICAgICAgICAgICAgICdraW5lc2lzOkdldFJlY29yZHMnLFxuICAgICAgICAgICAgICAgICAgICAna2luZXNpczpHZXRTaGFyZEl0ZXJhdG9yJ1xuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAga2V5QWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAna21zOkRlY3J5cHQnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdyYW50IHJlYWQgcGVybWlzc2lvbnMgZm9yIHRoaXMgc3RyZWFtIGFuZCBpdHMgY29udGVudHMgdG8gYW4gSUFNXG4gICAgICogcHJpbmNpcGFsIChSb2xlL0dyb3VwL1VzZXIpLlxuICAgICAqXG4gICAgICogSWYgYW4gZW5jcnlwdGlvbiBrZXkgaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1ZXMgdGhlIGtleSB0byBkZWNyeXB0IHRoZVxuICAgICAqIGNvbnRlbnRzIG9mIHRoZSBzdHJlYW0gd2lsbCBhbHNvIGJlIGdyYW50ZWQuXG4gICAgICovXG4gICAgcHVibGljIGdyYW50V3JpdGUoaWRlbnRpdHk/OiBpYW0uSUlkZW50aXR5UmVzb3VyY2UpIHtcbiAgICAgICAgaWYgKCFpZGVudGl0eSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ncmFudChcbiAgICAgICAgICAgIGlkZW50aXR5LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHN0cmVhbUFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ2tpbmVzaXM6RGVzY3JpYmVTdHJlYW0nLFxuICAgICAgICAgICAgICAgICAgICAna2luZXNpczpQdXRSZWNvcmQnLFxuICAgICAgICAgICAgICAgICAgICAna2luZXNpczpQdXRSZWNvcmRzJ1xuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAga2V5QWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAna21zOkdlbmVyYXRlRGF0YUtleScsXG4gICAgICAgICAgICAgICAgICAgICdrbXM6RW5jcnlwdCdcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR3JhbnRzIHJlYWQvd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgc3RyZWFtIGFuZCBpdHMgY29udGVudHMgdG8gYW4gSUFNXG4gICAgICogcHJpbmNpcGFsIChSb2xlL0dyb3VwL1VzZXIpLlxuICAgICAqXG4gICAgICogSWYgYW4gZW5jcnlwdGlvbiBrZXkgaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSBmb3JcbiAgICAgKiBlbmNyeXB0L2RlY3J5cHQgd2lsbCBhbHNvIGJlIGdyYW50ZWQuXG4gICAgICovXG4gICAgcHVibGljIGdyYW50UmVhZFdyaXRlKGlkZW50aXR5PzogaWFtLklJZGVudGl0eVJlc291cmNlKSB7XG4gICAgICAgIGlmICghaWRlbnRpdHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdyYW50KFxuICAgICAgICAgICAgaWRlbnRpdHksXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc3RyZWFtQWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAna2luZXNpczpEZXNjcmliZVN0cmVhbScsXG4gICAgICAgICAgICAgICAgICAgICdraW5lc2lzOkdldFJlY29yZHMnLFxuICAgICAgICAgICAgICAgICAgICAna2luZXNpczpHZXRTaGFyZEl0ZXJhdG9yJyxcbiAgICAgICAgICAgICAgICAgICAgJ2tpbmVzaXM6UHV0UmVjb3JkJyxcbiAgICAgICAgICAgICAgICAgICAgJ2tpbmVzaXM6UHV0UmVjb3JkcydcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGtleUFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ2ttczpEZWNyeXB0JyxcbiAgICAgICAgICAgICAgICAgICAgJ2ttczpHZW5lcmF0ZURhdGFLZXknLFxuICAgICAgICAgICAgICAgICAgICAna21zOkVuY3J5cHQnXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2dTdWJzY3JpcHRpb25EZXN0aW5hdGlvbihzb3VyY2VMb2dHcm91cDogbG9ncy5Mb2dHcm91cFJlZik6IGxvZ3MuTG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb24ge1xuICAgICAgICAvLyBGb2xsb3dpbmcgZXhhbXBsZSBmcm9tIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9sb2dzL1N1YnNjcmlwdGlvbkZpbHRlcnMuaHRtbCNEZXN0aW5hdGlvbktpbmVzaXNFeGFtcGxlXG4gICAgICAgIGlmICghdGhpcy5jbG91ZFdhdGNoTG9nc1JvbGUpIHtcbiAgICAgICAgICAgIC8vIENyZWF0ZSBhIHJvbGUgdG8gYmUgYXNzdW1lZCBieSBDV0wgdGhhdCBjYW4gd3JpdGUgdG8gdGhpcyBzdHJlYW0gYW5kIHBhc3MgaXRzZWxmLlxuICAgICAgICAgICAgdGhpcy5jbG91ZFdhdGNoTG9nc1JvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0Nsb3VkV2F0Y2hMb2dzQ2FuUHV0UmVjb3JkcycsIHtcbiAgICAgICAgICAgICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuU2VydmljZVByaW5jaXBhbChuZXcgY2RrLkZuQ29uY2F0KCdsb2dzLicsIG5ldyBjZGsuQXdzUmVnaW9uKCksICcuYW1hem9uYXdzLmNvbScpLnRvU3RyaW5nKCkpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNsb3VkV2F0Y2hMb2dzUm9sZS5hZGRUb1BvbGljeShuZXcgY2RrLlBvbGljeVN0YXRlbWVudCgpLmFkZEFjdGlvbigna2luZXNpczpQdXRSZWNvcmQnKS5hZGRSZXNvdXJjZSh0aGlzLnN0cmVhbUFybikpO1xuICAgICAgICAgICAgdGhpcy5jbG91ZFdhdGNoTG9nc1JvbGUuYWRkVG9Qb2xpY3kobmV3IGNkay5Qb2xpY3lTdGF0ZW1lbnQoKS5hZGRBY3Rpb24oJ2lhbTpQYXNzUm9sZScpLmFkZFJlc291cmNlKHRoaXMuY2xvdWRXYXRjaExvZ3NSb2xlLnJvbGVBcm4pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlJ3ZlIG5vdyBtYWRlIGl0IHBvc3NpYmxlIGZvciBDbG91ZFdhdGNoIGV2ZW50cyB0byB3cml0ZSB0byB1cy4gSW4gY2FzZSB0aGUgTG9nR3JvdXAgaXMgaW4gYVxuICAgICAgICAvLyBkaWZmZXJlbnQgYWNjb3VudCwgd2UgbXVzdCBhZGQgYSBEZXN0aW5hdGlvbiBpbiBiZXR3ZWVuIGFzIHdlbGwuXG4gICAgICAgIGNvbnN0IHNvdXJjZVN0YWNrID0gY2RrLlN0YWNrLmZpbmQoc291cmNlTG9nR3JvdXApO1xuICAgICAgICBjb25zdCB0aGlzU3RhY2sgPSBjZGsuU3RhY2suZmluZCh0aGlzKTtcblxuICAgICAgICAvLyBDYXNlIGNvbnNpZGVyZWQ6IGlmIGJvdGggYWNjb3VudHMgYXJlIHVuZGVmaW5lZCwgd2UgY2FuJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMuIEJldHRlclxuICAgICAgICAvLyB0byBhc3N1bWUgd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZyBzcGVjaWFsLlxuICAgICAgICBjb25zdCBzYW1lQWNjb3VudCA9IHNvdXJjZVN0YWNrLmVudi5hY2NvdW50ID09PSB0aGlzU3RhY2suZW52LmFjY291bnQ7XG5cbiAgICAgICAgaWYgKCFzYW1lQWNjb3VudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3Jvc3NBY2NvdW50TG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb24oc291cmNlTG9nR3JvdXApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHsgYXJuOiB0aGlzLnN0cmVhbUFybiwgcm9sZTogdGhpcy5jbG91ZFdhdGNoTG9nc1JvbGUgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZSBhIENsb3VkV2F0Y2ggTG9ncyBEZXN0aW5hdGlvbiBhbmQgcmV0dXJuIHRoZSBwcm9wZXJ0aWVzIGluIHRoZSBmb3JtIG8gYSBzdWJzY3JpcHRpb24gZGVzdGluYXRpb25cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyb3NzQWNjb3VudExvZ1N1YnNjcmlwdGlvbkRlc3RpbmF0aW9uKHNvdXJjZUxvZ0dyb3VwOiBsb2dzLkxvZ0dyb3VwUmVmKTogbG9ncy5Mb2dTdWJzY3JpcHRpb25EZXN0aW5hdGlvbiB7XG4gICAgICAgIGNvbnN0IHNvdXJjZVN0YWNrID0gY2RrLlN0YWNrLmZpbmQoc291cmNlTG9nR3JvdXApO1xuICAgICAgICBjb25zdCB0aGlzU3RhY2sgPSBjZGsuU3RhY2suZmluZCh0aGlzKTtcblxuICAgICAgICBpZiAoIXNvdXJjZVN0YWNrLmVudi5hY2NvdW50IHx8ICF0aGlzU3RhY2suZW52LmFjY291bnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU3Vic2NyaXB0aW9uRmlsdGVyIHN0YWNrIGFuZCBEZXN0aW5hdGlvbiBzdGFjayBtdXN0IGVpdGhlciBib3RoIGhhdmUgYWNjb3VudHMgZGVmaW5lZCwgb3IgYm90aCBub3QgaGF2ZSBhY2NvdW50cycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGFrZSBzb21lIGVmZm9ydCB0byBjb25zdHJ1Y3QgYSB1bmlxdWUgSUQgZm9yIHRoZSBkZXN0aW5hdGlvbiB0aGF0IGlzIHVuaXF1ZSB0byB0aGVcbiAgICAgICAgLy8gY29tYmluYXRpb24gb2YgKHN0cmVhbSwgbG9nZ3JvdXApLlxuICAgICAgICBjb25zdCB1bmlxdWVJZCA9ICBuZXcgY2RrLkhhc2hlZEFkZHJlc3NpbmdTY2hlbWUoKS5hbGxvY2F0ZUFkZHJlc3MoW3NvdXJjZUxvZ0dyb3VwLnBhdGgucmVwbGFjZSgnLycsICcnKSwgc291cmNlU3RhY2suZW52LmFjY291bnQhXSk7XG5cbiAgICAgICAgLy8gVGhlIGRlc3RpbmF0aW9uIGxpdmVzIGluIHRoZSB0YXJnZXQgYWNjb3VudFxuICAgICAgICBjb25zdCBkZXN0ID0gbmV3IGxvZ3MuQ3Jvc3NBY2NvdW50RGVzdGluYXRpb24odGhpcywgYENXTERlc3RpbmF0aW9uJHt1bmlxdWVJZH1gLCB7XG4gICAgICAgICAgICB0YXJnZXRBcm46IHRoaXMuc3RyZWFtQXJuLFxuICAgICAgICAgICAgcm9sZTogdGhpcy5jbG91ZFdhdGNoTG9nc1JvbGUhXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRlc3QuYWRkVG9Qb2xpY3kobmV3IGNkay5Qb2xpY3lTdGF0ZW1lbnQoKVxuICAgICAgICAgICAgLmFkZEFjdGlvbignbG9nczpQdXRTdWJzY3JpcHRpb25GaWx0ZXInKVxuICAgICAgICAgICAgLmFkZEF3c0FjY291bnRQcmluY2lwYWwoc291cmNlU3RhY2suZW52LmFjY291bnQpXG4gICAgICAgICAgICAuYWRkQWxsUmVzb3VyY2VzKCkpO1xuXG4gICAgICAgIHJldHVybiBkZXN0LmxvZ1N1YnNjcmlwdGlvbkRlc3RpbmF0aW9uKHNvdXJjZUxvZ0dyb3VwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdyYW50KGlkZW50aXR5OiBpYW0uSUlkZW50aXR5UmVzb3VyY2UsIGFjdGlvbnM6IHsgc3RyZWFtQWN0aW9uczogc3RyaW5nW10sIGtleUFjdGlvbnM6IHN0cmluZ1tdIH0pIHtcbiAgICAgICAgaWRlbnRpdHkuYWRkVG9Qb2xpY3kobmV3IGNkay5Qb2xpY3lTdGF0ZW1lbnQoKVxuICAgICAgICAgICAgLmFkZFJlc291cmNlKHRoaXMuc3RyZWFtQXJuKVxuICAgICAgICAgICAgLmFkZEFjdGlvbnMoLi4uYWN0aW9ucy5zdHJlYW1BY3Rpb25zKSk7XG5cbiAgICAgICAgLy8gZ3JhbnQga2V5IHBlcm1pc3Npb25zIGlmIHRoZXJlJ3MgYW4gYXNzb2NpYXRlZCBrZXkuXG4gICAgICAgIGlmICh0aGlzLmVuY3J5cHRpb25LZXkpIHtcbiAgICAgICAgICAgIGlkZW50aXR5LmFkZFRvUG9saWN5KG5ldyBjZGsuUG9saWN5U3RhdGVtZW50KClcbiAgICAgICAgICAgICAgICAuYWRkUmVzb3VyY2UodGhpcy5lbmNyeXB0aW9uS2V5LmtleUFybilcbiAgICAgICAgICAgICAgICAuYWRkQWN0aW9ucyguLi5hY3Rpb25zLmtleUFjdGlvbnMpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJlYW1Qcm9wcyB7XG4gICAgLyoqXG4gICAgICogRW5mb3JjZXMgYSBwYXJ0aWN1bGFyIHBoeXNpY2FsIHN0cmVhbSBuYW1lLlxuICAgICAqIEBkZWZhdWx0IDxnZW5lcmF0ZWQ+XG4gICAgICovXG4gICAgc3RyZWFtTmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgaG91cnMgZm9yIHRoZSBkYXRhIHJlY29yZHMgdGhhdCBhcmUgc3RvcmVkIGluIHNoYXJkcyB0byByZW1haW4gYWNjZXNzaWJsZS5cbiAgICAgKiBAZGVmYXVsdCAyNFxuICAgICAqL1xuICAgIHJldGVudGlvblBlcmlvZEhvdXJzPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBzaGFyZHMgZm9yIHRoZSBzdHJlYW0uXG4gICAgICogQGRlZmF1bHQgMVxuICAgICAqL1xuICAgIHNoYXJkQ291bnQ/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUga2luZCBvZiBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHRvIGFwcGx5IHRvIHRoaXMgc3RyZWFtLlxuICAgICAqXG4gICAgICogSWYgeW91IGNob29zZSBLTVMsIHlvdSBjYW4gc3BlY2lmeSBhIEtNUyBrZXkgdmlhIGBlbmNyeXB0aW9uS2V5YC4gSWZcbiAgICAgKiBlbmNyeXB0aW9uIGtleSBpcyBub3Qgc3BlY2lmaWVkLCBhIGtleSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY3JlYXRlZC5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IFVuZW5jcnlwdGVkXG4gICAgICovXG4gICAgZW5jcnlwdGlvbj86IFN0cmVhbUVuY3J5cHRpb247XG5cbiAgICAvKipcbiAgICAgKiBFeHRlcm5hbCBLTVMga2V5IHRvIHVzZSBmb3Igc3RyZWFtIGVuY3J5cHRpb24uXG4gICAgICpcbiAgICAgKiBUaGUgJ2VuY3J5cHRpb24nIHByb3BlcnR5IG11c3QgYmUgc2V0IHRvIFwiS21zXCIuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCBJZiBlbmNyeXB0aW9uIGlzIHNldCB0byBcIkttc1wiIGFuZCB0aGlzIHByb3BlcnR5IGlzIHVuZGVmaW5lZCwgYVxuICAgICAqIG5ldyBLTVMga2V5IHdpbGwgYmUgY3JlYXRlZCBhbmQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3RyZWFtLlxuICAgICAqL1xuICAgIGVuY3J5cHRpb25LZXk/OiBrbXMuRW5jcnlwdGlvbktleVJlZjtcbn1cblxuLyoqXG4gKiBBIEtpbmVzaXMgc3RyZWFtLiBDYW4gYmUgZW5jcnlwdGVkIHdpdGggYSBLTVMga2V5LlxuICovXG5leHBvcnQgY2xhc3MgU3RyZWFtIGV4dGVuZHMgU3RyZWFtUmVmIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RyZWFtQXJuOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5FbmNyeXB0aW9uS2V5UmVmO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdHJlYW06IGNsb3VkZm9ybWF0aW9uLlN0cmVhbVJlc291cmNlO1xuXG4gICAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBTdHJlYW1Qcm9wcyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKHBhcmVudCwgbmFtZSk7XG5cbiAgICAgICAgY29uc3Qgc2hhcmRDb3VudCA9IHByb3BzLnNoYXJkQ291bnQgfHwgMTtcbiAgICAgICAgY29uc3QgcmV0ZW50aW9uUGVyaW9kSG91cnMgPSBwcm9wcy5yZXRlbnRpb25QZXJpb2RIb3VycyB8fCAyNDtcbiAgICAgICAgaWYgKHJldGVudGlvblBlcmlvZEhvdXJzIDwgMjQgJiYgcmV0ZW50aW9uUGVyaW9kSG91cnMgPiAxNjgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInJldGVudGlvblBlcmlvZEhvdXJzIG11c3QgYmUgYmV0d2VlbiAyNCBhbmQgMTY4IGhvdXJzXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyBzdHJlYW1FbmNyeXB0aW9uLCBlbmNyeXB0aW9uS2V5IH0gPSB0aGlzLnBhcnNlRW5jcnlwdGlvbihwcm9wcyk7XG5cbiAgICAgICAgdGhpcy5zdHJlYW0gPSBuZXcgY2xvdWRmb3JtYXRpb24uU3RyZWFtUmVzb3VyY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICAgICAgICBzdHJlYW1OYW1lOiBwcm9wcy5zdHJlYW1OYW1lLFxuICAgICAgICAgICAgcmV0ZW50aW9uUGVyaW9kSG91cnMsXG4gICAgICAgICAgICBzaGFyZENvdW50LFxuICAgICAgICAgICAgc3RyZWFtRW5jcnlwdGlvblxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdHJlYW1Bcm4gPSB0aGlzLnN0cmVhbS5zdHJlYW1Bcm47XG4gICAgICAgIHRoaXMuc3RyZWFtTmFtZSA9IHRoaXMuc3RyZWFtLnN0cmVhbUlkO1xuICAgICAgICB0aGlzLmVuY3J5cHRpb25LZXkgPSBlbmNyeXB0aW9uS2V5O1xuXG4gICAgICAgIGlmIChwcm9wcy5zdHJlYW1OYW1lKSB7IHRoaXMuYWRkTWV0YWRhdGEoJ2F3czpjZGs6aGFzUGh5c2ljYWxOYW1lJywgcHJvcHMuc3RyZWFtTmFtZSk7IH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdXAga2V5IHByb3BlcnRpZXMgYW5kIHJldHVybiB0aGUgU3RyZWFtIGVuY3J5cHRpb24gcHJvcGVydHkgZnJvbSB0aGVcbiAgICAgKiB1c2VyJ3MgY29uZmlndXJhdGlvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHBhcnNlRW5jcnlwdGlvbihwcm9wczogU3RyZWFtUHJvcHMpOiB7XG4gICAgICAgIHN0cmVhbUVuY3J5cHRpb24/OiBjbG91ZGZvcm1hdGlvbi5TdHJlYW1SZXNvdXJjZS5TdHJlYW1FbmNyeXB0aW9uUHJvcGVydHksXG4gICAgICAgIGVuY3J5cHRpb25LZXk/OiBrbXMuRW5jcnlwdGlvbktleVJlZlxuICAgIH0ge1xuXG4gICAgICAgIC8vIGRlZmF1bHQgdG8gdW5lbmNyeXB0ZWQuXG4gICAgICAgIGNvbnN0IGVuY3J5cHRpb25UeXBlID0gcHJvcHMuZW5jcnlwdGlvbiB8fCBTdHJlYW1FbmNyeXB0aW9uLlVuZW5jcnlwdGVkO1xuXG4gICAgICAgIC8vIGlmIGVuY3J5cHRpb24ga2V5IGlzIHNldCwgZW5jcnlwdGlvbiBtdXN0IGJlIHNldCB0byBLTVMuXG4gICAgICAgIGlmIChlbmNyeXB0aW9uVHlwZSAhPT0gU3RyZWFtRW5jcnlwdGlvbi5LbXMgJiYgcHJvcHMuZW5jcnlwdGlvbktleSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBlbmNyeXB0aW9uS2V5IGlzIHNwZWNpZmllZCwgc28gJ2VuY3J5cHRpb24nIG11c3QgYmUgc2V0IHRvIEtNUyAodmFsdWU6ICR7ZW5jcnlwdGlvblR5cGV9KWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVuY3J5cHRpb25UeXBlID09PSBTdHJlYW1FbmNyeXB0aW9uLlVuZW5jcnlwdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4geyBzdHJlYW1FbmNyeXB0aW9uOiB1bmRlZmluZWQsIGVuY3J5cHRpb25LZXk6IHVuZGVmaW5lZCB9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVuY3J5cHRpb25UeXBlID09PSBTdHJlYW1FbmNyeXB0aW9uLkttcykge1xuICAgICAgICAgICAgY29uc3QgZW5jcnlwdGlvbktleSA9IHByb3BzLmVuY3J5cHRpb25LZXkgfHwgbmV3IGttcy5FbmNyeXB0aW9uS2V5KHRoaXMsICdLZXknLCB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGBDcmVhdGVkIGJ5ICR7dGhpcy5wYXRofWBcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBzdHJlYW1FbmNyeXB0aW9uOiBjbG91ZGZvcm1hdGlvbi5TdHJlYW1SZXNvdXJjZS5TdHJlYW1FbmNyeXB0aW9uUHJvcGVydHkgPSB7XG4gICAgICAgICAgICAgICAgZW5jcnlwdGlvblR5cGU6ICdLTVMnLFxuICAgICAgICAgICAgICAgIGtleUlkOiBlbmNyeXB0aW9uS2V5LmtleUFyblxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiB7IGVuY3J5cHRpb25LZXksIHN0cmVhbUVuY3J5cHRpb24gfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCAnZW5jcnlwdGlvblR5cGUnOiAke2VuY3J5cHRpb25UeXBlfWApO1xuICAgIH1cbn1cblxuLyoqXG4gKiBXaGF0IGtpbmQgb2Ygc2VydmVyLXNpZGUgZW5jcnlwdGlvbiB0byBhcHBseSB0byB0aGlzIHN0cmVhbVxuICovXG5leHBvcnQgZW51bSBTdHJlYW1FbmNyeXB0aW9uIHtcbiAgICAvKipcbiAgICAgKiBSZWNvcmRzIGluIHRoZSBzdHJlYW0gYXJlIG5vdCBlbmNyeXB0ZWQuXG4gICAgICovXG4gICAgVW5lbmNyeXB0ZWQgPSAnTk9ORScsXG5cbiAgICAvKipcbiAgICAgKiBTZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHdpdGggYSBLTVMga2V5IG1hbmFnZWQgYnkgdGhlIHVzZXIuXG4gICAgICogSWYgYGVuY3J5cHRpb25LZXlgIGlzIHNwZWNpZmllZCwgdGhpcyBrZXkgd2lsbCBiZSB1c2VkLCBvdGhlcndpc2UsIG9uZSB3aWxsIGJlIGRlZmluZWQuXG4gICAgICovXG4gICAgS21zID0gJ0tNUycsXG59XG5cbmNsYXNzIEltcG9ydGVkU3RyZWFtUmVmIGV4dGVuZHMgU3RyZWFtUmVmIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RyZWFtQXJuOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5FbmNyeXB0aW9uS2V5UmVmO1xuXG4gICAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBTdHJlYW1SZWZQcm9wcykge1xuICAgICAgICBzdXBlcihwYXJlbnQsIG5hbWUpO1xuXG4gICAgICAgIHRoaXMuc3RyZWFtQXJuID0gcHJvcHMuc3RyZWFtQXJuO1xuXG4gICAgICAgIC8vIEdldCB0aGUgbmFtZSBmcm9tIHRoZSBBUk5cbiAgICAgICAgdGhpcy5zdHJlYW1OYW1lID0gY2RrLkFyblV0aWxzLnBhcnNlKHByb3BzLnN0cmVhbUFybikucmVzb3VyY2VOYW1lITtcblxuICAgICAgICBpZiAocHJvcHMuZW5jcnlwdGlvbktleSkge1xuICAgICAgICAgICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0ga21zLkVuY3J5cHRpb25LZXlSZWYuaW1wb3J0KHBhcmVudCwgJ0tleScsIHByb3BzLmVuY3J5cHRpb25LZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsd0NBQXlDO0FBQ3pDLHdDQUF5QztBQUN6QywwQ0FBMkM7QUFDM0Msb0NBQXFDO0FBQ3JDLDJEQUFxRDtBQW1CckQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFzQixTQUFVLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFDbkQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBcUIsRUFBRSxJQUFZLEVBQUUsS0FBcUI7UUFDN0UsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQXNCRDs7T0FFRztJQUNJLE1BQU07UUFDWCxPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNwRyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUM1RSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFNBQVMsQ0FBQyxRQUFnQztRQUMvQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FDUixRQUFRLEVBQ1I7WUFDRSxhQUFhLEVBQUU7Z0JBQ2Isd0JBQXdCO2dCQUN4QixvQkFBb0I7Z0JBQ3BCLDBCQUEwQjthQUMzQjtZQUNELFVBQVUsRUFBRTtnQkFDVixhQUFhO2FBQ2Q7U0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksVUFB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RUFYVyxnQkFBZ0IsR0FBaEIsd0JBQWdCLEtBQWhCLHdCQUFnQixRQVczQjtBQUVELE1BQU0saUJBQWtCLFNBQVEsU0FBUztJQUt2QyxZQUFZLE1BQXFCLEVBQUUsSUFBWSxFQUFFLEtBQXFCO1FBQ3BFLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBRWpDLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFhLENBQUM7UUFFcEUsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN0RjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7U0FDaEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaWFtID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWlhbScpO1xuaW1wb3J0IGttcyA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2F3cy1rbXMnKTtcbmltcG9ydCBsb2dzID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWxvZ3MnKTtcbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcbmltcG9ydCB7IGNsb3VkZm9ybWF0aW9uIH0gZnJvbSAnLi9raW5lc2lzLmdlbmVyYXRlZCc7XG5cbi8qKlxuICogQSByZWZlcmVuY2UgdG8gYSBzdHJlYW0uIFRoZSBlYXNpZXN0IHdheSB0byBpbnN0YW50aWF0ZSBpcyB0byBjYWxsXG4gKiBgc3RyZWFtLmV4cG9ydCgpYC4gVGhlbiwgdGhlIGNvbnN1bWVyIGNhbiB1c2UgYFN0cmVhbS5pbXBvcnQodGhpcywgcmVmKWAgYW5kXG4gKiBnZXQgYSBgU3RyZWFtYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJlYW1SZWZQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBzdHJlYW0uXG4gICAqL1xuICBzdHJlYW1Bcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEtNUyBrZXkgc2VjdXJpbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBzdHJlYW0gaWYgZW5jcnlwdGlvbiBpcyBlbmFibGVkLlxuICAgKi9cbiAgZW5jcnlwdGlvbktleT86IGttcy5FbmNyeXB0aW9uS2V5UmVmUHJvcHM7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIEtpbmVzaXMgU3RyZWFtLlxuICpcbiAqIFN0cmVhbXMgY2FuIGJlIGVpdGhlciBkZWZpbmVkIHdpdGhpbiB0aGlzIHN0YWNrOlxuICpcbiAqICAgbmV3IFN0cmVhbSh0aGlzLCAnTXlTdHJlYW0nLCB7IHByb3BzIH0pO1xuICpcbiAqIE9yIGltcG9ydGVkIGZyb20gYW4gZXhpc3Rpbmcgc3RyZWFtOlxuICpcbiAqICAgU3RyZWFtUmVmLmltcG9ydCh0aGlzLCAnTXlJbXBvcnRlZFN0cmVhbScsIHsgc3RyZWFtQXJuOiAuLi4gfSk7XG4gKlxuICogWW91IGNhbiBhbHNvIGV4cG9ydCBhIHN0cmVhbSBhbmQgaW1wb3J0IGl0IGludG8gYW5vdGhlciBzdGFjazpcbiAqXG4gKiAgIGNvbnN0IHJlZiA9IG15U3RyZWFtLmV4cG9ydCgpO1xuICogICBTdHJlYW1SZWYuaW1wb3J0KHRoaXMsICdNeUltcG9ydGVkU3RyZWFtJywgcmVmKTtcbiAqXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdHJlYW1SZWYgZXh0ZW5kcyBjZGsuQ29uc3RydWN0IGltcGxlbWVudHMgbG9ncy5JTG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb24ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFN0cmVhbSBjb25zdHJ1Y3QgdGhhdCByZXByZXNlbnRzIGFuIGV4dGVybmFsIHN0cmVhbS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmVudCBUaGUgcGFyZW50IGNyZWF0aW5nIGNvbnN0cnVjdCAodXN1YWxseSBgdGhpc2ApLlxuICAgKiBAcGFyYW0gbmFtZSBUaGUgY29uc3RydWN0J3MgbmFtZS5cbiAgICogQHBhcmFtIHJlZiBBIFN0cmVhbVJlZlByb3BzIG9iamVjdC4gQ2FuIGJlIG9idGFpbmVkIGZyb20gYSBjYWxsIHRvXG4gICAqIGBzdHJlYW0uZXhwb3J0KClgLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbXBvcnQocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBTdHJlYW1SZWZQcm9wcyk6IFN0cmVhbVJlZiB7XG4gICAgcmV0dXJuIG5ldyBJbXBvcnRlZFN0cmVhbVJlZihwYXJlbnQsIG5hbWUsIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBzdHJlYW0uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc3RyZWFtQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzdHJlYW1cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzdHJlYW1OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIEtNUyBlbmNyeXB0aW9uIGtleSBhc3NvY2lhdGVkIHdpdGggdGhpcyBzdHJlYW0uXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5FbmNyeXB0aW9uS2V5UmVmO1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSB0aGF0IGNhbiBiZSB1c2VkIGJ5IENsb3VkV2F0Y2ggbG9ncyB0byB3cml0ZSB0byB0aGlzIHN0cmVhbVxuICAgKi9cbiAgcHJpdmF0ZSBjbG91ZFdhdGNoTG9nc1JvbGU/OiBpYW0uUm9sZTtcblxuICAvKipcbiAgICogRXhwb3J0cyB0aGlzIHN0cmVhbSBmcm9tIHRoZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBleHBvcnQoKTogU3RyZWFtUmVmUHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICBzdHJlYW1Bcm46IG5ldyBjZGsuT3V0cHV0KHRoaXMsICdTdHJlYW1Bcm4nLCB7IHZhbHVlOiB0aGlzLnN0cmVhbUFybiB9KS5tYWtlSW1wb3J0VmFsdWUoKS50b1N0cmluZygpLFxuICAgICAgZW5jcnlwdGlvbktleTogdGhpcy5lbmNyeXB0aW9uS2V5ID8gdGhpcy5lbmNyeXB0aW9uS2V5LmV4cG9ydCgpIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgc3RyZWFtIGFuZCBpdHMgY29udGVudHMgdG8gYW4gSUFNXG4gICAqIHByaW5jaXBhbCAoUm9sZS9Hcm91cC9Vc2VyKS5cbiAgICpcbiAgICogSWYgYW4gZW5jcnlwdGlvbiBrZXkgaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1ZXMgdGhlIGtleSB0byBkZWNyeXB0IHRoZVxuICAgKiBjb250ZW50cyBvZiB0aGUgc3RyZWFtIHdpbGwgYWxzbyBiZSBncmFudGVkLlxuICAgKi9cbiAgcHVibGljIGdyYW50UmVhZChpZGVudGl0eT86IGlhbS5JSWRlbnRpdHlSZXNvdXJjZSkge1xuICAgIGlmICghaWRlbnRpdHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5ncmFudChcbiAgICAgIGlkZW50aXR5LFxuICAgICAge1xuICAgICAgICBzdHJlYW1BY3Rpb25zOiBbXG4gICAgICAgICAgJ2tpbmVzaXM6RGVzY3JpYmVTdHJlYW0nLFxuICAgICAgICAgICdraW5lc2lzOkdldFJlY29yZHMnLFxuICAgICAgICAgICdraW5lc2lzOkdldFNoYXJkSXRlcmF0b3InXG4gICAgICAgIF0sXG4gICAgICAgIGtleUFjdGlvbnM6IFtcbiAgICAgICAgICAna21zOkRlY3J5cHQnXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQgcGVybWlzc2lvbnMgZm9yIHRoaXMgc3RyZWFtIGFuZCBpdHMgY29udGVudHMgdG8gYW4gSUFNXG4gICAqIHByaW5jaXBhbCAoUm9sZS9Hcm91cC9Vc2VyKS5cbiAgICpcbiAgICogSWYgYW4gZW5jcnlwdGlvbiBrZXkgaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1ZXMgdGhlIGtleSB0byBkZWNyeXB0IHRoZVxuICAgKiBjb250ZW50cyBvZiB0aGUgc3RyZWFtIHdpbGwgYWxzbyBiZSBncmFudGVkLlxuICAgKi9cbiAgcHVibGljIGdyYW50V3JpdGUoaWRlbnRpdHk/OiBpYW0uSUlkZW50aXR5UmVzb3VyY2UpIHtcbiAgICBpZiAoIWlkZW50aXR5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ncmFudChcbiAgICAgIGlkZW50aXR5LFxuICAgICAge1xuICAgICAgICBzdHJlYW1BY3Rpb25zOiBbXG4gICAgICAgICAgJ2tpbmVzaXM6RGVzY3JpYmVTdHJlYW0nLFxuICAgICAgICAgICdraW5lc2lzOlB1dFJlY29yZCcsXG4gICAgICAgICAgJ2tpbmVzaXM6UHV0UmVjb3JkcydcbiAgICAgICAgXSxcbiAgICAgICAga2V5QWN0aW9uczogW1xuICAgICAgICAgICdrbXM6R2VuZXJhdGVEYXRhS2V5JyxcbiAgICAgICAgICAna21zOkVuY3J5cHQnXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyByZWFkL3dyaXRlIHBlcm1pc3Npb25zIGZvciB0aGlzIHN0cmVhbSBhbmQgaXRzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGFuIGVuY3J5cHRpb24ga2V5IGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgZm9yXG4gICAqIGVuY3J5cHQvZGVjcnlwdCB3aWxsIGFsc28gYmUgZ3JhbnRlZC5cbiAgICovXG4gIHB1YmxpYyBncmFudFJlYWRXcml0ZShpZGVudGl0eT86IGlhbS5JSWRlbnRpdHlSZXNvdXJjZSkge1xuICAgIGlmICghaWRlbnRpdHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5ncmFudChcbiAgICAgIGlkZW50aXR5LFxuICAgICAge1xuICAgICAgICBzdHJlYW1BY3Rpb25zOiBbXG4gICAgICAgICAgJ2tpbmVzaXM6RGVzY3JpYmVTdHJlYW0nLFxuICAgICAgICAgICdraW5lc2lzOkdldFJlY29yZHMnLFxuICAgICAgICAgICdraW5lc2lzOkdldFNoYXJkSXRlcmF0b3InLFxuICAgICAgICAgICdraW5lc2lzOlB1dFJlY29yZCcsXG4gICAgICAgICAgJ2tpbmVzaXM6UHV0UmVjb3JkcydcbiAgICAgICAgXSxcbiAgICAgICAga2V5QWN0aW9uczogW1xuICAgICAgICAgICdrbXM6RGVjcnlwdCcsXG4gICAgICAgICAgJ2ttczpHZW5lcmF0ZURhdGFLZXknLFxuICAgICAgICAgICdrbXM6RW5jcnlwdCdcbiAgICAgICAgXVxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb24oc291cmNlTG9nR3JvdXA6IGxvZ3MuTG9nR3JvdXBSZWYpOiBsb2dzLkxvZ1N1YnNjcmlwdGlvbkRlc3RpbmF0aW9uIHtcbiAgICAvLyBGb2xsb3dpbmcgZXhhbXBsZSBmcm9tIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9sb2dzL1N1YnNjcmlwdGlvbkZpbHRlcnMuaHRtbCNEZXN0aW5hdGlvbktpbmVzaXNFeGFtcGxlXG4gICAgaWYgKCF0aGlzLmNsb3VkV2F0Y2hMb2dzUm9sZSkge1xuICAgICAgLy8gQ3JlYXRlIGEgcm9sZSB0byBiZSBhc3N1bWVkIGJ5IENXTCB0aGF0IGNhbiB3cml0ZSB0byB0aGlzIHN0cmVhbSBhbmQgcGFzcyBpdHNlbGYuXG4gICAgICB0aGlzLmNsb3VkV2F0Y2hMb2dzUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnQ2xvdWRXYXRjaExvZ3NDYW5QdXRSZWNvcmRzJywge1xuICAgICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuU2VydmljZVByaW5jaXBhbChuZXcgY2RrLkZuQ29uY2F0KCdsb2dzLicsIG5ldyBjZGsuQXdzUmVnaW9uKCksICcuYW1hem9uYXdzLmNvbScpLnRvU3RyaW5nKCkpLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmNsb3VkV2F0Y2hMb2dzUm9sZS5hZGRUb1BvbGljeShuZXcgY2RrLlBvbGljeVN0YXRlbWVudCgpLmFkZEFjdGlvbigna2luZXNpczpQdXRSZWNvcmQnKS5hZGRSZXNvdXJjZSh0aGlzLnN0cmVhbUFybikpO1xuICAgICAgdGhpcy5jbG91ZFdhdGNoTG9nc1JvbGUuYWRkVG9Qb2xpY3kobmV3IGNkay5Qb2xpY3lTdGF0ZW1lbnQoKS5hZGRBY3Rpb24oJ2lhbTpQYXNzUm9sZScpLmFkZFJlc291cmNlKHRoaXMuY2xvdWRXYXRjaExvZ3NSb2xlLnJvbGVBcm4pKTtcbiAgICB9XG5cbiAgICAvLyBXZSd2ZSBub3cgbWFkZSBpdCBwb3NzaWJsZSBmb3IgQ2xvdWRXYXRjaCBldmVudHMgdG8gd3JpdGUgdG8gdXMuIEluIGNhc2UgdGhlIExvZ0dyb3VwIGlzIGluIGFcbiAgICAvLyBkaWZmZXJlbnQgYWNjb3VudCwgd2UgbXVzdCBhZGQgYSBEZXN0aW5hdGlvbiBpbiBiZXR3ZWVuIGFzIHdlbGwuXG4gICAgY29uc3Qgc291cmNlU3RhY2sgPSBjZGsuU3RhY2suZmluZChzb3VyY2VMb2dHcm91cCk7XG4gICAgY29uc3QgdGhpc1N0YWNrID0gY2RrLlN0YWNrLmZpbmQodGhpcyk7XG5cbiAgICAvLyBDYXNlIGNvbnNpZGVyZWQ6IGlmIGJvdGggYWNjb3VudHMgYXJlIHVuZGVmaW5lZCwgd2UgY2FuJ3QgbWFrZSBhbnkgYXNzdW1wdGlvbnMuIEJldHRlclxuICAgIC8vIHRvIGFzc3VtZSB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nIHNwZWNpYWwuXG4gICAgY29uc3Qgc2FtZUFjY291bnQgPSBzb3VyY2VTdGFjay5lbnYuYWNjb3VudCA9PT0gdGhpc1N0YWNrLmVudi5hY2NvdW50O1xuXG4gICAgaWYgKCFzYW1lQWNjb3VudCkge1xuICAgICAgcmV0dXJuIHRoaXMuY3Jvc3NBY2NvdW50TG9nU3Vic2NyaXB0aW9uRGVzdGluYXRpb24oc291cmNlTG9nR3JvdXApO1xuICAgIH1cblxuICAgIHJldHVybiB7IGFybjogdGhpcy5zdHJlYW1Bcm4sIHJvbGU6IHRoaXMuY2xvdWRXYXRjaExvZ3NSb2xlIH07XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBDbG91ZFdhdGNoIExvZ3MgRGVzdGluYXRpb24gYW5kIHJldHVybiB0aGUgcHJvcGVydGllcyBpbiB0aGUgZm9ybSBvIGEgc3Vic2NyaXB0aW9uIGRlc3RpbmF0aW9uXG4gICAqL1xuICBwcml2YXRlIGNyb3NzQWNjb3VudExvZ1N1YnNjcmlwdGlvbkRlc3RpbmF0aW9uKHNvdXJjZUxvZ0dyb3VwOiBsb2dzLkxvZ0dyb3VwUmVmKTogbG9ncy5Mb2dTdWJzY3JpcHRpb25EZXN0aW5hdGlvbiB7XG4gICAgY29uc3Qgc291cmNlU3RhY2sgPSBjZGsuU3RhY2suZmluZChzb3VyY2VMb2dHcm91cCk7XG4gICAgY29uc3QgdGhpc1N0YWNrID0gY2RrLlN0YWNrLmZpbmQodGhpcyk7XG5cbiAgICBpZiAoIXNvdXJjZVN0YWNrLmVudi5hY2NvdW50IHx8ICF0aGlzU3RhY2suZW52LmFjY291bnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3Vic2NyaXB0aW9uRmlsdGVyIHN0YWNrIGFuZCBEZXN0aW5hdGlvbiBzdGFjayBtdXN0IGVpdGhlciBib3RoIGhhdmUgYWNjb3VudHMgZGVmaW5lZCwgb3IgYm90aCBub3QgaGF2ZSBhY2NvdW50cycpO1xuICAgIH1cblxuICAgIC8vIFRha2Ugc29tZSBlZmZvcnQgdG8gY29uc3RydWN0IGEgdW5pcXVlIElEIGZvciB0aGUgZGVzdGluYXRpb24gdGhhdCBpcyB1bmlxdWUgdG8gdGhlXG4gICAgLy8gY29tYmluYXRpb24gb2YgKHN0cmVhbSwgbG9nZ3JvdXApLlxuICAgIGNvbnN0IHVuaXF1ZUlkID0gIG5ldyBjZGsuSGFzaGVkQWRkcmVzc2luZ1NjaGVtZSgpLmFsbG9jYXRlQWRkcmVzcyhbc291cmNlTG9nR3JvdXAucGF0aC5yZXBsYWNlKCcvJywgJycpLCBzb3VyY2VTdGFjay5lbnYuYWNjb3VudCFdKTtcblxuICAgIC8vIFRoZSBkZXN0aW5hdGlvbiBsaXZlcyBpbiB0aGUgdGFyZ2V0IGFjY291bnRcbiAgICBjb25zdCBkZXN0ID0gbmV3IGxvZ3MuQ3Jvc3NBY2NvdW50RGVzdGluYXRpb24odGhpcywgYENXTERlc3RpbmF0aW9uJHt1bmlxdWVJZH1gLCB7XG4gICAgICB0YXJnZXRBcm46IHRoaXMuc3RyZWFtQXJuLFxuICAgICAgcm9sZTogdGhpcy5jbG91ZFdhdGNoTG9nc1JvbGUhXG4gICAgfSk7XG5cbiAgICBkZXN0LmFkZFRvUG9saWN5KG5ldyBjZGsuUG9saWN5U3RhdGVtZW50KClcbiAgICAgIC5hZGRBY3Rpb24oJ2xvZ3M6UHV0U3Vic2NyaXB0aW9uRmlsdGVyJylcbiAgICAgIC5hZGRBd3NBY2NvdW50UHJpbmNpcGFsKHNvdXJjZVN0YWNrLmVudi5hY2NvdW50KVxuICAgICAgLmFkZEFsbFJlc291cmNlcygpKTtcblxuICAgIHJldHVybiBkZXN0LmxvZ1N1YnNjcmlwdGlvbkRlc3RpbmF0aW9uKHNvdXJjZUxvZ0dyb3VwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ3JhbnQoaWRlbnRpdHk6IGlhbS5JSWRlbnRpdHlSZXNvdXJjZSwgYWN0aW9uczogeyBzdHJlYW1BY3Rpb25zOiBzdHJpbmdbXSwga2V5QWN0aW9uczogc3RyaW5nW10gfSkge1xuICAgIGlkZW50aXR5LmFkZFRvUG9saWN5KG5ldyBjZGsuUG9saWN5U3RhdGVtZW50KClcbiAgICAgIC5hZGRSZXNvdXJjZSh0aGlzLnN0cmVhbUFybilcbiAgICAgIC5hZGRBY3Rpb25zKC4uLmFjdGlvbnMuc3RyZWFtQWN0aW9ucykpO1xuXG4gICAgLy8gZ3JhbnQga2V5IHBlcm1pc3Npb25zIGlmIHRoZXJlJ3MgYW4gYXNzb2NpYXRlZCBrZXkuXG4gICAgaWYgKHRoaXMuZW5jcnlwdGlvbktleSkge1xuICAgICAgaWRlbnRpdHkuYWRkVG9Qb2xpY3kobmV3IGNkay5Qb2xpY3lTdGF0ZW1lbnQoKVxuICAgICAgICAuYWRkUmVzb3VyY2UodGhpcy5lbmNyeXB0aW9uS2V5LmtleUFybilcbiAgICAgICAgLmFkZEFjdGlvbnMoLi4uYWN0aW9ucy5rZXlBY3Rpb25zKSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyZWFtUHJvcHMge1xuICAvKipcbiAgICogRW5mb3JjZXMgYSBwYXJ0aWN1bGFyIHBoeXNpY2FsIHN0cmVhbSBuYW1lLlxuICAgKiBAZGVmYXVsdCA8Z2VuZXJhdGVkPlxuICAgKi9cbiAgc3RyZWFtTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBob3VycyBmb3IgdGhlIGRhdGEgcmVjb3JkcyB0aGF0IGFyZSBzdG9yZWQgaW4gc2hhcmRzIHRvIHJlbWFpbiBhY2Nlc3NpYmxlLlxuICAgKiBAZGVmYXVsdCAyNFxuICAgKi9cbiAgcmV0ZW50aW9uUGVyaW9kSG91cnM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2hhcmRzIGZvciB0aGUgc3RyZWFtLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICBzaGFyZENvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHRvIGFwcGx5IHRvIHRoaXMgc3RyZWFtLlxuICAgKlxuICAgKiBJZiB5b3UgY2hvb3NlIEtNUywgeW91IGNhbiBzcGVjaWZ5IGEgS01TIGtleSB2aWEgYGVuY3J5cHRpb25LZXlgLiBJZlxuICAgKiBlbmNyeXB0aW9uIGtleSBpcyBub3Qgc3BlY2lmaWVkLCBhIGtleSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgVW5lbmNyeXB0ZWRcbiAgICovXG4gIGVuY3J5cHRpb24/OiBTdHJlYW1FbmNyeXB0aW9uO1xuXG4gIC8qKlxuICAgKiBFeHRlcm5hbCBLTVMga2V5IHRvIHVzZSBmb3Igc3RyZWFtIGVuY3J5cHRpb24uXG4gICAqXG4gICAqIFRoZSAnZW5jcnlwdGlvbicgcHJvcGVydHkgbXVzdCBiZSBzZXQgdG8gXCJLbXNcIi5cbiAgICpcbiAgICogQGRlZmF1bHQgSWYgZW5jcnlwdGlvbiBpcyBzZXQgdG8gXCJLbXNcIiBhbmQgdGhpcyBwcm9wZXJ0eSBpcyB1bmRlZmluZWQsIGFcbiAgICogbmV3IEtNUyBrZXkgd2lsbCBiZSBjcmVhdGVkIGFuZCBhc3NvY2lhdGVkIHdpdGggdGhpcyBzdHJlYW0uXG4gICAqL1xuICBlbmNyeXB0aW9uS2V5Pzoga21zLkVuY3J5cHRpb25LZXlSZWY7XG59XG5cbi8qKlxuICogQSBLaW5lc2lzIHN0cmVhbS4gQ2FuIGJlIGVuY3J5cHRlZCB3aXRoIGEgS01TIGtleS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmVhbSBleHRlbmRzIFN0cmVhbVJlZiB7XG4gIHB1YmxpYyByZWFkb25seSBzdHJlYW1Bcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHN0cmVhbU5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGVuY3J5cHRpb25LZXk/OiBrbXMuRW5jcnlwdGlvbktleVJlZjtcblxuICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbTogY2xvdWRmb3JtYXRpb24uU3RyZWFtUmVzb3VyY2U7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBTdHJlYW1Qcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIocGFyZW50LCBuYW1lKTtcblxuICAgIGNvbnN0IHNoYXJkQ291bnQgPSBwcm9wcy5zaGFyZENvdW50IHx8IDE7XG4gICAgY29uc3QgcmV0ZW50aW9uUGVyaW9kSG91cnMgPSBwcm9wcy5yZXRlbnRpb25QZXJpb2RIb3VycyB8fCAyNDtcbiAgICBpZiAocmV0ZW50aW9uUGVyaW9kSG91cnMgPCAyNCAmJiByZXRlbnRpb25QZXJpb2RIb3VycyA+IDE2OCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwicmV0ZW50aW9uUGVyaW9kSG91cnMgbXVzdCBiZSBiZXR3ZWVuIDI0IGFuZCAxNjggaG91cnNcIik7XG4gICAgfVxuXG4gICAgY29uc3QgeyBzdHJlYW1FbmNyeXB0aW9uLCBlbmNyeXB0aW9uS2V5IH0gPSB0aGlzLnBhcnNlRW5jcnlwdGlvbihwcm9wcyk7XG5cbiAgICB0aGlzLnN0cmVhbSA9IG5ldyBjbG91ZGZvcm1hdGlvbi5TdHJlYW1SZXNvdXJjZSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIHN0cmVhbU5hbWU6IHByb3BzLnN0cmVhbU5hbWUsXG4gICAgICByZXRlbnRpb25QZXJpb2RIb3VycyxcbiAgICAgIHNoYXJkQ291bnQsXG4gICAgICBzdHJlYW1FbmNyeXB0aW9uXG4gICAgfSk7XG4gICAgdGhpcy5zdHJlYW1Bcm4gPSB0aGlzLnN0cmVhbS5zdHJlYW1Bcm47XG4gICAgdGhpcy5zdHJlYW1OYW1lID0gdGhpcy5zdHJlYW0uc3RyZWFtSWQ7XG4gICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gZW5jcnlwdGlvbktleTtcblxuICAgIGlmIChwcm9wcy5zdHJlYW1OYW1lKSB7IHRoaXMuYWRkTWV0YWRhdGEoJ2F3czpjZGs6aGFzUGh5c2ljYWxOYW1lJywgcHJvcHMuc3RyZWFtTmFtZSk7IH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAga2V5IHByb3BlcnRpZXMgYW5kIHJldHVybiB0aGUgU3RyZWFtIGVuY3J5cHRpb24gcHJvcGVydHkgZnJvbSB0aGVcbiAgICogdXNlcidzIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHBhcnNlRW5jcnlwdGlvbihwcm9wczogU3RyZWFtUHJvcHMpOiB7XG4gICAgc3RyZWFtRW5jcnlwdGlvbj86IGNsb3VkZm9ybWF0aW9uLlN0cmVhbVJlc291cmNlLlN0cmVhbUVuY3J5cHRpb25Qcm9wZXJ0eSxcbiAgICBlbmNyeXB0aW9uS2V5Pzoga21zLkVuY3J5cHRpb25LZXlSZWZcbiAgfSB7XG5cbiAgICAvLyBkZWZhdWx0IHRvIHVuZW5jcnlwdGVkLlxuICAgIGNvbnN0IGVuY3J5cHRpb25UeXBlID0gcHJvcHMuZW5jcnlwdGlvbiB8fCBTdHJlYW1FbmNyeXB0aW9uLlVuZW5jcnlwdGVkO1xuXG4gICAgLy8gaWYgZW5jcnlwdGlvbiBrZXkgaXMgc2V0LCBlbmNyeXB0aW9uIG11c3QgYmUgc2V0IHRvIEtNUy5cbiAgICBpZiAoZW5jcnlwdGlvblR5cGUgIT09IFN0cmVhbUVuY3J5cHRpb24uS21zICYmIHByb3BzLmVuY3J5cHRpb25LZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZW5jcnlwdGlvbktleSBpcyBzcGVjaWZpZWQsIHNvICdlbmNyeXB0aW9uJyBtdXN0IGJlIHNldCB0byBLTVMgKHZhbHVlOiAke2VuY3J5cHRpb25UeXBlfSlgKTtcbiAgICB9XG5cbiAgICBpZiAoZW5jcnlwdGlvblR5cGUgPT09IFN0cmVhbUVuY3J5cHRpb24uVW5lbmNyeXB0ZWQpIHtcbiAgICAgIHJldHVybiB7IHN0cmVhbUVuY3J5cHRpb246IHVuZGVmaW5lZCwgZW5jcnlwdGlvbktleTogdW5kZWZpbmVkIH07XG4gICAgfVxuXG4gICAgaWYgKGVuY3J5cHRpb25UeXBlID09PSBTdHJlYW1FbmNyeXB0aW9uLkttcykge1xuICAgICAgY29uc3QgZW5jcnlwdGlvbktleSA9IHByb3BzLmVuY3J5cHRpb25LZXkgfHwgbmV3IGttcy5FbmNyeXB0aW9uS2V5KHRoaXMsICdLZXknLCB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBgQ3JlYXRlZCBieSAke3RoaXMucGF0aH1gXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3RyZWFtRW5jcnlwdGlvbjogY2xvdWRmb3JtYXRpb24uU3RyZWFtUmVzb3VyY2UuU3RyZWFtRW5jcnlwdGlvblByb3BlcnR5ID0ge1xuICAgICAgICBlbmNyeXB0aW9uVHlwZTogJ0tNUycsXG4gICAgICAgIGtleUlkOiBlbmNyeXB0aW9uS2V5LmtleUFyblxuICAgICAgfTtcbiAgICAgIHJldHVybiB7IGVuY3J5cHRpb25LZXksIHN0cmVhbUVuY3J5cHRpb24gfTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgJ2VuY3J5cHRpb25UeXBlJzogJHtlbmNyeXB0aW9uVHlwZX1gKTtcbiAgfVxufVxuXG4vKipcbiAqIFdoYXQga2luZCBvZiBzZXJ2ZXItc2lkZSBlbmNyeXB0aW9uIHRvIGFwcGx5IHRvIHRoaXMgc3RyZWFtXG4gKi9cbmV4cG9ydCBlbnVtIFN0cmVhbUVuY3J5cHRpb24ge1xuICAvKipcbiAgICogUmVjb3JkcyBpbiB0aGUgc3RyZWFtIGFyZSBub3QgZW5jcnlwdGVkLlxuICAgKi9cbiAgVW5lbmNyeXB0ZWQgPSAnTk9ORScsXG5cbiAgLyoqXG4gICAqIFNlcnZlci1zaWRlIGVuY3J5cHRpb24gd2l0aCBhIEtNUyBrZXkgbWFuYWdlZCBieSB0aGUgdXNlci5cbiAgICogSWYgYGVuY3J5cHRpb25LZXlgIGlzIHNwZWNpZmllZCwgdGhpcyBrZXkgd2lsbCBiZSB1c2VkLCBvdGhlcndpc2UsIG9uZSB3aWxsIGJlIGRlZmluZWQuXG4gICAqL1xuICBLbXMgPSAnS01TJyxcbn1cblxuY2xhc3MgSW1wb3J0ZWRTdHJlYW1SZWYgZXh0ZW5kcyBTdHJlYW1SZWYge1xuICBwdWJsaWMgcmVhZG9ubHkgc3RyZWFtQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBzdHJlYW1OYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBlbmNyeXB0aW9uS2V5Pzoga21zLkVuY3J5cHRpb25LZXlSZWY7XG5cbiAgY29uc3RydWN0b3IocGFyZW50OiBjZGsuQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIHByb3BzOiBTdHJlYW1SZWZQcm9wcykge1xuICAgIHN1cGVyKHBhcmVudCwgbmFtZSk7XG5cbiAgICB0aGlzLnN0cmVhbUFybiA9IHByb3BzLnN0cmVhbUFybjtcblxuICAgIC8vIEdldCB0aGUgbmFtZSBmcm9tIHRoZSBBUk5cbiAgICB0aGlzLnN0cmVhbU5hbWUgPSBjZGsuQXJuVXRpbHMucGFyc2UocHJvcHMuc3RyZWFtQXJuKS5yZXNvdXJjZU5hbWUhO1xuXG4gICAgaWYgKHByb3BzLmVuY3J5cHRpb25LZXkpIHtcbiAgICAgIHRoaXMuZW5jcnlwdGlvbktleSA9IGttcy5FbmNyeXB0aW9uS2V5UmVmLmltcG9ydChwYXJlbnQsICdLZXknLCBwcm9wcy5lbmNyeXB0aW9uS2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19
{
"name": "@aws-cdk/aws-kinesis",
"version": "0.9.2",
"version": "0.10.0",
"description": "CDK Constructs for AWS Kinesis",

@@ -54,14 +54,14 @@ "main": "lib/index.js",

"devDependencies": {
"@aws-cdk/assert": "^0.9.2",
"cdk-build-tools": "^0.9.2",
"cfn2ts": "^0.9.2",
"pkglint": "^0.9.2"
"@aws-cdk/assert": "^0.10.0",
"cdk-build-tools": "^0.10.0",
"cfn2ts": "^0.10.0",
"pkglint": "^0.10.0"
},
"dependencies": {
"@aws-cdk/aws-iam": "^0.9.2",
"@aws-cdk/aws-kms": "^0.9.2",
"@aws-cdk/aws-logs": "^0.9.2",
"@aws-cdk/cdk": "^0.9.2"
"@aws-cdk/aws-iam": "^0.10.0",
"@aws-cdk/aws-kms": "^0.10.0",
"@aws-cdk/aws-logs": "^0.10.0",
"@aws-cdk/cdk": "^0.10.0"
},
"homepage": "https://github.com/awslabs/aws-cdk"
}

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

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5zdWJzY3JpcHRpb25kZXN0aW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3Quc3Vic2NyaXB0aW9uZGVzdGluYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRDQUF1RDtBQUN2RCwwQ0FBMkM7QUFDM0Msb0NBQXFDO0FBRXJDLGdDQUFnQztBQUVoQyxpQkFBUztJQUNMLHdDQUF3QyxDQUFDLElBQVU7UUFDL0MsUUFBUTtRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksWUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXRELE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFO1lBQy9DLFFBQVE7WUFDUixXQUFXLEVBQUUsTUFBTTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUU7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsc0NBQXNDO1FBQ3RDLGVBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQVksQ0FBQywrQkFBK0IsRUFBRTtZQUMzRCxjQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUUsRUFBRTtZQUMvRCxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBRSw2Q0FBNkMsRUFBRSxLQUFLLENBQUUsRUFBRTtTQUN0RixDQUFDLENBQUMsQ0FBQztRQUVKLDhDQUE4QztRQUM5QyxlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsZ0JBQWdCLEVBQUU7WUFDNUMsd0JBQXdCLEVBQUU7Z0JBQ3RCLFNBQVMsRUFBRSxDQUFDO3dCQUNSLE1BQU0sRUFBRSxnQkFBZ0I7d0JBQ3hCLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBQztxQkFDakcsQ0FBQzthQUNMO1NBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSixlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsa0JBQWtCLEVBQUU7WUFDOUMsY0FBYyxFQUFFO2dCQUNaLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxNQUFNLEVBQUUsbUJBQW1CO3dCQUMzQixNQUFNLEVBQUUsT0FBTzt3QkFDZixRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUUsRUFBRTtxQkFDNUQ7b0JBQ0Q7d0JBQ0ksTUFBTSxFQUFFLGNBQWM7d0JBQ3RCLE1BQU0sRUFBRSxPQUFPO3dCQUNmLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFFLDZDQUE2QyxFQUFFLEtBQUssQ0FBRSxFQUFFO3FCQUN2RjtpQkFDSjthQUNKO1NBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELHVFQUF1RSxDQUFDLElBQVU7UUFDOUUsUUFBUTtRQUNSLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQztRQUN0RixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTVELE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQztRQUNwRixNQUFNLE1BQU0sR0FBRyxJQUFJLFlBQU0sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFakQsT0FBTztRQUNQLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUU7WUFDckQsUUFBUTtZQUNSLFdBQVcsRUFBRSxNQUFNO1lBQ25CLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRTtTQUNoRCxDQUFDLENBQUM7UUFFSCxrRkFBa0Y7UUFDbEYsZUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxxQkFBWSxDQUFDLHdCQUF3QixFQUFFO1lBQ3hELFNBQVMsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBRSxFQUFFO1lBQzFELE9BQU8sRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFFLDZDQUE2QyxFQUFFLEtBQUssQ0FBRSxFQUFFO1NBQ3RGLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhwZWN0LCBoYXZlUmVzb3VyY2UgfSBmcm9tICdAYXdzLWNkay9hc3NlcnQnO1xuaW1wb3J0IGxvZ3MgPSByZXF1aXJlKCdAYXdzLWNkay9hd3MtbG9ncycpO1xuaW1wb3J0IGNkayA9IHJlcXVpcmUoJ0Bhd3MtY2RrL2NkaycpO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCB7IFN0cmVhbSB9IGZyb20gJy4uL2xpYic7XG5cbmV4cG9ydCA9IHtcbiAgICAnc3RyZWFtIGNhbiBiZSBzdWJzY3JpcHRpb24gZGVzdGluYXRpb24nKHRlc3Q6IFRlc3QpIHtcbiAgICAgICAgLy8gR0lWRU5cbiAgICAgICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gICAgICAgIGNvbnN0IHN0cmVhbSA9IG5ldyBTdHJlYW0oc3RhY2ssICdNeVN0cmVhbScpO1xuICAgICAgICBjb25zdCBsb2dHcm91cCA9IG5ldyBsb2dzLkxvZ0dyb3VwKHN0YWNrLCAnTG9nR3JvdXAnKTtcblxuICAgICAgICAvLyBXSEVOXG4gICAgICAgIG5ldyBsb2dzLlN1YnNjcmlwdGlvbkZpbHRlcihzdGFjaywgJ1N1YnNjcmlwdGlvbicsIHtcbiAgICAgICAgICAgIGxvZ0dyb3VwLFxuICAgICAgICAgICAgZGVzdGluYXRpb246IHN0cmVhbSxcbiAgICAgICAgICAgIGZpbHRlclBhdHRlcm46IGxvZ3MuRmlsdGVyUGF0dGVybi5hbGxFdmVudHMoKVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBUSEVOOiBzdWJzY3JpcHRpb24gdGFyZ2V0IGlzIFN0cmVhbVxuICAgICAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpMb2dzOjpTdWJzY3JpcHRpb25GaWx0ZXInLCB7XG4gICAgICAgICAgICBEZXN0aW5hdGlvbkFybjogeyBcIkZuOjpHZXRBdHRcIjogWyBcIk15U3RyZWFtNUMwNTBFOTNcIiwgXCJBcm5cIiBdIH0sXG4gICAgICAgICAgICBSb2xlQXJuOiB7IFwiRm46OkdldEF0dFwiOiBbIFwiTXlTdHJlYW1DbG91ZFdhdGNoTG9nc0NhblB1dFJlY29yZHM1ODQ5ODQ5MFwiLCBcIkFyblwiIF0gfSxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIC8vIFRIRU46IHdlIGhhdmUgYSByb2xlIHRvIHdyaXRlIHRvIHRoZSBMYW1iZGFcbiAgICAgICAgZXhwZWN0KHN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6SUFNOjpSb2xlJywge1xuICAgICAgICAgICAgQXNzdW1lUm9sZVBvbGljeURvY3VtZW50OiB7XG4gICAgICAgICAgICAgICAgU3RhdGVtZW50OiBbe1xuICAgICAgICAgICAgICAgICAgICBBY3Rpb246IFwic3RzOkFzc3VtZVJvbGVcIixcbiAgICAgICAgICAgICAgICAgICAgUHJpbmNpcGFsOiB7IFNlcnZpY2U6IHsgXCJGbjo6Sm9pblwiOiBbXCJcIiwgW1wibG9ncy5cIiwge1JlZjogXCJBV1M6OlJlZ2lvblwifSwgXCIuYW1hem9uYXdzLmNvbVwiXV0gfX1cbiAgICAgICAgICAgICAgICB9XSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG4gICAgICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdBV1M6OklBTTo6UG9saWN5Jywge1xuICAgICAgICAgICAgUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgICAgICAgICAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgQWN0aW9uOiBcImtpbmVzaXM6UHV0UmVjb3JkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlOiB7IFwiRm46OkdldEF0dFwiOiBbIFwiTXlTdHJlYW01QzA1MEU5M1wiLCBcIkFyblwiIF0gfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb246IFwiaWFtOlBhc3NSb2xlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFJlc291cmNlOiB7IFwiRm46OkdldEF0dFwiOiBbIFwiTXlTdHJlYW1DbG91ZFdhdGNoTG9nc0NhblB1dFJlY29yZHM1ODQ5ODQ5MFwiLCBcIkFyblwiIF0gfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRlc3QuZG9uZSgpO1xuICAgIH0sXG5cbiAgICAnY3Jvc3MtYWNjb3VudCBzdHJlYW0gY2FuIGJlIHN1YnNjcmlwdGlvbiBkZXN0aW5hdGlvbiB3aXRoIERlc3RpbmF0aW9uJyh0ZXN0OiBUZXN0KSB7XG4gICAgICAgIC8vIEdJVkVOXG4gICAgICAgIGNvbnN0IHNvdXJjZVN0YWNrID0gbmV3IGNkay5TdGFjayh1bmRlZmluZWQsIHVuZGVmaW5lZCwgeyBlbnY6IHsgYWNjb3VudDogJzEyMzQ1JyB9fSk7XG4gICAgICAgIGNvbnN0IGxvZ0dyb3VwID0gbmV3IGxvZ3MuTG9nR3JvdXAoc291cmNlU3RhY2ssICdMb2dHcm91cCcpO1xuXG4gICAgICAgIGNvbnN0IGRlc3RTdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCB1bmRlZmluZWQsIHsgZW52OiB7IGFjY291bnQ6ICc2Nzg5MCcgfX0pO1xuICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgU3RyZWFtKGRlc3RTdGFjaywgJ015U3RyZWFtJyk7XG5cbiAgICAgICAgLy8gV0hFTlxuICAgICAgICBuZXcgbG9ncy5TdWJzY3JpcHRpb25GaWx0ZXIoc291cmNlU3RhY2ssICdTdWJzY3JpcHRpb24nLCB7XG4gICAgICAgICAgICBsb2dHcm91cCxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uOiBzdHJlYW0sXG4gICAgICAgICAgICBmaWx0ZXJQYXR0ZXJuOiBsb2dzLkZpbHRlclBhdHRlcm4uYWxsRXZlbnRzKClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gVEhFTjogdGhlIHNvdXJjZSBzdGFjayBoYXMgYSBEZXN0aW5hdGlvbiBvYmplY3QgdGhhdCB0aGUgc3Vic2NyaXB0aW9uIHBvaW50cyB0b1xuICAgICAgICBleHBlY3QoZGVzdFN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6TG9nczo6RGVzdGluYXRpb24nLCB7XG4gICAgICAgICAgICBUYXJnZXRBcm46IHsgXCJGbjo6R2V0QXR0XCI6IFsgXCJNeVN0cmVhbTVDMDUwRTkzXCIsIFwiQXJuXCIgXSB9LFxuICAgICAgICAgICAgUm9sZUFybjogeyBcIkZuOjpHZXRBdHRcIjogWyBcIk15U3RyZWFtQ2xvdWRXYXRjaExvZ3NDYW5QdXRSZWNvcmRzNTg0OTg0OTBcIiwgXCJBcm5cIiBdIH0sXG4gICAgICAgIH0pKTtcblxuICAgICAgICB0ZXN0LmRvbmUoKTtcbiAgICB9XG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5zdWJzY3JpcHRpb25kZXN0aW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3Quc3Vic2NyaXB0aW9uZGVzdGluYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRDQUF1RDtBQUN2RCwwQ0FBMkM7QUFDM0Msb0NBQXFDO0FBRXJDLGdDQUFnQztBQUVoQyxpQkFBUztJQUNQLHdDQUF3QyxDQUFDLElBQVU7UUFDakQsUUFBUTtRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksWUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3QyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXRELE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFO1lBQ2pELFFBQVE7WUFDUixXQUFXLEVBQUUsTUFBTTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUU7U0FDOUMsQ0FBQyxDQUFDO1FBRUgsc0NBQXNDO1FBQ3RDLGVBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMscUJBQVksQ0FBQywrQkFBK0IsRUFBRTtZQUM3RCxjQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUUsRUFBRTtZQUMvRCxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBRSw2Q0FBNkMsRUFBRSxLQUFLLENBQUUsRUFBRTtTQUNwRixDQUFDLENBQUMsQ0FBQztRQUVKLDhDQUE4QztRQUM5QyxlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsZ0JBQWdCLEVBQUU7WUFDOUMsd0JBQXdCLEVBQUU7Z0JBQ3hCLFNBQVMsRUFBRSxDQUFDO3dCQUNWLE1BQU0sRUFBRSxnQkFBZ0I7d0JBQ3hCLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFDLEdBQUcsRUFBRSxhQUFhLEVBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBQztxQkFDL0YsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixlQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsa0JBQWtCLEVBQUU7WUFDaEQsY0FBYyxFQUFFO2dCQUNkLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxNQUFNLEVBQUUsbUJBQW1CO3dCQUMzQixNQUFNLEVBQUUsT0FBTzt3QkFDZixRQUFRLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUUsRUFBRTtxQkFDMUQ7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLGNBQWM7d0JBQ3RCLE1BQU0sRUFBRSxPQUFPO3dCQUNmLFFBQVEsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFFLDZDQUE2QyxFQUFFLEtBQUssQ0FBRSxFQUFFO3FCQUNyRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsdUVBQXVFLENBQUMsSUFBVTtRQUNoRixRQUFRO1FBQ1IsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ3RGLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFNUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sTUFBTSxHQUFHLElBQUksWUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVqRCxPQUFPO1FBQ1AsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRTtZQUN2RCxRQUFRO1lBQ1IsV0FBVyxFQUFFLE1BQU07WUFDbkIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFO1NBQzlDLENBQUMsQ0FBQztRQUVILGtGQUFrRjtRQUNsRixlQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsd0JBQXdCLEVBQUU7WUFDMUQsU0FBUyxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUUsa0JBQWtCLEVBQUUsS0FBSyxDQUFFLEVBQUU7WUFDMUQsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUUsNkNBQTZDLEVBQUUsS0FBSyxDQUFFLEVBQUU7U0FDcEYsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdCwgaGF2ZVJlc291cmNlIH0gZnJvbSAnQGF3cy1jZGsvYXNzZXJ0JztcbmltcG9ydCBsb2dzID0gcmVxdWlyZSgnQGF3cy1jZGsvYXdzLWxvZ3MnKTtcbmltcG9ydCBjZGsgPSByZXF1aXJlKCdAYXdzLWNkay9jZGsnKTtcbmltcG9ydCB7IFRlc3QgfSBmcm9tICdub2RldW5pdCc7XG5pbXBvcnQgeyBTdHJlYW0gfSBmcm9tICcuLi9saWInO1xuXG5leHBvcnQgPSB7XG4gICdzdHJlYW0gY2FuIGJlIHN1YnNjcmlwdGlvbiBkZXN0aW5hdGlvbicodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKCk7XG4gICAgY29uc3Qgc3RyZWFtID0gbmV3IFN0cmVhbShzdGFjaywgJ015U3RyZWFtJyk7XG4gICAgY29uc3QgbG9nR3JvdXAgPSBuZXcgbG9ncy5Mb2dHcm91cChzdGFjaywgJ0xvZ0dyb3VwJyk7XG5cbiAgICAvLyBXSEVOXG4gICAgbmV3IGxvZ3MuU3Vic2NyaXB0aW9uRmlsdGVyKHN0YWNrLCAnU3Vic2NyaXB0aW9uJywge1xuICAgICAgbG9nR3JvdXAsXG4gICAgICBkZXN0aW5hdGlvbjogc3RyZWFtLFxuICAgICAgZmlsdGVyUGF0dGVybjogbG9ncy5GaWx0ZXJQYXR0ZXJuLmFsbEV2ZW50cygpXG4gICAgfSk7XG5cbiAgICAvLyBUSEVOOiBzdWJzY3JpcHRpb24gdGFyZ2V0IGlzIFN0cmVhbVxuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdBV1M6OkxvZ3M6OlN1YnNjcmlwdGlvbkZpbHRlcicsIHtcbiAgICAgIERlc3RpbmF0aW9uQXJuOiB7IFwiRm46OkdldEF0dFwiOiBbIFwiTXlTdHJlYW01QzA1MEU5M1wiLCBcIkFyblwiIF0gfSxcbiAgICAgIFJvbGVBcm46IHsgXCJGbjo6R2V0QXR0XCI6IFsgXCJNeVN0cmVhbUNsb3VkV2F0Y2hMb2dzQ2FuUHV0UmVjb3JkczU4NDk4NDkwXCIsIFwiQXJuXCIgXSB9LFxuICAgIH0pKTtcblxuICAgIC8vIFRIRU46IHdlIGhhdmUgYSByb2xlIHRvIHdyaXRlIHRvIHRoZSBMYW1iZGFcbiAgICBleHBlY3Qoc3RhY2spLnRvKGhhdmVSZXNvdXJjZSgnQVdTOjpJQU06OlJvbGUnLCB7XG4gICAgICBBc3N1bWVSb2xlUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgICAgU3RhdGVtZW50OiBbe1xuICAgICAgICAgIEFjdGlvbjogXCJzdHM6QXNzdW1lUm9sZVwiLFxuICAgICAgICAgIFByaW5jaXBhbDogeyBTZXJ2aWNlOiB7IFwiRm46OkpvaW5cIjogW1wiXCIsIFtcImxvZ3MuXCIsIHtSZWY6IFwiQVdTOjpSZWdpb25cIn0sIFwiLmFtYXpvbmF3cy5jb21cIl1dIH19XG4gICAgICAgIH1dLFxuICAgICAgfVxuICAgIH0pKTtcblxuICAgIGV4cGVjdChzdGFjaykudG8oaGF2ZVJlc291cmNlKCdBV1M6OklBTTo6UG9saWN5Jywge1xuICAgICAgUG9saWN5RG9jdW1lbnQ6IHtcbiAgICAgICAgU3RhdGVtZW50OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgQWN0aW9uOiBcImtpbmVzaXM6UHV0UmVjb3JkXCIsXG4gICAgICAgICAgICBFZmZlY3Q6IFwiQWxsb3dcIixcbiAgICAgICAgICAgIFJlc291cmNlOiB7IFwiRm46OkdldEF0dFwiOiBbIFwiTXlTdHJlYW01QzA1MEU5M1wiLCBcIkFyblwiIF0gfVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgQWN0aW9uOiBcImlhbTpQYXNzUm9sZVwiLFxuICAgICAgICAgICAgRWZmZWN0OiBcIkFsbG93XCIsXG4gICAgICAgICAgICBSZXNvdXJjZTogeyBcIkZuOjpHZXRBdHRcIjogWyBcIk15U3RyZWFtQ2xvdWRXYXRjaExvZ3NDYW5QdXRSZWNvcmRzNTg0OTg0OTBcIiwgXCJBcm5cIiBdIH1cbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICB9XG4gICAgfSkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2Nyb3NzLWFjY291bnQgc3RyZWFtIGNhbiBiZSBzdWJzY3JpcHRpb24gZGVzdGluYXRpb24gd2l0aCBEZXN0aW5hdGlvbicodGVzdDogVGVzdCkge1xuICAgIC8vIEdJVkVOXG4gICAgY29uc3Qgc291cmNlU3RhY2sgPSBuZXcgY2RrLlN0YWNrKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7IGVudjogeyBhY2NvdW50OiAnMTIzNDUnIH19KTtcbiAgICBjb25zdCBsb2dHcm91cCA9IG5ldyBsb2dzLkxvZ0dyb3VwKHNvdXJjZVN0YWNrLCAnTG9nR3JvdXAnKTtcblxuICAgIGNvbnN0IGRlc3RTdGFjayA9IG5ldyBjZGsuU3RhY2sodW5kZWZpbmVkLCB1bmRlZmluZWQsIHsgZW52OiB7IGFjY291bnQ6ICc2Nzg5MCcgfX0pO1xuICAgIGNvbnN0IHN0cmVhbSA9IG5ldyBTdHJlYW0oZGVzdFN0YWNrLCAnTXlTdHJlYW0nKTtcblxuICAgIC8vIFdIRU5cbiAgICBuZXcgbG9ncy5TdWJzY3JpcHRpb25GaWx0ZXIoc291cmNlU3RhY2ssICdTdWJzY3JpcHRpb24nLCB7XG4gICAgICBsb2dHcm91cCxcbiAgICAgIGRlc3RpbmF0aW9uOiBzdHJlYW0sXG4gICAgICBmaWx0ZXJQYXR0ZXJuOiBsb2dzLkZpbHRlclBhdHRlcm4uYWxsRXZlbnRzKClcbiAgICB9KTtcblxuICAgIC8vIFRIRU46IHRoZSBzb3VyY2Ugc3RhY2sgaGFzIGEgRGVzdGluYXRpb24gb2JqZWN0IHRoYXQgdGhlIHN1YnNjcmlwdGlvbiBwb2ludHMgdG9cbiAgICBleHBlY3QoZGVzdFN0YWNrKS50byhoYXZlUmVzb3VyY2UoJ0FXUzo6TG9nczo6RGVzdGluYXRpb24nLCB7XG4gICAgICBUYXJnZXRBcm46IHsgXCJGbjo6R2V0QXR0XCI6IFsgXCJNeVN0cmVhbTVDMDUwRTkzXCIsIFwiQXJuXCIgXSB9LFxuICAgICAgUm9sZUFybjogeyBcIkZuOjpHZXRBdHRcIjogWyBcIk15U3RyZWFtQ2xvdWRXYXRjaExvZ3NDYW5QdXRSZWNvcmRzNTg0OTg0OTBcIiwgXCJBcm5cIiBdIH0sXG4gICAgfSkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH1cbn07XG4iXX0=

Sorry, the diff of this file is not supported yet

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