truemark-cdk-lib 1.20.1-beta.1762095225 → 1.20.1-beta.1762272737

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.
@@ -8,6 +8,8 @@ import * as iam from 'aws-cdk-lib/aws-iam';
8
8
  import { BucketDeploymentConfig, ExtendedBucket } from './extended-bucket';
9
9
  /**
10
10
  * Properties for CloudFrontBucketV2.
11
+ *
12
+ * @deprecated use ExtendedBucket instead
11
13
  */
12
14
  export interface CloudFrontBucketV2Props extends ExtendedConstructProps {
13
15
  /**
@@ -55,7 +55,7 @@ class CloudFrontBucketV2 extends aws_cdk_1.ExtendedConstruct {
55
55
  var _a;
56
56
  const configs = Array.isArray(config) ? config : [config];
57
57
  for (const c of configs) {
58
- this.bucket.deploy(this, {
58
+ this.bucket.deploy({
59
59
  ...c,
60
60
  cacheControl: (_a = c.cacheControl) !== null && _a !== void 0 ? _a : [
61
61
  aws_s3_deployment_1.CacheControl.maxAge(aws_cdk_lib_1.Duration.minutes(15)),
@@ -173,4 +173,4 @@ class CloudFrontBucketV2 extends aws_cdk_1.ExtendedConstruct {
173
173
  }
174
174
  }
175
175
  exports.CloudFrontBucketV2 = CloudFrontBucketV2;
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtZnJvbnQtYnVja2V0LXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWQtZnJvbnQtYnVja2V0LXYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtEQUlvQztBQUNwQyxxRUFBMkQ7QUFDM0QsNkNBQTJEO0FBQzNELDJDQUl1QjtBQUN2Qiw2Q0FBK0M7QUFDL0MsK0VBQWtFO0FBQ2xFLGlEQUErRTtBQUMvRSwyQ0FBMkM7QUFDM0MsdURBQXlFO0FBcUR6RTs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsMkJBQWlCO0lBTXZELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7O1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLHNCQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLEVBQUUsMEJBQWUsQ0FBQztTQUN2RSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ2hELGFBQWEsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxhQUFhLG1DQUFJLDJCQUFhLENBQUMsTUFBTTtZQUMzRCxpQkFBaUIsRUFBRSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxhQUFhLE1BQUssMkJBQWEsQ0FBQyxPQUFPO1lBQ2pFLFNBQVMsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLG1DQUFJLEtBQUs7WUFDcEMsb0JBQW9CLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsb0JBQW9CLG1DQUFJLEtBQUs7WUFDMUQsa0JBQWtCLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsa0JBQWtCLG1DQUFJLEtBQUs7WUFD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QUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLFFBQW9CLEVBQUUsaUJBQTJCO1FBQzNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNILGNBQWMsQ0FBQyxRQUFvQixFQUFFLGlCQUEyQjtRQUM5RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1CRztJQUNILG1CQUFtQixDQUNqQixVQUErQjtRQUUvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNGO0FBeExELGdEQXdMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7Q29yc1J1bGV9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQge1xuICBJT3JpZ2luLFxuICBTM09yaWdpbkFjY2Vzc0NvbnRyb2wsXG4gIFNpZ25pbmcsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZGZyb250JztcbmltcG9ydCB7Q2FjaGVDb250cm9sfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtZGVwbG95bWVudCc7XG5pbXBvcnQge0R1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFja30gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtcbiAgRXh0ZW5kZWRDb25zdHJ1Y3QsXG4gIEV4dGVuZGVkQ29uc3RydWN0UHJvcHMsXG4gIFN0YW5kYXJkVGFncyxcbn0gZnJvbSAnLi4vLi4vYXdzLWNkayc7XG5pbXBvcnQge0xpYlN0YW5kYXJkVGFnc30gZnJvbSAnLi4vLi4vdHJ1ZW1hcmsnO1xuaW1wb3J0IHtTM0J1Y2tldE9yaWdpbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQge0VmZmVjdCwgR3JhbnQsIElHcmFudGFibGUsIFBvbGljeVN0YXRlbWVudH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge0J1Y2tldERlcGxveW1lbnRDb25maWcsIEV4dGVuZGVkQnVja2V0fSBmcm9tICcuL2V4dGVuZGVkLWJ1Y2tldCc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgQ2xvdWRGcm9udEJ1Y2tldFYyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRCdWNrZXRWMlByb3BzIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBQb2xpY3kgdG8gYXBwbHkgd2hlbiB0aGUgYnVja2V0IGlzIHJlbW92ZWQgZnJvbSB0aGlzIHN0YWNrLlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZIHdpbGwgYWxzbyBhdXRvIGRlbGV0ZSBvYmplY3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBidWNrZXQgc2hvdWxkIGhhdmUgdmVyc2lvbmluZyB0dXJuZWQgb24gb3Igbm90LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbmVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGJ1Y2tldCBzaG91bGQgaGF2ZSB0cmFuc2ZlciBhY2NlbGVyYXRpb24gdHVybmVkIG9uIG9yIG5vdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zZmVyQWNjZWxlcmF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgYnVja2V0IG5hbWUuIElmIG5vdCBwcm92aWRlZCwgYSBuYW1lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIENPUlMgY29uZmlndXJhdGlvbiBvZiB0aGlzIGJ1Y2tldC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1zMy1idWNrZXQtY29ycy5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQ09SUyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY29ycz86IENvcnNSdWxlW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZW5hYmxlIEV2ZW50QnJpZGdlIGZvciB0aGlzIGJ1Y2tldC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50QnJpZGdlRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldCBob3cgQ2xvdWRGcm9udCBzaWducyByZXF1ZXN0cy4gRGVmYXVsdCBpcyBTaWduaW5nLlNJR1Y0X05PX09WRVJSSURFLlxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmluZz86IFNpZ25pbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGJ1Y2tldCBmb3IgdXNlIHdpdGggQ2xvdWRGcm9udCB1c2luZyBPcmlnaW4gQWNjZXNzIENvbnRyb2wgKE9BQykuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZEZyb250QnVja2V0VjIgZXh0ZW5kcyBFeHRlbmRlZENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGJ1Y2tldDogRXh0ZW5kZWRCdWNrZXQ7XG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgYnVja2V0QXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9yaWdpbkFjY2Vzc0NvbnRyb2xJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQ2xvdWRGcm9udEJ1Y2tldFYyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHN0YW5kYXJkVGFnczogU3RhbmRhcmRUYWdzLm1lcmdlKHByb3BzPy5zdGFuZGFyZFRhZ3MsIExpYlN0YW5kYXJkVGFncyksXG4gICAgfSk7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IG5ldyBFeHRlbmRlZEJ1Y2tldCh0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzPy5yZW1vdmFsUG9saWN5ID8/IFJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHByb3BzPy5yZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICB2ZXJzaW9uZWQ6IHByb3BzPy52ZXJzaW9uZWQgPz8gZmFsc2UsXG4gICAgICB0cmFuc2ZlckFjY2VsZXJhdGlvbjogcHJvcHM/LnRyYW5zZmVyQWNjZWxlcmF0aW9uID8/IGZhbHNlLFxuICAgICAgZXZlbnRCcmlkZ2VFbmFibGVkOiBwcm9wcz8uZXZlbnRCcmlkZ2VFbmFibGVkID8/IGZhbHNlLFxuICAgICAgY29yczogcHJvcHM/LmNvcnMsXG4gICAgfSk7XG4gICAgdGhpcy5idWNrZXROYW1lID0gdGhpcy5idWNrZXQuYnVja2V0TmFtZTtcbiAgICB0aGlzLmJ1Y2tldEFybiA9IHRoaXMuYnVja2V0LmJ1Y2tldEFybjtcblxuICAgIC8vIEdyYW50IHJlYWQgYWNjZXNzIHRvIENsb3VkRnJvbnQgZGlzdHJpYnV0aW9ucyBpbiB0aGlzIGFjY291bnRcbiAgICB0aGlzLmJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KFxuICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdjbG91ZGZyb250LmFtYXpvbmF3cy5jb20nKV0sXG4gICAgICAgIGFjdGlvbnM6IFsnczM6R2V0T2JqZWN0J10sXG4gICAgICAgIHJlc291cmNlczogW3RoaXMuYnVja2V0LmFybkZvck9iamVjdHMoJyonKV0sXG4gICAgICAgIGNvbmRpdGlvbnM6IHtcbiAgICAgICAgICBBcm5MaWtlOiB7XG4gICAgICAgICAgICAnYXdzOlNvdXJjZUFybic6IGBhcm46YXdzOmNsb3VkZnJvbnQ6OiR7U3RhY2sub2YodGhpcykuYWNjb3VudH06ZGlzdHJpYnV0aW9uLypgLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgY29uc3Qgb2FjID0gbmV3IFMzT3JpZ2luQWNjZXNzQ29udHJvbCh0aGlzLCAnQWNjZXNzQ29udHJvbCcsIHtcbiAgICAgIHNpZ25pbmc6IHByb3BzPy5zaWduaW5nID8/IFNpZ25pbmcuU0lHVjRfTk9fT1ZFUlJJREUsXG4gICAgfSk7XG4gICAgdGhpcy5vcmlnaW5BY2Nlc3NDb250cm9sSWQgPSBvYWMub3JpZ2luQWNjZXNzQ29udHJvbElkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlZSBgRXh0ZW5kZWRCdWNrZXQuZGVwbG95LiBUaGlzIG1ldGhvZCBhZGRzIGEgZGVmYXVsdCBtYXgtYWdlIG9mIDE1IGRheXMgYW5kIHMtbWF4YWdlIG9mIDcgZGF5cy5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyB0aGUgZGVwbG95bWVudCBjb25maWd1cmF0aW9uc1xuICAgKi9cbiAgZGVwbG95KGNvbmZpZzogQnVja2V0RGVwbG95bWVudENvbmZpZyB8IEJ1Y2tldERlcGxveW1lbnRDb25maWdbXSkge1xuICAgIGNvbnN0IGNvbmZpZ3MgPSBBcnJheS5pc0FycmF5KGNvbmZpZykgPyBjb25maWcgOiBbY29uZmlnXTtcbiAgICBmb3IgKGNvbnN0IGMgb2YgY29uZmlncykge1xuICAgICAgdGhpcy5idWNrZXQuZGVwbG95KHRoaXMsIHtcbiAgICAgICAgLi4uYyxcbiAgICAgICAgY2FjaGVDb250cm9sOiBjLmNhY2hlQ29udHJvbCA/PyBbXG4gICAgICAgICAgQ2FjaGVDb250cm9sLm1heEFnZShEdXJhdGlvbi5taW51dGVzKDE1KSksXG4gICAgICAgICAgQ2FjaGVDb250cm9sLnNNYXhBZ2UoRHVyYXRpb24uZGF5cyg3KSksXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byByZXR1cm4gYSBDbG91ZEZyb250IE9yaWdpbiBmb3IgdGhpcyBidWNrZXQuXG4gICAqL1xuICB0b09yaWdpbigpOiBJT3JpZ2luIHtcbiAgICByZXR1cm4gUzNCdWNrZXRPcmlnaW4ud2l0aE9yaWdpbkFjY2Vzc0NvbnRyb2wodGhpcy5idWNrZXQsIHtcbiAgICAgIG9yaWdpbkFjY2Vzc0NvbnRyb2xJZDogdGhpcy5vcmlnaW5BY2Nlc3NDb250cm9sSWQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgcmVhZCBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgYW5kIGl0J3MgY29udGVudHMgdG8gYW4gSUFNXG4gICAqIHByaW5jaXBhbCAoUm9sZS9Hcm91cC9Vc2VyKS5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGRlY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHRoZSBidWNrZXQgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UmVhZChpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiB1bmtub3duKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFJlYWQoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCB3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGlzIGJ1Y2tldCB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZW5jcnlwdCB0aGUgY29udGVudHNcbiAgICogb2Ygd3JpdHRlbiBmaWxlcyB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIEJlZm9yZSBDREsgdmVyc2lvbiAxLjg1LjAsIHRoaXMgbWV0aG9kIGdyYW50ZWQgdGhlIGBzMzpQdXRPYmplY3QqYCBwZXJtaXNzaW9uIHRoYXQgaW5jbHVkZWQgYHMzOlB1dE9iamVjdEFjbGAsXG4gICAqIHdoaWNoIGNvdWxkIGJlIHVzZWQgdG8gZ3JhbnQgcmVhZC93cml0ZSBvYmplY3QgYWNjZXNzIHRvIElBTSBwcmluY2lwYWxzIGluIG90aGVyIGFjY291bnRzLlxuICAgKiBJZiB5b3Ugd2FudCB0byBnZXQgcmlkIG9mIHRoYXQgYmVoYXZpb3IsIHVwZGF0ZSB5b3VyIENESyB2ZXJzaW9uIHRvIDEuODUuMCBvciBsYXRlcixcbiAgICogYW5kIG1ha2Ugc3VyZSB0aGUgYEBhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbGAgZmVhdHVyZSBmbGFnIGlzIHNldCB0byBgdHJ1ZWBcbiAgICogaW4gdGhlIGBjb250ZXh0YCBrZXkgb2YgeW91ciBjZGsuanNvbiBmaWxlLlxuICAgKiBJZiB5b3UndmUgYWxyZWFkeSB1cGRhdGVkLCBidXQgc3RpbGwgbmVlZCB0aGUgcHJpbmNpcGFsIHRvIGhhdmUgcGVybWlzc2lvbnMgdG8gbW9kaWZ5IHRoZSBBQ0xzLFxuICAgKiB1c2UgdGhlIGBncmFudFB1dEFjbGAgbWV0aG9kLlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICogQHBhcmFtIGFsbG93ZWRBY3Rpb25QYXR0ZXJucyBSZXN0cmljdCB0aGUgcGVybWlzc2lvbnMgdG8gY2VydGFpbiBsaXN0IG9mIGFjdGlvbiBwYXR0ZXJuc1xuICAgKi9cbiAgZ3JhbnRXcml0ZShcbiAgICBpZGVudGl0eTogSUdyYW50YWJsZSxcbiAgICBvYmplY3RzS2V5UGF0dGVybj86IHVua25vd24sXG4gICAgYWxsb3dlZEFjdGlvblBhdHRlcm5zPzogc3RyaW5nW10sXG4gICk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRXcml0ZShcbiAgICAgIGlkZW50aXR5LFxuICAgICAgb2JqZWN0c0tleVBhdHRlcm4sXG4gICAgICBhbGxvd2VkQWN0aW9uUGF0dGVybnMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgczM6UHV0T2JqZWN0KiBhbmQgczM6QWJvcnQqIHBlcm1pc3Npb25zIGZvciB0aGlzIGJ1Y2tldCB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZW5jcnlwdCB0aGUgY29udGVudHNcbiAgICogb2Ygd3JpdHRlbiBmaWxlcyB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnRQdXQoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogdW5rbm93bik6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRQdXQoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgczM6RGVsZXRlT2JqZWN0KiBwZXJtaXNzaW9uIHRvIGFuIElBTSBwcmluY2lwYWwgZm9yIG9iamVjdHNcbiAgICogaW4gdGhpcyBidWNrZXQuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnREZWxldGUoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogdW5rbm93bik6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnREZWxldGUoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcmVhZC93cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgYW5kIGl0J3MgY29udGVudHMgdG8gYW4gSUFNXG4gICAqIHByaW5jaXBhbCAoUm9sZS9Hcm91cC9Vc2VyKS5cbiAgICpcbiAgICogSWYgYW4gZW5jcnlwdGlvbiBrZXkgaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSBmb3JcbiAgICogZW5jcnlwdC9kZWNyeXB0IHdpbGwgYWxzbyBiZSBncmFudGVkLlxuICAgKlxuICAgKiBCZWZvcmUgQ0RLIHZlcnNpb24gMS44NS4wLCB0aGlzIG1ldGhvZCBncmFudGVkIHRoZSBgczM6UHV0T2JqZWN0KmAgcGVybWlzc2lvbiB0aGF0IGluY2x1ZGVkIGBzMzpQdXRPYmplY3RBY2xgLFxuICAgKiB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGdyYW50IHJlYWQvd3JpdGUgb2JqZWN0IGFjY2VzcyB0byBJQU0gcHJpbmNpcGFscyBpbiBvdGhlciBhY2NvdW50cy5cbiAgICogSWYgeW91IHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGF0IGJlaGF2aW9yLCB1cGRhdGUgeW91ciBDREsgdmVyc2lvbiB0byAxLjg1LjAgb3IgbGF0ZXIsXG4gICAqIGFuZCBtYWtlIHN1cmUgdGhlIGBAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2xgIGZlYXR1cmUgZmxhZyBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGluIHRoZSBgY29udGV4dGAga2V5IG9mIHlvdXIgY2RrLmpzb24gZmlsZS5cbiAgICogSWYgeW91J3ZlIGFscmVhZHkgdXBkYXRlZCwgYnV0IHN0aWxsIG5lZWQgdGhlIHByaW5jaXBhbCB0byBoYXZlIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyxcbiAgICogdXNlIHRoZSBgZ3JhbnRQdXRBY2xgIG1ldGhvZC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICBncmFudFJlYWRXcml0ZShpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiB1bmtub3duKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFJlYWRXcml0ZShpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gdGhlIHJlc291cmNlIHBvbGljeSBmb3IgYSBwcmluY2lwYWwgKGkuZS5cbiAgICogYWNjb3VudC9yb2xlL3NlcnZpY2UpIHRvIHBlcmZvcm0gYWN0aW9ucyBvbiB0aGlzIGJ1Y2tldCBhbmQvb3IgaXRzXG4gICAqIGNvbnRlbnRzLiBVc2UgYGJ1Y2tldEFybmAgYW5kIGBhcm5Gb3JPYmplY3RzKGtleXMpYCB0byBvYnRhaW4gQVJOcyBmb3JcbiAgICogdGhpcyBidWNrZXQgb3Igb2JqZWN0cy5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSBwb2xpY3kgc3RhdGVtZW50IG1heSBvciBtYXkgbm90IGJlIGFkZGVkIHRvIHRoZSBwb2xpY3kuXG4gICAqIEZvciBleGFtcGxlLCB3aGVuIGFuIGBJQnVja2V0YCBpcyBjcmVhdGVkIGZyb20gYW4gZXhpc3RpbmcgYnVja2V0LFxuICAgKiBpdCdzIG5vdCBwb3NzaWJsZSB0byB0ZWxsIHdoZXRoZXIgdGhlIGJ1Y2tldCBhbHJlYWR5IGhhcyBhIHBvbGljeVxuICAgKiBhdHRhY2hlZCwgbGV0IGFsb25lIHRvIHJlLXVzZSB0aGF0IHBvbGljeSB0byBhZGQgbW9yZSBzdGF0ZW1lbnRzIHRvIGl0LlxuICAgKiBTbyBpdCdzIHNhZmVzdCB0byBkbyBub3RoaW5nIGluIHRoZXNlIGNhc2VzLlxuICAgKlxuICAgKiBAcGFyYW0gcGVybWlzc2lvbiB0aGUgcG9saWN5IHN0YXRlbWVudCB0byBiZSBhZGRlZCB0byB0aGUgYnVja2V0J3NcbiAgICogcG9saWN5LlxuICAgKiBAcmV0dXJucyBtZXRhZGF0YSBhYm91dCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgbWV0aG9kLiBJZiB0aGUgcG9saWN5XG4gICAqIHdhcyBub3QgYWRkZWQsIHRoZSB2YWx1ZSBvZiBgc3RhdGVtZW50QWRkZWRgIHdpbGwgYmUgYGZhbHNlYC4gWW91XG4gICAqIHNob3VsZCBhbHdheXMgY2hlY2sgdGhpcyB2YWx1ZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgb3BlcmF0aW9uIHdhc1xuICAgKiBhY3R1YWxseSBjYXJyaWVkIG91dC4gT3RoZXJ3aXNlLCBzeW50aGVzaXMgYW5kIGRlcGxveSB3aWxsIHRlcm1pbmF0ZVxuICAgKiBzaWxlbnRseSwgd2hpY2ggbWF5IGJlIGNvbmZ1c2luZy5cbiAgICovXG4gIGFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgcGVybWlzc2lvbjogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KHBlcm1pc3Npb24pO1xuICB9XG59XG4iXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtZnJvbnQtYnVja2V0LXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWQtZnJvbnQtYnVja2V0LXYyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtEQUlvQztBQUNwQyxxRUFBMkQ7QUFDM0QsNkNBQTJEO0FBQzNELDJDQUl1QjtBQUN2Qiw2Q0FBK0M7QUFDL0MsK0VBQWtFO0FBQ2xFLGlEQUErRTtBQUMvRSwyQ0FBMkM7QUFDM0MsdURBQXlFO0FBdUR6RTs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsMkJBQWlCO0lBTXZELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7O1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLHNCQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLEVBQUUsMEJBQWUsQ0FBQztTQUN2RSxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ2hELGFBQWEsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxhQUFhLG1DQUFJLDJCQUFhLENBQUMsTUFBTTtZQUMzRCxpQkFBaUIsRUFBRSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxhQUFhLE1BQUssMkJBQWEsQ0FBQyxPQUFPO1lBQ2pFLFNBQVMsRUFBRSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxTQUFTLG1DQUFJLEtBQUs7WUFDcEMsb0JBQW9CLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsb0JBQW9CLG1DQUFJLEtBQUs7WUFDMUQsa0JBQWtCLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsa0JBQWtCLG1DQUFJLEtBQUs7WUFD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Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsUUFBb0IsRUFBRSxpQkFBMkI7UUFDM0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsY0FBYyxDQUFDLFFBQW9CLEVBQUUsaUJBQTJCO1FBQzlELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsbUJBQW1CLENBQ2pCLFVBQStCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0Y7QUF4TEQsZ0RBd0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtDb3JzUnVsZX0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7XG4gIElPcmlnaW4sXG4gIFMzT3JpZ2luQWNjZXNzQ29udHJvbCxcbiAgU2lnbmluZyxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQnO1xuaW1wb3J0IHtDYWNoZUNvbnRyb2x9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1kZXBsb3ltZW50JztcbmltcG9ydCB7RHVyYXRpb24sIFJlbW92YWxQb2xpY3ksIFN0YWNrfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBFeHRlbmRlZENvbnN0cnVjdCxcbiAgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyxcbiAgU3RhbmRhcmRUYWdzLFxufSBmcm9tICcuLi8uLi9hd3MtY2RrJztcbmltcG9ydCB7TGliU3RhbmRhcmRUYWdzfSBmcm9tICcuLi8uLi90cnVlbWFyayc7XG5pbXBvcnQge1MzQnVja2V0T3JpZ2lufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udC1vcmlnaW5zJztcbmltcG9ydCB7RWZmZWN0LCBHcmFudCwgSUdyYW50YWJsZSwgUG9saWN5U3RhdGVtZW50fSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7QnVja2V0RGVwbG95bWVudENvbmZpZywgRXh0ZW5kZWRCdWNrZXR9IGZyb20gJy4vZXh0ZW5kZWQtYnVja2V0JztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBDbG91ZEZyb250QnVja2V0VjIuXG4gKlxuICogQGRlcHJlY2F0ZWQgdXNlIEV4dGVuZGVkQnVja2V0IGluc3RlYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG91ZEZyb250QnVja2V0VjJQcm9wcyBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogUG9saWN5IHRvIGFwcGx5IHdoZW4gdGhlIGJ1Y2tldCBpcyByZW1vdmVkIGZyb20gdGhpcyBzdGFjay5cbiAgICogU2V0dGluZyB0aGlzIHRvIFJlbW92YWxQb2xpY3kuREVTVFJPWSB3aWxsIGFsc28gYXV0byBkZWxldGUgb2JqZWN0cy5cbiAgICpcbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5SRVRBSU5cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYnVja2V0IHNob3VsZCBoYXZlIHZlcnNpb25pbmcgdHVybmVkIG9uIG9yIG5vdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25lZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBidWNrZXQgc2hvdWxkIGhhdmUgdHJhbnNmZXIgYWNjZWxlcmF0aW9uIHR1cm5lZCBvbiBvciBub3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB0cmFuc2ZlckFjY2VsZXJhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGJ1Y2tldCBuYW1lLiBJZiBub3QgcHJvdmlkZWQsIGEgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDT1JTIGNvbmZpZ3VyYXRpb24gb2YgdGhpcyBidWNrZXQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtczMtYnVja2V0LWNvcnMuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIENPUlMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNvcnM/OiBDb3JzUnVsZVtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSBFdmVudEJyaWRnZSBmb3IgdGhpcyBidWNrZXQuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqL1xuICByZWFkb25seSBldmVudEJyaWRnZUVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXQgaG93IENsb3VkRnJvbnQgc2lnbnMgcmVxdWVzdHMuIERlZmF1bHQgaXMgU2lnbmluZy5TSUdWNF9OT19PVkVSUklERS5cbiAgICovXG4gIHJlYWRvbmx5IHNpZ25pbmc/OiBTaWduaW5nO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBidWNrZXQgZm9yIHVzZSB3aXRoIENsb3VkRnJvbnQgdXNpbmcgT3JpZ2luIEFjY2VzcyBDb250cm9sIChPQUMpLlxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRGcm9udEJ1Y2tldFYyIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3Qge1xuICByZWFkb25seSBidWNrZXQ6IEV4dGVuZGVkQnVja2V0O1xuICByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1Y2tldEFybjogc3RyaW5nO1xuICByZWFkb25seSBvcmlnaW5BY2Nlc3NDb250cm9sSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IENsb3VkRnJvbnRCdWNrZXRWMlByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzdGFuZGFyZFRhZ3M6IFN0YW5kYXJkVGFncy5tZXJnZShwcm9wcz8uc3RhbmRhcmRUYWdzLCBMaWJTdGFuZGFyZFRhZ3MpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5idWNrZXQgPSBuZXcgRXh0ZW5kZWRCdWNrZXQodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcz8ucmVtb3ZhbFBvbGljeSA/PyBSZW1vdmFsUG9saWN5LlJFVEFJTixcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiBwcm9wcz8ucmVtb3ZhbFBvbGljeSA9PT0gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgdmVyc2lvbmVkOiBwcm9wcz8udmVyc2lvbmVkID8/IGZhbHNlLFxuICAgICAgdHJhbnNmZXJBY2NlbGVyYXRpb246IHByb3BzPy50cmFuc2ZlckFjY2VsZXJhdGlvbiA/PyBmYWxzZSxcbiAgICAgIGV2ZW50QnJpZGdlRW5hYmxlZDogcHJvcHM/LmV2ZW50QnJpZGdlRW5hYmxlZCA/PyBmYWxzZSxcbiAgICAgIGNvcnM6IHByb3BzPy5jb3JzLFxuICAgIH0pO1xuICAgIHRoaXMuYnVja2V0TmFtZSA9IHRoaXMuYnVja2V0LmJ1Y2tldE5hbWU7XG4gICAgdGhpcy5idWNrZXRBcm4gPSB0aGlzLmJ1Y2tldC5idWNrZXRBcm47XG5cbiAgICAvLyBHcmFudCByZWFkIGFjY2VzcyB0byBDbG91ZEZyb250IGRpc3RyaWJ1dGlvbnMgaW4gdGhpcyBhY2NvdW50XG4gICAgdGhpcy5idWNrZXQuYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgcHJpbmNpcGFsczogW25ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnY2xvdWRmcm9udC5hbWF6b25hd3MuY29tJyldLFxuICAgICAgICBhY3Rpb25zOiBbJ3MzOkdldE9iamVjdCddLFxuICAgICAgICByZXNvdXJjZXM6IFt0aGlzLmJ1Y2tldC5hcm5Gb3JPYmplY3RzKCcqJyldLFxuICAgICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgICAgQXJuTGlrZToge1xuICAgICAgICAgICAgJ2F3czpTb3VyY2VBcm4nOiBgYXJuOmF3czpjbG91ZGZyb250Ojoke1N0YWNrLm9mKHRoaXMpLmFjY291bnR9OmRpc3RyaWJ1dGlvbi8qYCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IG9hYyA9IG5ldyBTM09yaWdpbkFjY2Vzc0NvbnRyb2wodGhpcywgJ0FjY2Vzc0NvbnRyb2wnLCB7XG4gICAgICBzaWduaW5nOiBwcm9wcz8uc2lnbmluZyA/PyBTaWduaW5nLlNJR1Y0X05PX09WRVJSSURFLFxuICAgIH0pO1xuICAgIHRoaXMub3JpZ2luQWNjZXNzQ29udHJvbElkID0gb2FjLm9yaWdpbkFjY2Vzc0NvbnRyb2xJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWUgYEV4dGVuZGVkQnVja2V0LmRlcGxveS4gVGhpcyBtZXRob2QgYWRkcyBhIGRlZmF1bHQgbWF4LWFnZSBvZiAxNSBkYXlzIGFuZCBzLW1heGFnZSBvZiA3IGRheXMuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgdGhlIGRlcGxveW1lbnQgY29uZmlndXJhdGlvbnNcbiAgICovXG4gIGRlcGxveShjb25maWc6IEJ1Y2tldERlcGxveW1lbnRDb25maWcgfCBCdWNrZXREZXBsb3ltZW50Q29uZmlnW10pIHtcbiAgICBjb25zdCBjb25maWdzID0gQXJyYXkuaXNBcnJheShjb25maWcpID8gY29uZmlnIDogW2NvbmZpZ107XG4gICAgZm9yIChjb25zdCBjIG9mIGNvbmZpZ3MpIHtcbiAgICAgIHRoaXMuYnVja2V0LmRlcGxveSh7XG4gICAgICAgIC4uLmMsXG4gICAgICAgIGNhY2hlQ29udHJvbDogYy5jYWNoZUNvbnRyb2wgPz8gW1xuICAgICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UoRHVyYXRpb24ubWludXRlcygxNSkpLFxuICAgICAgICAgIENhY2hlQ29udHJvbC5zTWF4QWdlKER1cmF0aW9uLmRheXMoNykpLFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gcmV0dXJuIGEgQ2xvdWRGcm9udCBPcmlnaW4gZm9yIHRoaXMgYnVja2V0LlxuICAgKi9cbiAgdG9PcmlnaW4oKTogSU9yaWdpbiB7XG4gICAgcmV0dXJuIFMzQnVja2V0T3JpZ2luLndpdGhPcmlnaW5BY2Nlc3NDb250cm9sKHRoaXMuYnVja2V0LCB7XG4gICAgICBvcmlnaW5BY2Nlc3NDb250cm9sSWQ6IHRoaXMub3JpZ2luQWNjZXNzQ29udHJvbElkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQgcGVybWlzc2lvbnMgZm9yIHRoaXMgYnVja2V0IGFuZCBpdCdzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGVuY3J5cHRpb24gaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSB0byBkZWNyeXB0IHRoZSBjb250ZW50c1xuICAgKiBvZiB0aGUgYnVja2V0IHdpbGwgYWxzbyBiZSBncmFudGVkIHRvIHRoZSBzYW1lIHByaW5jaXBhbC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICBncmFudFJlYWQoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogdW5rbm93bik6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRSZWFkKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhpcyBidWNrZXQgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGVuY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHdyaXR0ZW4gZmlsZXMgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKlxuICAgKiBCZWZvcmUgQ0RLIHZlcnNpb24gMS44NS4wLCB0aGlzIG1ldGhvZCBncmFudGVkIHRoZSBgczM6UHV0T2JqZWN0KmAgcGVybWlzc2lvbiB0aGF0IGluY2x1ZGVkIGBzMzpQdXRPYmplY3RBY2xgLFxuICAgKiB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGdyYW50IHJlYWQvd3JpdGUgb2JqZWN0IGFjY2VzcyB0byBJQU0gcHJpbmNpcGFscyBpbiBvdGhlciBhY2NvdW50cy5cbiAgICogSWYgeW91IHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGF0IGJlaGF2aW9yLCB1cGRhdGUgeW91ciBDREsgdmVyc2lvbiB0byAxLjg1LjAgb3IgbGF0ZXIsXG4gICAqIGFuZCBtYWtlIHN1cmUgdGhlIGBAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2xgIGZlYXR1cmUgZmxhZyBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGluIHRoZSBgY29udGV4dGAga2V5IG9mIHlvdXIgY2RrLmpzb24gZmlsZS5cbiAgICogSWYgeW91J3ZlIGFscmVhZHkgdXBkYXRlZCwgYnV0IHN0aWxsIG5lZWQgdGhlIHByaW5jaXBhbCB0byBoYXZlIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyxcbiAgICogdXNlIHRoZSBgZ3JhbnRQdXRBY2xgIG1ldGhvZC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqIEBwYXJhbSBhbGxvd2VkQWN0aW9uUGF0dGVybnMgUmVzdHJpY3QgdGhlIHBlcm1pc3Npb25zIHRvIGNlcnRhaW4gbGlzdCBvZiBhY3Rpb24gcGF0dGVybnNcbiAgICovXG4gIGdyYW50V3JpdGUoXG4gICAgaWRlbnRpdHk6IElHcmFudGFibGUsXG4gICAgb2JqZWN0c0tleVBhdHRlcm4/OiB1bmtub3duLFxuICAgIGFsbG93ZWRBY3Rpb25QYXR0ZXJucz86IHN0cmluZ1tdLFxuICApOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50V3JpdGUoXG4gICAgICBpZGVudGl0eSxcbiAgICAgIG9iamVjdHNLZXlQYXR0ZXJuLFxuICAgICAgYWxsb3dlZEFjdGlvblBhdHRlcm5zLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHMzOlB1dE9iamVjdCogYW5kIHMzOkFib3J0KiBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGVuY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHdyaXR0ZW4gZmlsZXMgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UHV0KGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IHVua25vd24pOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50UHV0KGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHMzOkRlbGV0ZU9iamVjdCogcGVybWlzc2lvbiB0byBhbiBJQU0gcHJpbmNpcGFsIGZvciBvYmplY3RzXG4gICAqIGluIHRoaXMgYnVja2V0LlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50RGVsZXRlKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IHVua25vd24pOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50RGVsZXRlKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQvd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgYnVja2V0IGFuZCBpdCdzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGFuIGVuY3J5cHRpb24ga2V5IGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgZm9yXG4gICAqIGVuY3J5cHQvZGVjcnlwdCB3aWxsIGFsc28gYmUgZ3JhbnRlZC5cbiAgICpcbiAgICogQmVmb3JlIENESyB2ZXJzaW9uIDEuODUuMCwgdGhpcyBtZXRob2QgZ3JhbnRlZCB0aGUgYHMzOlB1dE9iamVjdCpgIHBlcm1pc3Npb24gdGhhdCBpbmNsdWRlZCBgczM6UHV0T2JqZWN0QWNsYCxcbiAgICogd2hpY2ggY291bGQgYmUgdXNlZCB0byBncmFudCByZWFkL3dyaXRlIG9iamVjdCBhY2Nlc3MgdG8gSUFNIHByaW5jaXBhbHMgaW4gb3RoZXIgYWNjb3VudHMuXG4gICAqIElmIHlvdSB3YW50IHRvIGdldCByaWQgb2YgdGhhdCBiZWhhdmlvciwgdXBkYXRlIHlvdXIgQ0RLIHZlcnNpb24gdG8gMS44NS4wIG9yIGxhdGVyLFxuICAgKiBhbmQgbWFrZSBzdXJlIHRoZSBgQGF3cy1jZGsvYXdzLXMzOmdyYW50V3JpdGVXaXRob3V0QWNsYCBmZWF0dXJlIGZsYWcgaXMgc2V0IHRvIGB0cnVlYFxuICAgKiBpbiB0aGUgYGNvbnRleHRgIGtleSBvZiB5b3VyIGNkay5qc29uIGZpbGUuXG4gICAqIElmIHlvdSd2ZSBhbHJlYWR5IHVwZGF0ZWQsIGJ1dCBzdGlsbCBuZWVkIHRoZSBwcmluY2lwYWwgdG8gaGF2ZSBwZXJtaXNzaW9ucyB0byBtb2RpZnkgdGhlIEFDTHMsXG4gICAqIHVzZSB0aGUgYGdyYW50UHV0QWNsYCBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogdW5rbm93bik6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIHRoZSByZXNvdXJjZSBwb2xpY3kgZm9yIGEgcHJpbmNpcGFsIChpLmUuXG4gICAqIGFjY291bnQvcm9sZS9zZXJ2aWNlKSB0byBwZXJmb3JtIGFjdGlvbnMgb24gdGhpcyBidWNrZXQgYW5kL29yIGl0c1xuICAgKiBjb250ZW50cy4gVXNlIGBidWNrZXRBcm5gIGFuZCBgYXJuRm9yT2JqZWN0cyhrZXlzKWAgdG8gb2J0YWluIEFSTnMgZm9yXG4gICAqIHRoaXMgYnVja2V0IG9yIG9iamVjdHMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgcG9saWN5IHN0YXRlbWVudCBtYXkgb3IgbWF5IG5vdCBiZSBhZGRlZCB0byB0aGUgcG9saWN5LlxuICAgKiBGb3IgZXhhbXBsZSwgd2hlbiBhbiBgSUJ1Y2tldGAgaXMgY3JlYXRlZCBmcm9tIGFuIGV4aXN0aW5nIGJ1Y2tldCxcbiAgICogaXQncyBub3QgcG9zc2libGUgdG8gdGVsbCB3aGV0aGVyIHRoZSBidWNrZXQgYWxyZWFkeSBoYXMgYSBwb2xpY3lcbiAgICogYXR0YWNoZWQsIGxldCBhbG9uZSB0byByZS11c2UgdGhhdCBwb2xpY3kgdG8gYWRkIG1vcmUgc3RhdGVtZW50cyB0byBpdC5cbiAgICogU28gaXQncyBzYWZlc3QgdG8gZG8gbm90aGluZyBpbiB0aGVzZSBjYXNlcy5cbiAgICpcbiAgICogQHBhcmFtIHBlcm1pc3Npb24gdGhlIHBvbGljeSBzdGF0ZW1lbnQgdG8gYmUgYWRkZWQgdG8gdGhlIGJ1Y2tldCdzXG4gICAqIHBvbGljeS5cbiAgICogQHJldHVybnMgbWV0YWRhdGEgYWJvdXQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIG1ldGhvZC4gSWYgdGhlIHBvbGljeVxuICAgKiB3YXMgbm90IGFkZGVkLCB0aGUgdmFsdWUgb2YgYHN0YXRlbWVudEFkZGVkYCB3aWxsIGJlIGBmYWxzZWAuIFlvdVxuICAgKiBzaG91bGQgYWx3YXlzIGNoZWNrIHRoaXMgdmFsdWUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG9wZXJhdGlvbiB3YXNcbiAgICogYWN0dWFsbHkgY2FycmllZCBvdXQuIE90aGVyd2lzZSwgc3ludGhlc2lzIGFuZCBkZXBsb3kgd2lsbCB0ZXJtaW5hdGVcbiAgICogc2lsZW50bHksIHdoaWNoIG1heSBiZSBjb25mdXNpbmcuXG4gICAqL1xuICBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHBlcm1pc3Npb246IGlhbS5Qb2xpY3lTdGF0ZW1lbnQsXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuYWRkVG9SZXNvdXJjZVBvbGljeShwZXJtaXNzaW9uKTtcbiAgfVxufVxuIl19
@@ -9,6 +9,8 @@ import { Grant, IGrantable } from 'aws-cdk-lib/aws-iam';
9
9
  import * as iam from 'aws-cdk-lib/aws-iam';
10
10
  /**
11
11
  * Properties for CloudFrontBucket.
12
+ *
13
+ * @deprecated use ExtendedBucket instead
12
14
  */
13
15
  export interface CloudFrontBucketProps extends ExtendedConstructProps {
14
16
  /**
@@ -238,4 +238,4 @@ class CloudFrontBucket extends aws_cdk_1.ExtendedConstruct {
238
238
  }
239
239
  }
240
240
  exports.CloudFrontBucket = CloudFrontBucket;
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtZnJvbnQtYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWQtZnJvbnQtYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtDQUs0QjtBQUM1QiwrREFBZ0U7QUFDaEUscUVBS3VDO0FBQ3ZDLDZDQUFvRDtBQUNwRCwyQ0FJdUI7QUFDdkIsNkNBQStDO0FBQy9DLCtFQUE0RDtBQW1ENUQ7Ozs7R0FJRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsMkJBQWlCO0lBUzdDLGVBQWU7UUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLE9BQU8sT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCOztRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxzQkFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxFQUFFLDBCQUFlLENBQUM7U0FDdkUsQ0FBQyxDQUFDO1FBaEJHLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBa0J0QixNQUFNLGFBQWEsR0FBRyxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxhQUFhLG1DQUFJLDJCQUFhLENBQUMsTUFBTSxDQUFDO1FBQ25FLE1BQU0saUJBQWlCLEdBQ3JCLENBQUMsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsaUJBQWlCLG1DQUFJLEtBQUssQ0FBQztZQUNuQyxhQUFhLEtBQUssMkJBQWEsQ0FBQyxPQUFPLENBQUM7UUFFMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3hDLFVBQVUsRUFB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LENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFdBQVcsQ0FBQyxRQUFvQixFQUFFLGlCQUEwQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsUUFBb0IsRUFBRSxpQkFBMkI7UUFDM0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsY0FBYyxDQUFDLFFBQW9CLEVBQUUsaUJBQTJCO1FBQzlELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsbUJBQW1CLENBQ2pCLFVBQStCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0Y7QUFuUkQsNENBbVJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgQmxvY2tQdWJsaWNBY2Nlc3MsXG4gIEJ1Y2tldCxcbiAgQnVja2V0RW5jcnlwdGlvbixcbiAgQ29yc1J1bGUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQge09yaWdpbkFjY2Vzc0lkZW50aXR5fSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQge1xuICBCdWNrZXREZXBsb3ltZW50LFxuICBDYWNoZUNvbnRyb2wsXG4gIElTb3VyY2UsXG4gIFNvdXJjZSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWRlcGxveW1lbnQnO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeX0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtcbiAgRXh0ZW5kZWRDb25zdHJ1Y3QsXG4gIEV4dGVuZGVkQ29uc3RydWN0UHJvcHMsXG4gIFN0YW5kYXJkVGFncyxcbn0gZnJvbSAnLi4vLi4vYXdzLWNkayc7XG5pbXBvcnQge0xpYlN0YW5kYXJkVGFnc30gZnJvbSAnLi4vLi4vdHJ1ZW1hcmsnO1xuaW1wb3J0IHtTM09yaWdpbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQge0dyYW50LCBJR3JhbnRhYmxlfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBDbG91ZEZyb250QnVja2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkRnJvbnRCdWNrZXRQcm9wcyBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogUG9saWN5IHRvIGFwcGx5IHdoZW4gdGhlIGJ1Y2tldCBpcyByZW1vdmVkIGZyb20gdGhpcyBzdGFjay5cbiAgICogQGRlZmF1bHQgUmVtb3ZhbFBvbGljeS5SRVRBSU5cbiAgICovXG4gIHJlYWRvbmx5IHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFsbCBvYmplY3RzIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQgd2hlbiB0aGUgYnVja2V0IGlzIHJlbW92ZWQgZnJvbSB0aGUgc3RhY2sgb3Igd2hlbiB0aGUgc3RhY2sgaXMgZGVsZXRlZC5cbiAgICogUmVxdWlyZXMgdGhlIHJlbW92YWxQb2xpY3kgdG8gYmUgc2V0IHRvIFJlbW92YWxQb2xpY3kuREVTVFJPWS4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGF1dG9EZWxldGVPYmplY3RzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGJ1Y2tldCBzaG91bGQgaGF2ZSB2ZXJzaW9uaW5nIHR1cm5lZCBvbiBvciBub3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYnVja2V0IHNob3VsZCBoYXZlIHRyYW5zZmVyIGFjY2VsZXJhdGlvbiB0dXJuZWQgb24gb3Igbm90LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNmZXJBY2NlbGVyYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBidWNrZXQgbmFtZS4gSWYgbm90IHByb3ZpZGVkLCBhIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQuXG4gICAqL1xuICByZWFkb25seSBidWNrZXROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ09SUyBjb25maWd1cmF0aW9uIG9mIHRoaXMgYnVja2V0LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLXMzLWJ1Y2tldC1jb3JzLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBDT1JTIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb3JzPzogQ29yc1J1bGVbXTtcbn1cblxuLyoqXG4gKiBTaW1wbGUgQ29uc3RydWN0IGZvciBjcmVhdGluZyBidWNrZXRzIHRoYXQgd2lsbCBiZSBhY2Nlc3NlZCBkaXJlY3RseSBieSBDbG91ZEZyb250IGFzIGFuIE9yaWdpbi5cbiAqXG4gKiBAZGVwcmVjYXRlZCB1c2UgQ2xvdWRGcm9udEJ1Y2tldFYyXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZEZyb250QnVja2V0IGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3Qge1xuICBwcml2YXRlIGRlcGxveUNvdW50ID0gMDtcblxuICByZWFkb25seSBidWNrZXQ6IEJ1Y2tldDtcbiAgcmVhZG9ubHkgYnVja2V0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBidWNrZXRBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IE9yaWdpbkFjY2Vzc0lkZW50aXR5O1xuICByZWFkb25seSBvcmlnaW5BY2Nlc3NJZGVudGl0eUlkOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBuZXh0RGVwbG95Q291bnQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5kZXBsb3lDb3VudCsrO1xuICAgIHJldHVybiBjdXJyZW50ID09PSAwID8gJycgOiBgJHtjdXJyZW50fWA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IENsb3VkRnJvbnRCdWNrZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgc3RhbmRhcmRUYWdzOiBTdGFuZGFyZFRhZ3MubWVyZ2UocHJvcHM/LnN0YW5kYXJkVGFncywgTGliU3RhbmRhcmRUYWdzKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlbW92YWxQb2xpY3kgPSBwcm9wcz8ucmVtb3ZhbFBvbGljeSA/PyBSZW1vdmFsUG9saWN5LlJFVEFJTjtcbiAgICBjb25zdCBhdXRvRGVsZXRlT2JqZWN0cyA9XG4gICAgICAocHJvcHM/LmF1dG9EZWxldGVPYmplY3RzID8/IGZhbHNlKSAmJlxuICAgICAgcmVtb3ZhbFBvbGljeSA9PT0gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZO1xuXG4gICAgdGhpcy5idWNrZXQgPSBuZXcgQnVja2V0KHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgZW5jcnlwdGlvbjogQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELCAvLyBDbG91ZEZyb250IGNhbm5vdCB1c2UgS01TIHdpdGggUzNcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBCbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICByZW1vdmFsUG9saWN5LFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHMsXG4gICAgICB2ZXJzaW9uZWQ6IHByb3BzPy52ZXJzaW9uZWQgPz8gZmFsc2UsXG4gICAgICB0cmFuc2ZlckFjY2VsZXJhdGlvbjogcHJvcHM/LnRyYW5zZmVyQWNjZWxlcmF0aW9uID8/IGZhbHNlLFxuICAgICAgYnVja2V0TmFtZTogcHJvcHM/LmJ1Y2tldE5hbWUsXG4gICAgICBjb3JzOiBwcm9wcz8uY29ycyxcbiAgICB9KTtcbiAgICB0aGlzLmJ1Y2tldE5hbWUgPSB0aGlzLmJ1Y2tldC5idWNrZXROYW1lO1xuICAgIHRoaXMuYnVja2V0QXJuID0gdGhpcy5idWNrZXQuYnVja2V0QXJuO1xuICAgIHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHkgPSBuZXcgT3JpZ2luQWNjZXNzSWRlbnRpdHkodGhpcywgJ0FjY2VzcycsIHtcbiAgICAgIGNvbW1lbnQ6IGBTMyBidWNrZXQgJHt0aGlzLmJ1Y2tldC5idWNrZXROYW1lfWAsXG4gICAgfSk7XG4gICAgdGhpcy5vcmlnaW5BY2Nlc3NJZGVudGl0eUlkID1cbiAgICAgIHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHkub3JpZ2luQWNjZXNzSWRlbnRpdHlJZDtcbiAgICB0aGlzLmJ1Y2tldC5ncmFudFJlYWQodGhpcy5vcmlnaW5BY2Nlc3NJZGVudGl0eSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBkZXBsb3kgbG9jYWwgYXNzZXRzIHRvIHRoZSBjcmVhdGVkIGJ1Y2tldC4gVGhzIGZ1bmN0aW9uIGFzc3VtZXNcbiAgICogQ2xvdWRGcm9udCBpbnZhbGlkYXRpb24gcmVxdWVzdHMgd2lsbCBiZSBzZW50IGZvciBtdXRhYmxlIGZpbGVzIHRvIHNlcnZlIG5ldyBjb250ZW50LlxuICAgKiBGb3IgbW9yZSBjb21wbGljYXRlZCBkZXBsb3ltZW50cywgdXNlIEJ1Y2tldERlcGxveW1lbnQgZGlyZWN0bHkuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRocyB0aGUgcGF0aHMgdG8gdGhlIGxvY2FsIGFzc2V0c1xuICAgKiBAcGFyYW0gbWF4QWdlIHRoZSBsZW5ndGggb2YgdGltZSB0byBicm93c2VycyB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLm1pbnV0ZXMoMTUpXG4gICAqIEBwYXJhbSBzTWF4QWdlIHRoZSBsZW5ndGggb2YgdGltZSBDbG91ZEZyb250IHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24uZGF5cyg3KVxuICAgKiBAcGFyYW0gcHJ1bmUgdHJ1ZSB0byBwcnVuZSBvbGQgZmlsZXM7IGRlZmF1bHQgaXMgZmFsc2VcbiAgICovXG4gIGRlcGxveVBhdGhzKFxuICAgIHBhdGhzOiBzdHJpbmdbXSxcbiAgICBtYXhBZ2U/OiBEdXJhdGlvbixcbiAgICBzTWF4QWdlPzogRHVyYXRpb24sXG4gICAgcHJ1bmU/OiBib29sZWFuLFxuICApOiBCdWNrZXREZXBsb3ltZW50IHtcbiAgICByZXR1cm4gbmV3IEJ1Y2tldERlcGxveW1lbnQodGhpcywgYERlcGxveSR7dGhpcy5uZXh0RGVwbG95Q291bnQoKX1gLCB7XG4gICAgICBzb3VyY2VzOiBwYXRocy5tYXAoKHBhdGgpID0+IFNvdXJjZS5hc3NldChwYXRoKSksXG4gICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICBwcnVuZTogcHJ1bmUgPz8gZmFsc2UsXG4gICAgICBjYWNoZUNvbnRyb2w6IFtcbiAgICAgICAgQ2FjaGVDb250cm9sLnNldFB1YmxpYygpLFxuICAgICAgICBDYWNoZUNvbnRyb2wubWF4QWdlKG1heEFnZSA/PyBEdXJhdGlvbi5taW51dGVzKDE1KSksXG4gICAgICAgIENhY2hlQ29udHJvbC5zTWF4QWdlKHNNYXhBZ2UgPz8gRHVyYXRpb24uZGF5cyg3KSksXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gZGVwbG95IGxvY2FsIGFzc2V0cyB0byB0aGUgY3JlYXRlZCBidWNrZXQuIFRocyBmdW5jdGlvbiBhc3N1bWVzXG4gICAqIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCB0aGUgcGF0aCB0byB0aGUgbG9jYWwgYXNzZXRzXG4gICAqIEBwYXJhbSBtYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIHRvIGJyb3dzZXJzIHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICogQHBhcmFtIHNNYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIENsb3VkRnJvbnQgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5kYXlzKDcpXG4gICAqIEBwYXJhbSBwcnVuZSB0cnVlIHRvIHBydW5lIG9sZCBmaWxlczsgZGVmYXVsdCBpcyBmYWxzZVxuICAgKi9cbiAgZGVwbG95UGF0aChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgbWF4QWdlPzogRHVyYXRpb24sXG4gICAgc01heEFnZT86IER1cmF0aW9uLFxuICAgIHBydW5lPzogYm9vbGVhbixcbiAgKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZGVwbG95UGF0aHMoW3BhdGhdLCBtYXhBZ2UsIHNNYXhBZ2UsIHBydW5lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGFzc2V0cyB0byB0aGUgY3JlYXRlZCBidWNrZXQuIFRoaXMgZnVuY3Rpb24gYXNzdW1lcyBDbG91ZEZyb250IGludmFsaWRhdGlvblxuICAgKiByZXF1ZXN0cyB3aWxsIGJlIHNlbnQgZm9yIG11dGFibGUgZmlsZXMgdG8gc2VydmUgbmV3IGNvbnRlbnQuXG4gICAqIEZvciBtb3JlIGNvbXBsaWNhdGVkIGRlcGxveW1lbnRzLCB1c2UgQnVja2V0RGVwbG95bWVudCBkaXJlY3RseS5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZXMgdGhlIHNvdXJjZXMgdG8gZGVwbG95XG4gICAqIEBwYXJhbSBtYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIHRvIGJyb3dzZXJzIHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICogQHBhcmFtIHNNYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIENsb3VkRnJvbnQgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5kYXlzKDcpXG4gICAqIEBwYXJhbSBwcnVuZSB0cnVlIHRvIHBydW5lIG9sZCBmaWxlczsgZGVmYXVsdCBpcyBmYWxzZVxuICAgKi9cbiAgZGVwbG95U291cmNlcyhcbiAgICBzb3VyY2VzOiBJU291cmNlW10sXG4gICAgbWF4QWdlPzogRHVyYXRpb24sXG4gICAgc01heEFnZT86IER1cmF0aW9uLFxuICAgIHBydW5lPzogYm9vbGVhbixcbiAgKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIGBEZXBsb3kke3RoaXMubmV4dERlcGxveUNvdW50KCl9YCwge1xuICAgICAgc291cmNlczogc291cmNlcyxcbiAgICAgIGRlc3RpbmF0aW9uQnVja2V0OiB0aGlzLmJ1Y2tldCxcbiAgICAgIHBydW5lOiBwcnVuZSA/PyBmYWxzZSxcbiAgICAgIGNhY2hlQ29udHJvbDogW1xuICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UobWF4QWdlID8/IER1cmF0aW9uLm1pbnV0ZXMoMTUpKSxcbiAgICAgICAgQ2FjaGVDb250cm9sLnNNYXhBZ2Uoc01heEFnZSA/PyBEdXJhdGlvbi5kYXlzKDcpKSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBhc3NldHMgdG8gdGhlIGNyZWF0ZWQgYnVja2V0LiBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgQ2xvdWRGcm9udCBpbnZhbGlkYXRpb25cbiAgICogcmVxdWVzdHMgd2lsbCBiZSBzZW50IGZvciBtdXRhYmxlIGZpbGVzIHRvIHNlcnZlIG5ldyBjb250ZW50LlxuICAgKiBGb3IgbW9yZSBjb21wbGljYXRlZCBkZXBsb3ltZW50cywgdXNlIEJ1Y2tldERlcGxveW1lbnQgZGlyZWN0bHkuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2UgdGhlIHNvdXJjZSB0byBkZXBsb3lcbiAgICogQHBhcmFtIG1heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgdG8gYnJvd3NlcnMgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5taW51dGVzKDE1KVxuICAgKiBAcGFyYW0gc01heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgQ2xvdWRGcm9udCB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLmRheXMoNylcbiAgICogQHBhcmFtIHBydW5lIHRydWUgdG8gcHJ1bmUgb2xkIGZpbGVzOyBkZWZhdWx0IGlzIGZhbHNlXG4gICAqL1xuICBkZXBsb3lTb3VyY2UoXG4gICAgc291cmNlOiBJU291cmNlLFxuICAgIG1heEFnZT86IER1cmF0aW9uLFxuICAgIHNNYXhBZ2U/OiBEdXJhdGlvbixcbiAgICBwcnVuZT86IGJvb2xlYW4sXG4gICk6IEJ1Y2tldERlcGxveW1lbnQge1xuICAgIHJldHVybiB0aGlzLmRlcGxveVNvdXJjZXMoW3NvdXJjZV0sIG1heEFnZSwgc01heEFnZSwgcHJ1bmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gcmV0dXJuIGEgQ2xvdWRGcm9udCBPcmlnaW4gZm9yIHRoaXMgYnVja2V0LlxuICAgKi9cbiAgdG9PcmlnaW4oKTogUzNPcmlnaW4ge1xuICAgIHJldHVybiBuZXcgUzNPcmlnaW4odGhpcy5idWNrZXQsIHtcbiAgICAgIG9yaWdpbkFjY2Vzc0lkZW50aXR5OiB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQgcGVybWlzc2lvbnMgZm9yIHRoaXMgYnVja2V0IGFuZCBpdCdzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGVuY3J5cHRpb24gaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSB0byBkZWNyeXB0IHRoZSBjb250ZW50c1xuICAgKiBvZiB0aGUgYnVja2V0IHdpbGwgYWxzbyBiZSBncmFudGVkIHRvIHRoZSBzYW1lIHByaW5jaXBhbC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICBncmFudFJlYWQoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogdW5rbm93bik6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRSZWFkKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhpcyBidWNrZXQgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGVuY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHdyaXR0ZW4gZmlsZXMgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKlxuICAgKiBCZWZvcmUgQ0RLIHZlcnNpb24gMS44NS4wLCB0aGlzIG1ldGhvZCBncmFudGVkIHRoZSBgczM6UHV0T2JqZWN0KmAgcGVybWlzc2lvbiB0aGF0IGluY2x1ZGVkIGBzMzpQdXRPYmplY3RBY2xgLFxuICAgKiB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGdyYW50IHJlYWQvd3JpdGUgb2JqZWN0IGFjY2VzcyB0byBJQU0gcHJpbmNpcGFscyBpbiBvdGhlciBhY2NvdW50cy5cbiAgICogSWYgeW91IHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGF0IGJlaGF2aW9yLCB1cGRhdGUgeW91ciBDREsgdmVyc2lvbiB0byAxLjg1LjAgb3IgbGF0ZXIsXG4gICAqIGFuZCBtYWtlIHN1cmUgdGhlIGBAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2xgIGZlYXR1cmUgZmxhZyBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGluIHRoZSBgY29udGV4dGAga2V5IG9mIHlvdXIgY2RrLmpzb24gZmlsZS5cbiAgICogSWYgeW91J3ZlIGFscmVhZHkgdXBkYXRlZCwgYnV0IHN0aWxsIG5lZWQgdGhlIHByaW5jaXBhbCB0byBoYXZlIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyxcbiAgICogdXNlIHRoZSBgZ3JhbnRQdXRBY2xgIG1ldGhvZC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqIEBwYXJhbSBhbGxvd2VkQWN0aW9uUGF0dGVybnMgUmVzdHJpY3QgdGhlIHBlcm1pc3Npb25zIHRvIGNlcnRhaW4gbGlzdCBvZiBhY3Rpb24gcGF0dGVybnNcbiAgICovXG4gIGdyYW50V3JpdGUoXG4gICAgaWRlbnRpdHk6IElHcmFudGFibGUsXG4gICAgb2JqZWN0c0tleVBhdHRlcm4/OiB1bmtub3duLFxuICAgIGFsbG93ZWRBY3Rpb25QYXR0ZXJucz86IHN0cmluZ1tdLFxuICApOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50V3JpdGUoXG4gICAgICBpZGVudGl0eSxcbiAgICAgIG9iamVjdHNLZXlQYXR0ZXJuLFxuICAgICAgYWxsb3dlZEFjdGlvblBhdHRlcm5zLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHMzOlB1dE9iamVjdCogYW5kIHMzOkFib3J0KiBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGVuY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHdyaXR0ZW4gZmlsZXMgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UHV0KGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IHVua25vd24pOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50UHV0KGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIGdpdmVuIElBTSBpZGVudGl0eSBwZXJtaXNzaW9ucyB0byBtb2RpZnkgdGhlIEFDTHMgb2Ygb2JqZWN0cyBpbiB0aGUgZ2l2ZW4gQnVja2V0LlxuICAgKlxuICAgKiBJZiB5b3VyIGFwcGxpY2F0aW9uIGhhcyB0aGUgJ0Bhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbCcgZmVhdHVyZSBmbGFnIHNldCxcbiAgICogY2FsbGluZyBgZ3JhbnRXcml0ZWAgb3IgYGdyYW50UmVhZFdyaXRlYCBubyBsb25nZXIgZ3JhbnRzIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyBvZiB0aGUgb2JqZWN0cztcbiAgICogaW4gdGhpcyBjYXNlLCBpZiB5b3UgbmVlZCB0byBtb2RpZnkgb2JqZWN0IEFDTHMsIGNhbGwgdGhpcyBtZXRob2QgZXhwbGljaXRseS5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICBncmFudFB1dEFjbChpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiBzdHJpbmcpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50UHV0QWNsKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHMzOkRlbGV0ZU9iamVjdCogcGVybWlzc2lvbiB0byBhbiBJQU0gcHJpbmNpcGFsIGZvciBvYmplY3RzXG4gICAqIGluIHRoaXMgYnVja2V0LlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50RGVsZXRlKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IHVua25vd24pOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50RGVsZXRlKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQvd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgYnVja2V0IGFuZCBpdCdzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGFuIGVuY3J5cHRpb24ga2V5IGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgZm9yXG4gICAqIGVuY3J5cHQvZGVjcnlwdCB3aWxsIGFsc28gYmUgZ3JhbnRlZC5cbiAgICpcbiAgICogQmVmb3JlIENESyB2ZXJzaW9uIDEuODUuMCwgdGhpcyBtZXRob2QgZ3JhbnRlZCB0aGUgYHMzOlB1dE9iamVjdCpgIHBlcm1pc3Npb24gdGhhdCBpbmNsdWRlZCBgczM6UHV0T2JqZWN0QWNsYCxcbiAgICogd2hpY2ggY291bGQgYmUgdXNlZCB0byBncmFudCByZWFkL3dyaXRlIG9iamVjdCBhY2Nlc3MgdG8gSUFNIHByaW5jaXBhbHMgaW4gb3RoZXIgYWNjb3VudHMuXG4gICAqIElmIHlvdSB3YW50IHRvIGdldCByaWQgb2YgdGhhdCBiZWhhdmlvciwgdXBkYXRlIHlvdXIgQ0RLIHZlcnNpb24gdG8gMS44NS4wIG9yIGxhdGVyLFxuICAgKiBhbmQgbWFrZSBzdXJlIHRoZSBgQGF3cy1jZGsvYXdzLXMzOmdyYW50V3JpdGVXaXRob3V0QWNsYCBmZWF0dXJlIGZsYWcgaXMgc2V0IHRvIGB0cnVlYFxuICAgKiBpbiB0aGUgYGNvbnRleHRgIGtleSBvZiB5b3VyIGNkay5qc29uIGZpbGUuXG4gICAqIElmIHlvdSd2ZSBhbHJlYWR5IHVwZGF0ZWQsIGJ1dCBzdGlsbCBuZWVkIHRoZSBwcmluY2lwYWwgdG8gaGF2ZSBwZXJtaXNzaW9ucyB0byBtb2RpZnkgdGhlIEFDTHMsXG4gICAqIHVzZSB0aGUgYGdyYW50UHV0QWNsYCBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogdW5rbm93bik6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIHRoZSByZXNvdXJjZSBwb2xpY3kgZm9yIGEgcHJpbmNpcGFsIChpLmUuXG4gICAqIGFjY291bnQvcm9sZS9zZXJ2aWNlKSB0byBwZXJmb3JtIGFjdGlvbnMgb24gdGhpcyBidWNrZXQgYW5kL29yIGl0c1xuICAgKiBjb250ZW50cy4gVXNlIGBidWNrZXRBcm5gIGFuZCBgYXJuRm9yT2JqZWN0cyhrZXlzKWAgdG8gb2J0YWluIEFSTnMgZm9yXG4gICAqIHRoaXMgYnVja2V0IG9yIG9iamVjdHMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgcG9saWN5IHN0YXRlbWVudCBtYXkgb3IgbWF5IG5vdCBiZSBhZGRlZCB0byB0aGUgcG9saWN5LlxuICAgKiBGb3IgZXhhbXBsZSwgd2hlbiBhbiBgSUJ1Y2tldGAgaXMgY3JlYXRlZCBmcm9tIGFuIGV4aXN0aW5nIGJ1Y2tldCxcbiAgICogaXQncyBub3QgcG9zc2libGUgdG8gdGVsbCB3aGV0aGVyIHRoZSBidWNrZXQgYWxyZWFkeSBoYXMgYSBwb2xpY3lcbiAgICogYXR0YWNoZWQsIGxldCBhbG9uZSB0byByZS11c2UgdGhhdCBwb2xpY3kgdG8gYWRkIG1vcmUgc3RhdGVtZW50cyB0byBpdC5cbiAgICogU28gaXQncyBzYWZlc3QgdG8gZG8gbm90aGluZyBpbiB0aGVzZSBjYXNlcy5cbiAgICpcbiAgICogQHBhcmFtIHBlcm1pc3Npb24gdGhlIHBvbGljeSBzdGF0ZW1lbnQgdG8gYmUgYWRkZWQgdG8gdGhlIGJ1Y2tldCdzXG4gICAqIHBvbGljeS5cbiAgICogQHJldHVybnMgbWV0YWRhdGEgYWJvdXQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIG1ldGhvZC4gSWYgdGhlIHBvbGljeVxuICAgKiB3YXMgbm90IGFkZGVkLCB0aGUgdmFsdWUgb2YgYHN0YXRlbWVudEFkZGVkYCB3aWxsIGJlIGBmYWxzZWAuIFlvdVxuICAgKiBzaG91bGQgYWx3YXlzIGNoZWNrIHRoaXMgdmFsdWUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG9wZXJhdGlvbiB3YXNcbiAgICogYWN0dWFsbHkgY2FycmllZCBvdXQuIE90aGVyd2lzZSwgc3ludGhlc2lzIGFuZCBkZXBsb3kgd2lsbCB0ZXJtaW5hdGVcbiAgICogc2lsZW50bHksIHdoaWNoIG1heSBiZSBjb25mdXNpbmcuXG4gICAqL1xuICBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHBlcm1pc3Npb246IGlhbS5Qb2xpY3lTdGF0ZW1lbnQsXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuYWRkVG9SZXNvdXJjZVBvbGljeShwZXJtaXNzaW9uKTtcbiAgfVxufVxuIl19
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWQtZnJvbnQtYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xvdWQtZnJvbnQtYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtDQUs0QjtBQUM1QiwrREFBZ0U7QUFDaEUscUVBS3VDO0FBQ3ZDLDZDQUFvRDtBQUNwRCwyQ0FJdUI7QUFDdkIsNkNBQStDO0FBQy9DLCtFQUE0RDtBQXFENUQ7Ozs7R0FJRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsMkJBQWlCO0lBUzdDLGVBQWU7UUFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25DLE9BQU8sT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCOztRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxzQkFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxFQUFFLDBCQUFlLENBQUM7U0FDdkUsQ0FBQyxDQUFDO1FBaEJHLGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBa0J0QixNQUFNLGFBQWEsR0FBRyxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxhQUFhLG1DQUFJLDJCQUFhLENBQUMsTUFBTSxDQUFDO1FBQ25FLE1BQU0saUJBQWlCLEdBQ3JCLENBQUMsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsaUJBQWlCLG1DQUFJLEtBQUssQ0FBQztZQUNuQyxhQUFhLEtBQUssMkJBQWEsQ0FBQyxPQUFPLENBQUM7UUFFMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3hDLFVBQVUsRUFB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LENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFdBQVcsQ0FBQyxRQUFvQixFQUFFLGlCQUEwQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsUUFBb0IsRUFBRSxpQkFBMkI7UUFDM0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsY0FBYyxDQUFDLFFBQW9CLEVBQUUsaUJBQTJCO1FBQzlELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsbUJBQW1CLENBQ2pCLFVBQStCO1FBRS9CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBQ0Y7QUFuUkQsNENBbVJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgQmxvY2tQdWJsaWNBY2Nlc3MsXG4gIEJ1Y2tldCxcbiAgQnVja2V0RW5jcnlwdGlvbixcbiAgQ29yc1J1bGUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQge09yaWdpbkFjY2Vzc0lkZW50aXR5fSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5pbXBvcnQge1xuICBCdWNrZXREZXBsb3ltZW50LFxuICBDYWNoZUNvbnRyb2wsXG4gIElTb3VyY2UsXG4gIFNvdXJjZSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWRlcGxveW1lbnQnO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeX0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtcbiAgRXh0ZW5kZWRDb25zdHJ1Y3QsXG4gIEV4dGVuZGVkQ29uc3RydWN0UHJvcHMsXG4gIFN0YW5kYXJkVGFncyxcbn0gZnJvbSAnLi4vLi4vYXdzLWNkayc7XG5pbXBvcnQge0xpYlN0YW5kYXJkVGFnc30gZnJvbSAnLi4vLi4vdHJ1ZW1hcmsnO1xuaW1wb3J0IHtTM09yaWdpbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3VkZnJvbnQtb3JpZ2lucyc7XG5pbXBvcnQge0dyYW50LCBJR3JhbnRhYmxlfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBDbG91ZEZyb250QnVja2V0LlxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBFeHRlbmRlZEJ1Y2tldCBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvdWRGcm9udEJ1Y2tldFByb3BzIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBQb2xpY3kgdG8gYXBwbHkgd2hlbiB0aGUgYnVja2V0IGlzIHJlbW92ZWQgZnJvbSB0aGlzIHN0YWNrLlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYWxsIG9iamVjdHMgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCB3aGVuIHRoZSBidWNrZXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBzdGFjayBvciB3aGVuIHRoZSBzdGFjayBpcyBkZWxldGVkLlxuICAgKiBSZXF1aXJlcyB0aGUgcmVtb3ZhbFBvbGljeSB0byBiZSBzZXQgdG8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b0RlbGV0ZU9iamVjdHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYnVja2V0IHNob3VsZCBoYXZlIHZlcnNpb25pbmcgdHVybmVkIG9uIG9yIG5vdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb25lZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBidWNrZXQgc2hvdWxkIGhhdmUgdHJhbnNmZXIgYWNjZWxlcmF0aW9uIHR1cm5lZCBvbiBvciBub3QuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB0cmFuc2ZlckFjY2VsZXJhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGJ1Y2tldCBuYW1lLiBJZiBub3QgcHJvdmlkZWQsIGEgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDT1JTIGNvbmZpZ3VyYXRpb24gb2YgdGhpcyBidWNrZXQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtczMtYnVja2V0LWNvcnMuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIENPUlMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNvcnM/OiBDb3JzUnVsZVtdO1xufVxuXG4vKipcbiAqIFNpbXBsZSBDb25zdHJ1Y3QgZm9yIGNyZWF0aW5nIGJ1Y2tldHMgdGhhdCB3aWxsIGJlIGFjY2Vzc2VkIGRpcmVjdGx5IGJ5IENsb3VkRnJvbnQgYXMgYW4gT3JpZ2luLlxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBDbG91ZEZyb250QnVja2V0VjJcbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkRnJvbnRCdWNrZXQgZXh0ZW5kcyBFeHRlbmRlZENvbnN0cnVjdCB7XG4gIHByaXZhdGUgZGVwbG95Q291bnQgPSAwO1xuXG4gIHJlYWRvbmx5IGJ1Y2tldDogQnVja2V0O1xuICByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1Y2tldEFybjogc3RyaW5nO1xuICByZWFkb25seSBvcmlnaW5BY2Nlc3NJZGVudGl0eTogT3JpZ2luQWNjZXNzSWRlbnRpdHk7XG4gIHJlYWRvbmx5IG9yaWdpbkFjY2Vzc0lkZW50aXR5SWQ6IHN0cmluZztcblxuICBwcml2YXRlIG5leHREZXBsb3lDb3VudCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmRlcGxveUNvdW50Kys7XG4gICAgcmV0dXJuIGN1cnJlbnQgPT09IDAgPyAnJyA6IGAke2N1cnJlbnR9YDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQ2xvdWRGcm9udEJ1Y2tldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBzdGFuZGFyZFRhZ3M6IFN0YW5kYXJkVGFncy5tZXJnZShwcm9wcz8uc3RhbmRhcmRUYWdzLCBMaWJTdGFuZGFyZFRhZ3MpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVtb3ZhbFBvbGljeSA9IHByb3BzPy5yZW1vdmFsUG9saWN5ID8/IFJlbW92YWxQb2xpY3kuUkVUQUlOO1xuICAgIGNvbnN0IGF1dG9EZWxldGVPYmplY3RzID1cbiAgICAgIChwcm9wcz8uYXV0b0RlbGV0ZU9iamVjdHMgPz8gZmFsc2UpICYmXG4gICAgICByZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1k7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IG5ldyBCdWNrZXQodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBlbmNyeXB0aW9uOiBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsIC8vIENsb3VkRnJvbnQgY2Fubm90IHVzZSBLTVMgd2l0aCBTM1xuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IEJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIHJlbW92YWxQb2xpY3ksXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0cyxcbiAgICAgIHZlcnNpb25lZDogcHJvcHM/LnZlcnNpb25lZCA/PyBmYWxzZSxcbiAgICAgIHRyYW5zZmVyQWNjZWxlcmF0aW9uOiBwcm9wcz8udHJhbnNmZXJBY2NlbGVyYXRpb24gPz8gZmFsc2UsXG4gICAgICBidWNrZXROYW1lOiBwcm9wcz8uYnVja2V0TmFtZSxcbiAgICAgIGNvcnM6IHByb3BzPy5jb3JzLFxuICAgIH0pO1xuICAgIHRoaXMuYnVja2V0TmFtZSA9IHRoaXMuYnVja2V0LmJ1Y2tldE5hbWU7XG4gICAgdGhpcy5idWNrZXRBcm4gPSB0aGlzLmJ1Y2tldC5idWNrZXRBcm47XG4gICAgdGhpcy5vcmlnaW5BY2Nlc3NJZGVudGl0eSA9IG5ldyBPcmlnaW5BY2Nlc3NJZGVudGl0eSh0aGlzLCAnQWNjZXNzJywge1xuICAgICAgY29tbWVudDogYFMzIGJ1Y2tldCAke3RoaXMuYnVja2V0LmJ1Y2tldE5hbWV9YCxcbiAgICB9KTtcbiAgICB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5SWQgPVxuICAgICAgdGhpcy5vcmlnaW5BY2Nlc3NJZGVudGl0eS5vcmlnaW5BY2Nlc3NJZGVudGl0eUlkO1xuICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZCh0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGRlcGxveSBsb2NhbCBhc3NldHMgdG8gdGhlIGNyZWF0ZWQgYnVja2V0LiBUaHMgZnVuY3Rpb24gYXNzdW1lc1xuICAgKiBDbG91ZEZyb250IGludmFsaWRhdGlvbiByZXF1ZXN0cyB3aWxsIGJlIHNlbnQgZm9yIG11dGFibGUgZmlsZXMgdG8gc2VydmUgbmV3IGNvbnRlbnQuXG4gICAqIEZvciBtb3JlIGNvbXBsaWNhdGVkIGRlcGxveW1lbnRzLCB1c2UgQnVja2V0RGVwbG95bWVudCBkaXJlY3RseS5cbiAgICpcbiAgICogQHBhcmFtIHBhdGhzIHRoZSBwYXRocyB0byB0aGUgbG9jYWwgYXNzZXRzXG4gICAqIEBwYXJhbSBtYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIHRvIGJyb3dzZXJzIHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICogQHBhcmFtIHNNYXhBZ2UgdGhlIGxlbmd0aCBvZiB0aW1lIENsb3VkRnJvbnQgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5kYXlzKDcpXG4gICAqIEBwYXJhbSBwcnVuZSB0cnVlIHRvIHBydW5lIG9sZCBmaWxlczsgZGVmYXVsdCBpcyBmYWxzZVxuICAgKi9cbiAgZGVwbG95UGF0aHMoXG4gICAgcGF0aHM6IHN0cmluZ1tdLFxuICAgIG1heEFnZT86IER1cmF0aW9uLFxuICAgIHNNYXhBZ2U/OiBEdXJhdGlvbixcbiAgICBwcnVuZT86IGJvb2xlYW4sXG4gICk6IEJ1Y2tldERlcGxveW1lbnQge1xuICAgIHJldHVybiBuZXcgQnVja2V0RGVwbG95bWVudCh0aGlzLCBgRGVwbG95JHt0aGlzLm5leHREZXBsb3lDb3VudCgpfWAsIHtcbiAgICAgIHNvdXJjZXM6IHBhdGhzLm1hcCgocGF0aCkgPT4gU291cmNlLmFzc2V0KHBhdGgpKSxcbiAgICAgIGRlc3RpbmF0aW9uQnVja2V0OiB0aGlzLmJ1Y2tldCxcbiAgICAgIHBydW5lOiBwcnVuZSA/PyBmYWxzZSxcbiAgICAgIGNhY2hlQ29udHJvbDogW1xuICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UobWF4QWdlID8/IER1cmF0aW9uLm1pbnV0ZXMoMTUpKSxcbiAgICAgICAgQ2FjaGVDb250cm9sLnNNYXhBZ2Uoc01heEFnZSA/PyBEdXJhdGlvbi5kYXlzKDcpKSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBkZXBsb3kgbG9jYWwgYXNzZXRzIHRvIHRoZSBjcmVhdGVkIGJ1Y2tldC4gVGhzIGZ1bmN0aW9uIGFzc3VtZXNcbiAgICogQ2xvdWRGcm9udCBpbnZhbGlkYXRpb24gcmVxdWVzdHMgd2lsbCBiZSBzZW50IGZvciBtdXRhYmxlIGZpbGVzIHRvIHNlcnZlIG5ldyBjb250ZW50LlxuICAgKiBGb3IgbW9yZSBjb21wbGljYXRlZCBkZXBsb3ltZW50cywgdXNlIEJ1Y2tldERlcGxveW1lbnQgZGlyZWN0bHkuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIHRoZSBwYXRoIHRvIHRoZSBsb2NhbCBhc3NldHNcbiAgICogQHBhcmFtIG1heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgdG8gYnJvd3NlcnMgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5taW51dGVzKDE1KVxuICAgKiBAcGFyYW0gc01heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgQ2xvdWRGcm9udCB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLmRheXMoNylcbiAgICogQHBhcmFtIHBydW5lIHRydWUgdG8gcHJ1bmUgb2xkIGZpbGVzOyBkZWZhdWx0IGlzIGZhbHNlXG4gICAqL1xuICBkZXBsb3lQYXRoKFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBtYXhBZ2U/OiBEdXJhdGlvbixcbiAgICBzTWF4QWdlPzogRHVyYXRpb24sXG4gICAgcHJ1bmU/OiBib29sZWFuLFxuICApOiBCdWNrZXREZXBsb3ltZW50IHtcbiAgICByZXR1cm4gdGhpcy5kZXBsb3lQYXRocyhbcGF0aF0sIG1heEFnZSwgc01heEFnZSwgcHJ1bmUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gYXNzZXRzIHRvIHRoZSBjcmVhdGVkIGJ1Y2tldC4gVGhpcyBmdW5jdGlvbiBhc3N1bWVzIENsb3VkRnJvbnQgaW52YWxpZGF0aW9uXG4gICAqIHJlcXVlc3RzIHdpbGwgYmUgc2VudCBmb3IgbXV0YWJsZSBmaWxlcyB0byBzZXJ2ZSBuZXcgY29udGVudC5cbiAgICogRm9yIG1vcmUgY29tcGxpY2F0ZWQgZGVwbG95bWVudHMsIHVzZSBCdWNrZXREZXBsb3ltZW50IGRpcmVjdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlcyB0aGUgc291cmNlcyB0byBkZXBsb3lcbiAgICogQHBhcmFtIG1heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgdG8gYnJvd3NlcnMgd2lsbCBjYWNoZSBmaWxlczsgZGVmYXVsdCBpcyBEdXJhdGlvbi5taW51dGVzKDE1KVxuICAgKiBAcGFyYW0gc01heEFnZSB0aGUgbGVuZ3RoIG9mIHRpbWUgQ2xvdWRGcm9udCB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLmRheXMoNylcbiAgICogQHBhcmFtIHBydW5lIHRydWUgdG8gcHJ1bmUgb2xkIGZpbGVzOyBkZWZhdWx0IGlzIGZhbHNlXG4gICAqL1xuICBkZXBsb3lTb3VyY2VzKFxuICAgIHNvdXJjZXM6IElTb3VyY2VbXSxcbiAgICBtYXhBZ2U/OiBEdXJhdGlvbixcbiAgICBzTWF4QWdlPzogRHVyYXRpb24sXG4gICAgcHJ1bmU/OiBib29sZWFuLFxuICApOiBCdWNrZXREZXBsb3ltZW50IHtcbiAgICByZXR1cm4gbmV3IEJ1Y2tldERlcGxveW1lbnQodGhpcywgYERlcGxveSR7dGhpcy5uZXh0RGVwbG95Q291bnQoKX1gLCB7XG4gICAgICBzb3VyY2VzOiBzb3VyY2VzLFxuICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHRoaXMuYnVja2V0LFxuICAgICAgcHJ1bmU6IHBydW5lID8/IGZhbHNlLFxuICAgICAgY2FjaGVDb250cm9sOiBbXG4gICAgICAgIENhY2hlQ29udHJvbC5zZXRQdWJsaWMoKSxcbiAgICAgICAgQ2FjaGVDb250cm9sLm1heEFnZShtYXhBZ2UgPz8gRHVyYXRpb24ubWludXRlcygxNSkpLFxuICAgICAgICBDYWNoZUNvbnRyb2wuc01heEFnZShzTWF4QWdlID8/IER1cmF0aW9uLmRheXMoNykpLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGFzc2V0cyB0byB0aGUgY3JlYXRlZCBidWNrZXQuIFRoaXMgZnVuY3Rpb24gYXNzdW1lcyBDbG91ZEZyb250IGludmFsaWRhdGlvblxuICAgKiByZXF1ZXN0cyB3aWxsIGJlIHNlbnQgZm9yIG11dGFibGUgZmlsZXMgdG8gc2VydmUgbmV3IGNvbnRlbnQuXG4gICAqIEZvciBtb3JlIGNvbXBsaWNhdGVkIGRlcGxveW1lbnRzLCB1c2UgQnVja2V0RGVwbG95bWVudCBkaXJlY3RseS5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZSB0aGUgc291cmNlIHRvIGRlcGxveVxuICAgKiBAcGFyYW0gbWF4QWdlIHRoZSBsZW5ndGggb2YgdGltZSB0byBicm93c2VycyB3aWxsIGNhY2hlIGZpbGVzOyBkZWZhdWx0IGlzIER1cmF0aW9uLm1pbnV0ZXMoMTUpXG4gICAqIEBwYXJhbSBzTWF4QWdlIHRoZSBsZW5ndGggb2YgdGltZSBDbG91ZEZyb250IHdpbGwgY2FjaGUgZmlsZXM7IGRlZmF1bHQgaXMgRHVyYXRpb24uZGF5cyg3KVxuICAgKiBAcGFyYW0gcHJ1bmUgdHJ1ZSB0byBwcnVuZSBvbGQgZmlsZXM7IGRlZmF1bHQgaXMgZmFsc2VcbiAgICovXG4gIGRlcGxveVNvdXJjZShcbiAgICBzb3VyY2U6IElTb3VyY2UsXG4gICAgbWF4QWdlPzogRHVyYXRpb24sXG4gICAgc01heEFnZT86IER1cmF0aW9uLFxuICAgIHBydW5lPzogYm9vbGVhbixcbiAgKTogQnVja2V0RGVwbG95bWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZGVwbG95U291cmNlcyhbc291cmNlXSwgbWF4QWdlLCBzTWF4QWdlLCBwcnVuZSk7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byByZXR1cm4gYSBDbG91ZEZyb250IE9yaWdpbiBmb3IgdGhpcyBidWNrZXQuXG4gICAqL1xuICB0b09yaWdpbigpOiBTM09yaWdpbiB7XG4gICAgcmV0dXJuIG5ldyBTM09yaWdpbih0aGlzLmJ1Y2tldCwge1xuICAgICAgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IHRoaXMub3JpZ2luQWNjZXNzSWRlbnRpdHksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgcmVhZCBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgYW5kIGl0J3MgY29udGVudHMgdG8gYW4gSUFNXG4gICAqIHByaW5jaXBhbCAoUm9sZS9Hcm91cC9Vc2VyKS5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGRlY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHRoZSBidWNrZXQgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UmVhZChpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiB1bmtub3duKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFJlYWQoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCB3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGlzIGJ1Y2tldCB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZW5jcnlwdCB0aGUgY29udGVudHNcbiAgICogb2Ygd3JpdHRlbiBmaWxlcyB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIEJlZm9yZSBDREsgdmVyc2lvbiAxLjg1LjAsIHRoaXMgbWV0aG9kIGdyYW50ZWQgdGhlIGBzMzpQdXRPYmplY3QqYCBwZXJtaXNzaW9uIHRoYXQgaW5jbHVkZWQgYHMzOlB1dE9iamVjdEFjbGAsXG4gICAqIHdoaWNoIGNvdWxkIGJlIHVzZWQgdG8gZ3JhbnQgcmVhZC93cml0ZSBvYmplY3QgYWNjZXNzIHRvIElBTSBwcmluY2lwYWxzIGluIG90aGVyIGFjY291bnRzLlxuICAgKiBJZiB5b3Ugd2FudCB0byBnZXQgcmlkIG9mIHRoYXQgYmVoYXZpb3IsIHVwZGF0ZSB5b3VyIENESyB2ZXJzaW9uIHRvIDEuODUuMCBvciBsYXRlcixcbiAgICogYW5kIG1ha2Ugc3VyZSB0aGUgYEBhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbGAgZmVhdHVyZSBmbGFnIGlzIHNldCB0byBgdHJ1ZWBcbiAgICogaW4gdGhlIGBjb250ZXh0YCBrZXkgb2YgeW91ciBjZGsuanNvbiBmaWxlLlxuICAgKiBJZiB5b3UndmUgYWxyZWFkeSB1cGRhdGVkLCBidXQgc3RpbGwgbmVlZCB0aGUgcHJpbmNpcGFsIHRvIGhhdmUgcGVybWlzc2lvbnMgdG8gbW9kaWZ5IHRoZSBBQ0xzLFxuICAgKiB1c2UgdGhlIGBncmFudFB1dEFjbGAgbWV0aG9kLlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICogQHBhcmFtIGFsbG93ZWRBY3Rpb25QYXR0ZXJucyBSZXN0cmljdCB0aGUgcGVybWlzc2lvbnMgdG8gY2VydGFpbiBsaXN0IG9mIGFjdGlvbiBwYXR0ZXJuc1xuICAgKi9cbiAgZ3JhbnRXcml0ZShcbiAgICBpZGVudGl0eTogSUdyYW50YWJsZSxcbiAgICBvYmplY3RzS2V5UGF0dGVybj86IHVua25vd24sXG4gICAgYWxsb3dlZEFjdGlvblBhdHRlcm5zPzogc3RyaW5nW10sXG4gICk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRXcml0ZShcbiAgICAgIGlkZW50aXR5LFxuICAgICAgb2JqZWN0c0tleVBhdHRlcm4sXG4gICAgICBhbGxvd2VkQWN0aW9uUGF0dGVybnMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgczM6UHV0T2JqZWN0KiBhbmQgczM6QWJvcnQqIHBlcm1pc3Npb25zIGZvciB0aGlzIGJ1Y2tldCB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZW5jcnlwdCB0aGUgY29udGVudHNcbiAgICogb2Ygd3JpdHRlbiBmaWxlcyB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnRQdXQoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogdW5rbm93bik6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRQdXQoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCB0aGUgZ2l2ZW4gSUFNIGlkZW50aXR5IHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyBvZiBvYmplY3RzIGluIHRoZSBnaXZlbiBCdWNrZXQuXG4gICAqXG4gICAqIElmIHlvdXIgYXBwbGljYXRpb24gaGFzIHRoZSAnQGF3cy1jZGsvYXdzLXMzOmdyYW50V3JpdGVXaXRob3V0QWNsJyBmZWF0dXJlIGZsYWcgc2V0LFxuICAgKiBjYWxsaW5nIGBncmFudFdyaXRlYCBvciBgZ3JhbnRSZWFkV3JpdGVgIG5vIGxvbmdlciBncmFudHMgcGVybWlzc2lvbnMgdG8gbW9kaWZ5IHRoZSBBQ0xzIG9mIHRoZSBvYmplY3RzO1xuICAgKiBpbiB0aGlzIGNhc2UsIGlmIHlvdSBuZWVkIHRvIG1vZGlmeSBvYmplY3QgQUNMcywgY2FsbCB0aGlzIG1ldGhvZCBleHBsaWNpdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UHV0QWNsKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IHN0cmluZyk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRQdXRBY2woaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgczM6RGVsZXRlT2JqZWN0KiBwZXJtaXNzaW9uIHRvIGFuIElBTSBwcmluY2lwYWwgZm9yIG9iamVjdHNcbiAgICogaW4gdGhpcyBidWNrZXQuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgZ3JhbnREZWxldGUoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogdW5rbm93bik6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnREZWxldGUoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcmVhZC93cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgYW5kIGl0J3MgY29udGVudHMgdG8gYW4gSUFNXG4gICAqIHByaW5jaXBhbCAoUm9sZS9Hcm91cC9Vc2VyKS5cbiAgICpcbiAgICogSWYgYW4gZW5jcnlwdGlvbiBrZXkgaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSBmb3JcbiAgICogZW5jcnlwdC9kZWNyeXB0IHdpbGwgYWxzbyBiZSBncmFudGVkLlxuICAgKlxuICAgKiBCZWZvcmUgQ0RLIHZlcnNpb24gMS44NS4wLCB0aGlzIG1ldGhvZCBncmFudGVkIHRoZSBgczM6UHV0T2JqZWN0KmAgcGVybWlzc2lvbiB0aGF0IGluY2x1ZGVkIGBzMzpQdXRPYmplY3RBY2xgLFxuICAgKiB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGdyYW50IHJlYWQvd3JpdGUgb2JqZWN0IGFjY2VzcyB0byBJQU0gcHJpbmNpcGFscyBpbiBvdGhlciBhY2NvdW50cy5cbiAgICogSWYgeW91IHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGF0IGJlaGF2aW9yLCB1cGRhdGUgeW91ciBDREsgdmVyc2lvbiB0byAxLjg1LjAgb3IgbGF0ZXIsXG4gICAqIGFuZCBtYWtlIHN1cmUgdGhlIGBAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2xgIGZlYXR1cmUgZmxhZyBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGluIHRoZSBgY29udGV4dGAga2V5IG9mIHlvdXIgY2RrLmpzb24gZmlsZS5cbiAgICogSWYgeW91J3ZlIGFscmVhZHkgdXBkYXRlZCwgYnV0IHN0aWxsIG5lZWQgdGhlIHByaW5jaXBhbCB0byBoYXZlIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyxcbiAgICogdXNlIHRoZSBgZ3JhbnRQdXRBY2xgIG1ldGhvZC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICBncmFudFJlYWRXcml0ZShpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiB1bmtub3duKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFJlYWRXcml0ZShpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gdGhlIHJlc291cmNlIHBvbGljeSBmb3IgYSBwcmluY2lwYWwgKGkuZS5cbiAgICogYWNjb3VudC9yb2xlL3NlcnZpY2UpIHRvIHBlcmZvcm0gYWN0aW9ucyBvbiB0aGlzIGJ1Y2tldCBhbmQvb3IgaXRzXG4gICAqIGNvbnRlbnRzLiBVc2UgYGJ1Y2tldEFybmAgYW5kIGBhcm5Gb3JPYmplY3RzKGtleXMpYCB0byBvYnRhaW4gQVJOcyBmb3JcbiAgICogdGhpcyBidWNrZXQgb3Igb2JqZWN0cy5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSBwb2xpY3kgc3RhdGVtZW50IG1heSBvciBtYXkgbm90IGJlIGFkZGVkIHRvIHRoZSBwb2xpY3kuXG4gICAqIEZvciBleGFtcGxlLCB3aGVuIGFuIGBJQnVja2V0YCBpcyBjcmVhdGVkIGZyb20gYW4gZXhpc3RpbmcgYnVja2V0LFxuICAgKiBpdCdzIG5vdCBwb3NzaWJsZSB0byB0ZWxsIHdoZXRoZXIgdGhlIGJ1Y2tldCBhbHJlYWR5IGhhcyBhIHBvbGljeVxuICAgKiBhdHRhY2hlZCwgbGV0IGFsb25lIHRvIHJlLXVzZSB0aGF0IHBvbGljeSB0byBhZGQgbW9yZSBzdGF0ZW1lbnRzIHRvIGl0LlxuICAgKiBTbyBpdCdzIHNhZmVzdCB0byBkbyBub3RoaW5nIGluIHRoZXNlIGNhc2VzLlxuICAgKlxuICAgKiBAcGFyYW0gcGVybWlzc2lvbiB0aGUgcG9saWN5IHN0YXRlbWVudCB0byBiZSBhZGRlZCB0byB0aGUgYnVja2V0J3NcbiAgICogcG9saWN5LlxuICAgKiBAcmV0dXJucyBtZXRhZGF0YSBhYm91dCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgbWV0aG9kLiBJZiB0aGUgcG9saWN5XG4gICAqIHdhcyBub3QgYWRkZWQsIHRoZSB2YWx1ZSBvZiBgc3RhdGVtZW50QWRkZWRgIHdpbGwgYmUgYGZhbHNlYC4gWW91XG4gICAqIHNob3VsZCBhbHdheXMgY2hlY2sgdGhpcyB2YWx1ZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgb3BlcmF0aW9uIHdhc1xuICAgKiBhY3R1YWxseSBjYXJyaWVkIG91dC4gT3RoZXJ3aXNlLCBzeW50aGVzaXMgYW5kIGRlcGxveSB3aWxsIHRlcm1pbmF0ZVxuICAgKiBzaWxlbnRseSwgd2hpY2ggbWF5IGJlIGNvbmZ1c2luZy5cbiAgICovXG4gIGFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgcGVybWlzc2lvbjogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KHBlcm1pc3Npb24pO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  import { Bucket, BucketProps } from 'aws-cdk-lib/aws-s3';
2
2
  import { Construct } from 'constructs';
3
3
  import { CacheControl, ISource } from 'aws-cdk-lib/aws-s3-deployment';
4
+ import { IOrigin, OriginAccessIdentity, S3OriginAccessControl, Signing } from 'aws-cdk-lib/aws-cloudfront';
4
5
  /**
5
6
  * Properties for convenience deploy method in ExtendedBucket.
6
7
  */
@@ -45,14 +46,31 @@ export type ExtendedBucketProps = BucketProps;
45
46
  */
46
47
  export declare class ExtendedBucket extends Bucket {
47
48
  protected deployCount: number;
49
+ originAccessControl: S3OriginAccessControl | undefined;
50
+ originAccessIdentity: OriginAccessIdentity | undefined;
51
+ origin: IOrigin | undefined;
48
52
  constructor(scope: Construct, id: string, props: ExtendedBucketProps);
49
53
  protected nextDeployCount(): string;
50
54
  /**
51
55
  * Deploys files to the bucket.
52
56
  *
53
- * @param scope the scope to create the BucketDeployment in.
54
- *
55
57
  * @param config the deployment configurations
56
58
  */
57
- deploy(scope: Construct, config: BucketDeploymentConfig | BucketDeploymentConfig[]): void;
59
+ deploy(config: BucketDeploymentConfig | BucketDeploymentConfig[]): void;
60
+ /**
61
+ * Helper method to return a CloudFront Origin Access Control for this bucket.
62
+ * On repeated calls to this function, the same origin access control will be returned.
63
+ *
64
+ * @deprecated use addOriginAccessIdentity instead
65
+ *
66
+ * @param signing Set how CloudFront signs requests. Default is Signing.SIGV4_NO_OVERRIDE.
67
+ */
68
+ addOriginAccessControl(signing?: Signing): S3OriginAccessControl;
69
+ /**
70
+ * Helper method to return a CloudFront Origin Access Identity for this bucket.
71
+ * On repeated calls to this function, the same origin access identity will be returned.
72
+ *
73
+ * @param comment Optional comment to add to the OAI.
74
+ */
75
+ addOriginAccessIdentity(comment?: string): OriginAccessIdentity;
58
76
  }
@@ -4,6 +4,7 @@ exports.ExtendedBucket = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
5
  const aws_s3_1 = require("aws-cdk-lib/aws-s3");
6
6
  const aws_s3_deployment_1 = require("aws-cdk-lib/aws-s3-deployment");
7
+ const aws_cloudfront_1 = require("aws-cdk-lib/aws-cloudfront");
7
8
  /**
8
9
  * Extension of Bucket with preset defaults that include, disallowing public access,
9
10
  * enforcing bucket owner object ownership, S3 managed encryption, and auto deletion
@@ -24,6 +25,9 @@ class ExtendedBucket extends aws_s3_1.Bucket {
24
25
  ...props,
25
26
  });
26
27
  this.deployCount = 0;
28
+ this.originAccessControl = undefined;
29
+ this.originAccessIdentity = undefined;
30
+ this.origin = undefined;
27
31
  }
28
32
  nextDeployCount() {
29
33
  const current = this.deployCount++;
@@ -32,11 +36,9 @@ class ExtendedBucket extends aws_s3_1.Bucket {
32
36
  /**
33
37
  * Deploys files to the bucket.
34
38
  *
35
- * @param scope the scope to create the BucketDeployment in.
36
- *
37
39
  * @param config the deployment configurations
38
40
  */
39
- deploy(scope, config) {
41
+ deploy(config) {
40
42
  var _a;
41
43
  const configs = Array.isArray(config) ? config : [config];
42
44
  for (const c of configs) {
@@ -46,7 +48,7 @@ class ExtendedBucket extends aws_s3_1.Bucket {
46
48
  ? c.exclude
47
49
  : [c.exclude]
48
50
  : [];
49
- new aws_s3_deployment_1.BucketDeployment(scope, `Deploy${this.nextDeployCount()}`, {
51
+ new aws_s3_deployment_1.BucketDeployment(this, `Deploy${this.nextDeployCount()}`, {
50
52
  sources,
51
53
  destinationBucket: this,
52
54
  destinationKeyPrefix: c.prefix,
@@ -57,6 +59,36 @@ class ExtendedBucket extends aws_s3_1.Bucket {
57
59
  });
58
60
  }
59
61
  }
62
+ /**
63
+ * Helper method to return a CloudFront Origin Access Control for this bucket.
64
+ * On repeated calls to this function, the same origin access control will be returned.
65
+ *
66
+ * @deprecated use addOriginAccessIdentity instead
67
+ *
68
+ * @param signing Set how CloudFront signs requests. Default is Signing.SIGV4_NO_OVERRIDE.
69
+ */
70
+ addOriginAccessControl(signing) {
71
+ if (!this.originAccessControl) {
72
+ this.originAccessControl = new aws_cloudfront_1.S3OriginAccessControl(this, 'OriginAccessControl', {
73
+ signing: signing !== null && signing !== void 0 ? signing : aws_cloudfront_1.Signing.SIGV4_NO_OVERRIDE,
74
+ });
75
+ }
76
+ return this.originAccessControl;
77
+ }
78
+ /**
79
+ * Helper method to return a CloudFront Origin Access Identity for this bucket.
80
+ * On repeated calls to this function, the same origin access identity will be returned.
81
+ *
82
+ * @param comment Optional comment to add to the OAI.
83
+ */
84
+ addOriginAccessIdentity(comment) {
85
+ if (!this.originAccessIdentity) {
86
+ this.originAccessIdentity = new aws_cloudfront_1.OriginAccessIdentity(this, 'OriginAccessIdentity', {
87
+ comment,
88
+ });
89
+ }
90
+ return this.originAccessIdentity;
91
+ }
60
92
  }
61
93
  exports.ExtendedBucket = ExtendedBucket;
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXh0ZW5kZWQtYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEwQztBQUMxQywrQ0FNNEI7QUFFNUIscUVBS3VDO0FBNkN2Qzs7Ozs7R0FLRztBQUNILE1BQWEsY0FBZSxTQUFRLGVBQU07SUFFeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLDZCQUE2QjtZQUM3QixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyxTQUFTO1lBQzlDLG1FQUFtRTtZQUNuRSxlQUFlLEVBQUUsd0JBQWUsQ0FBQyxxQkFBcUI7WUFDdEQsb0NBQW9DO1lBQ3BDLFVBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxVQUFVO1lBQ3ZDLG9FQUFvRTtZQUNwRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxLQUFLLDJCQUFhLENBQUMsT0FBTztZQUNoRSxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFaSyxnQkFBVyxHQUFHLENBQUMsQ0FBQztJQWExQixDQUFDO0lBRVMsZUFBZTtRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsT0FBTyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FDSixLQUFnQixFQUNoQixNQUF5RDs7UUFFekQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFELEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ25FLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsMEJBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNyRCxDQUFDO1lBQ0YsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU87Z0JBQ3ZCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7b0JBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztvQkFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxJQUFJLG9DQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFO2dCQUM3RCxPQUFPO2dCQUNQLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxNQUFNO2dCQUM5QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ2QsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZO2dCQUM1QixPQUFPO2dCQUNQLFdBQVcsRUFBRSxNQUFBLENBQUMsQ0FBQyxXQUFXLG1DQUFJLEdBQUc7YUFDbEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXJERCx3Q0FxREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1JlbW92YWxQb2xpY3l9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIEJsb2NrUHVibGljQWNjZXNzLFxuICBCdWNrZXQsXG4gIEJ1Y2tldEVuY3J5cHRpb24sXG4gIEJ1Y2tldFByb3BzLFxuICBPYmplY3RPd25lcnNoaXAsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBCdWNrZXREZXBsb3ltZW50LFxuICBDYWNoZUNvbnRyb2wsXG4gIElTb3VyY2UsXG4gIFNvdXJjZSxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWRlcGxveW1lbnQnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGNvbnZlbmllbmNlIGRlcGxveSBtZXRob2QgaW4gRXh0ZW5kZWRCdWNrZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0RGVwbG95bWVudENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIG1lbW9yeSAoaW4gTWlCKSB0byBhbGxvY2F0ZSB0byB0aGUgQVdTIExhbWJkYSBmdW5jdGlvbiB3aGljaFxuICAgKiByZXBsaWNhdGVzIHRoZSBmaWxlcyBmcm9tIHRoZSBDREsgYnVja2V0IHRvIHRoZSBkZXN0aW5hdGlvbiBidWNrZXQuXG4gICAqXG4gICAqIElmIHlvdSBhcmUgZGVwbG95aW5nIGxhcmdlIGZpbGVzLCB5b3Ugd2lsbCBuZWVkIHRvIGluY3JlYXNlIHRoaXMgbnVtYmVyXG4gICAqIGFjY29yZGluZ2x5LlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MTJcbiAgICovXG4gIHJlYWRvbmx5IG1lbW9yeUxpbWl0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aHMgb3Igc291cmNlcyB0byBkZXBsb3kuXG4gICAqL1xuICByZWFkb25seSBzb3VyY2U6IHN0cmluZyB8IHN0cmluZ1tdIHwgSVNvdXJjZSB8IElTb3VyY2VbXTtcblxuICAvKipcbiAgICogUHJlZml4IHRvIGFkZCB0byB0aGUgZGVwbG95bWVudCBwYXRoIGluIHRoZSBidWNrZXQuXG4gICAqL1xuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhdGhzIHRvIGV4Y2x1ZGUgZnJvbSB0aGUgZGVwbG95bWVudC5cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGU/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBDYWNoZS1Db250cm9sIGRpcmVjdGl2ZXMgdG8gc2V0LiBEZWZhdWx0IGlzIG5vbmUuXG4gICAqL1xuICByZWFkb25seSBjYWNoZUNvbnRyb2w/OiBDYWNoZUNvbnRyb2xbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBwcnVuZSBvYmplY3RzIHRoYXQgZXhpc3QgaW4gdGhlIGJ1Y2tldCBidXQgbm90IGluIHRoZSBhc3NldHMuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqL1xuICByZWFkb25seSBwcnVuZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIEV4dGVuZGVkQnVja2V0UHJvcHMgPSBCdWNrZXRQcm9wcztcblxuLyoqXG4gKiBFeHRlbnNpb24gb2YgQnVja2V0IHdpdGggcHJlc2V0IGRlZmF1bHRzIHRoYXQgaW5jbHVkZSwgZGlzYWxsb3dpbmcgcHVibGljIGFjY2VzcyxcbiAqIGVuZm9yY2luZyBidWNrZXQgb3duZXIgb2JqZWN0IG93bmVyc2hpcCwgUzMgbWFuYWdlZCBlbmNyeXB0aW9uLCBhbmQgYXV0byBkZWxldGlvblxuICogb2Ygb2JqZWN0cyB3aGVuIHJlbW92YWwgcG9saWN5IGlzIHNldCB0byBERVNUUk9ZLiBBbHNvIGluY2x1ZGVzIGNvbnZlbmllbmNlIG1ldGhvZHNcbiAqIGZvciB0aGluZ3MgbGlrZSBTMyBkZXBsb3ltZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4dGVuZGVkQnVja2V0IGV4dGVuZHMgQnVja2V0IHtcbiAgcHJvdGVjdGVkIGRlcGxveUNvdW50ID0gMDtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV4dGVuZGVkQnVja2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC8vIERvIG5vdCBhbGxvdyBwdWJsaWMgYWNjZXNzXG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgLy8gRGlzYWJsZXMgQUNMcyBvbiB0aGUgYnVja2V0IGFuZCB3ZSB1c2UgcG9saWNpZXMgdG8gZGVmaW5lIGFjY2Vzc1xuICAgICAgb2JqZWN0T3duZXJzaGlwOiBPYmplY3RPd25lcnNoaXAuQlVDS0VUX09XTkVSX0VORk9SQ0VELFxuICAgICAgLy8gQ2xvdWRGcm9udCBjYW5ub3QgdXNlIEtNUyB3aXRoIFMzXG4gICAgICBlbmNyeXB0aW9uOiBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICAvLyBBdXRvbWF0aWNhbGx5IGRlbGV0ZSBjb250ZW50cyBpZiByZW1vdmFsIHBvbGljeSBpcyBzZXQgdG8gREVTVFJPWVxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHByb3BzLnJlbW92YWxQb2xpY3kgPT09IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIC4uLnByb3BzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHREZXBsb3lDb3VudCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmRlcGxveUNvdW50Kys7XG4gICAgcmV0dXJuIGN1cnJlbnQgPT09IDAgPyAnJyA6IGAke2N1cnJlbnR9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXBsb3lzIGZpbGVzIHRvIHRoZSBidWNrZXQuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSBCdWNrZXREZXBsb3ltZW50IGluLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIHRoZSBkZXBsb3ltZW50IGNvbmZpZ3VyYXRpb25zXG4gICAqL1xuICBkZXBsb3koXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBjb25maWc6IEJ1Y2tldERlcGxveW1lbnRDb25maWcgfCBCdWNrZXREZXBsb3ltZW50Q29uZmlnW10sXG4gICkge1xuICAgIGNvbnN0IGNvbmZpZ3MgPSBBcnJheS5pc0FycmF5KGNvbmZpZykgPyBjb25maWcgOiBbY29uZmlnXTtcbiAgICBmb3IgKGNvbnN0IGMgb2YgY29uZmlncykge1xuICAgICAgY29uc3Qgc291cmNlcyA9IChBcnJheS5pc0FycmF5KGMuc291cmNlKSA/IGMuc291cmNlIDogW2Muc291cmNlXSkubWFwKFxuICAgICAgICAocykgPT4gKHR5cGVvZiBzID09PSAnc3RyaW5nJyA/IFNvdXJjZS5hc3NldChzKSA6IHMpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGV4Y2x1ZGUgPSBjLmV4Y2x1ZGVcbiAgICAgICAgPyBBcnJheS5pc0FycmF5KGMuZXhjbHVkZSlcbiAgICAgICAgICA/IGMuZXhjbHVkZVxuICAgICAgICAgIDogW2MuZXhjbHVkZV1cbiAgICAgICAgOiBbXTtcbiAgICAgIG5ldyBCdWNrZXREZXBsb3ltZW50KHNjb3BlLCBgRGVwbG95JHt0aGlzLm5leHREZXBsb3lDb3VudCgpfWAsIHtcbiAgICAgICAgc291cmNlcyxcbiAgICAgICAgZGVzdGluYXRpb25CdWNrZXQ6IHRoaXMsXG4gICAgICAgIGRlc3RpbmF0aW9uS2V5UHJlZml4OiBjLnByZWZpeCxcbiAgICAgICAgcHJ1bmU6IGMucHJ1bmUsXG4gICAgICAgIGNhY2hlQ29udHJvbDogYy5jYWNoZUNvbnRyb2wsXG4gICAgICAgIGV4Y2x1ZGUsXG4gICAgICAgIG1lbW9yeUxpbWl0OiBjLm1lbW9yeUxpbWl0ID8/IDUxMixcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kZWQtYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXh0ZW5kZWQtYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUEwQztBQUMxQywrQ0FNNEI7QUFFNUIscUVBS3VDO0FBQ3ZDLCtEQUtvQztBQTZDcEM7Ozs7O0dBS0c7QUFDSCxNQUFhLGNBQWUsU0FBUSxlQUFNO0lBS3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZiw2QkFBNkI7WUFDN0IsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztZQUM5QyxtRUFBbUU7WUFDbkUsZUFBZSxFQUFFLHdCQUFlLENBQUMscUJBQXFCO1lBQ3RELG9DQUFvQztZQUNwQyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtZQUN2QyxvRUFBb0U7WUFDcEUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGFBQWEsS0FBSywyQkFBYSxDQUFDLE9BQU87WUFDaEUsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO1FBZkssZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFDbkIsd0JBQW1CLEdBQXNDLFNBQVMsQ0FBQztRQUNuRSx5QkFBb0IsR0FBcUMsU0FBUyxDQUFDO1FBQ25FLFdBQU0sR0FBd0IsU0FBUyxDQUFDO0lBYS9DLENBQUM7SUFFUyxlQUFlO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxPQUFPLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUF5RDs7UUFDOUQsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFELEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ25FLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsMEJBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNyRCxDQUFDO1lBQ0YsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU87Z0JBQ3ZCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7b0JBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztvQkFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNmLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxJQUFJLG9DQUFnQixDQUFDLElBQUksRUFBRSxTQUFTLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFO2dCQUM1RCxPQUFPO2dCQUNQLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxNQUFNO2dCQUM5QixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ2QsWUFBWSxFQUFFLENBQUMsQ0FBQyxZQUFZO2dCQUM1QixPQUFPO2dCQUNQLFdBQVcsRUFBRSxNQUFBLENBQUMsQ0FBQyxXQUFXLG1DQUFJLEdBQUc7YUFDbEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsc0JBQXNCLENBQUMsT0FBaUI7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLHNDQUFxQixDQUNsRCxJQUFJLEVBQ0oscUJBQXFCLEVBQ3JCO2dCQUNFLE9BQU8sRUFBRSxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSx3QkFBTyxDQUFDLGlCQUFpQjthQUM5QyxDQUNGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsdUJBQXVCLENBQUMsT0FBZ0I7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLHFDQUFvQixDQUNsRCxJQUFJLEVBQ0osc0JBQXNCLEVBQ3RCO2dCQUNFLE9BQU87YUFDUixDQUNGLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztDQUNGO0FBM0ZELHdDQTJGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UmVtb3ZhbFBvbGljeX0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHtcbiAgQmxvY2tQdWJsaWNBY2Nlc3MsXG4gIEJ1Y2tldCxcbiAgQnVja2V0RW5jcnlwdGlvbixcbiAgQnVja2V0UHJvcHMsXG4gIE9iamVjdE93bmVyc2hpcCxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIEJ1Y2tldERlcGxveW1lbnQsXG4gIENhY2hlQ29udHJvbCxcbiAgSVNvdXJjZSxcbiAgU291cmNlLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtZGVwbG95bWVudCc7XG5pbXBvcnQge1xuICBJT3JpZ2luLFxuICBPcmlnaW5BY2Nlc3NJZGVudGl0eSxcbiAgUzNPcmlnaW5BY2Nlc3NDb250cm9sLFxuICBTaWduaW5nLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udCc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgY29udmVuaWVuY2UgZGVwbG95IG1ldGhvZCBpbiBFeHRlbmRlZEJ1Y2tldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWNrZXREZXBsb3ltZW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBhbW91bnQgb2YgbWVtb3J5IChpbiBNaUIpIHRvIGFsbG9jYXRlIHRvIHRoZSBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoXG4gICAqIHJlcGxpY2F0ZXMgdGhlIGZpbGVzIGZyb20gdGhlIENESyBidWNrZXQgdG8gdGhlIGRlc3RpbmF0aW9uIGJ1Y2tldC5cbiAgICpcbiAgICogSWYgeW91IGFyZSBkZXBsb3lpbmcgbGFyZ2UgZmlsZXMsIHlvdSB3aWxsIG5lZWQgdG8gaW5jcmVhc2UgdGhpcyBudW1iZXJcbiAgICogYWNjb3JkaW5nbHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IDUxMlxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRocyBvciBzb3VyY2VzIHRvIGRlcGxveS5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nIHwgc3RyaW5nW10gfCBJU291cmNlIHwgSVNvdXJjZVtdO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggdG8gYWRkIHRvIHRoZSBkZXBsb3ltZW50IHBhdGggaW4gdGhlIGJ1Y2tldC5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aHMgdG8gZXhjbHVkZSBmcm9tIHRoZSBkZXBsb3ltZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgZXhjbHVkZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIENhY2hlLUNvbnRyb2wgZGlyZWN0aXZlcyB0byBzZXQuIERlZmF1bHQgaXMgbm9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGNhY2hlQ29udHJvbD86IENhY2hlQ29udHJvbFtdO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBydW5lIG9iamVjdHMgdGhhdCBleGlzdCBpbiB0aGUgYnVja2V0IGJ1dCBub3QgaW4gdGhlIGFzc2V0cy4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICovXG4gIHJlYWRvbmx5IHBydW5lPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgRXh0ZW5kZWRCdWNrZXRQcm9wcyA9IEJ1Y2tldFByb3BzO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBvZiBCdWNrZXQgd2l0aCBwcmVzZXQgZGVmYXVsdHMgdGhhdCBpbmNsdWRlLCBkaXNhbGxvd2luZyBwdWJsaWMgYWNjZXNzLFxuICogZW5mb3JjaW5nIGJ1Y2tldCBvd25lciBvYmplY3Qgb3duZXJzaGlwLCBTMyBtYW5hZ2VkIGVuY3J5cHRpb24sIGFuZCBhdXRvIGRlbGV0aW9uXG4gKiBvZiBvYmplY3RzIHdoZW4gcmVtb3ZhbCBwb2xpY3kgaXMgc2V0IHRvIERFU1RST1kuIEFsc28gaW5jbHVkZXMgY29udmVuaWVuY2UgbWV0aG9kc1xuICogZm9yIHRoaW5ncyBsaWtlIFMzIGRlcGxveW1lbnRzLlxuICovXG5leHBvcnQgY2xhc3MgRXh0ZW5kZWRCdWNrZXQgZXh0ZW5kcyBCdWNrZXQge1xuICBwcm90ZWN0ZWQgZGVwbG95Q291bnQgPSAwO1xuICBwdWJsaWMgb3JpZ2luQWNjZXNzQ29udHJvbDogUzNPcmlnaW5BY2Nlc3NDb250cm9sIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgb3JpZ2luQWNjZXNzSWRlbnRpdHk6IE9yaWdpbkFjY2Vzc0lkZW50aXR5IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgb3JpZ2luOiBJT3JpZ2luIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRXh0ZW5kZWRCdWNrZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLy8gRG8gbm90IGFsbG93IHB1YmxpYyBhY2Nlc3NcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBCbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAvLyBEaXNhYmxlcyBBQ0xzIG9uIHRoZSBidWNrZXQgYW5kIHdlIHVzZSBwb2xpY2llcyB0byBkZWZpbmUgYWNjZXNzXG4gICAgICBvYmplY3RPd25lcnNoaXA6IE9iamVjdE93bmVyc2hpcC5CVUNLRVRfT1dORVJfRU5GT1JDRUQsXG4gICAgICAvLyBDbG91ZEZyb250IGNhbm5vdCB1c2UgS01TIHdpdGggUzNcbiAgICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICAgIC8vIEF1dG9tYXRpY2FsbHkgZGVsZXRlIGNvbnRlbnRzIGlmIHJlbW92YWwgcG9saWN5IGlzIHNldCB0byBERVNUUk9ZXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogcHJvcHMucmVtb3ZhbFBvbGljeSA9PT0gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dERlcGxveUNvdW50KCk6IHN0cmluZyB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZGVwbG95Q291bnQrKztcbiAgICByZXR1cm4gY3VycmVudCA9PT0gMCA/ICcnIDogYCR7Y3VycmVudH1gO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcGxveXMgZmlsZXMgdG8gdGhlIGJ1Y2tldC5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyB0aGUgZGVwbG95bWVudCBjb25maWd1cmF0aW9uc1xuICAgKi9cbiAgZGVwbG95KGNvbmZpZzogQnVja2V0RGVwbG95bWVudENvbmZpZyB8IEJ1Y2tldERlcGxveW1lbnRDb25maWdbXSkge1xuICAgIGNvbnN0IGNvbmZpZ3MgPSBBcnJheS5pc0FycmF5KGNvbmZpZykgPyBjb25maWcgOiBbY29uZmlnXTtcbiAgICBmb3IgKGNvbnN0IGMgb2YgY29uZmlncykge1xuICAgICAgY29uc3Qgc291cmNlcyA9IChBcnJheS5pc0FycmF5KGMuc291cmNlKSA/IGMuc291cmNlIDogW2Muc291cmNlXSkubWFwKFxuICAgICAgICAocykgPT4gKHR5cGVvZiBzID09PSAnc3RyaW5nJyA/IFNvdXJjZS5hc3NldChzKSA6IHMpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGV4Y2x1ZGUgPSBjLmV4Y2x1ZGVcbiAgICAgICAgPyBBcnJheS5pc0FycmF5KGMuZXhjbHVkZSlcbiAgICAgICAgICA/IGMuZXhjbHVkZVxuICAgICAgICAgIDogW2MuZXhjbHVkZV1cbiAgICAgICAgOiBbXTtcbiAgICAgIG5ldyBCdWNrZXREZXBsb3ltZW50KHRoaXMsIGBEZXBsb3kke3RoaXMubmV4dERlcGxveUNvdW50KCl9YCwge1xuICAgICAgICBzb3VyY2VzLFxuICAgICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcyxcbiAgICAgICAgZGVzdGluYXRpb25LZXlQcmVmaXg6IGMucHJlZml4LFxuICAgICAgICBwcnVuZTogYy5wcnVuZSxcbiAgICAgICAgY2FjaGVDb250cm9sOiBjLmNhY2hlQ29udHJvbCxcbiAgICAgICAgZXhjbHVkZSxcbiAgICAgICAgbWVtb3J5TGltaXQ6IGMubWVtb3J5TGltaXQgPz8gNTEyLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBtZXRob2QgdG8gcmV0dXJuIGEgQ2xvdWRGcm9udCBPcmlnaW4gQWNjZXNzIENvbnRyb2wgZm9yIHRoaXMgYnVja2V0LlxuICAgKiBPbiByZXBlYXRlZCBjYWxscyB0byB0aGlzIGZ1bmN0aW9uLCB0aGUgc2FtZSBvcmlnaW4gYWNjZXNzIGNvbnRyb2wgd2lsbCBiZSByZXR1cm5lZC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGFkZE9yaWdpbkFjY2Vzc0lkZW50aXR5IGluc3RlYWRcbiAgICpcbiAgICogQHBhcmFtIHNpZ25pbmcgU2V0IGhvdyBDbG91ZEZyb250IHNpZ25zIHJlcXVlc3RzLiBEZWZhdWx0IGlzIFNpZ25pbmcuU0lHVjRfTk9fT1ZFUlJJREUuXG4gICAqL1xuICBhZGRPcmlnaW5BY2Nlc3NDb250cm9sKHNpZ25pbmc/OiBTaWduaW5nKTogUzNPcmlnaW5BY2Nlc3NDb250cm9sIHtcbiAgICBpZiAoIXRoaXMub3JpZ2luQWNjZXNzQ29udHJvbCkge1xuICAgICAgdGhpcy5vcmlnaW5BY2Nlc3NDb250cm9sID0gbmV3IFMzT3JpZ2luQWNjZXNzQ29udHJvbChcbiAgICAgICAgdGhpcyxcbiAgICAgICAgJ09yaWdpbkFjY2Vzc0NvbnRyb2wnLFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmluZzogc2lnbmluZyA/PyBTaWduaW5nLlNJR1Y0X05PX09WRVJSSURFLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMub3JpZ2luQWNjZXNzQ29udHJvbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIHJldHVybiBhIENsb3VkRnJvbnQgT3JpZ2luIEFjY2VzcyBJZGVudGl0eSBmb3IgdGhpcyBidWNrZXQuXG4gICAqIE9uIHJlcGVhdGVkIGNhbGxzIHRvIHRoaXMgZnVuY3Rpb24sIHRoZSBzYW1lIG9yaWdpbiBhY2Nlc3MgaWRlbnRpdHkgd2lsbCBiZSByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIGNvbW1lbnQgT3B0aW9uYWwgY29tbWVudCB0byBhZGQgdG8gdGhlIE9BSS5cbiAgICovXG4gIGFkZE9yaWdpbkFjY2Vzc0lkZW50aXR5KGNvbW1lbnQ/OiBzdHJpbmcpOiBPcmlnaW5BY2Nlc3NJZGVudGl0eSB7XG4gICAgaWYgKCF0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5KSB7XG4gICAgICB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5ID0gbmV3IE9yaWdpbkFjY2Vzc0lkZW50aXR5KFxuICAgICAgICB0aGlzLFxuICAgICAgICAnT3JpZ2luQWNjZXNzSWRlbnRpdHknLFxuICAgICAgICB7XG4gICAgICAgICAgY29tbWVudCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm9yaWdpbkFjY2Vzc0lkZW50aXR5O1xuICB9XG59XG4iXX0=
@@ -61,7 +61,7 @@ class WebsiteBucket extends aws_cdk_1.ExtendedConstruct {
61
61
  var _a;
62
62
  const configs = Array.isArray(config) ? config : [config];
63
63
  for (const c of configs) {
64
- this.bucket.deploy(this, {
64
+ this.bucket.deploy({
65
65
  ...c,
66
66
  cacheControl: (_a = c.cacheControl) !== null && _a !== void 0 ? _a : [
67
67
  aws_s3_deployment_1.CacheControl.maxAge(aws_cdk_lib_1.Duration.minutes(15)),
@@ -190,4 +190,4 @@ class WebsiteBucket extends aws_cdk_1.ExtendedConstruct {
190
190
  }
191
191
  }
192
192
  exports.WebsiteBucket = WebsiteBucket;
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS1idWNrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3ZWJzaXRlLWJ1Y2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQ0FJNEI7QUFDNUIsbURBQThFO0FBQzlFLHlEQUEyRTtBQUMzRSx5RUFBb0U7QUFDcEUsNkNBQW9EO0FBQ3BELHFFQUEyRDtBQUczRCwyQ0FBZ0Q7QUFDaEQsdURBQXlFO0FBNER6RTs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLDJCQUFpQjtJQVFsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCOztRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sVUFBVSxHQUNkLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFVBQVUsTUFBSyxTQUFTO1lBQzdCLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLElBQUksd0JBQVUsQ0FBQztnQkFDYixNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNO2dCQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2FBQzVCLENBQUMsQ0FBQztRQUVULElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDaEQsVUFBVSxFQUFFLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxRQUFRLEVBQUU7WUFDbEMsaUJBQWlCLEVBQUUsSUFBSSwwQkFBaUIsQ0FBQztnQkFDdkMsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLHFCQUFxQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsb0JBQW9CLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsb0JBQW9C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LEVBQUUsaUJBQXVCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFdBQVcsQ0FBQyxRQUFvQixFQUFFLGlCQUEwQjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCwrREFBK0Q7SUFDL0QsV0FBVyxDQUFDLFFBQW9CLEVBQUUsaUJBQXVCO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNILCtEQUErRDtJQUMvRCxjQUFjLENBQUMsUUFBb0IsRUFBRSxpQkFBdUI7UUFDMUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSCxtQkFBbUIsQ0FDakIsVUFBK0I7UUFFL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRjtBQTNNRCxzQ0EyTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBCbG9ja1B1YmxpY0FjY2VzcyxcbiAgUmVkaXJlY3RUYXJnZXQsXG4gIFJvdXRpbmdSdWxlLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHtEb21haW5OYW1lLCBMYXRlbmN5QVJlY29yZCwgV2VpZ2h0ZWRBUmVjb3JkfSBmcm9tICcuLi8uLi9hd3Mtcm91dGU1Myc7XG5pbXBvcnQge0FSZWNvcmQsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXR9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1yb3V0ZTUzJztcbmltcG9ydCB7QnVja2V0V2Vic2l0ZVRhcmdldH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0cyc7XG5pbXBvcnQge1JlbW92YWxQb2xpY3ksIER1cmF0aW9ufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge0NhY2hlQ29udHJvbH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWRlcGxveW1lbnQnO1xuaW1wb3J0IHtHcmFudCwgSUdyYW50YWJsZX0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge0V4dGVuZGVkQ29uc3RydWN0fSBmcm9tICcuLi8uLi9hd3MtY2RrJztcbmltcG9ydCB7QnVja2V0RGVwbG95bWVudENvbmZpZywgRXh0ZW5kZWRCdWNrZXR9IGZyb20gJy4vZXh0ZW5kZWQtYnVja2V0JztcblxuLyoqXG4gKiBEb21haW4gbmFtZSBwcm9wZXJ0aWVzIGZvciBhIGJ1Y2tldCBiYXNlZCB3ZWJzaXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNpdGVEb21haW5OYW1lUHJvcHMge1xuICAvKipcbiAgICogRG9tYWluIG5hbWUgcHJlZml4IGZvciB0aGUgc2l0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogQmFzZSBkb21haW4gbmFtZSBvZiB0aGUgc2l0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHpvbmU6IHN0cmluZyB8IElIb3N0ZWRab25lO1xuXG4gIC8qKlxuICAgKiBXZWF0aGVyIHRvIGNyZWF0ZSBsYXRlbmN5IGJhc2VkIHJvdXRpbmcgcmVjb3JkLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqL1xuICByZWFkb25seSBsYXRlbmN5PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBXZWJzaXRlQnVja2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdlYnNpdGVCdWNrZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBQb2xpY3kgdG8gYXBwbHkgd2hlbiB0aGUgYnVja2V0IGlzIHJlbW92ZWQgZnJvbSB0aGlzIHN0YWNrLlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZIHdpbGwgYWxzbyBhdXRvIGRlbGV0ZSBvYmplY3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRvbWFpbiBuYW1lIHByb3BlcnRpZXMgZm9yIHRoZSBidWNrZXQgYmFzZWQgd2Vic2l0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU/OiBXZWJzaXRlRG9tYWluTmFtZVByb3BzO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5kZXggZG9jdW1lbnQgZm9yIHRoZSBzaXRlLiBEZWZhdWx0IGlzICdpbmRleC5odG1sJy5cbiAgICovXG4gIHJlYWRvbmx5IHdlYnNpdGVJbmRleERvY3VtZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZXJyb3IgZG9jdW1lbnQgZm9yIHRoZSBzaXRlLiBEZWZhdWx0IGlzICdlcnJvci5odG1sJy5cbiAgICovXG4gIHJlYWRvbmx5IHdlYnNpdGVFcnJvckRvY3VtZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZWRpcmVjdCBhbGwgcmVxdWVzdHMgdG8gYW5vdGhlciBob3N0LiBUaGlzIGNvdWxkIGJlIGFub3RoZXIgZG9tYWluIG9yIGEgc3BlY2lmaWMgVVJMLlxuICAgKi9cbiAgcmVhZG9ubHkgd2Vic2l0ZVJlZGlyZWN0PzogUmVkaXJlY3RUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIFJvdXRpbmcgcnVsZXMgZm9yIHRoZSB3ZWJzaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgd2Vic2l0ZVJvdXRpbmdSdWxlcz86IFJvdXRpbmdSdWxlW107XG59XG5cbi8qKlxuICogU2ltcGxlIENvbnN0cnVjdCBmb3IgY3JlYXRpbmcgYnVja2V0cyB0aGF0IHdpbGwgYmUgYWNjZXNzZWQgZGlyZWN0bHkgYXMgYSB3ZWJzaXRlLlxuICovXG5leHBvcnQgY2xhc3MgV2Vic2l0ZUJ1Y2tldCBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgYnVja2V0OiBFeHRlbmRlZEJ1Y2tldDtcbiAgcmVhZG9ubHkgYnVja2V0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBidWNrZXRBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgYnVja2V0V2Vic2l0ZVVybDogc3RyaW5nO1xuICByZWFkb25seSBidWNrZXRXZWJzaXRlRG9tYWluTmFtZTogc3RyaW5nO1xuICByZWFkb25seSByZWNvcmQ/OiBBUmVjb3JkIHwgV2VpZ2h0ZWRBUmVjb3JkIHwgTGF0ZW5jeUFSZWNvcmQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBXZWJzaXRlQnVja2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZG9tYWluTmFtZSA9XG4gICAgICBwcm9wcz8uZG9tYWluTmFtZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgIDogbmV3IERvbWFpbk5hbWUoe1xuICAgICAgICAgICAgcHJlZml4OiBwcm9wcy5kb21haW5OYW1lLnByZWZpeCxcbiAgICAgICAgICAgIHpvbmU6IHByb3BzLmRvbWFpbk5hbWUuem9uZSxcbiAgICAgICAgICB9KTtcblxuICAgIHRoaXMuYnVja2V0ID0gbmV3IEV4dGVuZGVkQnVja2V0KHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgYnVja2V0TmFtZTogZG9tYWluTmFtZT8udG9TdHJpbmcoKSxcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBuZXcgQmxvY2tQdWJsaWNBY2Nlc3Moe1xuICAgICAgICBibG9ja1B1YmxpY0FjbHM6IHRydWUsXG4gICAgICAgIGJsb2NrUHVibGljUG9saWN5OiBmYWxzZSxcbiAgICAgICAgaWdub3JlUHVibGljQWNsczogdHJ1ZSxcbiAgICAgICAgcmVzdHJpY3RQdWJsaWNCdWNrZXRzOiBmYWxzZSxcbiAgICAgIH0pLFxuICAgICAgcHVibGljUmVhZEFjY2VzczogdHJ1ZSxcbiAgICAgIHdlYnNpdGVJbmRleERvY3VtZW50OiBwcm9wcz8ud2Vic2l0ZUluZGV4RG9jdW1lbnQgPz8gJ2luZGV4Lmh0bWwnLFxuICAgICAgd2Vic2l0ZUVycm9yRG9jdW1lbnQ6IHByb3BzPy53ZWJzaXRlRXJyb3JEb2N1bWVudCA/PyAnZXJyb3IuaHRtbCcsXG4gICAgICB3ZWJzaXRlUmVkaXJlY3Q6IHByb3BzPy53ZWJzaXRlUmVkaXJlY3QsXG4gICAgICB3ZWJzaXRlUm91dGluZ1J1bGVzOiBwcm9wcz8ud2Vic2l0ZVJvdXRpbmdSdWxlcyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzPy5yZW1vdmFsUG9saWN5ID8/IFJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHByb3BzPy5yZW1vdmFsUG9saWN5ID09PSBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgfSk7XG4gICAgdGhpcy5idWNrZXROYW1lID0gdGhpcy5idWNrZXQuYnVja2V0TmFtZTtcbiAgICB0aGlzLmJ1Y2tldEFybiA9IHRoaXMuYnVja2V0LmJ1Y2tldEFybjtcbiAgICB0aGlzLmJ1Y2tldFdlYnNpdGVVcmwgPSB0aGlzLmJ1Y2tldC5idWNrZXRXZWJzaXRlVXJsO1xuICAgIHRoaXMuYnVja2V0V2Vic2l0ZURvbWFpbk5hbWUgPSB0aGlzLmJ1Y2tldC5idWNrZXRXZWJzaXRlRG9tYWluTmFtZTtcblxuICAgIGlmIChkb21haW5OYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHJlY29yZFRhcmdldCA9IFJlY29yZFRhcmdldC5mcm9tQWxpYXMoXG4gICAgICAgIG5ldyBCdWNrZXRXZWJzaXRlVGFyZ2V0KHRoaXMuYnVja2V0KSxcbiAgICAgICk7XG4gICAgICBpZiAocHJvcHM/LmRvbWFpbk5hbWU/LmxhdGVuY3kgPz8gdHJ1ZSkge1xuICAgICAgICBkb21haW5OYW1lLmNyZWF0ZUxhdGVuY3lBUmVjb3JkKHRoaXMsIHJlY29yZFRhcmdldCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb21haW5OYW1lLmNyZWF0ZUFSZWNvcmQodGhpcywgcmVjb3JkVGFyZ2V0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2VlIGBFeHRlbmRlZEJ1Y2tldC5kZXBsb3kuIFRoaXMgbWV0aG9kIGFkZHMgYSBkZWZhdWx0IG1heC1hZ2Ugb2YgMTUgZGF5cyBhbmQgcy1tYXhhZ2Ugb2YgNyBkYXlzLlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIHRoZSBkZXBsb3ltZW50IGNvbmZpZ3VyYXRpb25zXG4gICAqL1xuICBkZXBsb3koY29uZmlnOiBCdWNrZXREZXBsb3ltZW50Q29uZmlnIHwgQnVja2V0RGVwbG95bWVudENvbmZpZ1tdKSB7XG4gICAgY29uc3QgY29uZmlncyA9IEFycmF5LmlzQXJyYXkoY29uZmlnKSA/IGNvbmZpZyA6IFtjb25maWddO1xuICAgIGZvciAoY29uc3QgYyBvZiBjb25maWdzKSB7XG4gICAgICB0aGlzLmJ1Y2tldC5kZXBsb3kodGhpcywge1xuICAgICAgICAuLi5jLFxuICAgICAgICBjYWNoZUNvbnRyb2w6IGMuY2FjaGVDb250cm9sID8/IFtcbiAgICAgICAgICBDYWNoZUNvbnRyb2wubWF4QWdlKER1cmF0aW9uLm1pbnV0ZXMoMTUpKSxcbiAgICAgICAgICBDYWNoZUNvbnRyb2wuc01heEFnZShEdXJhdGlvbi5kYXlzKDcpKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCByZWFkIHBlcm1pc3Npb25zIGZvciB0aGlzIGJ1Y2tldCBhbmQgaXQncyBjb250ZW50cyB0byBhbiBJQU1cbiAgICogcHJpbmNpcGFsIChSb2xlL0dyb3VwL1VzZXIpLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZGVjcnlwdCB0aGUgY29udGVudHNcbiAgICogb2YgdGhlIGJ1Y2tldCB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGdyYW50UmVhZChpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiBhbnkpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50UmVhZChpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHdyaXRlIHBlcm1pc3Npb25zIHRvIHRoaXMgYnVja2V0IHRvIGFuIElBTSBwcmluY2lwYWwuXG4gICAqXG4gICAqIElmIGVuY3J5cHRpb24gaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSB0byBlbmNyeXB0IHRoZSBjb250ZW50c1xuICAgKiBvZiB3cml0dGVuIGZpbGVzIHdpbGwgYWxzbyBiZSBncmFudGVkIHRvIHRoZSBzYW1lIHByaW5jaXBhbC5cbiAgICpcbiAgICogQmVmb3JlIENESyB2ZXJzaW9uIDEuODUuMCwgdGhpcyBtZXRob2QgZ3JhbnRlZCB0aGUgYHMzOlB1dE9iamVjdCpgIHBlcm1pc3Npb24gdGhhdCBpbmNsdWRlZCBgczM6UHV0T2JqZWN0QWNsYCxcbiAgICogd2hpY2ggY291bGQgYmUgdXNlZCB0byBncmFudCByZWFkL3dyaXRlIG9iamVjdCBhY2Nlc3MgdG8gSUFNIHByaW5jaXBhbHMgaW4gb3RoZXIgYWNjb3VudHMuXG4gICAqIElmIHlvdSB3YW50IHRvIGdldCByaWQgb2YgdGhhdCBiZWhhdmlvciwgdXBkYXRlIHlvdXIgQ0RLIHZlcnNpb24gdG8gMS44NS4wIG9yIGxhdGVyLFxuICAgKiBhbmQgbWFrZSBzdXJlIHRoZSBgQGF3cy1jZGsvYXdzLXMzOmdyYW50V3JpdGVXaXRob3V0QWNsYCBmZWF0dXJlIGZsYWcgaXMgc2V0IHRvIGB0cnVlYFxuICAgKiBpbiB0aGUgYGNvbnRleHRgIGtleSBvZiB5b3VyIGNkay5qc29uIGZpbGUuXG4gICAqIElmIHlvdSd2ZSBhbHJlYWR5IHVwZGF0ZWQsIGJ1dCBzdGlsbCBuZWVkIHRoZSBwcmluY2lwYWwgdG8gaGF2ZSBwZXJtaXNzaW9ucyB0byBtb2RpZnkgdGhlIEFDTHMsXG4gICAqIHVzZSB0aGUgYGdyYW50UHV0QWNsYCBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKiBAcGFyYW0gYWxsb3dlZEFjdGlvblBhdHRlcm5zIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9ucyB0byBjZXJ0YWluIGxpc3Qgb2YgYWN0aW9uIHBhdHRlcm5zXG4gICAqL1xuICBncmFudFdyaXRlKFxuICAgIGlkZW50aXR5OiBJR3JhbnRhYmxlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIG9iamVjdHNLZXlQYXR0ZXJuPzogYW55LFxuICAgIGFsbG93ZWRBY3Rpb25QYXR0ZXJucz86IHN0cmluZ1tdLFxuICApOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50V3JpdGUoXG4gICAgICBpZGVudGl0eSxcbiAgICAgIG9iamVjdHNLZXlQYXR0ZXJuLFxuICAgICAgYWxsb3dlZEFjdGlvblBhdHRlcm5zLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHMzOlB1dE9iamVjdCogYW5kIHMzOkFib3J0KiBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGVuY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHdyaXR0ZW4gZmlsZXMgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBncmFudFB1dChpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiBhbnkpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50UHV0KGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIGdpdmVuIElBTSBpZGVudGl0eSBwZXJtaXNzaW9ucyB0byBtb2RpZnkgdGhlIEFDTHMgb2Ygb2JqZWN0cyBpbiB0aGUgZ2l2ZW4gQnVja2V0LlxuICAgKlxuICAgKiBJZiB5b3VyIGFwcGxpY2F0aW9uIGhhcyB0aGUgJ0Bhd3MtY2RrL2F3cy1zMzpncmFudFdyaXRlV2l0aG91dEFjbCcgZmVhdHVyZSBmbGFnIHNldCxcbiAgICogY2FsbGluZyBgZ3JhbnRXcml0ZWAgb3IgYGdyYW50UmVhZFdyaXRlYCBubyBsb25nZXIgZ3JhbnRzIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyBvZiB0aGUgb2JqZWN0cztcbiAgICogaW4gdGhpcyBjYXNlLCBpZiB5b3UgbmVlZCB0byBtb2RpZnkgb2JqZWN0IEFDTHMsIGNhbGwgdGhpcyBtZXRob2QgZXhwbGljaXRseS5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICBncmFudFB1dEFjbChpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiBzdHJpbmcpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50UHV0QWNsKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHMzOkRlbGV0ZU9iamVjdCogcGVybWlzc2lvbiB0byBhbiBJQU0gcHJpbmNpcGFsIGZvciBvYmplY3RzXG4gICAqIGluIHRoaXMgYnVja2V0LlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBncmFudERlbGV0ZShpZGVudGl0eTogSUdyYW50YWJsZSwgb2JqZWN0c0tleVBhdHRlcm4/OiBhbnkpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0LmdyYW50RGVsZXRlKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQvd3JpdGUgcGVybWlzc2lvbnMgZm9yIHRoaXMgYnVja2V0IGFuZCBpdCdzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGFuIGVuY3J5cHRpb24ga2V5IGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgZm9yXG4gICAqIGVuY3J5cHQvZGVjcnlwdCB3aWxsIGFsc28gYmUgZ3JhbnRlZC5cbiAgICpcbiAgICogQmVmb3JlIENESyB2ZXJzaW9uIDEuODUuMCwgdGhpcyBtZXRob2QgZ3JhbnRlZCB0aGUgYHMzOlB1dE9iamVjdCpgIHBlcm1pc3Npb24gdGhhdCBpbmNsdWRlZCBgczM6UHV0T2JqZWN0QWNsYCxcbiAgICogd2hpY2ggY291bGQgYmUgdXNlZCB0byBncmFudCByZWFkL3dyaXRlIG9iamVjdCBhY2Nlc3MgdG8gSUFNIHByaW5jaXBhbHMgaW4gb3RoZXIgYWNjb3VudHMuXG4gICAqIElmIHlvdSB3YW50IHRvIGdldCByaWQgb2YgdGhhdCBiZWhhdmlvciwgdXBkYXRlIHlvdXIgQ0RLIHZlcnNpb24gdG8gMS44NS4wIG9yIGxhdGVyLFxuICAgKiBhbmQgbWFrZSBzdXJlIHRoZSBgQGF3cy1jZGsvYXdzLXMzOmdyYW50V3JpdGVXaXRob3V0QWNsYCBmZWF0dXJlIGZsYWcgaXMgc2V0IHRvIGB0cnVlYFxuICAgKiBpbiB0aGUgYGNvbnRleHRgIGtleSBvZiB5b3VyIGNkay5qc29uIGZpbGUuXG4gICAqIElmIHlvdSd2ZSBhbHJlYWR5IHVwZGF0ZWQsIGJ1dCBzdGlsbCBuZWVkIHRoZSBwcmluY2lwYWwgdG8gaGF2ZSBwZXJtaXNzaW9ucyB0byBtb2RpZnkgdGhlIEFDTHMsXG4gICAqIHVzZSB0aGUgYGdyYW50UHV0QWNsYCBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGdyYW50UmVhZFdyaXRlKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IGFueSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIHRoZSByZXNvdXJjZSBwb2xpY3kgZm9yIGEgcHJpbmNpcGFsIChpLmUuXG4gICAqIGFjY291bnQvcm9sZS9zZXJ2aWNlKSB0byBwZXJmb3JtIGFjdGlvbnMgb24gdGhpcyBidWNrZXQgYW5kL29yIGl0c1xuICAgKiBjb250ZW50cy4gVXNlIGBidWNrZXRBcm5gIGFuZCBgYXJuRm9yT2JqZWN0cyhrZXlzKWAgdG8gb2J0YWluIEFSTnMgZm9yXG4gICAqIHRoaXMgYnVja2V0IG9yIG9iamVjdHMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgcG9saWN5IHN0YXRlbWVudCBtYXkgb3IgbWF5IG5vdCBiZSBhZGRlZCB0byB0aGUgcG9saWN5LlxuICAgKiBGb3IgZXhhbXBsZSwgd2hlbiBhbiBgSUJ1Y2tldGAgaXMgY3JlYXRlZCBmcm9tIGFuIGV4aXN0aW5nIGJ1Y2tldCxcbiAgICogaXQncyBub3QgcG9zc2libGUgdG8gdGVsbCB3aGV0aGVyIHRoZSBidWNrZXQgYWxyZWFkeSBoYXMgYSBwb2xpY3lcbiAgICogYXR0YWNoZWQsIGxldCBhbG9uZSB0byByZS11c2UgdGhhdCBwb2xpY3kgdG8gYWRkIG1vcmUgc3RhdGVtZW50cyB0byBpdC5cbiAgICogU28gaXQncyBzYWZlc3QgdG8gZG8gbm90aGluZyBpbiB0aGVzZSBjYXNlcy5cbiAgICpcbiAgICogQHBhcmFtIHBlcm1pc3Npb24gdGhlIHBvbGljeSBzdGF0ZW1lbnQgdG8gYmUgYWRkZWQgdG8gdGhlIGJ1Y2tldCdzXG4gICAqIHBvbGljeS5cbiAgICogQHJldHVybnMgbWV0YWRhdGEgYWJvdXQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIG1ldGhvZC4gSWYgdGhlIHBvbGljeVxuICAgKiB3YXMgbm90IGFkZGVkLCB0aGUgdmFsdWUgb2YgYHN0YXRlbWVudEFkZGVkYCB3aWxsIGJlIGBmYWxzZWAuIFlvdVxuICAgKiBzaG91bGQgYWx3YXlzIGNoZWNrIHRoaXMgdmFsdWUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG9wZXJhdGlvbiB3YXNcbiAgICogYWN0dWFsbHkgY2FycmllZCBvdXQuIE90aGVyd2lzZSwgc3ludGhlc2lzIGFuZCBkZXBsb3kgd2lsbCB0ZXJtaW5hdGVcbiAgICogc2lsZW50bHksIHdoaWNoIG1heSBiZSBjb25mdXNpbmcuXG4gICAqL1xuICBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHBlcm1pc3Npb246IGlhbS5Qb2xpY3lTdGF0ZW1lbnQsXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuYWRkVG9SZXNvdXJjZVBvbGljeShwZXJtaXNzaW9uKTtcbiAgfVxufVxuIl19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic2l0ZS1idWNrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3ZWJzaXRlLWJ1Y2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQ0FJNEI7QUFDNUIsbURBQThFO0FBQzlFLHlEQUEyRTtBQUMzRSx5RUFBb0U7QUFDcEUsNkNBQW9EO0FBQ3BELHFFQUEyRDtBQUczRCwyQ0FBZ0Q7QUFDaEQsdURBQXlFO0FBNER6RTs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLDJCQUFpQjtJQVFsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCOztRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sVUFBVSxHQUNkLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFVBQVUsTUFBSyxTQUFTO1lBQzdCLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLElBQUksd0JBQVUsQ0FBQztnQkFDYixNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNO2dCQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJO2FBQzVCLENBQUMsQ0FBQztRQUVULElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDaEQsVUFBVSxFQUFFLFVBQVUsYUFBVixVQUFVLHVCQUFWLFVBQVUsQ0FBRSxRQUFRLEVBQUU7WUFDbEMsaUJBQWlCLEVBQUUsSUFBSSwwQkFBaUIsQ0FBQztnQkFDdkMsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLHFCQUFxQixFQUFFLEtBQUs7YUFDN0IsQ0FBQztZQUNGLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsb0JBQW9CLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsb0JBQW9CLG1DQUFJLFlBQVk7WUFDakUsb0JBQW9CLEVBQUUsTUFBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsb0JBQW9CLG1DQUFJLFlBQVk7WUFDakUsZUFBZSxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlO1lBQ3ZDLG1CQUFtQixFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUI7WUFDL0MsYUFBYSxFQUFFLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGFBQWEsbUNBQUksMkJBQWEsQ0FBQyxNQUFNO1lBQzNELGlCQUFpQixFQUFFLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGFBQWEsTUFBSywyQkFBYSxDQUFDLE9BQU87U0FDbEUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ3JELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO1FBRW5FLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE1BQU0sWUFBWSxHQUFHLDBCQUFZLENBQUMsU0FBUyxDQUN6QyxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FDckMsQ0FBQztZQUNGLElBQUksTUFBQSxNQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxVQUFVLDBDQUFFLE9BQU8sbUNBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDdEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsTUFBeUQ7O1FBQzlELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUNqQixHQUFHLENBQUM7Z0JBQ0osWUFBWSxFQUFFLE1BQUEsQ0FBQyxDQUFDLFlBQVksbUNBQUk7b0JBQzlCLGdDQUFZLENBQUMsTUFBTSxDQUFDLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN6QyxnQ0FBWSxDQUFDLE9BQU8sQ0FBQyxzQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdkM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILCtEQUErRDtJQUMvRCxTQUFTLENBQUMsUUFBb0IsRUFBRSxpQkFBdUI7UUFDckQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsVUFBVSxDQUNSLFFBQW9CO0lBQ3BCLCtEQUErRDtJQUMvRCxpQkFBdUIsRUFDdkIscUJBQWdDO1FBRWhDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQzNCLFFBQVEsRUFDUixpQkFBaUIsRUFDakIscUJBQXFCLENBQ3RCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILCtEQUErRDtJQUMvRCxRQUFRLENBQUMsUUFBb0IsRUFBRSxpQkFBdUI7UUFDcEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsV0FBVyxDQUFDLFFBQW9CLEVBQUUsaUJBQTBCO1FBQzFELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILCtEQUErRDtJQUMvRCxXQUFXLENBQUMsUUFBb0IsRUFBRSxpQkFBdUI7UUFDdkQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O09BaUJHO0lBQ0gsK0RBQStEO0lBQy9ELGNBQWMsQ0FBQyxRQUFvQixFQUFFLGlCQUF1QjtRQUMxRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1CRztJQUNILG1CQUFtQixDQUNqQixVQUErQjtRQUUvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNGO0FBM01ELHNDQTJNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7XG4gIEJsb2NrUHVibGljQWNjZXNzLFxuICBSZWRpcmVjdFRhcmdldCxcbiAgUm91dGluZ1J1bGUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQge0RvbWFpbk5hbWUsIExhdGVuY3lBUmVjb3JkLCBXZWlnaHRlZEFSZWNvcmR9IGZyb20gJy4uLy4uL2F3cy1yb3V0ZTUzJztcbmltcG9ydCB7QVJlY29yZCwgSUhvc3RlZFpvbmUsIFJlY29yZFRhcmdldH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXJvdXRlNTMnO1xuaW1wb3J0IHtCdWNrZXRXZWJzaXRlVGFyZ2V0fSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtcm91dGU1My10YXJnZXRzJztcbmltcG9ydCB7UmVtb3ZhbFBvbGljeSwgRHVyYXRpb259IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7Q2FjaGVDb250cm9sfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMtZGVwbG95bWVudCc7XG5pbXBvcnQge0dyYW50LCBJR3JhbnRhYmxlfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7RXh0ZW5kZWRDb25zdHJ1Y3R9IGZyb20gJy4uLy4uL2F3cy1jZGsnO1xuaW1wb3J0IHtCdWNrZXREZXBsb3ltZW50Q29uZmlnLCBFeHRlbmRlZEJ1Y2tldH0gZnJvbSAnLi9leHRlbmRlZC1idWNrZXQnO1xuXG4vKipcbiAqIERvbWFpbiBuYW1lIHByb3BlcnRpZXMgZm9yIGEgYnVja2V0IGJhc2VkIHdlYnNpdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2Vic2l0ZURvbWFpbk5hbWVQcm9wcyB7XG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBwcmVmaXggZm9yIHRoZSBzaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCYXNlIGRvbWFpbiBuYW1lIG9mIHRoZSBzaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgem9uZTogc3RyaW5nIHwgSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAqIFdlYXRoZXIgdG8gY3JlYXRlIGxhdGVuY3kgYmFzZWQgcm91dGluZyByZWNvcmQuIERlZmF1bHQgaXMgdHJ1ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxhdGVuY3k/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFdlYnNpdGVCdWNrZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2Vic2l0ZUJ1Y2tldFByb3BzIHtcbiAgLyoqXG4gICAqIFBvbGljeSB0byBhcHBseSB3aGVuIHRoZSBidWNrZXQgaXMgcmVtb3ZlZCBmcm9tIHRoaXMgc3RhY2suXG4gICAqIFNldHRpbmcgdGhpcyB0byBSZW1vdmFsUG9saWN5LkRFU1RST1kgd2lsbCBhbHNvIGF1dG8gZGVsZXRlIG9iamVjdHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuUkVUQUlOXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgZG9tYWluIG5hbWUgcHJvcGVydGllcyBmb3IgdGhlIGJ1Y2tldCBiYXNlZCB3ZWJzaXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IFdlYnNpdGVEb21haW5OYW1lUHJvcHM7XG5cbiAgLyoqXG4gICAqIFRoZSBpbmRleCBkb2N1bWVudCBmb3IgdGhlIHNpdGUuIERlZmF1bHQgaXMgJ2luZGV4Lmh0bWwnLlxuICAgKi9cbiAgcmVhZG9ubHkgd2Vic2l0ZUluZGV4RG9jdW1lbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlcnJvciBkb2N1bWVudCBmb3IgdGhlIHNpdGUuIERlZmF1bHQgaXMgJ2Vycm9yLmh0bWwnLlxuICAgKi9cbiAgcmVhZG9ubHkgd2Vic2l0ZUVycm9yRG9jdW1lbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZGlyZWN0IGFsbCByZXF1ZXN0cyB0byBhbm90aGVyIGhvc3QuIFRoaXMgY291bGQgYmUgYW5vdGhlciBkb21haW4gb3IgYSBzcGVjaWZpYyBVUkwuXG4gICAqL1xuICByZWFkb25seSB3ZWJzaXRlUmVkaXJlY3Q/OiBSZWRpcmVjdFRhcmdldDtcblxuICAvKipcbiAgICogUm91dGluZyBydWxlcyBmb3IgdGhlIHdlYnNpdGUuXG4gICAqL1xuICByZWFkb25seSB3ZWJzaXRlUm91dGluZ1J1bGVzPzogUm91dGluZ1J1bGVbXTtcbn1cblxuLyoqXG4gKiBTaW1wbGUgQ29uc3RydWN0IGZvciBjcmVhdGluZyBidWNrZXRzIHRoYXQgd2lsbCBiZSBhY2Nlc3NlZCBkaXJlY3RseSBhcyBhIHdlYnNpdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBXZWJzaXRlQnVja2V0IGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3Qge1xuICByZWFkb25seSBidWNrZXQ6IEV4dGVuZGVkQnVja2V0O1xuICByZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1Y2tldEFybjogc3RyaW5nO1xuICByZWFkb25seSBidWNrZXRXZWJzaXRlVXJsOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1Y2tldFdlYnNpdGVEb21haW5OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlY29yZD86IEFSZWNvcmQgfCBXZWlnaHRlZEFSZWNvcmQgfCBMYXRlbmN5QVJlY29yZDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFdlYnNpdGVCdWNrZXRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBkb21haW5OYW1lID1cbiAgICAgIHByb3BzPy5kb21haW5OYW1lID09PSB1bmRlZmluZWRcbiAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgOiBuZXcgRG9tYWluTmFtZSh7XG4gICAgICAgICAgICBwcmVmaXg6IHByb3BzLmRvbWFpbk5hbWUucHJlZml4LFxuICAgICAgICAgICAgem9uZTogcHJvcHMuZG9tYWluTmFtZS56b25lLFxuICAgICAgICAgIH0pO1xuXG4gICAgdGhpcy5idWNrZXQgPSBuZXcgRXh0ZW5kZWRCdWNrZXQodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICBidWNrZXROYW1lOiBkb21haW5OYW1lPy50b1N0cmluZygpLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IG5ldyBCbG9ja1B1YmxpY0FjY2Vzcyh7XG4gICAgICAgIGJsb2NrUHVibGljQWNsczogdHJ1ZSxcbiAgICAgICAgYmxvY2tQdWJsaWNQb2xpY3k6IGZhbHNlLFxuICAgICAgICBpZ25vcmVQdWJsaWNBY2xzOiB0cnVlLFxuICAgICAgICByZXN0cmljdFB1YmxpY0J1Y2tldHM6IGZhbHNlLFxuICAgICAgfSksXG4gICAgICBwdWJsaWNSZWFkQWNjZXNzOiB0cnVlLFxuICAgICAgd2Vic2l0ZUluZGV4RG9jdW1lbnQ6IHByb3BzPy53ZWJzaXRlSW5kZXhEb2N1bWVudCA/PyAnaW5kZXguaHRtbCcsXG4gICAgICB3ZWJzaXRlRXJyb3JEb2N1bWVudDogcHJvcHM/LndlYnNpdGVFcnJvckRvY3VtZW50ID8/ICdlcnJvci5odG1sJyxcbiAgICAgIHdlYnNpdGVSZWRpcmVjdDogcHJvcHM/LndlYnNpdGVSZWRpcmVjdCxcbiAgICAgIHdlYnNpdGVSb3V0aW5nUnVsZXM6IHByb3BzPy53ZWJzaXRlUm91dGluZ1J1bGVzLFxuICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHM/LnJlbW92YWxQb2xpY3kgPz8gUmVtb3ZhbFBvbGljeS5SRVRBSU4sXG4gICAgICBhdXRvRGVsZXRlT2JqZWN0czogcHJvcHM/LnJlbW92YWxQb2xpY3kgPT09IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICB9KTtcbiAgICB0aGlzLmJ1Y2tldE5hbWUgPSB0aGlzLmJ1Y2tldC5idWNrZXROYW1lO1xuICAgIHRoaXMuYnVja2V0QXJuID0gdGhpcy5idWNrZXQuYnVja2V0QXJuO1xuICAgIHRoaXMuYnVja2V0V2Vic2l0ZVVybCA9IHRoaXMuYnVja2V0LmJ1Y2tldFdlYnNpdGVVcmw7XG4gICAgdGhpcy5idWNrZXRXZWJzaXRlRG9tYWluTmFtZSA9IHRoaXMuYnVja2V0LmJ1Y2tldFdlYnNpdGVEb21haW5OYW1lO1xuXG4gICAgaWYgKGRvbWFpbk5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgcmVjb3JkVGFyZ2V0ID0gUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhcbiAgICAgICAgbmV3IEJ1Y2tldFdlYnNpdGVUYXJnZXQodGhpcy5idWNrZXQpLFxuICAgICAgKTtcbiAgICAgIGlmIChwcm9wcz8uZG9tYWluTmFtZT8ubGF0ZW5jeSA/PyB0cnVlKSB7XG4gICAgICAgIGRvbWFpbk5hbWUuY3JlYXRlTGF0ZW5jeUFSZWNvcmQodGhpcywgcmVjb3JkVGFyZ2V0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRvbWFpbk5hbWUuY3JlYXRlQVJlY29yZCh0aGlzLCByZWNvcmRUYXJnZXQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZWUgYEV4dGVuZGVkQnVja2V0LmRlcGxveS4gVGhpcyBtZXRob2QgYWRkcyBhIGRlZmF1bHQgbWF4LWFnZSBvZiAxNSBkYXlzIGFuZCBzLW1heGFnZSBvZiA3IGRheXMuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgdGhlIGRlcGxveW1lbnQgY29uZmlndXJhdGlvbnNcbiAgICovXG4gIGRlcGxveShjb25maWc6IEJ1Y2tldERlcGxveW1lbnRDb25maWcgfCBCdWNrZXREZXBsb3ltZW50Q29uZmlnW10pIHtcbiAgICBjb25zdCBjb25maWdzID0gQXJyYXkuaXNBcnJheShjb25maWcpID8gY29uZmlnIDogW2NvbmZpZ107XG4gICAgZm9yIChjb25zdCBjIG9mIGNvbmZpZ3MpIHtcbiAgICAgIHRoaXMuYnVja2V0LmRlcGxveSh7XG4gICAgICAgIC4uLmMsXG4gICAgICAgIGNhY2hlQ29udHJvbDogYy5jYWNoZUNvbnRyb2wgPz8gW1xuICAgICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UoRHVyYXRpb24ubWludXRlcygxNSkpLFxuICAgICAgICAgIENhY2hlQ29udHJvbC5zTWF4QWdlKER1cmF0aW9uLmRheXMoNykpLFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHJlYWQgcGVybWlzc2lvbnMgZm9yIHRoaXMgYnVja2V0IGFuZCBpdCdzIGNvbnRlbnRzIHRvIGFuIElBTVxuICAgKiBwcmluY2lwYWwgKFJvbGUvR3JvdXAvVXNlcikuXG4gICAqXG4gICAqIElmIGVuY3J5cHRpb24gaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSB0byBkZWNyeXB0IHRoZSBjb250ZW50c1xuICAgKiBvZiB0aGUgYnVja2V0IHdpbGwgYWxzbyBiZSBncmFudGVkIHRvIHRoZSBzYW1lIHByaW5jaXBhbC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgZ3JhbnRSZWFkKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IGFueSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRSZWFkKGlkZW50aXR5LCBvYmplY3RzS2V5UGF0dGVybik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgd3JpdGUgcGVybWlzc2lvbnMgdG8gdGhpcyBidWNrZXQgdG8gYW4gSUFNIHByaW5jaXBhbC5cbiAgICpcbiAgICogSWYgZW5jcnlwdGlvbiBpcyB1c2VkLCBwZXJtaXNzaW9uIHRvIHVzZSB0aGUga2V5IHRvIGVuY3J5cHQgdGhlIGNvbnRlbnRzXG4gICAqIG9mIHdyaXR0ZW4gZmlsZXMgd2lsbCBhbHNvIGJlIGdyYW50ZWQgdG8gdGhlIHNhbWUgcHJpbmNpcGFsLlxuICAgKlxuICAgKiBCZWZvcmUgQ0RLIHZlcnNpb24gMS44NS4wLCB0aGlzIG1ldGhvZCBncmFudGVkIHRoZSBgczM6UHV0T2JqZWN0KmAgcGVybWlzc2lvbiB0aGF0IGluY2x1ZGVkIGBzMzpQdXRPYmplY3RBY2xgLFxuICAgKiB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGdyYW50IHJlYWQvd3JpdGUgb2JqZWN0IGFjY2VzcyB0byBJQU0gcHJpbmNpcGFscyBpbiBvdGhlciBhY2NvdW50cy5cbiAgICogSWYgeW91IHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGF0IGJlaGF2aW9yLCB1cGRhdGUgeW91ciBDREsgdmVyc2lvbiB0byAxLjg1LjAgb3IgbGF0ZXIsXG4gICAqIGFuZCBtYWtlIHN1cmUgdGhlIGBAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2xgIGZlYXR1cmUgZmxhZyBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGluIHRoZSBgY29udGV4dGAga2V5IG9mIHlvdXIgY2RrLmpzb24gZmlsZS5cbiAgICogSWYgeW91J3ZlIGFscmVhZHkgdXBkYXRlZCwgYnV0IHN0aWxsIG5lZWQgdGhlIHByaW5jaXBhbCB0byBoYXZlIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyxcbiAgICogdXNlIHRoZSBgZ3JhbnRQdXRBY2xgIG1ldGhvZC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqIEBwYXJhbSBhbGxvd2VkQWN0aW9uUGF0dGVybnMgUmVzdHJpY3QgdGhlIHBlcm1pc3Npb25zIHRvIGNlcnRhaW4gbGlzdCBvZiBhY3Rpb24gcGF0dGVybnNcbiAgICovXG4gIGdyYW50V3JpdGUoXG4gICAgaWRlbnRpdHk6IElHcmFudGFibGUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgb2JqZWN0c0tleVBhdHRlcm4/OiBhbnksXG4gICAgYWxsb3dlZEFjdGlvblBhdHRlcm5zPzogc3RyaW5nW10sXG4gICk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRXcml0ZShcbiAgICAgIGlkZW50aXR5LFxuICAgICAgb2JqZWN0c0tleVBhdHRlcm4sXG4gICAgICBhbGxvd2VkQWN0aW9uUGF0dGVybnMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgczM6UHV0T2JqZWN0KiBhbmQgczM6QWJvcnQqIHBlcm1pc3Npb25zIGZvciB0aGlzIGJ1Y2tldCB0byBhbiBJQU0gcHJpbmNpcGFsLlxuICAgKlxuICAgKiBJZiBlbmNyeXB0aW9uIGlzIHVzZWQsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBrZXkgdG8gZW5jcnlwdCB0aGUgY29udGVudHNcbiAgICogb2Ygd3JpdHRlbiBmaWxlcyB3aWxsIGFsc28gYmUgZ3JhbnRlZCB0byB0aGUgc2FtZSBwcmluY2lwYWwuXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGdyYW50UHV0KGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IGFueSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRQdXQoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudCB0aGUgZ2l2ZW4gSUFNIGlkZW50aXR5IHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyBvZiBvYmplY3RzIGluIHRoZSBnaXZlbiBCdWNrZXQuXG4gICAqXG4gICAqIElmIHlvdXIgYXBwbGljYXRpb24gaGFzIHRoZSAnQGF3cy1jZGsvYXdzLXMzOmdyYW50V3JpdGVXaXRob3V0QWNsJyBmZWF0dXJlIGZsYWcgc2V0LFxuICAgKiBjYWxsaW5nIGBncmFudFdyaXRlYCBvciBgZ3JhbnRSZWFkV3JpdGVgIG5vIGxvbmdlciBncmFudHMgcGVybWlzc2lvbnMgdG8gbW9kaWZ5IHRoZSBBQ0xzIG9mIHRoZSBvYmplY3RzO1xuICAgKiBpbiB0aGlzIGNhc2UsIGlmIHlvdSBuZWVkIHRvIG1vZGlmeSBvYmplY3QgQUNMcywgY2FsbCB0aGlzIG1ldGhvZCBleHBsaWNpdGx5LlxuICAgKlxuICAgKiBAcGFyYW0gaWRlbnRpdHkgVGhlIHByaW5jaXBhbFxuICAgKiBAcGFyYW0gb2JqZWN0c0tleVBhdHRlcm4gUmVzdHJpY3QgdGhlIHBlcm1pc3Npb24gdG8gYSBjZXJ0YWluIGtleSBwYXR0ZXJuIChkZWZhdWx0ICcqJylcbiAgICovXG4gIGdyYW50UHV0QWNsKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IHN0cmluZyk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnRQdXRBY2woaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgczM6RGVsZXRlT2JqZWN0KiBwZXJtaXNzaW9uIHRvIGFuIElBTSBwcmluY2lwYWwgZm9yIG9iamVjdHNcbiAgICogaW4gdGhpcyBidWNrZXQuXG4gICAqXG4gICAqIEBwYXJhbSBpZGVudGl0eSBUaGUgcHJpbmNpcGFsXG4gICAqIEBwYXJhbSBvYmplY3RzS2V5UGF0dGVybiBSZXN0cmljdCB0aGUgcGVybWlzc2lvbiB0byBhIGNlcnRhaW4ga2V5IHBhdHRlcm4gKGRlZmF1bHQgJyonKVxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIGdyYW50RGVsZXRlKGlkZW50aXR5OiBJR3JhbnRhYmxlLCBvYmplY3RzS2V5UGF0dGVybj86IGFueSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuZ3JhbnREZWxldGUoaWRlbnRpdHksIG9iamVjdHNLZXlQYXR0ZXJuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcmVhZC93cml0ZSBwZXJtaXNzaW9ucyBmb3IgdGhpcyBidWNrZXQgYW5kIGl0J3MgY29udGVudHMgdG8gYW4gSUFNXG4gICAqIHByaW5jaXBhbCAoUm9sZS9Hcm91cC9Vc2VyKS5cbiAgICpcbiAgICogSWYgYW4gZW5jcnlwdGlvbiBrZXkgaXMgdXNlZCwgcGVybWlzc2lvbiB0byB1c2UgdGhlIGtleSBmb3JcbiAgICogZW5jcnlwdC9kZWNyeXB0IHdpbGwgYWxzbyBiZSBncmFudGVkLlxuICAgKlxuICAgKiBCZWZvcmUgQ0RLIHZlcnNpb24gMS44NS4wLCB0aGlzIG1ldGhvZCBncmFudGVkIHRoZSBgczM6UHV0T2JqZWN0KmAgcGVybWlzc2lvbiB0aGF0IGluY2x1ZGVkIGBzMzpQdXRPYmplY3RBY2xgLFxuICAgKiB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGdyYW50IHJlYWQvd3JpdGUgb2JqZWN0IGFjY2VzcyB0byBJQU0gcHJpbmNpcGFscyBpbiBvdGhlciBhY2NvdW50cy5cbiAgICogSWYgeW91IHdhbnQgdG8gZ2V0IHJpZCBvZiB0aGF0IGJlaGF2aW9yLCB1cGRhdGUgeW91ciBDREsgdmVyc2lvbiB0byAxLjg1LjAgb3IgbGF0ZXIsXG4gICAqIGFuZCBtYWtlIHN1cmUgdGhlIGBAYXdzLWNkay9hd3MtczM6Z3JhbnRXcml0ZVdpdGhvdXRBY2xgIGZlYXR1cmUgZmxhZyBpcyBzZXQgdG8gYHRydWVgXG4gICAqIGluIHRoZSBgY29udGV4dGAga2V5IG9mIHlvdXIgY2RrLmpzb24gZmlsZS5cbiAgICogSWYgeW91J3ZlIGFscmVhZHkgdXBkYXRlZCwgYnV0IHN0aWxsIG5lZWQgdGhlIHByaW5jaXBhbCB0byBoYXZlIHBlcm1pc3Npb25zIHRvIG1vZGlmeSB0aGUgQUNMcyxcbiAgICogdXNlIHRoZSBgZ3JhbnRQdXRBY2xgIG1ldGhvZC5cbiAgICpcbiAgICogQHBhcmFtIGlkZW50aXR5IFRoZSBwcmluY2lwYWxcbiAgICogQHBhcmFtIG9iamVjdHNLZXlQYXR0ZXJuIFJlc3RyaWN0IHRoZSBwZXJtaXNzaW9uIHRvIGEgY2VydGFpbiBrZXkgcGF0dGVybiAoZGVmYXVsdCAnKicpXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgZ3JhbnRSZWFkV3JpdGUoaWRlbnRpdHk6IElHcmFudGFibGUsIG9iamVjdHNLZXlQYXR0ZXJuPzogYW55KTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5ncmFudFJlYWRXcml0ZShpZGVudGl0eSwgb2JqZWN0c0tleVBhdHRlcm4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gdGhlIHJlc291cmNlIHBvbGljeSBmb3IgYSBwcmluY2lwYWwgKGkuZS5cbiAgICogYWNjb3VudC9yb2xlL3NlcnZpY2UpIHRvIHBlcmZvcm0gYWN0aW9ucyBvbiB0aGlzIGJ1Y2tldCBhbmQvb3IgaXRzXG4gICAqIGNvbnRlbnRzLiBVc2UgYGJ1Y2tldEFybmAgYW5kIGBhcm5Gb3JPYmplY3RzKGtleXMpYCB0byBvYnRhaW4gQVJOcyBmb3JcbiAgICogdGhpcyBidWNrZXQgb3Igb2JqZWN0cy5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoZSBwb2xpY3kgc3RhdGVtZW50IG1heSBvciBtYXkgbm90IGJlIGFkZGVkIHRvIHRoZSBwb2xpY3kuXG4gICAqIEZvciBleGFtcGxlLCB3aGVuIGFuIGBJQnVja2V0YCBpcyBjcmVhdGVkIGZyb20gYW4gZXhpc3RpbmcgYnVja2V0LFxuICAgKiBpdCdzIG5vdCBwb3NzaWJsZSB0byB0ZWxsIHdoZXRoZXIgdGhlIGJ1Y2tldCBhbHJlYWR5IGhhcyBhIHBvbGljeVxuICAgKiBhdHRhY2hlZCwgbGV0IGFsb25lIHRvIHJlLXVzZSB0aGF0IHBvbGljeSB0byBhZGQgbW9yZSBzdGF0ZW1lbnRzIHRvIGl0LlxuICAgKiBTbyBpdCdzIHNhZmVzdCB0byBkbyBub3RoaW5nIGluIHRoZXNlIGNhc2VzLlxuICAgKlxuICAgKiBAcGFyYW0gcGVybWlzc2lvbiB0aGUgcG9saWN5IHN0YXRlbWVudCB0byBiZSBhZGRlZCB0byB0aGUgYnVja2V0J3NcbiAgICogcG9saWN5LlxuICAgKiBAcmV0dXJucyBtZXRhZGF0YSBhYm91dCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgbWV0aG9kLiBJZiB0aGUgcG9saWN5XG4gICAqIHdhcyBub3QgYWRkZWQsIHRoZSB2YWx1ZSBvZiBgc3RhdGVtZW50QWRkZWRgIHdpbGwgYmUgYGZhbHNlYC4gWW91XG4gICAqIHNob3VsZCBhbHdheXMgY2hlY2sgdGhpcyB2YWx1ZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgb3BlcmF0aW9uIHdhc1xuICAgKiBhY3R1YWxseSBjYXJyaWVkIG91dC4gT3RoZXJ3aXNlLCBzeW50aGVzaXMgYW5kIGRlcGxveSB3aWxsIHRlcm1pbmF0ZVxuICAgKiBzaWxlbnRseSwgd2hpY2ggbWF5IGJlIGNvbmZ1c2luZy5cbiAgICovXG4gIGFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgcGVybWlzc2lvbjogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5hZGRUb1Jlc291cmNlUG9saWN5KHBlcm1pc3Npb24pO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "truemark-cdk-lib",
3
3
  "description": "AWS CDK constructs created by TrueMark",
4
- "version": "1.20.1-beta.1762095225",
4
+ "version": "1.20.1-beta.1762272737",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
7
7
  "author": "TrueMark Technologies, Inc.",