awscdk-resources-mongodbatlas
Version:
MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources
85 lines • 17.6 kB
JavaScript
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CfnServerlessPrivateEndpoint = void 0;
exports.toJson_CfnServerlessPrivateEndpointProps = toJson_CfnServerlessPrivateEndpointProps;
exports.toJson_AwsPrivateEndpointConfig = toJson_AwsPrivateEndpointConfig;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
// Generated by cdk-import
const cdk = require("aws-cdk-lib");
/**
* Converts an object of type 'CfnServerlessPrivateEndpointProps' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnServerlessPrivateEndpointProps(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
ProjectId: obj.projectId,
InstanceName: obj.instanceName,
Comment: obj.comment,
Profile: obj.profile,
CloudProviderEndpointId: obj.cloudProviderEndpointId,
PrivateEndpointIpAddress: obj.privateEndpointIpAddress,
CreateAndAssignAWSPrivateEndpoint: obj.createAndAssignAwsPrivateEndpoint,
AwsPrivateEndpointConfigurationProperties: toJson_AwsPrivateEndpointConfig(obj.awsPrivateEndpointConfigurationProperties),
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'AwsPrivateEndpointConfig' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_AwsPrivateEndpointConfig(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
VpcId: obj.vpcId,
SubnetIds: obj.subnetIds?.map((y) => y),
InterfaceEndpointId: obj.interfaceEndpointId,
AWSPrivateEndpointStatus: obj.awsPrivateEndpointStatus,
Region: obj.region,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/* eslint-enable max-len, quote-props */
/**
* A CloudFormation `MongoDB::Atlas::ServerlessPrivateEndpoint`
*
* @cloudformationResource MongoDB::Atlas::ServerlessPrivateEndpoint
* @stability external
*/
class CfnServerlessPrivateEndpoint extends cdk.CfnResource {
/**
* Create a new `MongoDB::Atlas::ServerlessPrivateEndpoint`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope, id, props) {
super(scope, id, {
type: CfnServerlessPrivateEndpoint.CFN_RESOURCE_TYPE_NAME,
properties: toJson_CfnServerlessPrivateEndpointProps(props),
});
this.props = props;
this.attrId = cdk.Token.asString(this.getAtt("Id"));
this.attrEndpointServiceName = cdk.Token.asString(this.getAtt("EndpointServiceName"));
this.attrErrorMessage = cdk.Token.asString(this.getAtt("ErrorMessage"));
this.attrProviderName = cdk.Token.asString(this.getAtt("ProviderName"));
this.attrStatus = cdk.Token.asString(this.getAtt("Status"));
this.attrAwsPrivateEndpointMetaData = cdk.Token.asString(this.getAtt("AwsPrivateEndpointMetaData"));
}
}
exports.CfnServerlessPrivateEndpoint = CfnServerlessPrivateEndpoint;
_a = JSII_RTTI_SYMBOL_1;
CfnServerlessPrivateEndpoint[_a] = { fqn: "awscdk-resources-mongodbatlas.CfnServerlessPrivateEndpoint", version: "3.13.0" };
/**
* The CloudFormation resource type name for this resource class.
*/
CfnServerlessPrivateEndpoint.CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::ServerlessPrivateEndpoint";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDEtcmVzb3VyY2VzL3NlcnZlcmxlc3MtcHJpdmF0ZS1lbmRwb2ludC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBdUVBLDRGQXVCQztBQWlERCwwRUFrQkM7O0FBaktELDBCQUEwQjtBQUMxQixtQ0FBbUM7QUFrRW5DOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLFNBQWdCLHdDQUF3QyxDQUN0RCxHQUFrRDtJQUVsRCxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN0QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUc7UUFDYixTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7UUFDeEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO1FBQzlCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztRQUNwQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDcEIsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLHVCQUF1QjtRQUNwRCx3QkFBd0IsRUFBRSxHQUFHLENBQUMsd0JBQXdCO1FBQ3RELGlDQUFpQyxFQUFFLEdBQUcsQ0FBQyxpQ0FBaUM7UUFDeEUseUNBQXlDLEVBQUUsK0JBQStCLENBQ3hFLEdBQUcsQ0FBQyx5Q0FBeUMsQ0FDOUM7S0FDRixDQUFDO0lBQ0YsMEJBQTBCO0lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUMzRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUE2Q0Q7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0IsK0JBQStCLENBQzdDLEdBQXlDO0lBRXpDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRztRQUNiLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztRQUNoQixTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2QyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsbUJBQW1CO1FBQzVDLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyx3QkFBd0I7UUFDdEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNO0tBQ25CLENBQUM7SUFDRiwwQkFBMEI7SUFDMUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQzNELEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUNELHdDQUF3QztBQUV4Qzs7Ozs7R0FLRztBQUNILE1BQWEsNEJBQTZCLFNBQVEsR0FBRyxDQUFDLFdBQVc7SUFxQy9EOzs7Ozs7T0FNRztJQUNILFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQXdDO1FBRXhDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsSUFBSSxFQUFFLDRCQUE0QixDQUFDLHNCQUFzQjtZQUN6RCxVQUFVLEVBQUUsd0NBQXdDLENBQUMsS0FBSyxDQUFFO1NBQzdELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUNuQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyw4QkFBOEIsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUMxQyxDQUFDO0lBQ0osQ0FBQzs7QUFsRUgsb0VBbUVDOzs7QUFsRUM7O0dBRUc7QUFDb0IsbURBQXNCLEdBQzNDLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR2VuZXJhdGVkIGJ5IGNkay1pbXBvcnRcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuLyoqXG4gKiAqKldBUk5JTkc6KiogVGhpcyByZXNvdXJjZSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gTWF5IDIwMjUuIElmIHlvdSB0cnkgdG8gY3JlYXRlIGEgbmV3IFNlcnZlcmxlc3NJbnN0YW5jZSwgeW91IHdpbGwgY3JlYXRlIGEgRmxleCBjbHVzdGVyLiBBcyBhIHJlc3VsdCwgeW91IGNhbid0IGNyZWF0ZSBTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50cyBmb3IgdGhlc2UgbmV3IGluc3RhbmNlcy4gRm9yIG1vcmUgZGV0YWlscywgc2VlIFtNaWdyYXRlIHlvdXIgcHJvZ3JhbW1hdGljIHRvb2xzIGZyb20gTTIsIE01LCBvciBTZXJ2ZXJsZXNzIEluc3RhbmNlcyB0byBGbGV4IENsdXN0ZXJzXShodHRwczovL3d3dy5tb25nb2RiLmNvbS9kb2NzL2F0bGFzL2ZsZXgtbWlncmF0aW9uLykuIFJldHVybnMsIGFkZHMsIGVkaXRzLCBhbmQgcmVtb3ZlcyBwcml2YXRlIGVuZHBvaW50cyBmb3Igc2VydmVybGVzcyBpbnN0YW5jZXMuIFRvIGxlYXJuIG1vcmUsIHNlZSB0aGUgQXRsYXMgQWRtaW5pc3RyYXRpb24gQVBJIHRhYiBvbiB0aGUgZm9sbG93aW5nIHR1dG9yaWFsLlxuICpcbiAqIEBzY2hlbWEgQ2ZuU2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2ZuU2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFByb3BzIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSAyNC1oZXhhZGVjaW1hbCBkaWdpdCBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIHlvdXIgcHJvamVjdC5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMjUHJvamVjdElkXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgbGFiZWwgdGhhdCBpZGVudGlmaWVzIHRoZSBzZXJ2ZXJsZXNzIGluc3RhbmNlIGZvciB3aGljaCB0aGUgdGVuYW50IGVuZHBvaW50IHdpbGwgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMjSW5zdGFuY2VOYW1lXG4gICAqL1xuICByZWFkb25seSBpbnN0YW5jZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgY29tbWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIHByaXZhdGUgZW5kcG9pbnQuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuU2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFByb3BzI0NvbW1lbnRcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1lbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByb2ZpbGUgdXNlZCB0byBwcm92aWRlIGNyZWRlbnRpYWxzIGluZm9ybWF0aW9uLCAoYSBzZWNyZXQgd2l0aCB0aGUgY2ZuL2F0bGFzL3Byb2ZpbGUve1Byb2ZpbGV9LCBpcyByZXF1aXJlZCksIGlmIG5vdCBwcm92aWRlZCBkZWZhdWx0IGlzIHVzZWRcbiAgICpcbiAgICogQHNjaGVtYSBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMjUHJvZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlIHN0cmluZyB0aGF0IGlkZW50aWZpZXMgdGhlIHByaXZhdGUgZW5kcG9pbnQncyBuZXR3b3JrIGludGVyZmFjZS5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMjQ2xvdWRQcm92aWRlckVuZHBvaW50SWRcbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkUHJvdmlkZXJFbmRwb2ludElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJUHY0IGFkZHJlc3Mgb2YgdGhlIHByaXZhdGUgZW5kcG9pbnQgaW4geW91ciBBenVyZSBWTmV0IHRoYXQgc29tZW9uZSBhZGRlZCB0byB0aGlzIHByaXZhdGUgZW5kcG9pbnQgc2VydmljZS5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMjUHJpdmF0ZUVuZHBvaW50SXBBZGRyZXNzXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlRW5kcG9pbnRJcEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIHRydWUgdGhlIHJlc291cmNlIHdpbGwgY3JlYXRlIHRoZSBhd3MgcHJpdmF0ZSBlbmRwb2ludCBhbmQgYXNzaWduIHRoZSBFbmRwb2ludCBJRFxuICAgKlxuICAgKiBAc2NoZW1hIENmblNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnRQcm9wcyNDcmVhdGVBbmRBc3NpZ25BV1NQcml2YXRlRW5kcG9pbnRcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZUFuZEFzc2lnbkF3c1ByaXZhdGVFbmRwb2ludD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFByb3BlcnRpZXMgdXNlZCB0byBjb25maWd1cmUgQXdzIHByaXZhdGUgZW5kcG9pbnRcbiAgICpcbiAgICogQHNjaGVtYSBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMjQXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlndXJhdGlvblByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGF3c1ByaXZhdGVFbmRwb2ludENvbmZpZ3VyYXRpb25Qcm9wZXJ0aWVzPzogQXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlnO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0NmblNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnRQcm9wcyhcbiAgb2JqOiBDZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMgfCB1bmRlZmluZWRcbik6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBQcm9qZWN0SWQ6IG9iai5wcm9qZWN0SWQsXG4gICAgSW5zdGFuY2VOYW1lOiBvYmouaW5zdGFuY2VOYW1lLFxuICAgIENvbW1lbnQ6IG9iai5jb21tZW50LFxuICAgIFByb2ZpbGU6IG9iai5wcm9maWxlLFxuICAgIENsb3VkUHJvdmlkZXJFbmRwb2ludElkOiBvYmouY2xvdWRQcm92aWRlckVuZHBvaW50SWQsXG4gICAgUHJpdmF0ZUVuZHBvaW50SXBBZGRyZXNzOiBvYmoucHJpdmF0ZUVuZHBvaW50SXBBZGRyZXNzLFxuICAgIENyZWF0ZUFuZEFzc2lnbkFXU1ByaXZhdGVFbmRwb2ludDogb2JqLmNyZWF0ZUFuZEFzc2lnbkF3c1ByaXZhdGVFbmRwb2ludCxcbiAgICBBd3NQcml2YXRlRW5kcG9pbnRDb25maWd1cmF0aW9uUHJvcGVydGllczogdG9Kc29uX0F3c1ByaXZhdGVFbmRwb2ludENvbmZpZyhcbiAgICAgIG9iai5hd3NQcml2YXRlRW5kcG9pbnRDb25maWd1cmF0aW9uUHJvcGVydGllc1xuICAgICksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZShcbiAgICAociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCA/IHIgOiB7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSxcbiAgICB7fVxuICApO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEFXUyBQcml2YXRlIGVuZHBvaW50IGNvbmZpZ3VyYXRpb24gcHJvcGVydGllc1xuICpcbiAqIEBzY2hlbWEgYXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIFN0cmluZyBSZXByZXNlbnRpbmcgdGhlIEFXUyBWUEMgSUQgKGxpa2U6IHZwYy14eHh4eHh4eHh4eHh4eHh4KSAoVXNlZCBGb3IgQ3JlYXRpbmcgdGhlIEFXUyBWUEMgRW5kcG9pbnQpXG4gICAqXG4gICAqIEBzY2hlbWEgYXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlnI1ZwY0lkXG4gICAqL1xuICByZWFkb25seSB2cGNJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTGlzdCBvZiBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBV1MgVlBDIFN1Ym5ldCBJRCAobGlrZTogc3VibmV0LXh4eHh4eHh4eHh4eHh4eHh4KSAoVXNlZCBGb3IgQ3JlYXRpbmcgdGhlIEFXUyBWUEMgRW5kcG9pbnQpXG4gICAqXG4gICAqIEBzY2hlbWEgYXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlnI1N1Ym5ldElkc1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVycyBvZiB0aGUgaW50ZXJmYWNlIGVuZHBvaW50cyBpbiB5b3VyIFZQQyB0aGF0IHlvdSBhZGRlZCB0byB0aGUgQVdTIFByaXZhdGVMaW5rIGNvbm5lY3Rpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgYXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlnI0ludGVyZmFjZUVuZHBvaW50SWRcbiAgICovXG4gIHJlYWRvbmx5IGludGVyZmFjZUVuZHBvaW50SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0YXR1cyBvZiB0aGUgQVdTIFByaXZhdGVFbmRwb2ludCBjb25uZWN0aW9uLlxuICAgKlxuICAgKiBAc2NoZW1hIGF3c1ByaXZhdGVFbmRwb2ludENvbmZpZyNBV1NQcml2YXRlRW5kcG9pbnRTdGF0dXNcbiAgICovXG4gIHJlYWRvbmx5IGF3c1ByaXZhdGVFbmRwb2ludFN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogQXdzIFJlZ2lvblxuICAgKlxuICAgKiBAc2NoZW1hIGF3c1ByaXZhdGVFbmRwb2ludENvbmZpZyNSZWdpb25cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnQXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlnJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9Bd3NQcml2YXRlRW5kcG9pbnRDb25maWcoXG4gIG9iajogQXdzUHJpdmF0ZUVuZHBvaW50Q29uZmlnIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgVnBjSWQ6IG9iai52cGNJZCxcbiAgICBTdWJuZXRJZHM6IG9iai5zdWJuZXRJZHM/Lm1hcCgoeSkgPT4geSksXG4gICAgSW50ZXJmYWNlRW5kcG9pbnRJZDogb2JqLmludGVyZmFjZUVuZHBvaW50SWQsXG4gICAgQVdTUHJpdmF0ZUVuZHBvaW50U3RhdHVzOiBvYmouYXdzUHJpdmF0ZUVuZHBvaW50U3RhdHVzLFxuICAgIFJlZ2lvbjogb2JqLnJlZ2lvbixcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKFxuICAgIChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkID8gciA6IHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLFxuICAgIHt9XG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQSBDbG91ZEZvcm1hdGlvbiBgTW9uZ29EQjo6QXRsYXM6OlNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnRgXG4gKlxuICogQGNsb3VkZm9ybWF0aW9uUmVzb3VyY2UgTW9uZ29EQjo6QXRsYXM6OlNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnRcbiAqIEBzdGFiaWxpdHkgZXh0ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIENmblNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnQgZXh0ZW5kcyBjZGsuQ2ZuUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGUgbmFtZSBmb3IgdGhpcyByZXNvdXJjZSBjbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSA9XG4gICAgXCJNb25nb0RCOjpBdGxhczo6U2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFwiO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBwcm9wcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogQ2ZuU2VydmVybGVzc1ByaXZhdGVFbmRwb2ludFByb3BzO1xuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50LklkYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJJZDogc3RyaW5nO1xuICAvKipcbiAgICogQXR0cmlidXRlIGBNb25nb0RCOjpBdGxhczo6U2VydmVybGVzc1ByaXZhdGVFbmRwb2ludC5FbmRwb2ludFNlcnZpY2VOYW1lYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJFbmRwb2ludFNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50LkVycm9yTWVzc2FnZWBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRyRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50LlByb3ZpZGVyTmFtZWBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRyUHJvdmlkZXJOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50LlN0YXR1c2BcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRyU3RhdHVzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50LkF3c1ByaXZhdGVFbmRwb2ludE1ldGFEYXRhYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJBd3NQcml2YXRlRW5kcG9pbnRNZXRhRGF0YTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYE1vbmdvREI6OkF0bGFzOjpTZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50YC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAqIEBwYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IENmblNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnRQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHR5cGU6IENmblNlcnZlcmxlc3NQcml2YXRlRW5kcG9pbnQuQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSxcbiAgICAgIHByb3BlcnRpZXM6IHRvSnNvbl9DZm5TZXJ2ZXJsZXNzUHJpdmF0ZUVuZHBvaW50UHJvcHMocHJvcHMpISxcbiAgICB9KTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIHRoaXMuYXR0cklkID0gY2RrLlRva2VuLmFzU3RyaW5nKHRoaXMuZ2V0QXR0KFwiSWRcIikpO1xuICAgIHRoaXMuYXR0ckVuZHBvaW50U2VydmljZU5hbWUgPSBjZGsuVG9rZW4uYXNTdHJpbmcoXG4gICAgICB0aGlzLmdldEF0dChcIkVuZHBvaW50U2VydmljZU5hbWVcIilcbiAgICApO1xuICAgIHRoaXMuYXR0ckVycm9yTWVzc2FnZSA9IGNkay5Ub2tlbi5hc1N0cmluZyh0aGlzLmdldEF0dChcIkVycm9yTWVzc2FnZVwiKSk7XG4gICAgdGhpcy5hdHRyUHJvdmlkZXJOYW1lID0gY2RrLlRva2VuLmFzU3RyaW5nKHRoaXMuZ2V0QXR0KFwiUHJvdmlkZXJOYW1lXCIpKTtcbiAgICB0aGlzLmF0dHJTdGF0dXMgPSBjZGsuVG9rZW4uYXNTdHJpbmcodGhpcy5nZXRBdHQoXCJTdGF0dXNcIikpO1xuICAgIHRoaXMuYXR0ckF3c1ByaXZhdGVFbmRwb2ludE1ldGFEYXRhID0gY2RrLlRva2VuLmFzU3RyaW5nKFxuICAgICAgdGhpcy5nZXRBdHQoXCJBd3NQcml2YXRlRW5kcG9pbnRNZXRhRGF0YVwiKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
;