cdk-assets 2.152.0 → 3.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  Apache License
2
3
  Version 2.0, January 2004
3
4
  http://www.apache.org/licenses/
@@ -186,7 +187,7 @@
186
187
  same "printed page" as the copyright notice for easier
187
188
  identification within third-party archives.
188
189
 
189
- Copyright 2018-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
190
+ Copyright [yyyy] [name of copyright owner]
190
191
 
191
192
  Licensed under the Apache License, Version 2.0 (the "License");
192
193
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -1,15 +1,19 @@
1
1
  # cdk-assets
2
+
2
3
  <!--BEGIN STABILITY BANNER-->
3
4
 
4
5
  ---
5
6
 
6
- ![cdk-constructs: Stable](https://img.shields.io/badge/cdk--constructs-stable-success.svg?style=for-the-badge)
7
+ > V3 of cdk-assets is still under active development and is subject to non-backward compatible changes while
8
+ > being released with the `rc` suffix.
9
+ >
10
+ > These changes are not subject to the [Semantic Versioning](https://semver.org/) model and breaking changes
11
+ > will be announced in the release notes.
7
12
 
8
13
  ---
9
14
 
10
15
  <!--END STABILITY BANNER-->
11
16
 
12
-
13
17
  A tool for publishing CDK assets to AWS environments.
14
18
 
15
19
  ## Overview
@@ -21,9 +25,9 @@ the manifest.
21
25
 
22
26
  Currently the following asset types are supported:
23
27
 
24
- * Files and archives, uploaded to S3
25
- * Docker Images, uploaded to ECR
26
- * Files, archives, and Docker images built by external utilities
28
+ - Files and archives, uploaded to S3
29
+ - Docker Images, uploaded to ECR
30
+ - Files, archives, and Docker images built by external utilities
27
31
 
28
32
  S3 buckets and ECR repositories to upload to are expected to exist already.
29
33
 
@@ -31,9 +35,9 @@ We expect assets to be immutable, and we expect that immutability to be
31
35
  reflected both in the asset ID and in the destination location. This reflects
32
36
  itself in the following behaviors:
33
37
 
34
- * If the indicated asset already exists in the given destination location, it
38
+ - If the indicated asset already exists in the given destination location, it
35
39
  will not be packaged and uploaded.
36
- * If some locally cached artifact (depending on the asset type a file or an
40
+ - If some locally cached artifact (depending on the asset type a file or an
37
41
  image in the local Docker cache) already exists named after the asset's ID, it
38
42
  will not be packaged, but will be uploaded directly to the destination
39
43
  location.
@@ -49,7 +53,8 @@ asset, or the name of the local Docker image.
49
53
 
50
54
  The `cdk-asset` tool can be used programmatically and via the CLI. Use
51
55
  programmatic access if you need more control over authentication than the
52
- default [`aws-sdk`](https://github.com/aws/aws-sdk-js) implementation allows.
56
+ default [AWS SDK for JavaScript v3](https://github.com/aws/aws-sdk-js-v3)
57
+ implementation allows.
53
58
 
54
59
  Command-line use looks like this:
55
60
 
@@ -97,12 +102,12 @@ An asset manifest looks like this:
97
102
  "objectKey": "3dfe2b80b050e7e4e168f84feff678d4.zip"
98
103
  }
99
104
  }
100
- },
105
+ }
101
106
  },
102
107
  "dockerImages": {
103
108
  "b48783c58a86f7b8c68a4591c4f9be31": {
104
109
  "source": {
105
- "directory": "dockerdir",
110
+ "directory": "dockerdir"
106
111
  },
107
112
  "destinations": {
108
113
  "us-east-1": {
@@ -110,13 +115,13 @@ An asset manifest looks like this:
110
115
  "assumeRoleArn": "arn:aws:iam::12345789012:role/my-account",
111
116
  "repositoryName": "MyRepository",
112
117
  "imageTag": "b48783c58a86f7b8c68a4591c4f9be31",
113
- "imageUri": "123456789012.dkr.ecr.us-east-1.amazonaws.com/MyRepository:1234567891b48783c58a86f7b8c68a4591c4f9be31",
118
+ "imageUri": "123456789012.dkr.ecr.us-east-1.amazonaws.com/MyRepository:1234567891b48783c58a86f7b8c68a4591c4f9be31"
114
119
  }
115
120
  }
116
121
  },
117
122
  "d92753c58a86f7b8c68a4591c4f9cf28": {
118
123
  "source": {
119
- "executable": ["mytool", "package", "dockerdir"],
124
+ "executable": ["mytool", "package", "dockerdir"]
120
125
  },
121
126
  "destinations": {
122
127
  "us-east-1": {
@@ -124,7 +129,7 @@ An asset manifest looks like this:
124
129
  "assumeRoleArn": "arn:aws:iam::12345789012:role/my-account",
125
130
  "repositoryName": "MyRepository2",
126
131
  "imageTag": "d92753c58a86f7b8c68a4591c4f9cf28",
127
- "imageUri": "123456789987.dkr.ecr.us-east-1.amazonaws.com/MyRepository2:1234567891b48783c58a86f7b8c68a4591c4f9be31",
132
+ "imageUri": "123456789987.dkr.ecr.us-east-1.amazonaws.com/MyRepository2:1234567891b48783c58a86f7b8c68a4591c4f9be31"
128
133
  }
129
134
  }
130
135
  }
@@ -137,15 +142,15 @@ An asset manifest looks like this:
137
142
  The `destination` block of an asset manifest may contain the following region
138
143
  and account placeholders:
139
144
 
140
- * `${AWS::Region}`
141
- * `${AWS::AccountId}`
145
+ - `${AWS::Region}`
146
+ - `${AWS::AccountId}`
142
147
 
143
148
  These will be substituted with the region and account IDs currently configured
144
149
  on the AWS SDK (through environment variables or `~/.aws/...` config files).
145
150
 
146
- * The `${AWS::AccountId}` placeholder will *not* be re-evaluated after
151
+ - The `${AWS::AccountId}` placeholder will _not_ be re-evaluated after
147
152
  performing the `AssumeRole` call.
148
- * If `${AWS::Region}` is used, it will principally be replaced with the value
153
+ - If `${AWS::Region}` is used, it will principally be replaced with the value
149
154
  in the `region` key. If the default region is intended, leave the `region`
150
155
  key out of the manifest at all.
151
156
 
package/bin/cdk-assets.js CHANGED
@@ -23,12 +23,19 @@ async function main() {
23
23
  default: '.',
24
24
  requiresArg: true,
25
25
  })
