truemark-cdk-lib 1.23.0 → 1.24.0

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.
@@ -30,7 +30,7 @@ class Invalidation extends constructs_1.Construct {
30
30
  },
31
31
  physicalResourceId: custom_resources_1.PhysicalResourceId.of(now),
32
32
  };
33
- const logGroup = (0, function_log_options_1.configureLogGroupForFunction)(scope, `${id}LogGroup`, props);
33
+ const logGroup = (0, function_log_options_1.configureLogGroupForCustomResource)(this, 'LogGroup', props);
34
34
  this.resource = new custom_resources_1.AwsCustomResource(this, 'Default', {
35
35
  logGroup,
36
36
  onUpdate: call,
@@ -51,4 +51,4 @@ class Invalidation extends constructs_1.Construct {
51
51
  }
52
52
  }
53
53
  exports.Invalidation = Invalidation;
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy1jbG91ZGZyb250L2xpYi9pbnZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBQzVDLGlEQUE0RDtBQUM1RCxtRUFJc0M7QUFDdEMsMkNBQXFDO0FBQ3JDLG9GQUF1RjtBQWtDdkY7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxzQkFBUztJQUd6QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCOztRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQywwRUFBMEU7UUFDMUUsTUFBTSxJQUFJLEdBQWU7WUFDdkIsT0FBTyxFQUFFLFlBQVk7WUFDckIsTUFBTSxFQUFFLG9CQUFvQjtZQUM1QixVQUFVLEVBQUU7Z0JBQ1YsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO2dCQUNwQyxpQkFBaUIsRUFBRTtvQkFDakIsZUFBZSxFQUFFLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksR0FBRztvQkFDN0MsS0FBSyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU07d0JBQzVCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztxQkFDbkI7aUJBQ0Y7YUFDRjtZQUNELGtCQUFrQixFQUFFLHFDQUFrQixDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDL0MsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUEsbURBQTRCLEVBQzNDLEtBQUssRUFDTCxHQUFHLEVBQUUsVUFBVSxFQUNmLEtBQUssQ0FDTixDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG9DQUFpQixDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDckQsUUFBUTtZQUNSLFFBQVEsRUFBRSxJQUFJO1lBQ2QsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixNQUFNLEVBQUU7Z0JBQ04sVUFBVSxFQUFFO29CQUNWLElBQUkseUJBQWUsQ0FBQzt3QkFDbEIsU0FBUyxFQUFFOzRCQUNULHVCQUF1QixtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLGlCQUMzQyxLQUFLLENBQUMsY0FDUixFQUFFO3lCQUNIO3dCQUNELE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO3dCQUMxQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO3FCQUNyQixDQUFDO2lCQUNIO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsTUFBQSxLQUFLLENBQUMsT0FBTyxtQ0FBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDOUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbERELG9DQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RHVyYXRpb24sIFN0YWNrfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge0VmZmVjdCwgUG9saWN5U3RhdGVtZW50fSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7XG4gIEF3c0N1c3RvbVJlc291cmNlLFxuICB0eXBlIEF3c1Nka0NhbGwsXG4gIFBoeXNpY2FsUmVzb3VyY2VJZCxcbn0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge2NvbmZpZ3VyZUxvZ0dyb3VwRm9yRnVuY3Rpb259IGZyb20gJy4uLy4uL2F3cy1sYW1iZGEvbGliL2Z1bmN0aW9uLWxvZy1vcHRpb25zJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBJbnZhbGlkYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW52YWxpZGF0aW9uUHJvcHMge1xuICAvKipcbiAgICogRGlzdHJpYnV0aW9uIHRvIHN1Ym1pdCBpbnZhbGlkYXRpb24gZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzdHJpYnV0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGhzIHRvIGludmFsaWRhdGUuXG4gICAqL1xuICByZWFkb25seSBwYXRoczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBjYWxsZXIgcmVmZXJlbmNlLiBEZWZhdWx0IGlzIGN1cnJlbnQgdGltZXN0YW1wLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FsbGVyUmVmZXJlbmNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbi4gRGVmYXVsdCBpcyAyIG1pbnV0ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLm1pbnV0ZXMoMilcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogTG9nIHJldGVudGlvbiBkYXlzLiBUaGUgZGVmYXVsdCBpcyA1LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBDbG91ZEZyb250IGludmFsaWRhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEludmFsaWRhdGlvbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHJlc291cmNlOiBBd3NDdXN0b21SZXNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSW52YWxpZGF0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKS50b1N0cmluZygpO1xuICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NKYXZhU2NyaXB0U0RLL2xhdGVzdC9BV1MvQ2xvdWRGcm9udC5odG1sXG4gICAgY29uc3QgY2FsbDogQXdzU2RrQ2FsbCA9IHtcbiAgICAgIHNlcnZpY2U6ICdDbG91ZEZyb250JyxcbiAgICAgIGFjdGlvbjogJ2NyZWF0ZUludmFsaWRhdGlvbicsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIERpc3RyaWJ1dGlvbklkOiBwcm9wcy5kaXN0cmlidXRpb25JZCxcbiAgICAgICAgSW52YWxpZGF0aW9uQmF0Y2g6IHtcbiAgICAgICAgICBDYWxsZXJSZWZlcmVuY2U6IHByb3BzLmNhbGxlclJlZmVyZW5jZSA/PyBub3csXG4gICAgICAgICAgUGF0aHM6IHtcbiAgICAgICAgICAgIFF1YW50aXR5OiBwcm9wcy5wYXRocy5sZW5ndGgsXG4gICAgICAgICAgICBJdGVtczogcHJvcHMucGF0aHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihub3cpLFxuICAgIH07XG5cbiAgICBjb25zdCBsb2dHcm91cCA9IGNvbmZpZ3VyZUxvZ0dyb3VwRm9yRnVuY3Rpb24oXG4gICAgICBzY29wZSxcbiAgICAgIGAke2lkfUxvZ0dyb3VwYCxcbiAgICAgIHByb3BzLFxuICAgICk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IEF3c0N1c3RvbVJlc291cmNlKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgbG9nR3JvdXAsXG4gICAgICBvblVwZGF0ZTogY2FsbCxcbiAgICAgIGluc3RhbGxMYXRlc3RBd3NTZGs6IGZhbHNlLFxuICAgICAgcG9saWN5OiB7XG4gICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICBgYXJuOmF3czpjbG91ZGZyb250Ojoke1N0YWNrLm9mKHRoaXMpLmFjY291bnR9OmRpc3RyaWJ1dGlvbi8ke1xuICAgICAgICAgICAgICAgIHByb3BzLmRpc3RyaWJ1dGlvbklkXG4gICAgICAgICAgICAgIH1gLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGFjdGlvbnM6IFsnY2xvdWRmcm9udDpDcmVhdGVJbnZhbGlkYXRpb24nXSxcbiAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IHByb3BzLnRpbWVvdXQgPz8gRHVyYXRpb24ubWludXRlcygyKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy1jbG91ZGZyb250L2xpYi9pbnZhbGlkYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBQzVDLGlEQUE0RDtBQUM1RCxtRUFJc0M7QUFDdEMsMkNBQXFDO0FBQ3JDLG9GQUE2RjtBQWtDN0Y7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxzQkFBUztJQUd6QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCOztRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQywwRUFBMEU7UUFDMUUsTUFBTSxJQUFJLEdBQWU7WUFDdkIsT0FBTyxFQUFFLFlBQVk7WUFDckIsTUFBTSxFQUFFLG9CQUFvQjtZQUM1QixVQUFVLEVBQUU7Z0JBQ1YsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO2dCQUNwQyxpQkFBaUIsRUFBRTtvQkFDakIsZUFBZSxFQUFFLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksR0FBRztvQkFDN0MsS0FBSyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU07d0JBQzVCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztxQkFDbkI7aUJBQ0Y7YUFDRjtZQUNELGtCQUFrQixFQUFFLHFDQUFrQixDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDL0MsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUEseURBQWtDLEVBQ2pELElBQUksRUFDSixVQUFVLEVBQ1YsS0FBSyxDQUNOLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0NBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNyRCxRQUFRO1lBQ1IsUUFBUSxFQUFFLElBQUk7WUFDZCxtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUU7b0JBQ1YsSUFBSSx5QkFBZSxDQUFDO3dCQUNsQixTQUFTLEVBQUU7NEJBQ1QsdUJBQXVCLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8saUJBQzNDLEtBQUssQ0FBQyxjQUNSLEVBQUU7eUJBQ0g7d0JBQ0QsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7d0JBQzFDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7cUJBQ3JCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE9BQU8sRUFBRSxNQUFBLEtBQUssQ0FBQyxPQUFPLG1DQUFJLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUM5QyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFsREQsb0NBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEdXJhdGlvbiwgU3RhY2t9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7RWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnR9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHtcbiAgQXdzQ3VzdG9tUmVzb3VyY2UsXG4gIHR5cGUgQXdzU2RrQ2FsbCxcbiAgUGh5c2ljYWxSZXNvdXJjZUlkLFxufSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7Y29uZmlndXJlTG9nR3JvdXBGb3JDdXN0b21SZXNvdXJjZX0gZnJvbSAnLi4vLi4vYXdzLWxhbWJkYS9saWIvZnVuY3Rpb24tbG9nLW9wdGlvbnMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIEludmFsaWRhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZhbGlkYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBEaXN0cmlidXRpb24gdG8gc3VibWl0IGludmFsaWRhdGlvbiBmb3IuXG4gICAqL1xuICByZWFkb25seSBkaXN0cmlidXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aHMgdG8gaW52YWxpZGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGhzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNhbGxlciByZWZlcmVuY2UuIERlZmF1bHQgaXMgY3VycmVudCB0aW1lc3RhbXAuXG4gICAqL1xuICByZWFkb25seSBjYWxsZXJSZWZlcmVuY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lb3V0IGZvciB0aGUgTGFtYmRhIGZ1bmN0aW9uLiBEZWZhdWx0IGlzIDIgbWludXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24ubWludXRlcygyKVxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBMb2cgcmV0ZW50aW9uIGRheXMuIFRoZSBkZWZhdWx0IGlzIDUuXG4gICAqL1xuICByZWFkb25seSBsb2dSZXRlbnRpb24/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgSW52YWxpZGF0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgcmVzb3VyY2U6IEF3c0N1c3RvbVJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJbnZhbGlkYXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpLnRvU3RyaW5nKCk7XG4gICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0phdmFTY3JpcHRTREsvbGF0ZXN0L0FXUy9DbG91ZEZyb250Lmh0bWxcbiAgICBjb25zdCBjYWxsOiBBd3NTZGtDYWxsID0ge1xuICAgICAgc2VydmljZTogJ0Nsb3VkRnJvbnQnLFxuICAgICAgYWN0aW9uOiAnY3JlYXRlSW52YWxpZGF0aW9uJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRGlzdHJpYnV0aW9uSWQ6IHByb3BzLmRpc3RyaWJ1dGlvbklkLFxuICAgICAgICBJbnZhbGlkYXRpb25CYXRjaDoge1xuICAgICAgICAgIENhbGxlclJlZmVyZW5jZTogcHJvcHMuY2FsbGVyUmVmZXJlbmNlID8/IG5vdyxcbiAgICAgICAgICBQYXRoczoge1xuICAgICAgICAgICAgUXVhbnRpdHk6IHByb3BzLnBhdGhzLmxlbmd0aCxcbiAgICAgICAgICAgIEl0ZW1zOiBwcm9wcy5wYXRocyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogUGh5c2ljYWxSZXNvdXJjZUlkLm9mKG5vdyksXG4gICAgfTtcblxuICAgIGNvbnN0IGxvZ0dyb3VwID0gY29uZmlndXJlTG9nR3JvdXBGb3JDdXN0b21SZXNvdXJjZShcbiAgICAgIHRoaXMsXG4gICAgICAnTG9nR3JvdXAnLFxuICAgICAgcHJvcHMsXG4gICAgKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBsb2dHcm91cCxcbiAgICAgIG9uVXBkYXRlOiBjYWxsLFxuICAgICAgaW5zdGFsbExhdGVzdEF3c1NkazogZmFsc2UsXG4gICAgICBwb2xpY3k6IHtcbiAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgIGBhcm46YXdzOmNsb3VkZnJvbnQ6OiR7U3RhY2sub2YodGhpcykuYWNjb3VudH06ZGlzdHJpYnV0aW9uLyR7XG4gICAgICAgICAgICAgICAgcHJvcHMuZGlzdHJpYnV0aW9uSWRcbiAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYWN0aW9uczogWydjbG91ZGZyb250OkNyZWF0ZUludmFsaWRhdGlvbiddLFxuICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgdGltZW91dDogcHJvcHMudGltZW91dCA/PyBEdXJhdGlvbi5taW51dGVzKDIpLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -17,7 +17,7 @@ class BatchWriteItem extends constructs_1.Construct {
17
17
  physicalResourceId: custom_resources_1.PhysicalResourceId.of(Date.now().toString()),
18
18
  };
19
19
  const tableNames = Object.keys(props.items.RequestItems);
20
- const logGroup = (0, function_log_options_1.configureLogGroupForFunction)(scope, `${id}LogGroup`, props);
20
+ const logGroup = (0, function_log_options_1.configureLogGroupForCustomResource)(this, 'LogGroup', props);
21
21
  this.resource = new custom_resources_1.AwsCustomResource(this, 'Default', {
22
22
  logGroup,
23
23
  onUpdate: call,
@@ -112,4 +112,4 @@ exports.BatchWriteItem = BatchWriteItem;
112
112
  // }
113
113
  // ]
114
114
  // }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2gtd3JpdGUtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MtZHluYW1vZGIvbGliL2JhdGNoLXdyaXRlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBQzVDLGlEQUE0RDtBQUM1RCxtRUFJc0M7QUFDdEMsMkNBQXFDO0FBQ3JDLG9GQUF1RjtBQXdDdkYsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFHM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLElBQUksR0FBZTtZQUN2QixPQUFPLEVBQUUsVUFBVTtZQUNuQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSztZQUN2QixrQkFBa0IsRUFBRSxxQ0FBa0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pFLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFekQsTUFBTSxRQUFRLEdBQUcsSUFBQSxtREFBNEIsRUFDM0MsS0FBSyxFQUNMLEdBQUcsRUFBRSxVQUFVLEVBQ2YsS0FBSyxDQUNOLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0NBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNyRCxRQUFRO1lBQ1IsUUFBUSxFQUFFLElBQUk7WUFDZCxtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUU7b0JBQ1YsSUFBSSx5QkFBZSxDQUFDO3dCQUNsQixTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFOzRCQUNqQyxPQUFPLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQ0FDOUIsT0FBTyxFQUFFLFVBQVU7Z0NBQ25CLFFBQVEsRUFBRSxPQUFPO2dDQUNqQixZQUFZLEVBQUUsSUFBSTs2QkFDbkIsQ0FBQyxDQUFDO3dCQUNMLENBQUMsQ0FBQzt3QkFDRixPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQzt3QkFDcEMsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztxQkFDckIsQ0FBQztpQkFDSDthQUNGO1lBQ0QsT0FBTyxFQUFFLE1BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTNDRCx3Q0EyQ0M7QUFFRCxJQUFJO0FBQ0osc0JBQXNCO0FBQ3RCLGlCQUFpQjtBQUNqQixRQUFRO0FBQ1IsMkJBQTJCO0FBQzNCLG1CQUFtQjtBQUNuQix5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQiw4QkFBOEI7QUFDOUIscUJBQXFCO0FBQ3JCLGlDQUFpQztBQUNqQyxpQkFBaUI7QUFDakIscUJBQXFCO0FBQ3JCLDRDQUE0QztBQUM1QyxpQkFBaUI7QUFDakIsNkJBQTZCO0FBQzdCLGtDQUFrQztBQUNsQywrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLGlDQUFpQztBQUNqQyxjQUFjO0FBQ2QsWUFBWTtBQUNaLFdBQVc7QUFDWCx3QkFBd0I7QUFDeEIsb0JBQW9CO0FBQ3BCLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsK0JBQStCO0FBQy9CLDhCQUE4QjtBQUM5QixxQkFBcUI7QUFDckIsaUNBQWlDO0FBQ2pDLGlCQUFpQjtBQUNqQixxQkFBcUI7QUFDckIsNENBQTRDO0FBQzVDLGlCQUFpQjtBQUNqQiw2QkFBNkI7QUFDN0Isa0NBQWtDO0FBQ2xDLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsaUNBQWlDO0FBQ2pDLGNBQWM7QUFDZCxZQUFZO0FBQ1osVUFBVTtBQUNWLFFBQVE7QUFDUixNQUFNO0FBQ04sS0FBSztBQUNMLEVBQUU7QUFDRixrQkFBa0I7QUFDbEIsb0JBQW9CO0FBQ3BCLFFBQVE7QUFDUixzQkFBc0I7QUFDdEIsa0JBQWtCO0FBQ2xCLHlDQUF5QztBQUN6Qyx5REFBeUQ7QUFDekQsd0RBQXdEO0FBQ3hELFlBQVk7QUFDWixVQUFVO0FBQ1YsU0FBUztBQUNULFFBQVE7QUFDUixzQkFBc0I7QUFDdEIsa0JBQWtCO0FBQ2xCLHlDQUF5QztBQUN6Qyx5REFBeUQ7QUFDekQsd0RBQXdEO0FBQ3hELFlBQVk7QUFDWixVQUFVO0FBQ1YsUUFBUTtBQUNSLE1BQU07QUFDTixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEdXJhdGlvbiwgU3RhY2t9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7RWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnR9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHtcbiAgQXdzQ3VzdG9tUmVzb3VyY2UsXG4gIHR5cGUgQXdzU2RrQ2FsbCxcbiAgUGh5c2ljYWxSZXNvdXJjZUlkLFxufSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7Y29uZmlndXJlTG9nR3JvdXBGb3JGdW5jdGlvbn0gZnJvbSAnLi4vLi4vYXdzLWxhbWJkYS9saWIvZnVuY3Rpb24tbG9nLW9wdGlvbnMnO1xuXG5leHBvcnQgdHlwZSBCYXRjaFdyaXRlSXRlbUtleSA9IHtcbiAgS2V5OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuZXhwb3J0IHR5cGUgQmF0Y2hXcml0ZUl0ZW1JdGVtID0ge1xuICBJdGVtOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuZXhwb3J0IHR5cGUgQmF0Y2hXcml0ZUl0ZW1SZXF1ZXN0ID1cbiAgfCB7RGVsZXRlUmVxdWVzdDogQmF0Y2hXcml0ZUl0ZW1LZXl9XG4gIHwge1B1dFJlcXVlc3Q6IEJhdGNoV3JpdGVJdGVtSXRlbX07XG5cbmV4cG9ydCB0eXBlIEJhdGNoV3JpdGVJdGVtUmVxdWVzdEl0ZW1zID0ge1xuICBSZXF1ZXN0SXRlbXM6IFJlY29yZDxzdHJpbmcsIEJhdGNoV3JpdGVJdGVtUmVxdWVzdFtdPjtcbn07XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgQmF0Y2hXcml0ZUl0ZW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFdyaXRlSXRlbVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpdGVtcyB0byB3cml0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGl0ZW1zOiBCYXRjaFdyaXRlSXRlbVJlcXVlc3RJdGVtcztcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uIERlZmF1bHQgaXMgMiBtaW51dGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5taW51dGVzKDIpXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIExvZyByZXRlbnRpb24gZGF5cy4gVGhlIGRlZmF1bHQgaXMgNS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEJhdGNoV3JpdGVJdGVtIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgcmVzb3VyY2U6IEF3c0N1c3RvbVJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCYXRjaFdyaXRlSXRlbVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGNhbGw6IEF3c1Nka0NhbGwgPSB7XG4gICAgICBzZXJ2aWNlOiAnRHluYW1vREInLFxuICAgICAgYWN0aW9uOiAnYmF0Y2hXcml0ZUl0ZW0nLFxuICAgICAgcGFyYW1ldGVyczogcHJvcHMuaXRlbXMsXG4gICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihEYXRlLm5vdygpLnRvU3RyaW5nKCkpLFxuICAgIH07XG5cbiAgICBjb25zdCB0YWJsZU5hbWVzID0gT2JqZWN0LmtleXMocHJvcHMuaXRlbXMuUmVxdWVzdEl0ZW1zKTtcblxuICAgIGNvbnN0IGxvZ0dyb3VwID0gY29uZmlndXJlTG9nR3JvdXBGb3JGdW5jdGlvbihcbiAgICAgIHNjb3BlLFxuICAgICAgYCR7aWR9TG9nR3JvdXBgLFxuICAgICAgcHJvcHMsXG4gICAgKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBsb2dHcm91cCxcbiAgICAgIG9uVXBkYXRlOiBjYWxsLFxuICAgICAgaW5zdGFsbExhdGVzdEF3c1NkazogZmFsc2UsXG4gICAgICBwb2xpY3k6IHtcbiAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgcmVzb3VyY2VzOiB0YWJsZU5hbWVzLm1hcCgobmFtZSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICAgICAgICBzZXJ2aWNlOiAnZHluYW1vZGInLFxuICAgICAgICAgICAgICAgIHJlc291cmNlOiAndGFibGUnLFxuICAgICAgICAgICAgICAgIHJlc291cmNlTmFtZTogbmFtZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGFjdGlvbnM6IFsnZHluYW1vZGI6QmF0Y2hXcml0ZUl0ZW0nXSxcbiAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IHByb3BzLnRpbWVvdXQgPz8gRHVyYXRpb24ubWludXRlcygyKSxcbiAgICB9KTtcbiAgfVxufVxuXG4vLyB7XG4vLyAgIFwiUmVxdWVzdEl0ZW1zXCI6IHtcbi8vICAgXCJzdHJpbmdcIiA6IFtcbi8vICAgICB7XG4vLyAgICAgICBcIkRlbGV0ZVJlcXVlc3RcIjoge1xuLy8gICAgICAgICBcIktleVwiOiB7XG4vLyAgICAgICAgICAgXCJzdHJpbmdcIiA6IHtcbi8vICAgICAgICAgICAgIFwiQlwiOiBibG9iLFxuLy8gICAgICAgICAgICAgXCJCT09MXCI6IGJvb2xlYW4sXG4vLyAgICAgICAgICAgICBcIkJTXCI6IFsgYmxvYiBdLFxuLy8gICAgICAgICAgICAgXCJMXCI6IFtcbi8vICAgICAgICAgICAgICAgXCJBdHRyaWJ1dGVWYWx1ZVwiXG4vLyAgICAgICAgICAgICBdLFxuLy8gICAgICAgICAgICAgXCJNXCI6IHtcbi8vICAgICAgICAgICAgICAgXCJzdHJpbmdcIiA6IFwiQXR0cmlidXRlVmFsdWVcIlxuLy8gICAgICAgICAgICAgfSxcbi8vICAgICAgICAgICAgIFwiTlwiOiBcInN0cmluZ1wiLFxuLy8gICAgICAgICAgICAgXCJOU1wiOiBbIFwic3RyaW5nXCIgXSxcbi8vICAgICAgICAgICAgIFwiTlVMTFwiOiBib29sZWFuLFxuLy8gICAgICAgICAgICAgXCJTXCI6IFwic3RyaW5nXCIsXG4vLyAgICAgICAgICAgICBcIlNTXCI6IFsgXCJzdHJpbmdcIiBdXG4vLyAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgICB9LFxuLy8gICAgICAgXCJQdXRSZXF1ZXN0XCI6IHtcbi8vICAgICAgICAgXCJJdGVtXCI6IHtcbi8vICAgICAgICAgICBcInN0cmluZ1wiIDoge1xuLy8gICAgICAgICAgICAgXCJCXCI6IGJsb2IsXG4vLyAgICAgICAgICAgICBcIkJPT0xcIjogYm9vbGVhbixcbi8vICAgICAgICAgICAgIFwiQlNcIjogWyBibG9iIF0sXG4vLyAgICAgICAgICAgICBcIkxcIjogW1xuLy8gICAgICAgICAgICAgICBcIkF0dHJpYnV0ZVZhbHVlXCJcbi8vICAgICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgICBcIk1cIjoge1xuLy8gICAgICAgICAgICAgICBcInN0cmluZ1wiIDogXCJBdHRyaWJ1dGVWYWx1ZVwiXG4vLyAgICAgICAgICAgICB9LFxuLy8gICAgICAgICAgICAgXCJOXCI6IFwic3RyaW5nXCIsXG4vLyAgICAgICAgICAgICBcIk5TXCI6IFsgXCJzdHJpbmdcIiBdLFxuLy8gICAgICAgICAgICAgXCJOVUxMXCI6IGJvb2xlYW4sXG4vLyAgICAgICAgICAgICBcIlNcIjogXCJzdHJpbmdcIixcbi8vICAgICAgICAgICAgIFwiU1NcIjogWyBcInN0cmluZ1wiIF1cbi8vICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIF1cbi8vIH0sXG4vL1xuLy8gUmVxdWVzdEl0ZW1zOiB7XG4vLyAgIFwiVEFCTEVfTkFNRVwiOiBbXG4vLyAgICAge1xuLy8gICAgICAgUHV0UmVxdWVzdDoge1xuLy8gICAgICAgICBJdGVtOiB7XG4vLyAgICAgICAgICAgXCJLRVlcIjogeyBcIk5cIjogXCJLRVlfVkFMVUVcIiB9LFxuLy8gICAgICAgICAgIFwiQVRUUklCVVRFXzFcIjogeyBcIlNcIjogXCJBVFRSSUJVVEVfMV9WQUxVRVwiIH0sXG4vLyAgICAgICAgICAgXCJBVFRSSUJVVEVfMlwiOiB7IFwiTlwiOiBcIkFUVFJJQlVURV8yX1ZBTFVFXCIgfVxuLy8gICAgICAgICB9XG4vLyAgICAgICB9XG4vLyAgICAgfSxcbi8vICAgICB7XG4vLyAgICAgICBQdXRSZXF1ZXN0OiB7XG4vLyAgICAgICAgIEl0ZW06IHtcbi8vICAgICAgICAgICBcIktFWVwiOiB7IFwiTlwiOiBcIktFWV9WQUxVRVwiIH0sXG4vLyAgICAgICAgICAgXCJBVFRSSUJVVEVfMVwiOiB7IFwiU1wiOiBcIkFUVFJJQlVURV8xX1ZBTFVFXCIgfSxcbi8vICAgICAgICAgICBcIkFUVFJJQlVURV8yXCI6IHsgXCJOXCI6IFwiQVRUUklCVVRFXzJfVkFMVUVcIiB9XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgIF1cbi8vIH1cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2gtd3JpdGUtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MtZHluYW1vZGIvbGliL2JhdGNoLXdyaXRlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBQzVDLGlEQUE0RDtBQUM1RCxtRUFJc0M7QUFDdEMsMkNBQXFDO0FBQ3JDLG9GQUE2RjtBQXdDN0YsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFHM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLElBQUksR0FBZTtZQUN2QixPQUFPLEVBQUUsVUFBVTtZQUNuQixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsS0FBSztZQUN2QixrQkFBa0IsRUFBRSxxQ0FBa0IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pFLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFekQsTUFBTSxRQUFRLEdBQUcsSUFBQSx5REFBa0MsRUFDakQsSUFBSSxFQUNKLFVBQVUsRUFDVixLQUFLLENBQ04sQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3JELFFBQVE7WUFDUixRQUFRLEVBQUUsSUFBSTtZQUNkLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRTtvQkFDVixJQUFJLHlCQUFlLENBQUM7d0JBQ2xCLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7NEJBQ2pDLE9BQU8sbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO2dDQUM5QixPQUFPLEVBQUUsVUFBVTtnQ0FDbkIsUUFBUSxFQUFFLE9BQU87Z0NBQ2pCLFlBQVksRUFBRSxJQUFJOzZCQUNuQixDQUFDLENBQUM7d0JBQ0wsQ0FBQyxDQUFDO3dCQUNGLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO3dCQUNwQyxNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO3FCQUNyQixDQUFDO2lCQUNIO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsTUFBQSxLQUFLLENBQUMsT0FBTyxtQ0FBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDOUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBM0NELHdDQTJDQztBQUVELElBQUk7QUFDSixzQkFBc0I7QUFDdEIsaUJBQWlCO0FBQ2pCLFFBQVE7QUFDUiwyQkFBMkI7QUFDM0IsbUJBQW1CO0FBQ25CLHlCQUF5QjtBQUN6Qix5QkFBeUI7QUFDekIsK0JBQStCO0FBQy9CLDhCQUE4QjtBQUM5QixxQkFBcUI7QUFDckIsaUNBQWlDO0FBQ2pDLGlCQUFpQjtBQUNqQixxQkFBcUI7QUFDckIsNENBQTRDO0FBQzVDLGlCQUFpQjtBQUNqQiw2QkFBNkI7QUFDN0Isa0NBQWtDO0FBQ2xDLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsaUNBQWlDO0FBQ2pDLGNBQWM7QUFDZCxZQUFZO0FBQ1osV0FBVztBQUNYLHdCQUF3QjtBQUN4QixvQkFBb0I7QUFDcEIseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6QiwrQkFBK0I7QUFDL0IsOEJBQThCO0FBQzlCLHFCQUFxQjtBQUNyQixpQ0FBaUM7QUFDakMsaUJBQWlCO0FBQ2pCLHFCQUFxQjtBQUNyQiw0Q0FBNEM7QUFDNUMsaUJBQWlCO0FBQ2pCLDZCQUE2QjtBQUM3QixrQ0FBa0M7QUFDbEMsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QixpQ0FBaUM7QUFDakMsY0FBYztBQUNkLFlBQVk7QUFDWixVQUFVO0FBQ1YsUUFBUTtBQUNSLE1BQU07QUFDTixLQUFLO0FBQ0wsRUFBRTtBQUNGLGtCQUFrQjtBQUNsQixvQkFBb0I7QUFDcEIsUUFBUTtBQUNSLHNCQUFzQjtBQUN0QixrQkFBa0I7QUFDbEIseUNBQXlDO0FBQ3pDLHlEQUF5RDtBQUN6RCx3REFBd0Q7QUFDeEQsWUFBWTtBQUNaLFVBQVU7QUFDVixTQUFTO0FBQ1QsUUFBUTtBQUNSLHNCQUFzQjtBQUN0QixrQkFBa0I7QUFDbEIseUNBQXlDO0FBQ3pDLHlEQUF5RDtBQUN6RCx3REFBd0Q7QUFDeEQsWUFBWTtBQUNaLFVBQVU7QUFDVixRQUFRO0FBQ1IsTUFBTTtBQUNOLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0R1cmF0aW9uLCBTdGFja30gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtFZmZlY3QsIFBvbGljeVN0YXRlbWVudH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge1xuICBBd3NDdXN0b21SZXNvdXJjZSxcbiAgdHlwZSBBd3NTZGtDYWxsLFxuICBQaHlzaWNhbFJlc291cmNlSWQsXG59IGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtjb25maWd1cmVMb2dHcm91cEZvckN1c3RvbVJlc291cmNlfSBmcm9tICcuLi8uLi9hd3MtbGFtYmRhL2xpYi9mdW5jdGlvbi1sb2ctb3B0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIEJhdGNoV3JpdGVJdGVtS2V5ID0ge1xuICBLZXk6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBCYXRjaFdyaXRlSXRlbUl0ZW0gPSB7XG4gIEl0ZW06IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBCYXRjaFdyaXRlSXRlbVJlcXVlc3QgPVxuICB8IHtEZWxldGVSZXF1ZXN0OiBCYXRjaFdyaXRlSXRlbUtleX1cbiAgfCB7UHV0UmVxdWVzdDogQmF0Y2hXcml0ZUl0ZW1JdGVtfTtcblxuZXhwb3J0IHR5cGUgQmF0Y2hXcml0ZUl0ZW1SZXF1ZXN0SXRlbXMgPSB7XG4gIFJlcXVlc3RJdGVtczogUmVjb3JkPHN0cmluZywgQmF0Y2hXcml0ZUl0ZW1SZXF1ZXN0W10+O1xufTtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBCYXRjaFdyaXRlSXRlbVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoV3JpdGVJdGVtUHJvcHMge1xuICAvKipcbiAgICogVGhlIGl0ZW1zIHRvIHdyaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXRlbXM6IEJhdGNoV3JpdGVJdGVtUmVxdWVzdEl0ZW1zO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbi4gRGVmYXVsdCBpcyAyIG1pbnV0ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLm1pbnV0ZXMoMilcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogTG9nIHJldGVudGlvbiBkYXlzLiBUaGUgZGVmYXVsdCBpcyA1LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgQmF0Y2hXcml0ZUl0ZW0gZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICByZWFkb25seSByZXNvdXJjZTogQXdzQ3VzdG9tUmVzb3VyY2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJhdGNoV3JpdGVJdGVtUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2FsbDogQXdzU2RrQ2FsbCA9IHtcbiAgICAgIHNlcnZpY2U6ICdEeW5hbW9EQicsXG4gICAgICBhY3Rpb246ICdiYXRjaFdyaXRlSXRlbScsXG4gICAgICBwYXJhbWV0ZXJzOiBwcm9wcy5pdGVtcyxcbiAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogUGh5c2ljYWxSZXNvdXJjZUlkLm9mKERhdGUubm93KCkudG9TdHJpbmcoKSksXG4gICAgfTtcblxuICAgIGNvbnN0IHRhYmxlTmFtZXMgPSBPYmplY3Qua2V5cyhwcm9wcy5pdGVtcy5SZXF1ZXN0SXRlbXMpO1xuXG4gICAgY29uc3QgbG9nR3JvdXAgPSBjb25maWd1cmVMb2dHcm91cEZvckN1c3RvbVJlc291cmNlKFxuICAgICAgdGhpcyxcbiAgICAgICdMb2dHcm91cCcsXG4gICAgICBwcm9wcyxcbiAgICApO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBBd3NDdXN0b21SZXNvdXJjZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIGxvZ0dyb3VwLFxuICAgICAgb25VcGRhdGU6IGNhbGwsXG4gICAgICBpbnN0YWxsTGF0ZXN0QXdzU2RrOiBmYWxzZSxcbiAgICAgIHBvbGljeToge1xuICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICByZXNvdXJjZXM6IHRhYmxlTmFtZXMubWFwKChuYW1lKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICAgICAgICAgIHNlcnZpY2U6ICdkeW5hbW9kYicsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2U6ICd0YWJsZScsXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiBuYW1lLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgYWN0aW9uczogWydkeW5hbW9kYjpCYXRjaFdyaXRlSXRlbSddLFxuICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgdGltZW91dDogcHJvcHMudGltZW91dCA/PyBEdXJhdGlvbi5taW51dGVzKDIpLFxuICAgIH0pO1xuICB9XG59XG5cbi8vIHtcbi8vICAgXCJSZXF1ZXN0SXRlbXNcIjoge1xuLy8gICBcInN0cmluZ1wiIDogW1xuLy8gICAgIHtcbi8vICAgICAgIFwiRGVsZXRlUmVxdWVzdFwiOiB7XG4vLyAgICAgICAgIFwiS2V5XCI6IHtcbi8vICAgICAgICAgICBcInN0cmluZ1wiIDoge1xuLy8gICAgICAgICAgICAgXCJCXCI6IGJsb2IsXG4vLyAgICAgICAgICAgICBcIkJPT0xcIjogYm9vbGVhbixcbi8vICAgICAgICAgICAgIFwiQlNcIjogWyBibG9iIF0sXG4vLyAgICAgICAgICAgICBcIkxcIjogW1xuLy8gICAgICAgICAgICAgICBcIkF0dHJpYnV0ZVZhbHVlXCJcbi8vICAgICAgICAgICAgIF0sXG4vLyAgICAgICAgICAgICBcIk1cIjoge1xuLy8gICAgICAgICAgICAgICBcInN0cmluZ1wiIDogXCJBdHRyaWJ1dGVWYWx1ZVwiXG4vLyAgICAgICAgICAgICB9LFxuLy8gICAgICAgICAgICAgXCJOXCI6IFwic3RyaW5nXCIsXG4vLyAgICAgICAgICAgICBcIk5TXCI6IFsgXCJzdHJpbmdcIiBdLFxuLy8gICAgICAgICAgICAgXCJOVUxMXCI6IGJvb2xlYW4sXG4vLyAgICAgICAgICAgICBcIlNcIjogXCJzdHJpbmdcIixcbi8vICAgICAgICAgICAgIFwiU1NcIjogWyBcInN0cmluZ1wiIF1cbi8vICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH0sXG4vLyAgICAgICBcIlB1dFJlcXVlc3RcIjoge1xuLy8gICAgICAgICBcIkl0ZW1cIjoge1xuLy8gICAgICAgICAgIFwic3RyaW5nXCIgOiB7XG4vLyAgICAgICAgICAgICBcIkJcIjogYmxvYixcbi8vICAgICAgICAgICAgIFwiQk9PTFwiOiBib29sZWFuLFxuLy8gICAgICAgICAgICAgXCJCU1wiOiBbIGJsb2IgXSxcbi8vICAgICAgICAgICAgIFwiTFwiOiBbXG4vLyAgICAgICAgICAgICAgIFwiQXR0cmlidXRlVmFsdWVcIlxuLy8gICAgICAgICAgICAgXSxcbi8vICAgICAgICAgICAgIFwiTVwiOiB7XG4vLyAgICAgICAgICAgICAgIFwic3RyaW5nXCIgOiBcIkF0dHJpYnV0ZVZhbHVlXCJcbi8vICAgICAgICAgICAgIH0sXG4vLyAgICAgICAgICAgICBcIk5cIjogXCJzdHJpbmdcIixcbi8vICAgICAgICAgICAgIFwiTlNcIjogWyBcInN0cmluZ1wiIF0sXG4vLyAgICAgICAgICAgICBcIk5VTExcIjogYm9vbGVhbixcbi8vICAgICAgICAgICAgIFwiU1wiOiBcInN0cmluZ1wiLFxuLy8gICAgICAgICAgICAgXCJTU1wiOiBbIFwic3RyaW5nXCIgXVxuLy8gICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgXVxuLy8gfSxcbi8vXG4vLyBSZXF1ZXN0SXRlbXM6IHtcbi8vICAgXCJUQUJMRV9OQU1FXCI6IFtcbi8vICAgICB7XG4vLyAgICAgICBQdXRSZXF1ZXN0OiB7XG4vLyAgICAgICAgIEl0ZW06IHtcbi8vICAgICAgICAgICBcIktFWVwiOiB7IFwiTlwiOiBcIktFWV9WQUxVRVwiIH0sXG4vLyAgICAgICAgICAgXCJBVFRSSUJVVEVfMVwiOiB7IFwiU1wiOiBcIkFUVFJJQlVURV8xX1ZBTFVFXCIgfSxcbi8vICAgICAgICAgICBcIkFUVFJJQlVURV8yXCI6IHsgXCJOXCI6IFwiQVRUUklCVVRFXzJfVkFMVUVcIiB9XG4vLyAgICAgICAgIH1cbi8vICAgICAgIH1cbi8vICAgICB9LFxuLy8gICAgIHtcbi8vICAgICAgIFB1dFJlcXVlc3Q6IHtcbi8vICAgICAgICAgSXRlbToge1xuLy8gICAgICAgICAgIFwiS0VZXCI6IHsgXCJOXCI6IFwiS0VZX1ZBTFVFXCIgfSxcbi8vICAgICAgICAgICBcIkFUVFJJQlVURV8xXCI6IHsgXCJTXCI6IFwiQVRUUklCVVRFXzFfVkFMVUVcIiB9LFxuLy8gICAgICAgICAgIFwiQVRUUklCVVRFXzJcIjogeyBcIk5cIjogXCJBVFRSSUJVVEVfMl9WQUxVRVwiIH1cbi8vICAgICAgICAgfVxuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgXVxuLy8gfVxuIl19
@@ -23,7 +23,7 @@ class PutItem extends constructs_1.Construct {
23
23
  },
24
24
  physicalResourceId: custom_resources_1.PhysicalResourceId.of(Date.now().toString()),
25
25
  };
26
- const logGroup = (0, function_log_options_1.configureLogGroupForFunction)(scope, `${id}LogGroup`, props);
26
+ const logGroup = (0, function_log_options_1.configureLogGroupForCustomResource)(this, 'LogGroup', props);
27
27
  this.resource = new custom_resources_1.AwsCustomResource(this, 'Default', {
28
28
  logGroup,
29
29
  onUpdate: call,
@@ -48,4 +48,4 @@ class PutItem extends constructs_1.Construct {
48
48
  }
49
49
  }
50
50
  exports.PutItem = PutItem;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzLWR5bmFtb2RiL2xpYi9wdXQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEM7QUFDNUMsaURBQTREO0FBQzVELG1FQUlzQztBQUN0QywyQ0FBcUM7QUFDckMsb0ZBQXVGO0FBNkJ2Rjs7O0dBR0c7QUFDSCxNQUFhLE9BQVEsU0FBUSxzQkFBUztJQUdwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1COztRQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sSUFBSSxHQUFlO1lBQ3ZCLE9BQU8sRUFBRSxVQUFVO1lBQ25CLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLFVBQVUsRUFBRTtnQkFDVixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTthQUNqQjtZQUNELGtCQUFrQixFQUFFLHFDQUFrQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakUsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUEsbURBQTRCLEVBQzNDLEtBQUssRUFDTCxHQUFHLEVBQUUsVUFBVSxFQUNmLEtBQUssQ0FDTixDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG9DQUFpQixDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDckQsUUFBUTtZQUNSLFFBQVEsRUFBRSxJQUFJO1lBQ2QsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixNQUFNLEVBQUU7Z0JBQ04sVUFBVSxFQUFFO29CQUNWLElBQUkseUJBQWUsQ0FBQzt3QkFDbEIsU0FBUyxFQUFFOzRCQUNULG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQ0FDdkIsT0FBTyxFQUFFLFVBQVU7Z0NBQ25CLFFBQVEsRUFBRSxPQUFPO2dDQUNqQixZQUFZLEVBQUUsS0FBSyxDQUFDLFNBQVM7NkJBQzlCLENBQUM7eUJBQ0g7d0JBQ0QsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7d0JBQzdCLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7cUJBQ3JCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE9BQU8sRUFBRSxNQUFBLEtBQUssQ0FBQyxPQUFPLG1DQUFJLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUM5QyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE1Q0QsMEJBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEdXJhdGlvbiwgU3RhY2t9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7RWZmZWN0LCBQb2xpY3lTdGF0ZW1lbnR9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHtcbiAgQXdzQ3VzdG9tUmVzb3VyY2UsXG4gIHR5cGUgQXdzU2RrQ2FsbCxcbiAgUGh5c2ljYWxSZXNvdXJjZUlkLFxufSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7Y29uZmlndXJlTG9nR3JvdXBGb3JGdW5jdGlvbn0gZnJvbSAnLi4vLi4vYXdzLWxhbWJkYS9saWIvZnVuY3Rpb24tbG9nLW9wdGlvbnMnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFB1dEl0ZW0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHV0SXRlbVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBEeW5hbW9EQiB0YWJsZSB0byB3cml0ZSB0by5cbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaXRlbSB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGl0ZW06IGFueTtcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uIERlZmF1bHQgaXMgMiBtaW51dGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5taW51dGVzKDIpXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIExvZyByZXRlbnRpb24gZGF5cy4gVGhlIGRlZmF1bHQgaXMgNS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvbj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDdXN0b20gcmVzb3VyY2UgdG8gaW5zZXJ0IGRhdGEgaW50byBhIER5bmFtb0RCIHRhYmxlLiBUaGlzIGNsYXNzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aFxuICogdGhlIG1hcnNoYWxsIGNvbW1hbmQgQGF3cy1zZGsvdXRpbC1keW5hbW9kYiBhcyBhbiBhbHRlcm5hdGl2ZSB0byB1c2luZyBEeW5hbW9QdXRJdGVtLlxuICovXG5leHBvcnQgY2xhc3MgUHV0SXRlbSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHJlc291cmNlOiBBd3NDdXN0b21SZXNvdXJjZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHV0SXRlbVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGNhbGw6IEF3c1Nka0NhbGwgPSB7XG4gICAgICBzZXJ2aWNlOiAnRHluYW1vREInLFxuICAgICAgYWN0aW9uOiAncHV0SXRlbScsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIFRhYmxlTmFtZTogcHJvcHMudGFibGVOYW1lLFxuICAgICAgICBJdGVtOiBwcm9wcy5pdGVtLFxuICAgICAgfSxcbiAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogUGh5c2ljYWxSZXNvdXJjZUlkLm9mKERhdGUubm93KCkudG9TdHJpbmcoKSksXG4gICAgfTtcblxuICAgIGNvbnN0IGxvZ0dyb3VwID0gY29uZmlndXJlTG9nR3JvdXBGb3JGdW5jdGlvbihcbiAgICAgIHNjb3BlLFxuICAgICAgYCR7aWR9TG9nR3JvdXBgLFxuICAgICAgcHJvcHMsXG4gICAgKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBsb2dHcm91cCxcbiAgICAgIG9uVXBkYXRlOiBjYWxsLFxuICAgICAgaW5zdGFsbExhdGVzdEF3c1NkazogZmFsc2UsXG4gICAgICBwb2xpY3k6IHtcbiAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgIFN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgICAgICAgICAgc2VydmljZTogJ2R5bmFtb2RiJyxcbiAgICAgICAgICAgICAgICByZXNvdXJjZTogJ3RhYmxlJyxcbiAgICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IHByb3BzLnRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYWN0aW9uczogWydkeW5hbW9kYjpQdXRJdGVtJ10sXG4gICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICB0aW1lb3V0OiBwcm9wcy50aW1lb3V0ID8/IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHV0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzLWR5bmFtb2RiL2xpYi9wdXQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBNEM7QUFDNUMsaURBQTREO0FBQzVELG1FQUlzQztBQUN0QywyQ0FBcUM7QUFDckMsb0ZBQTZGO0FBNkI3Rjs7O0dBR0c7QUFDSCxNQUFhLE9BQVEsU0FBUSxzQkFBUztJQUdwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW1COztRQUMzRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sSUFBSSxHQUFlO1lBQ3ZCLE9BQU8sRUFBRSxVQUFVO1lBQ25CLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLFVBQVUsRUFBRTtnQkFDVixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTthQUNqQjtZQUNELGtCQUFrQixFQUFFLHFDQUFrQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakUsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLElBQUEseURBQWtDLEVBQ2pELElBQUksRUFDSixVQUFVLEVBQ1YsS0FBSyxDQUNOLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0NBQWlCLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNyRCxRQUFRO1lBQ1IsUUFBUSxFQUFFLElBQUk7WUFDZCxtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLE1BQU0sRUFBRTtnQkFDTixVQUFVLEVBQUU7b0JBQ1YsSUFBSSx5QkFBZSxDQUFDO3dCQUNsQixTQUFTLEVBQUU7NEJBQ1QsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO2dDQUN2QixPQUFPLEVBQUUsVUFBVTtnQ0FDbkIsUUFBUSxFQUFFLE9BQU87Z0NBQ2pCLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUzs2QkFDOUIsQ0FBQzt5QkFDSDt3QkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzt3QkFDN0IsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztxQkFDckIsQ0FBQztpQkFDSDthQUNGO1lBQ0QsT0FBTyxFQUFFLE1BQUEsS0FBSyxDQUFDLE9BQU8sbUNBQUksc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTVDRCwwQkE0Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0R1cmF0aW9uLCBTdGFja30gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtFZmZlY3QsIFBvbGljeVN0YXRlbWVudH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge1xuICBBd3NDdXN0b21SZXNvdXJjZSxcbiAgdHlwZSBBd3NTZGtDYWxsLFxuICBQaHlzaWNhbFJlc291cmNlSWQsXG59IGZyb20gJ2F3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMnO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtjb25maWd1cmVMb2dHcm91cEZvckN1c3RvbVJlc291cmNlfSBmcm9tICcuLi8uLi9hd3MtbGFtYmRhL2xpYi9mdW5jdGlvbi1sb2ctb3B0aW9ucyc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgUHV0SXRlbS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQdXRJdGVtUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIER5bmFtb0RCIHRhYmxlIHRvIHdyaXRlIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpdGVtIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgaXRlbTogYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbi4gRGVmYXVsdCBpcyAyIG1pbnV0ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLm1pbnV0ZXMoMilcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogTG9nIHJldGVudGlvbiBkYXlzLiBUaGUgZGVmYXVsdCBpcyA1LlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEN1c3RvbSByZXNvdXJjZSB0byBpbnNlcnQgZGF0YSBpbnRvIGEgRHluYW1vREIgdGFibGUuIFRoaXMgY2xhc3MgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoXG4gKiB0aGUgbWFyc2hhbGwgY29tbWFuZCBAYXdzLXNkay91dGlsLWR5bmFtb2RiIGFzIGFuIGFsdGVybmF0aXZlIHRvIHVzaW5nIER5bmFtb1B1dEl0ZW0uXG4gKi9cbmV4cG9ydCBjbGFzcyBQdXRJdGVtIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgcmVzb3VyY2U6IEF3c0N1c3RvbVJlc291cmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQdXRJdGVtUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY2FsbDogQXdzU2RrQ2FsbCA9IHtcbiAgICAgIHNlcnZpY2U6ICdEeW5hbW9EQicsXG4gICAgICBhY3Rpb246ICdwdXRJdGVtJyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgVGFibGVOYW1lOiBwcm9wcy50YWJsZU5hbWUsXG4gICAgICAgIEl0ZW06IHByb3BzLml0ZW0sXG4gICAgICB9LFxuICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBQaHlzaWNhbFJlc291cmNlSWQub2YoRGF0ZS5ub3coKS50b1N0cmluZygpKSxcbiAgICB9O1xuXG4gICAgY29uc3QgbG9nR3JvdXAgPSBjb25maWd1cmVMb2dHcm91cEZvckN1c3RvbVJlc291cmNlKFxuICAgICAgdGhpcyxcbiAgICAgICdMb2dHcm91cCcsXG4gICAgICBwcm9wcyxcbiAgICApO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBBd3NDdXN0b21SZXNvdXJjZSh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIGxvZ0dyb3VwLFxuICAgICAgb25VcGRhdGU6IGNhbGwsXG4gICAgICBpbnN0YWxsTGF0ZXN0QXdzU2RrOiBmYWxzZSxcbiAgICAgIHBvbGljeToge1xuICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICAgICAgICBzZXJ2aWNlOiAnZHluYW1vZGInLFxuICAgICAgICAgICAgICAgIHJlc291cmNlOiAndGFibGUnLFxuICAgICAgICAgICAgICAgIHJlc291cmNlTmFtZTogcHJvcHMudGFibGVOYW1lLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBhY3Rpb25zOiBbJ2R5bmFtb2RiOlB1dEl0ZW0nXSxcbiAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHRpbWVvdXQ6IHByb3BzLnRpbWVvdXQgPz8gRHVyYXRpb24ubWludXRlcygyKSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import type * as lambda from 'aws-cdk-lib/aws-lambda';
2
- import { RetentionDays } from 'aws-cdk-lib/aws-logs';
2
+ import { type ILogGroup, RetentionDays } from 'aws-cdk-lib/aws-logs';
3
3
  import type { Construct } from 'constructs';
4
4
  /**
5
5
  * Configuration for function logs. By default the log group will be destroyed
@@ -36,3 +36,35 @@ export interface FunctionLogOptions {
36
36
  * @returns The log group, or undefined if it was not configured.
37
37
  */
38
38
  export declare function configureLogGroupForFunction(scope: Construct, id: string, props: lambda.FunctionOptions): import("aws-cdk-lib/aws-logs").ILogGroupRef | undefined;
39
+ /**
40
+ * Options for configuring the log group of a custom resource.
41
+ */
42
+ export interface CustomResourceLogOptions {
43
+ /**
44
+ * The log group to use. If provided, it is returned as-is.
45
+ */
46
+ readonly logGroup?: ILogGroup;
47
+ /**
48
+ * The retention period in days for the log group. Default is 3 days.
49
+ */
50
+ readonly logRetention?: number;
51
+ }
52
+ /**
53
+ * Configure the log group for a custom resource (e.g. AwsCustomResource).
54
+ *
55
+ * Unlike {@link configureLogGroupForFunction}, this does not attempt to predict
56
+ * a `/aws/lambda/...` name. Custom resources are backed by a framework-managed
57
+ * provider Lambda whose name we don't control, so a predicted name is both
58
+ * meaningless and prone to collisions when truncated to CloudWatch's 64
59
+ * character limit (multiple custom resources in one stack sharing a long
60
+ * stack/construct id prefix would resolve to the same name and fail to deploy).
61
+ *
62
+ * Instead this lets CloudFormation assign a unique physical name, while still
63
+ * applying retention and a DESTROY removal policy.
64
+ *
65
+ * @param scope The scope in which to create the log group (the construct itself).
66
+ * @param id The id of the log group construct.
67
+ * @param props The log configuration.
68
+ * @returns The log group.
69
+ */
70
+ export declare function configureLogGroupForCustomResource(scope: Construct, id: string, props: CustomResourceLogOptions): ILogGroup;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configureLogGroupForFunction = configureLogGroupForFunction;
4
+ exports.configureLogGroupForCustomResource = configureLogGroupForCustomResource;
4
5
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
6
  const aws_logs_1 = require("aws-cdk-lib/aws-logs");
6
7
  /**
@@ -47,4 +48,32 @@ function configureLogGroupForFunction(scope, id, props) {
47
48
  removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
48
49
  });
49
50
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tbG9nLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzLWxhbWJkYS9saWIvZnVuY3Rpb24tbG9nLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5Q0Esb0VBeUNDO0FBbEZELDZDQUF3RDtBQUV4RCxtREFBNkQ7QUErQjdEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQiw0QkFBNEIsQ0FDMUMsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQTZCOztJQUU3QixJQUFJLFNBQXdDLENBQUM7SUFDN0MsSUFBSyxLQUE0QixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLFNBQVMsR0FBSSxLQUE0QixDQUFDLFNBQVMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsdUNBQXVDO0lBQ3ZDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25CLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBQ0QsK0RBQStEO0lBQy9ELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxxREFBcUQ7SUFDckQsMkVBQTJFO0lBQzNFLE1BQU0sUUFBUSxHQUFHLG1CQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQ2hCLE1BQUEsS0FBSyxDQUFDLFlBQVksbUNBQ2xCLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxJQUFJLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLE9BQU8sSUFBSSxtQkFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1FBQzFDLFlBQVksRUFBRSxNQUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxZQUFZLG1DQUFJLGVBQWUsWUFBWSxFQUFFO1FBQ3RFLFNBQVMsRUFBRSxNQUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxTQUFTLG1DQUFJLHdCQUFhLENBQUMsVUFBVTtRQUMzRCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO0tBQ3JDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05hbWVzLCBSZW1vdmFsUG9saWN5LCBTdGFja30gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQge0xvZ0dyb3VwLCBSZXRlbnRpb25EYXlzfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbG9ncyc7XG5pbXBvcnQgdHlwZSB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBmdW5jdGlvbiBsb2dzLiBCeSBkZWZhdWx0IHRoZSBsb2cgZ3JvdXAgd2lsbCBiZSBkZXN0cm95ZWRcbiAqIHdoZW4gdGhlIHN0YWNrIGlzIGRlc3Ryb3llZC4gSWYgeW91IHJlcXVpcmUgYSBkaWZmZXJlbnQgYmVoYXZpb3Igb3IgaGF2ZVxuICogb3RoZXIgbG9nIHJlcXVpcmVtZW50cywgaXQncyByZWNvbW1lbmRlZCB0byBjcmVhdGUgYSBsb2cgZ3JvdXAgYW5kIHNldFxuICogbG9nR3JvdXAgZXhwbGljaXRseSBpbnN0ZWFkIG9mIHVzaW5nIHRoaXMgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkxvZ0NvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgcmV0ZW50aW9uIHBlcmlvZCBmb3IgdGhlIGxvZyBncm91cC4gRGVmYXVsdCBpcyAzIGRheXMuXG4gICAqL1xuICByZWFkb25seSByZXRlbnRpb24/OiBSZXRlbnRpb25EYXlzO1xuICAvKipcbiAgICogVGhlIGxvZyBncm91cCB0byB1c2UgZm9yIHRoZSBmdW5jdGlvbiBsb2dzLiBJZiBub3QgcHJvdmlkZWQsIENESyB3aWxsXG4gICAqIGdlbmVyYXRlIHRoZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGNvbmZpZ3VyaW5nIGZ1bmN0aW9uIGxvZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25Mb2dPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciB0aGUgZnVuY3Rpb24gbG9ncy5cbiAgICovXG4gIGxvZ0NvbmZpZz86IEZ1bmN0aW9uTG9nQ29uZmlnO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyZSB0aGUgbG9nIGdyb3VwIGZvciBhIExhbWJkYSBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBzY29wZSBpbiB3aGljaCB0byBjcmVhdGUgdGhlIGxvZyBncm91cC5cbiAqIEBwYXJhbSBpZCBUaGUgSUQgb2YgdGhlIExhbWJkYSBmdW5jdGlvbiBjb25zdHJ1Y3QuXG4gKiBAcGFyYW0gcHJvcHMgVGhlIHByb3BlcnRpZXMgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgVGhlIGxvZyBncm91cCwgb3IgdW5kZWZpbmVkIGlmIGl0IHdhcyBub3QgY29uZmlndXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZUxvZ0dyb3VwRm9yRnVuY3Rpb24oXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIHByb3BzOiBsYW1iZGEuRnVuY3Rpb25PcHRpb25zLFxuKSB7XG4gIGxldCBsb2dDb25maWc6IEZ1bmN0aW9uTG9nQ29uZmlnIHwgdW5kZWZpbmVkO1xuICBpZiAoKHByb3BzIGFzIEZ1bmN0aW9uTG9nT3B0aW9ucykubG9nQ29uZmlnKSB7XG4gICAgbG9nQ29uZmlnID0gKHByb3BzIGFzIEZ1bmN0aW9uTG9nT3B0aW9ucykubG9nQ29uZmlnO1xuICB9XG4gIGlmIChsb2dDb25maWcgJiYgcHJvcHMubG9nR3JvdXApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IGJvdGggbG9nR3JvdXAgYW5kIGxvZ0NvbmZpZy4nKTtcbiAgfVxuICBpZiAobG9nQ29uZmlnICYmIHByb3BzLmxvZ1JldGVudGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHNwZWNpZnkgYm90aCBsb2dSZXRlbnRpb24gYW5kIGxvZ0NvbmZpZy4nKTtcbiAgfVxuICBpZiAocHJvcHMubG9nR3JvdXAgJiYgbG9nQ29uZmlnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3BlY2lmeSBib3RoIGxvZ0dyb3VwIGFuZCBsb2dDb25maWcuJyk7XG4gIH1cbiAgaWYgKHByb3BzLmxvZ1JldGVudGlvbiAmJiBsb2dDb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IGJvdGggbG9nUmV0ZW50aW9uIGFuZCBsb2dDb25maWcuJyk7XG4gIH1cbiAgLy8gVXNlIHRoZSBsb2dHcm91cCBpcyBvbmUgaXMgcGFzc2VkIGluXG4gIGlmIChwcm9wcy5sb2dHcm91cCkge1xuICAgIHJldHVybiBwcm9wcy5sb2dHcm91cDtcbiAgfVxuICAvLyBJZiBsb2cgcmV0ZW50aW9uIGlzIGRlZmluZWQsIGZhbGxiYWNrIHRvIGRlcHJlY2F0ZWQgYmVoYXZpb3JcbiAgaWYgKHByb3BzLmxvZ1JldGVudGlvbikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gQ2FsY3VsYXRlIHRoZSBmdW5jdGlvbiBuYW1lIHRoYXQgQ0RLIHdpbGwgZ2VuZXJhdGVcbiAgLy8gVGhpcyBtaW1pY3MgQ0RLJ3MgZGVmYXVsdCBuYW1pbmc6IHtTdGFja05hbWV9LXtDb25zdHJ1Y3RJZH0te1VuaXF1ZUhhc2h9XG4gIGNvbnN0IHVuaXF1ZUlkID0gTmFtZXMudW5pcXVlSWQoc2NvcGUpLnN1YnN0cmluZygwLCA4KTtcbiAgY29uc3QgZnVuY3Rpb25OYW1lID1cbiAgICBwcm9wcy5mdW5jdGlvbk5hbWUgPz9cbiAgICBgJHtTdGFjay5vZihzY29wZSkuc3RhY2tOYW1lfS0ke2lkfS0ke3VuaXF1ZUlkfWAuc3Vic3RyaW5nKDAsIDY0KTtcblxuICByZXR1cm4gbmV3IExvZ0dyb3VwKHNjb3BlLCBgJHtpZH1Mb2dHcm91cGAsIHtcbiAgICBsb2dHcm91cE5hbWU6IGxvZ0NvbmZpZz8ubG9nR3JvdXBOYW1lID8/IGAvYXdzL2xhbWJkYS8ke2Z1bmN0aW9uTmFtZX1gLFxuICAgIHJldGVudGlvbjogbG9nQ29uZmlnPy5yZXRlbnRpb24gPz8gUmV0ZW50aW9uRGF5cy5USFJFRV9EQVlTLFxuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgfSk7XG59XG4iXX0=
51
+ /**
52
+ * Configure the log group for a custom resource (e.g. AwsCustomResource).
53
+ *
54
+ * Unlike {@link configureLogGroupForFunction}, this does not attempt to predict
55
+ * a `/aws/lambda/...` name. Custom resources are backed by a framework-managed
56
+ * provider Lambda whose name we don't control, so a predicted name is both
57
+ * meaningless and prone to collisions when truncated to CloudWatch's 64
58
+ * character limit (multiple custom resources in one stack sharing a long
59
+ * stack/construct id prefix would resolve to the same name and fail to deploy).
60
+ *
61
+ * Instead this lets CloudFormation assign a unique physical name, while still
62
+ * applying retention and a DESTROY removal policy.
63
+ *
64
+ * @param scope The scope in which to create the log group (the construct itself).
65
+ * @param id The id of the log group construct.
66
+ * @param props The log configuration.
67
+ * @returns The log group.
68
+ */
69
+ function configureLogGroupForCustomResource(scope, id, props) {
70
+ var _a;
71
+ if (props.logGroup) {
72
+ return props.logGroup;
73
+ }
74
+ return new aws_logs_1.LogGroup(scope, id, {
75
+ retention: (_a = props.logRetention) !== null && _a !== void 0 ? _a : aws_logs_1.RetentionDays.THREE_DAYS,
76
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
77
+ });
78
+ }
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tbG9nLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzLWxhbWJkYS9saWIvZnVuY3Rpb24tbG9nLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5Q0Esb0VBeUNDO0FBa0NELGdGQWFDO0FBaklELDZDQUF3RDtBQUV4RCxtREFBNkU7QUErQjdFOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQiw0QkFBNEIsQ0FDMUMsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQTZCOztJQUU3QixJQUFJLFNBQXdDLENBQUM7SUFDN0MsSUFBSyxLQUE0QixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLFNBQVMsR0FBSSxLQUE0QixDQUFDLFNBQVMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsdUNBQXVDO0lBQ3ZDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25CLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUN4QixDQUFDO0lBQ0QsK0RBQStEO0lBQy9ELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxxREFBcUQ7SUFDckQsMkVBQTJFO0lBQzNFLE1BQU0sUUFBUSxHQUFHLG1CQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQ2hCLE1BQUEsS0FBSyxDQUFDLFlBQVksbUNBQ2xCLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxJQUFJLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLE9BQU8sSUFBSSxtQkFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1FBQzFDLFlBQVksRUFBRSxNQUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxZQUFZLG1DQUFJLGVBQWUsWUFBWSxFQUFFO1FBQ3RFLFNBQVMsRUFBRSxNQUFBLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRSxTQUFTLG1DQUFJLHdCQUFhLENBQUMsVUFBVTtRQUMzRCxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO0tBQ3JDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFnQkQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsU0FBZ0Isa0NBQWtDLENBQ2hELEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUErQjs7SUFFL0IsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxPQUFPLElBQUksbUJBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzdCLFNBQVMsRUFDUCxNQUFDLEtBQUssQ0FBQyxZQUE4QixtQ0FBSSx3QkFBYSxDQUFDLFVBQVU7UUFDbkUsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztLQUNyQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOYW1lcywgUmVtb3ZhbFBvbGljeSwgU3RhY2t9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHt0eXBlIElMb2dHcm91cCwgTG9nR3JvdXAsIFJldGVudGlvbkRheXN9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sb2dzJztcbmltcG9ydCB0eXBlIHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGZ1bmN0aW9uIGxvZ3MuIEJ5IGRlZmF1bHQgdGhlIGxvZyBncm91cCB3aWxsIGJlIGRlc3Ryb3llZFxuICogd2hlbiB0aGUgc3RhY2sgaXMgZGVzdHJveWVkLiBJZiB5b3UgcmVxdWlyZSBhIGRpZmZlcmVudCBiZWhhdmlvciBvciBoYXZlXG4gKiBvdGhlciBsb2cgcmVxdWlyZW1lbnRzLCBpdCdzIHJlY29tbWVuZGVkIHRvIGNyZWF0ZSBhIGxvZyBncm91cCBhbmQgc2V0XG4gKiBsb2dHcm91cCBleHBsaWNpdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhpcyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uTG9nQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSByZXRlbnRpb24gcGVyaW9kIGZvciB0aGUgbG9nIGdyb3VwLiBEZWZhdWx0IGlzIDMgZGF5cy5cbiAgICovXG4gIHJlYWRvbmx5IHJldGVudGlvbj86IFJldGVudGlvbkRheXM7XG4gIC8qKlxuICAgKiBUaGUgbG9nIGdyb3VwIHRvIHVzZSBmb3IgdGhlIGZ1bmN0aW9uIGxvZ3MuIElmIG5vdCBwcm92aWRlZCwgQ0RLIHdpbGxcbiAgICogZ2VuZXJhdGUgdGhlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBsb2dHcm91cE5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgZnVuY3Rpb24gbG9ncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkxvZ09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBmdW5jdGlvbiBsb2dzLlxuICAgKi9cbiAgbG9nQ29uZmlnPzogRnVuY3Rpb25Mb2dDb25maWc7XG59XG5cbi8qKlxuICogQ29uZmlndXJlIHRoZSBsb2cgZ3JvdXAgZm9yIGEgTGFtYmRhIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IHNjb3BlIGluIHdoaWNoIHRvIGNyZWF0ZSB0aGUgbG9nIGdyb3VwLlxuICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgTGFtYmRhIGZ1bmN0aW9uIGNvbnN0cnVjdC5cbiAqIEBwYXJhbSBwcm9wcyBUaGUgcHJvcGVydGllcyBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBUaGUgbG9nIGdyb3VwLCBvciB1bmRlZmluZWQgaWYgaXQgd2FzIG5vdCBjb25maWd1cmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlTG9nR3JvdXBGb3JGdW5jdGlvbihcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IHN0cmluZyxcbiAgcHJvcHM6IGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMsXG4pIHtcbiAgbGV0IGxvZ0NvbmZpZzogRnVuY3Rpb25Mb2dDb25maWcgfCB1bmRlZmluZWQ7XG4gIGlmICgocHJvcHMgYXMgRnVuY3Rpb25Mb2dPcHRpb25zKS5sb2dDb25maWcpIHtcbiAgICBsb2dDb25maWcgPSAocHJvcHMgYXMgRnVuY3Rpb25Mb2dPcHRpb25zKS5sb2dDb25maWc7XG4gIH1cbiAgaWYgKGxvZ0NvbmZpZyAmJiBwcm9wcy5sb2dHcm91cCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHNwZWNpZnkgYm90aCBsb2dHcm91cCBhbmQgbG9nQ29uZmlnLicpO1xuICB9XG4gIGlmIChsb2dDb25maWcgJiYgcHJvcHMubG9nUmV0ZW50aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc3BlY2lmeSBib3RoIGxvZ1JldGVudGlvbiBhbmQgbG9nQ29uZmlnLicpO1xuICB9XG4gIGlmIChwcm9wcy5sb2dHcm91cCAmJiBsb2dDb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzcGVjaWZ5IGJvdGggbG9nR3JvdXAgYW5kIGxvZ0NvbmZpZy4nKTtcbiAgfVxuICBpZiAocHJvcHMubG9nUmV0ZW50aW9uICYmIGxvZ0NvbmZpZykge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHNwZWNpZnkgYm90aCBsb2dSZXRlbnRpb24gYW5kIGxvZ0NvbmZpZy4nKTtcbiAgfVxuICAvLyBVc2UgdGhlIGxvZ0dyb3VwIGlzIG9uZSBpcyBwYXNzZWQgaW5cbiAgaWYgKHByb3BzLmxvZ0dyb3VwKSB7XG4gICAgcmV0dXJuIHByb3BzLmxvZ0dyb3VwO1xuICB9XG4gIC8vIElmIGxvZyByZXRlbnRpb24gaXMgZGVmaW5lZCwgZmFsbGJhY2sgdG8gZGVwcmVjYXRlZCBiZWhhdmlvclxuICBpZiAocHJvcHMubG9nUmV0ZW50aW9uKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICAvLyBDYWxjdWxhdGUgdGhlIGZ1bmN0aW9uIG5hbWUgdGhhdCBDREsgd2lsbCBnZW5lcmF0ZVxuICAvLyBUaGlzIG1pbWljcyBDREsncyBkZWZhdWx0IG5hbWluZzoge1N0YWNrTmFtZX0te0NvbnN0cnVjdElkfS17VW5pcXVlSGFzaH1cbiAgY29uc3QgdW5pcXVlSWQgPSBOYW1lcy51bmlxdWVJZChzY29wZSkuc3Vic3RyaW5nKDAsIDgpO1xuICBjb25zdCBmdW5jdGlvbk5hbWUgPVxuICAgIHByb3BzLmZ1bmN0aW9uTmFtZSA/P1xuICAgIGAke1N0YWNrLm9mKHNjb3BlKS5zdGFja05hbWV9LSR7aWR9LSR7dW5pcXVlSWR9YC5zdWJzdHJpbmcoMCwgNjQpO1xuXG4gIHJldHVybiBuZXcgTG9nR3JvdXAoc2NvcGUsIGAke2lkfUxvZ0dyb3VwYCwge1xuICAgIGxvZ0dyb3VwTmFtZTogbG9nQ29uZmlnPy5sb2dHcm91cE5hbWUgPz8gYC9hd3MvbGFtYmRhLyR7ZnVuY3Rpb25OYW1lfWAsXG4gICAgcmV0ZW50aW9uOiBsb2dDb25maWc/LnJldGVudGlvbiA/PyBSZXRlbnRpb25EYXlzLlRIUkVFX0RBWVMsXG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICB9KTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgbG9nIGdyb3VwIG9mIGEgY3VzdG9tIHJlc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVJlc291cmNlTG9nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbG9nIGdyb3VwIHRvIHVzZS4gSWYgcHJvdmlkZWQsIGl0IGlzIHJldHVybmVkIGFzLWlzLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXA/OiBJTG9nR3JvdXA7XG4gIC8qKlxuICAgKiBUaGUgcmV0ZW50aW9uIHBlcmlvZCBpbiBkYXlzIGZvciB0aGUgbG9nIGdyb3VwLiBEZWZhdWx0IGlzIDMgZGF5cy5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ1JldGVudGlvbj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgdGhlIGxvZyBncm91cCBmb3IgYSBjdXN0b20gcmVzb3VyY2UgKGUuZy4gQXdzQ3VzdG9tUmVzb3VyY2UpLlxuICpcbiAqIFVubGlrZSB7QGxpbmsgY29uZmlndXJlTG9nR3JvdXBGb3JGdW5jdGlvbn0sIHRoaXMgZG9lcyBub3QgYXR0ZW1wdCB0byBwcmVkaWN0XG4gKiBhIGAvYXdzL2xhbWJkYS8uLi5gIG5hbWUuIEN1c3RvbSByZXNvdXJjZXMgYXJlIGJhY2tlZCBieSBhIGZyYW1ld29yay1tYW5hZ2VkXG4gKiBwcm92aWRlciBMYW1iZGEgd2hvc2UgbmFtZSB3ZSBkb24ndCBjb250cm9sLCBzbyBhIHByZWRpY3RlZCBuYW1lIGlzIGJvdGhcbiAqIG1lYW5pbmdsZXNzIGFuZCBwcm9uZSB0byBjb2xsaXNpb25zIHdoZW4gdHJ1bmNhdGVkIHRvIENsb3VkV2F0Y2gncyA2NFxuICogY2hhcmFjdGVyIGxpbWl0IChtdWx0aXBsZSBjdXN0b20gcmVzb3VyY2VzIGluIG9uZSBzdGFjayBzaGFyaW5nIGEgbG9uZ1xuICogc3RhY2svY29uc3RydWN0IGlkIHByZWZpeCB3b3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIG5hbWUgYW5kIGZhaWwgdG8gZGVwbG95KS5cbiAqXG4gKiBJbnN0ZWFkIHRoaXMgbGV0cyBDbG91ZEZvcm1hdGlvbiBhc3NpZ24gYSB1bmlxdWUgcGh5c2ljYWwgbmFtZSwgd2hpbGUgc3RpbGxcbiAqIGFwcGx5aW5nIHJldGVudGlvbiBhbmQgYSBERVNUUk9ZIHJlbW92YWwgcG9saWN5LlxuICpcbiAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gY3JlYXRlIHRoZSBsb2cgZ3JvdXAgKHRoZSBjb25zdHJ1Y3QgaXRzZWxmKS5cbiAqIEBwYXJhbSBpZCBUaGUgaWQgb2YgdGhlIGxvZyBncm91cCBjb25zdHJ1Y3QuXG4gKiBAcGFyYW0gcHJvcHMgVGhlIGxvZyBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgVGhlIGxvZyBncm91cC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZUxvZ0dyb3VwRm9yQ3VzdG9tUmVzb3VyY2UoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBzdHJpbmcsXG4gIHByb3BzOiBDdXN0b21SZXNvdXJjZUxvZ09wdGlvbnMsXG4pOiBJTG9nR3JvdXAge1xuICBpZiAocHJvcHMubG9nR3JvdXApIHtcbiAgICByZXR1cm4gcHJvcHMubG9nR3JvdXA7XG4gIH1cbiAgcmV0dXJuIG5ldyBMb2dHcm91cChzY29wZSwgaWQsIHtcbiAgICByZXRlbnRpb246XG4gICAgICAocHJvcHMubG9nUmV0ZW50aW9uIGFzIFJldGVudGlvbkRheXMpID8/IFJldGVudGlvbkRheXMuVEhSRUVfREFZUyxcbiAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gIH0pO1xufVxuIl19
@@ -1 +1,2 @@
1
1
  export * from './network-parameters';
2
+ export * from './standard-network';
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./network-parameters"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzLXZwYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmV0d29yay1wYXJhbWV0ZXJzJztcbiJdfQ==
18
+ __exportStar(require("./standard-network"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzLXZwYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVEQUFxQztBQUNyQyxxREFBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25ldHdvcmstcGFyYW1ldGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3N0YW5kYXJkLW5ldHdvcmsnO1xuIl19
@@ -1,6 +1,6 @@
1
1
  import { StringListParameter, StringParameter } from 'aws-cdk-lib/aws-ssm';
2
2
  import type { Construct } from 'constructs';
3
- import { ExtendedConstruct, type ExtendedConstructProps } from '../../aws-cdk/index';
3
+ import { ExtendedConstruct, type ExtendedConstructProps } from '../../aws-cdk';
4
4
  /**
5
5
  * Properties for NetworkParameters.
6
6
  */
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NetworkParameters = void 0;
4
4
  const aws_ssm_1 = require("aws-cdk-lib/aws-ssm");
5
- const index_1 = require("../../aws-cdk/index");
5
+ const aws_cdk_1 = require("../../aws-cdk");
6
6
  const truemark_1 = require("../../truemark");
7
7
  /**
8
8
  * Stores and retrieves network infrastructure identifiers using
9
9
  * AWS Systems Manager Parameter Store.
10
10
  */
11
- class NetworkParameters extends index_1.ExtendedConstruct {
11
+ class NetworkParameters extends aws_cdk_1.ExtendedConstruct {
12
12
  /**
13
13
  * Creates a new NetworkParameters instance.
14
14
  *
@@ -19,7 +19,7 @@ class NetworkParameters extends index_1.ExtendedConstruct {
19
19
  constructor(scope, id, props) {
20
20
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
21
21
  super(scope, id, {
22
- standardTags: index_1.StandardTags.merge(props.standardTags, truemark_1.LibStandardTags),
22
+ standardTags: aws_cdk_1.StandardTags.merge(props.standardTags, truemark_1.LibStandardTags),
23
23
  });
24
24
  const create = (_a = props.create) !== null && _a !== void 0 ? _a : true;
25
25
  const prefix = (_b = props.prefix) !== null && _b !== void 0 ? _b : '/network';
@@ -304,4 +304,4 @@ class NetworkParameters extends index_1.ExtendedConstruct {
304
304
  }
305
305
  }
306
306
  exports.NetworkParameters = NetworkParameters;
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1wYXJhbWV0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy12cGMvbGliL25ldHdvcmstcGFyYW1ldGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBeUU7QUFFekUsK0NBSTZCO0FBQzdCLDZDQUErQztBQXNTL0M7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSx5QkFBaUI7SUEyVXREOzs7Ozs7T0FNRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNkI7O1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLG9CQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsMEJBQWUsQ0FBQztTQUN0RSxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFBLEtBQUssQ0FBQyxNQUFNLG1DQUFJLElBQUksQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxNQUFBLEtBQUssQ0FBQyxNQUFNLG1DQUFJLFVBQVUsQ0FBQztRQUMxQyxNQUFNLElBQUksR0FBRyxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQztRQUMzRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxJQUFJLGtCQUFrQixDQUFDO1FBQzdELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxHQUFHLElBQUksZ0JBQWdCLENBQUM7UUFDekQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQztRQUMvRCxJQUFJLENBQUMsNEJBQTRCLEdBQUcs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QUFJLEVBQ0osSUFBSSxDQUFDLCtCQUErQixDQUNyQyxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLE1BQUEsS0FBSyxDQUFDLDJCQUEyQixtQ0FBSSxLQUFLLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx5QkFBZSxDQUFDLGVBQWUsQ0FDN0QsSUFBSSxFQUNKLElBQUksQ0FBQyxrQ0FBa0MsQ0FDeEMsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxNQUFBLEtBQUssQ0FBQyxnQkFBZ0IsbUNBQUksS0FBSyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyx5QkFBZSxDQUFDLGVBQWUsQ0FDbkQsSUFBSSxFQUNKLElBQUksQ0FBQyx1QkFBdUIsQ0FDN0IsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxNQUFBLEtBQUssQ0FBQyxpQkFBaUIsbUNBQUksS0FBSyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyx5QkFBZSxDQUFDLGVBQWUsQ0FDcEQsSUFBSSxFQUNKLElBQUksQ0FBQyx3QkFBd0IsQ0FDOUIsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdHZCRCw4Q0FzdkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdHJpbmdMaXN0UGFyYW1ldGVyLCBTdHJpbmdQYXJhbWV0ZXJ9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0IHR5cGUge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBFeHRlbmRlZENvbnN0cnVjdCxcbiAgdHlwZSBFeHRlbmRlZENvbnN0cnVjdFByb3BzLFxuICBTdGFuZGFyZFRhZ3MsXG59IGZyb20gJy4uLy4uL2F3cy1jZGsvaW5kZXgnO1xuaW1wb3J0IHtMaWJTdGFuZGFyZFRhZ3N9IGZyb20gJy4uLy4uL3RydWVtYXJrJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBOZXR3b3JrUGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUGFyYW1ldGVyc1Byb3BzIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBuZXR3b3JrLiBUaGlzIGlzIG5vcm1hbGx5IHRoZSBuYW1lIG9mIHlvdXIgVlBDLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggZnJvbSB3aGljaCB0byBzdG9yZSBhbmQgcmV0cmlldmUgcGFyYW1ldGVycy4gRGVmYXVsdCBpcyBcIi9uZXR3b3JrXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gXCIvbmV0d29ya1wiXG4gICAqL1xuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIGRpc2FibGUgdGhlIGNyZWF0aW9uIG9mIHJlc291cmNlcyBpbiB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXMgY3JlYXRlZCBieSB0aGlzXG4gICAqIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVlBDIElEIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF2YWlsYWJpbGl0eS16b25lIHZhbHVlcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGF6cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgc3VibmV0IElEcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEludHJhIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBpbnRyYVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZWRzaGlmdCBzdWJuZXQgSURzIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGF0YWJhc2Ugc3VibmV0IElEcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEVsYXN0aWNhY2hlIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBlbGFzdGljYWNoZVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPdXRwb3N0IHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBvdXRwb3N0U3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBBTEIgQVJOcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHJpdmF0ZSBBTEIgQVJOcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENlcnRpZmljYXRlIEFSTnMgb24gcHVibGljIEFMQnMgdG8gc3RvcmUuIEluZGV4ZXMgc2hvdWxkIG1hdGNoIHB1YmxpY0FsYkFybnMuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ2VydGlmaWNhdGUgQVJOcyBvbiBwcml2YXRlIEFMQnMgdG8gc3RvcmUuIEluZGV4ZXMgc2hvdWxkIG1hdGNoIHByaXZhdGVBbGJBcm5zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBwdWJsaWMgQUxCIEFSTnMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIHByaXZhdGUgQUxCIEFSTnMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBjZXJ0aWZpY2F0ZSBBUk5zIG9uIHB1YmxpYyBBTEJzIHRvIHN0b3JlLiBJbmRleGVzIHNob3VsZCBtYXRjaCBwdWJsaWNBbGJBcm5zLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIGNlcnRpZmljYXRlIEFSTnMgb24gcHJpdmF0ZSBBTEJzIHRvIHN0b3JlLiBJbmRleGVzIHNob3VsZCBtYXRjaCBwcml2YXRlQWxiQXJucy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHVibGljIGNlcnRpZmljYXRlIEFSTiB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgY2VydGlmaWNhdGUgQVJOIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENsb3VkRnJvbnQgY2VydGlmaWNhdGUgQVJOIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBjbG91ZEZvbnRDZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogUHVibGljIHpvbmUgbmFtZSB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgem9uZSBuYW1lIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvb2t1cCBWUEMgdmFsdWUgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwVnBjPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGF2YWlsYWJpbGl0eSB6b25lcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBBenM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHVibGljIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHVibGljU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwcml2YXRlIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHJpdmF0ZVN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgaW50cmEgc3VibmV0cyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEludHJhU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCByZWRzaGlmdCBzdWJuZXRzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUmVkc2hpZnRTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGRhdGFiYXNlIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBEYXRhYmFzZVN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgZWxhc3RpY2FjaGUgc3VibmV0cyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEVsYXN0aWNhY2hlU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBvdXRwb3N0IHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBPdXRwb3N0U3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwdWJsaWMgQUxCcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0FsYnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHJpdmF0ZSBBTEJzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHJpdmF0ZUFsYnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgQUNNIGNlcnRpZmljYXRlcyBvbiBwdWJsaWMgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0FsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBBQ00gY2VydGlmaWNhdGVzIG9uIHByaXZhdGUgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgYWx0ZXJuYXRpdmUgcHVibGljIEFMQnMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBBbHRQdWJsaWNBbGJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGFsdGVybmF0aXZlIHByaXZhdGUgQUxCcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEFsdFByaXZhdGVBbGJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGFsdGVybmF0aXZlIEFDTSBjZXJ0aWZpY2F0ZXMgb24gcHVibGljIEFMQnMgaWYgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEFsdFB1YmxpY0FsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBhbHRlcm5hdGl2ZSBBQ00gY2VydGlmaWNhdGVzIG9uIHByaXZhdGUgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwQWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwdWJsaWMgY2VydGlmaWNhdGUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0NlcnRpZmljYXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIHByaXZhdGUgY2VydGlmaWNhdGUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFByaXZhdGVDZXJ0aWZpY2F0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBDbG91ZEZyb250IGNlcnRpZmljYXRlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBDbG91ZEZyb250Q2VydGlmaWNhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHVibGljIHpvbmUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY1pvbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHJpdmF0ZSB6b25lLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQcml2YXRlWm9uZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU3RvcmVzIGFuZCByZXRyaWV2ZXMgbmV0d29yayBpbmZyYXN0cnVjdHVyZSBpZGVudGlmaWVycyB1c2luZ1xuICogQVdTIFN5c3RlbXMgTWFuYWdlciBQYXJhbWV0ZXIgU3RvcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXR3b3JrUGFyYW1ldGVycyBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIFZQQyBJRFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBhdmFpbGFiaWxpdHkgem9uZXNcbiAgICovXG4gIHJlYWRvbmx5IGF6c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcHVibGljIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgc3VibmV0IElEc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGludHJhIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcmVkc2hpZnQgc3VibmV0IElEc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBkYXRhYmFzZSBzdWJuZXQgSURzXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGVsYXN0aWNhY2hlIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgb3V0cG9zdCBzdWJuZXQgSURzLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cG9zdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB1YmxpYyBBTEIgQVJOcy5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgQUxCIEFSTnMuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQWxic1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgcHVibGljIEFMQnMuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxCcy5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIHB1YmxpYyBBTEIgQVJOcy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIHByaXZhdGUgQUxCIEFSTnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxic1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgYWx0ZXJuYXRpdmUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgcHVibGljIEFMQnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxCcy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB1YmxpYyBjZXJ0aWZpY2F0ZSBBUk4uXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcHJpdmF0ZSBjZXJ0aWZpY2F0ZSBBUk4uXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIENsb3VkRnJvbnQgY2VydGl0aWNhdGUgQVJOLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBwdWJsaWMgem9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1pvbmVQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgem9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgdnBjSWQgd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjUGFyYW1ldGVyPzogU3RyaW5nUGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYXpzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhenNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyYXRlZCBpZiBwdWJsaWNTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHJpdmF0ZVN1Ym5ldElkcyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgaW50cmFTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0c1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiByZWRzaGlmdFN1Ym5ldElkcyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGRhdGFiYXNlU3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgZWxhc3RpY2FjaGVTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBvdXRwb3N0U3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBvdXRwb3N0U3VibmV0c1ByYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHB1YmxpY0FsYkFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYnNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHJpdmF0ZUFsYkFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHB1YmxpY0FsYkNlcnRpZmljYXRlQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHVibGljQWxiQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxic1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBhbHRQcml2YXRlQWxiQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBwdWJsaWNDZXJ0aWZpY2F0ZUFybiB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVDZXJ0aWZpY2F0ZUFybiB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVQYXJhbWV0ZXI/OiBTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBjbG91ZEZyb250Q2VydGlmaWNhdGVBcm4gd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyPzogU3RyaW5nUGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHVibGljWm9uZU5hbWUgd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVab25lTmFtZSB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHZwY0lkIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJpbGl0eSB6b25lcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXpzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgc3VibmV0IElEcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwcml2YXRlIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGludHJhIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSByZWRzaGlmdCBzdWJuZXQgSURzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSByZWRzaGlmdFN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YWJhc2Ugc3VibmV0IElEcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGVsYXN0aWNhY2hlIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBvdXRwb3N0IHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IG91dHBvc3RTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHB1YmxpYyBBTEIgQVJOcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpdmF0ZSBBTEIgQVJOcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHB1YmxpYyBBTEJzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxicyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYWx0ZXJuYXRpdmUgcHVibGljIEFMQiBBUk5zIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBhbHRlcm5hdGl2ZSBwcml2YXRlIEFMQiBBUk5zIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgYWx0ZXJuYXRpdmUgcHVibGljIEFMQnMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFB1YmxpY0FsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgYWx0ZXJuYXRpdmUgcHJpdmF0ZSBBTGJzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgY2VydGlmaWNhdGUgQVJOIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByaXZhdGUgY2VydGlmaWNhdGUgQVJOIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDbG91ZEZyb250IGNlcnRpZmljYXRlIEFSTiBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHVibGljIHpvbmUgbmFtZSBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcml2YXRlIHpvbmUgbmFtZSBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IE5ldHdvcmtQYXJhbWV0ZXJzIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHBhcmVudCBzY29wZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIG9mIHRoZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3IgdGhlIGluc3RhbmNlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV0d29ya1BhcmFtZXRlcnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiBTdGFuZGFyZFRhZ3MubWVyZ2UocHJvcHMuc3RhbmRhcmRUYWdzLCBMaWJTdGFuZGFyZFRhZ3MpLFxuICAgIH0pO1xuICAgIGNvbnN0IGNyZWF0ZSA9IHByb3BzLmNyZWF0ZSA/PyB0cnVlO1xuICAgIGNvbnN0IHByZWZpeCA9IHByb3BzLnByZWZpeCA/PyAnL25ldHdvcmsnO1xuICAgIGNvbnN0IHBhdGggPSBgJHtwcmVmaXh9LyR7cHJvcHMubmFtZX1gO1xuICAgIHRoaXMudnBjUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ZwY2A7XG4gICAgdGhpcy5henNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYXpzYDtcbiAgICB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHVibGljX3N1Ym5ldHNgO1xuICAgIHRoaXMucHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHJpdmF0ZV9zdWJuZXRzYDtcbiAgICB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9pbnRyYV9zdWJuZXRzYDtcbiAgICB0aGlzLnJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9yZWRzaGlmdF9zdWJuZXRzYDtcbiAgICB0aGlzLmRhdGFiYXNlU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9kYXRhYmFzZV9zdWJuZXRzYDtcbiAgICB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9lbGFzdGljYWNoZV9zdWJuZXRzYDtcbiAgICB0aGlzLm91dHBvc3RTdWJuZXRzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L291dHBvc3Rfc3VibmV0c2A7XG4gICAgdGhpcy5wdWJsaWNBbGJzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3B1YmxpY19hbGJzYDtcbiAgICB0aGlzLnByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ByaXZhdGVfYWxic2A7XG4gICAgdGhpcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHVibGljX2FsYl9jZXJ0aWZpY2F0ZXNgO1xuICAgIHRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wcml2YXRlX2FsYl9jZXJ0aWZpY2F0ZXNgO1xuICAgIHRoaXMuYWx0UHVibGljQWxic1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9hbHRfcHVibGljX2FsYnNgO1xuICAgIHRoaXMuYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3ByaXZhdGVfYWxic2A7XG4gICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3B1YmxpY19hbGJfY2VydGlmaWNhdGVzYDtcbiAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3ByaXZhdGVfYWxiX2NlcnRpZmljYXRlc2A7XG4gICAgdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wdWJsaWNfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ByaXZhdGVfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMuY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L2Nsb3VkZnJvbnRfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMucHVibGljWm9uZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wdWJsaWNfem9uZWA7XG4gICAgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wcml2YXRlX3pvbmVgO1xuXG4gICAgaWYgKGNyZWF0ZSkge1xuICAgICAgaWYgKHByb3BzLnZwY0lkKSB7XG4gICAgICAgIHRoaXMudnBjUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcih0aGlzLCAnVnBjSWQnLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy52cGNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy52cGNJZCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudnBjSWQgPSBwcm9wcy52cGNJZDtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5henMpIHtcbiAgICAgICAgdGhpcy5henNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCAnQVpzJywge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuYXpzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmF6cyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXpzID0gcHJvcHMuYXpzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY1N1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQdWJsaWNTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wdWJsaWNTdWJuZXRJZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5wdWJsaWNTdWJuZXRJZHMgPSBwcm9wcy5wcml2YXRlU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnByaXZhdGVTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlU3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgJ1ByaXZhdGVTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnByaXZhdGVTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMucHJpdmF0ZVN1Ym5ldElkcyxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnByaXZhdGVTdWJuZXRJZHMgPSBwcm9wcy5wcml2YXRlU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmludHJhU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMuaW50cmFTdWJuZXRzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAnSW50cmFTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmludHJhU3VibmV0SWRzLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaW50cmFTdWJuZXRJZHMgPSBwcm9wcy5pbnRyYVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5yZWRzaGlmdFN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgJ1JlZHNoaWZ0U3VibmV0cycsXG4gICAgICAgICAge1xuICAgICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5yZWRzaGlmdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5yZWRzaGlmdFN1Ym5ldElkcyxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnJlZHNoaWZ0U3VibmV0SWRzID0gcHJvcHMucmVkc2hpZnRTdWJuZXRJZHM7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGF0YWJhc2VTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5kYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdEYXRhYmFzZVN1Ym5ldHMnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuZGF0YWJhc2VTdWJuZXRJZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kYXRhYmFzZVN1Ym5ldElkcyA9IHByb3BzLmRhdGFiYXNlU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmVsYXN0aWNhY2hlU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMuZWxhc3RpY2FjaGVTdWJuZXRzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAnRWxhc3RpY2FjaGVTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmVsYXN0aWNhY2hlU3VibmV0SWRzLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZWxhc3RpY2FjaGVTdWJuZXRJZHMgPSBwcm9wcy5lbGFzdGljYWNoZVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5vdXRwb3N0U3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMub3V0cG9zdFN1Ym5ldHNQcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgJ091dHBvc3RTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLm91dHBvc3RTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMub3V0cG9zdFN1Ym5ldElkcyxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm91dHBvc3RTdWJuZXRJZHMgPSBwcm9wcy5vdXRwb3N0U3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY0FsYkFybnMpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNBbGJzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgJ1B1YmxpY0FsYnMnLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wdWJsaWNBbGJzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnB1YmxpY0FsYkFybnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnB1YmxpY0FsYkFybnMgPSBwcm9wcy5wdWJsaWNBbGJBcm5zO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnByaXZhdGVBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYnNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQcml2YXRlQWxicycsXG4gICAgICAgICAge1xuICAgICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wcml2YXRlQWxic1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnByaXZhdGVBbGJBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYkFybnMgPSBwcm9wcy5wcml2YXRlQWxiQXJucztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQdWJsaWNBbGJDZXJ0aWZpY2F0ZXMnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMucHVibGljQWxiQ2VydGlmaWNhdGVBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQcml2YXRlQWxiQ2VydGlmaWNhdGVzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYWx0UHVibGljQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFB1YmxpY0FsYnNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdBbHRQdWJsaWNBbGJzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5hbHRQdWJsaWNBbGJBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYWx0UHJpdmF0ZUFsYkFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQcml2YXRlQWxic1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgJ0FsdFByaXZhdGVBbGJzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuYWx0UHJpdmF0ZUFsYkFybnMsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdBbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXMnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuYWx0UHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdBbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHVibGljQ2VydGlmaWNhdGVBcm4pIHtcbiAgICAgICAgdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAnUHVibGljQ2VydGlmaWNhdGUnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnB1YmxpY0NlcnRpZmljYXRlQXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHJpdmF0ZUNlcnRpZmljYXRlQXJuKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQcml2YXRlQ2VydGlmaWNhdGUnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy5wcml2YXRlQ2VydGlmaWNhdGVBcm4sXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jbG91ZEZvbnRDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAnQ2xvdWRGcm9udENlcnRpZmljYXRlJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICAgICBzdHJpbmdWYWx1ZTogcHJvcHMuY2xvdWRGb250Q2VydGlmaWNhdGVBcm4sXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wdWJsaWNab25lTmFtZSkge1xuICAgICAgICB0aGlzLnB1YmxpY1pvbmVQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nUGFyYW1ldGVyKHRoaXMsICdQdWJsaWNab25lJywge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljWm9uZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnB1YmxpY1pvbmVOYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgJ1ByaXZhdGVab25lJywge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHJpdmF0ZVpvbmVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy5wcml2YXRlWm9uZU5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwVnBjID8/IHRydWUpIHtcbiAgICAgIGlmICghdGhpcy52cGNJZCkge1xuICAgICAgICB0aGlzLnZwY0lkID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMudnBjUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cEF6cyA/PyB0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMuYXpzKSB7XG4gICAgICAgIHRoaXMuYXpzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMuYXpzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHVibGljU3VibmV0cyA/PyB0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMucHVibGljU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucHVibGljU3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMucHVibGljU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFByaXZhdGVTdWJuZXRzID8/IHRydWUpIHtcbiAgICAgIGlmICghdGhpcy5wcml2YXRlU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnByaXZhdGVTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwSW50cmFTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuaW50cmFTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5pbnRyYVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFJlZHNoaWZ0U3VibmV0cyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnJlZHNoaWZ0U3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucmVkc2hpZnRTdWJuZXRJZHMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5yZWRzaGlmdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBEYXRhYmFzZVN1Ym5ldHMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5kYXRhYmFzZVN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLmRhdGFiYXNlU3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMuZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwRWxhc3RpY2FjaGVTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuZWxhc3RpY2FjaGVTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5lbGFzdGljYWNoZVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cE91dHBvc3RTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMub3V0cG9zdFN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLm91dHBvc3RTdWJuZXRJZHMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5vdXRwb3N0U3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFB1YmxpY0FsYnMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wdWJsaWNBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMucHVibGljQWxiQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQcml2YXRlQWxicyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnByaXZhdGVBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYkFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5wcml2YXRlQWxic1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFB1YmxpY0FsYkNlcnRpZmljYXRlcyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBBbHRQdWJsaWNBbGJzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuYWx0UHVibGljQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFB1YmxpY0FsYkFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwQWx0UHJpdmF0ZUFsYnMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5hbHRQcml2YXRlQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJBcm5zID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMuYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBBbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBBbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHVibGljQ2VydGlmaWNhdGUgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLnB1YmxpY0NlcnRpZmljYXRlQXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMucHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHJpdmF0ZUNlcnRpZmljYXRlID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHJpdmF0ZUNlcnRpZmljYXRlQXJuKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlQXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cENsb3VkRnJvbnRDZXJ0aWZpY2F0ZSA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZUFybiA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQdWJsaWNab25lID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHVibGljWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNab25lTmFtZSA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnB1YmxpY1pvbmVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHJpdmF0ZVpvbmUgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wcml2YXRlWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlWm9uZU5hbWUgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
307
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1wYXJhbWV0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy12cGMvbGliL25ldHdvcmstcGFyYW1ldGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBeUU7QUFFekUsMkNBSXVCO0FBQ3ZCLDZDQUErQztBQXNTL0M7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSwyQkFBaUI7SUEyVXREOzs7Ozs7T0FNRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNkI7O1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLHNCQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsMEJBQWUsQ0FBQztTQUN0RSxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFBLEtBQUssQ0FBQyxNQUFNLG1DQUFJLElBQUksQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxNQUFBLEtBQUssQ0FBQyxNQUFNLG1DQUFJLFVBQVUsQ0FBQztRQUMxQyxNQUFNLElBQUksR0FBRyxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDdEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQztRQUMzRCxJQUFJLENBQUMsMkJBQTJCLEdBQUcsR0FBRyxJQUFJLGtCQUFrQixDQUFDO1FBQzdELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxHQUFHLElBQUksZ0JBQWdCLENBQUM7UUFDekQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQztRQUMvRCxJQUFJLENBQUMsNEJBQTRCLEdBQUcs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QUFJLEVBQ0osSUFBSSxDQUFDLCtCQUErQixDQUNyQyxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLE1BQUEsS0FBSyxDQUFDLDJCQUEyQixtQ0FBSSxLQUFLLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyx3QkFBd0IsR0FBRyx5QkFBZSxDQUFDLGVBQWUsQ0FDN0QsSUFBSSxFQUNKLElBQUksQ0FBQyxrQ0FBa0MsQ0FDeEMsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxNQUFBLEtBQUssQ0FBQyxnQkFBZ0IsbUNBQUksS0FBSyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyx5QkFBZSxDQUFDLGVBQWUsQ0FDbkQsSUFBSSxFQUNKLElBQUksQ0FBQyx1QkFBdUIsQ0FDN0IsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxNQUFBLEtBQUssQ0FBQyxpQkFBaUIsbUNBQUksS0FBSyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyx5QkFBZSxDQUFDLGVBQWUsQ0FDcEQsSUFBSSxFQUNKLElBQUksQ0FBQyx3QkFBd0IsQ0FDOUIsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdHZCRCw4Q0FzdkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTdHJpbmdMaXN0UGFyYW1ldGVyLCBTdHJpbmdQYXJhbWV0ZXJ9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zc20nO1xuaW1wb3J0IHR5cGUge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBFeHRlbmRlZENvbnN0cnVjdCxcbiAgdHlwZSBFeHRlbmRlZENvbnN0cnVjdFByb3BzLFxuICBTdGFuZGFyZFRhZ3MsXG59IGZyb20gJy4uLy4uL2F3cy1jZGsnO1xuaW1wb3J0IHtMaWJTdGFuZGFyZFRhZ3N9IGZyb20gJy4uLy4uL3RydWVtYXJrJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBOZXR3b3JrUGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrUGFyYW1ldGVyc1Byb3BzIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBuZXR3b3JrLiBUaGlzIGlzIG5vcm1hbGx5IHRoZSBuYW1lIG9mIHlvdXIgVlBDLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggZnJvbSB3aGljaCB0byBzdG9yZSBhbmQgcmV0cmlldmUgcGFyYW1ldGVycy4gRGVmYXVsdCBpcyBcIi9uZXR3b3JrXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gXCIvbmV0d29ya1wiXG4gICAqL1xuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byBmYWxzZSB3aWxsIGRpc2FibGUgdGhlIGNyZWF0aW9uIG9mIHJlc291cmNlcyBpbiB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyB0cnVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNyZWF0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXMgY3JlYXRlZCBieSB0aGlzXG4gICAqIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVlBDIElEIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF2YWlsYWJpbGl0eS16b25lIHZhbHVlcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGF6cz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQdWJsaWMgc3VibmV0IElEcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEludHJhIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBpbnRyYVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBSZWRzaGlmdCBzdWJuZXQgSURzIHRvIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGF0YWJhc2Ugc3VibmV0IElEcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFiYXNlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEVsYXN0aWNhY2hlIHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBlbGFzdGljYWNoZVN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPdXRwb3N0IHN1Ym5ldCBJRHMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBvdXRwb3N0U3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFB1YmxpYyBBTEIgQVJOcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHJpdmF0ZSBBTEIgQVJOcyB0byBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENlcnRpZmljYXRlIEFSTnMgb24gcHVibGljIEFMQnMgdG8gc3RvcmUuIEluZGV4ZXMgc2hvdWxkIG1hdGNoIHB1YmxpY0FsYkFybnMuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ2VydGlmaWNhdGUgQVJOcyBvbiBwcml2YXRlIEFMQnMgdG8gc3RvcmUuIEluZGV4ZXMgc2hvdWxkIG1hdGNoIHByaXZhdGVBbGJBcm5zLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBwdWJsaWMgQUxCIEFSTnMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIHByaXZhdGUgQUxCIEFSTnMgdG8gc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbHRlcm5hdGl2ZSBjZXJ0aWZpY2F0ZSBBUk5zIG9uIHB1YmxpYyBBTEJzIHRvIHN0b3JlLiBJbmRleGVzIHNob3VsZCBtYXRjaCBwdWJsaWNBbGJBcm5zLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIGNlcnRpZmljYXRlIEFSTnMgb24gcHJpdmF0ZSBBTEJzIHRvIHN0b3JlLiBJbmRleGVzIHNob3VsZCBtYXRjaCBwcml2YXRlQWxiQXJucy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogUHVibGljIGNlcnRpZmljYXRlIEFSTiB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgY2VydGlmaWNhdGUgQVJOIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENsb3VkRnJvbnQgY2VydGlmaWNhdGUgQVJOIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBjbG91ZEZvbnRDZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogUHVibGljIHpvbmUgbmFtZSB0byBzdG9yZSBmb3IgdGhpcyBuZXR3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgem9uZSBuYW1lIHRvIHN0b3JlIGZvciB0aGlzIG5ldHdvcmsuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExvb2t1cCBWUEMgdmFsdWUgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwVnBjPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGF2YWlsYWJpbGl0eSB6b25lcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBBenM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHVibGljIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHVibGljU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwcml2YXRlIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHJpdmF0ZVN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgaW50cmEgc3VibmV0cyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEludHJhU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCByZWRzaGlmdCBzdWJuZXRzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUmVkc2hpZnRTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGRhdGFiYXNlIHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBEYXRhYmFzZVN1Ym5ldHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgZWxhc3RpY2FjaGUgc3VibmV0cyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEVsYXN0aWNhY2hlU3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBvdXRwb3N0IHN1Ym5ldHMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBPdXRwb3N0U3VibmV0cz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwdWJsaWMgQUxCcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0FsYnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHJpdmF0ZSBBTEJzIGlmIG5vdCBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUHJpdmF0ZUFsYnM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgQUNNIGNlcnRpZmljYXRlcyBvbiBwdWJsaWMgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0FsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBBQ00gY2VydGlmaWNhdGVzIG9uIHByaXZhdGUgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgYWx0ZXJuYXRpdmUgcHVibGljIEFMQnMgaWYgbm90IHByb3ZpZGVkLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBBbHRQdWJsaWNBbGJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGFsdGVybmF0aXZlIHByaXZhdGUgQUxCcyBpZiBub3QgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEFsdFByaXZhdGVBbGJzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIGFsdGVybmF0aXZlIEFDTSBjZXJ0aWZpY2F0ZXMgb24gcHVibGljIEFMQnMgaWYgcHJvdmlkZWQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cEFsdFB1YmxpY0FsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBhbHRlcm5hdGl2ZSBBQ00gY2VydGlmaWNhdGVzIG9uIHByaXZhdGUgQUxCcyBpZiBwcm92aWRlZC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwQWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBwdWJsaWMgY2VydGlmaWNhdGUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY0NlcnRpZmljYXRlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9va3VwIHByaXZhdGUgY2VydGlmaWNhdGUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFByaXZhdGVDZXJ0aWZpY2F0ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvb2t1cCBDbG91ZEZyb250IGNlcnRpZmljYXRlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBDbG91ZEZyb250Q2VydGlmaWNhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHVibGljIHpvbmUuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFB1YmxpY1pvbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb29rdXAgcHJpdmF0ZSB6b25lLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsb29rdXBQcml2YXRlWm9uZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU3RvcmVzIGFuZCByZXRyaWV2ZXMgbmV0d29yayBpbmZyYXN0cnVjdHVyZSBpZGVudGlmaWVycyB1c2luZ1xuICogQVdTIFN5c3RlbXMgTWFuYWdlciBQYXJhbWV0ZXIgU3RvcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXR3b3JrUGFyYW1ldGVycyBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIFZQQyBJRFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBhdmFpbGFiaWxpdHkgem9uZXNcbiAgICovXG4gIHJlYWRvbmx5IGF6c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcHVibGljIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgc3VibmV0IElEc1xuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGludHJhIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcmVkc2hpZnQgc3VibmV0IElEc1xuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBkYXRhYmFzZSBzdWJuZXQgSURzXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGVsYXN0aWNhY2hlIHN1Ym5ldCBJRHNcbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgb3V0cG9zdCBzdWJuZXQgSURzLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cG9zdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB1YmxpYyBBTEIgQVJOcy5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgQUxCIEFSTnMuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQWxic1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgcHVibGljIEFMQnMuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxCcy5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIHB1YmxpYyBBTEIgQVJOcy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIHByaXZhdGUgQUxCIEFSTnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxic1BhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgYWx0ZXJuYXRpdmUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgcHVibGljIEFMQnMuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGFsdGVybmF0aXZlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxCcy5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHB1YmxpYyBjZXJ0aWZpY2F0ZSBBUk4uXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgcHJpdmF0ZSBjZXJ0aWZpY2F0ZSBBUk4uXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIENsb3VkRnJvbnQgY2VydGl0aWNhdGUgQVJOLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBwdWJsaWMgem9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1pvbmVQYXJhbWV0ZXJQYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHByaXZhdGUgem9uZS5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lUGFyYW1ldGVyUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgdnBjSWQgd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjUGFyYW1ldGVyPzogU3RyaW5nUGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYXpzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhenNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyYXRlZCBpZiBwdWJsaWNTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHJpdmF0ZVN1Ym5ldElkcyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgaW50cmFTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0c1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiByZWRzaGlmdFN1Ym5ldElkcyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVkc2hpZnRTdWJuZXRzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIGRhdGFiYXNlU3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBkYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgZWxhc3RpY2FjaGVTdWJuZXRJZHMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBvdXRwb3N0U3VibmV0SWRzIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBvdXRwb3N0U3VibmV0c1ByYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHB1YmxpY0FsYkFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHB1YmxpY0FsYnNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHJpdmF0ZUFsYkFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHB1YmxpY0FsYkNlcnRpZmljYXRlQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyPzogU3RyaW5nTGlzdFBhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMgd2VyZSBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHVibGljQWxiQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHVibGljQWxic1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBhbHRQcml2YXRlQWxiQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zIHdlcmUgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXI/OiBTdHJpbmdMaXN0UGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucyB3ZXJlIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlcj86IFN0cmluZ0xpc3RQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBwdWJsaWNDZXJ0aWZpY2F0ZUFybiB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVDZXJ0aWZpY2F0ZUFybiB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVQYXJhbWV0ZXI/OiBTdHJpbmdQYXJhbWV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJhbWV0ZXIgY3JlYXRlZCBpZiBjbG91ZEZyb250Q2VydGlmaWNhdGVBcm4gd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyPzogU3RyaW5nUGFyYW1ldGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVyIGNyZWF0ZWQgaWYgcHVibGljWm9uZU5hbWUgd2FzIHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHBhcmFtZXRlciBjcmVhdGVkIGlmIHByaXZhdGVab25lTmFtZSB3YXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlWm9uZVBhcmFtZXRlcj86IFN0cmluZ1BhcmFtZXRlcjtcblxuICAvKipcbiAgICogVGhlIHZwY0lkIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSB2cGNJZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJpbGl0eSB6b25lcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXpzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgc3VibmV0IElEcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwcml2YXRlIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGludHJhIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGludHJhU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSByZWRzaGlmdCBzdWJuZXQgSURzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSByZWRzaGlmdFN1Ym5ldElkcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0YWJhc2Ugc3VibmV0IElEcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YWJhc2VTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGVsYXN0aWNhY2hlIHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGVsYXN0aWNhY2hlU3VibmV0SWRzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBvdXRwb3N0IHN1Ym5ldCBJRHMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IG91dHBvc3RTdWJuZXRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIHB1YmxpYyBBTEIgQVJOcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpdmF0ZSBBTEIgQVJOcyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHB1YmxpYyBBTEJzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNlcnRpZmljYXRlIEFSTnMgb24gdGhlIHByaXZhdGUgQUxicyBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYWx0ZXJuYXRpdmUgcHVibGljIEFMQiBBUk5zIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQdWJsaWNBbGJBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBhbHRlcm5hdGl2ZSBwcml2YXRlIEFMQiBBUk5zIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgYWx0ZXJuYXRpdmUgcHVibGljIEFMQnMgaWYgcHJvdmlkZWQgb3IgbG9va3VwcyBhcmUgZW5hYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsdFB1YmxpY0FsYkNlcnRpZmljYXRlQXJucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY2VydGlmaWNhdGUgQVJOcyBvbiB0aGUgYWx0ZXJuYXRpdmUgcHJpdmF0ZSBBTGJzIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBhbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMgY2VydGlmaWNhdGUgQVJOIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNDZXJ0aWZpY2F0ZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHByaXZhdGUgY2VydGlmaWNhdGUgQVJOIGlmIHByb3ZpZGVkIG9yIGxvb2t1cHMgYXJlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlQ2VydGlmaWNhdGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDbG91ZEZyb250IGNlcnRpZmljYXRlIEFSTiBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xvdWRGcm9udENlcnRpZmljYXRlQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHVibGljIHpvbmUgbmFtZSBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGljWm9uZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcml2YXRlIHpvbmUgbmFtZSBpZiBwcm92aWRlZCBvciBsb29rdXBzIGFyZSBlbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmVOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IE5ldHdvcmtQYXJhbWV0ZXJzIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHBhcmVudCBzY29wZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIG9mIHRoZSBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgcHJvcGVydGllcyBmb3IgdGhlIGluc3RhbmNlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV0d29ya1BhcmFtZXRlcnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiBTdGFuZGFyZFRhZ3MubWVyZ2UocHJvcHMuc3RhbmRhcmRUYWdzLCBMaWJTdGFuZGFyZFRhZ3MpLFxuICAgIH0pO1xuICAgIGNvbnN0IGNyZWF0ZSA9IHByb3BzLmNyZWF0ZSA/PyB0cnVlO1xuICAgIGNvbnN0IHByZWZpeCA9IHByb3BzLnByZWZpeCA/PyAnL25ldHdvcmsnO1xuICAgIGNvbnN0IHBhdGggPSBgJHtwcmVmaXh9LyR7cHJvcHMubmFtZX1gO1xuICAgIHRoaXMudnBjUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ZwY2A7XG4gICAgdGhpcy5henNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYXpzYDtcbiAgICB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHVibGljX3N1Ym5ldHNgO1xuICAgIHRoaXMucHJpdmF0ZVN1Ym5ldHNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHJpdmF0ZV9zdWJuZXRzYDtcbiAgICB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9pbnRyYV9zdWJuZXRzYDtcbiAgICB0aGlzLnJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9yZWRzaGlmdF9zdWJuZXRzYDtcbiAgICB0aGlzLmRhdGFiYXNlU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9kYXRhYmFzZV9zdWJuZXRzYDtcbiAgICB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9lbGFzdGljYWNoZV9zdWJuZXRzYDtcbiAgICB0aGlzLm91dHBvc3RTdWJuZXRzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L291dHBvc3Rfc3VibmV0c2A7XG4gICAgdGhpcy5wdWJsaWNBbGJzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3B1YmxpY19hbGJzYDtcbiAgICB0aGlzLnByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ByaXZhdGVfYWxic2A7XG4gICAgdGhpcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vcHVibGljX2FsYl9jZXJ0aWZpY2F0ZXNgO1xuICAgIHRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wcml2YXRlX2FsYl9jZXJ0aWZpY2F0ZXNgO1xuICAgIHRoaXMuYWx0UHVibGljQWxic1BhcmFtZXRlclBhdGggPSBgJHtwYXRofS9hbHRfcHVibGljX2FsYnNgO1xuICAgIHRoaXMuYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3ByaXZhdGVfYWxic2A7XG4gICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3B1YmxpY19hbGJfY2VydGlmaWNhdGVzYDtcbiAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoID0gYCR7cGF0aH0vYWx0X3ByaXZhdGVfYWxiX2NlcnRpZmljYXRlc2A7XG4gICAgdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wdWJsaWNfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L3ByaXZhdGVfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMuY2xvdWRGcm9udENlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCA9IGAke3BhdGh9L2Nsb3VkZnJvbnRfY2VydGlmaWNhdGVgO1xuICAgIHRoaXMucHVibGljWm9uZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wdWJsaWNfem9uZWA7XG4gICAgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlclBhdGggPSBgJHtwYXRofS9wcml2YXRlX3pvbmVgO1xuXG4gICAgaWYgKGNyZWF0ZSkge1xuICAgICAgaWYgKHByb3BzLnZwY0lkKSB7XG4gICAgICAgIHRoaXMudnBjUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcih0aGlzLCAnVnBjSWQnLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy52cGNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy52cGNJZCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudnBjSWQgPSBwcm9wcy52cGNJZDtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5henMpIHtcbiAgICAgICAgdGhpcy5henNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCAnQVpzJywge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuYXpzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmF6cyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXpzID0gcHJvcHMuYXpzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY1N1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQdWJsaWNTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnB1YmxpY1N1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wdWJsaWNTdWJuZXRJZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5wdWJsaWNTdWJuZXRJZHMgPSBwcm9wcy5wcml2YXRlU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnByaXZhdGVTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlU3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgJ1ByaXZhdGVTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnByaXZhdGVTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMucHJpdmF0ZVN1Ym5ldElkcyxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnByaXZhdGVTdWJuZXRJZHMgPSBwcm9wcy5wcml2YXRlU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmludHJhU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMuaW50cmFTdWJuZXRzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAnSW50cmFTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmludHJhU3VibmV0SWRzLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaW50cmFTdWJuZXRJZHMgPSBwcm9wcy5pbnRyYVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5yZWRzaGlmdFN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLnJlZHNoaWZ0U3VibmV0c1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgJ1JlZHNoaWZ0U3VibmV0cycsXG4gICAgICAgICAge1xuICAgICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5yZWRzaGlmdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5yZWRzaGlmdFN1Ym5ldElkcyxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLnJlZHNoaWZ0U3VibmV0SWRzID0gcHJvcHMucmVkc2hpZnRTdWJuZXRJZHM7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuZGF0YWJhc2VTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5kYXRhYmFzZVN1Ym5ldHNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdEYXRhYmFzZVN1Ym5ldHMnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuZGF0YWJhc2VTdWJuZXRJZHMsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kYXRhYmFzZVN1Ym5ldElkcyA9IHByb3BzLmRhdGFiYXNlU3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmVsYXN0aWNhY2hlU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMuZWxhc3RpY2FjaGVTdWJuZXRzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAnRWxhc3RpY2FjaGVTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLmVsYXN0aWNhY2hlU3VibmV0SWRzLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZWxhc3RpY2FjaGVTdWJuZXRJZHMgPSBwcm9wcy5lbGFzdGljYWNoZVN1Ym5ldElkcztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5vdXRwb3N0U3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMub3V0cG9zdFN1Ym5ldHNQcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgJ091dHBvc3RTdWJuZXRzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLm91dHBvc3RTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMub3V0cG9zdFN1Ym5ldElkcyxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm91dHBvc3RTdWJuZXRJZHMgPSBwcm9wcy5vdXRwb3N0U3VibmV0SWRzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnB1YmxpY0FsYkFybnMpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNBbGJzUGFyYW1ldGVyID0gbmV3IFN0cmluZ0xpc3RQYXJhbWV0ZXIodGhpcywgJ1B1YmxpY0FsYnMnLCB7XG4gICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wdWJsaWNBbGJzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnB1YmxpY0FsYkFybnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnB1YmxpY0FsYkFybnMgPSBwcm9wcy5wdWJsaWNBbGJBcm5zO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLnByaXZhdGVBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYnNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQcml2YXRlQWxicycsXG4gICAgICAgICAge1xuICAgICAgICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5wcml2YXRlQWxic1BhcmFtZXRlclBhdGgsXG4gICAgICAgICAgICBzdHJpbmdMaXN0VmFsdWU6IHByb3BzLnByaXZhdGVBbGJBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYkFybnMgPSBwcm9wcy5wcml2YXRlQWxiQXJucztcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQdWJsaWNBbGJDZXJ0aWZpY2F0ZXMnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMucHVibGljQWxiQ2VydGlmaWNhdGVBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQcml2YXRlQWxiQ2VydGlmaWNhdGVzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5wcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYWx0UHVibGljQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFB1YmxpY0FsYnNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdBbHRQdWJsaWNBbGJzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5hbHRQdWJsaWNBbGJBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYWx0UHJpdmF0ZUFsYkFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQcml2YXRlQWxic1BhcmFtZXRlciA9IG5ldyBTdHJpbmdMaXN0UGFyYW1ldGVyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgJ0FsdFByaXZhdGVBbGJzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFByaXZhdGVBbGJzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuYWx0UHJpdmF0ZUFsYkFybnMsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdBbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXMnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuYWx0UHVibGljQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ0xpc3RWYWx1ZTogcHJvcHMuYWx0UHVibGljQWxiQ2VydGlmaWNhdGVBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nTGlzdFBhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdBbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nTGlzdFZhbHVlOiBwcm9wcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHVibGljQ2VydGlmaWNhdGVBcm4pIHtcbiAgICAgICAgdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAnUHVibGljQ2VydGlmaWNhdGUnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnB1YmxpY0NlcnRpZmljYXRlQXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAocHJvcHMucHJpdmF0ZUNlcnRpZmljYXRlQXJuKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyID0gbmV3IFN0cmluZ1BhcmFtZXRlcihcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgICdQcml2YXRlQ2VydGlmaWNhdGUnLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy5wcml2YXRlQ2VydGlmaWNhdGVBcm4sXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5jbG91ZEZvbnRDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICAnQ2xvdWRGcm9udENlcnRpZmljYXRlJyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICAgICBzdHJpbmdWYWx1ZTogcHJvcHMuY2xvdWRGb250Q2VydGlmaWNhdGVBcm4sXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wdWJsaWNab25lTmFtZSkge1xuICAgICAgICB0aGlzLnB1YmxpY1pvbmVQYXJhbWV0ZXIgPSBuZXcgU3RyaW5nUGFyYW1ldGVyKHRoaXMsICdQdWJsaWNab25lJywge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHVibGljWm9uZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnB1YmxpY1pvbmVOYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5wcml2YXRlWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlciA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgJ1ByaXZhdGVab25lJywge1xuICAgICAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMucHJpdmF0ZVpvbmVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICAgIHN0cmluZ1ZhbHVlOiBwcm9wcy5wcml2YXRlWm9uZU5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwVnBjID8/IHRydWUpIHtcbiAgICAgIGlmICghdGhpcy52cGNJZCkge1xuICAgICAgICB0aGlzLnZwY0lkID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMudnBjUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cEF6cyA/PyB0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMuYXpzKSB7XG4gICAgICAgIHRoaXMuYXpzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMuYXpzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHVibGljU3VibmV0cyA/PyB0cnVlKSB7XG4gICAgICBpZiAoIXRoaXMucHVibGljU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucHVibGljU3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMucHVibGljU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFByaXZhdGVTdWJuZXRzID8/IHRydWUpIHtcbiAgICAgIGlmICghdGhpcy5wcml2YXRlU3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnByaXZhdGVTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwSW50cmFTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuaW50cmFTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5pbnRyYVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLmludHJhU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFJlZHNoaWZ0U3VibmV0cyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnJlZHNoaWZ0U3VibmV0SWRzKSB7XG4gICAgICAgIHRoaXMucmVkc2hpZnRTdWJuZXRJZHMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5yZWRzaGlmdFN1Ym5ldHNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBEYXRhYmFzZVN1Ym5ldHMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5kYXRhYmFzZVN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLmRhdGFiYXNlU3VibmV0SWRzID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMuZGF0YWJhc2VTdWJuZXRzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwRWxhc3RpY2FjaGVTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuZWxhc3RpY2FjaGVTdWJuZXRJZHMpIHtcbiAgICAgICAgdGhpcy5lbGFzdGljYWNoZVN1Ym5ldElkcyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLmVsYXN0aWNhY2hlU3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cE91dHBvc3RTdWJuZXRzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMub3V0cG9zdFN1Ym5ldElkcykge1xuICAgICAgICB0aGlzLm91dHBvc3RTdWJuZXRJZHMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5vdXRwb3N0U3VibmV0c1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFB1YmxpY0FsYnMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wdWJsaWNBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMucHVibGljQWxiQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnB1YmxpY0FsYnNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQcml2YXRlQWxicyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnByaXZhdGVBbGJBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYkFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5wcml2YXRlQWxic1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFB1YmxpY0FsYkNlcnRpZmljYXRlcyA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnB1YmxpY0FsYkNlcnRpZmljYXRlc1BhcmFtZXRlclBhdGgsXG4gICAgICAgICkuc3BsaXQoJywnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cFByaXZhdGVBbGJDZXJ0aWZpY2F0ZXMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wcml2YXRlQWxiQ2VydGlmaWNhdGVBcm5zKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucyA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnByaXZhdGVBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBBbHRQdWJsaWNBbGJzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuYWx0UHVibGljQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFB1YmxpY0FsYkFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwQWx0UHJpdmF0ZUFsYnMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5hbHRQcml2YXRlQWxiQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJBcm5zID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMuYWx0UHJpdmF0ZUFsYnNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBBbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXMgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMpIHtcbiAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZUFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5hbHRQdWJsaWNBbGJDZXJ0aWZpY2F0ZXNQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApLnNwbGl0KCcsJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBBbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMuYWx0UHJpdmF0ZUFsYkNlcnRpZmljYXRlQXJucykge1xuICAgICAgICB0aGlzLmFsdFByaXZhdGVBbGJDZXJ0aWZpY2F0ZUFybnMgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5hbHRQcml2YXRlQWxiQ2VydGlmaWNhdGVzUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKS5zcGxpdCgnLCcpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHVibGljQ2VydGlmaWNhdGUgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wdWJsaWNDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLnB1YmxpY0NlcnRpZmljYXRlQXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMucHVibGljQ2VydGlmaWNhdGVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHJpdmF0ZUNlcnRpZmljYXRlID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHJpdmF0ZUNlcnRpZmljYXRlQXJuKSB7XG4gICAgICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlQXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRnJvbUxvb2t1cChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHRoaXMucHJpdmF0ZUNlcnRpZmljYXRlUGFyYW1ldGVyUGF0aCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb3BzLmxvb2t1cENsb3VkRnJvbnRDZXJ0aWZpY2F0ZSA/PyBmYWxzZSkge1xuICAgICAgaWYgKCF0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZUFybikge1xuICAgICAgICB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZUFybiA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLmNsb3VkRnJvbnRDZXJ0aWZpY2F0ZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9wcy5sb29rdXBQdWJsaWNab25lID8/IGZhbHNlKSB7XG4gICAgICBpZiAoIXRoaXMucHVibGljWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wdWJsaWNab25lTmFtZSA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZyb21Mb29rdXAoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICB0aGlzLnB1YmxpY1pvbmVQYXJhbWV0ZXJQYXRoLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocHJvcHMubG9va3VwUHJpdmF0ZVpvbmUgPz8gZmFsc2UpIHtcbiAgICAgIGlmICghdGhpcy5wcml2YXRlWm9uZU5hbWUpIHtcbiAgICAgICAgdGhpcy5wcml2YXRlWm9uZU5hbWUgPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGcm9tTG9va3VwKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgdGhpcy5wcml2YXRlWm9uZVBhcmFtZXRlclBhdGgsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=