truemark-cdk-lib 0.0.35 → 0.0.36-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,8 +38,9 @@ class CdkPipeline extends constructs_1.Construct {
38
38
  input,
39
39
  commands: (_d = props.commands) !== null && _d !== void 0 ? _d : [
40
40
  'mkdir /tmp/npm-cache',
41
+ 'npm config set fund false',
41
42
  'npm config set cache /tmp/npm-cache --location=global',
42
- 'npm ci --prefer-offline --no-fund',
43
+ 'npm ci --prefer-offline',
43
44
  'npm run build',
44
45
  'npm run test',
45
46
  `npx cdk synth ${stackName}`
@@ -81,4 +82,4 @@ class CdkPipeline extends constructs_1.Construct {
81
82
  }
82
83
  }
83
84
  exports.CdkPipeline = CdkPipeline;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXBpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxtRUFBc0Q7QUFDdEQsaURBQXdDO0FBQ3hDLHVEQUFpRDtBQUNqRCxxREFRK0I7QUFDL0IsNkRBQW1IO0FBQ25ILDZFQUFzRTtBQUN0RSw2Q0FBeUM7QUE2RnpDOztHQUVHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFLeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1Qjs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGFBQWEsR0FBRyxhQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFFLE1BQU0sY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDaEUsYUFBYTtZQUNiLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDLENBQUM7UUFFSCxNQUFNLGtCQUFrQixHQUFHLElBQUksMkJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3hELGNBQWM7U0FDZixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyw4QkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3BFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNuQyxDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHdCQUFZLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNyRCxZQUFZLEVBQUUsa0JBQWtCO1lBQ2hDLFlBQVksUUFBRSxLQUFLLENBQUMsWUFBWSxtQ0FBRSxJQUFJO1lBQ3RDLHFCQUFxQixRQUFFLEtBQUssQ0FBQyxxQkFBcUIsbUNBQUUsSUFBSTtZQUN4RCw0QkFBNEIsUUFBRSxLQUFLLENBQUMsNEJBQTRCLG1DQUFFLElBQUk7WUFDdEUsS0FBSyxFQUFFLElBQUkscUJBQVMsQ0FBQyxPQUFPLEVBQUU7Z0JBQzVCLHNCQUFzQixFQUFFLFNBQVM7Z0JBQ2pDLEtBQUs7Z0JBQ0wsUUFBUSxRQUFFLEtBQUssQ0FBQyxRQUFRLG1DQUFFO29CQUN4QixzQkFBc0I7b0JBQ3RCLHVEQUF1RDtvQkFDdkQsbUNBQW1DO29CQUNuQyxlQUFlO29CQUNmLGNBQWM7b0JBQ2QsaUJBQWlCLFNBQVMsRUFBRTtpQkFDN0I7Z0JBQ0QsZ0JBQWdCLFFBQUUsS0FBSyxDQUFDLGdCQUFnQixtQ0FBRSxFQUFFO2FBQzdDLENBQUM7WUFDRixzQkFBc0IsRUFBRTtnQkFDdEIsZ0JBQWdCLEVBQUUseUJBQVMsQ0FBQyxVQUFVLENBQUM7b0JBQ3JDLEtBQUssRUFBRTt3QkFDTCxLQUFLLEVBQUUsZ0JBQWdCO3FCQUN4QjtvQkFDRCxNQUFNLEVBQUU7d0JBQ04sT0FBTyxFQUFFOzRCQUNQLFFBQVEsRUFBRTtnQ0FDUixNQUFNO2dDQUNOLDJDQUEyQyxDQUFDLDBCQUEwQjs2QkFDdkU7eUJBQ0Y7cUJBQ0Y7aUJBQ0YsQ0FBQztnQkFDRixnQkFBZ0IsRUFBRTtvQkFDaEIsV0FBVyxRQUFFLEtBQUssQ0FBQyxXQUFXLG1DQUFFLDJCQUFXLENBQUMsS0FBSztvQkFDakQsVUFBVSxRQUFFLEtBQUssQ0FBQyxVQUFVLG1DQUFFLCtCQUFlLENBQUMsZ0JBQWdCO2lCQUMvRDthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxLQUFLLENBQUMsNEJBQTRCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUkscURBQXdCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtnQkFDakYsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLDRCQUE0QjthQUNqRSxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWSxFQUFFLE9BQXNCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVSxFQUFFLE9BQXFCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQTlFRCxrQ0E4RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7UGlwZWxpbmV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge0tleX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIjtcbmltcG9ydCB7QXJ0aWZhY3RCdWNrZXR9IGZyb20gXCIuL2FydGlmYWN0LWJ1Y2tldFwiO1xuaW1wb3J0IHtcbiAgQWRkU3RhZ2VPcHRzLFxuICBDb2RlUGlwZWxpbmUsXG4gIENvZGVQaXBlbGluZVNvdXJjZSxcbiAgU2hlbGxTdGVwLFxuICBTdGFnZURlcGxveW1lbnQsXG4gIFdhdmUsXG4gIFdhdmVPcHRpb25zXG59IGZyb20gXCJhd3MtY2RrLWxpYi9waXBlbGluZXNcIjtcbmltcG9ydCB7QnVpbGRTcGVjLCBDb21wdXRlVHlwZSwgSUJ1aWxkSW1hZ2UsIExpbnV4QXJtQnVpbGRJbWFnZSwgTGludXhCdWlsZEltYWdlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiO1xuaW1wb3J0IHtQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGV9IGZyb20gXCIuL3BpcGVsaW5lLW5vdGlmaWNhdGlvbi1ydWxlXCI7XG5pbXBvcnQge1N0YWNrLCBTdGFnZX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge0lGaWxlU2V0UHJvZHVjZXJ9IGZyb20gXCJhd3MtY2RrLWxpYi9waXBlbGluZXNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBDZGtQaXBlbGluZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENka1BpcGVsaW5lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBDREsgd2lsbCBjcmVhdGUgS01TIGtleXMgZm9yIGNyb3NzIGFjY291bnQgZGVwbG95bWVudHMuIFRoaXNcbiAgICogY2FuIGJlIGNvc3RseSBpZiB5b3UgaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBwaXBlbGluZXMuIFRoaXMgcHJvcGVydHlcbiAgICogYWxsb3dzIGEgY29tbW9uIGtleSB0byBiZSBzaGFyZWQgYWNyb3NzIHBpcGVsaW5lcy5cbiAgICovXG4gIHJlYWRvbmx5IGtleUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGFjY291bnQgSURzIHRoaXMgcGlwZWxpbmUgd2lsbCBkZXBsb3kgaW50by5cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQXJuIG9mIHRoZSBDb2RlU3RhciBjb25uZWN0aW9uIHVzZWQgdG8gYWNjZXNzIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbkFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwbzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCcmFuY2ggdG8gdXNlIGluc2lkZSB0aGUgc291cmNlIGNvZGUgcmVwb3NpdG9yeS5cbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgb3IgZGlzYWJsZSBzZWxmLW11dGF0aW9uLiBVc2VmdWwgZm9yIGNkayBwaXBlbGluZSBkZXZlbG9wbWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZk11dGF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGRvY2tlciBmb3IgdGhlICdzeW50aCcgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyRW5hYmxlZEZvclN5bnRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxlIGRvY2tlciBmb3IgdGhlIHNlbGYtbXV0YXRlIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckVuYWJsZWRGb3JTZWxmTXV0YXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIGNvbXB1dGUgdG8gdXNlIGZvciB0aGlzIGJ1aWxkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBDb21wdXRlVHlwZS5TTUFMTFxuICAgKi9cbiAgcmVhZG9ubHkgY29tcHV0ZVR5cGU/OiBDb21wdXRlVHlwZTtcblxuICAvKipcbiAgICogVGhlIGltYWdlIHRvIHVzZSBmb3IgYnVpbGRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBMaW51eEJ1aWxkSW1hZ2UuQU1BWk9OX0xJTlVYXzJfM1xuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZT86IElCdWlsZEltYWdlO1xuXG4gIC8qKlxuICAgKiBUaGUgU2xhY2sgY2hhbm5lbCBjb25maWd1cmF0aW9uIHRvIHVzZSBmb3Igbm90aWZpY2F0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIG5vdGlmaWNhdGlvbiBldmVudHMgdG8gcmVjZWl2ZS4gQnkgZGVmYXVsdCwgdGhpcyBpcyBhbGwgbm90aWZpY2F0aW9ucy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZHRjb25zb2xlL2xhdGVzdC91c2VyZ3VpZGUvY29uY2VwdHMuaHRtbCNldmVudHMtcmVmLXBpcGVsaW5lXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25FdmVudHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBGaWxlU2V0cyB0byBwdXQgaW4gb3RoZXIgZGlyZWN0b3JpZXNcbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxJbnB1dHM/OiBSZWNvcmQ8c3RyaW5nLCBJRmlsZVNldFByb2R1Y2VyPjtcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIGRlZmF1bHQgY29tbWFuZHMuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFuIGFic3RyYWN0aW9uIHRvIGVhc2UgQ0RLIHBpcGVsaW5lIGNyZWF0aW9uIGFuZCBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgQ2RrUGlwZWxpbmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIHJlYWRvbmx5IHBpcGVsaW5lOiBDb2RlUGlwZWxpbmU7XG4gIHJlYWRvbmx5IHBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZTogUGlwZWxpbmVOb3RpZmljYXRpb25SdWxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDZGtQaXBlbGluZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGVuY3J5cHRpb25LZXkgPSBLZXkuZnJvbUtleUFybih0aGlzLCAnRW5jcnlwdGlvbktleScsIHByb3BzLmtleUFybik7XG5cbiAgICBjb25zdCBhcnRpZmFjdEJ1Y2tldCA9IG5ldyBBcnRpZmFjdEJ1Y2tldCh0aGlzLCAnQXJ0aWZhY3RCdWNrZXQnLCB7XG4gICAgICBlbmNyeXB0aW9uS2V5LFxuICAgICAgYWNjb3VudElkczogcHJvcHMuYWNjb3VudElkc1xuICAgIH0pO1xuXG4gICAgY29uc3QgdW5kZXJseWluZ1BpcGVsaW5lID0gbmV3IFBpcGVsaW5lKHRoaXMsICdQaXBlbGluZScsIHtcbiAgICAgIGFydGlmYWN0QnVja2V0XG4gICAgfSk7XG5cbiAgICBjb25zdCBpbnB1dCA9IENvZGVQaXBlbGluZVNvdXJjZS5jb25uZWN0aW9uKHByb3BzLnJlcG8sIHByb3BzLmJyYW5jaCwge1xuICAgICAgY29ubmVjdGlvbkFybjogcHJvcHMuY29ubmVjdGlvbkFyblxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhY2tOYW1lID0gU3RhY2sub2YodGhpcykuc3RhY2tOYW1lO1xuXG4gICAgdGhpcy5waXBlbGluZSA9IG5ldyBDb2RlUGlwZWxpbmUodGhpcywgJ0NvZGVQaXBlbGluZScsIHtcbiAgICAgIGNvZGVQaXBlbGluZTogdW5kZXJseWluZ1BpcGVsaW5lLFxuICAgICAgc2VsZk11dGF0aW9uOiBwcm9wcy5zZWxmTXV0YXRpb24/P3RydWUsXG4gICAgICBkb2NrZXJFbmFibGVkRm9yU3ludGg6IHByb3BzLmRvY2tlckVuYWJsZWRGb3JTeW50aD8/dHJ1ZSxcbiAgICAgIGRvY2tlckVuYWJsZWRGb3JTZWxmTXV0YXRpb246IHByb3BzLmRvY2tlckVuYWJsZWRGb3JTZWxmTXV0YXRpb24/P3RydWUsXG4gICAgICBzeW50aDogbmV3IFNoZWxsU3RlcCgnU3ludGgnLCB7XG4gICAgICAgIHByaW1hcnlPdXRwdXREaXJlY3Rvcnk6ICdjZGsub3V0JyxcbiAgICAgICAgaW5wdXQsXG4gICAgICAgIGNvbW1hbmRzOiBwcm9wcy5jb21tYW5kcz8/W1xuICAgICAgICAgICdta2RpciAvdG1wL25wbS1jYWNoZScsXG4gICAgICAgICAgJ25wbSBjb25maWcgc2V0IGNhY2hlIC90bXAvbnBtLWNhY2hlIC0tbG9jYXRpb249Z2xvYmFsJyxcbiAgICAgICAgICAnbnBtIGNpIC0tcHJlZmVyLW9mZmxpbmUgLS1uby1mdW5kJyxcbiAgICAgICAgICAnbnBtIHJ1biBidWlsZCcsXG4gICAgICAgICAgJ25wbSBydW4gdGVzdCcsXG4gICAgICAgICAgYG5weCBjZGsgc3ludGggJHtzdGFja05hbWV9YFxuICAgICAgICBdLFxuICAgICAgICBhZGRpdGlvbmFsSW5wdXRzOiBwcm9wcy5hZGRpdGlvbmFsSW5wdXRzPz97fVxuICAgICAgfSksXG4gICAgICBzeW50aENvZGVCdWlsZERlZmF1bHRzOiB7XG4gICAgICAgIHBhcnRpYWxCdWlsZFNwZWM6IEJ1aWxkU3BlYy5mcm9tT2JqZWN0KHtcbiAgICAgICAgICBjYWNoZToge1xuICAgICAgICAgICAgcGF0aHM6IFwiL3RtcC9ucG0tY2FjaGVcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICBpbnN0YWxsOiB7XG4gICAgICAgICAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICAgICAgICAgXCJuIDE2XCIsIC8vIEluc3RhbGwgTm9kZSB2MTZcbiAgICAgICAgICAgICAgICBcIm5wbSBpIC0tbG9jYXRpb249Z2xvYmFsIC0tbm8tZnVuZCBlc2J1aWxkXCIgLy8gSW5zdGFsbCBlc2J1aWxkIGxvY2FsbHlcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBjb21wdXRlVHlwZTogcHJvcHMuY29tcHV0ZVR5cGU/P0NvbXB1dGVUeXBlLlNNQUxMLFxuICAgICAgICAgIGJ1aWxkSW1hZ2U6IHByb3BzLmJ1aWxkSW1hZ2U/P0xpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl8zXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAocHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybikge1xuICAgICAgdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUgPSBuZXcgUGlwZWxpbmVOb3RpZmljYXRpb25SdWxlKHRoaXMsICdOb3RpZmljYXRpb24nLCB7XG4gICAgICAgIHNvdXJjZTogdW5kZXJseWluZ1BpcGVsaW5lLFxuICAgICAgICBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuOiBwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhZGRTdGFnZShzdGFnZTogU3RhZ2UsIG9wdGlvbnM/OiBBZGRTdGFnZU9wdHMpOiBTdGFnZURlcGxveW1lbnQge1xuICAgIHJldHVybiB0aGlzLnBpcGVsaW5lLmFkZFN0YWdlKHN0YWdlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGFkZFdhdmUoaWQ6IHN0cmluZywgb3B0aW9ucz86IFdhdmVPcHRpb25zKTogV2F2ZSB7XG4gICAgcmV0dXJuIHRoaXMucGlwZWxpbmUuYWRkV2F2ZShpZCwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXBpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxtRUFBc0Q7QUFDdEQsaURBQXdDO0FBQ3hDLHVEQUFpRDtBQUNqRCxxREFRK0I7QUFDL0IsNkRBQW1IO0FBQ25ILDZFQUFzRTtBQUN0RSw2Q0FBeUM7QUE2RnpDOztHQUVHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFLeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1Qjs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGFBQWEsR0FBRyxhQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFFLE1BQU0sY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDaEUsYUFBYTtZQUNiLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDLENBQUM7UUFFSCxNQUFNLGtCQUFrQixHQUFHLElBQUksMkJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3hELGNBQWM7U0FDZixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyw4QkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3BFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNuQyxDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHdCQUFZLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNyRCxZQUFZLEVBQUUsa0JBQWtCO1lBQ2hDLFlBQVksUUFBRSxLQUFLLENBQUMsWUFBWSxtQ0FBRSxJQUFJO1lBQ3RDLHFCQUFxQixRQUFFLEtBQUssQ0FBQyxxQkFBcUIsbUNBQUUsSUFBSTtZQUN4RCw0QkFBNEIsUUFBRSxLQUFLLENBQUMsNEJBQTRCLG1DQUFFLElBQUk7WUFDdEUsS0FBSyxFQUFFLElBQUkscUJBQVMsQ0FBQyxPQUFPLEVBQUU7Z0JBQzVCLHNCQUFzQixFQUFFLFNBQVM7Z0JBQ2pDLEtBQUs7Z0JBQ0wsUUFBUSxRQUFFLEtBQUssQ0FBQyxRQUFRLG1DQUFFO29CQUN4QixzQkFBc0I7b0JBQ3RCLDJCQUEyQjtvQkFDM0IsdURBQXVEO29CQUN2RCx5QkFBeUI7b0JBQ3pCLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxpQkFBaUIsU0FBUyxFQUFFO2lCQUM3QjtnQkFDRCxnQkFBZ0IsUUFBRSxLQUFLLENBQUMsZ0JBQWdCLG1DQUFFLEVBQUU7YUFDN0MsQ0FBQztZQUNGLHNCQUFzQixFQUFFO2dCQUN0QixnQkFBZ0IsRUFBRSx5QkFBUyxDQUFDLFVBQVUsQ0FBQztvQkFDckMsS0FBSyxFQUFFO3dCQUNMLEtBQUssRUFBRSxnQkFBZ0I7cUJBQ3hCO29CQUNELE1BQU0sRUFBRTt3QkFDTixPQUFPLEVBQUU7NEJBQ1AsUUFBUSxFQUFFO2dDQUNSLE1BQU07Z0NBQ04sMkNBQTJDLENBQUMsMEJBQTBCOzZCQUN2RTt5QkFDRjtxQkFDRjtpQkFDRixDQUFDO2dCQUNGLGdCQUFnQixFQUFFO29CQUNoQixXQUFXLFFBQUUsS0FBSyxDQUFDLFdBQVcsbUNBQUUsMkJBQVcsQ0FBQyxLQUFLO29CQUNqRCxVQUFVLFFBQUUsS0FBSyxDQUFDLFVBQVUsbUNBQUUsK0JBQWUsQ0FBQyxnQkFBZ0I7aUJBQy9EO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsRUFBRTtZQUN0QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxxREFBd0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO2dCQUNqRixNQUFNLEVBQUUsa0JBQWtCO2dCQUMxQiw0QkFBNEIsRUFBRSxLQUFLLENBQUMsNEJBQTRCO2FBQ2pFLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFZLEVBQUUsT0FBc0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELE9BQU8sQ0FBQyxFQUFVLEVBQUUsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBL0VELGtDQStFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtQaXBlbGluZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcbmltcG9ydCB7S2V5fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHtBcnRpZmFjdEJ1Y2tldH0gZnJvbSBcIi4vYXJ0aWZhY3QtYnVja2V0XCI7XG5pbXBvcnQge1xuICBBZGRTdGFnZU9wdHMsXG4gIENvZGVQaXBlbGluZSxcbiAgQ29kZVBpcGVsaW5lU291cmNlLFxuICBTaGVsbFN0ZXAsXG4gIFN0YWdlRGVwbG95bWVudCxcbiAgV2F2ZSxcbiAgV2F2ZU9wdGlvbnNcbn0gZnJvbSBcImF3cy1jZGstbGliL3BpcGVsaW5lc1wiO1xuaW1wb3J0IHtCdWlsZFNwZWMsIENvbXB1dGVUeXBlLCBJQnVpbGRJbWFnZSwgTGludXhBcm1CdWlsZEltYWdlLCBMaW51eEJ1aWxkSW1hZ2V9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQge1BpcGVsaW5lTm90aWZpY2F0aW9uUnVsZX0gZnJvbSBcIi4vcGlwZWxpbmUtbm90aWZpY2F0aW9uLXJ1bGVcIjtcbmltcG9ydCB7U3RhY2ssIFN0YWdlfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7SUZpbGVTZXRQcm9kdWNlcn0gZnJvbSBcImF3cy1jZGstbGliL3BpcGVsaW5lc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIENka1BpcGVsaW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrUGlwZWxpbmVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIENESyB3aWxsIGNyZWF0ZSBLTVMga2V5cyBmb3IgY3Jvc3MgYWNjb3VudCBkZXBsb3ltZW50cy4gVGhpc1xuICAgKiBjYW4gYmUgY29zdGx5IGlmIHlvdSBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIHBpcGVsaW5lcy4gVGhpcyBwcm9wZXJ0eVxuICAgKiBhbGxvd3MgYSBjb21tb24ga2V5IHRvIGJlIHNoYXJlZCBhY3Jvc3MgcGlwZWxpbmVzLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgYWNjb3VudCBJRHMgdGhpcyBwaXBlbGluZSB3aWxsIGRlcGxveSBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBcm4gb2YgdGhlIENvZGVTdGFyIGNvbm5lY3Rpb24gdXNlZCB0byBhY2Nlc3MgdGhlIHNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB1c2UgaW5zaWRlIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBvciBkaXNhYmxlIHNlbGYtbXV0YXRpb24uIFVzZWZ1bCBmb3IgY2RrIHBpcGVsaW5lIGRldmVsb3BtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWxmTXV0YXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgJ3N5bnRoJyBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJFbmFibGVkRm9yU3ludGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZG9ja2VyIGZvciB0aGUgc2VsZi1tdXRhdGUgc3RlcC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgY29tcHV0ZSB0byB1c2UgZm9yIHRoaXMgYnVpbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IENvbXB1dGVUeXBlLlNNQUxMXG4gICAqL1xuICByZWFkb25seSBjb21wdXRlVHlwZT86IENvbXB1dGVUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdG8gdXNlIGZvciBidWlsZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IExpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl8zXG4gICAqL1xuICByZWFkb25seSBidWlsZEltYWdlPzogSUJ1aWxkSW1hZ2U7XG5cbiAgLyoqXG4gICAqIFRoZSBTbGFjayBjaGFubmVsIGNvbmZpZ3VyYXRpb24gdG8gdXNlIGZvciBub3RpZmljYXRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygbm90aWZpY2F0aW9uIGV2ZW50cyB0byByZWNlaXZlLiBCeSBkZWZhdWx0LCB0aGlzIGlzIGFsbCBub3RpZmljYXRpb25zLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9kdGNvbnNvbGUvbGF0ZXN0L3VzZXJndWlkZS9jb25jZXB0cy5odG1sI2V2ZW50cy1yZWYtcGlwZWxpbmVcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkV2ZW50cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIEZpbGVTZXRzIHRvIHB1dCBpbiBvdGhlciBkaXJlY3Rvcmllc1xuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbElucHV0cz86IFJlY29yZDxzdHJpbmcsIElGaWxlU2V0UHJvZHVjZXI+O1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgZGVmYXVsdCBjb21tYW5kcy5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmRzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQW4gYWJzdHJhY3Rpb24gdG8gZWFzZSBDREsgcGlwZWxpbmUgY3JlYXRpb24gYW5kIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtQaXBlbGluZSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgcmVhZG9ubHkgcGlwZWxpbmU6IENvZGVQaXBlbGluZTtcbiAgcmVhZG9ubHkgcGlwZWxpbmVOb3RpZmljYXRpb25SdWxlOiBQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENka1BpcGVsaW5lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZW5jcnlwdGlvbktleSA9IEtleS5mcm9tS2V5QXJuKHRoaXMsICdFbmNyeXB0aW9uS2V5JywgcHJvcHMua2V5QXJuKTtcblxuICAgIGNvbnN0IGFydGlmYWN0QnVja2V0ID0gbmV3IEFydGlmYWN0QnVja2V0KHRoaXMsICdBcnRpZmFjdEJ1Y2tldCcsIHtcbiAgICAgIGVuY3J5cHRpb25LZXksXG4gICAgICBhY2NvdW50SWRzOiBwcm9wcy5hY2NvdW50SWRzXG4gICAgfSk7XG5cbiAgICBjb25zdCB1bmRlcmx5aW5nUGlwZWxpbmUgPSBuZXcgUGlwZWxpbmUodGhpcywgJ1BpcGVsaW5lJywge1xuICAgICAgYXJ0aWZhY3RCdWNrZXRcbiAgICB9KTtcblxuICAgIGNvbnN0IGlucHV0ID0gQ29kZVBpcGVsaW5lU291cmNlLmNvbm5lY3Rpb24ocHJvcHMucmVwbywgcHJvcHMuYnJhbmNoLCB7XG4gICAgICBjb25uZWN0aW9uQXJuOiBwcm9wcy5jb25uZWN0aW9uQXJuXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdGFja05hbWUgPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG5cbiAgICB0aGlzLnBpcGVsaW5lID0gbmV3IENvZGVQaXBlbGluZSh0aGlzLCAnQ29kZVBpcGVsaW5lJywge1xuICAgICAgY29kZVBpcGVsaW5lOiB1bmRlcmx5aW5nUGlwZWxpbmUsXG4gICAgICBzZWxmTXV0YXRpb246IHByb3BzLnNlbGZNdXRhdGlvbj8/dHJ1ZSxcbiAgICAgIGRvY2tlckVuYWJsZWRGb3JTeW50aDogcHJvcHMuZG9ja2VyRW5hYmxlZEZvclN5bnRoPz90cnVlLFxuICAgICAgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbjogcHJvcHMuZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbj8/dHJ1ZSxcbiAgICAgIHN5bnRoOiBuZXcgU2hlbGxTdGVwKCdTeW50aCcsIHtcbiAgICAgICAgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogJ2Nkay5vdXQnLFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgY29tbWFuZHM6IHByb3BzLmNvbW1hbmRzPz9bXG4gICAgICAgICAgJ21rZGlyIC90bXAvbnBtLWNhY2hlJyxcbiAgICAgICAgICAnbnBtIGNvbmZpZyBzZXQgZnVuZCBmYWxzZScsXG4gICAgICAgICAgJ25wbSBjb25maWcgc2V0IGNhY2hlIC90bXAvbnBtLWNhY2hlIC0tbG9jYXRpb249Z2xvYmFsJyxcbiAgICAgICAgICAnbnBtIGNpIC0tcHJlZmVyLW9mZmxpbmUnLFxuICAgICAgICAgICducG0gcnVuIGJ1aWxkJyxcbiAgICAgICAgICAnbnBtIHJ1biB0ZXN0JyxcbiAgICAgICAgICBgbnB4IGNkayBzeW50aCAke3N0YWNrTmFtZX1gXG4gICAgICAgIF0sXG4gICAgICAgIGFkZGl0aW9uYWxJbnB1dHM6IHByb3BzLmFkZGl0aW9uYWxJbnB1dHM/P3t9XG4gICAgICB9KSxcbiAgICAgIHN5bnRoQ29kZUJ1aWxkRGVmYXVsdHM6IHtcbiAgICAgICAgcGFydGlhbEJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICAgIGNhY2hlOiB7XG4gICAgICAgICAgICBwYXRoczogXCIvdG1wL25wbS1jYWNoZVwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwaGFzZXM6IHtcbiAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAgICAgICBcIm4gMTZcIiwgLy8gSW5zdGFsbCBOb2RlIHYxNlxuICAgICAgICAgICAgICAgIFwibnBtIGkgLS1sb2NhdGlvbj1nbG9iYWwgLS1uby1mdW5kIGVzYnVpbGRcIiAvLyBJbnN0YWxsIGVzYnVpbGQgbG9jYWxseVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgYnVpbGRFbnZpcm9ubWVudDoge1xuICAgICAgICAgIGNvbXB1dGVUeXBlOiBwcm9wcy5jb21wdXRlVHlwZT8/Q29tcHV0ZVR5cGUuU01BTEwsXG4gICAgICAgICAgYnVpbGRJbWFnZTogcHJvcHMuYnVpbGRJbWFnZT8/TGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzNcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuKSB7XG4gICAgICB0aGlzLnBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZSA9IG5ldyBQaXBlbGluZU5vdGlmaWNhdGlvblJ1bGUodGhpcywgJ05vdGlmaWNhdGlvbicsIHtcbiAgICAgICAgc291cmNlOiB1bmRlcmx5aW5nUGlwZWxpbmUsXG4gICAgICAgIHNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm46IHByb3BzLnNsYWNrQ2hhbm5lbENvbmZpZ3VyYXRpb25Bcm5cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFkZFN0YWdlKHN0YWdlOiBTdGFnZSwgb3B0aW9ucz86IEFkZFN0YWdlT3B0cyk6IFN0YWdlRGVwbG95bWVudCB7XG4gICAgcmV0dXJuIHRoaXMucGlwZWxpbmUuYWRkU3RhZ2Uoc3RhZ2UsIG9wdGlvbnMpO1xuICB9XG5cbiAgYWRkV2F2ZShpZDogc3RyaW5nLCBvcHRpb25zPzogV2F2ZU9wdGlvbnMpOiBXYXZlIHtcbiAgICByZXR1cm4gdGhpcy5waXBlbGluZS5hZGRXYXZlKGlkLCBvcHRpb25zKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,119 @@
1
+ import { ARecord, IHostedZone, RecordTarget } from "aws-cdk-lib/aws-route53";
2
+ import { Construct } from "constructs";
3
+ /**
4
+ * Properties for DomainName
5
+ */
6
+ export interface DomainNameProps {
7
+ readonly prefix: string;
8
+ readonly zone: string | IHostedZone;
9
+ readonly privateZone?: boolean;
10
+ readonly vpcId?: string;
11
+ }
12
+ /**
13
+ * Utility class for holding domain name information and
14
+ * doing useful things with it.
15
+ */
16
+ export declare class DomainName {
17
+ protected readonly prefix: string;
18
+ protected readonly zone: string;
19
+ protected hostedZone?: IHostedZone;
20
+ protected readonly privateZone: boolean;
21
+ protected readonly vpcId?: string;
22
+ /**
23
+ * Creates a new DomainName.
24
+ *
25
+ * @param props the properties of the domain name
26
+ */
27
+ constructor(props: DomainNameProps);
28
+ /**
29
+ * Returns the prefix for this domain name.
30
+ */
31
+ getPrefix(): string;
32
+ /**
33
+ * Returns true if the zone is private. False if otherwise.
34
+ */
35
+ inPrivateZone(): boolean;
36
+ /**
37
+ * Returns the vpc ID for this zone or undefined if one does not exist
38
+ */
39
+ getVpcId(): string | undefined;
40
+ /**
41
+ * Returns true if the props match the domain name. False if otherwise.
42
+ *
43
+ * @param props the props to compare
44
+ */
45
+ propsMatch(props: DomainNameProps): boolean;
46
+ /**
47
+ * Returns the string version of this domain name.
48
+ */
49
+ toString(): string;
50
+ /**
51
+ * Returns a friendly identifier for this domain name.
52
+ */
53
+ toIdentifier(): string;
54
+ /**
55
+ * Returns the zone associated with this domain name.
56
+ *
57
+ * @param scope the scope to use if a lookup is required
58
+ * @param id an optional ID if a lookup is required; one is generated if not provided
59
+ */
60
+ getHostedZone(scope: Construct, id?: string): IHostedZone;
61
+ /**
62
+ * Creates a Route53 ARecord for this domain name.
63
+ *
64
+ * @param scope the scope to create the record in
65
+ * @param target the target of the record
66
+ */
67
+ createARecord(scope: Construct, target: RecordTarget): ARecord;
68
+ /**
69
+ * Converts an array of DomainNameProps to DomainName. This function will return an empty array
70
+ * if domainNameProps is undefined.
71
+ *
72
+ * @param domainNameProps the DomainNameProps objects to convert
73
+ */
74
+ static fromProps(domainNameProps?: DomainNameProps[]): DomainName[];
75
+ /**
76
+ * Converts an array of DomainName objects to an array of strings. This function will return an
77
+ * empty array if domainNames is undefined.
78
+ *
79
+ * @param domainNames the DomainName objects to convert
80
+ */
81
+ static toStrings(domainNames?: DomainName[]): string[];
82
+ /**
83
+ * Converts an array of DomainNameProps to an array of strings. This function will
84
+ * return an empty array if domainNameProps is undefined.
85
+ *
86
+ * @param domainNameProps the DomainNameProps objects to convert
87
+ */
88
+ static toStringsFromProps(domainNameProps?: DomainNameProps[]): string[];
89
+ /**
90
+ * Converts an array of DomainName objects to a map where the key is the domain name string and the value
91
+ * is an IHostedZone. This method will return an empty map if domainNames is undefined. This function
92
+ * is useful when used in conjunction with functions like CertificateValidation.fromDnsMultiZone.
93
+ *
94
+ * @param scope the scope used if a zone lookup is required
95
+ * @param domainNames the DomainName objects to convert
96
+ */
97
+ static toZoneMap(scope: Construct, domainNames?: DomainName[]): {
98
+ [domainName: string]: IHostedZone;
99
+ };
100
+ /**
101
+ * Converts an arry of DomainNameProps objects to a map where the key is the domain name string and the
102
+ * value is an IHostedZone. This method will return an empty map if domainNameProps is undefined. This
103
+ * function is useful when used in conjunction with functions like CertificateValidation.fromDnsMultiZone.
104
+ *
105
+ * @param scope the scope used if a zone lookup is required
106
+ * @param domainNameProps the DomainNameProps objects to convert
107
+ */
108
+ static toZoneMapFromProps(scope: Construct, domainNameProps: DomainNameProps[]): {
109
+ [domainName: string]: IHostedZone;
110
+ };
111
+ /**
112
+ * Finds the domain name matching the given properties in an array of DomainName objects.
113
+ *
114
+ * @param props the properties to compare
115
+ * @param domainNames the domain names to search
116
+ * @return the matching domain name or undefined
117
+ */
118
+ static findDomainName(props: DomainNameProps, domainNames?: DomainName[]): DomainName | undefined;
119
+ }
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DomainName = void 0;
4
+ const aws_route53_1 = require("aws-cdk-lib/aws-route53");
5
+ /**
6
+ * Utility class for holding domain name information and
7
+ * doing useful things with it.
8
+ */
9
+ class DomainName {
10
+ /**
11
+ * Creates a new DomainName.
12
+ *
13
+ * @param props the properties of the domain name
14
+ */
15
+ constructor(props) {
16
+ var _a;
17
+ this.prefix = props.prefix;
18
+ if (typeof props.zone === "string") {
19
+ this.zone = props.zone;
20
+ }
21
+ else {
22
+ this.hostedZone = props.zone;
23
+ this.zone = this.hostedZone.zoneName;
24
+ }
25
+ this.privateZone = (_a = props.privateZone) !== null && _a !== void 0 ? _a : false;
26
+ this.vpcId = props.vpcId;
27
+ }
28
+ /**
29
+ * Returns the prefix for this domain name.
30
+ */
31
+ getPrefix() {
32
+ return this.prefix;
33
+ }
34
+ /**
35
+ * Returns true if the zone is private. False if otherwise.
36
+ */
37
+ inPrivateZone() {
38
+ return this.privateZone;
39
+ }
40
+ /**
41
+ * Returns the vpc ID for this zone or undefined if one does not exist
42
+ */
43
+ getVpcId() {
44
+ return this.vpcId;
45
+ }
46
+ /**
47
+ * Returns true if the props match the domain name. False if otherwise.
48
+ *
49
+ * @param props the props to compare
50
+ */
51
+ propsMatch(props) {
52
+ let propZoneStr = typeof props.zone === "string" ? props.zone : props.zone.zoneName;
53
+ return this.prefix === props.prefix
54
+ && this.zone === propZoneStr
55
+ && this.privateZone === props.privateZone
56
+ && this.vpcId === props.vpcId;
57
+ }
58
+ /**
59
+ * Returns the string version of this domain name.
60
+ */
61
+ toString() {
62
+ return (this.prefix == "" ? "" : this.prefix + ".") + this.zone;
63
+ }
64
+ /**
65
+ * Returns a friendly identifier for this domain name.
66
+ */
67
+ toIdentifier() {
68
+ return this.toString().replace(".", "-");
69
+ }
70
+ /**
71
+ * Returns the zone associated with this domain name.
72
+ *
73
+ * @param scope the scope to use if a lookup is required
74
+ * @param id an optional ID if a lookup is required; one is generated if not provided
75
+ */
76
+ getHostedZone(scope, id) {
77
+ if (this.hostedZone === undefined) {
78
+ this.hostedZone = aws_route53_1.HostedZone.fromLookup(scope, id !== null && id !== void 0 ? id : `${this.toIdentifier()}-zone`, {
79
+ domainName: this.zone,
80
+ privateZone: this.privateZone,
81
+ vpcId: this.vpcId
82
+ });
83
+ }
84
+ return this.hostedZone;
85
+ }
86
+ /**
87
+ * Creates a Route53 ARecord for this domain name.
88
+ *
89
+ * @param scope the scope to create the record in
90
+ * @param target the target of the record
91
+ */
92
+ createARecord(scope, target) {
93
+ return new aws_route53_1.ARecord(scope, `${this.toIdentifier()}-arecord`, {
94
+ zone: this.getHostedZone(scope),
95
+ recordName: this.toString(),
96
+ target
97
+ });
98
+ }
99
+ /**
100
+ * Converts an array of DomainNameProps to DomainName. This function will return an empty array
101
+ * if domainNameProps is undefined.
102
+ *
103
+ * @param domainNameProps the DomainNameProps objects to convert
104
+ */
105
+ static fromProps(domainNameProps) {
106
+ return domainNameProps === undefined ? [] : domainNameProps.map(p => new DomainName(p));
107
+ }
108
+ /**
109
+ * Converts an array of DomainName objects to an array of strings. This function will return an
110
+ * empty array if domainNames is undefined.
111
+ *
112
+ * @param domainNames the DomainName objects to convert
113
+ */
114
+ static toStrings(domainNames) {
115
+ return domainNames === undefined ? [] : domainNames.map(d => d.toString());
116
+ }
117
+ /**
118
+ * Converts an array of DomainNameProps to an array of strings. This function will
119
+ * return an empty array if domainNameProps is undefined.
120
+ *
121
+ * @param domainNameProps the DomainNameProps objects to convert
122
+ */
123
+ static toStringsFromProps(domainNameProps) {
124
+ return domainNameProps === undefined ? [] : DomainName.toStrings(DomainName.fromProps(domainNameProps));
125
+ }
126
+ /**
127
+ * Converts an array of DomainName objects to a map where the key is the domain name string and the value
128
+ * is an IHostedZone. This method will return an empty map if domainNames is undefined. This function
129
+ * is useful when used in conjunction with functions like CertificateValidation.fromDnsMultiZone.
130
+ *
131
+ * @param scope the scope used if a zone lookup is required
132
+ * @param domainNames the DomainName objects to convert
133
+ */
134
+ static toZoneMap(scope, domainNames) {
135
+ const map = {};
136
+ if (domainNames !== undefined) {
137
+ domainNames.forEach(d => {
138
+ map[d.toString()] = d.getHostedZone(scope);
139
+ });
140
+ }
141
+ return map;
142
+ }
143
+ /**
144
+ * Converts an arry of DomainNameProps objects to a map where the key is the domain name string and the
145
+ * value is an IHostedZone. This method will return an empty map if domainNameProps is undefined. This
146
+ * function is useful when used in conjunction with functions like CertificateValidation.fromDnsMultiZone.
147
+ *
148
+ * @param scope the scope used if a zone lookup is required
149
+ * @param domainNameProps the DomainNameProps objects to convert
150
+ */
151
+ static toZoneMapFromProps(scope, domainNameProps) {
152
+ return DomainName.toZoneMap(scope, DomainName.fromProps(domainNameProps));
153
+ }
154
+ /**
155
+ * Finds the domain name matching the given properties in an array of DomainName objects.
156
+ *
157
+ * @param props the properties to compare
158
+ * @param domainNames the domain names to search
159
+ * @return the matching domain name or undefined
160
+ */
161
+ static findDomainName(props, domainNames) {
162
+ for (let domainName of domainNames !== null && domainNames !== void 0 ? domainNames : []) {
163
+ if (domainName.propsMatch(props)) {
164
+ return domainName;
165
+ }
166
+ }
167
+ return undefined;
168
+ }
169
+ }
170
+ exports.DomainName = DomainName;
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFhdkY7OztHQUdHO0FBQ0gsTUFBYSxVQUFVO0lBUXJCOzs7O09BSUc7SUFDSCxZQUFZLEtBQXNCOztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztTQUN4QjthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsV0FBVyxTQUFHLEtBQUssQ0FBQyxXQUFXLG1DQUFJLEtBQUssQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxVQUFVLENBQUMsS0FBc0I7UUFDL0IsSUFBSSxXQUFXLEdBQUcsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDcEYs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RyxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQWdCLEVBQUUsZUFBa0M7UUFDNUUsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBc0IsRUFBRSxXQUEwQjtRQUN0RSxLQUFLLElBQUksVUFBVSxJQUFJLFdBQVcsYUFBWCxXQUFXLGNBQVgsV0FBVyxHQUFJLEVBQUUsRUFBRTtZQUN4QyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hDLE9BQU8sVUFBVSxDQUFDO2FBQ25CO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFuTEQsZ0NBbUxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUmVjb3JkLCBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIERvbWFpbk5hbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb21haW5OYW1lUHJvcHMge1xuICByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcmVhZG9ubHkgem9uZTogc3RyaW5nIHwgSUhvc3RlZFpvbmU7XG4gIHJlYWRvbmx5IHByaXZhdGVab25lPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVXRpbGl0eSBjbGFzcyBmb3IgaG9sZGluZyBkb21haW4gbmFtZSBpbmZvcm1hdGlvbiBhbmRcbiAqIGRvaW5nIHVzZWZ1bCB0aGluZ3Mgd2l0aCBpdC5cbiAqL1xuZXhwb3J0IGNsYXNzIERvbWFpbk5hbWUge1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHpvbmU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGhvc3RlZFpvbmU/OiBJSG9zdGVkWm9uZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByaXZhdGVab25lOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgRG9tYWluTmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBkb21haW4gbmFtZVxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IERvbWFpbk5hbWVQcm9wcykge1xuICAgIHRoaXMucHJlZml4ID0gcHJvcHMucHJlZml4O1xuICAgIGlmICh0eXBlb2YgcHJvcHMuem9uZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgdGhpcy56b25lID0gcHJvcHMuem9uZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gcHJvcHMuem9uZTtcbiAgICAgIHRoaXMuem9uZSA9IHRoaXMuaG9zdGVkWm9uZS56b25lTmFtZTtcbiAgICB9XG4gICAgdGhpcy5wcml2YXRlWm9uZSA9IHByb3BzLnByaXZhdGVab25lID8/IGZhbHNlO1xuICAgIHRoaXMudnBjSWQgPSBwcm9wcy52cGNJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwcmVmaXggZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBnZXRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB6b25lIGlzIHByaXZhdGUuIEZhbHNlIGlmIG90aGVyd2lzZS5cbiAgICovXG4gIGluUHJpdmF0ZVpvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJpdmF0ZVpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdnBjIElEIGZvciB0aGlzIHpvbmUgb3IgdW5kZWZpbmVkIGlmIG9uZSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0VnBjSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52cGNJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3BzIG1hdGNoIHRoZSBkb21haW4gbmFtZS4gRmFsc2UgaWYgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BzIHRvIGNvbXBhcmVcbiAgICovXG4gIHByb3BzTWF0Y2gocHJvcHM6IERvbWFpbk5hbWVQcm9wcyk6IGJvb2xlYW4ge1xuICAgIGxldCBwcm9wWm9uZVN0ciA9IHR5cGVvZiBwcm9wcy56b25lID09PSBcInN0cmluZ1wiID8gcHJvcHMuem9uZSA6IHByb3BzLnpvbmUuem9uZU5hbWU7XG4gICAgcmV0dXJuIHRoaXMucHJlZml4ID09PSBwcm9wcy5wcmVmaXhcbiAgICAgICYmIHRoaXMuem9uZSA9PT0gcHJvcFpvbmVTdHJcbiAgICAgICYmIHRoaXMucHJpdmF0ZVpvbmUgPT09IHByb3BzLnByaXZhdGVab25lXG4gICAgICAmJiB0aGlzLnZwY0lkID09PSBwcm9wcy52cGNJZFxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHN0cmluZyB2ZXJzaW9uIG9mIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5wcmVmaXggPT0gXCJcIiA/IFwiXCIgOiB0aGlzLnByZWZpeCArIFwiLlwiKSArIHRoaXMuem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZnJpZW5kbHkgaWRlbnRpZmllciBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICovXG4gIHRvSWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCkucmVwbGFjZShcIi5cIiwgXCItXCIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gdXNlIGlmIGEgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBpZCBhbiBvcHRpb25hbCBJRCBpZiBhIGxvb2t1cCBpcyByZXF1aXJlZDsgb25lIGlzIGdlbmVyYXRlZCBpZiBub3QgcHJvdmlkZWRcbiAgICovXG4gIGdldEhvc3RlZFpvbmUoc2NvcGU6IENvbnN0cnVjdCwgaWQ/OiBzdHJpbmcpIDogSUhvc3RlZFpvbmUge1xuICAgIGlmICh0aGlzLmhvc3RlZFpvbmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gSG9zdGVkWm9uZS5mcm9tTG9va3VwKHNjb3BlLCBpZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfS16b25lYCwge1xuICAgICAgICBkb21haW5OYW1lOiB0aGlzLnpvbmUsXG4gICAgICAgIHByaXZhdGVab25lOiB0aGlzLnByaXZhdGVab25lLFxuICAgICAgICB2cGNJZDogdGhpcy52cGNJZFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmhvc3RlZFpvbmU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFJvdXRlNTMgQVJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCk6IEFSZWNvcmQge1xuICAgIHJldHVybiBuZXcgQVJlY29yZChzY29wZSwgYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tYXJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lUHJvcHMgdG8gRG9tYWluTmFtZS4gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBhbiBlbXB0eSBhcnJheVxuICAgKiBpZiBkb21haW5OYW1lUHJvcHMgaXMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcz86IERvbWFpbk5hbWVQcm9wc1tdKSA6IERvbWFpbk5hbWVbXSB7XG4gICAgcmV0dXJuIGRvbWFpbk5hbWVQcm9wcyA9PT0gdW5kZWZpbmVkID8gW10gOiBkb21haW5OYW1lUHJvcHMubWFwKHAgPT4gbmV3IERvbWFpbk5hbWUocCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWUgb2JqZWN0cyB0byBhbiBhcnJheSBvZiBzdHJpbmdzLiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFuXG4gICAqIGVtcHR5IGFycmF5IGlmIGRvbWFpbk5hbWVzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBEb21haW5OYW1lIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvU3RyaW5ncyhkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSkgOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGRvbWFpbk5hbWVzID09PSB1bmRlZmluZWQgPyBbXSA6IGRvbWFpbk5hbWVzLm1hcChkID0+IGQudG9TdHJpbmcoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIHRvIGFuIGFycmF5IG9mIHN0cmluZ3MuIFRoaXMgZnVuY3Rpb24gd2lsbFxuICAgKiByZXR1cm4gYW4gZW1wdHkgYXJyYXkgaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvU3RyaW5nc0Zyb21Qcm9wcyhkb21haW5OYW1lUHJvcHM/OiBEb21haW5OYW1lUHJvcHNbXSkgOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGRvbWFpbk5hbWVQcm9wcyA9PT0gdW5kZWZpbmVkID8gW10gOiBEb21haW5OYW1lLnRvU3RyaW5ncyhEb21haW5OYW1lLmZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMgdG8gYSBtYXAgd2hlcmUgdGhlIGtleSBpcyB0aGUgZG9tYWluIG5hbWUgc3RyaW5nIGFuZCB0aGUgdmFsdWVcbiAgICogaXMgYW4gSUhvc3RlZFpvbmUuIFRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGFuIGVtcHR5IG1hcCBpZiBkb21haW5OYW1lcyBpcyB1bmRlZmluZWQuIFRoaXMgZnVuY3Rpb25cbiAgICogaXMgdXNlZnVsIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGZ1bmN0aW9ucyBsaWtlIENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHVzZWQgaWYgYSB6b25lIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIERvbWFpbk5hbWUgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9ab25lTWFwKHNjb3BlOiBDb25zdHJ1Y3QsIGRvbWFpbk5hbWVzPzogRG9tYWluTmFtZVtdKSA6IHsgW2RvbWFpbk5hbWU6IHN0cmluZ106IElIb3N0ZWRab25lIH0ge1xuICAgIGNvbnN0IG1hcDoge1trZXk6IHN0cmluZ106IElIb3N0ZWRab25lfSA9IHt9XG4gICAgaWYgKGRvbWFpbk5hbWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRvbWFpbk5hbWVzLmZvckVhY2goZCA9PiB7XG4gICAgICAgIG1hcFtkLnRvU3RyaW5nKCldID0gZC5nZXRIb3N0ZWRab25lKHNjb3BlKVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyeSBvZiBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBhIG1hcCB3aGVyZSB0aGUga2V5IGlzIHRoZSBkb21haW4gbmFtZSBzdHJpbmcgYW5kIHRoZVxuICAgKiB2YWx1ZSBpcyBhbiBJSG9zdGVkWm9uZS4gVGhpcyBtZXRob2Qgd2lsbCByZXR1cm4gYW4gZW1wdHkgbWFwIGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuIFRoaXNcbiAgICogZnVuY3Rpb24gaXMgdXNlZnVsIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGZ1bmN0aW9ucyBsaWtlIENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHVzZWQgaWYgYSB6b25lIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9ab25lTWFwRnJvbVByb3BzKHNjb3BlOiBDb25zdHJ1Y3QsIGRvbWFpbk5hbWVQcm9wczogRG9tYWluTmFtZVByb3BzW10pIDogeyBbZG9tYWluTmFtZTogc3RyaW5nXTogSUhvc3RlZFpvbmUgfSB7XG4gICAgcmV0dXJuIERvbWFpbk5hbWUudG9ab25lTWFwKHNjb3BlLCBEb21haW5OYW1lLmZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgZG9tYWluIG5hbWUgbWF0Y2hpbmcgdGhlIGdpdmVuIHByb3BlcnRpZXMgaW4gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXMgdG8gY29tcGFyZVxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIGRvbWFpbiBuYW1lcyB0byBzZWFyY2hcbiAgICogQHJldHVybiB0aGUgbWF0Y2hpbmcgZG9tYWluIG5hbWUgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBzdGF0aWMgZmluZERvbWFpbk5hbWUocHJvcHM6IERvbWFpbk5hbWVQcm9wcywgZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pOiBEb21haW5OYW1lIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBkb21haW5OYW1lIG9mIGRvbWFpbk5hbWVzID8/IFtdKSB7XG4gICAgICBpZiAoZG9tYWluTmFtZS5wcm9wc01hdGNoKHByb3BzKSkge1xuICAgICAgICByZXR1cm4gZG9tYWluTmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,3 +1,4 @@
1
1
  export * from './latency-a-record';
2
2
  export * from './weighted-a-record';
3
3
  export * from './weighted-latency-a-record';
4
+ export * from "./domain-name";
@@ -13,4 +13,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./latency-a-record"), exports);
14
14
  __exportStar(require("./weighted-a-record"), exports);
15
15
  __exportStar(require("./weighted-latency-a-record"), exports);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUM7QUFDbkMsc0RBQW9DO0FBQ3BDLDhEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGF0ZW5jeS1hLXJlY29yZCc7XG5leHBvcnQgKiBmcm9tICcuL3dlaWdodGVkLWEtcmVjb3JkJztcbmV4cG9ydCAqIGZyb20gJy4vd2VpZ2h0ZWQtbGF0ZW5jeS1hLXJlY29yZCc7XG4iXX0=
16
+ __exportStar(require("./domain-name"), exports);
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUM7QUFDbkMsc0RBQW9DO0FBQ3BDLDhEQUE0QztBQUM1QyxnREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xhdGVuY3ktYS1yZWNvcmQnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWlnaHRlZC1hLXJlY29yZCc7XG5leHBvcnQgKiBmcm9tICcuL3dlaWdodGVkLWxhdGVuY3ktYS1yZWNvcmQnO1xuZXhwb3J0ICogZnJvbSBcIi4vZG9tYWluLW5hbWVcIjtcbiJdfQ==
@@ -1,22 +1,21 @@
1
1
  import { Construct } from "constructs";
2
2
  import { IBucket } from "aws-cdk-lib/aws-s3";
3
3
  import { Distribution, Function, HttpVersion, OriginAccessIdentity, PriceClass, SecurityPolicyProtocol } from "aws-cdk-lib/aws-cloudfront";
4
- import { ARecord, IHostedZone } from "aws-cdk-lib/aws-route53";
4
+ import { ARecord } from "aws-cdk-lib/aws-route53";
5
5
  import { BucketDeployment } from "aws-cdk-lib/aws-s3-deployment";
6
6
  import { BundlingOptions, Duration } from "aws-cdk-lib";
7
+ import { DomainNameProps } from "../../aws-route53";
7
8
  export declare enum SourceType {
8
9
  Custom = "Custom",
9
10
  Hugo = "Hugo",
10
11
  NpmDist = "NpmDist",
11
12
  Static = "Static"
12
13
  }
13
- export declare class DomainName {
14
- readonly prefix: string;
15
- readonly zone: string | IHostedZone;
14
+ /**
15
+ * Properties for WebsiteDomainName.
16
+ */
17
+ export interface WebsiteDomainNameProps extends DomainNameProps {
16
18
  readonly createRecord?: boolean;
17
- constructor(prefix: string, zone: string | IHostedZone, createRecord?: boolean);
18
- toString(): string;
19
- toIdentifier(): string;
20
19
  }
21
20
  export interface WebsiteProps {
22
21
  /**
@@ -35,7 +34,7 @@ export interface WebsiteProps {
35
34
  /**
36
35
  * The domain names to be serviced. The first domain name in the list is treated as the apex domain.
37
36
  */
38
- readonly domainNames?: DomainName[];
37
+ readonly domainNames?: WebsiteDomainNameProps[];
39
38
  /**
40
39
  * Redirect traffic to the first domain in the list of domainNames.
41
40
  *
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Website = exports.DomainName = exports.SourceType = void 0;
3
+ exports.Website = exports.SourceType = void 0;
4
4
  const constructs_1 = require("constructs");
5
5
  const aws_cloudfront_1 = require("aws-cdk-lib/aws-cloudfront");
6
6
  const aws_cloudfront_origins_1 = require("aws-cdk-lib/aws-cloudfront-origins");
@@ -10,6 +10,7 @@ const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
10
10
  const aws_s3_deployment_1 = require("aws-cdk-lib/aws-s3-deployment");
11
11
  const aws_cdk_lib_1 = require("aws-cdk-lib");
12
12
  const aws_s3_1 = require("../../aws-s3");
13
+ const aws_route53_2 = require("../../aws-route53");
13
14
  var SourceType;
14
15
  (function (SourceType) {
15
16
  SourceType["Custom"] = "Custom";
@@ -17,24 +18,22 @@ var SourceType;
17
18
  SourceType["NpmDist"] = "NpmDist";
18
19
  SourceType["Static"] = "Static";
19
20
  })(SourceType = exports.SourceType || (exports.SourceType = {}));
20
- class DomainName {
21
- constructor(prefix, zone, createRecord) {
22
- this.prefix = prefix;
23
- this.zone = zone;
24
- this.createRecord = createRecord;
25
- }
26
- toString() {
27
- return (this.prefix == "" ? "" : this.prefix + ".") + this.zone;
28
- }
29
- toIdentifier() {
30
- return this.toString().replace(".", "-");
31
- }
32
- }
33
- exports.DomainName = DomainName;
34
21
  class Website extends constructs_1.Construct {
35
22
  constructor(scope, id, props) {
36
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
23
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
37
24
  super(scope, id);
25
+ const domainNames = aws_route53_2.DomainName.fromProps(props.domainNames);
26
+ let certificate = undefined;
27
+ if (props.certificateArn !== undefined) {
28
+ certificate = aws_certificatemanager_1.Certificate.fromCertificateArn(this, "Certificate", props.certificateArn);
29
+ }
30
+ else if (domainNames.length > 0) {
31
+ certificate = new aws_certificatemanager_1.Certificate(this, "Certificate", {
32
+ domainName: domainNames[0].toString(),
33
+ subjectAlternativeNames: aws_route53_2.DomainName.toStrings(domainNames).slice(1),
34
+ validation: aws_certificatemanager_1.CertificateValidation.fromDnsMultiZone(aws_route53_2.DomainName.toZoneMap(this, domainNames))
35
+ });
36
+ }
38
37
  this.bucket = (_a = props.bucket) !== null && _a !== void 0 ? _a : new aws_s3_1.ExtendedBucket(this, "Bucket", {
39
38
  removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
40
39
  autoDeleteObjects: true
@@ -45,7 +44,7 @@ class Website extends constructs_1.Construct {
45
44
  if (this.fallbackBucket) {
46
45
  this.fallbackBucket.grantRead(this.originAccessIdentity);
47
46
  }
48
- this.apexDomain = ((_b = props === null || props === void 0 ? void 0 : props.domainNames) === null || _b === void 0 ? void 0 : _b[0].toString()) || "";
47
+ this.apexDomain = domainNames.length > 0 ? domainNames[0].toString() : "";
49
48
  this.viewerRequestFunction = new aws_cloudfront_1.Function(this, "ViewerRequestFunction", {
50
49
  code: aws_cloudfront_1.FunctionCode.fromInline(`
51
50
  function handler(event) {
@@ -67,7 +66,7 @@ function handler(event) {
67
66
  return event.request;
68
67
  }`
69
68
  .replace(/APEX_DOMAIN/g, this.apexDomain)
70
- .replace(/MATCH_APEX/g, this.apexDomain !== "" && ((_c = props.redirectToApexDomain) !== null && _c !== void 0 ? _c : true) ? "true" : "false"))
69
+ .replace(/MATCH_APEX/g, this.apexDomain !== "" && ((_b = props.redirectToApexDomain) !== null && _b !== void 0 ? _b : true) ? "true" : "false"))
71
70
  });
72
71
  const bucketOrigin = new aws_cloudfront_origins_1.S3Origin(this.bucket, {
73
72
  originAccessIdentity: this.originAccessIdentity
@@ -97,27 +96,21 @@ function handler(event) {
97
96
  responsePagePath: "/404.html"
98
97
  }
99
98
  ],
100
- httpVersion: (_d = props.httpVersion) !== null && _d !== void 0 ? _d : aws_cloudfront_1.HttpVersion.HTTP1_1,
101
- minimumProtocolVersion: (_e = props.minimumProtocolVersion) !== null && _e !== void 0 ? _e : aws_cloudfront_1.SecurityPolicyProtocol.TLS_V1_2_2021,
99
+ httpVersion: (_c = props.httpVersion) !== null && _c !== void 0 ? _c : aws_cloudfront_1.HttpVersion.HTTP1_1,
100
+ minimumProtocolVersion: (_d = props.minimumProtocolVersion) !== null && _d !== void 0 ? _d : aws_cloudfront_1.SecurityPolicyProtocol.TLS_V1_2_2021,
102
101
  defaultRootObject: "index.html",
103
- certificate: (props === null || props === void 0 ? void 0 : props.certificateArn) == undefined ? undefined : aws_certificatemanager_1.Certificate.fromCertificateArn(this, "Certificate", props.certificateArn),
104
- domainNames: (_f = props === null || props === void 0 ? void 0 : props.domainNames) === null || _f === void 0 ? void 0 : _f.map((domainName) => domainName.toString()),
102
+ certificate,
103
+ domainNames: aws_route53_2.DomainName.toStrings(domainNames),
105
104
  enableIpv6: true,
106
- priceClass: (_g = props.priceClass) !== null && _g !== void 0 ? _g : aws_cloudfront_1.PriceClass.PRICE_CLASS_100
105
+ priceClass: (_e = props.priceClass) !== null && _e !== void 0 ? _e : aws_cloudfront_1.PriceClass.PRICE_CLASS_100
107
106
  });
108
107
  this.distributionUrl = `https://${(this.apexDomain != "" ? this.apexDomain : this.distribution.distributionDomainName)}`;
109
108
  this.aRecords = [];
110
- if ((props === null || props === void 0 ? void 0 : props.domainNames) != undefined && props.domainNames.length > 0) {
111
- for (let domainName of props.domainNames) {
112
- if ((_h = domainName.createRecord) !== null && _h !== void 0 ? _h : true) {
113
- let zone = typeof domainName.zone !== "string" ? domainName.zone : aws_route53_1.HostedZone.fromLookup(this, "zone-" + domainName.toIdentifier(), {
114
- domainName: domainName.zone
115
- });
116
- this.aRecords.push(new aws_route53_1.ARecord(this, domainName.toIdentifier(), {
117
- zone: zone,
118
- recordName: domainName.toString(),
119
- target: aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.CloudFrontTarget(this.distribution))
120
- }));
109
+ for (let domainNameProps of (_f = props.domainNames) !== null && _f !== void 0 ? _f : []) {
110
+ if ((_g = domainNameProps.createRecord) !== null && _g !== void 0 ? _g : true) {
111
+ let domainName = aws_route53_2.DomainName.findDomainName(domainNameProps, domainNames);
112
+ if (domainName !== undefined) {
113
+ this.aRecords.push(domainName.createARecord(this, aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.CloudFrontTarget(this.distribution))));
121
114
  }
122
115
  }
123
116
  }
@@ -152,14 +145,14 @@ function handler(event) {
152
145
  sources: [source],
153
146
  destinationBucket: this.bucket,
154
147
  distribution: this.distribution,
155
- cacheControl: [aws_s3_deployment_1.CacheControl.maxAge((_j = props.maxAge) !== null && _j !== void 0 ? _j : aws_cdk_lib_1.Duration.minutes(60))],
148
+ cacheControl: [aws_s3_deployment_1.CacheControl.maxAge((_h = props.maxAge) !== null && _h !== void 0 ? _h : aws_cdk_lib_1.Duration.minutes(60))],
156
149
  prune: false
157
150
  });
158
151
  if (this.fallbackBucket) {
159
152
  this.fallbackDeployment = new aws_s3_deployment_1.BucketDeployment(this, "FallbackAssets", {
160
153
  sources: [source],
161
154
  destinationBucket: this.fallbackBucket,
162
- cacheControl: [aws_s3_deployment_1.CacheControl.maxAge((_k = props.maxAge) !== null && _k !== void 0 ? _k : aws_cdk_lib_1.Duration.minutes(60))],
155
+ cacheControl: [aws_s3_deployment_1.CacheControl.maxAge((_j = props.maxAge) !== null && _j !== void 0 ? _j : aws_cdk_lib_1.Duration.minutes(60))],
163
156
  prune: false
164
157
  });
165
158
  }
@@ -190,4 +183,4 @@ Website.NPM_DIST_BUNDLING_OPTIONS = {
190
183
  ].join(" && ")
191
184
  ]
192
185
  };
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndlYnNpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXFDO0FBRXJDLCtEQVVvQztBQUNwQywrRUFBeUU7QUFDekUsK0VBQStEO0FBQy9ELHlEQUF1RjtBQUN2Rix5RUFBaUU7QUFDakUscUVBQXFGO0FBQ3JGLDZDQUFrRjtBQUNsRix5Q0FBNEM7QUFFNUMsSUFBWSxVQUtYO0FBTEQsV0FBWSxVQUFVO0lBQ3BCLCtCQUFpQixDQUFBO0lBQ2pCLDJCQUFhLENBQUE7SUFDYixpQ0FBbUIsQ0FBQTtJQUNuQiwrQkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsVUFBVSxHQUFWLGtCQUFVLEtBQVYsa0JBQVUsUUFLckI7QUFFRCxNQUFhLFVBQVU7SUFLckIsWUFBWSxNQUFjLEVBQUUsSUFBMEIsRUFBRSxZQUFzQjtRQUM1RSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQTtJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbEUsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQWxCRCxnQ0FrQkM7QUErRUQsTUFBYSxPQUFRLFNBQVEsc0JBQVM7SUF1Q3BDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBbUI7O1FBQzNELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFD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Q0FBQyx5QkFBeUIsQ0FBQztJQUMxRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsZUFBZTtLQUN0QjtDQUNGLENBQUE7QUFFRDs7O0dBR0c7QUFDYSxpQ0FBeUIsR0FBb0I7SUFDM0QsS0FBSyxFQUFFLHlCQUFXLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pELE9BQU8sRUFBRTtRQUNQLHlDQUF5QztRQUN6QyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ1Ysb0JBQW9CO1lBQ3BCLDJDQUEyQztZQUMzQyxjQUFjO1NBQ2YsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0tBQ2Y7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0J1Y2tldCwgSUJ1Y2tldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHtcbiAgRGlzdHJpYnV0aW9uLFxuICBGdW5jdGlvbixcbiAgRnVuY3Rpb25Db2RlLFxuICBGdW5jdGlvbkV2ZW50VHlwZSxcbiAgSHR0cFZlcnNpb24sXG4gIE9yaWdpbkFjY2Vzc0lkZW50aXR5LFxuICBQcmljZUNsYXNzLFxuICBTZWN1cml0eVBvbGljeVByb3RvY29sLFxuICBWaWV3ZXJQcm90b2NvbFBvbGljeVxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnRcIjtcbmltcG9ydCB7T3JpZ2luR3JvdXAsIFMzT3JpZ2lufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2luc1wiO1xuaW1wb3J0IHtDZXJ0aWZpY2F0ZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7QVJlY29yZCwgSG9zdGVkWm9uZSwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQge0Nsb3VkRnJvbnRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzXCI7XG5pbXBvcnQge0J1Y2tldERlcGxveW1lbnQsIENhY2hlQ29udHJvbCwgU291cmNlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzLWRlcGxveW1lbnRcIjtcbmltcG9ydCB7QnVuZGxpbmdPcHRpb25zLCBEb2NrZXJJbWFnZSwgRHVyYXRpb24sIFJlbW92YWxQb2xpY3l9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtFeHRlbmRlZEJ1Y2tldH0gZnJvbSBcIi4uLy4uL2F3cy1zM1wiO1xuXG5leHBvcnQgZW51bSBTb3VyY2VUeXBlIHtcbiAgQ3VzdG9tID0gXCJDdXN0b21cIixcbiAgSHVnbyA9IFwiSHVnb1wiLFxuICBOcG1EaXN0ID0gXCJOcG1EaXN0XCIsXG4gIFN0YXRpYyA9IFwiU3RhdGljXCJcbn1cblxuZXhwb3J0IGNsYXNzIERvbWFpbk5hbWUge1xuICByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcmVhZG9ubHkgem9uZTogc3RyaW5nIHwgSUhvc3RlZFpvbmU7XG4gIHJlYWRvbmx5IGNyZWF0ZVJlY29yZD86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJlZml4OiBzdHJpbmcsIHpvbmU6IHN0cmluZyB8IElIb3N0ZWRab25lLCBjcmVhdGVSZWNvcmQ/OiBib29sZWFuKSB7XG4gICAgdGhpcy5wcmVmaXggPSBwcmVmaXg7XG4gICAgdGhpcy56b25lID0gem9uZTtcbiAgICB0aGlzLmNyZWF0ZVJlY29yZCA9IGNyZWF0ZVJlY29yZFxuICB9XG5cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuICh0aGlzLnByZWZpeCA9PSBcIlwiID8gXCJcIiA6IHRoaXMucHJlZml4ICsgXCIuXCIpICsgdGhpcy56b25lO1xuICB9XG5cbiAgdG9JZGVudGlmaWVyKCkge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCkucmVwbGFjZShcIi5cIiwgXCItXCIpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2Vic2l0ZVByb3BzIHtcblxuICAvKipcbiAgICogQnVja2V0IHRvIHVzZSB0byBzdG9yZSB3ZWJzaXRlIGNvbnRlbnQuIElmIG9uZSBpcyBub3QgcHJvdmlkZWQsIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldD86IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIEJ1Y2tldCB0byB1c2UgaWYgdGhlIHByaW1hcnkgYnVja2V0IGZhaWxzLiBJZiBvbmUgaXMgbm90IHByb3ZpZGVkIGEgZmFsbGJhY2sgaXMgbm90IHNldHVwLlxuICAgKi9cbiAgcmVhZG9ubHkgZmFsbGJhY2tCdWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIHRvIHRoZSBBQ00gQ2VydGlmaWNhdGUgdG8gdXNlIG9uIHRoZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbi4gSWYgb25lIGlzIG5vdFxuICAgKiBwcm92aWRlZCBhbmQgZG9tYWluTmFtZXMgaXMgcG9wdWxhdGVkLCBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqL1xuICByZWFkb25seSBjZXJ0aWZpY2F0ZUFybj86IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG5hbWVzIHRvIGJlIHNlcnZpY2VkLiBUaGUgZmlyc3QgZG9tYWluIG5hbWUgaW4gdGhlIGxpc3QgaXMgdHJlYXRlZCBhcyB0aGUgYXBleCBkb21haW4uXG4gICAqL1xuICByZWFkb25seSBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXVxuXG4gIC8qKlxuICAgKiBSZWRpcmVjdCB0cmFmZmljIHRvIHRoZSBmaXJzdCBkb21haW4gaW4gdGhlIGxpc3Qgb2YgZG9tYWluTmFtZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJlZGlyZWN0VG9BcGV4RG9tYWluPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUHJpY2UgY2xhc3MgZm9yIHRoZSBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgUHJpY2VDbGFzcy5QUklDRV9DTEFTU18xMDBcbiAgICovXG4gIHJlYWRvbmx5IHByaWNlQ2xhc3M/OiBQcmljZUNsYXNzXG5cbiAgLyoqXG4gICAqIE1pbmltdW0gcHJvdG9jb2wgdmVyc2lvbiB0byBhbGxvdy5cbiAgICpcbiAgICogQGRlZmF1bHQgU2VjdXJpdHlQb2xpY3lQcm90b2NvbC5UTFNfVjFfMl8yMDIxLFxuICAgKi9cbiAgcmVhZG9ubHkgbWluaW11bVByb3RvY29sVmVyc2lvbj86IFNlY3VyaXR5UG9saWN5UHJvdG9jb2w7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gSFRUUCB2ZXJzaW9uIHRvIGFsbG93LlxuICAgKlxuICAgKiBAZGVmYXVsdCBIdHRwVmVyc2lvbi5IVFRQMV8xXG4gICAqL1xuICByZWFkb25seSBodHRwVmVyc2lvbj86IEh0dHBWZXJzaW9uO1xuXG4gIC8qKlxuICAgKiBDYWNoZS1jb250cm9sIG1heCBhZ2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLm1pbnV0ZXMoNjApXG4gICAqL1xuICByZWFkb25seSBtYXhBZ2U/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSB0eXBlIG9mIHRoZSB3ZWJzaXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBTb3VyY2VUeXBlLlN0YXRpY1xuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlVHlwZT86IFNvdXJjZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIHdlYnNpdGUgc291cmNlcyBhcmUgbG9jYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZURpcmVjdG9yeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gYnVuZGxpbmcgb3B0aW9ucyB0byB1c2UgdG8gYnVuZGxlIHdlYnNpdGUgc291cmNlcy4gVGhlIHNvdXJjZVR5cGVcbiAgICogbXVzdCBiZSBzZXQgdG8gU291cmNlVHlwZS5DdXN0b20uXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VCdW5kbGluZ09wdGlvbnM/OiBCdW5kbGluZ09wdGlvbnNcbn1cblxuZXhwb3J0IGNsYXNzIFdlYnNpdGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBidW5kbGluZyBvcHRpb25zIGZvciBTb3VyY2VUeXBlLkh1Z28uXG4gICAqL1xuICBzdGF0aWMgcmVhZG9ubHkgSFVHT19CVU5ETElOR19PUFRJT05TOiBCdW5kbGluZ09wdGlvbnMgPSB7XG4gICAgaW1hZ2U6IERvY2tlckltYWdlLmZyb21SZWdpc3RyeShcImtsYWtlZ2cvaHVnbzpsYXRlc3QtZXh0XCIpLFxuICAgIGNvbW1hbmQ6IFtcbiAgICAgIFwiLWRcIiwgXCIvYXNzZXQtb3V0cHV0XCJcbiAgICBdXG4gIH1cblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgYnVuZGxpbmcgb3B0aW9ucyBmb3IgU291cmNlVHlwZS5OcG1EaXN0LiBJdFwicyBleHBlY3RlZCB0aGF0IFwibnBtIHJ1biBkaXN0XCIgY29tbWFuZFxuICAgKiB3aWxsIHBsYWNlIGZpbGVzIGluICR7Q0RLX0JVTkRMSU5HX09VVFBVVF9ESVJ9LiBFeGFtcGxlOiBcIm5nIGJ1aWxkIC0tb3V0cHV0LXBhdGg9L2Fzc2V0LW91dHB1dFwiXG4gICAqL1xuICBzdGF0aWMgcmVhZG9ubHkgTlBNX0RJU1RfQlVORExJTkdfT1BUSU9OUzogQnVuZGxpbmdPcHRpb25zID0ge1xuICAgIGltYWdlOiBEb2NrZXJJbWFnZS5mcm9tUmVnaXN0cnkoXCJub2RlOjE2LWFscGluZVwiKSxcbiAgICBjb21tYW5kOiBbXG4gICAgICAvLyBUT0RPIEZpZ3VyZSBvdXQgaG93IHRvIGNhY2hlIC5ucG1jYWNoZVxuICAgICAgXCJzaFwiLCBcIi1jXCIsIFtcbiAgICAgICAgXCJta2RpciAtcCAubnBtY2FjaGVcIixcbiAgICAgICAgXCJucG0gY2kgLS1jYWNoZSAubnBtY2FjaGUgLS1wcmVmZXItb2ZmbGluZVwiLFxuICAgICAgICBcIm5wbSBydW4gZGlzdFwiXG4gICAgICBdLmpvaW4oXCIgJiYgXCIpXG4gICAgXVxuICB9XG5cbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuICByZWFkb25seSBmYWxsYmFja0J1Y2tldD86IElCdWNrZXQ7XG4gIHJlYWRvbmx5IG9yaWdpbkFjY2Vzc0lkZW50aXR5OiBPcmlnaW5BY2Nlc3NJZGVudGl0eTtcbiAgcmVhZG9ubHkgYXBleERvbWFpbjogc3RyaW5nO1xuICByZWFkb25seSB2aWV3ZXJSZXF1ZXN0RnVuY3Rpb246IEZ1bmN0aW9uO1xuICByZWFkb25seSBkaXN0cmlidXRpb246IERpc3RyaWJ1dGlvbjtcbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFSZWNvcmRzOiBBUmVjb3JkW107XG4gIHJlYWRvbmx5IGRlcGxveW1lbnQ6IEJ1Y2tldERlcGxveW1lbnQ7XG4gIHJlYWRvbmx5IGZhbGxiYWNrRGVwbG95bWVudD86IEJ1Y2tldERlcGxveW1lbnQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFdlYnNpdGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IHByb3BzLmJ1Y2tldCA/PyBuZXcgRXh0ZW5kZWRCdWNrZXQodGhpcywgXCJCdWNrZXRcIiwge1xuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWVcbiAgICB9KTtcbiAgICB0aGlzLmZhbGxiYWNrQnVja2V0ID0gcHJvcHMuZmFsbGJhY2tCdWNrZXQ7XG5cbiAgICB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IE9yaWdpbkFjY2Vzc0lkZW50aXR5KHRoaXMsIFwiQWNjZXNzXCIpO1xuICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZCh0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5KTtcbiAgICBpZiAodGhpcy5mYWxsYmFja0J1Y2tldCkge1xuICAgICAgdGhpcy5mYWxsYmFja0J1Y2tldC5ncmFudFJlYWQodGhpcy5vcmlnaW5BY2Nlc3NJZGVudGl0eSk7XG4gICAgfVxuXG4gICAgdGhpcy5hcGV4RG9tYWluID0gcHJvcHM/LmRvbWFpbk5hbWVzPy5bMF0udG9TdHJpbmcoKSB8fCBcIlwiO1xuXG4gICAgdGhpcy52aWV3ZXJSZXF1ZXN0RnVuY3Rpb24gPSBuZXcgRnVuY3Rpb24odGhpcywgXCJWaWV3ZXJSZXF1ZXN0RnVuY3Rpb25cIiwge1xuICAgICAgY29kZTogRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUoYFxuZnVuY3Rpb24gaGFuZGxlcihldmVudCkge1xuICB2YXIgaG9zdCA9IGV2ZW50LnJlcXVlc3QuaGVhZGVycy5ob3N0LnZhbHVlO1xuICB2YXIgdXJpID0gZXZlbnQucmVxdWVzdC51cmk7XG4gIHZhciBtYXRjaEFwZXggPSBNQVRDSF9BUEVYO1xuICBpZiAobWF0Y2hBcGV4ICYmIGhvc3QgIT09IFwiQVBFWF9ET01BSU5cIikge1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiAzMDEsXG4gICAgICBzdGF0dXNEZXNjcmlwdGlvbjogXCJQZXJtYW5lbnRseSBtb3ZlZFwiLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBcImxvY2F0aW9uXCI6IHsgXCJ2YWx1ZVwiOiBcImh0dHBzOi8vQVBFWF9ET01BSU5cIiArIHVyaSB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICh1cmkuZW5kc1dpdGgoXCIvXCIpKSB7XG4gICAgZXZlbnQucmVxdWVzdC51cmkgPSB1cmkgKyBcImluZGV4Lmh0bWxcIjtcbiAgfVxuICByZXR1cm4gZXZlbnQucmVxdWVzdDtcbn1gXG4gICAgICAgIC5yZXBsYWNlKC9BUEVYX0RPTUFJTi9nLCB0aGlzLmFwZXhEb21haW4pXG4gICAgICAgIC5yZXBsYWNlKC9NQVRDSF9BUEVYL2csIHRoaXMuYXBleERvbWFpbiAhPT0gXCJcIiAmJiAocHJvcHMucmVkaXJlY3RUb0FwZXhEb21haW4/P3RydWUpID8gXCJ0cnVlXCIgOiBcImZhbHNlXCIpKVxuICAgIH0pO1xuXG4gICAgY29uc3QgYnVja2V0T3JpZ2luID0gbmV3IFMzT3JpZ2luKHRoaXMuYnVja2V0LCB7XG4gICAgICBvcmlnaW5BY2Nlc3NJZGVudGl0eTogdGhpcy5vcmlnaW5BY2Nlc3NJZGVudGl0eVxuICAgIH0pO1xuXG4gICAgY29uc3QgZmFsbGJhY2tCdWNrZXRPcmlnaW4gPSB0aGlzLmZhbGxiYWNrQnVja2V0ID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBuZXcgUzNPcmlnaW4odGhpcy5mYWxsYmFja0J1Y2tldCwge1xuICAgICAgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHlcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmF1bHRPcmlnaW4gPSBmYWxsYmFja0J1Y2tldE9yaWdpbiA9PT0gdW5kZWZpbmVkID8gYnVja2V0T3JpZ2luIDogbmV3IE9yaWdpbkdyb3VwKHtcbiAgICAgIHByaW1hcnlPcmlnaW46IGJ1Y2tldE9yaWdpbixcbiAgICAgIGZhbGxiYWNrT3JpZ2luOiBmYWxsYmFja0J1Y2tldE9yaWdpblxuICAgIH0pO1xuXG4gICAgdGhpcy5kaXN0cmlidXRpb24gPSBuZXcgRGlzdHJpYnV0aW9uKHRoaXMsIFwiRGlzdHJpYnV0aW9uXCIsIHtcbiAgICAgIGRlZmF1bHRCZWhhdmlvcjoge1xuICAgICAgICBvcmlnaW46IGRlZmF1bHRPcmlnaW4sXG4gICAgICAgIHZpZXdlclByb3RvY29sUG9saWN5OiBWaWV3ZXJQcm90b2NvbFBvbGljeS5SRURJUkVDVF9UT19IVFRQUyxcbiAgICAgICAgZnVuY3Rpb25Bc3NvY2lhdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmdW5jdGlvbjogdGhpcy52aWV3ZXJSZXF1ZXN0RnVuY3Rpb24sXG4gICAgICAgICAgICBldmVudFR5cGU6IEZ1bmN0aW9uRXZlbnRUeXBlLlZJRVdFUl9SRVFVRVNUXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAgZXJyb3JSZXNwb25zZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGh0dHBTdGF0dXM6IDQwNCxcbiAgICAgICAgICByZXNwb25zZUh0dHBTdGF0dXM6IDQwNCxcbiAgICAgICAgICByZXNwb25zZVBhZ2VQYXRoOiBcIi80MDQuaHRtbFwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBodHRwVmVyc2lvbjogcHJvcHMuaHR0cFZlcnNpb24/P0h0dHBWZXJzaW9uLkhUVFAxXzEsXG4gICAgICBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uOiBwcm9wcy5taW5pbXVtUHJvdG9jb2xWZXJzaW9uPz9TZWN1cml0eVBvbGljeVByb3RvY29sLlRMU19WMV8yXzIwMjEsXG4gICAgICBkZWZhdWx0Um9vdE9iamVjdDogXCJpbmRleC5odG1sXCIsXG4gICAgICBjZXJ0aWZpY2F0ZTogcHJvcHM/LmNlcnRpZmljYXRlQXJuID09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IENlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybih0aGlzLCBcIkNlcnRpZmljYXRlXCIsIHByb3BzLmNlcnRpZmljYXRlQXJuKSxcbiAgICAgIGRvbWFpbk5hbWVzOiBwcm9wcz8uZG9tYWluTmFtZXM/Lm1hcCgoZG9tYWluTmFtZSkgPT4gZG9tYWluTmFtZS50b1N0cmluZygpKSxcbiAgICAgIGVuYWJsZUlwdjY6IHRydWUsXG4gICAgICBwcmljZUNsYXNzOiBwcm9wcy5wcmljZUNsYXNzPz9QcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMFxuICAgIH0pO1xuXG4gICAgdGhpcy5kaXN0cmlidXRpb25VcmwgPSBgaHR0cHM6Ly8keyh0aGlzLmFwZXhEb21haW4gIT0gXCJcIiA/IHRoaXMuYXBleERvbWFpbiA6IHRoaXMuZGlzdHJpYnV0aW9uLmRpc3RyaWJ1dGlvbkRvbWFpbk5hbWUpfWBcblxuICAgIHRoaXMuYVJlY29yZHMgPSBbXTtcblxuICAgIGlmIChwcm9wcz8uZG9tYWluTmFtZXMgIT0gdW5kZWZpbmVkICYmIHByb3BzLmRvbWFpbk5hbWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGZvciAobGV0IGRvbWFpbk5hbWUgb2YgcHJvcHMuZG9tYWluTmFtZXMpIHtcbiAgICAgICAgaWYgKGRvbWFpbk5hbWUuY3JlYXRlUmVjb3JkPz90cnVlKSB7XG4gICAgICAgICAgbGV0IHpvbmUgPSB0eXBlb2YgZG9tYWluTmFtZS56b25lICE9PSBcInN0cmluZ1wiID8gZG9tYWluTmFtZS56b25lIDogSG9zdGVkWm9uZS5mcm9tTG9va3VwKHRoaXMsIFwiem9uZS1cIiArIGRvbWFpbk5hbWUudG9JZGVudGlmaWVyKCksIHtcbiAgICAgICAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbk5hbWUuem9uZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuYVJlY29yZHMucHVzaChuZXcgQVJlY29yZCh0aGlzLCBkb21haW5OYW1lLnRvSWRlbnRpZmllcigpLCB7XG4gICAgICAgICAgICB6b25lOiB6b25lLFxuICAgICAgICAgICAgcmVjb3JkTmFtZTogZG9tYWluTmFtZS50b1N0cmluZygpLFxuICAgICAgICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKG5ldyBDbG91ZEZyb250VGFyZ2V0KHRoaXMuZGlzdHJpYnV0aW9uKSlcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgYnVuZGxpbmdPcHRpb25zOiBCdW5kbGluZ09wdGlvbnMgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICAgIGlmIChwcm9wcy5zb3VyY2VUeXBlID09PSBTb3VyY2VUeXBlLkN1c3RvbSkge1xuICAgICAgaWYgKCFwcm9wcy5zb3VyY2VCdW5kbGluZ09wdGlvbnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwic291cmNlQnVuZGxpbmdPcHRpb25zIGlzIHJlcXVpcmVkIGlmIHNvdXJjZSB0eXBlIGlzIEN1c3RvbVwiKTtcbiAgICAgIH1cbiAgICAgIGJ1bmRsaW5nT3B0aW9ucyA9IHByb3BzLnNvdXJjZUJ1bmRsaW5nT3B0aW9uc1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zb3VyY2VUeXBlID09PSBTb3VyY2VUeXBlLlN0YXRpYykge1xuICAgICAgaWYgKHByb3BzLnNvdXJjZUJ1bmRsaW5nT3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgdXNlIHNvdXJjZUJ1bmRsaW5nT3B0aW9ucyB3aXRoIHNvdXJjZSB0eXBlIFN0YXRpY1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJvcHMuc291cmNlVHlwZSA9PT0gU291cmNlVHlwZS5IdWdvKSB7XG4gICAgICBidW5kbGluZ09wdGlvbnMgPSBXZWJzaXRlLkhVR09fQlVORExJTkdfT1BUSU9OU1xuICAgICAgaWYgKHByb3BzLnNvdXJjZUJ1bmRsaW5nT3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgdXNlIHNvdXJjZUJ1bmRsaW5nT3B0aW9ucyB3aXRoIHNvdXJjZSB0eXBlIEh1Z29cIik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wcy5zb3VyY2VUeXBlID09PSBTb3VyY2VUeXBlLk5wbURpc3QpIHtcbiAgICAgIGJ1bmRsaW5nT3B0aW9ucyA9IFdlYnNpdGUuTlBNX0RJU1RfQlVORExJTkdfT1BUSU9OU1xuICAgICAgaWYgKHByb3BzLnNvdXJjZUJ1bmRsaW5nT3B0aW9ucykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgdXNlIHNvdXJjZUJ1bmRsaW5nT3B0aW9ucyB3aXRoIHNvdXJjZSB0eXBlIE5wbURpc3RcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlID0gU291cmNlLmFzc2V0KHByb3BzLnNvdXJjZURpcmVjdG9yeSwge1xuICAgICAgYnVuZGxpbmc6IGJ1bmRsaW5nT3B0aW9uc1xuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3ltZW50ID0gbmV3IEJ1Y2tldERlcGxveW1lbnQodGhpcywgXCJBc3NldHNcIiwge1xuICAgICAgc291cmNlczogW3NvdXJjZV0sXG4gICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICBkaXN0cmlidXRpb246IHRoaXMuZGlzdHJpYnV0aW9uLFxuICAgICAgY2FjaGVDb250cm9sOiBbQ2FjaGVDb250cm9sLm1heEFnZShwcm9wcy5tYXhBZ2U/P0R1cmF0aW9uLm1pbnV0ZXMoNjApKV0sXG4gICAgICBwcnVuZTogZmFsc2VcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmZhbGxiYWNrQnVja2V0KSB7XG4gICAgICB0aGlzLmZhbGxiYWNrRGVwbG95bWVudCA9IG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIFwiRmFsbGJhY2tBc3NldHNcIiwge1xuICAgICAgICBzb3VyY2VzOiBbc291cmNlXSxcbiAgICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHRoaXMuZmFsbGJhY2tCdWNrZXQsXG4gICAgICAgIGNhY2hlQ29udHJvbDogW0NhY2hlQ29udHJvbC5tYXhBZ2UocHJvcHMubWF4QWdlPz9EdXJhdGlvbi5taW51dGVzKDYwKSldLFxuICAgICAgICBwcnVuZTogZmFsc2VcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndlYnNpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXFDO0FBRXJDLCtEQVVvQztBQUNwQywrRUFBeUU7QUFDekUsK0VBQW9HO0FBQ3BHLHlEQUE4RDtBQUM5RCx5RUFBaUU7QUFDakUscUVBQXFGO0FBQ3JGLDZDQUFrRjtBQUNsRix5Q0FBNEM7QUFDNUMsbURBQThEO0FBRTlELElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQiwrQkFBaUIsQ0FBQTtJQUNqQiwyQkFBYSxDQUFBO0lBQ2IsaUNBQW1CLENBQUE7SUFDbkIsK0JBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBS3JCO0FBd0ZELE1BQWEsT0FBUSxTQUFRLHNCQUFTO0lBdUNwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1COztRQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sV0FBVyxHQUFHLHdCQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RCxJQUFJLFdBQVcsR0FBNkIsU0FBUyxDQUFDO1FBQ3RELElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxTQUFTLEVBQUU7WUFDdEMsV0FBVyxHQUFHLG9DQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7U0FDeEY7YUFBTSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pDLFdBQVcsR0FBRyxJQUFJLG9DQUFXLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDakQsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ3JDLHVCQUF1QixFQUFFLHdCQUFVLENBQUMsU0FBUyxDQUFD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RUFBRSxDQUFDLGdDQUFZLENBQUMsTUFBTSxPQUFDLEtBQUssQ0FBQyxNQUFNLG1DQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdkUsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7UUFFSCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksb0NBQWdCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUNyRSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2pCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxjQUFjO2dCQUN0QyxZQUFZLEVBQUUsQ0FBQyxnQ0FBWSxDQUFDLE1BQU0sT0FBQyxLQUFLLENBQUMsTUFBTSxtQ0FBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxLQUFLLEVBQUUsS0FBSzthQUNiLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQzs7QUFsTUgsMEJBbU1DO0FBak1DOztHQUVHO0FBQ2EsNkJBQXFCLEdBQW9CO0lBQ3ZELEtBQUssRUFBRSx5QkFBVyxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztJQUMxRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUUsZUFBZTtLQUN0QjtDQUNGLENBQUE7QUFFRDs7O0dBR0c7QUFDYSxpQ0FBeUIsR0FBb0I7SUFDM0QsS0FBSyxFQUFFLHlCQUFXLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO0lBQ2pELE9BQU8sRUFBRTtRQUNQLHlDQUF5QztRQUN6QyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ1Ysb0JBQW9CO1lBQ3BCLDJDQUEyQztZQUMzQyxjQUFjO1NBQ2YsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0tBQ2Y7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0lCdWNrZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7XG4gIERpc3RyaWJ1dGlvbixcbiAgRnVuY3Rpb24sXG4gIEZ1bmN0aW9uQ29kZSxcbiAgRnVuY3Rpb25FdmVudFR5cGUsXG4gIEh0dHBWZXJzaW9uLFxuICBPcmlnaW5BY2Nlc3NJZGVudGl0eSxcbiAgUHJpY2VDbGFzcyxcbiAgU2VjdXJpdHlQb2xpY3lQcm90b2NvbCxcbiAgVmlld2VyUHJvdG9jb2xQb2xpY3lcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZGZyb250XCI7XG5pbXBvcnQge09yaWdpbkdyb3VwLCBTM09yaWdpbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZGZyb250LW9yaWdpbnNcIjtcbmltcG9ydCB7Q2VydGlmaWNhdGUsIENlcnRpZmljYXRlVmFsaWRhdGlvbiwgSUNlcnRpZmljYXRlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlclwiO1xuaW1wb3J0IHtBUmVjb3JkLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtDbG91ZEZyb250VGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHtCdWNrZXREZXBsb3ltZW50LCBDYWNoZUNvbnRyb2wsIFNvdXJjZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1kZXBsb3ltZW50XCI7XG5pbXBvcnQge0J1bmRsaW5nT3B0aW9ucywgRG9ja2VySW1hZ2UsIER1cmF0aW9uLCBSZW1vdmFsUG9saWN5fSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7RXh0ZW5kZWRCdWNrZXR9IGZyb20gXCIuLi8uLi9hd3MtczNcIjtcbmltcG9ydCB7RG9tYWluTmFtZSwgRG9tYWluTmFtZVByb3BzfSBmcm9tIFwiLi4vLi4vYXdzLXJvdXRlNTNcIjtcblxuZXhwb3J0IGVudW0gU291cmNlVHlwZSB7XG4gIEN1c3RvbSA9IFwiQ3VzdG9tXCIsXG4gIEh1Z28gPSBcIkh1Z29cIixcbiAgTnBtRGlzdCA9IFwiTnBtRGlzdFwiLFxuICBTdGF0aWMgPSBcIlN0YXRpY1wiXG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgV2Vic2l0ZURvbWFpbk5hbWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2Vic2l0ZURvbWFpbk5hbWVQcm9wcyBleHRlbmRzIERvbWFpbk5hbWVQcm9wcyB7XG5cbiAgcmVhZG9ubHkgY3JlYXRlUmVjb3JkPzogYm9vbGVhbjtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNpdGVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIEJ1Y2tldCB0byB1c2UgdG8gc3RvcmUgd2Vic2l0ZSBjb250ZW50LiBJZiBvbmUgaXMgbm90IHByb3ZpZGVkLCBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBCdWNrZXQgdG8gdXNlIGlmIHRoZSBwcmltYXJ5IGJ1Y2tldCBmYWlscy4gSWYgb25lIGlzIG5vdCBwcm92aWRlZCBhIGZhbGxiYWNrIGlzIG5vdCBzZXR1cC5cbiAgICovXG4gIHJlYWRvbmx5IGZhbGxiYWNrQnVja2V0PzogSUJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIEFSTiB0byB0aGUgQUNNIENlcnRpZmljYXRlIHRvIHVzZSBvbiB0aGUgQ2xvdWRGcm9udCBkaXN0cmlidXRpb24uIElmIG9uZSBpcyBub3RcbiAgICogcHJvdmlkZWQgYW5kIGRvbWFpbk5hbWVzIGlzIHBvcHVsYXRlZCwgb25lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb21haW4gbmFtZXMgdG8gYmUgc2VydmljZWQuIFRoZSBmaXJzdCBkb21haW4gbmFtZSBpbiB0aGUgbGlzdCBpcyB0cmVhdGVkIGFzIHRoZSBhcGV4IGRvbWFpbi5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWVzPzogV2Vic2l0ZURvbWFpbk5hbWVQcm9wc1tdXG5cbiAgLyoqXG4gICAqIFJlZGlyZWN0IHRyYWZmaWMgdG8gdGhlIGZpcnN0IGRvbWFpbiBpbiB0aGUgbGlzdCBvZiBkb21haW5OYW1lcy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVkaXJlY3RUb0FwZXhEb21haW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcmljZSBjbGFzcyBmb3IgdGhlIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBQcmljZUNsYXNzLlBSSUNFX0NMQVNTXzEwMFxuICAgKi9cbiAgcmVhZG9ubHkgcHJpY2VDbGFzcz86IFByaWNlQ2xhc3NcblxuICAvKipcbiAgICogTWluaW11bSBwcm90b2NvbCB2ZXJzaW9uIHRvIGFsbG93LlxuICAgKlxuICAgKiBAZGVmYXVsdCBTZWN1cml0eVBvbGljeVByb3RvY29sLlRMU19WMV8yXzIwMjEsXG4gICAqL1xuICByZWFkb25seSBtaW5pbXVtUHJvdG9jb2xWZXJzaW9uPzogU2VjdXJpdHlQb2xpY3lQcm90b2NvbDtcblxuICAvKipcbiAgICogTWluaW11bSBIVFRQIHZlcnNpb24gdG8gYWxsb3cuXG4gICAqXG4gICAqIEBkZWZhdWx0IEh0dHBWZXJzaW9uLkhUVFAxXzFcbiAgICovXG4gIHJlYWRvbmx5IGh0dHBWZXJzaW9uPzogSHR0cFZlcnNpb247XG5cbiAgLyoqXG4gICAqIENhY2hlLWNvbnRyb2wgbWF4IGFnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24ubWludXRlcyg2MClcbiAgICovXG4gIHJlYWRvbmx5IG1heEFnZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIHR5cGUgb2YgdGhlIHdlYnNpdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFNvdXJjZVR5cGUuU3RhdGljXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VUeXBlPzogU291cmNlVHlwZTtcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgd2Vic2l0ZSBzb3VyY2VzIGFyZSBsb2NhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBidW5kbGluZyBvcHRpb25zIHRvIHVzZSB0byBidW5kbGUgd2Vic2l0ZSBzb3VyY2VzLiBUaGUgc291cmNlVHlwZVxuICAgKiBtdXN0IGJlIHNldCB0byBTb3VyY2VUeXBlLkN1c3RvbS5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUJ1bmRsaW5nT3B0aW9ucz86IEJ1bmRsaW5nT3B0aW9uc1xufVxuXG5leHBvcnQgY2xhc3MgV2Vic2l0ZSBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IGJ1bmRsaW5nIG9wdGlvbnMgZm9yIFNvdXJjZVR5cGUuSHVnby5cbiAgICovXG4gIHN0YXRpYyByZWFkb25seSBIVUdPX0JVTkRMSU5HX09QVElPTlM6IEJ1bmRsaW5nT3B0aW9ucyA9IHtcbiAgICBpbWFnZTogRG9ja2VySW1hZ2UuZnJvbVJlZ2lzdHJ5KFwia2xha2VnZy9odWdvOmxhdGVzdC1leHRcIiksXG4gICAgY29tbWFuZDogW1xuICAgICAgXCItZFwiLCBcIi9hc3NldC1vdXRwdXRcIlxuICAgIF1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBidW5kbGluZyBvcHRpb25zIGZvciBTb3VyY2VUeXBlLk5wbURpc3QuIEl0XCJzIGV4cGVjdGVkIHRoYXQgXCJucG0gcnVuIGRpc3RcIiBjb21tYW5kXG4gICAqIHdpbGwgcGxhY2UgZmlsZXMgaW4gJHtDREtfQlVORExJTkdfT1VUUFVUX0RJUn0uIEV4YW1wbGU6IFwibmcgYnVpbGQgLS1vdXRwdXQtcGF0aD0vYXNzZXQtb3V0cHV0XCJcbiAgICovXG4gIHN0YXRpYyByZWFkb25seSBOUE1fRElTVF9CVU5ETElOR19PUFRJT05TOiBCdW5kbGluZ09wdGlvbnMgPSB7XG4gICAgaW1hZ2U6IERvY2tlckltYWdlLmZyb21SZWdpc3RyeShcIm5vZGU6MTYtYWxwaW5lXCIpLFxuICAgIGNvbW1hbmQ6IFtcbiAgICAgIC8vIFRPRE8gRmlndXJlIG91dCBob3cgdG8gY2FjaGUgLm5wbWNhY2hlXG4gICAgICBcInNoXCIsIFwiLWNcIiwgW1xuICAgICAgICBcIm1rZGlyIC1wIC5ucG1jYWNoZVwiLFxuICAgICAgICBcIm5wbSBjaSAtLWNhY2hlIC5ucG1jYWNoZSAtLXByZWZlci1vZmZsaW5lXCIsXG4gICAgICAgIFwibnBtIHJ1biBkaXN0XCJcbiAgICAgIF0uam9pbihcIiAmJiBcIilcbiAgICBdXG4gIH1cblxuICByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG4gIHJlYWRvbmx5IGZhbGxiYWNrQnVja2V0PzogSUJ1Y2tldDtcbiAgcmVhZG9ubHkgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IE9yaWdpbkFjY2Vzc0lkZW50aXR5O1xuICByZWFkb25seSBhcGV4RG9tYWluOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZpZXdlclJlcXVlc3RGdW5jdGlvbjogRnVuY3Rpb247XG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbjogRGlzdHJpYnV0aW9uO1xuICByZWFkb25seSBkaXN0cmlidXRpb25Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgYVJlY29yZHM6IEFSZWNvcmRbXTtcbiAgcmVhZG9ubHkgZGVwbG95bWVudDogQnVja2V0RGVwbG95bWVudDtcbiAgcmVhZG9ubHkgZmFsbGJhY2tEZXBsb3ltZW50PzogQnVja2V0RGVwbG95bWVudDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogV2Vic2l0ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGRvbWFpbk5hbWVzID0gRG9tYWluTmFtZS5mcm9tUHJvcHMocHJvcHMuZG9tYWluTmFtZXMpO1xuXG4gICAgbGV0IGNlcnRpZmljYXRlOiBJQ2VydGlmaWNhdGUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHByb3BzLmNlcnRpZmljYXRlQXJuICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNlcnRpZmljYXRlID0gQ2VydGlmaWNhdGUuZnJvbUNlcnRpZmljYXRlQXJuKHRoaXMsIFwiQ2VydGlmaWNhdGVcIiwgcHJvcHMuY2VydGlmaWNhdGVBcm4pXG4gICAgfSBlbHNlIGlmIChkb21haW5OYW1lcy5sZW5ndGggPiAwKSB7XG4gICAgICBjZXJ0aWZpY2F0ZSA9IG5ldyBDZXJ0aWZpY2F0ZSh0aGlzLCBcIkNlcnRpZmljYXRlXCIsIHtcbiAgICAgICAgZG9tYWluTmFtZTogZG9tYWluTmFtZXNbMF0udG9TdHJpbmcoKSxcbiAgICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IERvbWFpbk5hbWUudG9TdHJpbmdzKGRvbWFpbk5hbWVzKS5zbGljZSgxKSxcbiAgICAgICAgdmFsaWRhdGlvbjogQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUoRG9tYWluTmFtZS50b1pvbmVNYXAodGhpcywgZG9tYWluTmFtZXMpKVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5idWNrZXQgPSBwcm9wcy5idWNrZXQgPz8gbmV3IEV4dGVuZGVkQnVja2V0KHRoaXMsIFwiQnVja2V0XCIsIHtcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlXG4gICAgfSk7XG4gICAgdGhpcy5mYWxsYmFja0J1Y2tldCA9IHByb3BzLmZhbGxiYWNrQnVja2V0O1xuXG4gICAgdGhpcy5vcmlnaW5BY2Nlc3NJZGVudGl0eSA9IG5ldyBPcmlnaW5BY2Nlc3NJZGVudGl0eSh0aGlzLCBcIkFjY2Vzc1wiKTtcbiAgICB0aGlzLmJ1Y2tldC5ncmFudFJlYWQodGhpcy5vcmlnaW5BY2Nlc3NJZGVudGl0eSk7XG4gICAgaWYgKHRoaXMuZmFsbGJhY2tCdWNrZXQpIHtcbiAgICAgIHRoaXMuZmFsbGJhY2tCdWNrZXQuZ3JhbnRSZWFkKHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHkpO1xuICAgIH1cblxuICAgIHRoaXMuYXBleERvbWFpbiA9IGRvbWFpbk5hbWVzLmxlbmd0aCA+IDAgPyBkb21haW5OYW1lc1swXS50b1N0cmluZygpIDogXCJcIjtcblxuICAgIHRoaXMudmlld2VyUmVxdWVzdEZ1bmN0aW9uID0gbmV3IEZ1bmN0aW9uKHRoaXMsIFwiVmlld2VyUmVxdWVzdEZ1bmN0aW9uXCIsIHtcbiAgICAgIGNvZGU6IEZ1bmN0aW9uQ29kZS5mcm9tSW5saW5lKGBcbmZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHtcbiAgdmFyIGhvc3QgPSBldmVudC5yZXF1ZXN0LmhlYWRlcnMuaG9zdC52YWx1ZTtcbiAgdmFyIHVyaSA9IGV2ZW50LnJlcXVlc3QudXJpO1xuICB2YXIgbWF0Y2hBcGV4ID0gTUFUQ0hfQVBFWDtcbiAgaWYgKG1hdGNoQXBleCAmJiBob3N0ICE9PSBcIkFQRVhfRE9NQUlOXCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogMzAxLFxuICAgICAgc3RhdHVzRGVzY3JpcHRpb246IFwiUGVybWFuZW50bHkgbW92ZWRcIixcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJsb2NhdGlvblwiOiB7IFwidmFsdWVcIjogXCJodHRwczovL0FQRVhfRE9NQUlOXCIgKyB1cmkgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAodXJpLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgIGV2ZW50LnJlcXVlc3QudXJpID0gdXJpICsgXCJpbmRleC5odG1sXCI7XG4gIH1cbiAgcmV0dXJuIGV2ZW50LnJlcXVlc3Q7XG59YFxuICAgICAgICAucmVwbGFjZSgvQVBFWF9ET01BSU4vZywgdGhpcy5hcGV4RG9tYWluKVxuICAgICAgICAucmVwbGFjZSgvTUFUQ0hfQVBFWC9nLCB0aGlzLmFwZXhEb21haW4gIT09IFwiXCIgJiYgKHByb3BzLnJlZGlyZWN0VG9BcGV4RG9tYWluPz90cnVlKSA/IFwidHJ1ZVwiIDogXCJmYWxzZVwiKSlcbiAgICB9KTtcblxuICAgIGNvbnN0IGJ1Y2tldE9yaWdpbiA9IG5ldyBTM09yaWdpbih0aGlzLmJ1Y2tldCwge1xuICAgICAgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHlcbiAgICB9KTtcblxuICAgIGNvbnN0IGZhbGxiYWNrQnVja2V0T3JpZ2luID0gdGhpcy5mYWxsYmFja0J1Y2tldCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogbmV3IFMzT3JpZ2luKHRoaXMuZmFsbGJhY2tCdWNrZXQsIHtcbiAgICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5OiB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5XG4gICAgfSk7XG5cbiAgICBjb25zdCBkZWZhdWx0T3JpZ2luID0gZmFsbGJhY2tCdWNrZXRPcmlnaW4gPT09IHVuZGVmaW5lZCA/IGJ1Y2tldE9yaWdpbiA6IG5ldyBPcmlnaW5Hcm91cCh7XG4gICAgICBwcmltYXJ5T3JpZ2luOiBidWNrZXRPcmlnaW4sXG4gICAgICBmYWxsYmFja09yaWdpbjogZmFsbGJhY2tCdWNrZXRPcmlnaW5cbiAgICB9KTtcblxuICAgIHRoaXMuZGlzdHJpYnV0aW9uID0gbmV3IERpc3RyaWJ1dGlvbih0aGlzLCBcIkRpc3RyaWJ1dGlvblwiLCB7XG4gICAgICBkZWZhdWx0QmVoYXZpb3I6IHtcbiAgICAgICAgb3JpZ2luOiBkZWZhdWx0T3JpZ2luLFxuICAgICAgICB2aWV3ZXJQcm90b2NvbFBvbGljeTogVmlld2VyUHJvdG9jb2xQb2xpY3kuUkVESVJFQ1RfVE9fSFRUUFMsXG4gICAgICAgIGZ1bmN0aW9uQXNzb2NpYXRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZnVuY3Rpb246IHRoaXMudmlld2VyUmVxdWVzdEZ1bmN0aW9uLFxuICAgICAgICAgICAgZXZlbnRUeXBlOiBGdW5jdGlvbkV2ZW50VHlwZS5WSUVXRVJfUkVRVUVTVFxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIGVycm9yUmVzcG9uc2VzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBodHRwU3RhdHVzOiA0MDQsXG4gICAgICAgICAgcmVzcG9uc2VIdHRwU3RhdHVzOiA0MDQsXG4gICAgICAgICAgcmVzcG9uc2VQYWdlUGF0aDogXCIvNDA0Lmh0bWxcIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgaHR0cFZlcnNpb246IHByb3BzLmh0dHBWZXJzaW9uPz9IdHRwVmVyc2lvbi5IVFRQMV8xLFxuICAgICAgbWluaW11bVByb3RvY29sVmVyc2lvbjogcHJvcHMubWluaW11bVByb3RvY29sVmVyc2lvbj8/U2VjdXJpdHlQb2xpY3lQcm90b2NvbC5UTFNfVjFfMl8yMDIxLFxuICAgICAgZGVmYXVsdFJvb3RPYmplY3Q6IFwiaW5kZXguaHRtbFwiLFxuICAgICAgY2VydGlmaWNhdGUsXG4gICAgICBkb21haW5OYW1lczogRG9tYWluTmFtZS50b1N0cmluZ3MoZG9tYWluTmFtZXMpLFxuICAgICAgZW5hYmxlSXB2NjogdHJ1ZSxcbiAgICAgIHByaWNlQ2xhc3M6IHByb3BzLnByaWNlQ2xhc3M/P1ByaWNlQ2xhc3MuUFJJQ0VfQ0xBU1NfMTAwXG4gICAgfSk7XG5cbiAgICB0aGlzLmRpc3RyaWJ1dGlvblVybCA9IGBodHRwczovLyR7KHRoaXMuYXBleERvbWFpbiAhPSBcIlwiID8gdGhpcy5hcGV4RG9tYWluIDogdGhpcy5kaXN0cmlidXRpb24uZGlzdHJpYnV0aW9uRG9tYWluTmFtZSl9YFxuXG4gICAgdGhpcy5hUmVjb3JkcyA9IFtdO1xuXG4gICAgZm9yIChsZXQgZG9tYWluTmFtZVByb3BzIG9mIHByb3BzLmRvbWFpbk5hbWVzID8/IFtdKSB7XG4gICAgICBpZiAoZG9tYWluTmFtZVByb3BzLmNyZWF0ZVJlY29yZCA/PyB0cnVlKSB7XG4gICAgICAgIGxldCBkb21haW5OYW1lID0gRG9tYWluTmFtZS5maW5kRG9tYWluTmFtZShkb21haW5OYW1lUHJvcHMsIGRvbWFpbk5hbWVzKTtcbiAgICAgICAgaWYgKGRvbWFpbk5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuYVJlY29yZHMucHVzaChkb21haW5OYW1lLmNyZWF0ZUFSZWNvcmQodGhpcyxcbiAgICAgICAgICAgIFJlY29yZFRhcmdldC5mcm9tQWxpYXMobmV3IENsb3VkRnJvbnRUYXJnZXQodGhpcy5kaXN0cmlidXRpb24pKSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGJ1bmRsaW5nT3B0aW9uczogQnVuZGxpbmdPcHRpb25zIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG5cbiAgICBpZiAocHJvcHMuc291cmNlVHlwZSA9PT0gU291cmNlVHlwZS5DdXN0b20pIHtcbiAgICAgIGlmICghcHJvcHMuc291cmNlQnVuZGxpbmdPcHRpb25zKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInNvdXJjZUJ1bmRsaW5nT3B0aW9ucyBpcyByZXF1aXJlZCBpZiBzb3VyY2UgdHlwZSBpcyBDdXN0b21cIik7XG4gICAgICB9XG4gICAgICBidW5kbGluZ09wdGlvbnMgPSBwcm9wcy5zb3VyY2VCdW5kbGluZ09wdGlvbnNcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuc291cmNlVHlwZSA9PT0gU291cmNlVHlwZS5TdGF0aWMpIHtcbiAgICAgIGlmIChwcm9wcy5zb3VyY2VCdW5kbGluZ09wdGlvbnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHVzZSBzb3VyY2VCdW5kbGluZ09wdGlvbnMgd2l0aCBzb3VyY2UgdHlwZSBTdGF0aWNcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNvdXJjZVR5cGUgPT09IFNvdXJjZVR5cGUuSHVnbykge1xuICAgICAgYnVuZGxpbmdPcHRpb25zID0gV2Vic2l0ZS5IVUdPX0JVTkRMSU5HX09QVElPTlNcbiAgICAgIGlmIChwcm9wcy5zb3VyY2VCdW5kbGluZ09wdGlvbnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHVzZSBzb3VyY2VCdW5kbGluZ09wdGlvbnMgd2l0aCBzb3VyY2UgdHlwZSBIdWdvXCIpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcHMuc291cmNlVHlwZSA9PT0gU291cmNlVHlwZS5OcG1EaXN0KSB7XG4gICAgICBidW5kbGluZ09wdGlvbnMgPSBXZWJzaXRlLk5QTV9ESVNUX0JVTkRMSU5HX09QVElPTlNcbiAgICAgIGlmIChwcm9wcy5zb3VyY2VCdW5kbGluZ09wdGlvbnMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IHVzZSBzb3VyY2VCdW5kbGluZ09wdGlvbnMgd2l0aCBzb3VyY2UgdHlwZSBOcG1EaXN0XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZSA9IFNvdXJjZS5hc3NldChwcm9wcy5zb3VyY2VEaXJlY3RvcnksIHtcbiAgICAgIGJ1bmRsaW5nOiBidW5kbGluZ09wdGlvbnNcbiAgICB9KTtcblxuICAgIHRoaXMuZGVwbG95bWVudCA9IG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIFwiQXNzZXRzXCIsIHtcbiAgICAgIHNvdXJjZXM6IFtzb3VyY2VdLFxuICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHRoaXMuYnVja2V0LFxuICAgICAgZGlzdHJpYnV0aW9uOiB0aGlzLmRpc3RyaWJ1dGlvbixcbiAgICAgIGNhY2hlQ29udHJvbDogW0NhY2hlQ29udHJvbC5tYXhBZ2UocHJvcHMubWF4QWdlPz9EdXJhdGlvbi5taW51dGVzKDYwKSldLFxuICAgICAgcHJ1bmU6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5mYWxsYmFja0J1Y2tldCkge1xuICAgICAgdGhpcy5mYWxsYmFja0RlcGxveW1lbnQgPSBuZXcgQnVja2V0RGVwbG95bWVudCh0aGlzLCBcIkZhbGxiYWNrQXNzZXRzXCIsIHtcbiAgICAgICAgc291cmNlczogW3NvdXJjZV0sXG4gICAgICAgIGRlc3RpbmF0aW9uQnVja2V0OiB0aGlzLmZhbGxiYWNrQnVja2V0LFxuICAgICAgICBjYWNoZUNvbnRyb2w6IFtDYWNoZUNvbnRyb2wubWF4QWdlKHByb3BzLm1heEFnZT8/RHVyYXRpb24ubWludXRlcyg2MCkpXSxcbiAgICAgICAgcHJ1bmU6IGZhbHNlXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truemark-cdk-lib",
3
- "version": "0.0.35",
3
+ "version": "0.0.36-alpha.2+0e98502",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "scripts": {
@@ -49,5 +49,5 @@
49
49
  "@aws-cdk/aws-synthetics-alpha": "^2.18.0-alpha.0",
50
50
  "cdk-monitoring-constructs": "^1.10.0"
51
51
  },
52
- "gitHead": "ea052915a434c6b6a4c5f63c0133b12cc762fcba"
52
+ "gitHead": "0e98502d0108c83436efd235e6e55737c70dc752"
53
53
  }
@@ -12,15 +12,29 @@ test("Hugo Website Test", () => {
12
12
  const template = assertions_1.Template.fromStack(stack);
13
13
  template.hasResourceProperties("AWS::CloudFront::Distribution", {});
14
14
  });
15
- // TODO Need a way to skip tests
15
+ // TODO We need to speed this up
16
16
  // test("Npm Dist Website Test", () => {
17
- // const app = new cdk.App();
18
- // const stack = new cdk.Stack(app, "TestStack");
17
+ // const stack = TestHelper.stack();
19
18
  // new Website(stack, "TestWebsite", {
20
19
  // sourceType: SourceType.NpmDist,
21
- // sourceDirectory: path.join(__dirname, "angular-website")
20
+ // sourceDirectory: TestHelper.resolveTestFiles("angular-website")
22
21
  // });
23
22
  // const template = Template.fromStack(stack);
24
23
  // template.hasResourceProperties("AWS::CloudFront::Distribution", {});
25
24
  // });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2Vic2l0ZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQXNEO0FBQ3RELHVEQUFnRDtBQUNoRCxnREFBMEM7QUFFMUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUM3QixNQUFNLEtBQUssR0FBRyx3QkFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLElBQUkscUJBQU8sQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFO1FBQ2hDLFVBQVUsRUFBRSx3QkFBVSxDQUFDLElBQUk7UUFDM0IsZUFBZSxFQUFFLHdCQUFVLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO0tBQzdELENBQUMsQ0FBQztJQUNILE1BQU0sUUFBUSxHQUFHLHFCQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQywrQkFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDLENBQUMsQ0FBQztBQUVILGdDQUFnQztBQUNoQyx3Q0FBd0M7QUFDeEMsK0JBQStCO0FBQy9CLG1EQUFtRDtBQUNuRCx3Q0FBd0M7QUFDeEMsc0NBQXNDO0FBQ3RDLCtEQUErRDtBQUMvRCxRQUFRO0FBQ1IsZ0RBQWdEO0FBQ2hELHlFQUF5RTtBQUN6RSxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTb3VyY2VUeXBlLCBXZWJzaXRlfSBmcm9tIFwiLi4vLi4vYXdzLXdlYnNpdGVcIjtcbmltcG9ydCB7VGVtcGxhdGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hc3NlcnRpb25zXCI7XG5pbXBvcnQge1Rlc3RIZWxwZXJ9IGZyb20gXCIuLi90ZXN0LWhlbHBlclwiO1xuXG50ZXN0KFwiSHVnbyBXZWJzaXRlIFRlc3RcIiwgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IFRlc3RIZWxwZXIuc3RhY2soKTtcbiAgbmV3IFdlYnNpdGUoc3RhY2ssICdUZXN0V2Vic2l0ZScsIHtcbiAgICBzb3VyY2VUeXBlOiBTb3VyY2VUeXBlLkh1Z28sXG4gICAgc291cmNlRGlyZWN0b3J5OiBUZXN0SGVscGVyLnJlc29sdmVUZXN0RmlsZXMoXCJodWdvLXdlYnNpdGVcIilcbiAgfSk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge30pO1xufSk7XG5cbi8vIFRPRE8gTmVlZCBhIHdheSB0byBza2lwIHRlc3RzXG4vLyB0ZXN0KFwiTnBtIERpc3QgV2Vic2l0ZSBUZXN0XCIsICgpID0+IHtcbi8vICAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbi8vICAgY29uc3Qgc3RhY2sgPSBuZXcgY2RrLlN0YWNrKGFwcCwgXCJUZXN0U3RhY2tcIik7XG4vLyAgIG5ldyBXZWJzaXRlKHN0YWNrLCBcIlRlc3RXZWJzaXRlXCIsIHtcbi8vICAgICBzb3VyY2VUeXBlOiBTb3VyY2VUeXBlLk5wbURpc3QsXG4vLyAgICAgc291cmNlRGlyZWN0b3J5OiBwYXRoLmpvaW4oX19kaXJuYW1lLCBcImFuZ3VsYXItd2Vic2l0ZVwiKVxuLy8gICB9KTtcbi8vICAgY29uc3QgdGVtcGxhdGUgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spO1xuLy8gICB0ZW1wbGF0ZS5oYXNSZXNvdXJjZVByb3BlcnRpZXMoXCJBV1M6OkNsb3VkRnJvbnQ6OkRpc3RyaWJ1dGlvblwiLCB7fSk7XG4vLyB9KTtcblxuIl19
25
+ // TODO Need to fix
26
+ // test("Website Certificate Test", () => {
27
+ // const stack = TestHelper.stack();
28
+ // new Website(stack, "TestWebsite", {
29
+ // sourceType: SourceType.Hugo,
30
+ // sourceDirectory: TestHelper.resolveTestFiles("hugo-website"),
31
+ // domainNames: [
32
+ // new DomainName("test", "example.com"),
33
+ // new DomainName("test2", "example.com")
34
+ // ]
35
+ // });
36
+ // const template = Template.fromStack(stack);
37
+ // console.log(template.toJSON());
38
+ // // TestHelper.logResources()
39
+ // });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2Vic2l0ZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQXNEO0FBQ3RELHVEQUFnRDtBQUNoRCxnREFBMEM7QUFHMUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEdBQUcsRUFBRTtJQUM3QixNQUFNLEtBQUssR0FBRyx3QkFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLElBQUkscUJBQU8sQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFO1FBQ2hDLFVBQVUsRUFBRSx3QkFBVSxDQUFDLElBQUk7UUFDM0IsZUFBZSxFQUFFLHdCQUFVLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDO0tBQzdELENBQUMsQ0FBQztJQUNILE1BQU0sUUFBUSxHQUFHLHFCQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQywrQkFBK0IsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN0RSxDQUFDLENBQUMsQ0FBQztBQUVILGdDQUFnQztBQUNoQyx3Q0FBd0M7QUFDeEMsc0NBQXNDO0FBQ3RDLHdDQUF3QztBQUN4QyxzQ0FBc0M7QUFDdEMsc0VBQXNFO0FBQ3RFLFFBQVE7QUFDUixnREFBZ0Q7QUFDaEQseUVBQXlFO0FBQ3pFLE1BQU07QUFFTixtQkFBbUI7QUFDbkIsMkNBQTJDO0FBQzNDLHNDQUFzQztBQUN0Qyx3Q0FBd0M7QUFDeEMsbUNBQW1DO0FBQ25DLG9FQUFvRTtBQUNwRSxxQkFBcUI7QUFDckIsK0NBQStDO0FBQy9DLCtDQUErQztBQUMvQyxRQUFRO0FBQ1IsUUFBUTtBQUNSLGdEQUFnRDtBQUNoRCxvQ0FBb0M7QUFDcEMsaUNBQWlDO0FBQ2pDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NvdXJjZVR5cGUsIFdlYnNpdGV9IGZyb20gXCIuLi8uLi9hd3Mtd2Vic2l0ZVwiO1xuaW1wb3J0IHtUZW1wbGF0ZX0gZnJvbSBcImF3cy1jZGstbGliL2Fzc2VydGlvbnNcIjtcbmltcG9ydCB7VGVzdEhlbHBlcn0gZnJvbSBcIi4uL3Rlc3QtaGVscGVyXCI7XG5pbXBvcnQge0RvbWFpbk5hbWV9IGZyb20gXCIuLi8uLi9hd3Mtcm91dGU1M1wiO1xuXG50ZXN0KFwiSHVnbyBXZWJzaXRlIFRlc3RcIiwgKCkgPT4ge1xuICBjb25zdCBzdGFjayA9IFRlc3RIZWxwZXIuc3RhY2soKTtcbiAgbmV3IFdlYnNpdGUoc3RhY2ssICdUZXN0V2Vic2l0ZScsIHtcbiAgICBzb3VyY2VUeXBlOiBTb3VyY2VUeXBlLkh1Z28sXG4gICAgc291cmNlRGlyZWN0b3J5OiBUZXN0SGVscGVyLnJlc29sdmVUZXN0RmlsZXMoXCJodWdvLXdlYnNpdGVcIilcbiAgfSk7XG4gIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbiAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge30pO1xufSk7XG5cbi8vIFRPRE8gV2UgbmVlZCB0byBzcGVlZCB0aGlzIHVwXG4vLyB0ZXN0KFwiTnBtIERpc3QgV2Vic2l0ZSBUZXN0XCIsICgpID0+IHtcbi8vICAgY29uc3Qgc3RhY2sgPSBUZXN0SGVscGVyLnN0YWNrKCk7XG4vLyAgIG5ldyBXZWJzaXRlKHN0YWNrLCBcIlRlc3RXZWJzaXRlXCIsIHtcbi8vICAgICBzb3VyY2VUeXBlOiBTb3VyY2VUeXBlLk5wbURpc3QsXG4vLyAgICAgc291cmNlRGlyZWN0b3J5OiBUZXN0SGVscGVyLnJlc29sdmVUZXN0RmlsZXMoXCJhbmd1bGFyLXdlYnNpdGVcIilcbi8vICAgfSk7XG4vLyAgIGNvbnN0IHRlbXBsYXRlID0gVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKTtcbi8vICAgdGVtcGxhdGUuaGFzUmVzb3VyY2VQcm9wZXJ0aWVzKFwiQVdTOjpDbG91ZEZyb250OjpEaXN0cmlidXRpb25cIiwge30pO1xuLy8gfSk7XG5cbi8vIFRPRE8gTmVlZCB0byBmaXhcbi8vIHRlc3QoXCJXZWJzaXRlIENlcnRpZmljYXRlIFRlc3RcIiwgKCkgPT4ge1xuLy8gICBjb25zdCBzdGFjayA9IFRlc3RIZWxwZXIuc3RhY2soKTtcbi8vICAgbmV3IFdlYnNpdGUoc3RhY2ssIFwiVGVzdFdlYnNpdGVcIiwge1xuLy8gICAgIHNvdXJjZVR5cGU6IFNvdXJjZVR5cGUuSHVnbyxcbi8vICAgICBzb3VyY2VEaXJlY3Rvcnk6IFRlc3RIZWxwZXIucmVzb2x2ZVRlc3RGaWxlcyhcImh1Z28td2Vic2l0ZVwiKSxcbi8vICAgICBkb21haW5OYW1lczogW1xuLy8gICAgICAgbmV3IERvbWFpbk5hbWUoXCJ0ZXN0XCIsIFwiZXhhbXBsZS5jb21cIiksXG4vLyAgICAgICBuZXcgRG9tYWluTmFtZShcInRlc3QyXCIsIFwiZXhhbXBsZS5jb21cIilcbi8vICAgICBdXG4vLyAgIH0pO1xuLy8gICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4vLyAgIGNvbnNvbGUubG9nKHRlbXBsYXRlLnRvSlNPTigpKTtcbi8vICAgLy8gVGVzdEhlbHBlci5sb2dSZXNvdXJjZXMoKVxuLy8gfSk7XG4iXX0=