@mavogel/awscdk-rootmail 0.0.214 → 0.0.215

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.
Files changed (33) hide show
  1. package/.jsii +26 -8
  2. package/API.md +14 -0
  3. package/CONTRIBUTING.md +3 -3
  4. package/README.md +3 -3
  5. package/integ-tests/README.md +11 -4
  6. package/integ-tests/common.ts +2 -0
  7. package/integ-tests/create-e2e-cfn-stack.bash +35 -0
  8. package/integ-tests/delete-e2e-cfn-stack.bash +26 -0
  9. package/integ-tests/integ.rootmail-custom-santa.ts +1 -2
  10. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.assets.json +8 -8
  11. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/RootmailIntegTestStack.template.json +4 -4
  12. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +2 -2
  13. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +2 -2
  14. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.0649b5bfaa322d6bd173d2daef3177389cf0778b556b300ac6bf451704cc3a49 → asset.97724f55c990db7c62d85b80d4afb032e60011490da173e3551e6a131013b79d}/index.js +17458 -464
  15. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/{asset.f9b17c134d24cf60e1d26c033b5f4f247b759149619ac0aac341b950a10ccf14 → asset.f75274dd7677b6ef41f29d2dfc2c885b4f4e069d3fb8e67636bd89efd3f0fcad}/index.js +2 -0
  16. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/integ.json +1 -1
  17. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/manifest.json +2 -2
  18. package/integ-tests/integ.rootmail-custom-santa.ts.snapshot/tree.json +3 -3
  19. package/integ-tests/integ.rootmail.ts +1 -2
  20. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.assets.json +8 -8
  21. package/integ-tests/integ.rootmail.ts.snapshot/RootmailIntegTestStack.template.json +4 -4
  22. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.assets.json +2 -2
  23. package/integ-tests/integ.rootmail.ts.snapshot/SetupTestIntegStackDefaultTestDeployAssert6EB6FF77.template.json +3 -3
  24. package/integ-tests/integ.rootmail.ts.snapshot/{asset.de67316e819b929cc1aa19838de373be5c9ede7a11e8132fabd28dbc730a92fd → asset.3fe096136c1d1292627baeb9b860b3206032deebb5a03ea407d7d04833a222d7}/index.js +17489 -474
  25. package/integ-tests/integ.rootmail.ts.snapshot/{asset.f9b17c134d24cf60e1d26c033b5f4f247b759149619ac0aac341b950a10ccf14 → asset.f75274dd7677b6ef41f29d2dfc2c885b4f4e069d3fb8e67636bd89efd3f0fcad}/index.js +2 -0
  26. package/integ-tests/integ.rootmail.ts.snapshot/integ.json +1 -1
  27. package/integ-tests/integ.rootmail.ts.snapshot/manifest.json +2 -2
  28. package/integ-tests/integ.rootmail.ts.snapshot/tree.json +3 -3
  29. package/lib/rootmail.d.ts +7 -1
  30. package/lib/rootmail.js +4 -2
  31. package/lib/ses-receive.js +1 -1
  32. package/lib/ses-receive.ops-santa-handler.js +32 -11
  33. package/package.json +1 -1
@@ -54,6 +54,8 @@ async function handler(event) {
54
54
  [ATTR_DKIM_TOKENS]: dkimTokens
55
55
  }
56
56
  };
57
+ // TODO check if delete should do nothing: https://github.com/superwerker/superwerker/blob/main/templates/rootmail.yaml#L170
58
+ // we store in Parameter Store as well
57
59
  case "Delete":
58
60
  console.log(`Deleting Domain identity for domain '${domain}' with PhysicalResourceId '${event.PhysicalResourceId}'`);
59
61
  const deleteResponse = await ses.deleteIdentity({ Identity: domain });
@@ -11,7 +11,7 @@
11
11
  ]
12
12
  },
13
13
  "regions": [
14
- "${Token[AWS.Region.8]}"
14
+ "${Token[AWS.Region.9]}"
15
15
  ],
