awscdk-resources-mongodbatlas
Version:
MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources
94 lines • 15 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CfnResourcePolicy = void 0;
exports.toJson_CfnResourcePolicyProps = toJson_CfnResourcePolicyProps;
exports.toJson_ApiAtlasUserMetadata = toJson_ApiAtlasUserMetadata;
exports.toJson_ApiAtlasPolicy = toJson_ApiAtlasPolicy;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
// Generated by cdk-import
const cdk = require("aws-cdk-lib");
/**
* Converts an object of type 'CfnResourcePolicyProps' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnResourcePolicyProps(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
CreatedByUser: toJson_ApiAtlasUserMetadata(obj.createdByUser),
LastUpdatedByUser: toJson_ApiAtlasUserMetadata(obj.lastUpdatedByUser),
Name: obj.name,
OrgId: obj.orgId,
Policies: obj.policies?.map((y) => toJson_ApiAtlasPolicy(y)),
Profile: obj.profile,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'ApiAtlasUserMetadata' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_ApiAtlasUserMetadata(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
Id: obj.id,
Name: obj.name,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'ApiAtlasPolicy' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_ApiAtlasPolicy(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
Body: obj.body,
Id: obj.id,
};
// 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::ResourcePolicy`
*
* @cloudformationResource MongoDB::Atlas::ResourcePolicy
* @stability external
*/
class CfnResourcePolicy extends cdk.CfnResource {
/**
* Create a new `MongoDB::Atlas::ResourcePolicy`.
*
* @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: CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME,
properties: toJson_CfnResourcePolicyProps(props),
});
this.props = props;
this.attrCreatedDate = cdk.Token.asString(this.getAtt("CreatedDate"));
this.attrId = cdk.Token.asString(this.getAtt("Id"));
this.attrLastUpdatedDate = cdk.Token.asString(this.getAtt("LastUpdatedDate"));
this.attrVersion = cdk.Token.asString(this.getAtt("Version"));
}
}
exports.CfnResourcePolicy = CfnResourcePolicy;
_a = JSII_RTTI_SYMBOL_1;
CfnResourcePolicy[_a] = { fqn: "awscdk-resources-mongodbatlas.CfnResourcePolicy", version: "3.10.0" };
/**
* The CloudFormation resource type name for this resource class.
*/
CfnResourcePolicy.CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::ResourcePolicy";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDEtcmVzb3VyY2VzL3Jlc291cmNlLXBvbGljeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBeURBLHNFQW1CQztBQTBCRCxrRUFlQztBQTBCRCxzREFlQzs7QUE5SkQsMEJBQTBCO0FBQzFCLG1DQUFtQztBQW9EbkM7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0IsNkJBQTZCLENBQzNDLEdBQXVDO0lBRXZDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRztRQUNiLGFBQWEsRUFBRSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO1FBQzdELGlCQUFpQixFQUFFLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQztRQUNyRSxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7UUFDZCxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUs7UUFDaEIsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RCxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87S0FDckIsQ0FBQztJQUNGLDBCQUEwQjtJQUMxQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFF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Ly8gR2VuZXJhdGVkIGJ5IGNkay1pbXBvcnRcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuLyoqXG4gKiBBdGxhcyBSZXNvdXJjZSBQb2xpY2llc1xuICpcbiAqIEBzY2hlbWEgQ2ZuUmVzb3VyY2VQb2xpY3lQcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENmblJlc291cmNlUG9saWN5UHJvcHMge1xuICAvKipcbiAgICogVGhlIHVzZXIgdGhhdCBsYXN0IHVwZGF0ZWQgdGhlIGF0bGFzIHJlc291cmNlIHBvbGljeS5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5SZXNvdXJjZVBvbGljeVByb3BzI0NyZWF0ZWRCeVVzZXJcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZWRCeVVzZXI/OiBBcGlBdGxhc1VzZXJNZXRhZGF0YTtcblxuICAvKipcbiAgICogVGhlIHVzZXIgdGhhdCBsYXN0IHVwZGF0ZWQgdGhlIGF0bGFzIHJlc291cmNlIHBvbGljeS5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5SZXNvdXJjZVBvbGljeVByb3BzI0xhc3RVcGRhdGVkQnlVc2VyXG4gICAqL1xuICByZWFkb25seSBsYXN0VXBkYXRlZEJ5VXNlcj86IEFwaUF0bGFzVXNlck1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSBsYWJlbCB0aGF0IGRlc2NyaWJlcyB0aGUgYXRsYXMgcmVzb3VyY2UgcG9saWN5LlxuICAgKlxuICAgKiBAc2NoZW1hIENmblJlc291cmNlUG9saWN5UHJvcHMjTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgMjQtaGV4YWRlY2ltYWwgZGlnaXQgc3RyaW5nIHRoYXQgaWRlbnRpZmllcyB0aGUgb3JnYW5pemF0aW9uIHRoYXQgY29udGFpbnMgeW91ciBwcm9qZWN0cy4gVXNlIHRoZSBbL29yZ3NdKCN0YWcvT3JnYW5pemF0aW9ucy9vcGVyYXRpb24vbGlzdE9yZ2FuaXphdGlvbnMpIGVuZHBvaW50IHRvIHJldHJpZXZlIGFsbCBvcmdhbml6YXRpb25zIHRvIHdoaWNoIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIgaGFzIGFjY2Vzcy5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5SZXNvdXJjZVBvbGljeVByb3BzI09yZ0lkXG4gICAqL1xuICByZWFkb25seSBvcmdJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHBvbGljaWVzIHRoYXQgbWFrZSB1cCB0aGUgYXRsYXMgcmVzb3VyY2UgcG9saWN5LlxuICAgKlxuICAgKiBAc2NoZW1hIENmblJlc291cmNlUG9saWN5UHJvcHMjUG9saWNpZXNcbiAgICovXG4gIHJlYWRvbmx5IHBvbGljaWVzOiBBcGlBdGxhc1BvbGljeVtdO1xuXG4gIC8qKlxuICAgKiBQcm9maWxlIHVzZWQgdG8gcHJvdmlkZSBjcmVkZW50aWFscyBpbmZvcm1hdGlvbiwgKGEgc2VjcmV0IHdpdGggdGhlIGNmbi9hdGxhcy9wcm9maWxlL3tQcm9maWxlfSwgaXMgcmVxdWlyZWQpLCBpZiBub3QgcHJvdmlkZWQgZGVmYXVsdCBpcyB1c2VkXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuUmVzb3VyY2VQb2xpY3lQcm9wcyNQcm9maWxlXG4gICAqL1xuICByZWFkb25seSBwcm9maWxlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdDZm5SZXNvdXJjZVBvbGljeVByb3BzJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9DZm5SZXNvdXJjZVBvbGljeVByb3BzKFxuICBvYmo6IENmblJlc291cmNlUG9saWN5UHJvcHMgfCB1bmRlZmluZWRcbik6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBDcmVhdGVkQnlVc2VyOiB0b0pzb25fQXBpQXRsYXNVc2VyTWV0YWRhdGEob2JqLmNyZWF0ZWRCeVVzZXIpLFxuICAgIExhc3RVcGRhdGVkQnlVc2VyOiB0b0pzb25fQXBpQXRsYXNVc2VyTWV0YWRhdGEob2JqLmxhc3RVcGRhdGVkQnlVc2VyKSxcbiAgICBOYW1lOiBvYmoubmFtZSxcbiAgICBPcmdJZDogb2JqLm9yZ0lkLFxuICAgIFBvbGljaWVzOiBvYmoucG9saWNpZXM/Lm1hcCgoeSkgPT4gdG9Kc29uX0FwaUF0bGFzUG9saWN5KHkpKSxcbiAgICBQcm9maWxlOiBvYmoucHJvZmlsZSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKFxuICAgIChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkID8gciA6IHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLFxuICAgIHt9XG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQHNjaGVtYSBBcGlBdGxhc1VzZXJNZXRhZGF0YVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUF0bGFzVXNlck1ldGFkYXRhIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSAyNC1oZXhhZGVjaW1hbCBjaGFyYWN0ZXIgc3RyaW5nIHRoYXQgaWRlbnRpZmllcyBhIHVzZXIuXG4gICAqXG4gICAqIEBzY2hlbWEgQXBpQXRsYXNVc2VyTWV0YWRhdGEjSWRcbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBIdW1hbi1yZWFkYWJsZSBsYWJlbCB0aGF0IGRlc2NyaWJlcyBhIHVzZXIuXG4gICAqXG4gICAqIEBzY2hlbWEgQXBpQXRsYXNVc2VyTWV0YWRhdGEjTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnQXBpQXRsYXNVc2VyTWV0YWRhdGEnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0FwaUF0bGFzVXNlck1ldGFkYXRhKFxuICBvYmo6IEFwaUF0bGFzVXNlck1ldGFkYXRhIHwgdW5kZWZpbmVkXG4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgSWQ6IG9iai5pZCxcbiAgICBOYW1lOiBvYmoubmFtZSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKFxuICAgIChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkID8gciA6IHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLFxuICAgIHt9XG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQHNjaGVtYSBBcGlBdGxhc1BvbGljeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUF0bGFzUG9saWN5IHtcbiAgLyoqXG4gICAqIEEgc3RyaW5nIHRoYXQgZGVmaW5lcyB0aGUgcGVybWlzc2lvbnMgZm9yIHRoZSBwb2xpY3kuIFRoZSBzeW50YXggdXNlZCBpcyB0aGUgQ2VkYXIgUG9saWN5IGxhbmd1YWdlLlxuICAgKlxuICAgKiBAc2NoZW1hIEFwaUF0bGFzUG9saWN5I0JvZHlcbiAgICovXG4gIHJlYWRvbmx5IGJvZHk6IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlIDI0LWhleGFkZWNpbWFsIGNoYXJhY3RlciBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIHRoZSBwb2xpY3kuXG4gICAqXG4gICAqIEBzY2hlbWEgQXBpQXRsYXNQb2xpY3kjSWRcbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdBcGlBdGxhc1BvbGljeScgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fQXBpQXRsYXNQb2xpY3koXG4gIG9iajogQXBpQXRsYXNQb2xpY3kgfCB1bmRlZmluZWRcbik6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBCb2R5OiBvYmouYm9keSxcbiAgICBJZDogb2JqLmlkLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoXG4gICAgKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQgPyByIDogeyAuLi5yLCBbaVswXV06IGlbMV0gfSksXG4gICAge31cbiAgKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBBIENsb3VkRm9ybWF0aW9uIGBNb25nb0RCOjpBdGxhczo6UmVzb3VyY2VQb2xpY3lgXG4gKlxuICogQGNsb3VkZm9ybWF0aW9uUmVzb3VyY2UgTW9uZ29EQjo6QXRsYXM6OlJlc291cmNlUG9saWN5XG4gKiBAc3RhYmlsaXR5IGV4dGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBDZm5SZXNvdXJjZVBvbGljeSBleHRlbmRzIGNkay5DZm5SZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZSBuYW1lIGZvciB0aGlzIHJlc291cmNlIGNsYXNzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDRk5fUkVTT1VSQ0VfVFlQRV9OQU1FID1cbiAgICBcIk1vbmdvREI6OkF0bGFzOjpSZXNvdXJjZVBvbGljeVwiO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBwcm9wcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogQ2ZuUmVzb3VyY2VQb2xpY3lQcm9wcztcblxuICAvKipcbiAgICogQXR0cmlidXRlIGBNb25nb0RCOjpBdGxhczo6UmVzb3VyY2VQb2xpY3kuQ3JlYXRlZERhdGVgXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXR0ckNyZWF0ZWREYXRlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpSZXNvdXJjZVBvbGljeS5JZGBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRySWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEF0dHJpYnV0ZSBgTW9uZ29EQjo6QXRsYXM6OlJlc291cmNlUG9saWN5Lkxhc3RVcGRhdGVkRGF0ZWBcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhdHRyTGFzdFVwZGF0ZWREYXRlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBdHRyaWJ1dGUgYE1vbmdvREI6OkF0bGFzOjpSZXNvdXJjZVBvbGljeS5WZXJzaW9uYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBgTW9uZ29EQjo6QXRsYXM6OlJlc291cmNlUG9saWN5YC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAqIEBwYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IENmblJlc291cmNlUG9saWN5UHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0eXBlOiBDZm5SZXNvdXJjZVBvbGljeS5DRk5fUkVTT1VSQ0VfVFlQRV9OQU1FLFxuICAgICAgcHJvcGVydGllczogdG9Kc29uX0NmblJlc291cmNlUG9saWN5UHJvcHMocHJvcHMpISxcbiAgICB9KTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIHRoaXMuYXR0ckNyZWF0ZWREYXRlID0gY2RrLlRva2VuLmFzU3RyaW5nKHRoaXMuZ2V0QXR0KFwiQ3JlYXRlZERhdGVcIikpO1xuICAgIHRoaXMuYXR0cklkID0gY2RrLlRva2VuLmFzU3RyaW5nKHRoaXMuZ2V0QXR0KFwiSWRcIikpO1xuICAgIHRoaXMuYXR0ckxhc3RVcGRhdGVkRGF0ZSA9IGNkay5Ub2tlbi5hc1N0cmluZyhcbiAgICAgIHRoaXMuZ2V0QXR0KFwiTGFzdFVwZGF0ZWREYXRlXCIpXG4gICAgKTtcbiAgICB0aGlzLmF0dHJWZXJzaW9uID0gY2RrLlRva2VuLmFzU3RyaW5nKHRoaXMuZ2V0QXR0KFwiVmVyc2lvblwiKSk7XG4gIH1cbn1cbiJdfQ==