UNPKG

awscdk-resources-mongodbatlas

Version:

MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources

81 lines 15.6 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.CfnOrganization = void 0; exports.toJson_CfnOrganizationProps = toJson_CfnOrganizationProps; exports.toJson_ApiKey = toJson_ApiKey; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); // Generated by cdk-import const cdk = require("aws-cdk-lib"); /** * Converts an object of type 'CfnOrganizationProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_CfnOrganizationProps(obj) { if (obj === undefined) { return undefined; } const result = { Name: obj.name, APIKey: toJson_ApiKey(obj.apiKey), FederatedSettingsId: obj.federatedSettingsId, OrgOwnerId: obj.orgOwnerId, Profile: obj.profile, AwsSecretName: obj.awsSecretName, SkipDefaultAlertsSettings: obj.skipDefaultAlertsSettings, GenAIFeaturesEnabled: obj.genAiFeaturesEnabled, IsDeleted: obj.isDeleted, ApiAccessListRequired: obj.apiAccessListRequired, MultiFactorAuthRequired: obj.multiFactorAuthRequired, RestrictEmployeeAccess: obj.restrictEmployeeAccess, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}); } /** * Converts an object of type 'ApiKey' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_ApiKey(obj) { if (obj === undefined) { return undefined; } const result = { Description: obj.description, Roles: obj.roles?.map((y) => y), }; // 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::Organization` * * @cloudformationResource MongoDB::Atlas::Organization * @stability external */ class CfnOrganization extends cdk.CfnResource { /** * Create a new `MongoDB::Atlas::Organization`. * * @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: CfnOrganization.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnOrganizationProps(props), }); this.props = props; this.attrOrgId = cdk.Token.asString(this.getAtt("OrgId")); } } exports.CfnOrganization = CfnOrganization; _a = JSII_RTTI_SYMBOL_1; CfnOrganization[_a] = { fqn: "awscdk-resources-mongodbatlas.CfnOrganization", version: "3.13.1" }; /** * The CloudFormation resource type name for this resource class. */ CfnOrganization.CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::Organization"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDEtcmVzb3VyY2VzL29yZ2FuaXphdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBa0dBLGtFQXlCQztBQTBCRCxzQ0FlQzs7QUFwS0QsMEJBQTBCO0FBQzFCLG1DQUFtQztBQTZGbkM7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0IsMkJBQTJCLENBQ3pDLEdBQXFDO0lBRXJDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRztRQUNiLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtRQUNkLE1BQU0sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNqQyxtQkFBbUIsRUFBRSxHQUFHLENBQUMsbUJBQW1CO1FBQzVDLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVTtRQUMxQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDcEIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhO1FBQ2hDLHlCQUF5QixFQUFFLEdBQUcsQ0FBQyx5QkFBeUI7UUFDeEQsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLG9CQUFvQjtRQUM5QyxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7UUFDeEIscUJBQXFCLEVBQUUsR0FBRyxDQUFDLHFCQUFxQjtRQUNoRCx1QkFBdUIsRUFBRSxHQUFHLENBQUMsdUJBQXVCO1FBQ3BELHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxzQkFBc0I7S0FDbkQsQ0FBQztJQUNGLDBCQUEwQjtJQUMxQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDM0QsRUFBRSxDQUNILENBQUM7QUFDSixDQUFDO0FBc0JEOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLFNBQWdCLGFBQWEsQ0FDM0IsR0FBdUI7SUFFdkIsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHO1FBQ2IsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO1FBQzVCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ2hDLENBQUM7SUFDRiwwQkFBMEI7SUFDMUIsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQzNELEVBQUUsQ0FDSCxDQUFDO0FBQ0osQ0FBQztBQUNELHdDQUF3QztBQUV4Qzs7Ozs7R0FLRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxHQUFHLENBQUMsV0FBVztJQWlCbEQ7Ozs7OztPQU1HO0lBQ0gsWUFDRSxLQUEyQixFQUMzQixFQUFVLEVBQ1YsS0FBMkI7UUFFM0IsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsZUFBZSxDQUFDLHNCQUFzQjtZQUM1QyxVQUFVLEVBQUUsMkJBQTJCLENBQUMsS0FBSyxDQUFFO1NBQ2hELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7O0FBckNILDBDQXNDQzs7O0FBckNDOztHQUVHO0FBQ29CLHNDQUFzQixHQUMzQyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBieSBjZGstaW1wb3J0XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogUmV0dXJucywgYWRkcywgYW5kIGVkaXRzIG9yZ2FuaXphdGlvbmFsIHVuaXRzIGluIE1vbmdvREIgQ2xvdWQuXG4gKlxuICogQHNjaGVtYSBDZm5Pcmdhbml6YXRpb25Qcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENmbk9yZ2FuaXphdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIEh1bWFuLXJlYWRhYmxlIGxhYmVsIHRoYXQgaWRlbnRpZmllcyB0aGUgb3JnYW5pemF0aW9uLlxuICAgKlxuICAgKiBAc2NoZW1hIENmbk9yZ2FuaXphdGlvblByb3BzI05hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHNjaGVtYSBDZm5Pcmdhbml6YXRpb25Qcm9wcyNBUElLZXlcbiAgICovXG4gIHJlYWRvbmx5IGFwaUtleT86IEFwaUtleTtcblxuICAvKipcbiAgICogVW5pcXVlIDI0LWhleGFkZWNpbWFsIGRpZ2l0IHN0cmluZyB0aGF0IGlkZW50aWZpZXMgdGhlIGZlZGVyYXRpb24gdG8gbGluayB0aGUgbmV3bHkgY3JlYXRlZCBvcmdhbml6YXRpb24gdG8uIElmIHNwZWNpZmllZCwgdGhlIHByb3Bvc2VkIE9yZ2FuaXphdGlvbiBPd25lciBvZiB0aGUgbmV3IG9yZ2FuaXphdGlvbiBtdXN0IGhhdmUgdGhlIE9yZ2FuaXphdGlvbiBPd25lciByb2xlIGluIGFuIG9yZ2FuaXphdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhlIGZlZGVyYXRpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuT3JnYW5pemF0aW9uUHJvcHMjRmVkZXJhdGVkU2V0dGluZ3NJZFxuICAgKi9cbiAgcmVhZG9ubHkgZmVkZXJhdGVkU2V0dGluZ3NJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlIDI0LWhleGFkZWNpbWFsIGRpZ2l0IHN0cmluZyB0aGF0IGlkZW50aWZpZXMgdGhlIE1vbmdvREIgQ2xvdWQgdXNlciB0aGF0IHlvdSB3YW50IHRvIGFzc2lnbiB0aGUgT3JnYW5pemF0aW9uIE93bmVyIHJvbGUuIFRoaXMgdXNlciBtdXN0IGJlIGEgbWVtYmVyIG9mIHRoZSBzYW1lIG9yZ2FuaXphdGlvbiBhcyB0aGUgY2FsbGluZyBBUEkga2V5LiBJZiB5b3UgcHJvdmlkZSBmZWRlcmF0aW9uU2V0dGluZ3NJZCwgdGhpcyB1c2VyIG11c3QgaW5zdGVhZCBoYXZlIHRoZSBPcmdhbml6YXRpb24gT3duZXIgcm9sZSBvbiBhbiBvcmdhbml6YXRpb24gaW4gdGhlIHNwZWNpZmllZCBmZWRlcmF0aW9uLiBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBvbmx5IHdoZW4geW91IGF1dGhlbnRpY2F0ZSB3aXRoIFByb2dyYW1tYXRpYyBBUEkgS2V5cy5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5Pcmdhbml6YXRpb25Qcm9wcyNPcmdPd25lcklkXG4gICAqL1xuICByZWFkb25seSBvcmdPd25lcklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByb2ZpbGUgdXNlZCB0byBwcm92aWRlIGNyZWRlbnRpYWxzIGluZm9ybWF0aW9uLCAoYSBzZWNyZXQgd2l0aCB0aGUgY2ZuL2F0bGFzL3Byb2ZpbGUve1Byb2ZpbGV9LCBpcyByZXF1aXJlZCksIGlmIG5vdCBwcm92aWRlZCBkZWZhdWx0IGlzIHVzZWRcbiAgICpcbiAgICogQHNjaGVtYSBDZm5Pcmdhbml6YXRpb25Qcm9wcyNQcm9maWxlXG4gICAqL1xuICByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBd3NTZWNyZXROYW1lIHVzZWQgdG8gc2V0IG5ld2x5IGNyZWF0ZWQgT3JnIGNyZWRlbnRpYWxzIGluZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAc2NoZW1hIENmbk9yZ2FuaXphdGlvblByb3BzI0F3c1NlY3JldE5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGF3c1NlY3JldE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRGlzYWJsZXMgYXV0b21hdGljIGFsZXJ0IGNyZWF0aW9uLiBXaGVuIHNldCB0byBgdHJ1ZWAsIEF0bGFzIGRvZXNuJ3QgYXV0b21hdGljYWxseSBjcmVhdGUgb3JnYW5pemF0aW9uLWxldmVsIGFsZXJ0cy4gRGVmYXVsdHMgdG8gYHRydWVgIGZvciBuZXcgQXRsYXMgT3JnYW5pemF0aW9ucyBjcmVhdGVkIHdpdGggdGhlIHByb3ZpZGVyIHRvIHByZXZlbnQgaW5mcmFzdHJ1Y3R1cmUgZHJpZnQgY2F1c2VkIGJ5IGNyZWF0aW9uIG9mIG5ldyBhbGVydHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVgIGZvciBuZXcgQXRsYXMgT3JnYW5pemF0aW9ucyBjcmVhdGVkIHdpdGggdGhlIHByb3ZpZGVyIHRvIHByZXZlbnQgaW5mcmFzdHJ1Y3R1cmUgZHJpZnQgY2F1c2VkIGJ5IGNyZWF0aW9uIG9mIG5ldyBhbGVydHMuXG4gICAqIEBzY2hlbWEgQ2ZuT3JnYW5pemF0aW9uUHJvcHMjU2tpcERlZmF1bHRBbGVydHNTZXR0aW5nc1xuICAgKi9cbiAgcmVhZG9ubHkgc2tpcERlZmF1bHRBbGVydHNTZXR0aW5ncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB0aGlzIG9yZ2FuaXphdGlvbiBoYXMgYWNjZXNzIHRvIGdlbmVyYXRpdmUgQUkgZmVhdHVyZXMuIFRoaXMgc2V0dGluZyBvbmx5IGFwcGxpZXMgdG8gQXRsYXMgQ29tbWVyY2lhbCBhbmQgZGVmYXVsdHMgdG8gYHRydWVgLiBXaXRoIHRoaXMgc2V0dGluZyBvbiwgUHJvamVjdCBPd25lcnMgbWF5IGJlIGFibGUgdG8gZW5hYmxlIG9yIGRpc2FibGUgaW5kaXZpZHVhbCBBSSBmZWF0dXJlcyBhdCB0aGUgcHJvamVjdCBsZXZlbC4gVG8gbGVhcm4gbW9yZSwgc2VlIGh0dHBzOi8vd3d3Lm1vbmdvZGIuY29tL2RvY3MvZ2VuZXJhdGl2ZS1haS1mYXEvXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuT3JnYW5pemF0aW9uUHJvcHMjR2VuQUlGZWF0dXJlc0VuYWJsZWRcbiAgICovXG4gIHJlYWRvbmx5IGdlbkFpRmVhdHVyZXNFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRoaXMgb3JnYW5pemF0aW9uIGhhcyBiZWVuIGRlbGV0ZWQuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuT3JnYW5pemF0aW9uUHJvcHMjSXNEZWxldGVkXG4gICAqL1xuICByZWFkb25seSBpc0RlbGV0ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdG8gcmVxdWlyZSBBUEkgb3BlcmF0aW9ucyB0byBvcmlnaW5hdGUgZnJvbSBhbiBJUCBBZGRyZXNzIGFkZGVkIHRvIHRoZSBBUEkgYWNjZXNzIGxpc3QgZm9yIHRoZSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uLlxuICAgKlxuICAgKiBAc2NoZW1hIENmbk9yZ2FuaXphdGlvblByb3BzI0FwaUFjY2Vzc0xpc3RSZXF1aXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXBpQWNjZXNzTGlzdFJlcXVpcmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHRvIHJlcXVpcmUgdXNlcnMgdG8gc2V0IHVwIE11bHRpLUZhY3RvciBBdXRoZW50aWNhdGlvbiAoTUZBKSBiZWZvcmUgYWNjZXNzaW5nIHRoZSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uLiBUbyBsZWFybiBtb3JlLCBzZWU6IGh0dHBzOi8vd3d3Lm1vbmdvZGIuY29tL2RvY3MvYXRsYXMvc2VjdXJpdHktbXVsdGktZmFjdG9yLWF1dGhlbnRpY2F0aW9uLy5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5Pcmdhbml6YXRpb25Qcm9wcyNNdWx0aUZhY3RvckF1dGhSZXF1aXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgbXVsdGlGYWN0b3JBdXRoUmVxdWlyZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdG8gYmxvY2sgTW9uZ29EQiBTdXBwb3J0IGZyb20gYWNjZXNzaW5nIEF0bGFzIGluZnJhc3RydWN0dXJlIGZvciBhbnkgZGVwbG95bWVudCBpbiB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbiB3aXRob3V0IGV4cGxpY2l0IHBlcm1pc3Npb24uIE9uY2UgdGhpcyBzZXR0aW5nIGlzIHR1cm5lZCBvbiwgeW91IGNhbiBncmFudCBNb25nb0RCIFN1cHBvcnQgYSAyNC1ob3VyIGJ5cGFzcyBhY2Nlc3MgdG8gdGhlIEF0bGFzIGRlcGxveW1lbnQgdG8gcmVzb2x2ZSBzdXBwb3J0IGlzc3Vlcy4gVG8gbGVhcm4gbW9yZSwgc2VlOiBodHRwczovL3d3dy5tb25nb2RiLmNvbS9kb2NzL2F0bGFzL3NlY3VyaXR5LXJlc3RyaWN0LXN1cHBvcnQtYWNjZXNzLy5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5Pcmdhbml6YXRpb25Qcm9wcyNSZXN0cmljdEVtcGxveWVlQWNjZXNzXG4gICAqL1xuICByZWFkb25seSByZXN0cmljdEVtcGxveWVlQWNjZXNzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnQ2ZuT3JnYW5pemF0aW9uUHJvcHMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0Nmbk9yZ2FuaXphdGlvblByb3BzKFxuICBvYmo6IENmbk9yZ2FuaXphdGlvblByb3BzIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgTmFtZTogb2JqLm5hbWUsXG4gICAgQVBJS2V5OiB0b0pzb25fQXBpS2V5KG9iai5hcGlLZXkpLFxuICAgIEZlZGVyYXRlZFNldHRpbmdzSWQ6IG9iai5mZWRlcmF0ZWRTZXR0aW5nc0lkLFxuICAgIE9yZ093bmVySWQ6IG9iai5vcmdPd25lcklkLFxuICAgIFByb2ZpbGU6IG9iai5wcm9maWxlLFxuICAgIEF3c1NlY3JldE5hbWU6IG9iai5hd3NTZWNyZXROYW1lLFxuICAgIFNraXBEZWZhdWx0QWxlcnRzU2V0dGluZ3M6IG9iai5za2lwRGVmYXVsdEFsZXJ0c1NldHRpbmdzLFxuICAgIEdlbkFJRmVhdHVyZXNFbmFibGVkOiBvYmouZ2VuQWlGZWF0dXJlc0VuYWJsZWQsXG4gICAgSXNEZWxldGVkOiBvYmouaXNEZWxldGVkLFxuICAgIEFwaUFjY2Vzc0xpc3RSZXF1aXJlZDogb2JqLmFwaUFjY2Vzc0xpc3RSZXF1aXJlZCxcbiAgICBNdWx0aUZhY3RvckF1dGhSZXF1aXJlZDogb2JqLm11bHRpRmFjdG9yQXV0aFJlcXVpcmVkLFxuICAgIFJlc3RyaWN0RW1wbG95ZWVBY2Nlc3M6IG9iai5yZXN0cmljdEVtcGxveWVlQWNjZXNzLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoXG4gICAgKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQgPyByIDogeyAuLi5yLCBbaVswXV06IGlbMV0gfSksXG4gICAge31cbiAgKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBAc2NoZW1hIEFQSUtleVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUtleSB7XG4gIC8qKlxuICAgKiBQdXJwb3NlIG9yIGV4cGxhbmF0aW9uIHByb3ZpZGVkIHdoZW4gc29tZW9uZSBjcmVhdGVkIHRoaXMgb3JnYW5pemF0aW9uIEFQSSBrZXkuIDEgdG8gMjUwIGNoYXJhY3RlcnNcbiAgICpcbiAgICogQHNjaGVtYSBBUElLZXkjRGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHJvbGVzIHRvIGdyYW50IHRoaXMgQVBJIGtleS4gSWYgeW91IHByb3ZpZGUgdGhpcyBsaXN0LCBwcm92aWRlIGEgbWluaW11bSBvZiBvbmUgcm9sZSBhbmQgZW5zdXJlIGVhY2ggcm9sZSBhcHBsaWVzIHRvIHRoaXMgb3JnYW5pemF0aW9uLlxuICAgKlxuICAgKiBAc2NoZW1hIEFQSUtleSNSb2xlc1xuICAgKi9cbiAgcmVhZG9ubHkgcm9sZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnQXBpS2V5JyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9BcGlLZXkoXG4gIG9iajogQXBpS2V5IHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgRGVzY3JpcHRpb246IG9iai5kZXNjcmlwdGlvbixcbiAgICBSb2xlczogb2JqLnJvbGVzPy5tYXAoKHkpID0+IHkpLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoXG4gICAgKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQgPyByIDogeyAuLi5yLCBbaVswXV06IGlbMV0gfSksXG4gICAge31cbiAgKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBBIENsb3VkRm9ybWF0aW9uIGBNb25nb0RCOjpBdGxhczo6T3JnYW5pemF0aW9uYFxuICpcbiAqIEBjbG91ZGZvcm1hdGlvblJlc291cmNlIE1vbmdvREI6OkF0bGFzOjpPcmdhbml6YXRpb25cbiAqIEBzdGFiaWxpdHkgZXh0ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIENmbk9yZ2FuaXphdGlvbiBleHRlbmRzIGNkay5DZm5SZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZSBuYW1lIGZvciB0aGlzIHJlc291cmNlIGNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDRk5fUkVTT1VSQ0VfVFlQRV9OQU1FID1cbiAgICBcIk1vbmdvREI6OkF0bGFzOjpPcmdhbml6YXRpb25cIjtcblxuICAvKipcbiAgICogUmVzb3VyY2UgcHJvcHMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IENmbk9yZ2FuaXphdGlvblByb3BzO1xuXG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpPcmdhbml6YXRpb24uT3JnSWRgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXR0ck9yZ0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBgTW9uZ29EQjo6QXRsYXM6Ok9yZ2FuaXphdGlvbmAuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIHNjb3BlIGluIHdoaWNoIHRoaXMgcmVzb3VyY2UgaXMgZGVmaW5lZFxuICAgKiBAcGFyYW0gaWQgICAgLSBzY29wZWQgaWQgb2YgdGhlIHJlc291cmNlXG4gICAqIEBwYXJhbSBwcm9wcyAtIHJlc291cmNlIHByb3BlcnRpZXNcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBDZm5Pcmdhbml6YXRpb25Qcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHR5cGU6IENmbk9yZ2FuaXphdGlvbi5DRk5fUkVTT1VSQ0VfVFlQRV9OQU1FLFxuICAgICAgcHJvcGVydGllczogdG9Kc29uX0Nmbk9yZ2FuaXphdGlvblByb3BzKHByb3BzKSEsXG4gICAgfSk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICB0aGlzLmF0dHJPcmdJZCA9IGNkay5Ub2tlbi5hc1N0cmluZyh0aGlzLmdldEF0dChcIk9yZ0lkXCIpKTtcbiAgfVxufVxuIl19