@cdk-cloudformation/freyraim-spider-cloudfront-module
Version:
Schema for Module Fragment of type FreyrAIM::Spider::CloudFront::MODULE
148 lines • 23.4 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CfnCloudFrontModule = exports.toJson_CfnCloudFrontModulePropsResourcesSpiderCloudFront = exports.toJson_CfnCloudFrontModulePropsResourcesS3BucketPolicy = exports.toJson_CfnCloudFrontModulePropsResourcesS3Bucket = exports.toJson_CfnCloudFrontModulePropsParametersEnvName = exports.toJson_CfnCloudFrontModulePropsResources = exports.toJson_CfnCloudFrontModulePropsParameters = exports.toJson_CfnCloudFrontModuleProps = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
// Generated by cdk-import
const cdk = require("aws-cdk-lib");
/**
* Converts an object of type 'CfnCloudFrontModuleProps' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnCloudFrontModuleProps(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
'Parameters': toJson_CfnCloudFrontModulePropsParameters(obj.parameters),
'Resources': toJson_CfnCloudFrontModulePropsResources(obj.resources),
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}
exports.toJson_CfnCloudFrontModuleProps = toJson_CfnCloudFrontModuleProps;
/**
* Converts an object of type 'CfnCloudFrontModulePropsParameters' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnCloudFrontModulePropsParameters(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
'EnvName': toJson_CfnCloudFrontModulePropsParametersEnvName(obj.envName),
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}
exports.toJson_CfnCloudFrontModulePropsParameters = toJson_CfnCloudFrontModulePropsParameters;
/**
* Converts an object of type 'CfnCloudFrontModulePropsResources' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnCloudFrontModulePropsResources(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
'S3Bucket': toJson_CfnCloudFrontModulePropsResourcesS3Bucket(obj.s3Bucket),
'S3BucketPolicy': toJson_CfnCloudFrontModulePropsResourcesS3BucketPolicy(obj.s3BucketPolicy),
'SpiderCloudFront': toJson_CfnCloudFrontModulePropsResourcesSpiderCloudFront(obj.spiderCloudFront),
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}
exports.toJson_CfnCloudFrontModulePropsResources = toJson_CfnCloudFrontModulePropsResources;
/**
* Converts an object of type 'CfnCloudFrontModulePropsParametersEnvName' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnCloudFrontModulePropsParametersEnvName(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
'Type': obj.type,
'Description': obj.description,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}
exports.toJson_CfnCloudFrontModulePropsParametersEnvName = toJson_CfnCloudFrontModulePropsParametersEnvName;
/**
* Converts an object of type 'CfnCloudFrontModulePropsResourcesS3Bucket' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnCloudFrontModulePropsResourcesS3Bucket(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
'Type': obj.type,
'Properties': obj.properties,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}
exports.toJson_CfnCloudFrontModulePropsResourcesS3Bucket = toJson_CfnCloudFrontModulePropsResourcesS3Bucket;
/**
* Converts an object of type 'CfnCloudFrontModulePropsResourcesS3BucketPolicy' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnCloudFrontModulePropsResourcesS3BucketPolicy(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
'Type': obj.type,
'Properties': obj.properties,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}
exports.toJson_CfnCloudFrontModulePropsResourcesS3BucketPolicy = toJson_CfnCloudFrontModulePropsResourcesS3BucketPolicy;
/**
* Converts an object of type 'CfnCloudFrontModulePropsResourcesSpiderCloudFront' to JSON representation.
*/
/* eslint-disable max-len, quote-props */
function toJson_CfnCloudFrontModulePropsResourcesSpiderCloudFront(obj) {
if (obj === undefined) {
return undefined;
}
const result = {
'Type': obj.type,
'Properties': obj.properties,
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}
exports.toJson_CfnCloudFrontModulePropsResourcesSpiderCloudFront = toJson_CfnCloudFrontModulePropsResourcesSpiderCloudFront;
/* eslint-enable max-len, quote-props */
/**
* A CloudFormation `FreyrAIM::Spider::CloudFront::MODULE`
*
* @cloudformationResource FreyrAIM::Spider::CloudFront::MODULE
* @stability external
* @link http://unknown-url
*/
class CfnCloudFrontModule extends cdk.CfnResource {
/**
* Create a new `FreyrAIM::Spider::CloudFront::MODULE`.
*
* @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: CfnCloudFrontModule.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnCloudFrontModuleProps(props) });
this.props = props;
}
}
exports.CfnCloudFrontModule = CfnCloudFrontModule;
_a = JSII_RTTI_SYMBOL_1;
CfnCloudFrontModule[_a] = { fqn: "@cdk-cloudformation/freyraim-spider-cloudfront-module.CfnCloudFrontModule", version: "1.0.0-alpha.7" };
/**
* The CloudFormation resource type name for this resource class.
*/
CfnCloudFrontModule.CFN_RESOURCE_TYPE_NAME = "FreyrAIM::Spider::CloudFront::MODULE";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwwQkFBMEI7QUFDMUIsbUNBQW1DO0FBcUJuQzs7R0FFRztBQUNILHlDQUF5QztBQUN6QyxTQUFnQiwrQkFBK0IsQ0FBQyxHQUF5QztJQUN2RixJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztLQUFFO0lBQzVDLE1BQU0sTUFBTSxHQUFHO1FBQ2IsWUFBWSxFQUFFLHlDQUF5QyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUM7UUFDdkUsV0FBVyxFQUFFLHdDQUF3QyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUM7S0FDckUsQ0FBQztJQUNGLDBCQUEwQjtJQUMxQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMxRyxDQUFDO0FBUkQsMEVBUUM7QUFnQkQ7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsU0FBZ0IseUNBQXlDLENBQUMsR0FBbUQ7SUFDM0csSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1FBQUUsT0FBTyxTQUFTLENBQUM7S0FBRTtJQUM1QyxNQUFNLE1BQU0sR0FBRztRQUNiLFNBQVMsRUFBRSxnREFBZ0QsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO0tBQ3pFLENBQUM7SUFDRiwwQkFBMEI7SUFDMUIsT0FBTyxNQUFNLENBQUMs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QUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzFHLENBQUM7QUFSRCw0SEFRQztBQUNELHdDQUF3QztBQUd4Qzs7Ozs7O0dBTUc7QUFDSCxNQUFhLG1CQUFvQixTQUFRLEdBQUcsQ0FBQyxXQUFXO0lBWXREOzs7Ozs7T0FNRztJQUNILFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLCtCQUErQixDQUFDLEtBQUssQ0FBRSxFQUFFLENBQUMsQ0FBQztRQUU1SCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVyQixDQUFDOztBQXhCSCxrREF5QkM7OztBQXhCQzs7RUFFRTtBQUNxQiwwQ0FBc0IsR0FBRyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBieSBjZGstaW1wb3J0XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBTY2hlbWEgZm9yIE1vZHVsZSBGcmFnbWVudCBvZiB0eXBlIEZyZXlyQUlNOjpTcGlkZXI6OkNsb3VkRnJvbnQ6Ok1PRFVMRVxuICpcbiAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzI1BhcmFtZXRlcnNcbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlcnM/OiBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNQYXJhbWV0ZXJzO1xuXG4gIC8qKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wcyNSZXNvdXJjZXNcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlcz86IENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlcztcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdDZm5DbG91ZEZyb250TW9kdWxlUHJvcHMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wcyhvYmo6IENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wcyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ1BhcmFtZXRlcnMnOiB0b0pzb25fQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUGFyYW1ldGVycyhvYmoucGFyYW1ldGVycyksXG4gICAgJ1Jlc291cmNlcyc6IHRvSnNvbl9DZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXMob2JqLnJlc291cmNlcyksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQHNjaGVtYSBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNQYXJhbWV0ZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUGFyYW1ldGVycyB7XG4gIC8qKlxuICAgKiBUaGUgZW52aXJvbm1lbnQgbmFtZVxuICAgKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1BhcmFtZXRlcnMjRW52TmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgZW52TmFtZT86IENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1BhcmFtZXRlcnNFbnZOYW1lO1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1BhcmFtZXRlcnMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1BhcmFtZXRlcnMob2JqOiBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNQYXJhbWV0ZXJzIHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnRW52TmFtZSc6IHRvSnNvbl9DZm5DbG91ZEZyb250TW9kdWxlUHJvcHNQYXJhbWV0ZXJzRW52TmFtZShvYmouZW52TmFtZSksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQHNjaGVtYSBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXMge1xuICAvKipcbiAgICogQHNjaGVtYSBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXMjUzNCdWNrZXRcbiAgICovXG4gIHJlYWRvbmx5IHMzQnVja2V0PzogQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzUzNCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzI1MzQnVja2V0UG9saWN5XG4gICAqL1xuICByZWFkb25seSBzM0J1Y2tldFBvbGljeT86IENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlc1MzQnVja2V0UG9saWN5O1xuXG4gIC8qKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlcyNTcGlkZXJDbG91ZEZyb250XG4gICAqL1xuICByZWFkb25seSBzcGlkZXJDbG91ZEZyb250PzogQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzU3BpZGVyQ2xvdWRGcm9udDtcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXMnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlcyhvYmo6IENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlcyB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ1MzQnVja2V0JzogdG9Kc29uX0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlc1MzQnVja2V0KG9iai5zM0J1Y2tldCksXG4gICAgJ1MzQnVja2V0UG9saWN5JzogdG9Kc29uX0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlc1MzQnVja2V0UG9saWN5KG9iai5zM0J1Y2tldFBvbGljeSksXG4gICAgJ1NwaWRlckNsb3VkRnJvbnQnOiB0b0pzb25fQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzU3BpZGVyQ2xvdWRGcm9udChvYmouc3BpZGVyQ2xvdWRGcm9udCksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogVGhlIGVudmlyb25tZW50IG5hbWVcbiAqXG4gKiBAc2NoZW1hIENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1BhcmFtZXRlcnNFbnZOYW1lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUGFyYW1ldGVyc0Vudk5hbWUge1xuICAvKipcbiAgICogQHNjaGVtYSBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNQYXJhbWV0ZXJzRW52TmFtZSNUeXBlXG4gICAqL1xuICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUGFyYW1ldGVyc0Vudk5hbWUjRGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3Qgb2YgdHlwZSAnQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUGFyYW1ldGVyc0Vudk5hbWUnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1BhcmFtZXRlcnNFbnZOYW1lKG9iajogQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUGFyYW1ldGVyc0Vudk5hbWUgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkIHtcbiAgaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgICdUeXBlJzogb2JqLnR5cGUsXG4gICAgJ0Rlc2NyaXB0aW9uJzogb2JqLmRlc2NyaXB0aW9uLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzUzNCdWNrZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNTM0J1Y2tldCB7XG4gIC8qKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlc1MzQnVja2V0I1R5cGVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzUzNCdWNrZXQjUHJvcGVydGllc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IGFueTtcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNTM0J1Y2tldCcgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzUzNCdWNrZXQob2JqOiBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNTM0J1Y2tldCB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ1R5cGUnOiBvYmoudHlwZSxcbiAgICAnUHJvcGVydGllcyc6IG9iai5wcm9wZXJ0aWVzLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzUzNCdWNrZXRQb2xpY3lcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNTM0J1Y2tldFBvbGljeSB7XG4gIC8qKlxuICAgKiBAc2NoZW1hIENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlc1MzQnVja2V0UG9saWN5I1R5cGVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzUzNCdWNrZXRQb2xpY3kjUHJvcGVydGllc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IGFueTtcblxufVxuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9iamVjdCBvZiB0eXBlICdDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNTM0J1Y2tldFBvbGljeScgdG8gSlNPTiByZXByZXNlbnRhdGlvbi5cbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiwgcXVvdGUtcHJvcHMgKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb25fQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzUzNCdWNrZXRQb2xpY3kob2JqOiBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNTM0J1Y2tldFBvbGljeSB8IHVuZGVmaW5lZCk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQge1xuICBpZiAob2JqID09PSB1bmRlZmluZWQpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgJ1R5cGUnOiBvYmoudHlwZSxcbiAgICAnUHJvcGVydGllcyc6IG9iai5wcm9wZXJ0aWVzLFxuICB9O1xuICAvLyBmaWx0ZXIgdW5kZWZpbmVkIHZhbHVlc1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMocmVzdWx0KS5yZWR1Y2UoKHIsIGkpID0+IChpWzFdID09PSB1bmRlZmluZWQpID8gciA6ICh7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSwge30pO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzU3BpZGVyQ2xvdWRGcm9udFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlc1NwaWRlckNsb3VkRnJvbnQge1xuICAvKipcbiAgICogQHNjaGVtYSBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNTcGlkZXJDbG91ZEZyb250I1R5cGVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBzY2hlbWEgQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzUmVzb3VyY2VzU3BpZGVyQ2xvdWRGcm9udCNQcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBwcm9wZXJ0aWVzPzogYW55O1xuXG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlc1NwaWRlckNsb3VkRnJvbnQnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wc1Jlc291cmNlc1NwaWRlckNsb3VkRnJvbnQob2JqOiBDZm5DbG91ZEZyb250TW9kdWxlUHJvcHNSZXNvdXJjZXNTcGlkZXJDbG91ZEZyb250IHwgdW5kZWZpbmVkKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAnVHlwZSc6IG9iai50eXBlLFxuICAgICdQcm9wZXJ0aWVzJzogb2JqLnByb3BlcnRpZXMsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZSgociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCkgPyByIDogKHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLCB7fSk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cblxuLyoqXG4gKiBBIENsb3VkRm9ybWF0aW9uIGBGcmV5ckFJTTo6U3BpZGVyOjpDbG91ZEZyb250OjpNT0RVTEVgXG4gKlxuICogQGNsb3VkZm9ybWF0aW9uUmVzb3VyY2UgRnJleXJBSU06OlNwaWRlcjo6Q2xvdWRGcm9udDo6TU9EVUxFXG4gKiBAc3RhYmlsaXR5IGV4dGVybmFsXG4gKiBAbGluayBodHRwOi8vdW5rbm93bi11cmxcbiAqL1xuZXhwb3J0IGNsYXNzIENmbkNsb3VkRnJvbnRNb2R1bGUgZXh0ZW5kcyBjZGsuQ2ZuUmVzb3VyY2Uge1xuICAvKipcbiAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgdHlwZSBuYW1lIGZvciB0aGlzIHJlc291cmNlIGNsYXNzLlxuICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENGTl9SRVNPVVJDRV9UWVBFX05BTUUgPSBcIkZyZXlyQUlNOjpTcGlkZXI6OkNsb3VkRnJvbnQ6Ok1PRFVMRVwiO1xuXG4gIC8qKlxuICAgKiBSZXNvdXJjZSBwcm9wcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzO1xuXG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBgRnJleXJBSU06OlNwaWRlcjo6Q2xvdWRGcm9udDo6TU9EVUxFYC5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gc2NvcGUgaW4gd2hpY2ggdGhpcyByZXNvdXJjZSBpcyBkZWZpbmVkXG4gICAqIEBwYXJhbSBpZCAgICAtIHNjb3BlZCBpZCBvZiB0aGUgcmVzb3VyY2VcbiAgICogQHBhcmFtIHByb3BzIC0gcmVzb3VyY2UgcHJvcGVydGllc1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2ZuQ2xvdWRGcm9udE1vZHVsZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7IHR5cGU6IENmbkNsb3VkRnJvbnRNb2R1bGUuQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSwgcHJvcGVydGllczogdG9Kc29uX0NmbkNsb3VkRnJvbnRNb2R1bGVQcm9wcyhwcm9wcykhIH0pO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gIH1cbn0iXX0=