16
16
  "cdkCommandOptions": {
17
17
  "destroy": {
@@ -17,7 +17,7 @@
17
17
  "validateOnSynth": false,
18
18
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
19
19
  "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
20
- "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/48c74a489d3bba323f0b5e9de6b107e045144c26b35130b6083823df88a4b060.json",
20
+ "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0c6695535d361eb1b54f0d030f4fe10d11036cab6772ade6d1a74e5662d811fc.json",
21
21
  "requiresBootstrapStackVersion": 6,
22
22
  "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
23
23
  "additionalDependencies": [
@@ -670,7 +670,7 @@
670
670
  "validateOnSynth": false,
671
671
  "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
672
672
  "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
673
- "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/3c319bbdb9ad02954c2bf2dd8462fcec43716ff75a9b9bb053439e3851f2f0be.json",
673
+ "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/da70fb6c6f4ab07690ab5aad465c70e2b8caca384237a5407a691c1e9f2aff78.json",
674
674
  "requiresBootstrapStackVersion": 6,
675
675
  "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
676
676
  "additionalDependencies": [
@@ -785,7 +785,7 @@
785
785
  "s3Bucket": {
786
786
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
787
787
  },
788
- "s3Key": "de67316e819b929cc1aa19838de373be5c9ede7a11e8132fabd28dbc730a92fd.zip"
788
+ "s3Key": "3fe096136c1d1292627baeb9b860b3206032deebb5a03ea407d7d04833a222d7.zip"
789
789
  },
790
790
  "environment": {
791
791
  "variables": {
@@ -1060,7 +1060,7 @@
1060
1060
  "s3Bucket": {
1061
1061
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
1062
1062
  },
1063
- "s3Key": "f9b17c134d24cf60e1d26c033b5f4f247b759149619ac0aac341b950a10ccf14.zip"
1063
+ "s3Key": "f75274dd7677b6ef41f29d2dfc2c885b4f4e069d3fb8e67636bd89efd3f0fcad.zip"
1064
1064
  },
1065
1065
  "environment": {
1066
1066
  "variables": {
@@ -1862,7 +1862,7 @@
1862
1862
  "route53:ListResourceRecordSets"
1863
1863
  ],
1864
1864
  "Effect": "Allow",
1865
- "Resource": "arn:aws:route53:::hostedzone/Z066250529JROZU7IIY3Q"
1865
+ "Resource": "arn:aws:route53:::hostedzone/Z01336592122MNIWKOZSV"
1866
1866
  }
1867
1867
  ],
1868
1868
  "Version": "2012-10-17"
package/lib/rootmail.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Duration, aws_lambda as lambda, aws_s3 as s3 } from 'aws-cdk-lib';
1
+ import { Duration, aws_lambda as lambda, aws_s3 as s3, RemovalPolicy } from 'aws-cdk-lib';
2
2
  import { Construct } from 'constructs';
3
3
  export interface RootmailProps {
4
4
  /**
@@ -28,6 +28,12 @@ export interface RootmailProps {
28
28
  * The custom SES receive function to use
29
29
  */
30
30
  readonly customSesReceiveFunction?: lambda.Function;
31
+ /**
32
+ * The removal policy for the email bucket
33
+ *
34
+ * @default RemovalPolicy.RETAIN
35
+ */
36
+ readonly emailBucketDeletePolicy?: RemovalPolicy;
31
37
  /**
32
38
  * Whether to set all removal policies to DESTROY. This is useful for integration testing purposes.
33
39
  *
package/lib/rootmail.js CHANGED
@@ -18,6 +18,7 @@ class Rootmail extends constructs_1.Construct {
18
18
  const totalTimeToWireDNS = props.totalTimeToWireDNS ?? aws_cdk_lib_1.Duration.hours(2);
19
19
  const wireDNSToHostedZoneID = props.wireDNSToHostedZoneID ?? undefined;
20
20
  const setDestroyPolicyToAllResources = props.setDestroyPolicyToAllResources ?? false;
21
+ const emailBucketDeletePolicy = props.emailBucketDeletePolicy ?? aws_cdk_lib_1.RemovalPolicy.RETAIN;
21
22
  const deployRegion = aws_cdk_lib_1.Stack.of(this).region;
22
23
  console.log(`Deploy region is ${deployRegion}`);
23
24
  if (!(0, common_1.isSESEnabledRegion)(deployRegion)) {
@@ -29,6 +30,7 @@ class Rootmail extends constructs_1.Construct {
29
30
  this.emailBucket = new aws_cdk_lib_1.aws_s3.Bucket(this, 'EmailBucket', {
30
31
  blockPublicAccess: aws_cdk_lib_1.aws_s3.BlockPublicAccess.BLOCK_ALL,
31
32
  encryption: aws_cdk_lib_1.aws_s3.BucketEncryption.S3_MANAGED,
33
+ removalPolicy: emailBucketDeletePolicy,
32
34
  });
33
35
  cdk_nag_1.NagSuppressions.addResourceSuppressions([
34
36
  this.emailBucket,
@@ -74,7 +76,7 @@ class Rootmail extends constructs_1.Construct {
74
76
  }
75
77
  exports.Rootmail = Rootmail;
76
78
  _a = JSII_RTTI_SYMBOL_1;
77
- Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.214" };
79
+ Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.215" };
78
80
  /**
79
81
  * Aspect for setting all removal policies to DESTROY
80
82
  */
@@ -85,4 +87,4 @@ class ApplyDestroyPolicyAspect {
85
87
  }
86
88
  }
87
89
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdG1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcm9vdG1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FZcUI7QUFDckIscUNBQTBDO0FBQzFDLDJDQUFtRDtBQUNuRCxxQ0FBaUU7QUFDakUseURBQW9EO0FBQ3BELCtDQUEyQztBQTJDM0MsTUFBYSxRQUFTLFNBQVEsc0JBQVM7SUFJckMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyx1QkFBdUIsR0FBRywrQkFBK0IsQ0FBQztRQUUvRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixJQUFJLHNCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixJQUFJLFNBQVMsQ0FBQztRQUN2RSxNQUFNLDhCQUE4QixHQUFHLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxLQUFLLENBQUM7UUFFckYsTUFBTSxZQUFZLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUEsMkJBQWtCLEVBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxZQUFZLHVDQUF1QywwQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZJLENBQUM7UUFFRDs7V0FFRztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxvQkFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3BELGlCQUFpQixFQUFFLG9CQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUNqRCxVQUFVLEVBQUUsb0JBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO1NBQzNDLENBQUMsQ0FBQztRQUNILHlCQUFlLENBQUMsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVc7U0FDakIsRUFBRTtZQUNELEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSw4QkFBOEIsRUFBRTtZQUNqRSxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUU7U0FDM0QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUkscUJBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXZGLHlCQUFlLENBQUMsdUJBQXVCLENBQUM7WUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFPO1NBQ3pCLEVBQUU7WUFDRCxFQUFFLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUU7U0FDM0QsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVUOztXQUVHO1FBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSx5QkFBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3hELFFBQVEsRUFBRSxHQUFHLFNBQVMsSUFBSSxNQUFNLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLHFCQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ3pGLGFBQWEsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1lBQzNDLGVBQWUsRUFBRSxVQUFVLENBQUMscUJBQXFCLElBQUksRUFBRTtTQUN4RCxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLFNBQVM7WUFDcEIsVUFBVSxFQUFFLFVBQVU7WUFDdEIscUJBQXFCLEVBQUUscUJBQXFCO1lBQzVDLHNCQUFzQixFQUFFLHNCQUFzQjtZQUM5QyxrQkFBa0IsRUFBRSxrQkFBa0I7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDakMsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0Isd0JBQXdCLEVBQUUsS0FBSyxDQUFDLHdCQUF3QjtTQUN6RCxDQUFDLENBQUM7UUFFSCx1Q0FBdUM7UUFDdkMsSUFBSSw4QkFBOEIsRUFBRSxDQUFDO1lBQ25DLHFCQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLHdCQUF3QixFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDO0lBQ0gsQ0FBQzs7QUF6RUgsNEJBMkVDOzs7QUFFRDs7R0FFRztBQUNILE1BQU0sd0JBQXdCO0lBQ3JCLEtBQUssQ0FBQyxJQUFnQjtRQUMzQixJQUFJLElBQUksWUFBWSx5QkFBVyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIER1cmF0aW9uLFxuICBTdGFjayxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3Nfcm91dGU1MyBhcyByNTMsXG4gIGF3c19zMyBhcyBzMyxcbiAgYXdzX3NzbSBhcyBzc20sXG4gIENmblJlc291cmNlLFxuICBJQXNwZWN0LFxuICBSZW1vdmFsUG9saWN5LFxuICBBc3BlY3RzLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBOYWdTdXBwcmVzc2lvbnMgfSBmcm9tICdjZGstbmFnJztcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgaXNTRVNFbmFibGVkUmVnaW9uLCBzZXNFbmFibGVkUmVnaW9ucyB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IEhvc3RlZFpvbmVEa2ltIH0gZnJvbSAnLi9ob3N0ZWQtem9uZS1ka2ltJztcbmltcG9ydCB7IFNFU1JlY2VpdmUgfSBmcm9tICcuL3Nlcy1yZWNlaXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBSb290bWFpbFByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdWJkb21haW4gdXNlZCBmb3Igcm9vdCBtYWlsIGZlYXR1cmUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhd3MnXG4gICAqL1xuICByZWFkb25seSBzdWJkb21haW4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0b3RhbCB0aW1lIHRvIHdhaXQgZm9yIHRoZSBETlMgcmVjb3JkcyB0byBiZSBhdmFpbGFibGUvd2lyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLmhvdXJzKDIpXG4gICAqL1xuICByZWFkb25seSB0b3RhbFRpbWVUb1dpcmVETlM/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGhvc3RlZCB6b25lIElEIG9mIHRoZSBkb21haW4gdGhhdCBpcyByZWdpc3RlcmVkIFJvdXRlNTMgQU5EIGluIHRoZSBzYW1lIEFXUyBhY2NvdW50XG4gICAqIHRvIGVuYWJsZSBhdXRvd2lyaW5nIG9mIHRoZSBETlMgcmVjb3Jkcy5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gU0VTIHJlY2VpdmUgZnVuY3Rpb24gdG8gdXNlXG4gICAqL1xuICByZWFkb25seSBjdXN0b21TZXNSZWNlaXZlRnVuY3Rpb24/OiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2V0IGFsbCByZW1vdmFsIHBvbGljaWVzIHRvIERFU1RST1kuIFRoaXMgaXMgdXNlZnVsIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJvb3RtYWlsIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RlZFpvbmVQYXJhbWV0ZXJOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBlbWFpbEJ1Y2tldDogczMuQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSb290bWFpbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmhvc3RlZFpvbmVQYXJhbWV0ZXJOYW1lID0gJy9yb290bWFpbC9kb21haW5fbmFtZV9zZXJ2ZXJzJztcblxuICAgIGNvbnN0IGRvbWFpbiA9IHByb3BzLmRvbWFpbjtcbiAgICBjb25zdCBzdWJkb21haW4gPSBwcm9wcy5zdWJkb21haW4gPz8gJ2F3cyc7XG4gICAgY29uc3QgdG90YWxUaW1lVG9XaXJlRE5TID0gcHJvcHMudG90YWxUaW1lVG9XaXJlRE5TID8/IER1cmF0aW9uLmhvdXJzKDIpO1xuICAgIGNvbnN0IHdpcmVETlNUb0hvc3RlZFpvbmVJRCA9IHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRCA/PyB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzID0gcHJvcHMuc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzID8/IGZhbHNlO1xuXG4gICAgY29uc3QgZGVwbG95UmVnaW9uID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIGNvbnNvbGUubG9nKGBEZXBsb3kgcmVnaW9uIGlzICR7ZGVwbG95UmVnaW9ufWApO1xuICAgIGlmICghaXNTRVNFbmFibGVkUmVnaW9uKGRlcGxveVJlZ2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU0VTIGlzIG5vdCBhdmFpbGFibGUgaW4gcmVnaW9uICR7ZGVwbG95UmVnaW9ufS4gVXNlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlZ2lvbnM6ICR7c2VzRW5hYmxlZFJlZ2lvbnMuam9pbignLCAnKX1gKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFTUFJTCBCdWNrZXRcbiAgICAgKi9cbiAgICB0aGlzLmVtYWlsQnVja2V0ID0gbmV3IHMzLkJ1Y2tldCh0aGlzLCAnRW1haWxCdWNrZXQnLCB7XG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgIH0pO1xuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhbXG4gICAgICB0aGlzLmVtYWlsQnVja2V0LFxuICAgIF0sIFtcbiAgICAgIHsgaWQ6ICdBd3NTb2x1dGlvbnMtUzEnLCByZWFzb246ICdubyBzZXJ2ZXIgYWNjZXNzIGxvZ3MgbmVlZGVkJyB9LFxuICAgICAgeyBpZDogJ0F3c1NvbHV0aW9ucy1TMTAnLCByZWFzb246ICdubyBTU0wgYWNjZXNzIG5lZWRlZCcgfSxcbiAgICBdLCB0cnVlKTtcbiAgICB0aGlzLmVtYWlsQnVja2V0LmdyYW50UHV0KG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnc2VzLmFtYXpvbmF3cy5jb20nKSwgJ1Jvb3RNYWlsLyonKTtcblxuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhbXG4gICAgICB0aGlzLmVtYWlsQnVja2V0LnBvbGljeSEsXG4gICAgXSwgW1xuICAgICAgeyBpZDogJ0F3c1NvbHV0aW9ucy1TMTAnLCByZWFzb246ICdubyBTU0wgYWNjZXNzIG5lZWRlZCcgfSxcbiAgICBdLCB0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIEhPU1RFRCBaT05FXG4gICAgICovXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9IG5ldyByNTMuSG9zdGVkWm9uZSh0aGlzLCAnSG9zdGVkWm9uZScsIHtcbiAgICAgIHpvbmVOYW1lOiBgJHtzdWJkb21haW59LiR7ZG9tYWlufWAsXG4gICAgfSk7XG5cbiAgICBjb25zdCBob3N0ZWRab25lU1NNUGFyYW1ldGVyID0gbmV3IHNzbS5TdHJpbmdMaXN0UGFyYW1ldGVyKHRoaXMsICdIb3N0ZWRab25lU1NNUGFyYW1ldGVyJywge1xuICAgICAgcGFyYW1ldGVyTmFtZTogdGhpcy5ob3N0ZWRab25lUGFyYW1ldGVyTmFtZSxcbiAgICAgIHN0cmluZ0xpc3RWYWx1ZTogaG9zdGVkWm9uZS5ob3N0ZWRab25lTmFtZVNlcnZlcnMgfHwgW10sXG4gICAgfSk7XG5cbiAgICBuZXcgSG9zdGVkWm9uZURraW0odGhpcywgJ0hvc3RlZFpvbmVEa2ltJywge1xuICAgICAgZG9tYWluOiBkb21haW4sXG4gICAgICBzdWJkb21haW46IHN1YmRvbWFpbixcbiAgICAgIGhvc3RlZFpvbmU6IGhvc3RlZFpvbmUsXG4gICAgICB3aXJlRE5TVG9Ib3N0ZWRab25lSUQ6IHdpcmVETlNUb0hvc3RlZFpvbmVJRCxcbiAgICAgIGhvc3RlZFpvbmVTU01QYXJhbWV0ZXI6IGhvc3RlZFpvbmVTU01QYXJhbWV0ZXIsXG4gICAgICB0b3RhbFRpbWVUb1dpcmVETlM6IHRvdGFsVGltZVRvV2lyZUROUyxcbiAgICB9KTtcblxuICAgIG5ldyBTRVNSZWNlaXZlKHRoaXMsICdTRVNSZWNlaXZlJywge1xuICAgICAgZG9tYWluOiBkb21haW4sXG4gICAgICBzdWJkb21haW46IHN1YmRvbWFpbixcbiAgICAgIGVtYWlsYnVja2V0OiB0aGlzLmVtYWlsQnVja2V0LFxuICAgICAgY3VzdG9tU2VzUmVjZWl2ZUZ1bmN0aW9uOiBwcm9wcy5jdXN0b21TZXNSZWNlaXZlRnVuY3Rpb24sXG4gICAgfSk7XG5cbiAgICAvLyBJZiBEZXN0cm95IFBvbGljeSBBc3BlY3QgaXMgcHJlc2VudDpcbiAgICBpZiAoc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzKSB7XG4gICAgICBBc3BlY3RzLm9mKHRoaXMpLmFkZChuZXcgQXBwbHlEZXN0cm95UG9saWN5QXNwZWN0KCkpO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qKlxuICogQXNwZWN0IGZvciBzZXR0aW5nIGFsbCByZW1vdmFsIHBvbGljaWVzIHRvIERFU1RST1lcbiAqL1xuY2xhc3MgQXBwbHlEZXN0cm95UG9saWN5QXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHB1YmxpYyB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBDZm5SZXNvdXJjZSkge1xuICAgICAgbm9kZS5hcHBseVJlbW92YWxQb2xpY3koUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcbiAgICB9XG4gIH1cbn0iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdG1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcm9vdG1haWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FZcUI7QUFDckIscUNBQTBDO0FBQzFDLDJDQUFtRDtBQUNuRCxxQ0FBaUU7QUFDakUseURBQW9EO0FBQ3BELCtDQUEyQztBQWtEM0MsTUFBYSxRQUFTLFNBQVEsc0JBQVM7SUFJckMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyx1QkFBdUIsR0FBRywrQkFBK0IsQ0FBQztRQUUvRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDO1FBQzNDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixJQUFJLHNCQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixJQUFJLFNBQVMsQ0FBQztRQUN2RSxNQUFNLDhCQUE4QixHQUFHLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxLQUFLLENBQUM7UUFDckYsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLENBQUMsdUJBQXVCLElBQUksMkJBQWEsQ0FBQyxNQUFNLENBQUM7UUFFdEYsTUFBTSxZQUFZLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUEsMkJBQWtCLEVBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxZQUFZLHVDQUF1QywwQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZJLENBQUM7UUFFRDs7V0FFRztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxvQkFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3BELGlCQUFpQixFQUFFLG9CQUFFLENBQUMsaUJBQWlCLENBQUMsU0FBUztZQUNqRCxVQUFVLEVBQUUsb0JBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO1lBQzFDLGFBQWEsRUFBRSx1QkFBdUI7U0FDdkMsQ0FBQyxDQUFDO1FBQ0gseUJBQWUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVztTQUNqQixFQUFFO1lBQ0QsRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLDhCQUE4QixFQUFFO1lBQ2pFLEVBQUUsRUFBRSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRTtTQUMzRCxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxxQkFBRyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFdkYseUJBQWUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU87U0FDekIsRUFBRTtZQUNELEVBQUUsRUFBRSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRTtTQUMzRCxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRVQ7O1dBRUc7UUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLHlCQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDeEQsUUFBUSxFQUFFLEdBQUcsU0FBUyxJQUFJLE1BQU0sRUFBRTtTQUNuQyxDQUFDLENBQUM7UUFFSCxNQUFNLHNCQUFzQixHQUFHLElBQUkscUJBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUU7WUFDekYsYUFBYSxFQUFFLElBQUksQ0FBQyx1QkFBdUI7WUFDM0MsZUFBZSxFQUFFLFVBQVUsQ0FBQyxxQkFBcUIsSUFBSSxFQUFFO1NBQ3hELENBQUMsQ0FBQztRQUVILElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDekMsTUFBTSxFQUFFLE1BQU07WUFDZCxTQUFTLEVBQUUsU0FBUztZQUNwQixVQUFVLEVBQUUsVUFBVTtZQUN0QixxQkFBcUIsRUFBRSxxQkFBcUI7WUFDNUMsc0JBQXNCLEVBQUUsc0JBQXNCO1lBQzlDLGtCQUFrQixFQUFFLGtCQUFrQjtTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLHdCQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNqQyxNQUFNLEVBQUUsTUFBTTtZQUNkLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3Qix3QkFBd0IsRUFBRSxLQUFLLENBQUMsd0JBQXdCO1NBQ3pELENBQUMsQ0FBQztRQUVILHVDQUF1QztRQUN2QyxJQUFJLDhCQUE4QixFQUFFLENBQUM7WUFDbkMscUJBQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDOztBQTNFSCw0QkE2RUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBTSx3QkFBd0I7SUFDckIsS0FBSyxDQUFDLElBQWdCO1FBQzNCLElBQUksSUFBSSxZQUFZLHlCQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRHVyYXRpb24sXG4gIFN0YWNrLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG4gIGF3c19yb3V0ZTUzIGFzIHI1MyxcbiAgYXdzX3MzIGFzIHMzLFxuICBhd3Nfc3NtIGFzIHNzbSxcbiAgQ2ZuUmVzb3VyY2UsXG4gIElBc3BlY3QsXG4gIFJlbW92YWxQb2xpY3ksXG4gIEFzcGVjdHMsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IE5hZ1N1cHByZXNzaW9ucyB9IGZyb20gJ2Nkay1uYWcnO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBpc1NFU0VuYWJsZWRSZWdpb24sIHNlc0VuYWJsZWRSZWdpb25zIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgSG9zdGVkWm9uZURraW0gfSBmcm9tICcuL2hvc3RlZC16b25lLWRraW0nO1xuaW1wb3J0IHsgU0VTUmVjZWl2ZSB9IGZyb20gJy4vc2VzLXJlY2VpdmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJvb3RtYWlsUHJvcHMge1xuICAvKipcbiAgICogRG9tYWluIHVzZWQgZm9yIHJvb3QgbWFpbCBmZWF0dXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN1YmRvbWFpbiB1c2VkIGZvciByb290IG1haWwgZmVhdHVyZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2F3cydcbiAgICovXG4gIHJlYWRvbmx5IHN1YmRvbWFpbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRvdGFsIHRpbWUgdG8gd2FpdCBmb3IgdGhlIEROUyByZWNvcmRzIHRvIGJlIGF2YWlsYWJsZS93aXJlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uaG91cnMoMilcbiAgICovXG4gIHJlYWRvbmx5IHRvdGFsVGltZVRvV2lyZUROUz86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgaG9zdGVkIHpvbmUgSUQgb2YgdGhlIGRvbWFpbiB0aGF0IGlzIHJlZ2lzdGVyZWQgUm91dGU1MyBBTkQgaW4gdGhlIHNhbWUgQVdTIGFjY291bnRcbiAgICogdG8gZW5hYmxlIGF1dG93aXJpbmcgb2YgdGhlIEROUyByZWNvcmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHdpcmVETlNUb0hvc3RlZFpvbmVJRD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGN1c3RvbSBTRVMgcmVjZWl2ZSBmdW5jdGlvbiB0byB1c2VcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVNlc1JlY2VpdmVGdW5jdGlvbj86IGxhbWJkYS5GdW5jdGlvbjtcblxuICAvKipcbiAgICogVGhlIHJlbW92YWwgcG9saWN5IGZvciB0aGUgZW1haWwgYnVja2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuUkVUQUlOXG4gICAqL1xuICByZWFkb25seSBlbWFpbEJ1Y2tldERlbGV0ZVBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc2V0IGFsbCByZW1vdmFsIHBvbGljaWVzIHRvIERFU1RST1kuIFRoaXMgaXMgdXNlZnVsIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFJvb3RtYWlsIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RlZFpvbmVQYXJhbWV0ZXJOYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBlbWFpbEJ1Y2tldDogczMuQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSb290bWFpbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmhvc3RlZFpvbmVQYXJhbWV0ZXJOYW1lID0gJy9yb290bWFpbC9kb21haW5fbmFtZV9zZXJ2ZXJzJztcblxuICAgIGNvbnN0IGRvbWFpbiA9IHByb3BzLmRvbWFpbjtcbiAgICBjb25zdCBzdWJkb21haW4gPSBwcm9wcy5zdWJkb21haW4gPz8gJ2F3cyc7XG4gICAgY29uc3QgdG90YWxUaW1lVG9XaXJlRE5TID0gcHJvcHMudG90YWxUaW1lVG9XaXJlRE5TID8/IER1cmF0aW9uLmhvdXJzKDIpO1xuICAgIGNvbnN0IHdpcmVETlNUb0hvc3RlZFpvbmVJRCA9IHByb3BzLndpcmVETlNUb0hvc3RlZFpvbmVJRCA/PyB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzID0gcHJvcHMuc2V0RGVzdHJveVBvbGljeVRvQWxsUmVzb3VyY2VzID8/IGZhbHNlO1xuICAgIGNvbnN0IGVtYWlsQnVja2V0RGVsZXRlUG9saWN5ID0gcHJvcHMuZW1haWxCdWNrZXREZWxldGVQb2xpY3kgPz8gUmVtb3ZhbFBvbGljeS5SRVRBSU47XG5cbiAgICBjb25zdCBkZXBsb3lSZWdpb24gPSBTdGFjay5vZih0aGlzKS5yZWdpb247XG4gICAgY29uc29sZS5sb2coYERlcGxveSByZWdpb24gaXMgJHtkZXBsb3lSZWdpb259YCk7XG4gICAgaWYgKCFpc1NFU0VuYWJsZWRSZWdpb24oZGVwbG95UmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTRVMgaXMgbm90IGF2YWlsYWJsZSBpbiByZWdpb24gJHtkZXBsb3lSZWdpb259LiBVc2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgcmVnaW9uczogJHtzZXNFbmFibGVkUmVnaW9ucy5qb2luKCcsICcpfWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVNQUlMIEJ1Y2tldFxuICAgICAqL1xuICAgIHRoaXMuZW1haWxCdWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsICdFbWFpbEJ1Y2tldCcsIHtcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICByZW1vdmFsUG9saWN5OiBlbWFpbEJ1Y2tldERlbGV0ZVBvbGljeSxcbiAgICB9KTtcbiAgICBOYWdTdXBwcmVzc2lvbnMuYWRkUmVzb3VyY2VTdXBwcmVzc2lvbnMoW1xuICAgICAgdGhpcy5lbWFpbEJ1Y2tldCxcbiAgICBdLCBbXG4gICAgICB7IGlkOiAnQXdzU29sdXRpb25zLVMxJywgcmVhc29uOiAnbm8gc2VydmVyIGFjY2VzcyBsb2dzIG5lZWRlZCcgfSxcbiAgICAgIHsgaWQ6ICdBd3NTb2x1dGlvbnMtUzEwJywgcmVhc29uOiAnbm8gU1NMIGFjY2VzcyBuZWVkZWQnIH0sXG4gICAgXSwgdHJ1ZSk7XG4gICAgdGhpcy5lbWFpbEJ1Y2tldC5ncmFudFB1dChuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ3Nlcy5hbWF6b25hd3MuY29tJyksICdSb290TWFpbC8qJyk7XG5cbiAgICBOYWdTdXBwcmVzc2lvbnMuYWRkUmVzb3VyY2VTdXBwcmVzc2lvbnMoW1xuICAgICAgdGhpcy5lbWFpbEJ1Y2tldC5wb2xpY3khLFxuICAgIF0sIFtcbiAgICAgIHsgaWQ6ICdBd3NTb2x1dGlvbnMtUzEwJywgcmVhc29uOiAnbm8gU1NMIGFjY2VzcyBuZWVkZWQnIH0sXG4gICAgXSwgdHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBIT1NURUQgWk9ORVxuICAgICAqL1xuICAgIGNvbnN0IGhvc3RlZFpvbmUgPSBuZXcgcjUzLkhvc3RlZFpvbmUodGhpcywgJ0hvc3RlZFpvbmUnLCB7XG4gICAgICB6b25lTmFtZTogYCR7c3ViZG9tYWlufS4ke2RvbWFpbn1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaG9zdGVkWm9uZVNTTVBhcmFtZXRlciA9IG5ldyBzc20uU3RyaW5nTGlzdFBhcmFtZXRlcih0aGlzLCAnSG9zdGVkWm9uZVNTTVBhcmFtZXRlcicsIHtcbiAgICAgIHBhcmFtZXRlck5hbWU6IHRoaXMuaG9zdGVkWm9uZVBhcmFtZXRlck5hbWUsXG4gICAgICBzdHJpbmdMaXN0VmFsdWU6IGhvc3RlZFpvbmUuaG9zdGVkWm9uZU5hbWVTZXJ2ZXJzIHx8IFtdLFxuICAgIH0pO1xuXG4gICAgbmV3IEhvc3RlZFpvbmVEa2ltKHRoaXMsICdIb3N0ZWRab25lRGtpbScsIHtcbiAgICAgIGRvbWFpbjogZG9tYWluLFxuICAgICAgc3ViZG9tYWluOiBzdWJkb21haW4sXG4gICAgICBob3N0ZWRab25lOiBob3N0ZWRab25lLFxuICAgICAgd2lyZUROU1RvSG9zdGVkWm9uZUlEOiB3aXJlRE5TVG9Ib3N0ZWRab25lSUQsXG4gICAgICBob3N0ZWRab25lU1NNUGFyYW1ldGVyOiBob3N0ZWRab25lU1NNUGFyYW1ldGVyLFxuICAgICAgdG90YWxUaW1lVG9XaXJlRE5TOiB0b3RhbFRpbWVUb1dpcmVETlMsXG4gICAgfSk7XG5cbiAgICBuZXcgU0VTUmVjZWl2ZSh0aGlzLCAnU0VTUmVjZWl2ZScsIHtcbiAgICAgIGRvbWFpbjogZG9tYWluLFxuICAgICAgc3ViZG9tYWluOiBzdWJkb21haW4sXG4gICAgICBlbWFpbGJ1Y2tldDogdGhpcy5lbWFpbEJ1Y2tldCxcbiAgICAgIGN1c3RvbVNlc1JlY2VpdmVGdW5jdGlvbjogcHJvcHMuY3VzdG9tU2VzUmVjZWl2ZUZ1bmN0aW9uLFxuICAgIH0pO1xuXG4gICAgLy8gSWYgRGVzdHJveSBQb2xpY3kgQXNwZWN0IGlzIHByZXNlbnQ6XG4gICAgaWYgKHNldERlc3Ryb3lQb2xpY3lUb0FsbFJlc291cmNlcykge1xuICAgICAgQXNwZWN0cy5vZih0aGlzKS5hZGQobmV3IEFwcGx5RGVzdHJveVBvbGljeUFzcGVjdCgpKTtcbiAgICB9XG4gIH1cblxufVxuXG4vKipcbiAqIEFzcGVjdCBmb3Igc2V0dGluZyBhbGwgcmVtb3ZhbCBwb2xpY2llcyB0byBERVNUUk9ZXG4gKi9cbmNsYXNzIEFwcGx5RGVzdHJveVBvbGljeUFzcGVjdCBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwdWJsaWMgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmIChub2RlIGluc3RhbmNlb2YgQ2ZuUmVzb3VyY2UpIHtcbiAgICAgIG5vZGUuYXBwbHlSZW1vdmFsUG9saWN5KFJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgfVxuICB9XG59Il19
@@ -129,7 +129,7 @@ class SESReceive extends constructs_1.Construct {
129
129
  }
130
130
  exports.SESReceive = SESReceive;
131
131
  _a = JSII_RTTI_SYMBOL_1;
132
- SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.214" };
132
+ SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.215" };
133
133
  /**
134
134
  * Aspect for setting all removal policies to DESTROY
135
135
  */
@@ -32,21 +32,42 @@ const handler = async (event) => {
32
32
  });
33
33
  const verdicts = {
34
34
  dkim: receipt.dkimVerdict.status,
35
+ dmarc: receipt.dmarcVerdict.status,
35
36
  spam: receipt.spamVerdict.status,
36
37
  spf: receipt.spfVerdict.status,
37
38
  virus: receipt.virusVerdict.status,
38
39
  };
39
40
  for (const [k, v] of Object.entries(verdicts)) {
40
- if (v !== 'PASS') {
41
- log({
42
- class: k,
43
- value: v,
44
- id: id,
45
- key: key,
46
- level: 'warn',
47
- msg: 'verdict failed - ops santa item skipped',
48
- });
49
- return;
41
+ switch (k) {
42
+ case 'dkim':
43
+ case 'dmarc':
44
+ if (v !== 'PASS' && v !== 'GRAY') {
45
+ log({
46
+ class: k,
47
+ value: v,
48
+ id: id,
49
+ key: key,
50
+ level: 'warn',
51
+ msg: 'verdict failed - ops santa item skipped',
52
+ });
53
+ return;
54
+ }
55
+ break;
56
+ case 'spam':
57
+ case 'spf':
58
+ case 'virus':
59
+ if (v !== 'PASS') {
60
+ log({
61
+ class: k,
62
+ value: v,
63
+ id: id,
64
+ key: key,
65
+ level: 'warn',
66
+ msg: 'verdict failed - ops santa item skipped',
67
+ });
68
+ return;
69
+ }
70
+ break;
50
71
  }
51
72
  }
52
73
  const response = await s3.getObject({ Bucket: emailBucket, Key: key });
@@ -154,4 +175,4 @@ exports.handler = handler;
154
175
  function log(msg) {
155
176
  console.log(JSON.stringify(msg));
156
177
  }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLXJlY2VpdmUub3BzLXNhbnRhLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VzLXJlY2VpdmUub3BzLXNhbnRhLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQXdDO0FBQ3hDLG9EQUE0RDtBQUM1RCwyQ0FBMEM7QUFFMUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztBQUNsRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztBQUM3QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0FBQ3BELE1BQU0sRUFBRSxHQUFHLElBQUksY0FBRSxFQUFFLENBQUM7QUFDcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQkFBRyxDQUFDO0lBQ2xCLE1BQU0sRUFBRSxNQUFNO0NBQ2YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxxQkFBcUIsR0FBRztJQUM1Qiw2Q0FBNkM7SUFDN0MsZ0NBQWdDO0NBQ2pDLENBQUM7QUFpRUssTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLEtBQThCLEVBQUUsRUFBRTtJQUU5RCxHQUFHLENBQUM7UUFDRixLQUFLLEVBQUUsS0FBSztRQUNaLEtBQUssRUFBRSxPQUFPO0tBQ2YsQ0FBQyxDQUFDO0lBRUgsS0FBSyxNQUFNLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbkMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLFlBQVksRUFBRSxFQUFFLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFFbkMsR0FBRyxDQUFDO1lBQ0YsRUFBRSxFQUFFLEVBQUU7WUFDTixLQUFLLEVBQUUsT0FBTztZQUNk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QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFMzIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcbmltcG9ydCB7IE9wc0l0ZW1EYXRhVmFsdWUsIFNTTSB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zc20nO1xuaW1wb3J0IHsgc2ltcGxlUGFyc2VyIH0gZnJvbSAnbWFpbHBhcnNlcic7XG5cbmNvbnN0IHJlZ2lvbiA9IHByb2Nlc3MuZW52LlJPT1RNQUlMX0RFUExPWV9SRUdJT047XG5jb25zdCBlbWFpbEJ1Y2tldCA9IHByb2Nlc3MuZW52LkVNQUlMX0JVQ0tFVDtcbmNvbnN0IGVtYWlsQnVja2V0QXJuID0gcHJvY2Vzcy5lbnYuRU1BSUxfQlVDS0VUX0FSTjtcbmNvbnN0IHMzID0gbmV3IFMzKCk7XG5jb25zdCBzc20gPSBuZXcgU1NNKHtcbiAgcmVnaW9uOiByZWdpb24sXG59KTtcblxuY29uc3QgZmlsdGVyZWRFbWFpbFN1YmplY3RzID0gW1xuICAnWW91ciBBV1MgQWNjb3VudCBpcyBSZWFkeSAtIEdldCBTdGFydGVkIE5vdycsXG4gICdXZWxjb21lIHRvIEFtYXpvbiBXZWIgU2VydmljZXMnLFxuXTtcblxuLy8gZnJvbSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VzL2xhdGVzdC9kZy9yZWNlaXZpbmctZW1haWwtYWN0aW9uLWxhbWJkYS1ldmVudC5odG1sXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UmVjb3JkIHtcbiAgZXZlbnRTb3VyY2U6IHN0cmluZztcbiAgZXZlbnRWZXJzaW9uOiBzdHJpbmc7XG4gIHNlczogU2VzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcyB7XG4gIG1haWw6IE1haWw7XG4gIHJlY2VpcHQ6IFJlY2VpcHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFpbCB7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgbWVzc2FnZUlkOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmdbXTtcbiAgaGVhZGVyc1RydW5jYXRlZDogYm9vbGVhbjtcbiAgaGVhZGVyczogSGVhZGVyW107XG4gIGNvbW1vbkhlYWRlcnM6IENvbW1vbkhlYWRlcnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyIHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkhlYWRlcnMge1xuICByZXR1cm5QYXRoOiBzdHJpbmc7XG4gIGZyb206IHN0cmluZ1tdO1xuICBkYXRlOiBzdHJpbmc7XG4gIHRvOiBzdHJpbmdbXTtcbiAgbWVzc2FnZUlkOiBzdHJpbmc7XG4gIHN1YmplY3Q6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXB0IHtcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIHByb2Nlc3NpbmdUaW1lTWlsbGlzOiBudW1iZXI7XG4gIHJlY2lwaWVudHM6IHN0cmluZ1tdO1xuICBzcGFtVmVyZGljdDogVmVyZGljdDtcbiAgdmlydXNWZXJkaWN0OiBWZXJkaWN0O1xuICBzcGZWZXJkaWN0OiBWZXJkaWN0O1xuICBka2ltVmVyZGljdDogVmVyZGljdDtcbiAgZG1hcmNWZXJkaWN0OiBWZXJkaWN0O1xuICBhY3Rpb246IEFjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJkaWN0IHtcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uIHtcbiAgdHlwZTogc3RyaW5nO1xuICBmdW5jdGlvbkFybjogc3RyaW5nO1xuICBpbnZvY2F0aW9uVHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNFU0V2ZW50UmVjb3Jkc1RvTGFtYmRhIHtcbiAgUmVjb3JkczogRXZlbnRSZWNvcmRbXTtcbn1cblxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChldmVudDogU0VTRXZlbnRSZWNvcmRzVG9MYW1iZGEpID0+IHtcblxuICBsb2coe1xuICAgIGV2ZW50OiBldmVudCxcbiAgICBsZXZlbDogJ2RlYnVnJyxcbiAgfSk7XG5cbiAgZm9yIChjb25zdCByZWNvcmQgb2YgZXZlbnQuUmVjb3Jkcykge1xuXG4gICAgY29uc3QgaWQgPSByZWNvcmQuc2VzLm1haWwubWVzc2FnZUlkO1xuICAgIGNvbnN0IGtleSA9IGBSb290TWFpbC8ke2lkfWA7XG4gICAgY29uc3QgcmVjZWlwdCA9IHJlY29yZC5zZXMucmVjZWlwdDtcblxuICAgIGxvZyh7XG4gICAgICBpZDogaWQsXG4gICAgICBsZXZlbDogJ2RlYnVnJyxcbiAgICAgIGtleToga2V5LFxuICAgICAgbXNnOiAncHJvY2Vzc2luZyBtYWlsJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZlcmRpY3RzID0ge1xuICAgICAgZGtpbTogcmVjZWlwdC5ka2ltVmVyZGljdC5zdGF0dXMsXG4gICAgICBzcGFtOiByZWNlaXB0LnNwYW1WZXJkaWN0LnN0YXR1cyxcbiAgICAgIHNwZjogcmVjZWlwdC5zcGZWZXJkaWN0LnN0YXR1cyxcbiAgICAgIHZpcnVzOiByZWNlaXB0LnZpcnVzVmVyZGljdC5zdGF0dXMsXG4gICAgfTtcblxuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHZlcmRpY3RzKSkge1xuXG4gICAgICBpZiAodiAhPT0gJ1BBU1MnKSB7XG5cbiAgICAgICAgbG9nKHtcbiAgICAgICAgICBjbGFzczogayxcbiAgICAgICAgICB2YWx1ZTogdixcbiAgICAgICAgICBpZDogaWQsXG4gICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgbGV2ZWw6ICd3YXJuJyxcbiAgICAgICAgICBtc2c6ICd2ZXJkaWN0IGZhaWxlZCAtIG9wcyBzYW50YSBpdGVtIHNraXBwZWQnLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzMy5nZXRPYmplY3QoeyBCdWNrZXQ6IGVtYWlsQnVja2V0IGFzIHN0cmluZywgS2V5OiBrZXkgfSk7XG5cbiAgICBjb25zdCBtc2cgPSBhd2FpdCBzaW1wbGVQYXJzZXIocmVzcG9uc2UuQm9keSBhcyB1bmtub3duIGFzIEJ1ZmZlcik7XG5cbiAgICBsZXQgdGl0bGUgPSBtc2cuc3ViamVjdDtcblxuICAgIGlmICh0aXRsZSA9PT0gdW5kZWZpbmVkIHx8IHRpdGxlLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIGxvZyh7XG4gICAgICAgIGlkOiBpZCxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIGxldmVsOiAnd2FybicsXG4gICAgICAgIG1zZzogJ25vIHN1YmplY3QgZm91bmQnLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlcmVkRW1haWxTdWJqZWN0cy5pbmNsdWRlcyh0aXRsZSkpIHtcbiAgICAgIGxvZyh7XG4gICAgICAgIGxldmVsOiAnaW5mbycsXG4gICAgICAgIG1zZzogJ2ZpbHRlcmVkIGVtYWlsJyxcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlID0gcmVjb3JkLnNlcy5tYWlsLmRlc3RpbmF0aW9uWzBdO1xuXG4gICAgaWYgKHRpdGxlID09PSAnQW1hem9uIFdlYiBTZXJ2aWNlcyBQYXNzd29yZCBBc3Npc3RhbmNlJykge1xuICAgICAgaWYgKG1zZy5odG1sID09PSBmYWxzZSkge1xuICAgICAgICBsb2coe1xuICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICBsZXZlbDogJ3dhcm4nLFxuICAgICAgICAgIG1zZzogJ25vIGh0bWwgYm9keSBmb3VuZCBpbiBwYXNzd29yZCBhc3Npc3RhbmNlIGVtYWlsJyxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gbXNnLmh0bWw7XG4gICAgICBjb25zdCBwd19yZXNldF9saW5rID0gZGVzY3JpcHRpb24ubWF0Y2goL2h0dHBzOlxcL1xcL3NpZ25pbi5hd3MuYW1hem9uLmNvbVxcL3Jlc2V0cGFzc3dvcmQoLio/KSg/PTxicj4pLyk/LlswXSB8fCAnbm8gcGFzc3NvcmQgcmVzZXQgbGluayc7XG4gICAgICBjb25zdCByb290bWFpbF9pZGVudGlmaWVyID0gYC9yb290bWFpbC9wd19yZXNldF9saW5rLyR7c291cmNlLnNwbGl0KCdAJylbMF0uc3BsaXQoJ3Jvb3QrJylbMV19YDtcbiAgICAgIGF3YWl0IHNzbS5wdXRQYXJhbWV0ZXIoe1xuICAgICAgICBOYW1lOiByb290bWFpbF9pZGVudGlmaWVyLFxuICAgICAgICBWYWx1ZTogcHdfcmVzZXRfbGluayxcbiAgICAgICAgT3ZlcndyaXRlOiB0cnVlLFxuICAgICAgICBUeXBlOiAnU3RyaW5nJyxcbiAgICAgICAgVGllcjogJ0FkdmFuY2VkJyxcbiAgICAgICAgUG9saWNpZXM6IEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBUeXBlOiAnRXhwaXJhdGlvbicsXG4gICAgICAgICAgICBWZXJzaW9uOiAnMS4wJyxcbiAgICAgICAgICAgIEF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgVGltZXN0YW1wOiBuZXcgRGF0ZShEYXRlLm5vdygpICsgMTAgKiA2MCAqIDEwMDApLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pLFxuICAgICAgfSk7XG4gICAgICBsb2coe1xuICAgICAgICBpZDogaWQsXG4gICAgICAgIGtleToga2V5LFxuICAgICAgICBsZXZlbDogJ2luZm8nLFxuICAgICAgICBtc2c6IGBjcmVhdGVkIHNzbSBwYXJhbSBzdG9yZSBlbnRyeSAnJHtyb290bWFpbF9pZGVudGlmaWVyfScgZm9yIHBhc3N3b3JkIGFzc2lzdGFuY2UgZW1haWxgLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47IC8vIG5vIG9wcyBpdGVtIGZvciBub3dcbiAgICB9XG5cbiAgICBsZXQgZGVzY3JpcHRpb24gPSBtc2cudGV4dCB8fCBtc2cuaHRtbDtcbiAgICBpZiAoIWRlc2NyaXB0aW9uKSB7XG4gICAgICBsb2coe1xuICAgICAgICBpZDogaWQsXG4gICAgICAgIGtleToga2V5LFxuICAgICAgICBsZXZlbDogJ3dhcm4nLFxuICAgICAgICBtc2c6ICdubyB0ZXh0IG9yIGh0bWwgYm9keSBmb3VuZCcsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aXRsZSA9IHRpdGxlLnN1YnN0cmluZygwLCAxMDIwKSArICh0aXRsZS5sZW5ndGggPiAxMDIwID8gJyAuLi4nIDogJycpO1xuXG4gICAgZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbi5zdWJzdHJpbmcoMCwgMTAyMCkgKyAoZGVzY3JpcHRpb24ubGVuZ3RoID4gMTAyMCA/ICcgLi4uJyA6ICcnKTtcblxuICAgIGNvbnN0IHNvdXJjZVRydW5jYXRlZCA9IHNvdXJjZS5zdWJzdHJpbmcoMCwgNjApICsgKHNvdXJjZS5sZW5ndGggPiA2MCA/ICcgLi4uJyA6ICcnKTtcblxuICAgIGNvbnN0IG9wZXJhdGlvbmFsX2RhdGE6IFJlY29yZDxzdHJpbmcsIE9wc0l0ZW1EYXRhVmFsdWU+ID0ge1xuICAgICAgJy9hd3MvZGVkdXAnOiB7XG4gICAgICAgIFZhbHVlOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkZWR1cFN0cmluZzogaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgKSxcbiAgICAgICAgVHlwZTogJ1NlYXJjaGFibGVTdHJpbmcnLFxuICAgICAgfSxcbiAgICAgICcvYXdzL3Jlc291cmNlcyc6IHtcbiAgICAgICAgVmFsdWU6IEpTT04uc3RyaW5naWZ5KFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhcm46IGAke2VtYWlsQnVja2V0QXJufS8ke2tleX1gLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pLFxuICAgICAgICBUeXBlOiAnU2VhcmNoYWJsZVN0cmluZycsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBhd2FpdCBzc20uY3JlYXRlT3BzSXRlbSh7XG4gICAgICBEZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sXG4gICAgICBPcGVyYXRpb25hbERhdGE6IG9wZXJhdGlvbmFsX2RhdGEsXG4gICAgICBTb3VyY2U6IHNvdXJjZVRydW5jYXRlZCxcbiAgICAgIFRpdGxlOiB0aXRsZSxcbiAgICB9KTtcbiAgICBsb2coe1xuICAgICAgaWQ6IGlkLFxuICAgICAga2V5OiBrZXksXG4gICAgICBsZXZlbDogJ2luZm8nLFxuICAgICAgbXNnOiBgY3JlYXRlZCBvcHMgaXRlbSB3aXRoIHRpdGxlICcke3RpdGxlfSdgLFxuICAgIH0pO1xuICB9XG59O1xuXG5mdW5jdGlvbiBsb2cobXNnOiBvYmplY3QpIHtcbiAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkobXNnKSk7XG59XG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VzLXJlY2VpdmUub3BzLXNhbnRhLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2VzLXJlY2VpdmUub3BzLXNhbnRhLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQXdDO0FBQ3hDLG9EQUE0RDtBQUM1RCwyQ0FBMEM7QUFFMUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztBQUNsRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztBQUM3QyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDO0FBQ3BELE1BQU0sRUFBRSxHQUFHLElBQUksY0FBRSxFQUFFLENBQUM7QUFDcEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQkFBRyxDQUFDO0lBQ2xCLE1BQU0sRUFBRSxNQUFNO0NBQ2YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxxQkFBcUIsR0FBRztJQUM1Qiw2Q0FBNkM7SUFDN0MsZ0NBQWdDO0NBQ2pDLENBQUM7QUFpRUssTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLEtBQThCLEVBQUUsRUFBRTtJQUU5RCxHQUFHLENBQUM7UUFDRixLQUFLLEVBQUUsS0FBSztRQUNaLEtBQUssRUFBRSxPQUFPO0tBQ2YsQ0FBQyxDQUFDO0lBRUgsS0FBSyxNQUFNLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbkMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3JDLE1BQU0sR0FBRyxHQUFHLFlBQVksRUFBRSxFQUFFLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFFbkMsR0FBRyxDQUFDO1lBQ0YsRUFBRSxFQUFFLEVBQUU7WUFDTixLQUFLLEVBQUUsT0FBTztZQUNk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QUM7Z0JBQ0YsSUFBSSxFQUFFLGtCQUFrQjthQUN6QjtTQUNGLENBQUM7UUFFRixNQUFNLEdBQUcsQ0FBQyxhQUFhLENBQUM7WUFDdEIsV0FBVyxFQUFFLFdBQVc7WUFDeEIsZUFBZSxFQUFFLGdCQUFnQjtZQUNqQyxNQUFNLEVBQUUsZUFBZTtZQUN2QixLQUFLLEVBQUUsS0FBSztTQUNiLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQztZQUNGLEVBQUUsRUFBRSxFQUFFO1lBQ04sR0FBRyxFQUFFLEdBQUc7WUFDUixLQUFLLEVBQUUsTUFBTTtZQUNiLEdBQUcsRUFBRSxnQ0FBZ0MsS0FBSyxHQUFHO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDLENBQUM7QUFsTFcsUUFBQSxPQUFPLFdBa0xsQjtBQUVGLFNBQVMsR0FBRyxDQUFDLEdBQVc7SUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFMzIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcbmltcG9ydCB7IE9wc0l0ZW1EYXRhVmFsdWUsIFNTTSB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zc20nO1xuaW1wb3J0IHsgc2ltcGxlUGFyc2VyIH0gZnJvbSAnbWFpbHBhcnNlcic7XG5cbmNvbnN0IHJlZ2lvbiA9IHByb2Nlc3MuZW52LlJPT1RNQUlMX0RFUExPWV9SRUdJT047XG5jb25zdCBlbWFpbEJ1Y2tldCA9IHByb2Nlc3MuZW52LkVNQUlMX0JVQ0tFVDtcbmNvbnN0IGVtYWlsQnVja2V0QXJuID0gcHJvY2Vzcy5lbnYuRU1BSUxfQlVDS0VUX0FSTjtcbmNvbnN0IHMzID0gbmV3IFMzKCk7XG5jb25zdCBzc20gPSBuZXcgU1NNKHtcbiAgcmVnaW9uOiByZWdpb24sXG59KTtcblxuY29uc3QgZmlsdGVyZWRFbWFpbFN1YmplY3RzID0gW1xuICAnWW91ciBBV1MgQWNjb3VudCBpcyBSZWFkeSAtIEdldCBTdGFydGVkIE5vdycsXG4gICdXZWxjb21lIHRvIEFtYXpvbiBXZWIgU2VydmljZXMnLFxuXTtcblxuLy8gZnJvbSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VzL2xhdGVzdC9kZy9yZWNlaXZpbmctZW1haWwtYWN0aW9uLWxhbWJkYS1ldmVudC5odG1sXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UmVjb3JkIHtcbiAgZXZlbnRTb3VyY2U6IHN0cmluZztcbiAgZXZlbnRWZXJzaW9uOiBzdHJpbmc7XG4gIHNlczogU2VzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcyB7XG4gIG1haWw6IE1haWw7XG4gIHJlY2VpcHQ6IFJlY2VpcHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFpbCB7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICBzb3VyY2U6IHN0cmluZztcbiAgbWVzc2FnZUlkOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmdbXTtcbiAgaGVhZGVyc1RydW5jYXRlZDogYm9vbGVhbjtcbiAgaGVhZGVyczogSGVhZGVyW107XG4gIGNvbW1vbkhlYWRlcnM6IENvbW1vbkhlYWRlcnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyIHtcbiAgbmFtZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkhlYWRlcnMge1xuICByZXR1cm5QYXRoOiBzdHJpbmc7XG4gIGZyb206IHN0cmluZ1tdO1xuICBkYXRlOiBzdHJpbmc7XG4gIHRvOiBzdHJpbmdbXTtcbiAgbWVzc2FnZUlkOiBzdHJpbmc7XG4gIHN1YmplY3Q6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXB0IHtcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIHByb2Nlc3NpbmdUaW1lTWlsbGlzOiBudW1iZXI7XG4gIHJlY2lwaWVudHM6IHN0cmluZ1tdO1xuICBzcGFtVmVyZGljdDogVmVyZGljdDtcbiAgdmlydXNWZXJkaWN0OiBWZXJkaWN0O1xuICBzcGZWZXJkaWN0OiBWZXJkaWN0O1xuICBka2ltVmVyZGljdDogVmVyZGljdDtcbiAgZG1hcmNWZXJkaWN0OiBWZXJkaWN0O1xuICBhY3Rpb246IEFjdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJkaWN0IHtcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uIHtcbiAgdHlwZTogc3RyaW5nO1xuICBmdW5jdGlvbkFybjogc3RyaW5nO1xuICBpbnZvY2F0aW9uVHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNFU0V2ZW50UmVjb3Jkc1RvTGFtYmRhIHtcbiAgUmVjb3JkczogRXZlbnRSZWNvcmRbXTtcbn1cblxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChldmVudDogU0VTRXZlbnRSZWNvcmRzVG9MYW1iZGEpID0+IHtcblxuICBsb2coe1xuICAgIGV2ZW50OiBldmVudCxcbiAgICBsZXZlbDogJ2RlYnVnJyxcbiAgfSk7XG5cbiAgZm9yIChjb25zdCByZWNvcmQgb2YgZXZlbnQuUmVjb3Jkcykge1xuXG4gICAgY29uc3QgaWQgPSByZWNvcmQuc2VzLm1haWwubWVzc2FnZUlkO1xuICAgIGNvbnN0IGtleSA9IGBSb290TWFpbC8ke2lkfWA7XG4gICAgY29uc3QgcmVjZWlwdCA9IHJlY29yZC5zZXMucmVjZWlwdDtcblxuICAgIGxvZyh7XG4gICAgICBpZDogaWQsXG4gICAgICBsZXZlbDogJ2RlYnVnJyxcbiAgICAgIGtleToga2V5LFxuICAgICAgbXNnOiAncHJvY2Vzc2luZyBtYWlsJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZlcmRpY3RzID0ge1xuICAgICAgZGtpbTogcmVjZWlwdC5ka2ltVmVyZGljdC5zdGF0dXMsXG4gICAgICBkbWFyYzogcmVjZWlwdC5kbWFyY1ZlcmRpY3Quc3RhdHVzLFxuICAgICAgc3BhbTogcmVjZWlwdC5zcGFtVmVyZGljdC5zdGF0dXMsXG4gICAgICBzcGY6IHJlY2VpcHQuc3BmVmVyZGljdC5zdGF0dXMsXG4gICAgICB2aXJ1czogcmVjZWlwdC52aXJ1c1ZlcmRpY3Quc3RhdHVzLFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyh2ZXJkaWN0cykpIHtcbiAgICAgIHN3aXRjaCAoaykge1xuICAgICAgICBjYXNlICdka2ltJzpcbiAgICAgICAgY2FzZSAnZG1hcmMnOlxuICAgICAgICAgIGlmICh2ICE9PSAnUEFTUycgJiYgdiAhPT0gJ0dSQVknKSB7XG4gICAgICAgICAgICBsb2coe1xuICAgICAgICAgICAgICBjbGFzczogayxcbiAgICAgICAgICAgICAgdmFsdWU6IHYsXG4gICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICAgIGxldmVsOiAnd2FybicsXG4gICAgICAgICAgICAgIG1zZzogJ3ZlcmRpY3QgZmFpbGVkIC0gb3BzIHNhbnRhIGl0ZW0gc2tpcHBlZCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnc3BhbSc6XG4gICAgICAgIGNhc2UgJ3NwZic6XG4gICAgICAgIGNhc2UgJ3ZpcnVzJzpcbiAgICAgICAgICBpZiAodiAhPT0gJ1BBU1MnKSB7XG4gICAgICAgICAgICBsb2coe1xuICAgICAgICAgICAgICBjbGFzczogayxcbiAgICAgICAgICAgICAgdmFsdWU6IHYsXG4gICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAga2V5OiBrZXksXG4gICAgICAgICAgICAgIGxldmVsOiAnd2FybicsXG4gICAgICAgICAgICAgIG1zZzogJ3ZlcmRpY3QgZmFpbGVkIC0gb3BzIHNhbnRhIGl0ZW0gc2tpcHBlZCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHMzLmdldE9iamVjdCh7IEJ1Y2tldDogZW1haWxCdWNrZXQgYXMgc3RyaW5nLCBLZXk6IGtleSB9KTtcblxuICAgIGNvbnN0IG1zZyA9IGF3YWl0IHNpbXBsZVBhcnNlcihyZXNwb25zZS5Cb2R5IGFzIHVua25vd24gYXMgQnVmZmVyKTtcblxuICAgIGxldCB0aXRsZSA9IG1zZy5zdWJqZWN0O1xuXG4gICAgaWYgKHRpdGxlID09PSB1bmRlZmluZWQgfHwgdGl0bGUudHJpbSgpID09PSAnJykge1xuICAgICAgbG9nKHtcbiAgICAgICAgaWQ6IGlkLFxuICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgbGV2ZWw6ICd3YXJuJyxcbiAgICAgICAgbXNnOiAnbm8gc3ViamVjdCBmb3VuZCcsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyZWRFbWFpbFN1YmplY3RzLmluY2x1ZGVzKHRpdGxlKSkge1xuICAgICAgbG9nKHtcbiAgICAgICAgbGV2ZWw6ICdpbmZvJyxcbiAgICAgICAgbXNnOiAnZmlsdGVyZWQgZW1haWwnLFxuICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2UgPSByZWNvcmQuc2VzLm1haWwuZGVzdGluYXRpb25bMF07XG5cbiAgICBpZiAodGl0bGUgPT09ICdBbWF6b24gV2ViIFNlcnZpY2VzIFBhc3N3b3JkIEFzc2lzdGFuY2UnKSB7XG4gICAgICBpZiAobXNnLmh0bWwgPT09IGZhbHNlKSB7XG4gICAgICAgIGxvZyh7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIGxldmVsOiAnd2FybicsXG4gICAgICAgICAgbXNnOiAnbm8gaHRtbCBib2R5IGZvdW5kIGluIHBhc3N3b3JkIGFzc2lzdGFuY2UgZW1haWwnLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBtc2cuaHRtbDtcbiAgICAgIGNvbnN0IHB3X3Jlc2V0X2xpbmsgPSBkZXNjcmlwdGlvbi5tYXRjaCgvaHR0cHM6XFwvXFwvc2lnbmluLmF3cy5hbWF6b24uY29tXFwvcmVzZXRwYXNzd29yZCguKj8pKD89PGJyPikvKT8uWzBdIHx8ICdubyBwYXNzc29yZCByZXNldCBsaW5rJztcbiAgICAgIGNvbnN0IHJvb3RtYWlsX2lkZW50aWZpZXIgPSBgL3Jvb3RtYWlsL3B3X3Jlc2V0X2xpbmsvJHtzb3VyY2Uuc3BsaXQoJ0AnKVswXS5zcGxpdCgncm9vdCsnKVsxXX1gO1xuICAgICAgYXdhaXQgc3NtLnB1dFBhcmFtZXRlcih7XG4gICAgICAgIE5hbWU6IHJvb3RtYWlsX2lkZW50aWZpZXIsXG4gICAgICAgIFZhbHVlOiBwd19yZXNldF9saW5rLFxuICAgICAgICBPdmVyd3JpdGU6IHRydWUsXG4gICAgICAgIFR5cGU6ICdTdHJpbmcnLFxuICAgICAgICBUaWVyOiAnQWR2YW5jZWQnLFxuICAgICAgICBQb2xpY2llczogSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFR5cGU6ICdFeHBpcmF0aW9uJyxcbiAgICAgICAgICAgIFZlcnNpb246ICcxLjAnLFxuICAgICAgICAgICAgQXR0cmlidXRlczoge1xuICAgICAgICAgICAgICBUaW1lc3RhbXA6IG5ldyBEYXRlKERhdGUubm93KCkgKyAxMCAqIDYwICogMTAwMCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSksXG4gICAgICB9KTtcbiAgICAgIGxvZyh7XG4gICAgICAgIGlkOiBpZCxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIGxldmVsOiAnaW5mbycsXG4gICAgICAgIG1zZzogYGNyZWF0ZWQgc3NtIHBhcmFtIHN0b3JlIGVudHJ5ICcke3Jvb3RtYWlsX2lkZW50aWZpZXJ9JyBmb3IgcGFzc3dvcmQgYXNzaXN0YW5jZSBlbWFpbGAsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjsgLy8gbm8gb3BzIGl0ZW0gZm9yIG5vd1xuICAgIH1cblxuICAgIGxldCBkZXNjcmlwdGlvbiA9IG1zZy50ZXh0IHx8IG1zZy5odG1sO1xuICAgIGlmICghZGVzY3JpcHRpb24pIHtcbiAgICAgIGxvZyh7XG4gICAgICAgIGlkOiBpZCxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIGxldmVsOiAnd2FybicsXG4gICAgICAgIG1zZzogJ25vIHRleHQgb3IgaHRtbCBib2R5IGZvdW5kJyxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRpdGxlID0gdGl0bGUuc3Vic3RyaW5nKDAsIDEwMjApICsgKHRpdGxlLmxlbmd0aCA+IDEwMjAgPyAnIC4uLicgOiAnJyk7XG5cbiAgICBkZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uLnN1YnN0cmluZygwLCAxMDIwKSArIChkZXNjcmlwdGlvbi5sZW5ndGggPiAxMDIwID8gJyAuLi4nIDogJycpO1xuXG4gICAgY29uc3Qgc291cmNlVHJ1bmNhdGVkID0gc291cmNlLnN1YnN0cmluZygwLCA2MCkgKyAoc291cmNlLmxlbmd0aCA+IDYwID8gJyAuLi4nIDogJycpO1xuXG4gICAgY29uc3Qgb3BlcmF0aW9uYWxfZGF0YTogUmVjb3JkPHN0cmluZywgT3BzSXRlbURhdGFWYWx1ZT4gPSB7XG4gICAgICAnL2F3cy9kZWR1cCc6IHtcbiAgICAgICAgVmFsdWU6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGRlZHVwU3RyaW5nOiBpZCxcbiAgICAgICAgICB9LFxuICAgICAgICApLFxuICAgICAgICBUeXBlOiAnU2VhcmNoYWJsZVN0cmluZycsXG4gICAgICB9LFxuICAgICAgJy9hd3MvcmVzb3VyY2VzJzoge1xuICAgICAgICBWYWx1ZTogSlNPTi5zdHJpbmdpZnkoW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFybjogYCR7ZW1haWxCdWNrZXRBcm59LyR7a2V5fWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSksXG4gICAgICAgIFR5cGU6ICdTZWFyY2hhYmxlU3RyaW5nJyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGF3YWl0IHNzbS5jcmVhdGVPcHNJdGVtKHtcbiAgICAgIERlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbixcbiAgICAgIE9wZXJhdGlvbmFsRGF0YTogb3BlcmF0aW9uYWxfZGF0YSxcbiAgICAgIFNvdXJjZTogc291cmNlVHJ1bmNhdGVkLFxuICAgICAgVGl0bGU6IHRpdGxlLFxuICAgIH0pO1xuICAgIGxvZyh7XG4gICAgICBpZDogaWQsXG4gICAgICBrZXk6IGtleSxcbiAgICAgIGxldmVsOiAnaW5mbycsXG4gICAgICBtc2c6IGBjcmVhdGVkIG9wcyBpdGVtIHdpdGggdGl0bGUgJyR7dGl0bGV9J2AsXG4gICAgfSk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGxvZyhtc2c6IG9iamVjdCkge1xuICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShtc2cpKTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -116,7 +116,7 @@
116
116
  "publishConfig": {
117
117
  "access": "public"
118
118
  },
119
- "version": "0.0.214",
119
+ "version": "0.0.215",
120
120
  "jest": {
121
121
  "coverageProvider": "v8",
122
122
  "testMatch": [