26
- .command('ls', 'List assets from the given manifest', command => command, wrapHandler(async (args) => {
26
+ .command('ls', 'List assets from the given manifest', (command) => command, wrapHandler(async (args) => {
27
27
  await (0, list_1.list)(args);
28
28
  }))
29
- .command('publish [ASSET..]', 'Publish assets in the given manifest', command => command
30
- .option('profile', { type: 'string', describe: 'Profile to use from AWS Credentials file' })
31
- .positional('ASSET', { type: 'string', array: true, describe: 'Assets to publish (format: "ASSET[:DEST]"), default all' }), wrapHandler(async (args) => {
29
+ .command('publish [ASSET..]', 'Publish assets in the given manifest', (command) => command
30
+ .option('profile', {
31
+ type: 'string',
32
+ describe: 'Profile to use from AWS Credentials file',
33
+ })
34
+ .positional('ASSET', {
35
+ type: 'string',
36
+ array: true,
37
+ describe: 'Assets to publish (format: "ASSET[:DEST]"), default all',
38
+ }), wrapHandler(async (args) => {
32
39
  await (0, publish_1.publish)({
33
40
  path: args.path,
34
41
  assets: args.ASSET,
@@ -39,8 +46,7 @@ async function main() {
39
46
  .help()
40
47
  .strict() // Error on wrong command
41
48
  .version(logging_1.VERSION)
42
- .showHelpOnFail(false)
43
- .argv;
49
+ .showHelpOnFail(false).argv;
44
50
  // Evaluating .argv triggers the parsing but the command gets implicitly executed,
45
51
  // so we don't need the output.
46
52
  Array.isArray(argv);
@@ -56,9 +62,9 @@ function wrapHandler(handler) {
56
62
  await handler(argv);
57
63
  };
58
64
  }
59
- main().catch(e => {
65
+ main().catch((e) => {
60
66
  // eslint-disable-next-line no-console
61
67
  console.error(e.stack);
62
68
  process.exitCode = 1;
63
69
  });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQkFBK0I7QUFDL0IsaUNBQThCO0FBQzlCLHVDQUFxRDtBQUNyRCx1Q0FBb0M7QUFDcEMsZ0NBQXVDO0FBRXZDLEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLEtBQUs7U0FDZixLQUFLLENBQUMsaUJBQWlCLENBQUM7U0FDeEIsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxDQUFDO0tBQ1gsQ0FBQztTQUNELE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDZCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsSUFBSSxFQUFFLHdFQUF3RTtZQUNoRixhQUFhLG1CQUFhLENBQUMsZ0JBQWdCLDJCQUEyQjtRQUNwRSxPQUFPLEVBQUUsR0FBRztRQUNaLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxPQUFPLENBQUMsSUFBSSxFQUFFLHFDQUFxQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUNwRSxXQUFXLENBQUMsS0FBSyxFQUFDLElBQUksRUFBQyxFQUFFO1FBQ3pCLE1BQU0sSUFBQSxXQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7U0FDSixPQUFPLENBQUMsbUJBQW1CLEVBQUUsc0NBQXNDLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPO1NBQ3JGLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSwwQ0FBMEMsRUFBRSxDQUFDO1NBQzNGLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLHlEQUF5RCxFQUFFLENBQUMsRUFDMUgsV0FBVyxDQUFDLEtBQUssRUFBQyxJQUFJLEVBQUMsRUFBRTtRQUN6QixNQUFNLElBQUEsaUJBQU8sRUFBQztZQUNaLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSztZQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDRixhQUFhLEVBQUU7U0FDZixJQUFJLEVBQUU7U0FDTixNQUFNLEVBQUUsQ0FBQyx5QkFBeUI7U0FDbEMsT0FBTyxDQUFDLGlCQUFPLENBQUM7U0FDaEIsY0FBYyxDQUFDLEtBQUssQ0FBQztTQUNyQixJQUFJLENBQUM7SUFFUixrRkFBa0Y7SUFDbEYsK0JBQStCO0lBQy9CLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxXQUFXLENBQW9DLE9BQTZCO0lBQ25GLE9BQU8sS0FBSyxFQUFFLElBQU8sRUFBRSxFQUFFO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUEseUJBQWUsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLHNDQUFzQztJQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IGxpc3QgfSBmcm9tICcuL2xpc3QnO1xuaW1wb3J0IHsgc2V0TG9nVGhyZXNob2xkLCBWRVJTSU9OIH0gZnJvbSAnLi9sb2dnaW5nJztcbmltcG9ydCB7IHB1Ymxpc2ggfSBmcm9tICcuL3B1Ymxpc2gnO1xuaW1wb3J0IHsgQXNzZXRNYW5pZmVzdCB9IGZyb20gJy4uL2xpYic7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIGNvbnN0IGFyZ3YgPSB5YXJnc1xuICAgIC51c2FnZSgnJDAgPGNtZD4gW2FyZ3NdJylcbiAgICAub3B0aW9uKCd2ZXJib3NlJywge1xuICAgICAgYWxpYXM6ICd2JyxcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6ICdJbmNyZWFzZSBsb2dnaW5nIHZlcmJvc2l0eScsXG4gICAgICBjb3VudDogdHJ1ZSxcbiAgICAgIGRlZmF1bHQ6IDAsXG4gICAgfSlcbiAgICAub3B0aW9uKCdwYXRoJywge1xuICAgICAgYWxpYXM6ICdwJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVzYzogJ1RoZSBwYXRoIChmaWxlIG9yIGRpcmVjdG9yeSkgdG8gbG9hZCB0aGUgYXNzZXRzIGZyb20uIElmIGEgZGlyZWN0b3J5LCAnICtcbiAgICBgdGhlIGZpbGUgJyR7QXNzZXRNYW5pZmVzdC5ERUZBVUxUX0ZJTEVOQU1FfScgd2lsbCBiZSBsb2FkZWQgZnJvbSBpdC5gLFxuICAgICAgZGVmYXVsdDogJy4nLFxuICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgfSlcbiAgICAuY29tbWFuZCgnbHMnLCAnTGlzdCBhc3NldHMgZnJvbSB0aGUgZ2l2ZW4gbWFuaWZlc3QnLCBjb21tYW5kID0+IGNvbW1hbmRcbiAgICAgICwgd3JhcEhhbmRsZXIoYXN5bmMgYXJncyA9PiB7XG4gICAgICAgIGF3YWl0IGxpc3QoYXJncyk7XG4gICAgICB9KSlcbiAgICAuY29tbWFuZCgncHVibGlzaCBbQVNTRVQuLl0nLCAnUHVibGlzaCBhc3NldHMgaW4gdGhlIGdpdmVuIG1hbmlmZXN0JywgY29tbWFuZCA9PiBjb21tYW5kXG4gICAgICAub3B0aW9uKCdwcm9maWxlJywgeyB0eXBlOiAnc3RyaW5nJywgZGVzY3JpYmU6ICdQcm9maWxlIHRvIHVzZSBmcm9tIEFXUyBDcmVkZW50aWFscyBmaWxlJyB9KVxuICAgICAgLnBvc2l0aW9uYWwoJ0FTU0VUJywgeyB0eXBlOiAnc3RyaW5nJywgYXJyYXk6IHRydWUsIGRlc2NyaWJlOiAnQXNzZXRzIHRvIHB1Ymxpc2ggKGZvcm1hdDogXCJBU1NFVFs6REVTVF1cIiksIGRlZmF1bHQgYWxsJyB9KVxuICAgICwgd3JhcEhhbmRsZXIoYXN5bmMgYXJncyA9PiB7XG4gICAgICBhd2FpdCBwdWJsaXNoKHtcbiAgICAgICAgcGF0aDogYXJncy5wYXRoLFxuICAgICAgICBhc3NldHM6IGFyZ3MuQVNTRVQsXG4gICAgICAgIHByb2ZpbGU6IGFyZ3MucHJvZmlsZSxcbiAgICAgIH0pO1xuICAgIH0pKVxuICAgIC5kZW1hbmRDb21tYW5kKClcbiAgICAuaGVscCgpXG4gICAgLnN0cmljdCgpIC8vIEVycm9yIG9uIHdyb25nIGNvbW1hbmRcbiAgICAudmVyc2lvbihWRVJTSU9OKVxuICAgIC5zaG93SGVscE9uRmFpbChmYWxzZSlcbiAgICAuYXJndjtcblxuICAvLyBFdmFsdWF0aW5nIC5hcmd2IHRyaWdnZXJzIHRoZSBwYXJzaW5nIGJ1dCB0aGUgY29tbWFuZCBnZXRzIGltcGxpY2l0bHkgZXhlY3V0ZWQsXG4gIC8vIHNvIHdlIGRvbid0IG5lZWQgdGhlIG91dHB1dC5cbiAgQXJyYXkuaXNBcnJheShhcmd2KTtcbn1cblxuLyoqXG4gKiBXcmFwIGEgY29tbWFuZCdzIGhhbmRsZXIgd2l0aCBzdGFuZGFyZCBwcmUtIGFuZCBwb3N0LXdvcmtcbiAqL1xuZnVuY3Rpb24gd3JhcEhhbmRsZXI8QSBleHRlbmRzIHsgdmVyYm9zZT86IG51bWJlciB9LCBSPihoYW5kbGVyOiAoeDogQSkgPT4gUHJvbWlzZTxSPikge1xuICByZXR1cm4gYXN5bmMgKGFyZ3Y6IEEpID0+IHtcbiAgICBpZiAoYXJndi52ZXJib3NlKSB7XG4gICAgICBzZXRMb2dUaHJlc2hvbGQoJ3ZlcmJvc2UnKTtcbiAgICB9XG4gICAgYXdhaXQgaGFuZGxlcihhcmd2KTtcbiAgfTtcbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUuc3RhY2spO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbn0pO1xuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNkay1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQkFBK0I7QUFDL0IsaUNBQThCO0FBQzlCLHVDQUFxRDtBQUNyRCx1Q0FBb0M7QUFDcEMsZ0NBQXVDO0FBRXZDLEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLEtBQUs7U0FDZixLQUFLLENBQUMsaUJBQWlCLENBQUM7U0FDeEIsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxTQUFTO1FBQ2YsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxDQUFDO0tBQ1gsQ0FBQztTQUNELE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDZCxLQUFLLEVBQUUsR0FBRztRQUNWLElBQUksRUFBRSxRQUFRO1FBQ2QsSUFBSSxFQUNGLHdFQUF3RTtZQUN4RSxhQUFhLG1CQUFhLENBQUMsZ0JBQWdCLDJCQUEyQjtRQUN4RSxPQUFPLEVBQUUsR0FBRztRQUNaLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7U0FDRCxPQUFPLENBQ04sSUFBSSxFQUNKLHFDQUFxQyxFQUNyQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxFQUNwQixXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3pCLE1BQU0sSUFBQSxXQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQ0g7U0FDQSxPQUFPLENBQ04sbUJBQW1CLEVBQ25CLHNDQUFzQyxFQUN0QyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1YsT0FBTztTQUNKLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsSUFBSSxFQUFFLFFBQVE7UUFDZCxRQUFRLEVBQUUsMENBQTBDO0tBQ3JELENBQUM7U0FDRCxVQUFVLENBQUMsT0FBTyxFQUFFO1FBQ25CLElBQUksRUFBRSxRQUFRO1FBQ2QsS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRLEVBQUUseURBQXlEO0tBQ3BFLENBQUMsRUFDTixXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3pCLE1BQU0sSUFBQSxpQkFBTyxFQUFDO1lBQ1osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FDSDtTQUNBLGFBQWEsRUFBRTtTQUNmLElBQUksRUFBRTtTQUNOLE1BQU0sRUFBRSxDQUFDLHlCQUF5QjtTQUNsQyxPQUFPLENBQUMsaUJBQU8sQ0FBQztTQUNoQixjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRTlCLGtGQUFrRjtJQUNsRiwrQkFBK0I7SUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLFdBQVcsQ0FBb0MsT0FBNkI7SUFDbkYsT0FBTyxLQUFLLEVBQUUsSUFBTyxFQUFFLEVBQUU7UUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBQSx5QkFBZSxFQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDakIsc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0IHsgbGlzdCB9IGZyb20gJy4vbGlzdCc7XG5pbXBvcnQgeyBzZXRMb2dUaHJlc2hvbGQsIFZFUlNJT04gfSBmcm9tICcuL2xvZ2dpbmcnO1xuaW1wb3J0IHsgcHVibGlzaCB9IGZyb20gJy4vcHVibGlzaCc7XG5pbXBvcnQgeyBBc3NldE1hbmlmZXN0IH0gZnJvbSAnLi4vbGliJztcblxuYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgYXJndiA9IHlhcmdzXG4gICAgLnVzYWdlKCckMCA8Y21kPiBbYXJnc10nKVxuICAgIC5vcHRpb24oJ3ZlcmJvc2UnLCB7XG4gICAgICBhbGlhczogJ3YnLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ0luY3JlYXNlIGxvZ2dpbmcgdmVyYm9zaXR5JyxcbiAgICAgIGNvdW50OiB0cnVlLFxuICAgICAgZGVmYXVsdDogMCxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3BhdGgnLCB7XG4gICAgICBhbGlhczogJ3AnLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZXNjOlxuICAgICAgICAnVGhlIHBhdGggKGZpbGUgb3IgZGlyZWN0b3J5KSB0byBsb2FkIHRoZSBhc3NldHMgZnJvbS4gSWYgYSBkaXJlY3RvcnksICcgK1xuICAgICAgICBgdGhlIGZpbGUgJyR7QXNzZXRNYW5pZmVzdC5ERUZBVUxUX0ZJTEVOQU1FfScgd2lsbCBiZSBsb2FkZWQgZnJvbSBpdC5gLFxuICAgICAgZGVmYXVsdDogJy4nLFxuICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgfSlcbiAgICAuY29tbWFuZChcbiAgICAgICdscycsXG4gICAgICAnTGlzdCBhc3NldHMgZnJvbSB0aGUgZ2l2ZW4gbWFuaWZlc3QnLFxuICAgICAgKGNvbW1hbmQpID0+IGNvbW1hbmQsXG4gICAgICB3cmFwSGFuZGxlcihhc3luYyAoYXJncykgPT4ge1xuICAgICAgICBhd2FpdCBsaXN0KGFyZ3MpO1xuICAgICAgfSlcbiAgICApXG4gICAgLmNvbW1hbmQoXG4gICAgICAncHVibGlzaCBbQVNTRVQuLl0nLFxuICAgICAgJ1B1Ymxpc2ggYXNzZXRzIGluIHRoZSBnaXZlbiBtYW5pZmVzdCcsXG4gICAgICAoY29tbWFuZCkgPT5cbiAgICAgICAgY29tbWFuZFxuICAgICAgICAgIC5vcHRpb24oJ3Byb2ZpbGUnLCB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGRlc2NyaWJlOiAnUHJvZmlsZSB0byB1c2UgZnJvbSBBV1MgQ3JlZGVudGlhbHMgZmlsZScsXG4gICAgICAgICAgfSlcbiAgICAgICAgICAucG9zaXRpb25hbCgnQVNTRVQnLCB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGFycmF5OiB0cnVlLFxuICAgICAgICAgICAgZGVzY3JpYmU6ICdBc3NldHMgdG8gcHVibGlzaCAoZm9ybWF0OiBcIkFTU0VUWzpERVNUXVwiKSwgZGVmYXVsdCBhbGwnLFxuICAgICAgICAgIH0pLFxuICAgICAgd3JhcEhhbmRsZXIoYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgICAgYXdhaXQgcHVibGlzaCh7XG4gICAgICAgICAgcGF0aDogYXJncy5wYXRoLFxuICAgICAgICAgIGFzc2V0czogYXJncy5BU1NFVCxcbiAgICAgICAgICBwcm9maWxlOiBhcmdzLnByb2ZpbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApXG4gICAgLmRlbWFuZENvbW1hbmQoKVxuICAgIC5oZWxwKClcbiAgICAuc3RyaWN0KCkgLy8gRXJyb3Igb24gd3JvbmcgY29tbWFuZFxuICAgIC52ZXJzaW9uKFZFUlNJT04pXG4gICAgLnNob3dIZWxwT25GYWlsKGZhbHNlKS5hcmd2O1xuXG4gIC8vIEV2YWx1YXRpbmcgLmFyZ3YgdHJpZ2dlcnMgdGhlIHBhcnNpbmcgYnV0IHRoZSBjb21tYW5kIGdldHMgaW1wbGljaXRseSBleGVjdXRlZCxcbiAgLy8gc28gd2UgZG9uJ3QgbmVlZCB0aGUgb3V0cHV0LlxuICBBcnJheS5pc0FycmF5KGFyZ3YpO1xufVxuXG4vKipcbiAqIFdyYXAgYSBjb21tYW5kJ3MgaGFuZGxlciB3aXRoIHN0YW5kYXJkIHByZS0gYW5kIHBvc3Qtd29ya1xuICovXG5mdW5jdGlvbiB3cmFwSGFuZGxlcjxBIGV4dGVuZHMgeyB2ZXJib3NlPzogbnVtYmVyIH0sIFI+KGhhbmRsZXI6ICh4OiBBKSA9PiBQcm9taXNlPFI+KSB7XG4gIHJldHVybiBhc3luYyAoYXJndjogQSkgPT4ge1xuICAgIGlmIChhcmd2LnZlcmJvc2UpIHtcbiAgICAgIHNldExvZ1RocmVzaG9sZCgndmVyYm9zZScpO1xuICAgIH1cbiAgICBhd2FpdCBoYW5kbGVyKGFyZ3YpO1xuICB9O1xufVxuXG5tYWluKCkuY2F0Y2goKGUpID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5lcnJvcihlLnN0YWNrKTtcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG59KTtcbiJdfQ==
@@ -31,9 +31,9 @@ async function main() {
31
31
  // Write the credentials back to stdout
32
32
  fs.writeFileSync(1, JSON.stringify(credentials));
33
33
  }
34
- main().catch(e => {
34
+ main().catch((e) => {
35
35
  // eslint-disable-next-line no-console
36
36
  console.error(e.stack);
37
37
  process.exitCode = 1;
38
38
  });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRvY2tlci1jcmVkZW50aWFsLWNkay1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILHlCQUF5QjtBQUN6QixnQ0FBMEM7QUFFMUMsMEVBQWdJO0FBRWhJLEtBQUssVUFBVSxJQUFJO0lBQ2pCLDRGQUE0RjtJQUM1RixrRUFBa0U7SUFDbEUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHlDQUFvQixHQUFFLENBQUM7SUFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsSUFBQSw2Q0FBd0IsR0FBRSxFQUFFLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLGdEQUEyQixFQUFDLElBQUksc0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEcsdUNBQXVDO0lBQ3ZDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQ2Ysc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEb2NrZXIgQ3JlZGVudGlhbCBIZWxwZXIgdG8gcmV0cmlldmUgY3JlZGVudGlhbHMgYmFzZWQgb24gYW4gZXh0ZXJuYWwgY29uZmlndXJhdGlvbiBmaWxlLlxuICogU3VwcG9ydHMgbG9hZGluZyBjcmVkZW50aWFscyBmcm9tIEVDUiByZXBvc2l0b3JpZXMgYW5kIGZyb20gU2VjcmV0cyBNYW5hZ2VyLFxuICogb3B0aW9uYWxseSB2aWEgYW4gYXNzdW1lZCByb2xlLlxuICpcbiAqIFRoZSBvbmx5IG9wZXJhdGlvbiBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IHRoaXMgY3JlZGVudGlhbCBoZWxwZXIgYXQgdGhpcyB0aW1lIGlzIHRoZSBgZ2V0YFxuICogY29tbWFuZCwgd2hpY2ggcmVjZWl2ZXMgYSBkb21haW4gbmFtZSBhcyBpbnB1dCBvbiBzdGRpbiBhbmQgcmV0dXJucyBhIFVzZXJuYW1lL1NlY3JldCBpblxuICogSlNPTiBmb3JtYXQgb24gc3Rkb3V0LlxuICpcbiAqIElNUE9SVEFOVCAtIFRoZSBjcmVkZW50aWFsIGhlbHBlciBtdXN0IG5vdCBvdXRwdXQgYW55dGhpbmcgZWxzZSBiZXNpZGVzIHRoZSBmaW5hbCBjcmVkZW50aWFsc1xuICogaW4gYW55IHN1Y2Nlc3MgY2FzZTsgZG9pbmcgc28gYnJlYWtzIGRvY2tlcidzIHBhcnNpbmcgb2YgdGhlIG91dHB1dCBhbmQgY2F1c2VzIHRoZSBsb2dpbiB0byBmYWlsLlxuICovXG5cbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IERlZmF1bHRBd3NDbGllbnQgfSBmcm9tICcuLi9saWInO1xuXG5pbXBvcnQgeyBjZGtDcmVkZW50aWFsc0NvbmZpZywgY2RrQ3JlZGVudGlhbHNDb25maWdGaWxlLCBmZXRjaERvY2tlckxvZ2luQ3JlZGVudGlhbHMgfSBmcm9tICcuLi9saWIvcHJpdmF0ZS9kb2NrZXItY3JlZGVudGlhbHMnO1xuXG5hc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICAvLyBFeHBlY3RlZCBpbnZvY2F0aW9uIGlzIFtub2RlLCBkb2NrZXItY3JlZGVudGlhbC1jZGstYXNzZXRzLCBnZXRdIHdpdGggaW5wdXQgZmVkIHZpYSBTVERJTlxuICAvLyBGb3Igb3RoZXIgdmFsaWQgZG9ja2VyIGNvbW1hbmRzIChzdG9yZSwgbGlzdCwgZXJhc2UpLCB3ZSBuby1vcC5cbiAgaWYgKHByb2Nlc3MuYXJndi5sZW5ndGggIT09IDMgfHwgcHJvY2Vzcy5hcmd2WzJdICE9PSAnZ2V0Jykge1xuICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZyA9IGNka0NyZWRlbnRpYWxzQ29uZmlnKCk7XG4gIGlmICghY29uZmlnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB1bmFibGUgdG8gZmluZCBDREsgRG9ja2VyIGNyZWRlbnRpYWxzIGF0OiAke2Nka0NyZWRlbnRpYWxzQ29uZmlnRmlsZSgpfWApO1xuICB9XG5cbiAgLy8gUmVhZCB0aGUgZG9tYWluIHRvIGZldGNoIGZyb20gc3RkaW5cbiAgbGV0IGVuZHBvaW50ID0gZnMucmVhZEZpbGVTeW5jKDAsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSkudHJpbSgpO1xuICBjb25zdCBjcmVkZW50aWFscyA9IGF3YWl0IGZldGNoRG9ja2VyTG9naW5DcmVkZW50aWFscyhuZXcgRGVmYXVsdEF3c0NsaWVudCgpLCBjb25maWcsIGVuZHBvaW50KTtcbiAgLy8gV3JpdGUgdGhlIGNyZWRlbnRpYWxzIGJhY2sgdG8gc3Rkb3V0XG4gIGZzLndyaXRlRmlsZVN5bmMoMSwgSlNPTi5zdHJpbmdpZnkoY3JlZGVudGlhbHMpKTtcbn1cblxubWFpbigpLmNhdGNoKGUgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmVycm9yKGUuc3RhY2spO1xuICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbn0pO1xuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLWNyZWRlbnRpYWwtY2RrLWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRvY2tlci1jcmVkZW50aWFsLWNkay1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7OztHQVdHOztBQUVILHlCQUF5QjtBQUN6QixnQ0FBMEM7QUFFMUMsMEVBSTJDO0FBRTNDLEtBQUssVUFBVSxJQUFJO0lBQ2pCLDRGQUE0RjtJQUM1RixrRUFBa0U7SUFDbEUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHlDQUFvQixHQUFFLENBQUM7SUFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsSUFBQSw2Q0FBd0IsR0FBRSxFQUFFLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLGdEQUEyQixFQUFDLElBQUksc0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEcsdUNBQXVDO0lBQ3ZDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDakIsc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEb2NrZXIgQ3JlZGVudGlhbCBIZWxwZXIgdG8gcmV0cmlldmUgY3JlZGVudGlhbHMgYmFzZWQgb24gYW4gZXh0ZXJuYWwgY29uZmlndXJhdGlvbiBmaWxlLlxuICogU3VwcG9ydHMgbG9hZGluZyBjcmVkZW50aWFscyBmcm9tIEVDUiByZXBvc2l0b3JpZXMgYW5kIGZyb20gU2VjcmV0cyBNYW5hZ2VyLFxuICogb3B0aW9uYWxseSB2aWEgYW4gYXNzdW1lZCByb2xlLlxuICpcbiAqIFRoZSBvbmx5IG9wZXJhdGlvbiBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IHRoaXMgY3JlZGVudGlhbCBoZWxwZXIgYXQgdGhpcyB0aW1lIGlzIHRoZSBgZ2V0YFxuICogY29tbWFuZCwgd2hpY2ggcmVjZWl2ZXMgYSBkb21haW4gbmFtZSBhcyBpbnB1dCBvbiBzdGRpbiBhbmQgcmV0dXJucyBhIFVzZXJuYW1lL1NlY3JldCBpblxuICogSlNPTiBmb3JtYXQgb24gc3Rkb3V0LlxuICpcbiAqIElNUE9SVEFOVCAtIFRoZSBjcmVkZW50aWFsIGhlbHBlciBtdXN0IG5vdCBvdXRwdXQgYW55dGhpbmcgZWxzZSBiZXNpZGVzIHRoZSBmaW5hbCBjcmVkZW50aWFsc1xuICogaW4gYW55IHN1Y2Nlc3MgY2FzZTsgZG9pbmcgc28gYnJlYWtzIGRvY2tlcidzIHBhcnNpbmcgb2YgdGhlIG91dHB1dCBhbmQgY2F1c2VzIHRoZSBsb2dpbiB0byBmYWlsLlxuICovXG5cbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IERlZmF1bHRBd3NDbGllbnQgfSBmcm9tICcuLi9saWInO1xuXG5pbXBvcnQge1xuICBjZGtDcmVkZW50aWFsc0NvbmZpZyxcbiAgY2RrQ3JlZGVudGlhbHNDb25maWdGaWxlLFxuICBmZXRjaERvY2tlckxvZ2luQ3JlZGVudGlhbHMsXG59IGZyb20gJy4uL2xpYi9wcml2YXRlL2RvY2tlci1jcmVkZW50aWFscyc7XG5cbmFzeW5jIGZ1bmN0aW9uIG1haW4oKSB7XG4gIC8vIEV4cGVjdGVkIGludm9jYXRpb24gaXMgW25vZGUsIGRvY2tlci1jcmVkZW50aWFsLWNkay1hc3NldHMsIGdldF0gd2l0aCBpbnB1dCBmZWQgdmlhIFNURElOXG4gIC8vIEZvciBvdGhlciB2YWxpZCBkb2NrZXIgY29tbWFuZHMgKHN0b3JlLCBsaXN0LCBlcmFzZSksIHdlIG5vLW9wLlxuICBpZiAocHJvY2Vzcy5hcmd2Lmxlbmd0aCAhPT0gMyB8fCBwcm9jZXNzLmFyZ3ZbMl0gIT09ICdnZXQnKSB7XG4gICAgcHJvY2Vzcy5leGl0KDApO1xuICB9XG5cbiAgY29uc3QgY29uZmlnID0gY2RrQ3JlZGVudGlhbHNDb25maWcoKTtcbiAgaWYgKCFjb25maWcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHVuYWJsZSB0byBmaW5kIENESyBEb2NrZXIgY3JlZGVudGlhbHMgYXQ6ICR7Y2RrQ3JlZGVudGlhbHNDb25maWdGaWxlKCl9YCk7XG4gIH1cblxuICAvLyBSZWFkIHRoZSBkb21haW4gdG8gZmV0Y2ggZnJvbSBzdGRpblxuICBsZXQgZW5kcG9pbnQgPSBmcy5yZWFkRmlsZVN5bmMoMCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KS50cmltKCk7XG4gIGNvbnN0IGNyZWRlbnRpYWxzID0gYXdhaXQgZmV0Y2hEb2NrZXJMb2dpbkNyZWRlbnRpYWxzKG5ldyBEZWZhdWx0QXdzQ2xpZW50KCksIGNvbmZpZywgZW5kcG9pbnQpO1xuICAvLyBXcml0ZSB0aGUgY3JlZGVudGlhbHMgYmFjayB0byBzdGRvdXRcbiAgZnMud3JpdGVGaWxlU3luYygxLCBKU09OLnN0cmluZ2lmeShjcmVkZW50aWFscykpO1xufVxuXG5tYWluKCkuY2F0Y2goKGUpID0+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5lcnJvcihlLnN0YWNrKTtcbiAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG59KTtcbiJdfQ==
package/bin/list.js CHANGED
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.list = void 0;
3
+ exports.list = list;
4
4
  const lib_1 = require("../lib");
5
5
  async function list(args) {
6
6
  const manifest = lib_1.AssetManifest.fromPath(args.path);
7
7
  // eslint-disable-next-line no-console
8
8
  console.log(manifest.list().join('\n'));
9
9
  }
10
- exports.list = list;
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0NBQXVDO0FBRWhDLEtBQUssVUFBVSxJQUFJLENBQUMsSUFFMUI7SUFDQyxNQUFNLFFBQVEsR0FBRyxtQkFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsc0NBQXNDO0lBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFORCxvQkFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2V0TWFuaWZlc3QgfSBmcm9tICcuLi9saWInO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbGlzdChhcmdzOiB7XG4gIHBhdGg6IHN0cmluZztcbn0pIHtcbiAgY29uc3QgbWFuaWZlc3QgPSBBc3NldE1hbmlmZXN0LmZyb21QYXRoKGFyZ3MucGF0aCk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUubG9nKG1hbmlmZXN0Lmxpc3QoKS5qb2luKCdcXG4nKSk7XG59Il19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxvQkFJQztBQU5ELGdDQUF1QztBQUVoQyxLQUFLLFVBQVUsSUFBSSxDQUFDLElBQXNCO0lBQy9DLE1BQU0sUUFBUSxHQUFHLG1CQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzc2V0TWFuaWZlc3QgfSBmcm9tICcuLi9saWInO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbGlzdChhcmdzOiB7IHBhdGg6IHN0cmluZyB9KSB7XG4gIGNvbnN0IG1hbmlmZXN0ID0gQXNzZXRNYW5pZmVzdC5mcm9tUGF0aChhcmdzLnBhdGgpO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhtYW5pZmVzdC5saXN0KCkuam9pbignXFxuJykpO1xufVxuIl19
package/bin/logging.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.log = exports.setLogThreshold = exports.VERSION = void 0;
3
+ exports.VERSION = void 0;
4
+ exports.setLogThreshold = setLogThreshold;
5
+ exports.log = log;
4
6
  const fs = require("fs");
5
7
  const path = require("path");
6
8
  let logThreshold = 'info';
@@ -13,12 +15,10 @@ const LOG_LEVELS = {
13
15
  function setLogThreshold(threshold) {
14
16
  logThreshold = threshold;
15
17
  }
16
- exports.setLogThreshold = setLogThreshold;
17
18
  function log(level, message) {
18
19
  if (LOG_LEVELS[level] >= LOG_LEVELS[logThreshold]) {
19
20
  // eslint-disable-next-line no-console
20
21
  console.error(`${level.padEnd(7, ' ')}: ${message}`);
21
22
  }
22
23
  }
23
- exports.log = log;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUc3QixJQUFJLFlBQVksR0FBYSxNQUFNLENBQUM7QUFFdkIsUUFBQSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBRTlILE1BQU0sVUFBVSxHQUE2QjtJQUMzQyxPQUFPLEVBQUUsQ0FBQztJQUNWLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLENBQUM7Q0FDVCxDQUFDO0FBRUYsU0FBZ0IsZUFBZSxDQUFDLFNBQW1CO0lBQ2pELFlBQVksR0FBRyxTQUFTLENBQUM7QUFDM0IsQ0FBQztBQUZELDBDQUVDO0FBRUQsU0FBZ0IsR0FBRyxDQUFDLEtBQWUsRUFBRSxPQUFlO0lBQ2xELElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ2xELHNDQUFzQztRQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0FBQ0gsQ0FBQztBQUxELGtCQUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuZXhwb3J0IHR5cGUgTG9nTGV2ZWwgPSAndmVyYm9zZScgfCAnaW5mbycgfCAnZXJyb3InO1xubGV0IGxvZ1RocmVzaG9sZDogTG9nTGV2ZWwgPSAnaW5mbyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ3BhY2thZ2UuanNvbicpLCB7IGVuY29kaW5nOiAndXRmLTgnIH0pKS52ZXJzaW9uO1xuXG5jb25zdCBMT0dfTEVWRUxTOiBSZWNvcmQ8TG9nTGV2ZWwsIG51bWJlcj4gPSB7XG4gIHZlcmJvc2U6IDEsXG4gIGluZm86IDIsXG4gIGVycm9yOiAzLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldExvZ1RocmVzaG9sZCh0aHJlc2hvbGQ6IExvZ0xldmVsKSB7XG4gIGxvZ1RocmVzaG9sZCA9IHRocmVzaG9sZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWwsIG1lc3NhZ2U6IHN0cmluZykge1xuICBpZiAoTE9HX0xFVkVMU1tsZXZlbF0gPj0gTE9HX0xFVkVMU1tsb2dUaHJlc2hvbGRdKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKGAke2xldmVsLnBhZEVuZCg3LCAnICcpfTogJHttZXNzYWdlfWApO1xuICB9XG59Il19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0JBLDBDQUVDO0FBRUQsa0JBS0M7QUF6QkQseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUc3QixJQUFJLFlBQVksR0FBYSxNQUFNLENBQUM7QUFFdkIsUUFBQSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDL0IsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FDbkYsQ0FBQyxPQUFPLENBQUM7QUFFVixNQUFNLFVBQVUsR0FBNkI7SUFDM0MsT0FBTyxFQUFFLENBQUM7SUFDVixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxDQUFDO0NBQ1QsQ0FBQztBQUVGLFNBQWdCLGVBQWUsQ0FBQyxTQUFtQjtJQUNqRCxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBQzNCLENBQUM7QUFFRCxTQUFnQixHQUFHLENBQUMsS0FBZSxFQUFFLE9BQWU7SUFDbEQsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7UUFDbEQsc0NBQXNDO1FBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuZXhwb3J0IHR5cGUgTG9nTGV2ZWwgPSAndmVyYm9zZScgfCAnaW5mbycgfCAnZXJyb3InO1xubGV0IGxvZ1RocmVzaG9sZDogTG9nTGV2ZWwgPSAnaW5mbyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gSlNPTi5wYXJzZShcbiAgZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihfX2Rpcm5hbWUsICcuLicsICdwYWNrYWdlLmpzb24nKSwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KVxuKS52ZXJzaW9uO1xuXG5jb25zdCBMT0dfTEVWRUxTOiBSZWNvcmQ8TG9nTGV2ZWwsIG51bWJlcj4gPSB7XG4gIHZlcmJvc2U6IDEsXG4gIGluZm86IDIsXG4gIGVycm9yOiAzLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldExvZ1RocmVzaG9sZCh0aHJlc2hvbGQ6IExvZ0xldmVsKSB7XG4gIGxvZ1RocmVzaG9sZCA9IHRocmVzaG9sZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZyhsZXZlbDogTG9nTGV2ZWwsIG1lc3NhZ2U6IHN0cmluZykge1xuICBpZiAoTE9HX0xFVkVMU1tsZXZlbF0gPj0gTE9HX0xFVkVMU1tsb2dUaHJlc2hvbGRdKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmVycm9yKGAke2xldmVsLnBhZEVuZCg3LCAnICcpfTogJHttZXNzYWdlfWApO1xuICB9XG59XG4iXX0=
package/bin/publish.js CHANGED
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publish = void 0;
3
+ exports.publish = publish;
4
4
  const logging_1 = require("./logging");
5
5
  const lib_1 = require("../lib");
6
6
  async function publish(args) {
7
7
  let manifest = lib_1.AssetManifest.fromPath(args.path);
8
8
  (0, logging_1.log)('verbose', `Loaded manifest from ${args.path}: ${manifest.entries.length} assets found`);
9
9
  if (args.assets && args.assets.length > 0) {
10
- const selection = args.assets.map(a => lib_1.DestinationPattern.parse(a));
10
+ const selection = args.assets.map((a) => lib_1.DestinationPattern.parse(a));
11
11
  manifest = manifest.select(selection);
12
12
  (0, logging_1.log)('verbose', `Applied selection: ${manifest.entries.length} assets selected.`);
13
13
  }
@@ -25,7 +25,6 @@ async function publish(args) {
25
25
  process.exitCode = 1;
26
26
  }
27
27
  }
28
- exports.publish = publish;
29
28
  const EVENT_TO_LEVEL = {
30
29
  build: 'verbose',
31
30
  cached: 'verbose',
@@ -42,4 +41,4 @@ class ConsoleProgress {
42
41
  (0, logging_1.log)(EVENT_TO_LEVEL[type], `[${event.percentComplete}%] ${type}: ${event.message}`);
43
42
  }
44
43
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQTBDO0FBQzFDLGdDQUdnQjtBQUVULEtBQUssVUFBVSxPQUFPLENBQUMsSUFJN0I7SUFFQyxJQUFJLFFBQVEsR0FBRyxtQkFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsSUFBQSxhQUFHLEVBQUMsU0FBUyxFQUFFLHdCQUF3QixJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxlQUFlLENBQUMsQ0FBQztJQUU3RixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyx3QkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxJQUFBLGFBQUcsRUFBQyxTQUFTLEVBQUUsc0JBQXNCLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLHFCQUFlLENBQUMsUUFBUSxFQUFFO1FBQ3hDLEdBQUcsRUFBRSxJQUFJLHNCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxlQUFlLEVBQUU7UUFDdkMsWUFBWSxFQUFFLEtBQUs7S0FDcEIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFcEIsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsS0FBSyxNQUFNLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7QUFDSCxDQUFDO0FBL0JELDBCQStCQztBQUVELE1BQU0sY0FBYyxHQUFnQztJQUNsRCxLQUFLLEVBQUUsU0FBUztJQUNoQixNQUFNLEVBQUUsU0FBUztJQUNqQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxNQUFNO0lBQ2IsT0FBTyxFQUFFLE1BQU07SUFDZixNQUFNLEVBQUUsU0FBUztDQUNsQixDQUFDO0FBRUYsTUFBTSxlQUFlO0lBQ1osY0FBYyxDQUFDLElBQWUsRUFBRSxLQUF1QjtRQUM1RCxJQUFBLGFBQUcsRUFBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsZUFBZSxNQUFNLElBQUksS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNyRixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2csIExvZ0xldmVsIH0gZnJvbSAnLi9sb2dnaW5nJztcbmltcG9ydCB7XG4gIEFzc2V0TWFuaWZlc3QsIEFzc2V0UHVibGlzaGluZywgRGVmYXVsdEF3c0NsaWVudCwgRGVzdGluYXRpb25QYXR0ZXJuLCBFdmVudFR5cGUsXG4gIElQdWJsaXNoUHJvZ3Jlc3MsIElQdWJsaXNoUHJvZ3Jlc3NMaXN0ZW5lcixcbn0gZnJvbSAnLi4vbGliJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHB1Ymxpc2goYXJnczoge1xuICBwYXRoOiBzdHJpbmc7XG4gIGFzc2V0cz86IHN0cmluZ1tdO1xuICBwcm9maWxlPzogc3RyaW5nO1xufSkge1xuXG4gIGxldCBtYW5pZmVzdCA9IEFzc2V0TWFuaWZlc3QuZnJvbVBhdGgoYXJncy5wYXRoKTtcbiAgbG9nKCd2ZXJib3NlJywgYExvYWRlZCBtYW5pZmVzdCBmcm9tICR7YXJncy5wYXRofTogJHttYW5pZmVzdC5lbnRyaWVzLmxlbmd0aH0gYXNzZXRzIGZvdW5kYCk7XG5cbiAgaWYgKGFyZ3MuYXNzZXRzICYmIGFyZ3MuYXNzZXRzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBhcmdzLmFzc2V0cy5tYXAoYSA9PiBEZXN0aW5hdGlvblBhdHRlcm4ucGFyc2UoYSkpO1xuICAgIG1hbmlmZXN0ID0gbWFuaWZlc3Quc2VsZWN0KHNlbGVjdGlvbik7XG4gICAgbG9nKCd2ZXJib3NlJywgYEFwcGxpZWQgc2VsZWN0aW9uOiAke21hbmlmZXN0LmVudHJpZXMubGVuZ3RofSBhc3NldHMgc2VsZWN0ZWQuYCk7XG4gIH1cblxuICBjb25zdCBwdWIgPSBuZXcgQXNzZXRQdWJsaXNoaW5nKG1hbmlmZXN0LCB7XG4gICAgYXdzOiBuZXcgRGVmYXVsdEF3c0NsaWVudChhcmdzLnByb2ZpbGUpLFxuICAgIHByb2dyZXNzTGlzdGVuZXI6IG5ldyBDb25zb2xlUHJvZ3Jlc3MoKSxcbiAgICB0aHJvd09uRXJyb3I6IGZhbHNlLFxuICB9KTtcblxuICBhd2FpdCBwdWIucHVibGlzaCgpO1xuXG4gIGlmIChwdWIuaGFzRmFpbHVyZXMpIHtcbiAgICBmb3IgKGNvbnN0IGZhaWx1cmUgb2YgcHViLmZhaWx1cmVzKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5lcnJvcignRmFpbHVyZTonLCBmYWlsdXJlLmVycm9yLnN0YWNrKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgfVxufVxuXG5jb25zdCBFVkVOVF9UT19MRVZFTDogUmVjb3JkPEV2ZW50VHlwZSwgTG9nTGV2ZWw+ID0ge1xuICBidWlsZDogJ3ZlcmJvc2UnLFxuICBjYWNoZWQ6ICd2ZXJib3NlJyxcbiAgY2hlY2s6ICd2ZXJib3NlJyxcbiAgZGVidWc6ICd2ZXJib3NlJyxcbiAgZmFpbDogJ2Vycm9yJyxcbiAgZm91bmQ6ICd2ZXJib3NlJyxcbiAgc3RhcnQ6ICdpbmZvJyxcbiAgc3VjY2VzczogJ2luZm8nLFxuICB1cGxvYWQ6ICd2ZXJib3NlJyxcbn07XG5cbmNsYXNzIENvbnNvbGVQcm9ncmVzcyBpbXBsZW1lbnRzIElQdWJsaXNoUHJvZ3Jlc3NMaXN0ZW5lciB7XG4gIHB1YmxpYyBvblB1Ymxpc2hFdmVudCh0eXBlOiBFdmVudFR5cGUsIGV2ZW50OiBJUHVibGlzaFByb2dyZXNzKTogdm9pZCB7XG4gICAgbG9nKEVWRU5UX1RPX0xFVkVMW3R5cGVdLCBgWyR7ZXZlbnQucGVyY2VudENvbXBsZXRlfSVdICR7dHlwZX06ICR7ZXZlbnQubWVzc2FnZX1gKTtcbiAgfVxufVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFXQSwwQkEwQkM7QUFyQ0QsdUNBQTBDO0FBQzFDLGdDQVFnQjtBQUVULEtBQUssVUFBVSxPQUFPLENBQUMsSUFBMkQ7SUFDdkYsSUFBSSxRQUFRLEdBQUcsbUJBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pELElBQUEsYUFBRyxFQUFDLFNBQVMsRUFBRSx3QkFBd0IsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sZUFBZSxDQUFDLENBQUM7SUFFN0YsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyx3QkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxJQUFBLGFBQUcsRUFBQyxTQUFTLEVBQUUsc0JBQXNCLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLHFCQUFlLENBQUMsUUFBUSxFQUFFO1FBQ3hDLEdBQUcsRUFBRSxJQUFJLHNCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdkMsZ0JBQWdCLEVBQUUsSUFBSSxlQUFlLEVBQUU7UUFDdkMsWUFBWSxFQUFFLEtBQUs7S0FDcEIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFcEIsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsS0FBSyxNQUFNLE9BQU8sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsc0NBQXNDO1lBQ3RDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxjQUFjLEdBQWdDO0lBQ2xELEtBQUssRUFBRSxTQUFTO0lBQ2hCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLElBQUksRUFBRSxPQUFPO0lBQ2IsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLE1BQU07SUFDYixPQUFPLEVBQUUsTUFBTTtJQUNmLE1BQU0sRUFBRSxTQUFTO0NBQ2xCLENBQUM7QUFFRixNQUFNLGVBQWU7SUFDWixjQUFjLENBQUMsSUFBZSxFQUFFLEtBQXVCO1FBQzVELElBQUEsYUFBRyxFQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxlQUFlLE1BQU0sSUFBSSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGxvZywgTG9nTGV2ZWwgfSBmcm9tICcuL2xvZ2dpbmcnO1xuaW1wb3J0IHtcbiAgQXNzZXRNYW5pZmVzdCxcbiAgQXNzZXRQdWJsaXNoaW5nLFxuICBEZWZhdWx0QXdzQ2xpZW50LFxuICBEZXN0aW5hdGlvblBhdHRlcm4sXG4gIEV2ZW50VHlwZSxcbiAgSVB1Ymxpc2hQcm9ncmVzcyxcbiAgSVB1Ymxpc2hQcm9ncmVzc0xpc3RlbmVyLFxufSBmcm9tICcuLi9saWInO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHVibGlzaChhcmdzOiB7IHBhdGg6IHN0cmluZzsgYXNzZXRzPzogc3RyaW5nW107IHByb2ZpbGU/OiBzdHJpbmcgfSkge1xuICBsZXQgbWFuaWZlc3QgPSBBc3NldE1hbmlmZXN0LmZyb21QYXRoKGFyZ3MucGF0aCk7XG4gIGxvZygndmVyYm9zZScsIGBMb2FkZWQgbWFuaWZlc3QgZnJvbSAke2FyZ3MucGF0aH06ICR7bWFuaWZlc3QuZW50cmllcy5sZW5ndGh9IGFzc2V0cyBmb3VuZGApO1xuXG4gIGlmIChhcmdzLmFzc2V0cyAmJiBhcmdzLmFzc2V0cy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gYXJncy5hc3NldHMubWFwKChhKSA9PiBEZXN0aW5hdGlvblBhdHRlcm4ucGFyc2UoYSkpO1xuICAgIG1hbmlmZXN0ID0gbWFuaWZlc3Quc2VsZWN0KHNlbGVjdGlvbik7XG4gICAgbG9nKCd2ZXJib3NlJywgYEFwcGxpZWQgc2VsZWN0aW9uOiAke21hbmlmZXN0LmVudHJpZXMubGVuZ3RofSBhc3NldHMgc2VsZWN0ZWQuYCk7XG4gIH1cblxuICBjb25zdCBwdWIgPSBuZXcgQXNzZXRQdWJsaXNoaW5nKG1hbmlmZXN0LCB7XG4gICAgYXdzOiBuZXcgRGVmYXVsdEF3c0NsaWVudChhcmdzLnByb2ZpbGUpLFxuICAgIHByb2dyZXNzTGlzdGVuZXI6IG5ldyBDb25zb2xlUHJvZ3Jlc3MoKSxcbiAgICB0aHJvd09uRXJyb3I6IGZhbHNlLFxuICB9KTtcblxuICBhd2FpdCBwdWIucHVibGlzaCgpO1xuXG4gIGlmIChwdWIuaGFzRmFpbHVyZXMpIHtcbiAgICBmb3IgKGNvbnN0IGZhaWx1cmUgb2YgcHViLmZhaWx1cmVzKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgY29uc29sZS5lcnJvcignRmFpbHVyZTonLCBmYWlsdXJlLmVycm9yLnN0YWNrKTtcbiAgICB9XG5cbiAgICBwcm9jZXNzLmV4aXRDb2RlID0gMTtcbiAgfVxufVxuXG5jb25zdCBFVkVOVF9UT19MRVZFTDogUmVjb3JkPEV2ZW50VHlwZSwgTG9nTGV2ZWw+ID0ge1xuICBidWlsZDogJ3ZlcmJvc2UnLFxuICBjYWNoZWQ6ICd2ZXJib3NlJyxcbiAgY2hlY2s6ICd2ZXJib3NlJyxcbiAgZGVidWc6ICd2ZXJib3NlJyxcbiAgZmFpbDogJ2Vycm9yJyxcbiAgZm91bmQ6ICd2ZXJib3NlJyxcbiAgc3RhcnQ6ICdpbmZvJyxcbiAgc3VjY2VzczogJ2luZm8nLFxuICB1cGxvYWQ6ICd2ZXJib3NlJyxcbn07XG5cbmNsYXNzIENvbnNvbGVQcm9ncmVzcyBpbXBsZW1lbnRzIElQdWJsaXNoUHJvZ3Jlc3NMaXN0ZW5lciB7XG4gIHB1YmxpYyBvblB1Ymxpc2hFdmVudCh0eXBlOiBFdmVudFR5cGUsIGV2ZW50OiBJUHVibGlzaFByb2dyZXNzKTogdm9pZCB7XG4gICAgbG9nKEVWRU5UX1RPX0xFVkVMW3R5cGVdLCBgWyR7ZXZlbnQucGVyY2VudENvbXBsZXRlfSVdICR7dHlwZX06ICR7ZXZlbnQubWVzc2FnZX1gKTtcbiAgfVxufVxuIl19
@@ -53,10 +53,14 @@ class AssetManifest {
53
53
  if (selection === undefined) {
54
54
  return this;
55
55
  }
56
- const ret = { version: this.manifest.version, dockerImages: {}, files: {} };
56
+ const ret = {
57
+ version: this.manifest.version,
58
+ dockerImages: {},
59
+ files: {},
60
+ };
57
61
  for (const assetType of ASSET_TYPES) {
58
62
  for (const [assetId, asset] of Object.entries(this.manifest[assetType] || {})) {
59
- const filteredDestinations = filterDict(asset.destinations, (_, destId) => selection.some(sel => sel.matches(new DestinationIdentifier(assetId, destId))));
63
+ const filteredDestinations = filterDict(asset.destinations, (_, destId) => selection.some((sel) => sel.matches(new DestinationIdentifier(assetId, destId))));
60
64
  if (Object.keys(filteredDestinations).length > 0) {
61
65
  ret[assetType][assetId] = {
62
66
  ...asset,
@@ -198,7 +202,7 @@ class DestinationPattern {
198
202
  if (!s) {
199
203
  throw new Error('Empty string is not a valid destination identifier');
200
204
  }
201
- const parts = s.split(':').map(x => x !== '*' ? x : undefined);
205
+ const parts = s.split(':').map((x) => (x !== '*' ? x : undefined));
202
206
  if (parts.length === 1) {
203
207
  return new DestinationPattern(parts[0]);
204
208
  }
@@ -215,8 +219,8 @@ class DestinationPattern {
215
219
  * Whether or not this pattern matches the given identifier
216
220
  */
217
221
  matches(id) {
218
- return (this.assetId === undefined || this.assetId === id.assetId)
219
- && (this.destinationId === undefined || this.destinationId === id.destinationId);
222
+ return ((this.assetId === undefined || this.assetId === id.assetId) &&
223
+ (this.destinationId === undefined || this.destinationId === id.destinationId));
220
224
  }
221
225
  /**
222
226
  * Return a string representation for this asset identifier
@@ -238,4 +242,4 @@ function prefixTreeChars(xs, prefix = '') {
238
242
  }
239
243
  return ret;
240
244
  }
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhc3NldC1tYW5pZmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLDBFQUd3QztBQUV4Qzs7R0FFRztBQUNILE1BQWEsYUFBYTtJQU14Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBZ0I7UUFDckMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsZ0NBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsUUFBUSxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBZ0I7UUFDckMsSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLENBQUM7WUFDSCxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxRQUFRLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDckIsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUNE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Q0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge1xuICBBc3NldE1hbmlmZXN0IGFzIEFzc2V0TWFuaWZlc3RTY2hlbWEsIERvY2tlckltYWdlRGVzdGluYXRpb24sIERvY2tlckltYWdlU291cmNlLFxuICBGaWxlRGVzdGluYXRpb24sIEZpbGVTb3VyY2UsIE1hbmlmZXN0LFxufSBmcm9tICdAYXdzLWNkay9jbG91ZC1hc3NlbWJseS1zY2hlbWEnO1xuXG4vKipcbiAqIEEgbWFuaWZlc3Qgb2YgYXNzZXRzXG4gKi9cbmV4cG9ydCBjbGFzcyBBc3NldE1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IG5hbWUgb2YgdGhlIGFzc2V0IG1hbmlmZXN0IGluIGEgY2RrLm91dCBkaXJlY3RvcnlcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9GSUxFTkFNRSA9ICdhc3NldHMuanNvbic7XG5cbiAgLyoqXG4gICAqIExvYWQgYW4gYXNzZXQgbWFuaWZlc3QgZnJvbSB0aGUgZ2l2ZW4gZmlsZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRmlsZShmaWxlTmFtZTogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG9iaiA9IE1hbmlmZXN0LmxvYWRBc3NldE1hbmlmZXN0KGZpbGVOYW1lKTtcbiAgICAgIHJldHVybiBuZXcgQXNzZXRNYW5pZmVzdChwYXRoLmRpcm5hbWUoZmlsZU5hbWUpLCBvYmopO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5vdCByZWFkIGFzc2V0IG1hbmlmZXN0ICcke2ZpbGVOYW1lfSc6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGFuIGFzc2V0IG1hbmlmZXN0IGZyb20gdGhlIGdpdmVuIGZpbGUgb3IgZGlyZWN0b3J5XG4gICAqXG4gICAqIElmIHRoZSBhcmd1bWVudCBnaXZlbiBpcyBhIGRpcmVjdG95LCB0aGUgZGVmYXVsdCBhc3NldCBmaWxlIG5hbWUgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUGF0aChmaWxlUGF0aDogc3RyaW5nKSB7XG4gICAgbGV0IHN0O1xuICAgIHRyeSB7XG4gICAgICBzdCA9IGZzLnN0YXRTeW5jKGZpbGVQYXRoKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHJlYWQgYXNzZXQgbWFuaWZlc3QgYXQgJyR7ZmlsZVBhdGh9JzogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICAgIGlmIChzdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICByZXR1cm4gQXNzZXRNYW5pZmVzdC5mcm9tRmlsZShwYXRoLmpvaW4oZmlsZVBhdGgsIEFzc2V0TWFuaWZlc3QuREVGQVVMVF9GSUxFTkFNRSkpO1xuICAgIH1cbiAgICByZXR1cm4gQXNzZXRNYW5pZmVzdC5mcm9tRmlsZShmaWxlUGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgbWFuaWZlc3Qgd2FzIGZvdW5kXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGlyZWN0b3J5OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZGlyZWN0b3J5OiBzdHJpbmcsIHByaXZhdGUgcmVhZG9ubHkgbWFuaWZlc3Q6IEFzc2V0TWFuaWZlc3RTY2hlbWEpIHtcbiAgICB0aGlzLmRpcmVjdG9yeSA9IGRpcmVjdG9yeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSBzdWJzZXQgb2YgYXNzZXRzIGFuZCBkZXN0aW5hdGlvbnMgZnJvbSB0aGlzIG1hbmlmZXN0LlxuICAgKlxuICAgKiBPbmx5IGFzc2V0cyB3aXRoIGF0IGxlYXN0IDEgc2VsZWN0ZWQgZGVzdGluYXRpb24gYXJlIHJldGFpbmVkLlxuICAgKlxuICAgKiBJZiBzZWxlY3Rpb24gaXMgbm90IGdpdmVuLCBldmVyeXRoaW5nIGlzIHJldHVybmVkLlxuICAgKi9cbiAgcHVibGljIHNlbGVjdChzZWxlY3Rpb24/OiBEZXN0aW5hdGlvblBhdHRlcm5bXSk6IEFzc2V0TWFuaWZlc3Qge1xuICAgIGlmIChzZWxlY3Rpb24gPT09IHVuZGVmaW5lZCkgeyByZXR1cm4gdGhpczsgfVxuXG4gICAgY29uc3QgcmV0OiBBc3NldE1hbmlmZXN0U2NoZW1hICYgUmVxdWlyZWQ8UGljazxBc3NldE1hbmlmZXN0U2NoZW1hLCBBc3NldFR5cGU+PlxuICAgICA9IHsgdmVyc2lvbjogdGhpcy5tYW5pZmVzdC52ZXJzaW9uLCBkb2NrZXJJbWFnZXM6IHt9LCBmaWxlczoge30gfTtcblxuICAgIGZvciAoY29uc3QgYXNzZXRUeXBlIG9mIEFTU0VUX1RZUEVTKSB7XG4gICAgICBmb3IgKGNvbnN0IFthc3NldElkLCBhc3NldF0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5tYW5pZmVzdFthc3NldFR5cGVdIHx8IHt9KSkge1xuICAgICAgICBjb25zdCBmaWx0ZXJlZERlc3RpbmF0aW9ucyA9IGZpbHRlckRpY3QoXG4gICAgICAgICAgYXNzZXQuZGVzdGluYXRpb25zLFxuICAgICAgICAgIChfLCBkZXN0SWQpID0+IHNlbGVjdGlvbi5zb21lKHNlbCA9PiBzZWwubWF0Y2hlcyhuZXcgRGVzdGluYXRpb25JZGVudGlmaWVyKGFzc2V0SWQsIGRlc3RJZCkpKSk7XG5cbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGZpbHRlcmVkRGVzdGluYXRpb25zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0W2Fzc2V0VHlwZV1bYXNzZXRJZF0gPSB7XG4gICAgICAgICAgICAuLi5hc3NldCxcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uczogZmlsdGVyZWREZXN0aW5hdGlvbnMsXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgQXNzZXRNYW5pZmVzdCh0aGlzLmRpcmVjdG9yeSwgcmV0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNjcmliZSB0aGUgYXNzZXQgbWFuaWZlc3QgYXMgYSBsaXN0IG9mIHN0cmluZ3NcbiAgICovXG4gIHB1YmxpYyBsaXN0KCkge1xuICAgIHJldHVybiBbXG4gICAgICAuLi5kZXNjcmliZUFzc2V0cygnZmlsZScsIHRoaXMubWFuaWZlc3QuZmlsZXMgfHwge30pLFxuICAgICAgLi4uZGVzY3JpYmVBc3NldHMoJ2RvY2tlci1pbWFnZScsIHRoaXMubWFuaWZlc3QuZG9ja2VySW1hZ2VzIHx8IHt9KSxcbiAgICBdO1xuXG4gICAgZnVuY3Rpb24gZGVzY3JpYmVBc3NldHModHlwZTogc3RyaW5nLCBhc3NldHM6IFJlY29yZDxzdHJpbmcsIHsgc291cmNlOiBhbnk7IGRlc3RpbmF0aW9uczogUmVjb3JkPHN0cmluZywgYW55PiB9Pikge1xuICAgICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICAgIGZvciAoY29uc3QgW2Fzc2V0SWQsIGFzc2V0XSBvZiBPYmplY3QuZW50cmllcyhhc3NldHMgfHwge30pKSB7XG4gICAgICAgIHJldC5wdXNoKGAke2Fzc2V0SWR9ICR7dHlwZX0gJHtKU09OLnN0cmluZ2lmeShhc3NldC5zb3VyY2UpfWApO1xuXG4gICAgICAgIGNvbnN0IGRlc3RTdHJpbmdzID0gT2JqZWN0LmVudHJpZXMoYXNzZXQuZGVzdGluYXRpb25zKS5tYXAoKFtkZXN0SWQsIGRlc3RdKSA9PiBgICR7YXNzZXRJZH06JHtkZXN0SWR9ICR7SlNPTi5zdHJpbmdpZnkoZGVzdCl9YCk7XG4gICAgICAgIHJldC5wdXNoKC4uLnByZWZpeFRyZWVDaGFycyhkZXN0U3RyaW5ncywgJyAgJykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBhc3NldHMgcGVyIGRlc3RpbmF0aW9uXG4gICAqXG4gICAqIFJldHVybnMgb25lIGFzc2V0IGZvciBldmVyeSBwdWJsaXNoYWJsZSBkZXN0aW5hdGlvbi4gTXVsdGlwbGUgYXNzZXRcbiAgICogZGVzdGluYXRpb25zIG1heSBzaGFyZSB0aGUgc2FtZSBhc3NldCBzb3VyY2UuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGVudHJpZXMoKTogSU1hbmlmZXN0RW50cnlbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLm1ha2VFbnRyaWVzKHRoaXMubWFuaWZlc3QuZmlsZXMgfHwge30sIEZpbGVNYW5pZmVzdEVudHJ5KSxcbiAgICAgIC4uLm1ha2VFbnRyaWVzKHRoaXMubWFuaWZlc3QuZG9ja2VySW1hZ2VzIHx8IHt9LCBEb2NrZXJJbWFnZU1hbmlmZXN0RW50cnkpLFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBmaWxlIGFzc2V0cywgc3BsYXQgb3V0IHRvIGRlc3RpbmF0aW9uc1xuICAgKi9cbiAgcHVibGljIGdldCBmaWxlcygpOiBGaWxlTWFuaWZlc3RFbnRyeVtdIHtcbiAgICByZXR1cm4gbWFrZUVudHJpZXModGhpcy5tYW5pZmVzdC5maWxlcyB8fCB7fSwgRmlsZU1hbmlmZXN0RW50cnkpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VFbnRyaWVzPEEsIEIsIEM+KFxuICBhc3NldHM6IFJlY29yZDxzdHJpbmcsIHsgc291cmNlOiBBOyBkZXN0aW5hdGlvbnM6IFJlY29yZDxzdHJpbmcsIEI+IH0+LFxuICBjdG9yOiBuZXcgKGlkOiBEZXN0aW5hdGlvbklkZW50aWZpZXIsIHNvdXJjZTogQSwgZGVzdGluYXRpb246IEIpID0+IEMpOiBDW10ge1xuXG4gIGNvbnN0IHJldCA9IG5ldyBBcnJheTxDPigpO1xuICBmb3IgKGNvbnN0IFthc3NldElkLCBhc3NldF0gb2YgT2JqZWN0LmVudHJpZXMoYXNzZXRzKSkge1xuICAgIGZvciAoY29uc3QgW2Rlc3RJZCwgZGVzdGluYXRpb25dIG9mIE9iamVjdC5lbnRyaWVzKGFzc2V0LmRlc3RpbmF0aW9ucykpIHtcbiAgICAgIHJldC5wdXNoKG5ldyBjdG9yKG5ldyBEZXN0aW5hdGlvbklkZW50aWZpZXIoYXNzZXRJZCwgZGVzdElkKSwgYXNzZXQuc291cmNlLCBkZXN0aW5hdGlvbikpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG50eXBlIEFzc2V0VHlwZSA9ICdmaWxlcycgfCAnZG9ja2VySW1hZ2VzJztcblxuY29uc3QgQVNTRVRfVFlQRVM6IEFzc2V0VHlwZVtdID0gWydmaWxlcycsICdkb2NrZXJJbWFnZXMnXTtcblxuLyoqXG4gKiBBIHNpbmdsZSBhc3NldCBmcm9tIGFuIGFzc2V0IG1hbmlmZXN0J1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElNYW5pZmVzdEVudHJ5IHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhc3NldCBhbmQgaXRzIGRlc3RpbmF0aW9uXG4gICAqL1xuICByZWFkb25seSBpZDogRGVzdGluYXRpb25JZGVudGlmaWVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBhc3NldFxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlLWRlcGVuZGVudCBzb3VyY2UgZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgZ2VuZXJpY1NvdXJjZTogdW5rbm93bjtcblxuICAvKipcbiAgICogVHlwZS1kZXBlbmRlbnQgZGVzdGluYXRpb24gZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgZ2VuZXJpY0Rlc3RpbmF0aW9uOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEEgbWFuaWZlc3QgZW50cnkgZm9yIGEgZmlsZSBhc3NldFxuICovXG5leHBvcnQgY2xhc3MgRmlsZU1hbmlmZXN0RW50cnkgaW1wbGVtZW50cyBJTWFuaWZlc3RFbnRyeSB7XG4gIHB1YmxpYyByZWFkb25seSBnZW5lcmljU291cmNlOiB1bmtub3duO1xuICBwdWJsaWMgcmVhZG9ubHkgZ2VuZXJpY0Rlc3RpbmF0aW9uOiB1bmtub3duO1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdmaWxlJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKiogSWRlbnRpZmllciBmb3IgdGhpcyBhc3NldCAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpZDogRGVzdGluYXRpb25JZGVudGlmaWVyLFxuICAgIC8qKiBTb3VyY2Ugb2YgdGhlIGZpbGUgYXNzZXQgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBGaWxlU291cmNlLFxuICAgIC8qKiBEZXN0aW5hdGlvbiBmb3IgdGhlIGZpbGUgYXNzZXQgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVzdGluYXRpb246IEZpbGVEZXN0aW5hdGlvbixcbiAgKSB7XG4gICAgdGhpcy5nZW5lcmljU291cmNlID0gc291cmNlO1xuICAgIHRoaXMuZ2VuZXJpY0Rlc3RpbmF0aW9uID0gZGVzdGluYXRpb247XG4gIH1cbn1cblxuLyoqXG4gKiBBIG1hbmlmZXN0IGVudHJ5IGZvciBhIGRvY2tlciBpbWFnZSBhc3NldFxuICovXG5leHBvcnQgY2xhc3MgRG9ja2VySW1hZ2VNYW5pZmVzdEVudHJ5IGltcGxlbWVudHMgSU1hbmlmZXN0RW50cnkge1xuICBwdWJsaWMgcmVhZG9ubHkgZ2VuZXJpY1NvdXJjZTogdW5rbm93bjtcbiAgcHVibGljIHJlYWRvbmx5IGdlbmVyaWNEZXN0aW5hdGlvbjogdW5rbm93bjtcbiAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnZG9ja2VyLWltYWdlJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKiogSWRlbnRpZmllciBmb3IgdGhpcyBhc3NldCAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpZDogRGVzdGluYXRpb25JZGVudGlmaWVyLFxuICAgIC8qKiBTb3VyY2Ugb2YgdGhlIGZpbGUgYXNzZXQgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBEb2NrZXJJbWFnZVNvdXJjZSxcbiAgICAvKiogRGVzdGluYXRpb24gZm9yIHRoZSBmaWxlIGFzc2V0ICovXG4gICAgcHVibGljIHJlYWRvbmx5IGRlc3RpbmF0aW9uOiBEb2NrZXJJbWFnZURlc3RpbmF0aW9uLFxuICApIHtcbiAgICB0aGlzLmdlbmVyaWNTb3VyY2UgPSBzb3VyY2U7XG4gICAgdGhpcy5nZW5lcmljRGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgfVxufVxuXG4vKipcbiAqIElkZW50aWZ5IGFuIGFzc2V0IGRlc3RpbmF0aW9uIGluIGFuIGFzc2V0IG1hbmlmZXN0XG4gKlxuICogV2hlbiBzdHJpbmdpZmllZCwgdGhpcyB3aWxsIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIHNvdXJjZVxuICogYW5kIGRlc3RpbmF0aW9uIElEcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERlc3RpbmF0aW9uSWRlbnRpZmllciB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBhc3NldCwgYnkgc291cmNlLlxuICAgKlxuICAgKiBUaGUgYXNzZXRJZCB3aWxsIGJlIHRoZSBzYW1lIGJldHdlZW4gYXNzZXRzIHRoYXQgcmVwcmVzZW50XG4gICAqIHRoZSBzYW1lIHBoeXNpY2FsIGZpbGUgb3IgaW1hZ2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXNzZXRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBkZXN0aW5hdGlvbiB3aGVyZSB0aGlzIGFzc2V0IHdpbGwgYmUgcHVibGlzaGVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzdGluYXRpb25JZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFzc2V0SWQ6IHN0cmluZywgZGVzdGluYXRpb25JZDogc3RyaW5nKSB7XG4gICAgdGhpcy5hc3NldElkID0gYXNzZXRJZDtcbiAgICB0aGlzLmRlc3RpbmF0aW9uSWQgPSBkZXN0aW5hdGlvbklkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgdGhpcyBhc3NldCBpZGVudGlmaWVyXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVzdGluYXRpb25JZCA/IGAke3RoaXMuYXNzZXRJZH06JHt0aGlzLmRlc3RpbmF0aW9uSWR9YCA6IHRoaXMuYXNzZXRJZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaWx0ZXJEaWN0PEE+KHhzOiBSZWNvcmQ8c3RyaW5nLCBBPiwgcHJlZDogKHg6IEEsIGtleTogc3RyaW5nKSA9PiBib29sZWFuKTogUmVjb3JkPHN0cmluZywgQT4ge1xuICBjb25zdCByZXQ6IFJlY29yZDxzdHJpbmcsIEE+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHhzKSkge1xuICAgIGlmIChwcmVkKHZhbHVlLCBrZXkpKSB7XG4gICAgICByZXRba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG4vKipcbiAqIEEgZmlsdGVyIHBhdHRlcm4gZm9yIGFuIGRlc3RpbmF0aW9uIGlkZW50aWZpZXJcbiAqL1xuZXhwb3J0IGNsYXNzIERlc3RpbmF0aW9uUGF0dGVybiB7XG4gIC8qKlxuICAgKiBQYXJzZSBhICc6Jy1zZXBhcmF0ZWQgc3RyaW5nIGludG8gYW4gYXNzZXQvZGVzdGluYXRpb24gaWRlbnRpZmllclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwYXJzZShzOiBzdHJpbmcpIHtcbiAgICBpZiAoIXMpIHsgdGhyb3cgbmV3IEVycm9yKCdFbXB0eSBzdHJpbmcgaXMgbm90IGEgdmFsaWQgZGVzdGluYXRpb24gaWRlbnRpZmllcicpOyB9XG4gICAgY29uc3QgcGFydHMgPSBzLnNwbGl0KCc6JykubWFwKHggPT4geCAhPT0gJyonID8geCA6IHVuZGVmaW5lZCk7XG4gICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMSkgeyByZXR1cm4gbmV3IERlc3RpbmF0aW9uUGF0dGVybihwYXJ0c1swXSk7IH1cbiAgICBpZiAocGFydHMubGVuZ3RoID09PSAyKSB7IHJldHVybiBuZXcgRGVzdGluYXRpb25QYXR0ZXJuKHBhcnRzWzBdIHx8IHVuZGVmaW5lZCwgcGFydHNbMV0gfHwgdW5kZWZpbmVkKTsgfVxuICAgIHRocm93IG5ldyBFcnJvcihgQXNzZXQgaWRlbnRpZmllciBtdXN0IGNvbnRhaW4gYXQgbW9zdCAyICc6Jy1zZXBhcmF0ZWQgcGFydHMsIGdvdCAnJHtzfSdgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBhc3NldCwgYnkgc291cmNlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFzc2V0SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgdGhlIGRlc3RpbmF0aW9uIHdoZXJlIHRoaXMgYXNzZXQgd2lsbCBiZSBwdWJsaXNoZWRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZXN0aW5hdGlvbklkPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFzc2V0SWQ/OiBzdHJpbmcsIGRlc3RpbmF0aW9uSWQ/OiBzdHJpbmcpIHtcbiAgICB0aGlzLmFzc2V0SWQgPSBhc3NldElkO1xuICAgIHRoaXMuZGVzdGluYXRpb25JZCA9IGRlc3RpbmF0aW9uSWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhpcyBwYXR0ZXJuIG1hdGNoZXMgdGhlIGdpdmVuIGlkZW50aWZpZXJcbiAgICovXG4gIHB1YmxpYyBtYXRjaGVzKGlkOiBEZXN0aW5hdGlvbklkZW50aWZpZXIpIHtcbiAgICByZXR1cm4gKHRoaXMuYXNzZXRJZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuYXNzZXRJZCA9PT0gaWQuYXNzZXRJZClcbiAgICAmJiAodGhpcy5kZXN0aW5hdGlvbklkID09PSB1bmRlZmluZWQgfHwgdGhpcy5kZXN0aW5hdGlvbklkID09PSBpZC5kZXN0aW5hdGlvbklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIHRoaXMgYXNzZXQgaWRlbnRpZmllclxuICAgKi9cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmFzc2V0SWQgPz8gJyonfToke3RoaXMuZGVzdGluYXRpb25JZCA/PyAnKid9YDtcbiAgfVxufVxuXG4vKipcbiAqIFByZWZpeCBib3gtZHJhd2luZyBjaGFyYWN0ZXJzIHRvIG1ha2UgbGluZXMgbG9vayBsaWtlIGEgaGFuZ2luZyB0cmVlXG4gKi9cbmZ1bmN0aW9uIHByZWZpeFRyZWVDaGFycyh4czogc3RyaW5nW10sIHByZWZpeCA9ICcnKSB7XG4gIGNvbnN0IHJldCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgeHMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBpc0xhc3QgPSBpID09PSB4cy5sZW5ndGggLSAxO1xuICAgIGNvbnN0IGJveENoYXIgPSBpc0xhc3QgPyAn4pSUJyA6ICfilJwnO1xuICAgIHJldC5wdXNoKGAke3ByZWZpeH0ke2JveENoYXJ9JHt4c1tpXX1gKTtcbiAgfVxuICByZXR1cm4gcmV0O1xufVxuIl19
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhc3NldC1tYW5pZmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLDBFQU93QztBQUV4Qzs7R0FFRztBQUNILE1BQWEsYUFBYTtJQU14Qjs7T0FFRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBZ0I7UUFDckMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsZ0NBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsUUFBUSxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBZ0I7UUFDckMsSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLENBQUM7WUFDSCxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxRQUFRLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDckIsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQztRQUNE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LENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQXNzZXRNYW5pZmVzdCBhcyBBc3NldE1hbmlmZXN0U2NoZW1hLFxuICBEb2NrZXJJbWFnZURlc3RpbmF0aW9uLFxuICBEb2NrZXJJbWFnZVNvdXJjZSxcbiAgRmlsZURlc3RpbmF0aW9uLFxuICBGaWxlU291cmNlLFxuICBNYW5pZmVzdCxcbn0gZnJvbSAnQGF3cy1jZGsvY2xvdWQtYXNzZW1ibHktc2NoZW1hJztcblxuLyoqXG4gKiBBIG1hbmlmZXN0IG9mIGFzc2V0c1xuICovXG5leHBvcnQgY2xhc3MgQXNzZXRNYW5pZmVzdCB7XG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBuYW1lIG9mIHRoZSBhc3NldCBtYW5pZmVzdCBpbiBhIGNkay5vdXQgZGlyZWN0b3J5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfRklMRU5BTUUgPSAnYXNzZXRzLmpzb24nO1xuXG4gIC8qKlxuICAgKiBMb2FkIGFuIGFzc2V0IG1hbmlmZXN0IGZyb20gdGhlIGdpdmVuIGZpbGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUZpbGUoZmlsZU5hbWU6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBvYmogPSBNYW5pZmVzdC5sb2FkQXNzZXRNYW5pZmVzdChmaWxlTmFtZSk7XG4gICAgICByZXR1cm4gbmV3IEFzc2V0TWFuaWZlc3QocGF0aC5kaXJuYW1lKGZpbGVOYW1lKSwgb2JqKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fub3QgcmVhZCBhc3NldCBtYW5pZmVzdCAnJHtmaWxlTmFtZX0nOiAke2UubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBhbiBhc3NldCBtYW5pZmVzdCBmcm9tIHRoZSBnaXZlbiBmaWxlIG9yIGRpcmVjdG9yeVxuICAgKlxuICAgKiBJZiB0aGUgYXJndW1lbnQgZ2l2ZW4gaXMgYSBkaXJlY3RveSwgdGhlIGRlZmF1bHQgYXNzZXQgZmlsZSBuYW1lIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVBhdGgoZmlsZVBhdGg6IHN0cmluZykge1xuICAgIGxldCBzdDtcbiAgICB0cnkge1xuICAgICAgc3QgPSBmcy5zdGF0U3luYyhmaWxlUGF0aCk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCByZWFkIGFzc2V0IG1hbmlmZXN0IGF0ICcke2ZpbGVQYXRofSc6ICR7ZS5tZXNzYWdlfWApO1xuICAgIH1cbiAgICBpZiAoc3QuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgcmV0dXJuIEFzc2V0TWFuaWZlc3QuZnJvbUZpbGUocGF0aC5qb2luKGZpbGVQYXRoLCBBc3NldE1hbmlmZXN0LkRFRkFVTFRfRklMRU5BTUUpKTtcbiAgICB9XG4gICAgcmV0dXJuIEFzc2V0TWFuaWZlc3QuZnJvbUZpbGUoZmlsZVBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIG1hbmlmZXN0IHdhcyBmb3VuZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRpcmVjdG9yeTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWFuaWZlc3Q6IEFzc2V0TWFuaWZlc3RTY2hlbWFcbiAgKSB7XG4gICAgdGhpcy5kaXJlY3RvcnkgPSBkaXJlY3Rvcnk7XG4gIH1cblxuICAvKipcbiAgICogU2VsZWN0IGEgc3Vic2V0IG9mIGFzc2V0cyBhbmQgZGVzdGluYXRpb25zIGZyb20gdGhpcyBtYW5pZmVzdC5cbiAgICpcbiAgICogT25seSBhc3NldHMgd2l0aCBhdCBsZWFzdCAxIHNlbGVjdGVkIGRlc3RpbmF0aW9uIGFyZSByZXRhaW5lZC5cbiAgICpcbiAgICogSWYgc2VsZWN0aW9uIGlzIG5vdCBnaXZlbiwgZXZlcnl0aGluZyBpcyByZXR1cm5lZC5cbiAgICovXG4gIHB1YmxpYyBzZWxlY3Qoc2VsZWN0aW9uPzogRGVzdGluYXRpb25QYXR0ZXJuW10pOiBBc3NldE1hbmlmZXN0IHtcbiAgICBpZiAoc2VsZWN0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGNvbnN0IHJldDogQXNzZXRNYW5pZmVzdFNjaGVtYSAmIFJlcXVpcmVkPFBpY2s8QXNzZXRNYW5pZmVzdFNjaGVtYSwgQXNzZXRUeXBlPj4gPSB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLm1hbmlmZXN0LnZlcnNpb24sXG4gICAgICBkb2NrZXJJbWFnZXM6IHt9LFxuICAgICAgZmlsZXM6IHt9LFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IGFzc2V0VHlwZSBvZiBBU1NFVF9UWVBFUykge1xuICAgICAgZm9yIChjb25zdCBbYXNzZXRJZCwgYXNzZXRdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMubWFuaWZlc3RbYXNzZXRUeXBlXSB8fCB7fSkpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWREZXN0aW5hdGlvbnMgPSBmaWx0ZXJEaWN0KGFzc2V0LmRlc3RpbmF0aW9ucywgKF8sIGRlc3RJZCkgPT5cbiAgICAgICAgICBzZWxlY3Rpb24uc29tZSgoc2VsKSA9PiBzZWwubWF0Y2hlcyhuZXcgRGVzdGluYXRpb25JZGVudGlmaWVyKGFzc2V0SWQsIGRlc3RJZCkpKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhmaWx0ZXJlZERlc3RpbmF0aW9ucykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldFthc3NldFR5cGVdW2Fzc2V0SWRdID0ge1xuICAgICAgICAgICAgLi4uYXNzZXQsXG4gICAgICAgICAgICBkZXN0aW5hdGlvbnM6IGZpbHRlcmVkRGVzdGluYXRpb25zLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEFzc2V0TWFuaWZlc3QodGhpcy5kaXJlY3RvcnksIHJldCk7XG4gIH1cblxuICAvKipcbiAgICogRGVzY3JpYmUgdGhlIGFzc2V0IG1hbmlmZXN0IGFzIGEgbGlzdCBvZiBzdHJpbmdzXG4gICAqL1xuICBwdWJsaWMgbGlzdCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uZGVzY3JpYmVBc3NldHMoJ2ZpbGUnLCB0aGlzLm1hbmlmZXN0LmZpbGVzIHx8IHt9KSxcbiAgICAgIC4uLmRlc2NyaWJlQXNzZXRzKCdkb2NrZXItaW1hZ2UnLCB0aGlzLm1hbmlmZXN0LmRvY2tlckltYWdlcyB8fCB7fSksXG4gICAgXTtcblxuICAgIGZ1bmN0aW9uIGRlc2NyaWJlQXNzZXRzKFxuICAgICAgdHlwZTogc3RyaW5nLFxuICAgICAgYXNzZXRzOiBSZWNvcmQ8c3RyaW5nLCB7IHNvdXJjZTogYW55OyBkZXN0aW5hdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT5cbiAgICApIHtcbiAgICAgIGNvbnN0IHJldCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgICBmb3IgKGNvbnN0IFthc3NldElkLCBhc3NldF0gb2YgT2JqZWN0LmVudHJpZXMoYXNzZXRzIHx8IHt9KSkge1xuICAgICAgICByZXQucHVzaChgJHthc3NldElkfSAke3R5cGV9ICR7SlNPTi5zdHJpbmdpZnkoYXNzZXQuc291cmNlKX1gKTtcblxuICAgICAgICBjb25zdCBkZXN0U3RyaW5ncyA9IE9iamVjdC5lbnRyaWVzKGFzc2V0LmRlc3RpbmF0aW9ucykubWFwKFxuICAgICAgICAgIChbZGVzdElkLCBkZXN0XSkgPT4gYCAke2Fzc2V0SWR9OiR7ZGVzdElkfSAke0pTT04uc3RyaW5naWZ5KGRlc3QpfWBcbiAgICAgICAgKTtcbiAgICAgICAgcmV0LnB1c2goLi4ucHJlZml4VHJlZUNoYXJzKGRlc3RTdHJpbmdzLCAnICAnKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGFzc2V0cyBwZXIgZGVzdGluYXRpb25cbiAgICpcbiAgICogUmV0dXJucyBvbmUgYXNzZXQgZm9yIGV2ZXJ5IHB1Ymxpc2hhYmxlIGRlc3RpbmF0aW9uLiBNdWx0aXBsZSBhc3NldFxuICAgKiBkZXN0aW5hdGlvbnMgbWF5IHNoYXJlIHRoZSBzYW1lIGFzc2V0IHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZW50cmllcygpOiBJTWFuaWZlc3RFbnRyeVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4ubWFrZUVudHJpZXModGhpcy5tYW5pZmVzdC5maWxlcyB8fCB7fSwgRmlsZU1hbmlmZXN0RW50cnkpLFxuICAgICAgLi4ubWFrZUVudHJpZXModGhpcy5tYW5pZmVzdC5kb2NrZXJJbWFnZXMgfHwge30sIERvY2tlckltYWdlTWFuaWZlc3RFbnRyeSksXG4gICAgXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGZpbGUgYXNzZXRzLCBzcGxhdCBvdXQgdG8gZGVzdGluYXRpb25zXG4gICAqL1xuICBwdWJsaWMgZ2V0IGZpbGVzKCk6IEZpbGVNYW5pZmVzdEVudHJ5W10ge1xuICAgIHJldHVybiBtYWtlRW50cmllcyh0aGlzLm1hbmlmZXN0LmZpbGVzIHx8IHt9LCBGaWxlTWFuaWZlc3RFbnRyeSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFrZUVudHJpZXM8QSwgQiwgQz4oXG4gIGFzc2V0czogUmVjb3JkPHN0cmluZywgeyBzb3VyY2U6IEE7IGRlc3RpbmF0aW9uczogUmVjb3JkPHN0cmluZywgQj4gfT4sXG4gIGN0b3I6IG5ldyAoaWQ6IERlc3RpbmF0aW9uSWRlbnRpZmllciwgc291cmNlOiBBLCBkZXN0aW5hdGlvbjogQikgPT4gQ1xuKTogQ1tdIHtcbiAgY29uc3QgcmV0ID0gbmV3IEFycmF5PEM+KCk7XG4gIGZvciAoY29uc3QgW2Fzc2V0SWQsIGFzc2V0XSBvZiBPYmplY3QuZW50cmllcyhhc3NldHMpKSB7XG4gICAgZm9yIChjb25zdCBbZGVzdElkLCBkZXN0aW5hdGlvbl0gb2YgT2JqZWN0LmVudHJpZXMoYXNzZXQuZGVzdGluYXRpb25zKSkge1xuICAgICAgcmV0LnB1c2gobmV3IGN0b3IobmV3IERlc3RpbmF0aW9uSWRlbnRpZmllcihhc3NldElkLCBkZXN0SWQpLCBhc3NldC5zb3VyY2UsIGRlc3RpbmF0aW9uKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbnR5cGUgQXNzZXRUeXBlID0gJ2ZpbGVzJyB8ICdkb2NrZXJJbWFnZXMnO1xuXG5jb25zdCBBU1NFVF9UWVBFUzogQXNzZXRUeXBlW10gPSBbJ2ZpbGVzJywgJ2RvY2tlckltYWdlcyddO1xuXG4vKipcbiAqIEEgc2luZ2xlIGFzc2V0IGZyb20gYW4gYXNzZXQgbWFuaWZlc3QnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmlmZXN0RW50cnkge1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgb2YgdGhlIGFzc2V0IGFuZCBpdHMgZGVzdGluYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IGlkOiBEZXN0aW5hdGlvbklkZW50aWZpZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGFzc2V0XG4gICAqL1xuICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUtZGVwZW5kZW50IHNvdXJjZSBkYXRhXG4gICAqL1xuICByZWFkb25seSBnZW5lcmljU291cmNlOiB1bmtub3duO1xuXG4gIC8qKlxuICAgKiBUeXBlLWRlcGVuZGVudCBkZXN0aW5hdGlvbiBkYXRhXG4gICAqL1xuICByZWFkb25seSBnZW5lcmljRGVzdGluYXRpb246IHVua25vd247XG59XG5cbi8qKlxuICogQSBtYW5pZmVzdCBlbnRyeSBmb3IgYSBmaWxlIGFzc2V0XG4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlTWFuaWZlc3RFbnRyeSBpbXBsZW1lbnRzIElNYW5pZmVzdEVudHJ5IHtcbiAgcHVibGljIHJlYWRvbmx5IGdlbmVyaWNTb3VyY2U6IHVua25vd247XG4gIHB1YmxpYyByZWFkb25seSBnZW5lcmljRGVzdGluYXRpb246IHVua25vd247XG4gIHB1YmxpYyByZWFkb25seSB0eXBlID0gJ2ZpbGUnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKiBJZGVudGlmaWVyIGZvciB0aGlzIGFzc2V0ICovXG4gICAgcHVibGljIHJlYWRvbmx5IGlkOiBEZXN0aW5hdGlvbklkZW50aWZpZXIsXG4gICAgLyoqIFNvdXJjZSBvZiB0aGUgZmlsZSBhc3NldCAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzb3VyY2U6IEZpbGVTb3VyY2UsXG4gICAgLyoqIERlc3RpbmF0aW9uIGZvciB0aGUgZmlsZSBhc3NldCAqL1xuICAgIHB1YmxpYyByZWFkb25seSBkZXN0aW5hdGlvbjogRmlsZURlc3RpbmF0aW9uXG4gICkge1xuICAgIHRoaXMuZ2VuZXJpY1NvdXJjZSA9IHNvdXJjZTtcbiAgICB0aGlzLmdlbmVyaWNEZXN0aW5hdGlvbiA9IGRlc3RpbmF0aW9uO1xuICB9XG59XG5cbi8qKlxuICogQSBtYW5pZmVzdCBlbnRyeSBmb3IgYSBkb2NrZXIgaW1hZ2UgYXNzZXRcbiAqL1xuZXhwb3J0IGNsYXNzIERvY2tlckltYWdlTWFuaWZlc3RFbnRyeSBpbXBsZW1lbnRzIElNYW5pZmVzdEVudHJ5IHtcbiAgcHVibGljIHJlYWRvbmx5IGdlbmVyaWNTb3VyY2U6IHVua25vd247XG4gIHB1YmxpYyByZWFkb25seSBnZW5lcmljRGVzdGluYXRpb246IHVua25vd247XG4gIHB1YmxpYyByZWFkb25seSB0eXBlID0gJ2RvY2tlci1pbWFnZSc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqIElkZW50aWZpZXIgZm9yIHRoaXMgYXNzZXQgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgaWQ6IERlc3RpbmF0aW9uSWRlbnRpZmllcixcbiAgICAvKiogU291cmNlIG9mIHRoZSBmaWxlIGFzc2V0ICovXG4gICAgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogRG9ja2VySW1hZ2VTb3VyY2UsXG4gICAgLyoqIERlc3RpbmF0aW9uIGZvciB0aGUgZmlsZSBhc3NldCAqL1xuICAgIHB1YmxpYyByZWFkb25seSBkZXN0aW5hdGlvbjogRG9ja2VySW1hZ2VEZXN0aW5hdGlvblxuICApIHtcbiAgICB0aGlzLmdlbmVyaWNTb3VyY2UgPSBzb3VyY2U7XG4gICAgdGhpcy5nZW5lcmljRGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgfVxufVxuXG4vKipcbiAqIElkZW50aWZ5IGFuIGFzc2V0IGRlc3RpbmF0aW9uIGluIGFuIGFzc2V0IG1hbmlmZXN0XG4gKlxuICogV2hlbiBzdHJpbmdpZmllZCwgdGhpcyB3aWxsIGJlIGEgY29tYmluYXRpb24gb2YgdGhlIHNvdXJjZVxuICogYW5kIGRlc3RpbmF0aW9uIElEcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERlc3RpbmF0aW9uSWRlbnRpZmllciB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBhc3NldCwgYnkgc291cmNlLlxuICAgKlxuICAgKiBUaGUgYXNzZXRJZCB3aWxsIGJlIHRoZSBzYW1lIGJldHdlZW4gYXNzZXRzIHRoYXQgcmVwcmVzZW50XG4gICAqIHRoZSBzYW1lIHBoeXNpY2FsIGZpbGUgb3IgaW1hZ2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXNzZXRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBkZXN0aW5hdGlvbiB3aGVyZSB0aGlzIGFzc2V0IHdpbGwgYmUgcHVibGlzaGVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzdGluYXRpb25JZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGFzc2V0SWQ6IHN0cmluZywgZGVzdGluYXRpb25JZDogc3RyaW5nKSB7XG4gICAgdGhpcy5hc3NldElkID0gYXNzZXRJZDtcbiAgICB0aGlzLmRlc3RpbmF0aW9uSWQgPSBkZXN0aW5hdGlvbklkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgdGhpcyBhc3NldCBpZGVudGlmaWVyXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVzdGluYXRpb25JZCA/IGAke3RoaXMuYXNzZXRJZH06JHt0aGlzLmRlc3RpbmF0aW9uSWR9YCA6IHRoaXMuYXNzZXRJZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBmaWx0ZXJEaWN0PEE+KFxuICB4czogUmVjb3JkPHN0cmluZywgQT4sXG4gIHByZWQ6ICh4OiBBLCBrZXk6IHN0cmluZykgPT4gYm9vbGVhblxuKTogUmVjb3JkPHN0cmluZywgQT4ge1xuICBjb25zdCByZXQ6IFJlY29yZDxzdHJpbmcsIEE+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHhzKSkge1xuICAgIGlmIChwcmVkKHZhbHVlLCBrZXkpKSB7XG4gICAgICByZXRba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0O1xufVxuXG4vKipcbiAqIEEgZmlsdGVyIHBhdHRlcm4gZm9yIGFuIGRlc3RpbmF0aW9uIGlkZW50aWZpZXJcbiAqL1xuZXhwb3J0IGNsYXNzIERlc3RpbmF0aW9uUGF0dGVybiB7XG4gIC8qKlxuICAgKiBQYXJzZSBhICc6Jy1zZXBhcmF0ZWQgc3RyaW5nIGludG8gYW4gYXNzZXQvZGVzdGluYXRpb24gaWRlbnRpZmllclxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwYXJzZShzOiBzdHJpbmcpIHtcbiAgICBpZiAoIXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRW1wdHkgc3RyaW5nIGlzIG5vdCBhIHZhbGlkIGRlc3RpbmF0aW9uIGlkZW50aWZpZXInKTtcbiAgICB9XG4gICAgY29uc3QgcGFydHMgPSBzLnNwbGl0KCc6JykubWFwKCh4KSA9PiAoeCAhPT0gJyonID8geCA6IHVuZGVmaW5lZCkpO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBuZXcgRGVzdGluYXRpb25QYXR0ZXJuKHBhcnRzWzBdKTtcbiAgICB9XG4gICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMikge1xuICAgICAgcmV0dXJuIG5ldyBEZXN0aW5hdGlvblBhdHRlcm4ocGFydHNbMF0gfHwgdW5kZWZpbmVkLCBwYXJ0c1sxXSB8fCB1bmRlZmluZWQpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYEFzc2V0IGlkZW50aWZpZXIgbXVzdCBjb250YWluIGF0IG1vc3QgMiAnOictc2VwYXJhdGVkIHBhcnRzLCBnb3QgJyR7c30nYCk7XG4gIH1cblxuICAvKipcbiAgICogSWRlbnRpZmllcyB0aGUgYXNzZXQsIGJ5IHNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhc3NldElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIHRoZSBkZXN0aW5hdGlvbiB3aGVyZSB0aGlzIGFzc2V0IHdpbGwgYmUgcHVibGlzaGVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzdGluYXRpb25JZD86IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihhc3NldElkPzogc3RyaW5nLCBkZXN0aW5hdGlvbklkPzogc3RyaW5nKSB7XG4gICAgdGhpcy5hc3NldElkID0gYXNzZXRJZDtcbiAgICB0aGlzLmRlc3RpbmF0aW9uSWQgPSBkZXN0aW5hdGlvbklkO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoaXMgcGF0dGVybiBtYXRjaGVzIHRoZSBnaXZlbiBpZGVudGlmaWVyXG4gICAqL1xuICBwdWJsaWMgbWF0Y2hlcyhpZDogRGVzdGluYXRpb25JZGVudGlmaWVyKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmFzc2V0SWQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmFzc2V0SWQgPT09IGlkLmFzc2V0SWQpICYmXG4gICAgICAodGhpcy5kZXN0aW5hdGlvbklkID09PSB1bmRlZmluZWQgfHwgdGhpcy5kZXN0aW5hdGlvbklkID09PSBpZC5kZXN0aW5hdGlvbklkKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZvciB0aGlzIGFzc2V0IGlkZW50aWZpZXJcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5hc3NldElkID8/ICcqJ306JHt0aGlzLmRlc3RpbmF0aW9uSWQgPz8gJyonfWA7XG4gIH1cbn1cblxuLyoqXG4gKiBQcmVmaXggYm94LWRyYXdpbmcgY2hhcmFjdGVycyB0byBtYWtlIGxpbmVzIGxvb2sgbGlrZSBhIGhhbmdpbmcgdHJlZVxuICovXG5mdW5jdGlvbiBwcmVmaXhUcmVlQ2hhcnMoeHM6IHN0cmluZ1tdLCBwcmVmaXggPSAnJykge1xuICBjb25zdCByZXQgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHhzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgaXNMYXN0ID0gaSA9PT0geHMubGVuZ3RoIC0gMTtcbiAgICBjb25zdCBib3hDaGFyID0gaXNMYXN0ID8gJ+KUlCcgOiAn4pScJztcbiAgICByZXQucHVzaChgJHtwcmVmaXh9JHtib3hDaGFyfSR7eHNbaV19YCk7XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cbiJdfQ==
package/lib/aws.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { ECRClient } from '@aws-sdk/client-ecr';
2
+ import { CompleteMultipartUploadCommandOutput, PutObjectCommandInput, S3Client } from '@aws-sdk/client-s3';
3
+ import { SecretsManagerClient } from '@aws-sdk/client-secrets-manager';
1
4
  /**
2
5
  * AWS SDK operations required by Asset Publishing
3
6
  */
@@ -6,9 +9,10 @@ export interface IAws {
6
9
  discoverDefaultRegion(): Promise<string>;
7
10
  discoverCurrentAccount(): Promise<Account>;
8
11
  discoverTargetAccount(options: ClientOptions): Promise<Account>;
9
- s3Client(options: ClientOptions): Promise<AWS.S3>;
10
- ecrClient(options: ClientOptions): Promise<AWS.ECR>;
11
- secretsManagerClient(options: ClientOptions): Promise<AWS.SecretsManager>;
12
+ s3Client(options: ClientOptions): Promise<S3Client>;
13
+ ecrClient(options: ClientOptions): Promise<ECRClient>;
14
+ secretsManagerClient(options: ClientOptions): Promise<SecretsManagerClient>;
15
+ upload(params: PutObjectCommandInput, options?: ClientOptions): Promise<CompleteMultipartUploadCommandOutput>;
12
16
  }
13
17
  export interface ClientOptions {
14
18
  region?: string;
@@ -36,24 +40,18 @@ export interface Account {
36
40
  * AWS client using the AWS SDK for JS with no special configuration
37
41
  */
38
42
  export declare class DefaultAwsClient implements IAws {
39
- private readonly AWS;
43
+ private readonly profile?;
40
44
  private account?;
41
- constructor(profile?: string);
42
- s3Client(options: ClientOptions): Promise<import("aws-sdk").S3>;
43
- ecrClient(options: ClientOptions): Promise<import("aws-sdk").ECR>;
44
- secretsManagerClient(options: ClientOptions): Promise<import("aws-sdk").SecretsManager>;
45
+ private config;
46
+ constructor(profile?: string | undefined);
47
+ s3Client(options: ClientOptions): Promise<S3Client>;
48
+ upload(params: PutObjectCommandInput, options?: ClientOptions): Promise<CompleteMultipartUploadCommandOutput>;
49
+ ecrClient(options: ClientOptions): Promise<ECRClient>;
50
+ secretsManagerClient(options: ClientOptions): Promise<SecretsManagerClient>;
45
51
  discoverPartition(): Promise<string>;
46
52
  discoverDefaultRegion(): Promise<string>;
47
53
  discoverCurrentAccount(): Promise<Account>;
48
54
  discoverTargetAccount(options: ClientOptions): Promise<Account>;
55
+ private getAccount;
49
56
  private awsOptions;
50
- /**
51
- * Explicit manual AssumeRole call
52
- *
53
- * Necessary since I can't seem to get the built-in support for ChainableTemporaryCredentials to work.
54
- *
55
- * It needs an explicit configuration of `masterCredentials`, we need to put
56
- * a `DefaultCredentialProverChain()` in there but that is not possible.
57
- */
58
- private assumeRole;
59
57
  }