cdk-assets 2.155.18 → 2.155.20

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.
package/lib/aws.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultAwsClient = void 0;
4
+ const crypto = require("node:crypto");
4
5
  const os = require("os");
5
6
  /**
6
7
  * AWS client using the AWS SDK for JS with no special configuration
@@ -22,16 +23,26 @@ class DefaultAwsClient {
22
23
  this.AWS = require('aws-sdk');
23
24
  }
24
25
  async s3Client(options) {
25
- return new this.AWS.S3({
26
+ const fipsOptions = {
26
27
  // In FIPS enabled environments, the MD5 algorithm is not available for use in crypto module.
27
28
  // However by default the S3 client is using an MD5 checksum for content integrity checking.
28
29
  // While this usage is technically allowed in FIPS (MD5 is only prohibited for cryptographic use),
29
30
  // in practice it is just easier to use an allowed checksum mechanism.
30
31
  // We are disabling the S3 content checksums, and are re-enabling the regular SigV4 body signing.
31
- // SigV4 uses SHA256 for their content checksum. This configuration matches the default behavior
32
- // of the AWS SDKv3 and is a safe choice for all users.
32
+ // SigV4 uses SHA256 for their content checksum.
33
+ //
34
+ // As far as we know, this configuration will work for most APIs except:
35
+ // - DeleteObjects (note the plural)
36
+ // - PutObject to a bucket with Object Lock enabled.
37
+ //
38
+ // These APIs refuse to work without a content checksum at the S3 level (a SigV4 checksum is not
39
+ // good enough). There is no way to get those to work with SHA256 in the SDKv2, but this limitation
40
+ // will be alleviated once we migrate to SDKv3.
33
41
  s3DisableBodySigning: false,
34
42
  computeChecksums: false,
43
+ };
44
+ return new this.AWS.S3({
45
+ ...(crypto.getFips() ? fipsOptions : {}),
35
46
  ...(await this.awsOptions(options)),
36
47
  });
37
48
  }
@@ -123,4 +134,4 @@ function safeUsername() {
123
134
  return 'noname';
124
135
  }
125
136
  }
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQWdEekI7O0dBRUc7QUFDSCxNQUFhLGdCQUFnQjtJQUkzQixZQUFZLE9BQWdCO1FBQzFCLDBGQUEwRjtRQUMxRixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixHQUFHLEdBQUcsQ0FBQztRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixHQUFHLFVBQVUsQ0FBQztRQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1DQUFtQyxHQUFHLEdBQUcsQ0FBQztRQUN0RCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1FBQ3BDLENBQUM7UUFDRCw2RkFBNkY7UUFDN0Ysb0RBQW9EO1FBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsNENBQTRDLEdBQUcsR0FBRyxDQUFDO1FBRS9ELGlGQUFpRjtRQUNqRixpRUFBaUU7UUFDakUsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBc0I7UUFDMUMsT0FBTyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLDZGQUE2RjtZQUM3Riw0RkFBNEY7WUFDNUYsa0dBQWtHO1lBQ2xHLHNFQUFzRTtZQUN0RSxpR0FBaUc7WUFDakcsZ0dBQWdHO1lBQ2hHLHVEQUF1RDtZQUN2RCxvQkFBb0IsRUFBRSxLQUFLO1lBQzNCLGdCQUFnQixFQUFFLEtBQUs7WUFDdkIsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFzQjtRQUMzQyxPQUFPLElBQUksSUFBSSxD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dEIsTUFBMEIsRUFDMUIsT0FBZSxFQUNmLFVBQW1CLEVBQ25CLGlCQUErQztRQUUvQyxPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztZQUNoRCxNQUFNLEVBQUU7Z0JBQ04sT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLFVBQVUsRUFBRSxVQUFVO2dCQUN0QixlQUFlLEVBQUUsY0FBYyxZQUFZLEVBQUUsRUFBRTtnQkFDL0MsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUsSUFBSTtvQkFDeEMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7b0JBQzFDLENBQUMsQ0FBQyxTQUFTO2dCQUNiLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUM7YUFDN0I7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsTUFBTTtnQkFDTixlQUFlLEVBQUUsWUFBWTthQUM5QjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWpJRCw0Q0FpSUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxZQUFZO0lBQ25CLElBQUksQ0FBQztRQUNILE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcblxuLyoqXG4gKiBBV1MgU0RLIG9wZXJhdGlvbnMgcmVxdWlyZWQgYnkgQXNzZXQgUHVibGlzaGluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBd3Mge1xuICBkaXNjb3ZlclBhcnRpdGlvbigpOiBQcm9taXNlPHN0cmluZz47XG4gIGRpc2NvdmVyRGVmYXVsdFJlZ2lvbigpOiBQcm9taXNlPHN0cmluZz47XG4gIGRpc2NvdmVyQ3VycmVudEFjY291bnQoKTogUHJvbWlzZTxBY2NvdW50PjtcblxuICBkaXNjb3ZlclRhcmdldEFjY291bnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8QWNjb3VudD47XG4gIHMzQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpOiBQcm9taXNlPEFXUy5TMz47XG4gIGVjckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBV1MuRUNSPjtcbiAgc2VjcmV0c01hbmFnZXJDbGllbnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8QVdTLlNlY3JldHNNYW5hZ2VyPjtcbn1cblxuLy8gUGFydGlhbCBiZWNhdXNlIGBSb2xlU2Vzc2lvbk5hbWVgIGlzIHJlcXVpcmVkIGluIFNUUywgYnV0IHdlIGhhdmUgYSBkZWZhdWx0IHZhbHVlIGZvciBpdC5cbmV4cG9ydCB0eXBlIEFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucyA9IFBhcnRpYWw8XG4gIC8vIGNsb3VkLWFzc2VtYmx5LXNjaGVtYSB2YWxpZGF0ZXMgdGhhdCBgRXh0ZXJuYWxJZGAgYW5kIGBSb2xlQXJuYCBhcmUgbm90IGNvbmZpZ3VyZWRcbiAgT21pdDxBV1MuU1RTLlR5cGVzLkFzc3VtZVJvbGVSZXF1ZXN0LCAnRXh0ZXJuYWxJZCcgfCAnUm9sZUFybic+XG4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIENsaWVudE9wdGlvbnMge1xuICByZWdpb24/OiBzdHJpbmc7XG4gIGFzc3VtZVJvbGVBcm4/OiBzdHJpbmc7XG4gIGFzc3VtZVJvbGVFeHRlcm5hbElkPzogc3RyaW5nO1xuICBhc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnM/OiBBc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnM7XG4gIHF1aWV0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBbiBBV1MgYWNjb3VudFxuICpcbiAqIEFuIEFXUyBhY2NvdW50IGFsd2F5cyBleGlzdHMgaW4gb25seSBvbmUgcGFydGl0aW9uLiBVc3VhbGx5IHdlIGRvbid0IGNhcmUgYWJvdXRcbiAqIHRoZSBwYXJ0aXRpb24sIGJ1dCB3aGVuIHdlIG5lZWQgdG8gZm9ybSBBUk5zIHdlIGRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnQge1xuICAvKipcbiAgICogVGhlIGFjY291bnQgbnVtYmVyXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhcnRpdGlvbiAoJ2F3cycgb3IgJ2F3cy1jbicgb3Igb3RoZXJ3aXNlKVxuICAgKi9cbiAgcmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQVdTIGNsaWVudCB1c2luZyB0aGUgQVdTIFNESyBmb3IgSlMgd2l0aCBubyBzcGVjaWFsIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIERlZmF1bHRBd3NDbGllbnQgaW1wbGVtZW50cyBJQXdzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBBV1M6IHR5cGVvZiBpbXBvcnQoJ2F3cy1zZGsnKTtcbiAgcHJpdmF0ZSBhY2NvdW50PzogQWNjb3VudDtcblxuICBjb25zdHJ1Y3Rvcihwcm9maWxlPzogc3RyaW5nKSB7XG4gICAgLy8gRm9yY2UgQVdTIFNESyB0byBsb29rIGluIH4vLmF3cy9jcmVkZW50aWFscyBhbmQgcG90ZW50aWFsbHkgdXNlIHRoZSBjb25maWd1cmVkIHByb2ZpbGUuXG4gICAgcHJvY2Vzcy5lbnYuQVdTX1NES19MT0FEX0NPTkZJRyA9ICcxJztcbiAgICBwcm9jZXNzLmVudi5BV1NfU1RTX1JFR0lPTkFMX0VORFBPSU5UUyA9ICdyZWdpb25hbCc7XG4gICAgcHJvY2Vzcy5lbnYuQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQgPSAnMSc7XG4gICAgaWYgKHByb2ZpbGUpIHtcbiAgICAgIHByb2Nlc3MuZW52LkFXU19QUk9GSUxFID0gcHJvZmlsZTtcbiAgICB9XG4gICAgLy8gU3RvcCBTREt2MiBmcm9tIGRpc3BsYXlpbmcgYSB3YXJuaW5nIGZvciBub3cuIFdlIGFyZSBhd2FyZSBhbmQgd2lsbCBtaWdyYXRlIGF0IHNvbWUgcG9pbnQsXG4gICAgLy8gb3VyIGN1c3RvbWVyIGRvbid0IG5lZWQgdG8gYmUgYm90aGVyZWQgd2l0aCB0aGlzLlxuICAgIHByb2Nlc3MuZW52LkFXU19TREtfSlNfU1VQUFJFU1NfTUFJTlRFTkFOQ0VfTU9ERV9NRVNTQUdFID0gJzEnO1xuXG4gICAgLy8gV2UgbmVlZCB0byBzZXQgdGhlIGVudmlyb25tZW50IGJlZm9yZSB3ZSBsb2FkIHRoaXMgbGlicmFyeSBmb3IgdGhlIGZpcnN0IHRpbWUuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICB0aGlzLkFXUyA9IHJlcXVpcmUoJ2F3cy1zZGsnKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzM0NsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLkFXUy5TMyh7XG4gICAgICAvLyBJbiBGSVBTIGVuYWJsZWQgZW52aXJvbm1lbnRzLCB0aGUgTUQ1IGFsZ29yaXRobSBpcyBub3QgYXZhaWxhYmxlIGZvciB1c2UgaW4gY3J5cHRvIG1vZHVsZS5cbiAgICAgIC8vIEhvd2V2ZXIgYnkgZGVmYXVsdCB0aGUgUzMgY2xpZW50IGlzIHVzaW5nIGFuIE1ENSBjaGVja3N1bSBmb3IgY29udGVudCBpbnRlZ3JpdHkgY2hlY2tpbmcuXG4gICAgICAvLyBXaGlsZSB0aGlzIHVzYWdlIGlzIHRlY2huaWNhbGx5IGFsbG93ZWQgaW4gRklQUyAoTUQ1IGlzIG9ubHkgcHJvaGliaXRlZCBmb3IgY3J5cHRvZ3JhcGhpYyB1c2UpLFxuICAgICAgLy8gaW4gcHJhY3RpY2UgaXQgaXMganVzdCBlYXNpZXIgdG8gdXNlIGFuIGFsbG93ZWQgY2hlY2tzdW0gbWVjaGFuaXNtLlxuICAgICAgLy8gV2UgYXJlIGRpc2FibGluZyB0aGUgUzMgY29udGVudCBjaGVja3N1bXMsIGFuZCBhcmUgcmUtZW5hYmxpbmcgdGhlIHJlZ3VsYXIgU2lnVjQgYm9keSBzaWduaW5nLlxuICAgICAgLy8gU2lnVjQgdXNlcyBTSEEyNTYgZm9yIHRoZWlyIGNvbnRlbnQgY2hlY2tzdW0uIFRoaXMgY29uZmlndXJhdGlvbiBtYXRjaGVzIHRoZSBkZWZhdWx0IGJlaGF2aW9yXG4gICAgICAvLyBvZiB0aGUgQVdTIFNES3YzIGFuZCBpcyBhIHNhZmUgY2hvaWNlIGZvciBhbGwgdXNlcnMuXG4gICAgICBzM0Rpc2FibGVCb2R5U2lnbmluZzogZmFsc2UsXG4gICAgICBjb21wdXRlQ2hlY2tzdW1zOiBmYWxzZSxcbiAgICAgIC4uLihhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGVjckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLkFXUy5FQ1IoYXdhaXQgdGhpcy5hd3NPcHRpb25zKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZWNyZXRzTWFuYWdlckNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLkFXUy5TZWNyZXRzTWFuYWdlcihhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyUGFydGl0aW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmRpc2NvdmVyQ3VycmVudEFjY291bnQoKSkucGFydGl0aW9uO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyRGVmYXVsdFJlZ2lvbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLkFXUy5jb25maWcucmVnaW9uIHx8ICd1cy1lYXN0LTEnO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyQ3VycmVudEFjY291bnQoKTogUHJvbWlzZTxBY2NvdW50PiB7XG4gICAgaWYgKHRoaXMuYWNjb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBzdHMgPSBuZXcgdGhpcy5BV1MuU1RTKCk7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHN0cy5nZXRDYWxsZXJJZGVudGl0eSgpLnByb21pc2UoKTtcbiAgICAgIGlmICghcmVzcG9uc2UuQWNjb3VudCB8fCAhcmVzcG9uc2UuQXJuKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIHJlc3BvbnNlIGZyb20gU1RTOiAnJHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9J2ApO1xuICAgICAgfVxuICAgICAgdGhpcy5hY2NvdW50ID0ge1xuICAgICAgICBhY2NvdW50SWQ6IHJlc3BvbnNlLkFjY291bnQhLFxuICAgICAgICBwYXJ0aXRpb246IHJlc3BvbnNlLkFybiEuc3BsaXQoJzonKVsxXSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkaXNjb3ZlclRhcmdldEFjY291bnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8QWNjb3VudD4ge1xuICAgIGNvbnN0IHN0cyA9IG5ldyB0aGlzLkFXUy5TVFMoYXdhaXQgdGhpcy5hd3NPcHRpb25zKG9wdGlvbnMpKTtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHN0cy5nZXRDYWxsZXJJZGVudGl0eSgpLnByb21pc2UoKTtcbiAgICBpZiAoIXJlc3BvbnNlLkFjY291bnQgfHwgIXJlc3BvbnNlLkFybikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgcmVzcG9uc2UgZnJvbSBTVFM6ICcke0pTT04uc3RyaW5naWZ5KHJlc3BvbnNlKX0nYCk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50SWQ6IHJlc3BvbnNlLkFjY291bnQhLFxuICAgICAgcGFydGl0aW9uOiByZXNwb25zZS5Bcm4hLnNwbGl0KCc6JylbMV0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYXdzT3B0aW9ucyhvcHRpb25zOiBDbGllbnRPcHRpb25zKSB7XG4gICAgbGV0IGNyZWRlbnRpYWxzO1xuXG4gICAgaWYgKG9wdGlvbnMuYXNzdW1lUm9sZUFybikge1xuICAgICAgY3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLmFzc3VtZVJvbGUoXG4gICAgICAgIG9wdGlvbnMucmVnaW9uLFxuICAgICAgICBvcHRpb25zLmFzc3VtZVJvbGVBcm4sXG4gICAgICAgIG9wdGlvbnMuYXNzdW1lUm9sZUV4dGVybmFsSWQsXG4gICAgICAgIG9wdGlvbnMuYXNzdW1lUm9sZUFkZGl0aW9uYWxPcHRpb25zXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICByZWdpb246IG9wdGlvbnMucmVnaW9uLFxuICAgICAgY3VzdG9tVXNlckFnZW50OiAnY2RrLWFzc2V0cycsXG4gICAgICBjcmVkZW50aWFscyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cGxpY2l0IG1hbnVhbCBBc3N1bWVSb2xlIGNhbGxcbiAgICpcbiAgICogTmVjZXNzYXJ5IHNpbmNlIEkgY2FuJ3Qgc2VlbSB0byBnZXQgdGhlIGJ1aWx0LWluIHN1cHBvcnQgZm9yIENoYWluYWJsZVRlbXBvcmFyeUNyZWRlbnRpYWxzIHRvIHdvcmsuXG4gICAqXG4gICAqIEl0IG5lZWRzIGFuIGV4cGxpY2l0IGNvbmZpZ3VyYXRpb24gb2YgYG1hc3RlckNyZWRlbnRpYWxzYCwgd2UgbmVlZCB0byBwdXRcbiAgICogYSBgRGVmYXVsdENyZWRlbnRpYWxQcm92ZXJDaGFpbigpYCBpbiB0aGVyZSBidXQgdGhhdCBpcyBub3QgcG9zc2libGUuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGFzc3VtZVJvbGUoXG4gICAgcmVnaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgcm9sZUFybjogc3RyaW5nLFxuICAgIGV4dGVybmFsSWQ/OiBzdHJpbmcsXG4gICAgYWRkaXRpb25hbE9wdGlvbnM/OiBBc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxBV1MuQ3JlZGVudGlhbHM+IHtcbiAgICByZXR1cm4gbmV3IHRoaXMuQVdTLkNoYWluYWJsZVRlbXBvcmFyeUNyZWRlbnRpYWxzKHtcbiAgICAgIHBhcmFtczoge1xuICAgICAgICBSb2xlQXJuOiByb2xlQXJuLFxuICAgICAgICBFeHRlcm5hbElkOiBleHRlcm5hbElkLFxuICAgICAgICBSb2xlU2Vzc2lvbk5hbWU6IGBjZGstYXNzZXRzLSR7c2FmZVVzZXJuYW1lKCl9YCxcbiAgICAgICAgVHJhbnNpdGl2ZVRhZ0tleXM6IGFkZGl0aW9uYWxPcHRpb25zPy5UYWdzXG4gICAgICAgICAgPyBhZGRpdGlvbmFsT3B0aW9ucy5UYWdzLm1hcCgodCkgPT4gdC5LZXkpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIC4uLihhZGRpdGlvbmFsT3B0aW9ucyA/PyB7fSksXG4gICAgICB9LFxuICAgICAgc3RzQ29uZmlnOiB7XG4gICAgICAgIHJlZ2lvbixcbiAgICAgICAgY3VzdG9tVXNlckFnZW50OiAnY2RrLWFzc2V0cycsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSB1c2VybmFtZSB3aXRoIGNoYXJhY3RlcnMgaW52YWxpZCBmb3IgYSBSb2xlU2Vzc2lvbk5hbWUgcmVtb3ZlZFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL1NUUy9sYXRlc3QvQVBJUmVmZXJlbmNlL0FQSV9Bc3N1bWVSb2xlLmh0bWwjQVBJX0Fzc3VtZVJvbGVfUmVxdWVzdFBhcmFtZXRlcnNcbiAqL1xuZnVuY3Rpb24gc2FmZVVzZXJuYW1lKCkge1xuICB0cnkge1xuICAgIHJldHVybiBvcy51c2VySW5mbygpLnVzZXJuYW1lLnJlcGxhY2UoL1teXFx3Kz0sLkAtXS9nLCAnQCcpO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gJ25vbmFtZSc7XG4gIH1cbn1cbiJdfQ==
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNDQUFzQztBQUN0Qyx5QkFBeUI7QUFnRHpCOztHQUVHO0FBQ0gsTUFBYSxnQkFBZ0I7SUFJM0IsWUFBWSxPQUFnQjtRQUMxQiwwRkFBMEY7UUFDMUYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyxHQUFHLENBQUM7UUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsR0FBRyxVQUFVLENBQUM7UUFDcEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsR0FBRyxHQUFHLENBQUM7UUFDdEQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQztRQUNwQyxDQUFDO1FBQ0QsNkZBQTZGO1FBQzdGLG9EQUFvRDtRQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxHQUFHLEdBQUcsQ0FBQztRQUUvRCxpRkFBaUY7UUFDakYsaUVBQWlFO1FBQ2pFLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQXNCO1FBQzFDLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLDZGQUE2RjtZQUM3Riw0RkFBNEY7WUFDNUYsa0dBQWtHO1lBQ2xHLHNFQUFzRTtZQUN0RSxpR0FBaUc7WUFDakcsZ0RBQWdEO1lBQ2hELEVBQUU7WUFDRix3RUFBd0U7WUFDeEUsb0NBQW9DO1lBQ3BDLG9EQUFvRDtZQUNwRCxFQUFFO1lBQ0YsZ0dBQWdHO1lBQ2hHLG1HQUFtRztZQUNuRywrQ0FBK0M7WUFDL0Msb0JBQW9CLEVBQUUsS0FBSztZQUMzQixnQkFBZ0IsRUFBRSxLQUFLO1NBQ3hCLENBQUM7UUFFRixPQUFPLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckIs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ImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdub2RlOmNyeXB0byc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5cbi8qKlxuICogQVdTIFNESyBvcGVyYXRpb25zIHJlcXVpcmVkIGJ5IEFzc2V0IFB1Ymxpc2hpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXdzIHtcbiAgZGlzY292ZXJQYXJ0aXRpb24oKTogUHJvbWlzZTxzdHJpbmc+O1xuICBkaXNjb3ZlckRlZmF1bHRSZWdpb24oKTogUHJvbWlzZTxzdHJpbmc+O1xuICBkaXNjb3ZlckN1cnJlbnRBY2NvdW50KCk6IFByb21pc2U8QWNjb3VudD47XG5cbiAgZGlzY292ZXJUYXJnZXRBY2NvdW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpOiBQcm9taXNlPEFjY291bnQ+O1xuICBzM0NsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBV1MuUzM+O1xuICBlY3JDbGllbnQob3B0aW9uczogQ2xpZW50T3B0aW9ucyk6IFByb21pc2U8QVdTLkVDUj47XG4gIHNlY3JldHNNYW5hZ2VyQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpOiBQcm9taXNlPEFXUy5TZWNyZXRzTWFuYWdlcj47XG59XG5cbi8vIFBhcnRpYWwgYmVjYXVzZSBgUm9sZVNlc3Npb25OYW1lYCBpcyByZXF1aXJlZCBpbiBTVFMsIGJ1dCB3ZSBoYXZlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgaXQuXG5leHBvcnQgdHlwZSBBc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnMgPSBQYXJ0aWFsPFxuICAvLyBjbG91ZC1hc3NlbWJseS1zY2hlbWEgdmFsaWRhdGVzIHRoYXQgYEV4dGVybmFsSWRgIGFuZCBgUm9sZUFybmAgYXJlIG5vdCBjb25maWd1cmVkXG4gIE9taXQ8QVdTLlNUUy5UeXBlcy5Bc3N1bWVSb2xlUmVxdWVzdCwgJ0V4dGVybmFsSWQnIHwgJ1JvbGVBcm4nPlxuPjtcblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnRPcHRpb25zIHtcbiAgcmVnaW9uPzogc3RyaW5nO1xuICBhc3N1bWVSb2xlQXJuPzogc3RyaW5nO1xuICBhc3N1bWVSb2xlRXh0ZXJuYWxJZD86IHN0cmluZztcbiAgYXNzdW1lUm9sZUFkZGl0aW9uYWxPcHRpb25zPzogQXNzdW1lUm9sZUFkZGl0aW9uYWxPcHRpb25zO1xuICBxdWlldD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gQVdTIGFjY291bnRcbiAqXG4gKiBBbiBBV1MgYWNjb3VudCBhbHdheXMgZXhpc3RzIGluIG9ubHkgb25lIHBhcnRpdGlvbi4gVXN1YWxseSB3ZSBkb24ndCBjYXJlIGFib3V0XG4gKiB0aGUgcGFydGl0aW9uLCBidXQgd2hlbiB3ZSBuZWVkIHRvIGZvcm0gQVJOcyB3ZSBkby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50IHtcbiAgLyoqXG4gICAqIFRoZSBhY2NvdW50IG51bWJlclxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJ0aXRpb24gKCdhd3MnIG9yICdhd3MtY24nIG9yIG90aGVyd2lzZSlcbiAgICovXG4gIHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFXUyBjbGllbnQgdXNpbmcgdGhlIEFXUyBTREsgZm9yIEpTIHdpdGggbm8gc3BlY2lhbCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWZhdWx0QXdzQ2xpZW50IGltcGxlbWVudHMgSUF3cyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgQVdTOiB0eXBlb2YgaW1wb3J0KCdhd3Mtc2RrJyk7XG4gIHByaXZhdGUgYWNjb3VudD86IEFjY291bnQ7XG5cbiAgY29uc3RydWN0b3IocHJvZmlsZT86IHN0cmluZykge1xuICAgIC8vIEZvcmNlIEFXUyBTREsgdG8gbG9vayBpbiB+Ly5hd3MvY3JlZGVudGlhbHMgYW5kIHBvdGVudGlhbGx5IHVzZSB0aGUgY29uZmlndXJlZCBwcm9maWxlLlxuICAgIHByb2Nlc3MuZW52LkFXU19TREtfTE9BRF9DT05GSUcgPSAnMSc7XG4gICAgcHJvY2Vzcy5lbnYuQVdTX1NUU19SRUdJT05BTF9FTkRQT0lOVFMgPSAncmVnaW9uYWwnO1xuICAgIHByb2Nlc3MuZW52LkFXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEID0gJzEnO1xuICAgIGlmIChwcm9maWxlKSB7XG4gICAgICBwcm9jZXNzLmVudi5BV1NfUFJPRklMRSA9IHByb2ZpbGU7XG4gICAgfVxuICAgIC8vIFN0b3AgU0RLdjIgZnJvbSBkaXNwbGF5aW5nIGEgd2FybmluZyBmb3Igbm93LiBXZSBhcmUgYXdhcmUgYW5kIHdpbGwgbWlncmF0ZSBhdCBzb21lIHBvaW50LFxuICAgIC8vIG91ciBjdXN0b21lciBkb24ndCBuZWVkIHRvIGJlIGJvdGhlcmVkIHdpdGggdGhpcy5cbiAgICBwcm9jZXNzLmVudi5BV1NfU0RLX0pTX1NVUFBSRVNTX01BSU5URU5BTkNFX01PREVfTUVTU0FHRSA9ICcxJztcblxuICAgIC8vIFdlIG5lZWQgdG8gc2V0IHRoZSBlbnZpcm9ubWVudCBiZWZvcmUgd2UgbG9hZCB0aGlzIGxpYnJhcnkgZm9yIHRoZSBmaXJzdCB0aW1lLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgdGhpcy5BV1MgPSByZXF1aXJlKCdhd3Mtc2RrJyk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgczNDbGllbnQob3B0aW9uczogQ2xpZW50T3B0aW9ucykge1xuICAgIGNvbnN0IGZpcHNPcHRpb25zID0ge1xuICAgICAgLy8gSW4gRklQUyBlbmFibGVkIGVudmlyb25tZW50cywgdGhlIE1ENSBhbGdvcml0aG0gaXMgbm90IGF2YWlsYWJsZSBmb3IgdXNlIGluIGNyeXB0byBtb2R1bGUuXG4gICAgICAvLyBIb3dldmVyIGJ5IGRlZmF1bHQgdGhlIFMzIGNsaWVudCBpcyB1c2luZyBhbiBNRDUgY2hlY2tzdW0gZm9yIGNvbnRlbnQgaW50ZWdyaXR5IGNoZWNraW5nLlxuICAgICAgLy8gV2hpbGUgdGhpcyB1c2FnZSBpcyB0ZWNobmljYWxseSBhbGxvd2VkIGluIEZJUFMgKE1ENSBpcyBvbmx5IHByb2hpYml0ZWQgZm9yIGNyeXB0b2dyYXBoaWMgdXNlKSxcbiAgICAgIC8vIGluIHByYWN0aWNlIGl0IGlzIGp1c3QgZWFzaWVyIHRvIHVzZSBhbiBhbGxvd2VkIGNoZWNrc3VtIG1lY2hhbmlzbS5cbiAgICAgIC8vIFdlIGFyZSBkaXNhYmxpbmcgdGhlIFMzIGNvbnRlbnQgY2hlY2tzdW1zLCBhbmQgYXJlIHJlLWVuYWJsaW5nIHRoZSByZWd1bGFyIFNpZ1Y0IGJvZHkgc2lnbmluZy5cbiAgICAgIC8vIFNpZ1Y0IHVzZXMgU0hBMjU2IGZvciB0aGVpciBjb250ZW50IGNoZWNrc3VtLlxuICAgICAgLy9cbiAgICAgIC8vIEFzIGZhciBhcyB3ZSBrbm93LCB0aGlzIGNvbmZpZ3VyYXRpb24gd2lsbCB3b3JrIGZvciBtb3N0IEFQSXMgZXhjZXB0OlxuICAgICAgLy8gLSBEZWxldGVPYmplY3RzIChub3RlIHRoZSBwbHVyYWwpXG4gICAgICAvLyAtIFB1dE9iamVjdCB0byBhIGJ1Y2tldCB3aXRoIE9iamVjdCBMb2NrIGVuYWJsZWQuXG4gICAgICAvL1xuICAgICAgLy8gVGhlc2UgQVBJcyByZWZ1c2UgdG8gd29yayB3aXRob3V0IGEgY29udGVudCBjaGVja3N1bSBhdCB0aGUgUzMgbGV2ZWwgKGEgU2lnVjQgY2hlY2tzdW0gaXMgbm90XG4gICAgICAvLyBnb29kIGVub3VnaCkuIFRoZXJlIGlzIG5vIHdheSB0byBnZXQgdGhvc2UgdG8gd29yayB3aXRoIFNIQTI1NiBpbiB0aGUgU0RLdjIsIGJ1dCB0aGlzIGxpbWl0YXRpb25cbiAgICAgIC8vIHdpbGwgYmUgYWxsZXZpYXRlZCBvbmNlIHdlIG1pZ3JhdGUgdG8gU0RLdjMuXG4gICAgICBzM0Rpc2FibGVCb2R5U2lnbmluZzogZmFsc2UsXG4gICAgICBjb21wdXRlQ2hlY2tzdW1zOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ldyB0aGlzLkFXUy5TMyh7XG4gICAgICAuLi4oY3J5cHRvLmdldEZpcHMoKSA/IGZpcHNPcHRpb25zIDoge30pLFxuICAgICAgLi4uKGF3YWl0IHRoaXMuYXdzT3B0aW9ucyhvcHRpb25zKSksXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZWNyQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuQVdTLkVDUihhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlY3JldHNNYW5hZ2VyQ2xpZW50KG9wdGlvbnM6IENsaWVudE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuQVdTLlNlY3JldHNNYW5hZ2VyKGF3YWl0IHRoaXMuYXdzT3B0aW9ucyhvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJQYXJ0aXRpb24oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuZGlzY292ZXJDdXJyZW50QWNjb3VudCgpKS5wYXJ0aXRpb247XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJEZWZhdWx0UmVnaW9uKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuQVdTLmNvbmZpZy5yZWdpb24gfHwgJ3VzLWVhc3QtMSc7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGlzY292ZXJDdXJyZW50QWNjb3VudCgpOiBQcm9taXNlPEFjY291bnQ+IHtcbiAgICBpZiAodGhpcy5hY2NvdW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHN0cyA9IG5ldyB0aGlzLkFXUy5TVFMoKTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc3RzLmdldENhbGxlcklkZW50aXR5KCkucHJvbWlzZSgpO1xuICAgICAgaWYgKCFyZXNwb25zZS5BY2NvdW50IHx8ICFyZXNwb25zZS5Bcm4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgcmVzcG9uc2UgZnJvbSBTVFM6ICcke0pTT04uc3RyaW5naWZ5KHJlc3BvbnNlKX0nYCk7XG4gICAgICB9XG4gICAgICB0aGlzLmFjY291bnQgPSB7XG4gICAgICAgIGFjY291bnRJZDogcmVzcG9uc2UuQWNjb3VudCEsXG4gICAgICAgIHBhcnRpdGlvbjogcmVzcG9uc2UuQXJuIS5zcGxpdCgnOicpWzFdLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hY2NvdW50O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRpc2NvdmVyVGFyZ2V0QWNjb3VudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUHJvbWlzZTxBY2NvdW50PiB7XG4gICAgY29uc3Qgc3RzID0gbmV3IHRoaXMuQVdTLlNUUyhhd2FpdCB0aGlzLmF3c09wdGlvbnMob3B0aW9ucykpO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc3RzLmdldENhbGxlcklkZW50aXR5KCkucHJvbWlzZSgpO1xuICAgIGlmICghcmVzcG9uc2UuQWNjb3VudCB8fCAhcmVzcG9uc2UuQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCByZXNwb25zZSBmcm9tIFNUUzogJyR7SlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpfSdgKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjY291bnRJZDogcmVzcG9uc2UuQWNjb3VudCEsXG4gICAgICBwYXJ0aXRpb246IHJlc3BvbnNlLkFybiEuc3BsaXQoJzonKVsxXSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBhd3NPcHRpb25zKG9wdGlvbnM6IENsaWVudE9wdGlvbnMpIHtcbiAgICBsZXQgY3JlZGVudGlhbHM7XG5cbiAgICBpZiAob3B0aW9ucy5hc3N1bWVSb2xlQXJuKSB7XG4gICAgICBjcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuYXNzdW1lUm9sZShcbiAgICAgICAgb3B0aW9ucy5yZWdpb24sXG4gICAgICAgIG9wdGlvbnMuYXNzdW1lUm9sZUFybixcbiAgICAgICAgb3B0aW9ucy5hc3N1bWVSb2xlRXh0ZXJuYWxJZCxcbiAgICAgICAgb3B0aW9ucy5hc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnNcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHJlZ2lvbjogb3B0aW9ucy5yZWdpb24sXG4gICAgICBjdXN0b21Vc2VyQWdlbnQ6ICdjZGstYXNzZXRzJyxcbiAgICAgIGNyZWRlbnRpYWxzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRXhwbGljaXQgbWFudWFsIEFzc3VtZVJvbGUgY2FsbFxuICAgKlxuICAgKiBOZWNlc3Nhcnkgc2luY2UgSSBjYW4ndCBzZWVtIHRvIGdldCB0aGUgYnVpbHQtaW4gc3VwcG9ydCBmb3IgQ2hhaW5hYmxlVGVtcG9yYXJ5Q3JlZGVudGlhbHMgdG8gd29yay5cbiAgICpcbiAgICogSXQgbmVlZHMgYW4gZXhwbGljaXQgY29uZmlndXJhdGlvbiBvZiBgbWFzdGVyQ3JlZGVudGlhbHNgLCB3ZSBuZWVkIHRvIHB1dFxuICAgKiBhIGBEZWZhdWx0Q3JlZGVudGlhbFByb3ZlckNoYWluKClgIGluIHRoZXJlIGJ1dCB0aGF0IGlzIG5vdCBwb3NzaWJsZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgYXNzdW1lUm9sZShcbiAgICByZWdpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICByb2xlQXJuOiBzdHJpbmcsXG4gICAgZXh0ZXJuYWxJZD86IHN0cmluZyxcbiAgICBhZGRpdGlvbmFsT3B0aW9ucz86IEFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9uc1xuICApOiBQcm9taXNlPEFXUy5DcmVkZW50aWFscz4ge1xuICAgIHJldHVybiBuZXcgdGhpcy5BV1MuQ2hhaW5hYmxlVGVtcG9yYXJ5Q3JlZGVudGlhbHMoe1xuICAgICAgcGFyYW1zOiB7XG4gICAgICAgIFJvbGVBcm46IHJvbGVBcm4sXG4gICAgICAgIEV4dGVybmFsSWQ6IGV4dGVybmFsSWQsXG4gICAgICAgIFJvbGVTZXNzaW9uTmFtZTogYGNkay1hc3NldHMtJHtzYWZlVXNlcm5hbWUoKX1gLFxuICAgICAgICBUcmFuc2l0aXZlVGFnS2V5czogYWRkaXRpb25hbE9wdGlvbnM/LlRhZ3NcbiAgICAgICAgICA/IGFkZGl0aW9uYWxPcHRpb25zLlRhZ3MubWFwKCh0KSA9PiB0LktleSlcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgLi4uKGFkZGl0aW9uYWxPcHRpb25zID8/IHt9KSxcbiAgICAgIH0sXG4gICAgICBzdHNDb25maWc6IHtcbiAgICAgICAgcmVnaW9uLFxuICAgICAgICBjdXN0b21Vc2VyQWdlbnQ6ICdjZGstYXNzZXRzJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIHVzZXJuYW1lIHdpdGggY2hhcmFjdGVycyBpbnZhbGlkIGZvciBhIFJvbGVTZXNzaW9uTmFtZSByZW1vdmVkXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vU1RTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Fzc3VtZVJvbGUuaHRtbCNBUElfQXNzdW1lUm9sZV9SZXF1ZXN0UGFyYW1ldGVyc1xuICovXG5mdW5jdGlvbiBzYWZlVXNlcm5hbWUoKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIG9zLnVzZXJJbmZvKCkudXNlcm5hbWUucmVwbGFjZSgvW15cXHcrPSwuQC1dL2csICdAJyk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiAnbm9uYW1lJztcbiAgfVxufVxuIl19
@@ -45,7 +45,7 @@
45
45
  "jszip": "^3.10.1",
46
46
  "mock-fs": "^4.14.0",
47
47
  "prettier": "^3.3.3",
48
- "projen": "^0.88.8",
48
+ "projen": "^0.88.9",
49
49
  "ts-jest": "^29.2.5",
50
50
  "ts-node": "^10.9.2",
51
51
  "typescript": "^5.6.3"
@@ -872,9 +872,9 @@
872
872
  }
873
873
  },
874
874
  "node_modules/@jest/console/node_modules/@types/node": {
875
- "version": "22.8.2",
876
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
877
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
875
+ "version": "22.8.4",
876
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
877
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
878
878
  "dev": true,
879
879
  "license": "MIT",
880
880
  "dependencies": {
@@ -937,9 +937,9 @@
937
937
  }
938
938
  },
939
939
  "node_modules/@jest/core/node_modules/@types/node": {
940
- "version": "22.8.2",
941
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
942
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
940
+ "version": "22.8.4",
941
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
942
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
943
943
  "dev": true,
944
944
  "license": "MIT",
945
945
  "dependencies": {
@@ -1016,9 +1016,9 @@
1016
1016
  }
1017
1017
  },
1018
1018
  "node_modules/@jest/environment/node_modules/@types/node": {
1019
- "version": "22.8.2",
1020
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
1021
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
1019
+ "version": "22.8.4",
1020
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
1021
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
1022
1022
  "dev": true,
1023
1023
  "license": "MIT",
1024
1024
  "dependencies": {
@@ -1078,9 +1078,9 @@
1078
1078
  }
1079
1079
  },
1080
1080
  "node_modules/@jest/fake-timers/node_modules/@types/node": {
1081
- "version": "22.8.2",
1082
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
1083
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
1081
+ "version": "22.8.4",
1082
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
1083
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
1084
1084
  "dev": true,
1085
1085
  "license": "MIT",
1086
1086
  "dependencies": {
@@ -1155,9 +1155,9 @@
1155
1155
  }
1156
1156
  },
1157
1157
  "node_modules/@jest/reporters/node_modules/@types/node": {
1158
- "version": "22.8.2",
1159
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
1160
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
1158
+ "version": "22.8.4",
1159
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
1160
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
1161
1161
  "dev": true,
1162
1162
  "license": "MIT",
1163
1163
  "dependencies": {
@@ -1277,9 +1277,9 @@
1277
1277
  }
1278
1278
  },
1279
1279
  "node_modules/@jest/types/node_modules/@types/node": {
1280
- "version": "22.8.2",
1281
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
1282
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
1280
+ "version": "22.8.4",
1281
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
1282
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
1283
1283
  "dev": true,
1284
1284
  "license": "MIT",
1285
1285
  "dependencies": {
@@ -1598,9 +1598,9 @@
1598
1598
  }
1599
1599
  },
1600
1600
  "node_modules/@types/glob/node_modules/@types/node": {
1601
- "version": "22.8.2",
1602
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
1603
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
1601
+ "version": "22.8.4",
1602
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
1603
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
1604
1604
  "dev": true,
1605
1605
  "license": "MIT",
1606
1606
  "dependencies": {
@@ -1625,9 +1625,9 @@
1625
1625
  }
1626
1626
  },
1627
1627
  "node_modules/@types/graceful-fs/node_modules/@types/node": {
1628
- "version": "22.8.2",
1629
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
1630
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
1628
+ "version": "22.8.4",
1629
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
1630
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
1631
1631
  "dev": true,
1632
1632
  "license": "MIT",
1633
1633
  "dependencies": {
@@ -1718,9 +1718,9 @@
1718
1718
  }
1719
1719
  },
1720
1720
  "node_modules/@types/mock-fs/node_modules/@types/node": {
1721
- "version": "22.8.2",
1722
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
1723
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
1721
+ "version": "22.8.4",
1722
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
1723
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
1724
1724
  "dev": true,
1725
1725
  "license": "MIT",
1726
1726
  "dependencies": {
@@ -1735,9 +1735,9 @@
1735
1735
  "license": "MIT"
1736
1736
  },
1737
1737
  "node_modules/@types/node": {
1738
- "version": "18.19.60",
1739
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.60.tgz",
1740
- "integrity": "sha512-cYRj7igVqgxhlHFdBHHpU2SNw3+dN2x0VTZJtLYk6y/ieuGN4XiBgtDjYVktM/yk2y/8pKMileNc6IoEzEJnUw==",
1738
+ "version": "18.19.61",
1739
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.61.tgz",
1740
+ "integrity": "sha512-z8fH66NcVkDzBItOao+Nyh0fiy7CYdxIyxnNCcZ60aY0I+EA/y4TSi/S/W9i8DIQvwVo7a0pgzAxmDeNnqrpkw==",
1741
1741
  "dev": true,
1742
1742
  "license": "MIT",
1743
1743
  "dependencies": {
@@ -1762,9 +1762,9 @@
1762
1762
  }
1763
1763
  },
1764
1764
  "node_modules/@types/readdir-glob/node_modules/@types/node": {
1765
- "version": "22.8.2",
1766
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
1767
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
1765
+ "version": "22.8.4",
1766
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
1767
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
1768
1768
  "dev": true,
1769
1769
  "license": "MIT",
1770
1770
  "dependencies": {
@@ -2821,9 +2821,9 @@
2821
2821
  }
2822
2822
  },
2823
2823
  "node_modules/caniuse-lite": {
2824
- "version": "1.0.30001673",
2825
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001673.tgz",
2826
- "integrity": "sha512-WTrjUCSMp3LYX0nE12ECkV0a+e6LC85E0Auz75555/qr78Oc8YWhEPNfDd6SHdtlCMSzqtuXY0uyEMNRcsKpKw==",
2824
+ "version": "1.0.30001674",
2825
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001674.tgz",
2826
+ "integrity": "sha512-jOsKlZVRnzfhLojb+Ykb+gyUSp9Xb57So+fAiFlLzzTKpqg8xxSav0e40c8/4F/v9N8QSvrRRaLeVzQbLqomYw==",
2827
2827
  "dev": true,
2828
2828
  "funding": [
2829
2829
  {
@@ -3978,9 +3978,9 @@
3978
3978
  }
3979
3979
  },
3980
3980
  "node_modules/electron-to-chromium": {
3981
- "version": "1.5.48",
3982
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.48.tgz",
3983
- "integrity": "sha512-FXULnNK7ACNI9MTMOVAzUGiz/YrK9Kcb0s/JT4aJgsam7Eh6XYe7Y6q95lPq+VdBe1DpT2eTnfXFtnuPGCks4w==",
3981
+ "version": "1.5.49",
3982
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.49.tgz",
3983
+ "integrity": "sha512-ZXfs1Of8fDb6z7WEYZjXpgIRF6MEu8JdeGA0A40aZq6OQbS+eJpnnV49epZRna2DU/YsEjSQuGtQPPtvt6J65A==",
3984
3984
  "dev": true,
3985
3985
  "license": "ISC"
3986
3986
  },
@@ -6237,9 +6237,9 @@
6237
6237
  }
6238
6238
  },
6239
6239
  "node_modules/jest-circus/node_modules/@types/node": {
6240
- "version": "22.8.2",
6241
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6242
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6240
+ "version": "22.8.4",
6241
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6242
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6243
6243
  "dev": true,
6244
6244
  "license": "MIT",
6245
6245
  "dependencies": {
@@ -6378,7 +6378,7 @@
6378
6378
  }
6379
6379
  },
6380
6380
  "node_modules/jest-config/node_modules/@types/node": {
6381
- "version": "22.8.2",
6381
+ "version": "22.8.4",
6382
6382
  "dev": true,
6383
6383
  "license": "MIT",
6384
6384
  "optional": true,
@@ -6461,9 +6461,9 @@
6461
6461
  }
6462
6462
  },
6463
6463
  "node_modules/jest-environment-node/node_modules/@types/node": {
6464
- "version": "22.8.2",
6465
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6466
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6464
+ "version": "22.8.4",
6465
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6466
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6467
6467
  "dev": true,
6468
6468
  "license": "MIT",
6469
6469
  "dependencies": {
@@ -6514,9 +6514,9 @@
6514
6514
  }
6515
6515
  },
6516
6516
  "node_modules/jest-haste-map/node_modules/@types/node": {
6517
- "version": "22.8.2",
6518
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6519
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6517
+ "version": "22.8.4",
6518
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6519
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6520
6520
  "dev": true,
6521
6521
  "license": "MIT",
6522
6522
  "dependencies": {
@@ -6623,9 +6623,9 @@
6623
6623
  }
6624
6624
  },
6625
6625
  "node_modules/jest-mock/node_modules/@types/node": {
6626
- "version": "22.8.2",
6627
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6628
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6626
+ "version": "22.8.4",
6627
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6628
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6629
6629
  "dev": true,
6630
6630
  "license": "MIT",
6631
6631
  "dependencies": {
@@ -6736,9 +6736,9 @@
6736
6736
  }
6737
6737
  },
6738
6738
  "node_modules/jest-runner/node_modules/@types/node": {
6739
- "version": "22.8.2",
6740
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6741
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6739
+ "version": "22.8.4",
6740
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6741
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6742
6742
  "dev": true,
6743
6743
  "license": "MIT",
6744
6744
  "dependencies": {
@@ -6787,9 +6787,9 @@
6787
6787
  }
6788
6788
  },
6789
6789
  "node_modules/jest-runtime/node_modules/@types/node": {
6790
- "version": "22.8.2",
6791
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6792
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6790
+ "version": "22.8.4",
6791
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6792
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6793
6793
  "dev": true,
6794
6794
  "license": "MIT",
6795
6795
  "dependencies": {
@@ -6864,9 +6864,9 @@
6864
6864
  }
6865
6865
  },
6866
6866
  "node_modules/jest-util/node_modules/@types/node": {
6867
- "version": "22.8.2",
6868
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6869
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6867
+ "version": "22.8.4",
6868
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6869
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6870
6870
  "dev": true,
6871
6871
  "license": "MIT",
6872
6872
  "dependencies": {
@@ -6932,9 +6932,9 @@
6932
6932
  }
6933
6933
  },
6934
6934
  "node_modules/jest-watcher/node_modules/@types/node": {
6935
- "version": "22.8.2",
6936
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6937
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6935
+ "version": "22.8.4",
6936
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6937
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6938
6938
  "dev": true,
6939
6939
  "license": "MIT",
6940
6940
  "dependencies": {
@@ -6965,9 +6965,9 @@
6965
6965
  }
6966
6966
  },
6967
6967
  "node_modules/jest-worker/node_modules/@types/node": {
6968
- "version": "22.8.2",
6969
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.2.tgz",
6970
- "integrity": "sha512-NzaRNFV+FZkvK/KLCsNdTvID0SThyrs5SHB6tsD/lajr22FGC73N2QeDPM2wHtVde8mgcXuSsHQkH5cX1pbPLw==",
6968
+ "version": "22.8.4",
6969
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.4.tgz",
6970
+ "integrity": "sha512-SpNNxkftTJOPk0oN+y2bIqurEXHTA2AOZ3EJDDKeJ5VzkvvORSvmQXGQarcOzWV1ac7DCaPBEdMDxBsM+d8jWw==",
6971
6971
  "dev": true,
6972
6972
  "license": "MIT",
6973
6973
  "dependencies": {
@@ -8307,9 +8307,9 @@
8307
8307
  "license": "MIT"
8308
8308
  },
8309
8309
  "node_modules/projen": {
8310
- "version": "0.88.8",
8311
- "resolved": "https://registry.npmjs.org/projen/-/projen-0.88.8.tgz",
8312
- "integrity": "sha512-lDh6QsyVwflKFaXjPLlyGGe3Qm6XFesvu/AEWoeakXLkpb+UQsWFcG1uddMqOx2LDVQKn1SRApwnIKBlo/fGEA==",
8310
+ "version": "0.88.9",
8311
+ "resolved": "https://registry.npmjs.org/projen/-/projen-0.88.9.tgz",
8312
+ "integrity": "sha512-YMza01PNTsOXk9HnRq39meR4eh4TCu4otVQTEUyPAd6e2utgEK/AqHgZypJlRVws7Hb627nv603qgAwiq6yT4Q==",
8313
8313
  "bundleDependencies": [
8314
8314
  "@iarna/toml",
8315
8315
  "case",
@@ -10247,22 +10247,22 @@
10247
10247
  }
10248
10248
  },
10249
10249
  "node_modules/tldts": {
10250
- "version": "6.1.56",
10251
- "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.56.tgz",
10252
- "integrity": "sha512-2PT1oRZCxtsbLi5R2SQjE/v4vvgRggAtVcYj+3Rrcnu2nPZvu7m64+gDa/EsVSWd3QzEc0U0xN+rbEKsJC47kA==",
10250
+ "version": "6.1.57",
10251
+ "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.57.tgz",
10252
+ "integrity": "sha512-Oy7yDXK8meJl8vPMOldzA+MtueAJ5BrH4l4HXwZuj2AtfoQbLjmTJmjNWPUcAo+E/ibHn7QlqMS0BOcXJFJyHQ==",
10253
10253
  "dev": true,
10254
10254
  "license": "MIT",
10255
10255
  "dependencies": {
10256
- "tldts-core": "^6.1.56"
10256
+ "tldts-core": "^6.1.57"
10257
10257
  },
10258
10258
  "bin": {
10259
10259
  "tldts": "bin/cli.js"
10260
10260
  }
10261
10261
  },
10262
10262
  "node_modules/tldts-core": {
10263
- "version": "6.1.56",
10264
- "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.56.tgz",
10265
- "integrity": "sha512-Ihxv/Bwiyj73icTYVgBUkQ3wstlCglLoegSgl64oSrGUBX1hc7Qmf/CnrnJLaQdZrCnTaLqMYOwKMKlkfkFrxQ==",
10263
+ "version": "6.1.57",
10264
+ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.57.tgz",
10265
+ "integrity": "sha512-lXnRhuQpx3zU9EONF9F7HfcRLvN1uRYUBIiKL+C/gehC/77XTU+Jye6ui86GA3rU6FjlJ0triD1Tkjt2F/2lEg==",
10266
10266
  "dev": true,
10267
10267
  "license": "MIT"
10268
10268
  },
package/package.json CHANGED
@@ -54,7 +54,7 @@
54
54
  "jszip": "^3.10.1",
55
55
  "mock-fs": "^4.14.0",
56
56
  "prettier": "^3.3.3",
57
- "projen": "^0.88.8",
57
+ "projen": "^0.88.9",
58
58
  "ts-jest": "^29.2.5",
59
59
  "ts-node": "^10.9.2",
60
60
  "typescript": "^5.6.3"
@@ -78,7 +78,7 @@
78
78
  "publishConfig": {
79
79
  "access": "public"
80
80
  },
81
- "version": "2.155.18",
81
+ "version": "2.155.20",
82
82
  "types": "lib/index.d.ts",
83
83
  "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
84
84
  }
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": "38.0.1",
3
+ "files": {
4
+ "asset1": {
5
+ "type": "file",
6
+ "source": { "path": "/Users/huijbers/Downloads/HEY-arm64.dmg" },
7
+ "destinations": {
8
+ "dest1": { "bucketName": "huijbers-test-objectlock", "objectKey": "hey-arm64.dmg" }
9
+ }
10
+ }
11
+ }
12
+ }
@@ -0,0 +1,22 @@
1
+ #!/bin/bash
2
+ set -eu
3
+ scriptdir=$(cd $(dirname $0) && pwd)
4
+
5
+ path=$(realpath $1)
6
+
7
+ cat <<EOF > $scriptdir/manual-test-manifest.json
8
+ {
9
+ "version": "38.0.1",
10
+ "files": {
11
+ "asset1": {
12
+ "type": "file",
13
+ "source": { "path": "$path" },
14
+ "destinations": {
15
+ "dest1": { "bucketName": "$2", "objectKey": "$3" }
16
+ }
17
+ }
18
+ }
19
+ }
20
+ EOF
21
+
22
+ npx ts-node $scriptdir/../bin/cdk-assets.ts -v -p $scriptdir/manual-test-manifest.json publish