awscdk-resources-mongodbatlas
Version:
MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources
81 lines • 16 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CfnLdapConfiguration = void 0;
exports.toJson_CfnLdapConfigurationProps = toJson_CfnLdapConfigurationProps;
exports.toJson_ApiAtlasNdsUserToDnMappingView = toJson_ApiAtlasNdsUserToDnMappingView;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
// Generated by cdk-import
const cdk = require("aws-cdk-lib");
/**
* Converts an object of type 'CfnLdapConfigurationProps' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnLdapConfigurationProps(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
Profile: obj.profile,
BindUsername: obj.bindUsername,
Status: obj.status,
Hostname: obj.hostname,
AuthenticationEnabled: obj.authenticationEnabled,
AuthorizationEnabled: obj.authorizationEnabled,
CaCertificate: obj.caCertificate,
AuthzQueryTemplate: obj.authzQueryTemplate,
BindPassword: obj.bindPassword,
ProjectId: obj.projectId,
Port: obj.port,
UserToDNMapping: obj.userToDnMapping?.map((y) => toJson_ApiAtlasNdsUserToDnMappingView(y)),
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {});
}
/**
* Converts an object of type 'ApiAtlasNdsUserToDnMappingView' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_ApiAtlasNdsUserToDnMappingView(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
LdapQuery: obj.ldapQuery,
Match: obj.match,
Substitution: obj.substitution,
};
// 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::LDAPConfiguration`
*
* @cloudformationResource MongoDB::Atlas::LDAPConfiguration
* @stability external
*/
class CfnLdapConfiguration extends cdk.CfnResource {
/**
* Create a new `MongoDB::Atlas::LDAPConfiguration`.
*
* @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: CfnLdapConfiguration.CFN_RESOURCE_TYPE_NAME,
properties: toJson_CfnLdapConfigurationProps(props),
});
this.props = props;
}
}
exports.CfnLdapConfiguration = CfnLdapConfiguration;
_a = JSII_RTTI_SYMBOL_1;
CfnLdapConfiguration[_a] = { fqn: "awscdk-resources-mongodbatlas.CfnLdapConfiguration", version: "3.13.1" };
/**
* The CloudFormation resource type name for this resource class.
*/
CfnLdapConfiguration.CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::LDAPConfiguration";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDEtcmVzb3VyY2VzL2xkYXAtY29uZmlndXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBbUdBLDRFQTJCQztBQWlDRCxzRkFnQkM7O0FBL0tELDBCQUEwQjtBQUMxQixtQ0FBbUM7QUE4Rm5DOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLFNBQWdCLGdDQUFnQyxDQUM5QyxHQUEwQztJQUUxQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN0QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUc7UUFDYixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDcEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZO1FBQzlCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtRQUNsQixRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7UUFDdEIscUJBQXFCLEVBQUUsR0FBRyxDQUFDLHFCQUFxQjtRQUNoRCxvQkFBb0IsRUFBRSxHQUFHLENBQUMsb0JBQW9CO1FBQzlDLGFBQWEsRUFBRSxHQUFHLENBQUMsYUFBYTtRQUNoQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsa0JBQWtCO1FBQzFDLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtRQUM5QixTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7UUFDeEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO1FBQ2QsZUFBZSxFQUFFLEdBQUcsQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDOUMscUNBQXFDLENBQUMsQ0FBQyxDQUFDLENBQ3pDO0tBQ0YsQ0FBQztJQUNGLDBCQUEwQjtJQUMxQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDM0QsRUFBRSxDQUNILENBQUM7QUFDSixDQUFDO0FBNkJEOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLFNBQWdCLHFDQUFxQyxDQUNuRCxHQUErQztJQUUvQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN0QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxNQUFNLEdBQUc7UUFDYixTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7UUFDeEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLO1FBQ2hCLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWTtLQUMvQixDQUFDO0lBQ0YsMEJBQTBCO0lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUMzRCxFQUFFLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFDRCx3Q0FBd0M7QUFFeEM7Ozs7O0dBS0c7QUFDSCxNQUFhLG9CQUFxQixTQUFRLEdBQUcsQ0FBQyxXQUFXO0lBWXZEOzs7Ozs7T0FNRztJQUNILFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQWdDO1FBRWhDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsSUFBSSxFQUFFLG9CQUFvQixDQUFDLHNCQUFzQjtZQUNqRCxVQUFVLEVBQUUsZ0NBQWdDLENBQUMsS0FBSyxDQUFFO1NBQ3JELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7O0FBOUJILG9EQStCQzs7O0FBOUJDOztHQUVHO0FBQ29CLDJDQUFzQixHQUMzQyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBieSBjZGstaW1wb3J0XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogUmV0dXJucywgZWRpdHMsIHZlcmlmaWVzLCBhbmQgcmVtb3ZlcyBMREFQIGNvbmZpZ3VyYXRpb25zLlxuICpcbiAqIEBzY2hlbWEgQ2ZuTGRhcENvbmZpZ3VyYXRpb25Qcm9wc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENmbkxkYXBDb25maWd1cmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogUHJvZmlsZSB1c2VkIHRvIHByb3ZpZGUgY3JlZGVudGlhbHMgaW5mb3JtYXRpb24sIChhIHNlY3JldCB3aXRoIHRoZSBjZm4vYXRsYXMvcHJvZmlsZS97UHJvZmlsZX0sIGlzIHJlcXVpcmVkKSwgaWYgbm90IHByb3ZpZGVkIGRlZmF1bHQgaXMgdXNlZFxuICAgKlxuICAgKiBAc2NoZW1hIENmbkxkYXBDb25maWd1cmF0aW9uUHJvcHMjUHJvZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogRnVsbCBEaXN0aW5ndWlzaGVkIE5hbWUgKEROKSBvZiB0aGUgTGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcyBQcm90b2NvbCAoTERBUCkgdXNlciB0aGF0IE1vbmdvREIgQ2xvdWQgdXNlcyB0byBjb25uZWN0IHRvIHRoZSBMREFQIGhvc3QuIExEQVAgZGlzdGluZ3Vpc2hlZCBuYW1lcyBtdXN0IGJlIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gUkZDIDIyNTMuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuTGRhcENvbmZpZ3VyYXRpb25Qcm9wcyNCaW5kVXNlcm5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGJpbmRVc2VybmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIExEQVAgb3ZlciBUTFMvU1NMIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuTGRhcENvbmZpZ3VyYXRpb25Qcm9wcyNTdGF0dXNcbiAgICovXG4gIHJlYWRvbmx5IHN0YXR1cz86IHN0cmluZztcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgbGFiZWwgdGhhdCBpZGVudGlmaWVzIHRoZSBob3N0bmFtZSBvciBJbnRlcm5ldCBQcm90b2NvbCAoSVApIGFkZHJlc3Mgb2YgdGhlIExpZ2h0d2VpZ2h0IERpcmVjdG9yeSBBY2Nlc3MgUHJvdG9jb2wgKExEQVApIGhvc3QuIFRoaXMgaG9zdCBtdXN0IGhhdmUgYWNjZXNzIHRvIHRoZSBpbnRlcm5ldCBvciBoYXZlIGEgVmlydHVhbCBQcml2YXRlIENsb3VkIChWUEMpIHBlZXJpbmcgY29ubmVjdGlvbiB0byB5b3VyIGNsdXN0ZXIuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuTGRhcENvbmZpZ3VyYXRpb25Qcm9wcyNIb3N0bmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgaG9zdG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiBhdXRoZW50aWNhdGUgdXNpbmcgYW4gTGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcyBQcm90b2NvbCAoTERBUCkgaG9zdC5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5MZGFwQ29uZmlndXJhdGlvblByb3BzI0F1dGhlbnRpY2F0aW9uRW5hYmxlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aGVudGljYXRpb25FbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRmxhZyB0aGF0IGluZGljYXRlcyB3aGV0aGVyIHVzZXJzIGNhbiBhdXRob3JpemUgYWNjZXNzIHRvIE1vbmdvREIgQ2xvdWQgcmVzb3VyY2VzIHVzaW5nIGFuIExpZ2h0d2VpZ2h0IERpcmVjdG9yeSBBY2Nlc3MgUHJvdG9jb2wgKExEQVApIGhvc3QuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuTGRhcENvbmZpZ3VyYXRpb25Qcm9wcyNBdXRob3JpemF0aW9uRW5hYmxlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yaXphdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgKENBKSBjZXJ0aWZpY2F0ZSB0aGF0IE1vbmdvREIgQ2xvdWQgdXNlcyB0byB2ZXJpZnkgdGhlIGlkZW50aXR5IG9mIHRoZSBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sIChMREFQKSBob3N0LiBNb25nb0RCIENsb3VkIGFsbG93cyBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMuIFRvIGRlbGV0ZSBhbiBhc3NpZ25lZCB2YWx1ZSwgcGFzcyBhbiBlbXB0eSBzdHJpbmc6IGBcImNhQ2VydGlmaWNhdGVcIjogXCJcImBcbiAgICpcbiAgICogQHNjaGVtYSBDZm5MZGFwQ29uZmlndXJhdGlvblByb3BzI0NhQ2VydGlmaWNhdGVcbiAgICovXG4gIHJlYWRvbmx5IGNhQ2VydGlmaWNhdGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpZ2h0d2VpZ2h0IERpcmVjdG9yeSBBY2Nlc3MgUHJvdG9jb2wgKExEQVApIHF1ZXJ5IHRlbXBsYXRlIHRoYXQgTW9uZ29EQiBDbG91ZCBydW5zIHRvIG9idGFpbiB0aGUgTERBUCBncm91cHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIuIE1vbmdvREIgQ2xvdWQgdXNlcyB0aGlzIHBhcmFtZXRlciBvbmx5IGZvciB1c2VyIGF1dGhvcml6YXRpb24uIFVzZSB0aGUgYHtVU0VSfWAgcGxhY2Vob2xkZXIgaW4gdGhlIFVuaWZvcm0gUmVzb3VyY2UgTG9jYXRvciAoVVJMKSB0byBzdWJzdGl0dXRlIHRoZSBhdXRoZW50aWNhdGVkIHVzZXJuYW1lLiBUaGUgcXVlcnkgcmVsYXRlcyB0byB0aGUgaG9zdCBzcGVjaWZpZWQgd2l0aCB0aGUgaG9zdG5hbWUuIEZvcm1hdCB0aGlzIHF1ZXJ5IGFjY29yZGluZyB0byBbUkZDIDQ1MTVdKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvc2VhcmNoL3JmYzQ1MTUpIGFuZCBbUkZDIDQ1MTZdKGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNDUxNikuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuTGRhcENvbmZpZ3VyYXRpb25Qcm9wcyNBdXRoelF1ZXJ5VGVtcGxhdGVcbiAgICovXG4gIHJlYWRvbmx5IGF1dGh6UXVlcnlUZW1wbGF0ZT86IHN0cmluZztcblxuICAvKipcbiAgICogUGFzc3dvcmQgdGhhdCBNb25nb0RCIENsb3VkIHVzZXMgdG8gYXV0aGVudGljYXRlIHRoZSAqKmJpbmRVc2VybmFtZSoqLlxuICAgKlxuICAgKiBAc2NoZW1hIENmbkxkYXBDb25maWd1cmF0aW9uUHJvcHMjQmluZFBhc3N3b3JkXG4gICAqL1xuICByZWFkb25seSBiaW5kUGFzc3dvcmQ6IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlIDI0LWhleGFkZWNpbWFsIGRpZ2l0IHN0cmluZyB0aGF0IGlkZW50aWZpZXMgeW91ciBwcm9qZWN0LlxuICAgKlxuICAgKiBAc2NoZW1hIENmbkxkYXBDb25maWd1cmF0aW9uUHJvcHMjUHJvamVjdElkXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUG9ydCB0byB3aGljaCB0aGUgTGlnaHR3ZWlnaHQgRGlyZWN0b3J5IEFjY2VzcyBQcm90b2NvbCAoTERBUCkgaG9zdCBsaXN0ZW5zIGZvciBjbGllbnQgY29ubmVjdGlvbnMuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuTGRhcENvbmZpZ3VyYXRpb25Qcm9wcyNQb3J0XG4gICAqL1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFVzZXItdG8tRGlzdGluZ3Vpc2hlZCBOYW1lIChETikgbWFwIHRoYXQgTW9uZ29EQiBDbG91ZCB1c2VzIHRvIHRyYW5zZm9ybSBhIExpZ2h0d2VpZ2h0IERpcmVjdG9yeSBBY2Nlc3MgUHJvdG9jb2wgKExEQVApIHVzZXJuYW1lIGludG8gYW4gTERBUCBETi5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5MZGFwQ29uZmlndXJhdGlvblByb3BzI1VzZXJUb0ROTWFwcGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgdXNlclRvRG5NYXBwaW5nPzogQXBpQXRsYXNOZHNVc2VyVG9Ebk1hcHBpbmdWaWV3W107XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0NmbkxkYXBDb25maWd1cmF0aW9uUHJvcHMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0NmbkxkYXBDb25maWd1cmF0aW9uUHJvcHMoXG4gIG9iajogQ2ZuTGRhcENvbmZpZ3VyYXRpb25Qcm9wcyB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIFByb2ZpbGU6IG9iai5wcm9maWxlLFxuICAgIEJpbmRVc2VybmFtZTogb2JqLmJpbmRVc2VybmFtZSxcbiAgICBTdGF0dXM6IG9iai5zdGF0dXMsXG4gICAgSG9zdG5hbWU6IG9iai5ob3N0bmFtZSxcbiAgICBBdXRoZW50aWNhdGlvbkVuYWJsZWQ6IG9iai5hdXRoZW50aWNhdGlvbkVuYWJsZWQsXG4gICAgQXV0aG9yaXphdGlvbkVuYWJsZWQ6IG9iai5hdXRob3JpemF0aW9uRW5hYmxlZCxcbiAgICBDYUNlcnRpZmljYXRlOiBvYmouY2FDZXJ0aWZpY2F0ZSxcbiAgICBBdXRoelF1ZXJ5VGVtcGxhdGU6IG9iai5hdXRoelF1ZXJ5VGVtcGxhdGUsXG4gICAgQmluZFBhc3N3b3JkOiBvYmouYmluZFBhc3N3b3JkLFxuICAgIFByb2plY3RJZDogb2JqLnByb2plY3RJZCxcbiAgICBQb3J0OiBvYmoucG9ydCxcbiAgICBVc2VyVG9ETk1hcHBpbmc6IG9iai51c2VyVG9Ebk1hcHBpbmc/Lm1hcCgoeSkgPT5cbiAgICAgIHRvSnNvbl9BcGlBdGxhc05kc1VzZXJUb0RuTWFwcGluZ1ZpZXcoeSlcbiAgICApLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoXG4gICAgKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQgPyByIDogeyAuLi5yLCBbaVswXV06IGlbMV0gfSksXG4gICAge31cbiAgKTtcbn1cbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cblxuLyoqXG4gKiBAc2NoZW1hIEFwaUF0bGFzTkRTVXNlclRvRE5NYXBwaW5nVmlld1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFwaUF0bGFzTmRzVXNlclRvRG5NYXBwaW5nVmlldyB7XG4gIC8qKlxuICAgKiBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sIChMREFQKSBxdWVyeSB0ZW1wbGF0ZSB0aGF0IGluc2VydHMgdGhlIExEQVAgbmFtZSB0aGF0IHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hlcyBpbnRvIGFuIExEQVAgcXVlcnkgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyIChVUkkpLiBUaGUgZm9ybWF0dGluZyBmb3IgdGhlIHF1ZXJ5IG11c3QgY29uZm9ybSB0byBbUkZDIDQ1MTVdKGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvcmZjNDUxNSkgYW5kIFtSRkMgNDUxNl0oaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM0NTE2KS5cbiAgICpcbiAgICogQHNjaGVtYSBBcGlBdGxhc05EU1VzZXJUb0ROTWFwcGluZ1ZpZXcjTGRhcFF1ZXJ5XG4gICAqL1xuICByZWFkb25seSBsZGFwUXVlcnk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZ3VsYXIgZXhwcmVzc2lvbiB0aGF0IE1vbmdvREIgQ2xvdWQgdXNlcyB0byBtYXRjaCBhZ2FpbnN0IHRoZSBwcm92aWRlZCBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sIChMREFQKSB1c2VybmFtZS4gRWFjaCBwYXJlbnRoZXNpcy1lbmNsb3NlZCBzZWN0aW9uIHJlcHJlc2VudHMgYSByZWd1bGFyIGV4cHJlc3Npb24gY2FwdHVyZSBncm91cCB0aGF0IHRoZSBzdWJzdGl0dXRpb24gb3IgYGxkYXBRdWVyeWAgdGVtcGxhdGUgdXNlcy5cbiAgICpcbiAgICogQHNjaGVtYSBBcGlBdGxhc05EU1VzZXJUb0ROTWFwcGluZ1ZpZXcjTWF0Y2hcbiAgICovXG4gIHJlYWRvbmx5IG1hdGNoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sIChMREFQKSBEaXN0aW5ndWlzaGVkIE5hbWUgKEROKSB0ZW1wbGF0ZSB0aGF0IGNvbnZlcnRzIHRoZSBMREFQIHVzZXJuYW1lIHRoYXQgbWF0Y2hlcyByZWd1bGFyIGV4cHJlc3Npb24gaW4gdGhlICptYXRjaCogcGFyYW1ldGVyIGludG8gYW4gTERBUCBEaXN0aW5ndWlzaGVkIE5hbWUgKEROKS5cbiAgICpcbiAgICogQHNjaGVtYSBBcGlBdGxhc05EU1VzZXJUb0ROTWFwcGluZ1ZpZXcjU3Vic3RpdHV0aW9uXG4gICAqL1xuICByZWFkb25seSBzdWJzdGl0dXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0FwaUF0bGFzTmRzVXNlclRvRG5NYXBwaW5nVmlldycgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fQXBpQXRsYXNOZHNVc2VyVG9Ebk1hcHBpbmdWaWV3KFxuICBvYmo6IEFwaUF0bGFzTmRzVXNlclRvRG5NYXBwaW5nVmlldyB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIExkYXBRdWVyeTogb2JqLmxkYXBRdWVyeSxcbiAgICBNYXRjaDogb2JqLm1hdGNoLFxuICAgIFN1YnN0aXR1dGlvbjogb2JqLnN1YnN0aXR1dGlvbixcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKFxuICAgIChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkID8gciA6IHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLFxuICAgIHt9XG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQSBDbG91ZEZvcm1hdGlvbiBgTW9uZ29EQjo6QXRsYXM6OkxEQVBDb25maWd1cmF0aW9uYFxuICpcbiAqIEBjbG91ZGZvcm1hdGlvblJlc291cmNlIE1vbmdvREI6OkF0bGFzOjpMREFQQ29uZmlndXJhdGlvblxuICogQHN0YWJpbGl0eSBleHRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgQ2ZuTGRhcENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBjZGsuQ2ZuUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGUgbmFtZSBmb3IgdGhpcyByZXNvdXJjZSBjbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSA9XG4gICAgXCJNb25nb0RCOjpBdGxhczo6TERBUENvbmZpZ3VyYXRpb25cIjtcblxuICAvKipcbiAgICogUmVzb3VyY2UgcHJvcHMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IENmbkxkYXBDb25maWd1cmF0aW9uUHJvcHM7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBgTW9uZ29EQjo6QXRsYXM6OkxEQVBDb25maWd1cmF0aW9uYC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAqIEBwYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IENmbkxkYXBDb25maWd1cmF0aW9uUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0eXBlOiBDZm5MZGFwQ29uZmlndXJhdGlvbi5DRk5fUkVTT1VSQ0VfVFlQRV9OQU1FLFxuICAgICAgcHJvcGVydGllczogdG9Kc29uX0NmbkxkYXBDb25maWd1cmF0aW9uUHJvcHMocHJvcHMpISxcbiAgICB9KTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxufVxuIl19