@aws-sdk/middleware-bucket-endpoint 3.29.0 → 3.34.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/CHANGELOG.md CHANGED
@@ -3,6 +3,47 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
7
+
8
+
9
+ ### Features
10
+
11
+ * **non-clients:** remove comments from transpiled JS files ([#2813](https://github.com/aws/aws-sdk-js-v3/issues/2813)) ([e6fc7f3](https://github.com/aws/aws-sdk-js-v3/commit/e6fc7f3e0fa74785590ac19e7ed143c916bb9b6e))
12
+
13
+
14
+
15
+
16
+
17
+ # [3.33.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.32.0...v3.33.0) (2021-09-21)
18
+
19
+
20
+ ### Features
21
+
22
+ * **client-s3:** support generating endpoints from multi-region access point ([#2796](https://github.com/aws/aws-sdk-js-v3/issues/2796)) ([c1bed9d](https://github.com/aws/aws-sdk-js-v3/commit/c1bed9d5c54ea3afbfe1883877b452b0b54a69fa)), closes [#2759](https://github.com/aws/aws-sdk-js-v3/issues/2759)
23
+
24
+
25
+
26
+
27
+
28
+ # [3.32.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.31.0...v3.32.0) (2021-09-17)
29
+
30
+ **Note:** Version bump only for package @aws-sdk/middleware-bucket-endpoint
31
+
32
+
33
+
34
+
35
+
36
+ # [3.30.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.29.0...v3.30.0) (2021-09-07)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * **client-s3:** revert MRAP customizations ([#2759](https://github.com/aws/aws-sdk-js-v3/issues/2759)) ([cfb3fff](https://github.com/aws/aws-sdk-js-v3/commit/cfb3fff268eb393ece2ea50956a6f8610ec51c40))
42
+
43
+
44
+
45
+
46
+
6
47
  # [3.29.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.28.0...v3.29.0) (2021-09-02)
7
48
 
8
49
 
@@ -13,12 +13,12 @@ const bucketEndpointMiddleware = (options) => (next, context) => async (args) =>
13
13
  if (options.bucketEndpoint) {
14
14
  request.hostname = bucketName;
15
15
  }
16
- else if ((0, util_arn_parser_1.validate)(bucketName)) {
17
- const bucketArn = (0, util_arn_parser_1.parse)(bucketName);
18
- const clientRegion = (0, bucketHostnameUtils_1.getPseudoRegion)(await options.region());
16
+ else if (util_arn_parser_1.validate(bucketName)) {
17
+ const bucketArn = util_arn_parser_1.parse(bucketName);
18
+ const clientRegion = bucketHostnameUtils_1.getPseudoRegion(await options.region());
19
19
  const { partition, signingRegion = clientRegion } = (await options.regionInfoProvider(clientRegion)) || {};
20
20
  const useArnRegion = await options.useArnRegion();
21
- const { hostname, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService } = (0, bucketHostname_1.bucketHostname)({
21
+ const { hostname, bucketEndpoint, signingRegion: modifiedSigningRegion, signingService } = bucketHostname_1.bucketHostname({
22
22
  bucketName: bucketArn,
23
23
  baseHostname: request.hostname,
24
24
  accelerateEndpoint: options.useAccelerateEndpoint,
@@ -32,8 +32,6 @@ const bucketEndpointMiddleware = (options) => (next, context) => async (args) =>
32
32
  isCustomEndpoint: options.isCustomEndpoint,
33
33
  disableMultiregionAccessPoints: await options.disableMultiregionAccessPoints(),
34
34
  });
35
- // If the request needs to use a region or service name inferred from ARN that different from client region, we
36
- // need to set them in the handler context so the signer will use them
37
35
  if (modifiedSigningRegion && modifiedSigningRegion !== signingRegion) {
38
36
  context["signing_region"] = modifiedSigningRegion;
39
37
  }
@@ -44,8 +42,8 @@ const bucketEndpointMiddleware = (options) => (next, context) => async (args) =>
44
42
  replaceBucketInPath = bucketEndpoint;
45
43
  }
46
44
  else {
47
- const clientRegion = (0, bucketHostnameUtils_1.getPseudoRegion)(await options.region());
48
- const { hostname, bucketEndpoint } = (0, bucketHostname_1.bucketHostname)({
45
+ const clientRegion = bucketHostnameUtils_1.getPseudoRegion(await options.region());
46
+ const { hostname, bucketEndpoint } = bucketHostname_1.bucketHostname({
49
47
  bucketName,
50
48
  clientRegion,
51
49
  baseHostname: request.hostname,
@@ -77,8 +75,8 @@ exports.bucketEndpointMiddlewareOptions = {
77
75
  };
78
76
  const getBucketEndpointPlugin = (options) => ({
79
77
  applyToStack: (clientStack) => {
80
- clientStack.addRelativeTo((0, exports.bucketEndpointMiddleware)(options), exports.bucketEndpointMiddlewareOptions);
78
+ clientStack.addRelativeTo(exports.bucketEndpointMiddleware(options), exports.bucketEndpointMiddlewareOptions);
81
79
  },
82
80
  });
83
81
  exports.getBucketEndpointPlugin = getBucketEndpointPlugin;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1Y2tldEVuZHBvaW50TWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBcUQ7QUFXckQsOERBQXNGO0FBRXRGLHFEQUFrRDtBQUNsRCwrREFBd0Q7QUFHakQsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQXFDLEVBQTZCLEVBQUUsQ0FBQyxDQUc1RyxJQUErQixFQUMvQixPQUFnQyxFQUNMLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBZ0MsRUFBdUMsRUFBRTtJQUM5RyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUEyQixDQUFDO0lBQ2hFLElBQUksbUJBQW1CLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztJQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzdCLElBQUksMkJBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDbkMsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1NBQy9CO2FBQU0sSUFBSSxJQUFBLDBCQUFXLEVBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBUSxFQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sWUFBWSxHQUFHLElBQUEscUNBQWUsRUFBQyxNQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzdELE1BQU0sRUFBRSxTQUFTLEVBQUUsYUFBYSxHQUFHLFlBQVksRUFBRSxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0csTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsWUFBWSxFQUFF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TyxDQUFDLEVBQUUsdUNBQStCLENBQUMsQ0FBQztJQUNoRyxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBSlUsUUFBQSx1QkFBdUIsMkJBSWpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHtcbiAgQnVpbGRIYW5kbGVyLFxuICBCdWlsZEhhbmRsZXJBcmd1bWVudHMsXG4gIEJ1aWxkSGFuZGxlck91dHB1dCxcbiAgQnVpbGRNaWRkbGV3YXJlLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgUmVsYXRpdmVNaWRkbGV3YXJlT3B0aW9ucyxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBwYXJzZSBhcyBwYXJzZUFybiwgdmFsaWRhdGUgYXMgdmFsaWRhdGVBcm4gfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1hcm4tcGFyc2VyXCI7XG5cbmltcG9ydCB7IGJ1Y2tldEhvc3RuYW1lIH0gZnJvbSBcIi4vYnVja2V0SG9zdG5hbWVcIjtcbmltcG9ydCB7IGdldFBzZXVkb1JlZ2lvbiB9IGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lVXRpbHNcIjtcbmltcG9ydCB7IEJ1Y2tldEVuZHBvaW50UmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuXG5leHBvcnQgY29uc3QgYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlID0gKG9wdGlvbnM6IEJ1Y2tldEVuZHBvaW50UmVzb2x2ZWRDb25maWcpOiBCdWlsZE1pZGRsZXdhcmU8YW55LCBhbnk+ID0+IDxcbiAgT3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXJcbj4oXG4gIG5leHQ6IEJ1aWxkSGFuZGxlcjxhbnksIE91dHB1dD4sXG4gIGNvbnRleHQ6IEhhbmRsZXJFeGVjdXRpb25Db250ZXh0XG4pOiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChhcmdzOiBCdWlsZEhhbmRsZXJBcmd1bWVudHM8YW55Pik6IFByb21pc2U8QnVpbGRIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgY29uc3QgeyBCdWNrZXQ6IGJ1Y2tldE5hbWUgfSA9IGFyZ3MuaW5wdXQgYXMgeyBCdWNrZXQ6IHN0cmluZyB9O1xuICBsZXQgcmVwbGFjZUJ1Y2tldEluUGF0aCA9IG9wdGlvbnMuYnVja2V0RW5kcG9pbnQ7XG4gIGNvbnN0IHJlcXVlc3QgPSBhcmdzLnJlcXVlc3Q7XG4gIGlmIChIdHRwUmVxdWVzdC5pc0luc3RhbmNlKHJlcXVlc3QpKSB7XG4gICAgaWYgKG9wdGlvbnMuYnVja2V0RW5kcG9pbnQpIHtcbiAgICAgIHJlcXVlc3QuaG9zdG5hbWUgPSBidWNrZXROYW1lO1xuICAgIH0gZWxzZSBpZiAodmFsaWRhdGVBcm4oYnVja2V0TmFtZSkpIHtcbiAgICAgIGNvbnN0IGJ1Y2tldEFybiA9IHBhcnNlQXJuKGJ1Y2tldE5hbWUpO1xuICAgICAgY29uc3QgY2xpZW50UmVnaW9uID0gZ2V0UHNldWRvUmVnaW9uKGF3YWl0IG9wdGlvbnMucmVnaW9uKCkpO1xuICAgICAgY29uc3QgeyBwYXJ0aXRpb24sIHNpZ25pbmdSZWdpb24gPSBjbGllbnRSZWdpb24gfSA9IChhd2FpdCBvcHRpb25zLnJlZ2lvbkluZm9Qcm92aWRlcihjbGllbnRSZWdpb24pKSB8fCB7fTtcbiAgICAgIGNvbnN0IHVzZUFyblJlZ2lvbiA9IGF3YWl0IG9wdGlvbnMudXNlQXJuUmVnaW9uKCk7XG4gICAgICBjb25zdCB7IGhvc3RuYW1lLCBidWNrZXRFbmRwb2ludCwgc2lnbmluZ1JlZ2lvbjogbW9kaWZpZWRTaWduaW5nUmVnaW9uLCBzaWduaW5nU2VydmljZSB9ID0gYnVja2V0SG9zdG5hbWUoe1xuICAgICAgICBidWNrZXROYW1lOiBidWNrZXRBcm4sXG4gICAgICAgIGJhc2VIb3N0bmFtZTogcmVxdWVzdC5ob3N0bmFtZSxcbiAgICAgICAgYWNjZWxlcmF0ZUVuZHBvaW50OiBvcHRpb25zLnVzZUFjY2VsZXJhdGVFbmRwb2ludCxcbiAgICAgICAgZHVhbHN0YWNrRW5kcG9pbnQ6IG9wdGlvbnMudXNlRHVhbHN0YWNrRW5kcG9pbnQsXG4gICAgICAgIHBhdGhTdHlsZUVuZHBvaW50OiBvcHRpb25zLmZvcmNlUGF0aFN0eWxlLFxuICAgICAgICB0bHNDb21wYXRpYmxlOiByZXF1ZXN0LnByb3RvY29sID09PSBcImh0dHBzOlwiLFxuICAgICAgICB1c2VBcm5SZWdpb24sXG4gICAgICAgIGNsaWVudFBhcnRpdGlvbjogcGFydGl0aW9uLFxuICAgICAgICBjbGllbnRTaWduaW5nUmVnaW9uOiBzaWduaW5nUmVnaW9uLFxuICAgICAgICBjbGllbnRSZWdpb246IGNsaWVudFJlZ2lvbixcbiAgICAgICAgaXNDdXN0b21FbmRwb2ludDogb3B0aW9ucy5pc0N1c3RvbUVuZHBvaW50LFxuICAgICAgICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHM6IGF3YWl0IG9wdGlvbnMuZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzKCksXG4gICAgICB9KTtcblxuICAgICAgLy8gSWYgdGhlIHJlcXVlc3QgbmVlZHMgdG8gdXNlIGEgcmVnaW9uIG9yIHNlcnZpY2UgbmFtZSBpbmZlcnJlZCBmcm9tIEFSTiB0aGF0IGRpZmZlcmVudCBmcm9tIGNsaWVudCByZWdpb24sIHdlXG4gICAgICAvLyBuZWVkIHRvIHNldCB0aGVtIGluIHRoZSBoYW5kbGVyIGNvbnRleHQgc28gdGhlIHNpZ25lciB3aWxsIHVzZSB0aGVtXG4gICAgICBpZiAobW9kaWZpZWRTaWduaW5nUmVnaW9uICYmIG1vZGlmaWVkU2lnbmluZ1JlZ2lvbiAhPT0gc2lnbmluZ1JlZ2lvbikge1xuICAgICAgICBjb250ZXh0W1wic2lnbmluZ19yZWdpb25cIl0gPSBtb2RpZmllZFNpZ25pbmdSZWdpb247XG4gICAgICB9XG4gICAgICBpZiAoc2lnbmluZ1NlcnZpY2UgJiYgc2lnbmluZ1NlcnZpY2UgIT09IFwiczNcIikge1xuICAgICAgICBjb250ZXh0W1wic2lnbmluZ19zZXJ2aWNlXCJdID0gc2lnbmluZ1NlcnZpY2U7XG4gICAgICB9XG5cbiAgICAgIHJlcXVlc3QuaG9zdG5hbWUgPSBob3N0bmFtZTtcbiAgICAgIHJlcGxhY2VCdWNrZXRJblBhdGggPSBidWNrZXRFbmRwb2ludDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY2xpZW50UmVnaW9uID0gZ2V0UHNldWRvUmVnaW9uKGF3YWl0IG9wdGlvbnMucmVnaW9uKCkpO1xuICAgICAgY29uc3QgeyBob3N0bmFtZSwgYnVja2V0RW5kcG9pbnQgfSA9IGJ1Y2tldEhvc3RuYW1lKHtcbiAgICAgICAgYnVja2V0TmFtZSxcbiAgICAgICAgY2xpZW50UmVnaW9uLFxuICAgICAgICBiYXNlSG9zdG5hbWU6IHJlcXVlc3QuaG9zdG5hbWUsXG4gICAgICAgIGFjY2VsZXJhdGVFbmRwb2ludDogb3B0aW9ucy51c2VBY2NlbGVyYXRlRW5kcG9pbnQsXG4gICAgICAgIGR1YWxzdGFja0VuZHBvaW50OiBvcHRpb25zLnVzZUR1YWxzdGFja0VuZHBvaW50LFxuICAgICAgICBwYXRoU3R5bGVFbmRwb2ludDogb3B0aW9ucy5mb3JjZVBhdGhTdHlsZSxcbiAgICAgICAgdGxzQ29tcGF0aWJsZTogcmVxdWVzdC5wcm90b2NvbCA9PT0gXCJodHRwczpcIixcbiAgICAgICAgaXNDdXN0b21FbmRwb2ludDogb3B0aW9ucy5pc0N1c3RvbUVuZHBvaW50LFxuICAgICAgfSk7XG5cbiAgICAgIHJlcXVlc3QuaG9zdG5hbWUgPSBob3N0bmFtZTtcbiAgICAgIHJlcGxhY2VCdWNrZXRJblBhdGggPSBidWNrZXRFbmRwb2ludDtcbiAgICB9XG5cbiAgICBpZiAocmVwbGFjZUJ1Y2tldEluUGF0aCkge1xuICAgICAgcmVxdWVzdC5wYXRoID0gcmVxdWVzdC5wYXRoLnJlcGxhY2UoL14oXFwvKT9bXlxcL10rLywgXCJcIik7XG4gICAgICBpZiAocmVxdWVzdC5wYXRoID09PSBcIlwiKSB7XG4gICAgICAgIHJlcXVlc3QucGF0aCA9IFwiL1wiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXh0KHsgLi4uYXJncywgcmVxdWVzdCB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWNrZXRFbmRwb2ludE1pZGRsZXdhcmVPcHRpb25zOiBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zID0ge1xuICB0YWdzOiBbXCJCVUNLRVRfRU5EUE9JTlRcIl0sXG4gIG5hbWU6IFwiYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlXCIsXG4gIHJlbGF0aW9uOiBcImJlZm9yZVwiLFxuICB0b01pZGRsZXdhcmU6IFwiaG9zdEhlYWRlck1pZGRsZXdhcmVcIixcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QnVja2V0RW5kcG9pbnRQbHVnaW4gPSAob3B0aW9uczogQnVja2V0RW5kcG9pbnRSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGRSZWxhdGl2ZVRvKGJ1Y2tldEVuZHBvaW50TWlkZGxld2FyZShvcHRpb25zKSwgYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1Y2tldEVuZHBvaW50TWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBcUQ7QUFXckQsOERBQXNGO0FBRXRGLHFEQUFrRDtBQUNsRCwrREFBd0Q7QUFHakQsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQXFDLEVBQTZCLEVBQUUsQ0FBQyxDQUc1RyxJQUErQixFQUMvQixPQUFnQyxFQUNMLEVBQUUsQ0FBQyxLQUFLLEVBQUUsSUFBZ0MsRUFBdUMsRUFBRTtJQUM5RyxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUEyQixDQUFDO0lBQ2hFLElBQUksbUJBQW1CLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztJQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzdCLElBQUksMkJBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDbkMsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1NBQy9CO2FBQU0sSUFBSSwwQkFBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sU0FBUyxHQUFHLHVCQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkMsTUFBTSxZQUFZLEdBQUcscUNBQWUsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzdELE1BQU0sRUFBRSxTQUFTLEVBQUUsYUFBYSxHQUFHLFlBQVksRUFBRSxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDM0csTUFBTSxZQUFZLEdBQUcsTUFBTSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEQsTUFB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QUFBLHVCQUF1QiwyQkFJakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBCdWlsZEhhbmRsZXIsXG4gIEJ1aWxkSGFuZGxlckFyZ3VtZW50cyxcbiAgQnVpbGRIYW5kbGVyT3V0cHV0LFxuICBCdWlsZE1pZGRsZXdhcmUsXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBNZXRhZGF0YUJlYXJlcixcbiAgUGx1Z2dhYmxlLFxuICBSZWxhdGl2ZU1pZGRsZXdhcmVPcHRpb25zLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IHBhcnNlIGFzIHBhcnNlQXJuLCB2YWxpZGF0ZSBhcyB2YWxpZGF0ZUFybiB9IGZyb20gXCJAYXdzLXNkay91dGlsLWFybi1wYXJzZXJcIjtcblxuaW1wb3J0IHsgYnVja2V0SG9zdG5hbWUgfSBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVwiO1xuaW1wb3J0IHsgZ2V0UHNldWRvUmVnaW9uIH0gZnJvbSBcIi4vYnVja2V0SG9zdG5hbWVVdGlsc1wiO1xuaW1wb3J0IHsgQnVja2V0RW5kcG9pbnRSZXNvbHZlZENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5cbmV4cG9ydCBjb25zdCBidWNrZXRFbmRwb2ludE1pZGRsZXdhcmUgPSAob3B0aW9uczogQnVja2V0RW5kcG9pbnRSZXNvbHZlZENvbmZpZyk6IEJ1aWxkTWlkZGxld2FyZTxhbnksIGFueT4gPT4gPFxuICBPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlclxuPihcbiAgbmV4dDogQnVpbGRIYW5kbGVyPGFueSwgT3V0cHV0PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IEJ1aWxkSGFuZGxlcjxhbnksIE91dHB1dD4gPT4gYXN5bmMgKGFyZ3M6IEJ1aWxkSGFuZGxlckFyZ3VtZW50czxhbnk+KTogUHJvbWlzZTxCdWlsZEhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4gPT4ge1xuICBjb25zdCB7IEJ1Y2tldDogYnVja2V0TmFtZSB9ID0gYXJncy5pbnB1dCBhcyB7IEJ1Y2tldDogc3RyaW5nIH07XG4gIGxldCByZXBsYWNlQnVja2V0SW5QYXRoID0gb3B0aW9ucy5idWNrZXRFbmRwb2ludDtcbiAgY29uc3QgcmVxdWVzdCA9IGFyZ3MucmVxdWVzdDtcbiAgaWYgKEh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UocmVxdWVzdCkpIHtcbiAgICBpZiAob3B0aW9ucy5idWNrZXRFbmRwb2ludCkge1xuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGJ1Y2tldE5hbWU7XG4gICAgfSBlbHNlIGlmICh2YWxpZGF0ZUFybihidWNrZXROYW1lKSkge1xuICAgICAgY29uc3QgYnVja2V0QXJuID0gcGFyc2VBcm4oYnVja2V0TmFtZSk7XG4gICAgICBjb25zdCBjbGllbnRSZWdpb24gPSBnZXRQc2V1ZG9SZWdpb24oYXdhaXQgb3B0aW9ucy5yZWdpb24oKSk7XG4gICAgICBjb25zdCB7IHBhcnRpdGlvbiwgc2lnbmluZ1JlZ2lvbiA9IGNsaWVudFJlZ2lvbiB9ID0gKGF3YWl0IG9wdGlvbnMucmVnaW9uSW5mb1Byb3ZpZGVyKGNsaWVudFJlZ2lvbikpIHx8IHt9O1xuICAgICAgY29uc3QgdXNlQXJuUmVnaW9uID0gYXdhaXQgb3B0aW9ucy51c2VBcm5SZWdpb24oKTtcbiAgICAgIGNvbnN0IHsgaG9zdG5hbWUsIGJ1Y2tldEVuZHBvaW50LCBzaWduaW5nUmVnaW9uOiBtb2RpZmllZFNpZ25pbmdSZWdpb24sIHNpZ25pbmdTZXJ2aWNlIH0gPSBidWNrZXRIb3N0bmFtZSh7XG4gICAgICAgIGJ1Y2tldE5hbWU6IGJ1Y2tldEFybixcbiAgICAgICAgYmFzZUhvc3RuYW1lOiByZXF1ZXN0Lmhvc3RuYW1lLFxuICAgICAgICBhY2NlbGVyYXRlRW5kcG9pbnQ6IG9wdGlvbnMudXNlQWNjZWxlcmF0ZUVuZHBvaW50LFxuICAgICAgICBkdWFsc3RhY2tFbmRwb2ludDogb3B0aW9ucy51c2VEdWFsc3RhY2tFbmRwb2ludCxcbiAgICAgICAgcGF0aFN0eWxlRW5kcG9pbnQ6IG9wdGlvbnMuZm9yY2VQYXRoU3R5bGUsXG4gICAgICAgIHRsc0NvbXBhdGlibGU6IHJlcXVlc3QucHJvdG9jb2wgPT09IFwiaHR0cHM6XCIsXG4gICAgICAgIHVzZUFyblJlZ2lvbixcbiAgICAgICAgY2xpZW50UGFydGl0aW9uOiBwYXJ0aXRpb24sXG4gICAgICAgIGNsaWVudFNpZ25pbmdSZWdpb246IHNpZ25pbmdSZWdpb24sXG4gICAgICAgIGNsaWVudFJlZ2lvbjogY2xpZW50UmVnaW9uLFxuICAgICAgICBpc0N1c3RvbUVuZHBvaW50OiBvcHRpb25zLmlzQ3VzdG9tRW5kcG9pbnQsXG4gICAgICAgIGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50czogYXdhaXQgb3B0aW9ucy5kaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHMoKSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBJZiB0aGUgcmVxdWVzdCBuZWVkcyB0byB1c2UgYSByZWdpb24gb3Igc2VydmljZSBuYW1lIGluZmVycmVkIGZyb20gQVJOIHRoYXQgZGlmZmVyZW50IGZyb20gY2xpZW50IHJlZ2lvbiwgd2VcbiAgICAgIC8vIG5lZWQgdG8gc2V0IHRoZW0gaW4gdGhlIGhhbmRsZXIgY29udGV4dCBzbyB0aGUgc2lnbmVyIHdpbGwgdXNlIHRoZW1cbiAgICAgIGlmIChtb2RpZmllZFNpZ25pbmdSZWdpb24gJiYgbW9kaWZpZWRTaWduaW5nUmVnaW9uICE9PSBzaWduaW5nUmVnaW9uKSB7XG4gICAgICAgIGNvbnRleHRbXCJzaWduaW5nX3JlZ2lvblwiXSA9IG1vZGlmaWVkU2lnbmluZ1JlZ2lvbjtcbiAgICAgIH1cbiAgICAgIGlmIChzaWduaW5nU2VydmljZSAmJiBzaWduaW5nU2VydmljZSAhPT0gXCJzM1wiKSB7XG4gICAgICAgIGNvbnRleHRbXCJzaWduaW5nX3NlcnZpY2VcIl0gPSBzaWduaW5nU2VydmljZTtcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGhvc3RuYW1lO1xuICAgICAgcmVwbGFjZUJ1Y2tldEluUGF0aCA9IGJ1Y2tldEVuZHBvaW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjbGllbnRSZWdpb24gPSBnZXRQc2V1ZG9SZWdpb24oYXdhaXQgb3B0aW9ucy5yZWdpb24oKSk7XG4gICAgICBjb25zdCB7IGhvc3RuYW1lLCBidWNrZXRFbmRwb2ludCB9ID0gYnVja2V0SG9zdG5hbWUoe1xuICAgICAgICBidWNrZXROYW1lLFxuICAgICAgICBjbGllbnRSZWdpb24sXG4gICAgICAgIGJhc2VIb3N0bmFtZTogcmVxdWVzdC5ob3N0bmFtZSxcbiAgICAgICAgYWNjZWxlcmF0ZUVuZHBvaW50OiBvcHRpb25zLnVzZUFjY2VsZXJhdGVFbmRwb2ludCxcbiAgICAgICAgZHVhbHN0YWNrRW5kcG9pbnQ6IG9wdGlvbnMudXNlRHVhbHN0YWNrRW5kcG9pbnQsXG4gICAgICAgIHBhdGhTdHlsZUVuZHBvaW50OiBvcHRpb25zLmZvcmNlUGF0aFN0eWxlLFxuICAgICAgICB0bHNDb21wYXRpYmxlOiByZXF1ZXN0LnByb3RvY29sID09PSBcImh0dHBzOlwiLFxuICAgICAgICBpc0N1c3RvbUVuZHBvaW50OiBvcHRpb25zLmlzQ3VzdG9tRW5kcG9pbnQsXG4gICAgICB9KTtcblxuICAgICAgcmVxdWVzdC5ob3N0bmFtZSA9IGhvc3RuYW1lO1xuICAgICAgcmVwbGFjZUJ1Y2tldEluUGF0aCA9IGJ1Y2tldEVuZHBvaW50O1xuICAgIH1cblxuICAgIGlmIChyZXBsYWNlQnVja2V0SW5QYXRoKSB7XG4gICAgICByZXF1ZXN0LnBhdGggPSByZXF1ZXN0LnBhdGgucmVwbGFjZSgvXihcXC8pP1teXFwvXSsvLCBcIlwiKTtcbiAgICAgIGlmIChyZXF1ZXN0LnBhdGggPT09IFwiXCIpIHtcbiAgICAgICAgcmVxdWVzdC5wYXRoID0gXCIvXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHQoeyAuLi5hcmdzLCByZXF1ZXN0IH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1Y2tldEVuZHBvaW50TWlkZGxld2FyZU9wdGlvbnM6IFJlbGF0aXZlTWlkZGxld2FyZU9wdGlvbnMgPSB7XG4gIHRhZ3M6IFtcIkJVQ0tFVF9FTkRQT0lOVFwiXSxcbiAgbmFtZTogXCJidWNrZXRFbmRwb2ludE1pZGRsZXdhcmVcIixcbiAgcmVsYXRpb246IFwiYmVmb3JlXCIsXG4gIHRvTWlkZGxld2FyZTogXCJob3N0SGVhZGVyTWlkZGxld2FyZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRCdWNrZXRFbmRwb2ludFBsdWdpbiA9IChvcHRpb25zOiBCdWNrZXRFbmRwb2ludFJlc29sdmVkQ29uZmlnKTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZFJlbGF0aXZlVG8oYnVja2V0RW5kcG9pbnRNaWRkbGV3YXJlKG9wdGlvbnMpLCBidWNrZXRFbmRwb2ludE1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19
@@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bucketHostname = void 0;
4
4
  const bucketHostnameUtils_1 = require("./bucketHostnameUtils");
5
5
  const bucketHostname = (options) => {
6
- (0, bucketHostnameUtils_1.validateCustomEndpoint)(options);
7
- return (0, bucketHostnameUtils_1.isBucketNameOptions)(options)
8
- ? // Construct endpoint when bucketName is a string referring to a bucket name
6
+ bucketHostnameUtils_1.validateCustomEndpoint(options);
7
+ return bucketHostnameUtils_1.isBucketNameOptions(options)
8
+ ?
9
9
  getEndpointFromBucketName(options)
10
- : // Construct endpoint when bucketName is an ARN referring to an S3 resource like Access Point
10
+ :
11
11
  getEndpointFromArn(options);
12
12
  };
13
13
  exports.bucketHostname = bucketHostname;
14
14
  const getEndpointFromBucketName = ({ accelerateEndpoint = false, clientRegion: region, baseHostname, bucketName, dualstackEndpoint = false, pathStyleEndpoint = false, tlsCompatible = true, isCustomEndpoint = false, }) => {
15
- const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] : (0, bucketHostnameUtils_1.getSuffix)(baseHostname);
16
- if (pathStyleEndpoint || !(0, bucketHostnameUtils_1.isDnsCompatibleBucketName)(bucketName) || (tlsCompatible && bucketHostnameUtils_1.DOT_PATTERN.test(bucketName))) {
15
+ const [clientRegion, hostnameSuffix] = isCustomEndpoint ? [region, baseHostname] : bucketHostnameUtils_1.getSuffix(baseHostname);
16
+ if (pathStyleEndpoint || !bucketHostnameUtils_1.isDnsCompatibleBucketName(bucketName) || (tlsCompatible && bucketHostnameUtils_1.DOT_PATTERN.test(bucketName))) {
17
17
  return {
18
18
  bucketEndpoint: false,
19
19
  hostname: dualstackEndpoint ? `s3.dualstack.${clientRegion}.${hostnameSuffix}` : baseHostname,
@@ -32,15 +32,14 @@ const getEndpointFromBucketName = ({ accelerateEndpoint = false, clientRegion: r
32
32
  };
33
33
  const getEndpointFromArn = (options) => {
34
34
  const { isCustomEndpoint, baseHostname, clientRegion } = options;
35
- const hostnameSuffix = isCustomEndpoint ? baseHostname : (0, bucketHostnameUtils_1.getSuffixForArnEndpoint)(baseHostname)[1];
35
+ const hostnameSuffix = isCustomEndpoint ? baseHostname : bucketHostnameUtils_1.getSuffixForArnEndpoint(baseHostname)[1];
36
36
  const { pathStyleEndpoint, accelerateEndpoint = false, tlsCompatible = true, bucketName, clientPartition = "aws", } = options;
37
- (0, bucketHostnameUtils_1.validateArnEndpointOptions)({ pathStyleEndpoint, accelerateEndpoint, tlsCompatible });
38
- // Validate and parse the ARN supplied as a bucket name
37
+ bucketHostnameUtils_1.validateArnEndpointOptions({ pathStyleEndpoint, accelerateEndpoint, tlsCompatible });
39
38
  const { service, partition, accountId, region, resource } = bucketName;
40
- (0, bucketHostnameUtils_1.validateService)(service);
41
- (0, bucketHostnameUtils_1.validatePartition)(partition, { clientPartition });
42
- (0, bucketHostnameUtils_1.validateAccountId)(accountId);
43
- const { accesspointName, outpostId } = (0, bucketHostnameUtils_1.getArnResources)(resource);
39
+ bucketHostnameUtils_1.validateService(service);
40
+ bucketHostnameUtils_1.validatePartition(partition, { clientPartition });
41
+ bucketHostnameUtils_1.validateAccountId(accountId);
42
+ const { accesspointName, outpostId } = bucketHostnameUtils_1.getArnResources(resource);
44
43
  if (service === "s3-object-lambda") {
45
44
  return getEndpointFromObjectLambdaArn({ ...options, tlsCompatible, bucketName, accesspointName, hostnameSuffix });
46
45
  }
@@ -54,27 +53,26 @@ const getEndpointFromArn = (options) => {
54
53
  };
55
54
  const getEndpointFromObjectLambdaArn = ({ dualstackEndpoint = false, tlsCompatible = true, useArnRegion, clientRegion, clientSigningRegion = clientRegion, accesspointName, bucketName, hostnameSuffix, }) => {
56
55
  const { accountId, region, service } = bucketName;
57
- (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);
58
- (0, bucketHostnameUtils_1.validateRegion)(region, { useArnRegion, clientRegion, clientSigningRegion, allowFipsRegion: true });
59
- (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);
56
+ bucketHostnameUtils_1.validateRegionalClient(clientRegion);
57
+ bucketHostnameUtils_1.validateRegion(region, { useArnRegion, clientRegion, clientSigningRegion, allowFipsRegion: true });
58
+ bucketHostnameUtils_1.validateNoDualstack(dualstackEndpoint);
60
59
  const DNSHostLabel = `${accesspointName}-${accountId}`;
61
- (0, bucketHostnameUtils_1.validateDNSHostLabel)(DNSHostLabel, { tlsCompatible });
60
+ bucketHostnameUtils_1.validateDNSHostLabel(DNSHostLabel, { tlsCompatible });
62
61
  const endpointRegion = useArnRegion ? region : clientRegion;
63
62
  const signingRegion = useArnRegion ? region : clientSigningRegion;
64
63
  return {
65
64
  bucketEndpoint: true,
66
- hostname: `${DNSHostLabel}.${service}${(0, bucketHostnameUtils_1.isFipsRegion)(clientRegion) ? "-fips" : ""}.${(0, bucketHostnameUtils_1.getPseudoRegion)(endpointRegion)}.${hostnameSuffix}`,
65
+ hostname: `${DNSHostLabel}.${service}${bucketHostnameUtils_1.isFipsRegion(clientRegion) ? "-fips" : ""}.${bucketHostnameUtils_1.getPseudoRegion(endpointRegion)}.${hostnameSuffix}`,
67
66
  signingRegion,
68
67
  signingService: service,
69
68
  };
70
69
  };
71
70
  const getEndpointFromMRAPArn = ({ disableMultiregionAccessPoints, dualstackEndpoint = false, isCustomEndpoint, mrapAlias, hostnameSuffix, }) => {
72
- // If this is a multi-regional access point, and not explicitly opted out.
73
71
  if (disableMultiregionAccessPoints === true) {
74
72
  throw new Error("SDK is attempting to use a MRAP ARN. Please enable to feature.");
75
73
  }
76
- (0, bucketHostnameUtils_1.validateMrapAlias)(mrapAlias);
77
- (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);
74
+ bucketHostnameUtils_1.validateMrapAlias(mrapAlias);
75
+ bucketHostnameUtils_1.validateNoDualstack(dualstackEndpoint);
78
76
  return {
79
77
  bucketEndpoint: true,
80
78
  hostname: `${mrapAlias}${isCustomEndpoint ? "" : `.accesspoint.s3-global`}.${hostnameSuffix}`,
@@ -82,17 +80,16 @@ const getEndpointFromMRAPArn = ({ disableMultiregionAccessPoints, dualstackEndpo
82
80
  };
83
81
  };
84
82
  const getEndpointFromOutpostArn = ({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, outpostId, dualstackEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix, }) => {
85
- // if this is an Outpost ARN
86
- (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);
87
- (0, bucketHostnameUtils_1.validateRegion)(bucketName.region, { useArnRegion, clientRegion, clientSigningRegion });
83
+ bucketHostnameUtils_1.validateRegionalClient(clientRegion);
84
+ bucketHostnameUtils_1.validateRegion(bucketName.region, { useArnRegion, clientRegion, clientSigningRegion });
88
85
  const DNSHostLabel = `${accesspointName}-${bucketName.accountId}`;
89
- (0, bucketHostnameUtils_1.validateDNSHostLabel)(DNSHostLabel, { tlsCompatible });
86
+ bucketHostnameUtils_1.validateDNSHostLabel(DNSHostLabel, { tlsCompatible });
90
87
  const endpointRegion = useArnRegion ? bucketName.region : clientRegion;
91
88
  const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;
92
- (0, bucketHostnameUtils_1.validateOutpostService)(bucketName.service);
93
- (0, bucketHostnameUtils_1.validateDNSHostLabel)(outpostId, { tlsCompatible });
94
- (0, bucketHostnameUtils_1.validateNoDualstack)(dualstackEndpoint);
95
- (0, bucketHostnameUtils_1.validateNoFIPS)(endpointRegion);
89
+ bucketHostnameUtils_1.validateOutpostService(bucketName.service);
90
+ bucketHostnameUtils_1.validateDNSHostLabel(outpostId, { tlsCompatible });
91
+ bucketHostnameUtils_1.validateNoDualstack(dualstackEndpoint);
92
+ bucketHostnameUtils_1.validateNoFIPS(endpointRegion);
96
93
  const hostnamePrefix = `${DNSHostLabel}.${outpostId}`;
97
94
  return {
98
95
  bucketEndpoint: true,
@@ -102,20 +99,19 @@ const getEndpointFromOutpostArn = ({ useArnRegion, clientRegion, clientSigningRe
102
99
  };
103
100
  };
104
101
  const getEndpointFromAccessPointArn = ({ useArnRegion, clientRegion, clientSigningRegion = clientRegion, bucketName, dualstackEndpoint = false, tlsCompatible = true, accesspointName, isCustomEndpoint, hostnameSuffix, }) => {
105
- // construct endpoint from Accesspoint ARN
106
- (0, bucketHostnameUtils_1.validateRegionalClient)(clientRegion);
107
- (0, bucketHostnameUtils_1.validateRegion)(bucketName.region, { useArnRegion, clientRegion, clientSigningRegion, allowFipsRegion: true });
102
+ bucketHostnameUtils_1.validateRegionalClient(clientRegion);
103
+ bucketHostnameUtils_1.validateRegion(bucketName.region, { useArnRegion, clientRegion, clientSigningRegion, allowFipsRegion: true });
108
104
  const hostnamePrefix = `${accesspointName}-${bucketName.accountId}`;
109
- (0, bucketHostnameUtils_1.validateDNSHostLabel)(hostnamePrefix, { tlsCompatible });
105
+ bucketHostnameUtils_1.validateDNSHostLabel(hostnamePrefix, { tlsCompatible });
110
106
  const endpointRegion = useArnRegion ? bucketName.region : clientRegion;
111
107
  const signingRegion = useArnRegion ? bucketName.region : clientSigningRegion;
112
- (0, bucketHostnameUtils_1.validateS3Service)(bucketName.service);
108
+ bucketHostnameUtils_1.validateS3Service(bucketName.service);
113
109
  return {
114
110
  bucketEndpoint: true,
115
111
  hostname: `${hostnamePrefix}${isCustomEndpoint
116
112
  ? ""
117
- : `.s3-accesspoint${(0, bucketHostnameUtils_1.isFipsRegion)(clientRegion) ? "-fips" : ""}${dualstackEndpoint ? ".dualstack" : ""}.${(0, bucketHostnameUtils_1.getPseudoRegion)(endpointRegion)}`}.${hostnameSuffix}`,
113
+ : `.s3-accesspoint${bucketHostnameUtils_1.isFipsRegion(clientRegion) ? "-fips" : ""}${dualstackEndpoint ? ".dualstack" : ""}.${bucketHostnameUtils_1.getPseudoRegion(endpointRegion)}`}.${hostnameSuffix}`,
118
114
  signingRegion,
119
115
  };
120
116
  };
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVja2V0SG9zdG5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0RBd0IrQjtBQVN4QixNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQWlELEVBQWtCLEVBQUU7SUFDbEcsSUFBQSw0Q0FBc0IsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxPQUFPLElBQUEseUNBQW1CLEVBQUMsT0FBTyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyw0RUFBNEU7WUFDNUUseUJBQXlCLENBQUMsT0FBTyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyw2RkFBNkY7WUFDN0Ysa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBUFcsUUFBQSxjQUFjLGtCQU96QjtBQUVGLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxFQUNqQyxrQkFBa0IsR0FBRyxLQUFLLEVBQzFCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEdBQUcsS0FBSyxFQUN6QixpQkFBaUIsR0FBRyxLQUFLLEVBQ3pCLGFBQWEsR0FBRyxJQUFJLEVBQ3BCLGdCQUFnQixHQUFHLEtBQUssR0FDSCxFQUFrQixFQUFFO0lBQ3pDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLCtCQUFTLEVBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0csSUFBSSxpQkFBaUIsSUFBSSxDQUFDLElBQUEsK0NBQXlCLEVBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksaUNBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRTtRQUNsSCxPQUFPO1lBQ0wsY0FBYyxFQUFFLEtBQUs7WUFDckIsUUFBUSxFQUFFLGlCQUFp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QVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7SUFDN0UsSUFBQSx1Q0FBaUIsRUFBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsT0FBTztRQUNMLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLFFBQVEsRUFBRSxHQUFHLGNBQWMsR0FDekIsZ0JBQWdCO1lBQ2QsQ0FBQyxDQUFDLEVBQUU7WUFDSixDQUFDLENBQUMsa0JBQWtCLElBQUEsa0NBQVksRUFBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQ3pELGlCQUFpQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ3JDLElBQUksSUFBQSxxQ0FBZSxFQUFDLGNBQWMsQ0FBQyxFQUN6QyxJQUFJLGNBQWMsRUFBRTtRQUNwQixhQUFhO0tBQ2QsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFSTiB9IGZyb20gXCJAYXdzLXNkay91dGlsLWFybi1wYXJzZXJcIjtcblxuaW1wb3J0IHtcbiAgQXJuSG9zdG5hbWVQYXJhbXMsXG4gIEJ1Y2tldEhvc3RuYW1lUGFyYW1zLFxuICBET1RfUEFUVEVSTixcbiAgZ2V0QXJuUmVzb3VyY2VzLFxuICBnZXRQc2V1ZG9SZWdpb24sXG4gIGdldFN1ZmZpeCxcbiAgZ2V0U3VmZml4Rm9yQXJuRW5kcG9pbnQsXG4gIGlzQnVja2V0TmFtZU9wdGlvbnMsXG4gIGlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUsXG4gIGlzRmlwc1JlZ2lvbixcbiAgdmFsaWRhdGVBY2NvdW50SWQsXG4gIHZhbGlkYXRlQXJuRW5kcG9pbnRPcHRpb25zLFxuICB2YWxpZGF0ZUN1c3RvbUVuZHBvaW50LFxuICB2YWxpZGF0ZUROU0hvc3RMYWJlbCxcbiAgdmFsaWRhdGVNcmFwQWxpYXMsXG4gIHZhbGlkYXRlTm9EdWFsc3RhY2ssXG4gIHZhbGlkYXRlTm9GSVBTLFxuICB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlLFxuICB2YWxpZGF0ZVBhcnRpdGlvbixcbiAgdmFsaWRhdGVSZWdpb24sXG4gIHZhbGlkYXRlUmVnaW9uYWxDbGllbnQsXG4gIHZhbGlkYXRlUzNTZXJ2aWNlLFxuICB2YWxpZGF0ZVNlcnZpY2UsXG59IGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lVXRpbHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRIb3N0bmFtZSB7XG4gIGhvc3RuYW1lOiBzdHJpbmc7XG4gIGJ1Y2tldEVuZHBvaW50OiBib29sZWFuO1xuICBzaWduaW5nUmVnaW9uPzogc3RyaW5nO1xuICBzaWduaW5nU2VydmljZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IGJ1Y2tldEhvc3RuYW1lID0gKG9wdGlvbnM6IEJ1Y2tldEhvc3RuYW1lUGFyYW1zIHwgQXJuSG9zdG5hbWVQYXJhbXMpOiBCdWNrZXRIb3N0bmFtZSA9PiB7XG4gIHZhbGlkYXRlQ3VzdG9tRW5kcG9pbnQob3B0aW9ucyk7XG4gIHJldHVybiBpc0J1Y2tldE5hbWVPcHRpb25zKG9wdGlvbnMpXG4gICAgPyAvLyBDb25zdHJ1Y3QgZW5kcG9pbnQgd2hlbiBidWNrZXROYW1lIGlzIGEgc3RyaW5nIHJlZmVycmluZyB0byBhIGJ1Y2tldCBuYW1lXG4gICAgICBnZXRFbmRwb2ludEZyb21CdWNrZXROYW1lKG9wdGlvbnMpXG4gICAgOiAvLyBDb25zdHJ1Y3QgZW5kcG9pbnQgd2hlbiBidWNrZXROYW1lIGlzIGFuIEFSTiByZWZlcnJpbmcgdG8gYW4gUzMgcmVzb3VyY2UgbGlrZSBBY2Nlc3MgUG9pbnRcbiAgICAgIGdldEVuZHBvaW50RnJvbUFybihvcHRpb25zKTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbUJ1Y2tldE5hbWUgPSAoe1xuICBhY2NlbGVyYXRlRW5kcG9pbnQgPSBmYWxzZSxcbiAgY2xpZW50UmVnaW9uOiByZWdpb24sXG4gIGJhc2VIb3N0bmFtZSxcbiAgYnVja2V0TmFtZSxcbiAgZHVhbHN0YWNrRW5kcG9pbnQgPSBmYWxzZSxcbiAgcGF0aFN0eWxlRW5kcG9pbnQgPSBmYWxzZSxcbiAgdGxzQ29tcGF0aWJsZSA9IHRydWUsXG4gIGlzQ3VzdG9tRW5kcG9pbnQgPSBmYWxzZSxcbn06IEJ1Y2tldEhvc3RuYW1lUGFyYW1zKTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCBbY2xpZW50UmVnaW9uLCBob3N0bmFtZVN1ZmZpeF0gPSBpc0N1c3RvbUVuZHBvaW50ID8gW3JlZ2lvbiwgYmFzZUhvc3RuYW1lXSA6IGdldFN1ZmZpeChiYXNlSG9zdG5hbWUpO1xuICBpZiAocGF0aFN0eWxlRW5kcG9pbnQgfHwgIWlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUoYnVja2V0TmFtZSkgfHwgKHRsc0NvbXBhdGlibGUgJiYgRE9UX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYnVja2V0RW5kcG9pbnQ6IGZhbHNlLFxuICAgICAgaG9zdG5hbWU6IGR1YWxzdGFja0VuZHBvaW50ID8gYHMzLmR1YWxzdGFjay4ke2NsaWVudFJlZ2lvbn0uJHtob3N0bmFtZVN1ZmZpeH1gIDogYmFzZUhvc3RuYW1lLFxuICAgIH07XG4gIH1cblxuICBpZiAoYWNjZWxlcmF0ZUVuZHBvaW50KSB7XG4gICAgYmFzZUhvc3RuYW1lID0gYHMzLWFjY2VsZXJhdGUke2R1YWxzdGFja0VuZHBvaW50ID8gXCIuZHVhbHN0YWNrXCIgOiBcIlwifS4ke2hvc3RuYW1lU3VmZml4fWA7XG4gIH0gZWxzZSBpZiAoZHVhbHN0YWNrRW5kcG9pbnQpIHtcbiAgICBiYXNlSG9zdG5hbWUgPSBgczMuZHVhbHN0YWNrLiR7Y2xpZW50UmVnaW9ufS4ke2hvc3RuYW1lU3VmZml4fWA7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtidWNrZXROYW1lfS4ke2Jhc2VIb3N0bmFtZX1gLFxuICB9O1xufTtcblxuY29uc3QgZ2V0RW5kcG9pbnRGcm9tQXJuID0gKG9wdGlvbnM6IEFybkhvc3RuYW1lUGFyYW1zKTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCB7IGlzQ3VzdG9tRW5kcG9pbnQsIGJhc2VIb3N0bmFtZSwgY2xpZW50UmVnaW9uIH0gPSBvcHRpb25zO1xuICBjb25zdCBob3N0bmFtZVN1ZmZpeCA9IGlzQ3VzdG9tRW5kcG9pbnQgPyBiYXNlSG9zdG5hbWUgOiBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludChiYXNlSG9zdG5hbWUpWzFdO1xuXG4gIGNvbnN0IHtcbiAgICBwYXRoU3R5bGVFbmRwb2ludCxcbiAgICBhY2NlbGVyYXRlRW5kcG9pbnQgPSBmYWxzZSxcbiAgICB0bHNDb21wYXRpYmxlID0gdHJ1ZSxcbiAgICBidWNrZXROYW1lLFxuICAgIGNsaWVudFBhcnRpdGlvbiA9IFwiYXdzXCIsXG4gIH0gPSBvcHRpb25zO1xuXG4gIHZhbGlkYXRlQXJuRW5kcG9pbnRPcHRpb25zKHsgcGF0aFN0eWxlRW5kcG9pbnQsIGFjY2VsZXJhdGVFbmRwb2ludCwgdGxzQ29tcGF0aWJsZSB9KTtcblxuICAvLyBWYWxpZGF0ZSBhbmQgcGFyc2UgdGhlIEFSTiBzdXBwbGllZCBhcyBhIGJ1Y2tldCBuYW1lXG4gIGNvbnN0IHsgc2VydmljZSwgcGFydGl0aW9uLCBhY2NvdW50SWQsIHJlZ2lvbiwgcmVzb3VyY2UgfSA9IGJ1Y2tldE5hbWU7XG4gIHZhbGlkYXRlU2VydmljZShzZXJ2aWNlKTtcbiAgdmFsaWRhdGVQYXJ0aXRpb24ocGFydGl0aW9uLCB7IGNsaWVudFBhcnRpdGlvbiB9KTtcbiAgdmFsaWRhdGVBY2NvdW50SWQoYWNjb3VudElkKTtcbiAgY29uc3QgeyBhY2Nlc3Nwb2ludE5hbWUsIG91dHBvc3RJZCB9ID0gZ2V0QXJuUmVzb3VyY2VzKHJlc291cmNlKTtcbiAgaWYgKHNlcnZpY2UgPT09IFwiczMtb2JqZWN0LWxhbWJkYVwiKSB7XG4gICAgcmV0dXJuIGdldEVuZHBvaW50RnJvbU9iamVjdExhbWJkYUFybih7IC4uLm9wdGlvbnMsIHRsc0NvbXBhdGlibGUsIGJ1Y2tldE5hbWUsIGFjY2Vzc3BvaW50TmFtZSwgaG9zdG5hbWVTdWZmaXggfSk7XG4gIH1cbiAgaWYgKHJlZ2lvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiBnZXRFbmRwb2ludEZyb21NUkFQQXJuKHsgLi4ub3B0aW9ucywgY2xpZW50UmVnaW9uLCBtcmFwQWxpYXM6IGFjY2Vzc3BvaW50TmFtZSwgaG9zdG5hbWVTdWZmaXggfSk7XG4gIH1cbiAgaWYgKG91dHBvc3RJZCkge1xuICAgIHJldHVybiBnZXRFbmRwb2ludEZyb21PdXRwb3N0QXJuKHsgLi4ub3B0aW9ucywgY2xpZW50UmVnaW9uLCBvdXRwb3N0SWQsIGFjY2Vzc3BvaW50TmFtZSwgaG9zdG5hbWVTdWZmaXggfSk7XG4gIH1cbiAgcmV0dXJuIGdldEVuZHBvaW50RnJvbUFjY2Vzc1BvaW50QXJuKHsgLi4ub3B0aW9ucywgY2xpZW50UmVnaW9uLCBhY2Nlc3Nwb2ludE5hbWUsIGhvc3RuYW1lU3VmZml4IH0pO1xufTtcblxuY29uc3QgZ2V0RW5kcG9pbnRGcm9tT2JqZWN0TGFtYmRhQXJuID0gKHtcbiAgZHVhbHN0YWNrRW5kcG9pbnQgPSBmYWxzZSxcbiAgdGxzQ29tcGF0aWJsZSA9IHRydWUsXG4gIHVzZUFyblJlZ2lvbixcbiAgY2xpZW50UmVnaW9uLFxuICBjbGllbnRTaWduaW5nUmVnaW9uID0gY2xpZW50UmVnaW9uLFxuICBhY2Nlc3Nwb2ludE5hbWUsXG4gIGJ1Y2tldE5hbWUsXG4gIGhvc3RuYW1lU3VmZml4LFxufTogQXJuSG9zdG5hbWVQYXJhbXMgJiB7XG4gIGFjY2Vzc3BvaW50TmFtZTogc3RyaW5nO1xuICBidWNrZXROYW1lOiBBUk47XG4gIGhvc3RuYW1lU3VmZml4OiBzdHJpbmc7XG59KTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICBjb25zdCB7IGFjY291bnRJZCwgcmVnaW9uLCBzZXJ2aWNlIH0gPSBidWNrZXROYW1lO1xuICB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50KGNsaWVudFJlZ2lvbik7XG4gIHZhbGlkYXRlUmVnaW9uKHJlZ2lvbiwgeyB1c2VBcm5SZWdpb24sIGNsaWVudFJlZ2lvbiwgY2xpZW50U2lnbmluZ1JlZ2lvbiwgYWxsb3dGaXBzUmVnaW9uOiB0cnVlIH0pO1xuICB2YWxpZGF0ZU5vRHVhbHN0YWNrKGR1YWxzdGFja0VuZHBvaW50KTtcbiAgY29uc3QgRE5TSG9zdExhYmVsID0gYCR7YWNjZXNzcG9pbnROYW1lfS0ke2FjY291bnRJZH1gO1xuICB2YWxpZGF0ZUROU0hvc3RMYWJlbChETlNIb3N0TGFiZWwsIHsgdGxzQ29tcGF0aWJsZSB9KTtcblxuICBjb25zdCBlbmRwb2ludFJlZ2lvbiA9IHVzZUFyblJlZ2lvbiA/IHJlZ2lvbiA6IGNsaWVudFJlZ2lvbjtcbiAgY29uc3Qgc2lnbmluZ1JlZ2lvbiA9IHVzZUFyblJlZ2lvbiA/IHJlZ2lvbiA6IGNsaWVudFNpZ25pbmdSZWdpb247XG5cbiAgcmV0dXJuIHtcbiAgICBidWNrZXRFbmRwb2ludDogdHJ1ZSxcbiAgICBob3N0bmFtZTogYCR7RE5TSG9zdExhYmVsfS4ke3NlcnZpY2V9JHtpc0ZpcHNSZWdpb24oY2xpZW50UmVnaW9uKSA/IFwiLWZpcHNcIiA6IFwiXCJ9LiR7Z2V0UHNldWRvUmVnaW9uKFxuICAgICAgZW5kcG9pbnRSZWdpb25cbiAgICApfS4ke2hvc3RuYW1lU3VmZml4fWAsXG4gICAgc2lnbmluZ1JlZ2lvbixcbiAgICBzaWduaW5nU2VydmljZTogc2VydmljZSxcbiAgfTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbU1SQVBBcm4gPSAoe1xuICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHMsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIGlzQ3VzdG9tRW5kcG9pbnQsXG4gIG1yYXBBbGlhcyxcbiAgaG9zdG5hbWVTdWZmaXgsXG59OiBBcm5Ib3N0bmFtZVBhcmFtcyAmIHsgbXJhcEFsaWFzOiBzdHJpbmc7IGhvc3RuYW1lU3VmZml4OiBzdHJpbmcgfSk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgLy8gSWYgdGhpcyBpcyBhIG11bHRpLXJlZ2lvbmFsIGFjY2VzcyBwb2ludCwgYW5kIG5vdCBleHBsaWNpdGx5IG9wdGVkIG91dC5cbiAgaWYgKGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50cyA9PT0gdHJ1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlNESyBpcyBhdHRlbXB0aW5nIHRvIHVzZSBhIE1SQVAgQVJOLiBQbGVhc2UgZW5hYmxlIHRvIGZlYXR1cmUuXCIpO1xuICB9XG4gIHZhbGlkYXRlTXJhcEFsaWFzKG1yYXBBbGlhcyk7XG4gIHZhbGlkYXRlTm9EdWFsc3RhY2soZHVhbHN0YWNrRW5kcG9pbnQpO1xuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHttcmFwQWxpYXN9JHtpc0N1c3RvbUVuZHBvaW50ID8gXCJcIiA6IGAuYWNjZXNzcG9pbnQuczMtZ2xvYmFsYH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgIHNpZ25pbmdSZWdpb246IFwiKlwiLFxuICB9O1xufTtcblxuY29uc3QgZ2V0RW5kcG9pbnRGcm9tT3V0cG9zdEFybiA9ICh7XG4gIHVzZUFyblJlZ2lvbixcbiAgY2xpZW50UmVnaW9uLFxuICBjbGllbnRTaWduaW5nUmVnaW9uID0gY2xpZW50UmVnaW9uLFxuICBidWNrZXROYW1lLFxuICBvdXRwb3N0SWQsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICBhY2Nlc3Nwb2ludE5hbWUsXG4gIGlzQ3VzdG9tRW5kcG9pbnQsXG4gIGhvc3RuYW1lU3VmZml4LFxufTogQXJuSG9zdG5hbWVQYXJhbXMgJiB7IG91dHBvc3RJZDogc3RyaW5nOyBhY2Nlc3Nwb2ludE5hbWU6IHN0cmluZzsgaG9zdG5hbWVTdWZmaXg6IHN0cmluZyB9KTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICAvLyBpZiB0aGlzIGlzIGFuIE91dHBvc3QgQVJOXG4gIHZhbGlkYXRlUmVnaW9uYWxDbGllbnQoY2xpZW50UmVnaW9uKTtcbiAgdmFsaWRhdGVSZWdpb24oYnVja2V0TmFtZS5yZWdpb24sIHsgdXNlQXJuUmVnaW9uLCBjbGllbnRSZWdpb24sIGNsaWVudFNpZ25pbmdSZWdpb24gfSk7XG4gIGNvbnN0IEROU0hvc3RMYWJlbCA9IGAke2FjY2Vzc3BvaW50TmFtZX0tJHtidWNrZXROYW1lLmFjY291bnRJZH1gO1xuICB2YWxpZGF0ZUROU0hvc3RMYWJlbChETlNIb3N0TGFiZWwsIHsgdGxzQ29tcGF0aWJsZSB9KTtcbiAgY29uc3QgZW5kcG9pbnRSZWdpb24gPSB1c2VBcm5SZWdpb24gPyBidWNrZXROYW1lLnJlZ2lvbiA6IGNsaWVudFJlZ2lvbjtcbiAgY29uc3Qgc2lnbmluZ1JlZ2lvbiA9IHVzZUFyblJlZ2lvbiA/IGJ1Y2tldE5hbWUucmVnaW9uIDogY2xpZW50U2lnbmluZ1JlZ2lvbjtcbiAgdmFsaWRhdGVPdXRwb3N0U2VydmljZShidWNrZXROYW1lLnNlcnZpY2UpO1xuICB2YWxpZGF0ZUROU0hvc3RMYWJlbChvdXRwb3N0SWQsIHsgdGxzQ29tcGF0aWJsZSB9KTtcbiAgdmFsaWRhdGVOb0R1YWxzdGFjayhkdWFsc3RhY2tFbmRwb2ludCk7XG4gIHZhbGlkYXRlTm9GSVBTKGVuZHBvaW50UmVnaW9uKTtcbiAgY29uc3QgaG9zdG5hbWVQcmVmaXggPSBgJHtETlNIb3N0TGFiZWx9LiR7b3V0cG9zdElkfWA7XG4gIHJldHVybiB7XG4gICAgYnVja2V0RW5kcG9pbnQ6IHRydWUsXG4gICAgaG9zdG5hbWU6IGAke2hvc3RuYW1lUHJlZml4fSR7aXNDdXN0b21FbmRwb2ludCA/IFwiXCIgOiBgLnMzLW91dHBvc3RzLiR7ZW5kcG9pbnRSZWdpb259YH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgIHNpZ25pbmdSZWdpb24sXG4gICAgc2lnbmluZ1NlcnZpY2U6IFwiczMtb3V0cG9zdHNcIixcbiAgfTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbUFjY2Vzc1BvaW50QXJuID0gKHtcbiAgdXNlQXJuUmVnaW9uLFxuICBjbGllbnRSZWdpb24sXG4gIGNsaWVudFNpZ25pbmdSZWdpb24gPSBjbGllbnRSZWdpb24sXG4gIGJ1Y2tldE5hbWUsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICBhY2Nlc3Nwb2ludE5hbWUsXG4gIGlzQ3VzdG9tRW5kcG9pbnQsXG4gIGhvc3RuYW1lU3VmZml4LFxufTogQXJuSG9zdG5hbWVQYXJhbXMgJiB7IGFjY2Vzc3BvaW50TmFtZTogc3RyaW5nOyBob3N0bmFtZVN1ZmZpeDogc3RyaW5nIH0pOiBCdWNrZXRIb3N0bmFtZSA9PiB7XG4gIC8vIGNvbnN0cnVjdCBlbmRwb2ludCBmcm9tIEFjY2Vzc3BvaW50IEFSTlxuICB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50KGNsaWVudFJlZ2lvbik7XG4gIHZhbGlkYXRlUmVnaW9uKGJ1Y2tldE5hbWUucmVnaW9uLCB7IHVzZUFyblJlZ2lvbiwgY2xpZW50UmVnaW9uLCBjbGllbnRTaWduaW5nUmVnaW9uLCBhbGxvd0ZpcHNSZWdpb246IHRydWUgfSk7XG4gIGNvbnN0IGhvc3RuYW1lUHJlZml4ID0gYCR7YWNjZXNzcG9pbnROYW1lfS0ke2J1Y2tldE5hbWUuYWNjb3VudElkfWA7XG4gIHZhbGlkYXRlRE5TSG9zdExhYmVsKGhvc3RuYW1lUHJlZml4LCB7IHRsc0NvbXBhdGlibGUgfSk7XG4gIGNvbnN0IGVuZHBvaW50UmVnaW9uID0gdXNlQXJuUmVnaW9uID8gYnVja2V0TmFtZS5yZWdpb24gOiBjbGllbnRSZWdpb247XG4gIGNvbnN0IHNpZ25pbmdSZWdpb24gPSB1c2VBcm5SZWdpb24gPyBidWNrZXROYW1lLnJlZ2lvbiA6IGNsaWVudFNpZ25pbmdSZWdpb247XG4gIHZhbGlkYXRlUzNTZXJ2aWNlKGJ1Y2tldE5hbWUuc2VydmljZSk7XG4gIHJldHVybiB7XG4gICAgYnVja2V0RW5kcG9pbnQ6IHRydWUsXG4gICAgaG9zdG5hbWU6IGAke2hvc3RuYW1lUHJlZml4fSR7XG4gICAgICBpc0N1c3RvbUVuZHBvaW50XG4gICAgICAgID8gXCJcIlxuICAgICAgICA6IGAuczMtYWNjZXNzcG9pbnQke2lzRmlwc1JlZ2lvbihjbGllbnRSZWdpb24pID8gXCItZmlwc1wiIDogXCJcIn0ke1xuICAgICAgICAgICAgZHVhbHN0YWNrRW5kcG9pbnQgPyBcIi5kdWFsc3RhY2tcIiA6IFwiXCJcbiAgICAgICAgICB9LiR7Z2V0UHNldWRvUmVnaW9uKGVuZHBvaW50UmVnaW9uKX1gXG4gICAgfS4ke2hvc3RuYW1lU3VmZml4fWAsXG4gICAgc2lnbmluZ1JlZ2lvbixcbiAgfTtcbn07XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVja2V0SG9zdG5hbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0RBd0IrQjtBQVN4QixNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQWlELEVBQWtCLEVBQUU7SUFDbEcsNENBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsT0FBTyx5Q0FBbUIsQ0FBQyxPQUFPLENBQUM7UUFDakMsQ0FBQztZQUNDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztRQUNwQyxDQUFDO1lBQ0Msa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBUFcsUUFBQSxjQUFjLGtCQU96QjtBQUVGLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxFQUNqQyxrQkFBa0IsR0FBRyxLQUFLLEVBQzFCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLFlBQVksRUFDWixVQUFVLEVBQ1YsaUJBQWlCLEdBQUcsS0FBSyxFQUN6QixpQkFBaUIsR0FBRyxLQUFLLEVBQ3pCLGFBQWEsR0FBRyxJQUFJLEVBQ3BCLGdCQUFnQixHQUFHLEtBQUssR0FDSCxFQUFrQixFQUFFO0lBQ3pDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQywrQkFBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNHLElBQUksaUJBQWlCLElBQUksQ0FBQywrQ0FBeUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxpQ0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFO1FBQ2xILE9BQU87WUFDTCxjQUFjLEVBQUUsS0FBSztZQUNyQixRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixZQUFZLElBQUksY0FBYyxFQUFFLENB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QVksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQ3pELGlCQUFpQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQ3JDLElBQUkscUNBQWUsQ0FBQyxjQUFjLENBQUMsRUFDekMsSUFBSSxjQUFjLEVBQUU7UUFDcEIsYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUk4gfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1hcm4tcGFyc2VyXCI7XG5cbmltcG9ydCB7XG4gIEFybkhvc3RuYW1lUGFyYW1zLFxuICBCdWNrZXRIb3N0bmFtZVBhcmFtcyxcbiAgRE9UX1BBVFRFUk4sXG4gIGdldEFyblJlc291cmNlcyxcbiAgZ2V0UHNldWRvUmVnaW9uLFxuICBnZXRTdWZmaXgsXG4gIGdldFN1ZmZpeEZvckFybkVuZHBvaW50LFxuICBpc0J1Y2tldE5hbWVPcHRpb25zLFxuICBpc0Ruc0NvbXBhdGlibGVCdWNrZXROYW1lLFxuICBpc0ZpcHNSZWdpb24sXG4gIHZhbGlkYXRlQWNjb3VudElkLFxuICB2YWxpZGF0ZUFybkVuZHBvaW50T3B0aW9ucyxcbiAgdmFsaWRhdGVDdXN0b21FbmRwb2ludCxcbiAgdmFsaWRhdGVETlNIb3N0TGFiZWwsXG4gIHZhbGlkYXRlTXJhcEFsaWFzLFxuICB2YWxpZGF0ZU5vRHVhbHN0YWNrLFxuICB2YWxpZGF0ZU5vRklQUyxcbiAgdmFsaWRhdGVPdXRwb3N0U2VydmljZSxcbiAgdmFsaWRhdGVQYXJ0aXRpb24sXG4gIHZhbGlkYXRlUmVnaW9uLFxuICB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50LFxuICB2YWxpZGF0ZVMzU2VydmljZSxcbiAgdmFsaWRhdGVTZXJ2aWNlLFxufSBmcm9tIFwiLi9idWNrZXRIb3N0bmFtZVV0aWxzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0SG9zdG5hbWUge1xuICBob3N0bmFtZTogc3RyaW5nO1xuICBidWNrZXRFbmRwb2ludDogYm9vbGVhbjtcbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbiAgc2lnbmluZ1NlcnZpY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBidWNrZXRIb3N0bmFtZSA9IChvcHRpb25zOiBCdWNrZXRIb3N0bmFtZVBhcmFtcyB8IEFybkhvc3RuYW1lUGFyYW1zKTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICB2YWxpZGF0ZUN1c3RvbUVuZHBvaW50KG9wdGlvbnMpO1xuICByZXR1cm4gaXNCdWNrZXROYW1lT3B0aW9ucyhvcHRpb25zKVxuICAgID8gLy8gQ29uc3RydWN0IGVuZHBvaW50IHdoZW4gYnVja2V0TmFtZSBpcyBhIHN0cmluZyByZWZlcnJpbmcgdG8gYSBidWNrZXQgbmFtZVxuICAgICAgZ2V0RW5kcG9pbnRGcm9tQnVja2V0TmFtZShvcHRpb25zKVxuICAgIDogLy8gQ29uc3RydWN0IGVuZHBvaW50IHdoZW4gYnVja2V0TmFtZSBpcyBhbiBBUk4gcmVmZXJyaW5nIHRvIGFuIFMzIHJlc291cmNlIGxpa2UgQWNjZXNzIFBvaW50XG4gICAgICBnZXRFbmRwb2ludEZyb21Bcm4ob3B0aW9ucyk7XG59O1xuXG5jb25zdCBnZXRFbmRwb2ludEZyb21CdWNrZXROYW1lID0gKHtcbiAgYWNjZWxlcmF0ZUVuZHBvaW50ID0gZmFsc2UsXG4gIGNsaWVudFJlZ2lvbjogcmVnaW9uLFxuICBiYXNlSG9zdG5hbWUsXG4gIGJ1Y2tldE5hbWUsXG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIHBhdGhTdHlsZUVuZHBvaW50ID0gZmFsc2UsXG4gIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICBpc0N1c3RvbUVuZHBvaW50ID0gZmFsc2UsXG59OiBCdWNrZXRIb3N0bmFtZVBhcmFtcyk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgY29uc3QgW2NsaWVudFJlZ2lvbiwgaG9zdG5hbWVTdWZmaXhdID0gaXNDdXN0b21FbmRwb2ludCA/IFtyZWdpb24sIGJhc2VIb3N0bmFtZV0gOiBnZXRTdWZmaXgoYmFzZUhvc3RuYW1lKTtcbiAgaWYgKHBhdGhTdHlsZUVuZHBvaW50IHx8ICFpc0Ruc0NvbXBhdGlibGVCdWNrZXROYW1lKGJ1Y2tldE5hbWUpIHx8ICh0bHNDb21wYXRpYmxlICYmIERPVF9QQVRURVJOLnRlc3QoYnVja2V0TmFtZSkpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGJ1Y2tldEVuZHBvaW50OiBmYWxzZSxcbiAgICAgIGhvc3RuYW1lOiBkdWFsc3RhY2tFbmRwb2ludCA/IGBzMy5kdWFsc3RhY2suJHtjbGllbnRSZWdpb259LiR7aG9zdG5hbWVTdWZmaXh9YCA6IGJhc2VIb3N0bmFtZSxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGFjY2VsZXJhdGVFbmRwb2ludCkge1xuICAgIGJhc2VIb3N0bmFtZSA9IGBzMy1hY2NlbGVyYXRlJHtkdWFsc3RhY2tFbmRwb2ludCA/IFwiLmR1YWxzdGFja1wiIDogXCJcIn0uJHtob3N0bmFtZVN1ZmZpeH1gO1xuICB9IGVsc2UgaWYgKGR1YWxzdGFja0VuZHBvaW50KSB7XG4gICAgYmFzZUhvc3RuYW1lID0gYHMzLmR1YWxzdGFjay4ke2NsaWVudFJlZ2lvbn0uJHtob3N0bmFtZVN1ZmZpeH1gO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBidWNrZXRFbmRwb2ludDogdHJ1ZSxcbiAgICBob3N0bmFtZTogYCR7YnVja2V0TmFtZX0uJHtiYXNlSG9zdG5hbWV9YCxcbiAgfTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbUFybiA9IChvcHRpb25zOiBBcm5Ib3N0bmFtZVBhcmFtcyk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgY29uc3QgeyBpc0N1c3RvbUVuZHBvaW50LCBiYXNlSG9zdG5hbWUsIGNsaWVudFJlZ2lvbiB9ID0gb3B0aW9ucztcbiAgY29uc3QgaG9zdG5hbWVTdWZmaXggPSBpc0N1c3RvbUVuZHBvaW50ID8gYmFzZUhvc3RuYW1lIDogZ2V0U3VmZml4Rm9yQXJuRW5kcG9pbnQoYmFzZUhvc3RuYW1lKVsxXTtcblxuICBjb25zdCB7XG4gICAgcGF0aFN0eWxlRW5kcG9pbnQsXG4gICAgYWNjZWxlcmF0ZUVuZHBvaW50ID0gZmFsc2UsXG4gICAgdGxzQ29tcGF0aWJsZSA9IHRydWUsXG4gICAgYnVja2V0TmFtZSxcbiAgICBjbGllbnRQYXJ0aXRpb24gPSBcImF3c1wiLFxuICB9ID0gb3B0aW9ucztcblxuICB2YWxpZGF0ZUFybkVuZHBvaW50T3B0aW9ucyh7IHBhdGhTdHlsZUVuZHBvaW50LCBhY2NlbGVyYXRlRW5kcG9pbnQsIHRsc0NvbXBhdGlibGUgfSk7XG5cbiAgLy8gVmFsaWRhdGUgYW5kIHBhcnNlIHRoZSBBUk4gc3VwcGxpZWQgYXMgYSBidWNrZXQgbmFtZVxuICBjb25zdCB7IHNlcnZpY2UsIHBhcnRpdGlvbiwgYWNjb3VudElkLCByZWdpb24sIHJlc291cmNlIH0gPSBidWNrZXROYW1lO1xuICB2YWxpZGF0ZVNlcnZpY2Uoc2VydmljZSk7XG4gIHZhbGlkYXRlUGFydGl0aW9uKHBhcnRpdGlvbiwgeyBjbGllbnRQYXJ0aXRpb24gfSk7XG4gIHZhbGlkYXRlQWNjb3VudElkKGFjY291bnRJZCk7XG4gIGNvbnN0IHsgYWNjZXNzcG9pbnROYW1lLCBvdXRwb3N0SWQgfSA9IGdldEFyblJlc291cmNlcyhyZXNvdXJjZSk7XG4gIGlmIChzZXJ2aWNlID09PSBcInMzLW9iamVjdC1sYW1iZGFcIikge1xuICAgIHJldHVybiBnZXRFbmRwb2ludEZyb21PYmplY3RMYW1iZGFBcm4oeyAuLi5vcHRpb25zLCB0bHNDb21wYXRpYmxlLCBidWNrZXROYW1lLCBhY2Nlc3Nwb2ludE5hbWUsIGhvc3RuYW1lU3VmZml4IH0pO1xuICB9XG4gIGlmIChyZWdpb24gPT09IFwiXCIpIHtcbiAgICByZXR1cm4gZ2V0RW5kcG9pbnRGcm9tTVJBUEFybih7IC4uLm9wdGlvbnMsIGNsaWVudFJlZ2lvbiwgbXJhcEFsaWFzOiBhY2Nlc3Nwb2ludE5hbWUsIGhvc3RuYW1lU3VmZml4IH0pO1xuICB9XG4gIGlmIChvdXRwb3N0SWQpIHtcbiAgICByZXR1cm4gZ2V0RW5kcG9pbnRGcm9tT3V0cG9zdEFybih7IC4uLm9wdGlvbnMsIGNsaWVudFJlZ2lvbiwgb3V0cG9zdElkLCBhY2Nlc3Nwb2ludE5hbWUsIGhvc3RuYW1lU3VmZml4IH0pO1xuICB9XG4gIHJldHVybiBnZXRFbmRwb2ludEZyb21BY2Nlc3NQb2ludEFybih7IC4uLm9wdGlvbnMsIGNsaWVudFJlZ2lvbiwgYWNjZXNzcG9pbnROYW1lLCBob3N0bmFtZVN1ZmZpeCB9KTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbU9iamVjdExhbWJkYUFybiA9ICh7XG4gIGR1YWxzdGFja0VuZHBvaW50ID0gZmFsc2UsXG4gIHRsc0NvbXBhdGlibGUgPSB0cnVlLFxuICB1c2VBcm5SZWdpb24sXG4gIGNsaWVudFJlZ2lvbixcbiAgY2xpZW50U2lnbmluZ1JlZ2lvbiA9IGNsaWVudFJlZ2lvbixcbiAgYWNjZXNzcG9pbnROYW1lLFxuICBidWNrZXROYW1lLFxuICBob3N0bmFtZVN1ZmZpeCxcbn06IEFybkhvc3RuYW1lUGFyYW1zICYge1xuICBhY2Nlc3Nwb2ludE5hbWU6IHN0cmluZztcbiAgYnVja2V0TmFtZTogQVJOO1xuICBob3N0bmFtZVN1ZmZpeDogc3RyaW5nO1xufSk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgY29uc3QgeyBhY2NvdW50SWQsIHJlZ2lvbiwgc2VydmljZSB9ID0gYnVja2V0TmFtZTtcbiAgdmFsaWRhdGVSZWdpb25hbENsaWVudChjbGllbnRSZWdpb24pO1xuICB2YWxpZGF0ZVJlZ2lvbihyZWdpb24sIHsgdXNlQXJuUmVnaW9uLCBjbGllbnRSZWdpb24sIGNsaWVudFNpZ25pbmdSZWdpb24sIGFsbG93Rmlwc1JlZ2lvbjogdHJ1ZSB9KTtcbiAgdmFsaWRhdGVOb0R1YWxzdGFjayhkdWFsc3RhY2tFbmRwb2ludCk7XG4gIGNvbnN0IEROU0hvc3RMYWJlbCA9IGAke2FjY2Vzc3BvaW50TmFtZX0tJHthY2NvdW50SWR9YDtcbiAgdmFsaWRhdGVETlNIb3N0TGFiZWwoRE5TSG9zdExhYmVsLCB7IHRsc0NvbXBhdGlibGUgfSk7XG5cbiAgY29uc3QgZW5kcG9pbnRSZWdpb24gPSB1c2VBcm5SZWdpb24gPyByZWdpb24gOiBjbGllbnRSZWdpb247XG4gIGNvbnN0IHNpZ25pbmdSZWdpb24gPSB1c2VBcm5SZWdpb24gPyByZWdpb24gOiBjbGllbnRTaWduaW5nUmVnaW9uO1xuXG4gIHJldHVybiB7XG4gICAgYnVja2V0RW5kcG9pbnQ6IHRydWUsXG4gICAgaG9zdG5hbWU6IGAke0ROU0hvc3RMYWJlbH0uJHtzZXJ2aWNlfSR7aXNGaXBzUmVnaW9uKGNsaWVudFJlZ2lvbikgPyBcIi1maXBzXCIgOiBcIlwifS4ke2dldFBzZXVkb1JlZ2lvbihcbiAgICAgIGVuZHBvaW50UmVnaW9uXG4gICAgKX0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgIHNpZ25pbmdSZWdpb24sXG4gICAgc2lnbmluZ1NlcnZpY2U6IHNlcnZpY2UsXG4gIH07XG59O1xuXG5jb25zdCBnZXRFbmRwb2ludEZyb21NUkFQQXJuID0gKHtcbiAgZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzLFxuICBkdWFsc3RhY2tFbmRwb2ludCA9IGZhbHNlLFxuICBpc0N1c3RvbUVuZHBvaW50LFxuICBtcmFwQWxpYXMsXG4gIGhvc3RuYW1lU3VmZml4LFxufTogQXJuSG9zdG5hbWVQYXJhbXMgJiB7IG1yYXBBbGlhczogc3RyaW5nOyBob3N0bmFtZVN1ZmZpeDogc3RyaW5nIH0pOiBCdWNrZXRIb3N0bmFtZSA9PiB7XG4gIC8vIElmIHRoaXMgaXMgYSBtdWx0aS1yZWdpb25hbCBhY2Nlc3MgcG9pbnQsIGFuZCBub3QgZXhwbGljaXRseSBvcHRlZCBvdXQuXG4gIGlmIChkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHMgPT09IHRydWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTREsgaXMgYXR0ZW1wdGluZyB0byB1c2UgYSBNUkFQIEFSTi4gUGxlYXNlIGVuYWJsZSB0byBmZWF0dXJlLlwiKTtcbiAgfVxuICB2YWxpZGF0ZU1yYXBBbGlhcyhtcmFwQWxpYXMpO1xuICB2YWxpZGF0ZU5vRHVhbHN0YWNrKGR1YWxzdGFja0VuZHBvaW50KTtcbiAgcmV0dXJuIHtcbiAgICBidWNrZXRFbmRwb2ludDogdHJ1ZSxcbiAgICBob3N0bmFtZTogYCR7bXJhcEFsaWFzfSR7aXNDdXN0b21FbmRwb2ludCA/IFwiXCIgOiBgLmFjY2Vzc3BvaW50LnMzLWdsb2JhbGB9LiR7aG9zdG5hbWVTdWZmaXh9YCxcbiAgICBzaWduaW5nUmVnaW9uOiBcIipcIixcbiAgfTtcbn07XG5cbmNvbnN0IGdldEVuZHBvaW50RnJvbU91dHBvc3RBcm4gPSAoe1xuICB1c2VBcm5SZWdpb24sXG4gIGNsaWVudFJlZ2lvbixcbiAgY2xpZW50U2lnbmluZ1JlZ2lvbiA9IGNsaWVudFJlZ2lvbixcbiAgYnVja2V0TmFtZSxcbiAgb3V0cG9zdElkLFxuICBkdWFsc3RhY2tFbmRwb2ludCA9IGZhbHNlLFxuICB0bHNDb21wYXRpYmxlID0gdHJ1ZSxcbiAgYWNjZXNzcG9pbnROYW1lLFxuICBpc0N1c3RvbUVuZHBvaW50LFxuICBob3N0bmFtZVN1ZmZpeCxcbn06IEFybkhvc3RuYW1lUGFyYW1zICYgeyBvdXRwb3N0SWQ6IHN0cmluZzsgYWNjZXNzcG9pbnROYW1lOiBzdHJpbmc7IGhvc3RuYW1lU3VmZml4OiBzdHJpbmcgfSk6IEJ1Y2tldEhvc3RuYW1lID0+IHtcbiAgLy8gaWYgdGhpcyBpcyBhbiBPdXRwb3N0IEFSTlxuICB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50KGNsaWVudFJlZ2lvbik7XG4gIHZhbGlkYXRlUmVnaW9uKGJ1Y2tldE5hbWUucmVnaW9uLCB7IHVzZUFyblJlZ2lvbiwgY2xpZW50UmVnaW9uLCBjbGllbnRTaWduaW5nUmVnaW9uIH0pO1xuICBjb25zdCBETlNIb3N0TGFiZWwgPSBgJHthY2Nlc3Nwb2ludE5hbWV9LSR7YnVja2V0TmFtZS5hY2NvdW50SWR9YDtcbiAgdmFsaWRhdGVETlNIb3N0TGFiZWwoRE5TSG9zdExhYmVsLCB7IHRsc0NvbXBhdGlibGUgfSk7XG4gIGNvbnN0IGVuZHBvaW50UmVnaW9uID0gdXNlQXJuUmVnaW9uID8gYnVja2V0TmFtZS5yZWdpb24gOiBjbGllbnRSZWdpb247XG4gIGNvbnN0IHNpZ25pbmdSZWdpb24gPSB1c2VBcm5SZWdpb24gPyBidWNrZXROYW1lLnJlZ2lvbiA6IGNsaWVudFNpZ25pbmdSZWdpb247XG4gIHZhbGlkYXRlT3V0cG9zdFNlcnZpY2UoYnVja2V0TmFtZS5zZXJ2aWNlKTtcbiAgdmFsaWRhdGVETlNIb3N0TGFiZWwob3V0cG9zdElkLCB7IHRsc0NvbXBhdGlibGUgfSk7XG4gIHZhbGlkYXRlTm9EdWFsc3RhY2soZHVhbHN0YWNrRW5kcG9pbnQpO1xuICB2YWxpZGF0ZU5vRklQUyhlbmRwb2ludFJlZ2lvbik7XG4gIGNvbnN0IGhvc3RuYW1lUHJlZml4ID0gYCR7RE5TSG9zdExhYmVsfS4ke291dHBvc3RJZH1gO1xuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtob3N0bmFtZVByZWZpeH0ke2lzQ3VzdG9tRW5kcG9pbnQgPyBcIlwiIDogYC5zMy1vdXRwb3N0cy4ke2VuZHBvaW50UmVnaW9ufWB9LiR7aG9zdG5hbWVTdWZmaXh9YCxcbiAgICBzaWduaW5nUmVnaW9uLFxuICAgIHNpZ25pbmdTZXJ2aWNlOiBcInMzLW91dHBvc3RzXCIsXG4gIH07XG59O1xuXG5jb25zdCBnZXRFbmRwb2ludEZyb21BY2Nlc3NQb2ludEFybiA9ICh7XG4gIHVzZUFyblJlZ2lvbixcbiAgY2xpZW50UmVnaW9uLFxuICBjbGllbnRTaWduaW5nUmVnaW9uID0gY2xpZW50UmVnaW9uLFxuICBidWNrZXROYW1lLFxuICBkdWFsc3RhY2tFbmRwb2ludCA9IGZhbHNlLFxuICB0bHNDb21wYXRpYmxlID0gdHJ1ZSxcbiAgYWNjZXNzcG9pbnROYW1lLFxuICBpc0N1c3RvbUVuZHBvaW50LFxuICBob3N0bmFtZVN1ZmZpeCxcbn06IEFybkhvc3RuYW1lUGFyYW1zICYgeyBhY2Nlc3Nwb2ludE5hbWU6IHN0cmluZzsgaG9zdG5hbWVTdWZmaXg6IHN0cmluZyB9KTogQnVja2V0SG9zdG5hbWUgPT4ge1xuICAvLyBjb25zdHJ1Y3QgZW5kcG9pbnQgZnJvbSBBY2Nlc3Nwb2ludCBBUk5cbiAgdmFsaWRhdGVSZWdpb25hbENsaWVudChjbGllbnRSZWdpb24pO1xuICB2YWxpZGF0ZVJlZ2lvbihidWNrZXROYW1lLnJlZ2lvbiwgeyB1c2VBcm5SZWdpb24sIGNsaWVudFJlZ2lvbiwgY2xpZW50U2lnbmluZ1JlZ2lvbiwgYWxsb3dGaXBzUmVnaW9uOiB0cnVlIH0pO1xuICBjb25zdCBob3N0bmFtZVByZWZpeCA9IGAke2FjY2Vzc3BvaW50TmFtZX0tJHtidWNrZXROYW1lLmFjY291bnRJZH1gO1xuICB2YWxpZGF0ZUROU0hvc3RMYWJlbChob3N0bmFtZVByZWZpeCwgeyB0bHNDb21wYXRpYmxlIH0pO1xuICBjb25zdCBlbmRwb2ludFJlZ2lvbiA9IHVzZUFyblJlZ2lvbiA/IGJ1Y2tldE5hbWUucmVnaW9uIDogY2xpZW50UmVnaW9uO1xuICBjb25zdCBzaWduaW5nUmVnaW9uID0gdXNlQXJuUmVnaW9uID8gYnVja2V0TmFtZS5yZWdpb24gOiBjbGllbnRTaWduaW5nUmVnaW9uO1xuICB2YWxpZGF0ZVMzU2VydmljZShidWNrZXROYW1lLnNlcnZpY2UpO1xuICByZXR1cm4ge1xuICAgIGJ1Y2tldEVuZHBvaW50OiB0cnVlLFxuICAgIGhvc3RuYW1lOiBgJHtob3N0bmFtZVByZWZpeH0ke1xuICAgICAgaXNDdXN0b21FbmRwb2ludFxuICAgICAgICA/IFwiXCJcbiAgICAgICAgOiBgLnMzLWFjY2Vzc3BvaW50JHtpc0ZpcHNSZWdpb24oY2xpZW50UmVnaW9uKSA/IFwiLWZpcHNcIiA6IFwiXCJ9JHtcbiAgICAgICAgICAgIGR1YWxzdGFja0VuZHBvaW50ID8gXCIuZHVhbHN0YWNrXCIgOiBcIlwiXG4gICAgICAgICAgfS4ke2dldFBzZXVkb1JlZ2lvbihlbmRwb2ludFJlZ2lvbil9YFxuICAgIH0uJHtob3N0bmFtZVN1ZmZpeH1gLFxuICAgIHNpZ25pbmdSZWdpb24sXG4gIH07XG59O1xuIl19
@@ -10,20 +10,8 @@ const S3_US_EAST_1_ALTNAME_PATTERN = /^s3(-external-1)?\.amazonaws\.com$/;
10
10
  const AWS_PARTITION_SUFFIX = "amazonaws.com";
11
11
  const isBucketNameOptions = (options) => typeof options.bucketName === "string";
12
12
  exports.isBucketNameOptions = isBucketNameOptions;
13
- /**
14
- * Get pseudo region from supplied region. For example, if supplied with `fips-us-west-2`, it returns `us-west-2`.
15
- * @internal
16
- */
17
- const getPseudoRegion = (region) => ((0, exports.isFipsRegion)(region) ? region.replace(/fips-|-fips/, "") : region);
13
+ const getPseudoRegion = (region) => (exports.isFipsRegion(region) ? region.replace(/fips-|-fips/, "") : region);
18
14
  exports.getPseudoRegion = getPseudoRegion;
19
- /**
20
- * Determines whether a given string is DNS compliant per the rules outlined by
21
- * S3. Length, capitaization, and leading dot restrictions are enforced by the
22
- * DOMAIN_PATTERN regular expression.
23
- * @internal
24
- *
25
- * @see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
26
- */
27
15
  const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);
28
16
  exports.isDnsCompatibleBucketName = isDnsCompatibleBucketName;
29
17
  const getRegionalSuffix = (hostname) => {
@@ -32,12 +20,6 @@ const getRegionalSuffix = (hostname) => {
32
20
  };
33
21
  const getSuffix = (hostname) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname) ? ["us-east-1", AWS_PARTITION_SUFFIX] : getRegionalSuffix(hostname);
34
22
  exports.getSuffix = getSuffix;
35
- /**
36
- * Infer region and hostname suffix from a complete hostname
37
- * @internal
38
- * @param hostname - Hostname
39
- * @returns [Region, Hostname suffix]
40
- */
41
23
  const getSuffixForArnEndpoint = (hostname) => S3_US_EAST_1_ALTNAME_PATTERN.test(hostname)
42
24
  ? [hostname.replace(`.${AWS_PARTITION_SUFFIX}`, ""), AWS_PARTITION_SUFFIX]
43
25
  : getRegionalSuffix(hostname);
@@ -72,27 +54,17 @@ const validateOutpostService = (service) => {
72
54
  }
73
55
  };
74
56
  exports.validateOutpostService = validateOutpostService;
75
- /**
76
- * Validate partition inferred from ARN is the same to `options.clientPartition`.
77
- * @internal
78
- */
79
57
  const validatePartition = (partition, options) => {
80
58
  if (partition !== options.clientPartition) {
81
59
  throw new Error(`Partition in ARN is incompatible, got "${partition}" but expected "${options.clientPartition}"`);
82
60
  }
83
61
  };
84
62
  exports.validatePartition = validatePartition;
85
- /**
86
- * validate region value inferred from ARN. If `options.useArnRegion` is set, it validates the region is not a FIPS
87
- * region. If `options.useArnRegion` is unset, it validates the region is equal to `options.clientRegion` or
88
- * `options.clientSigningRegion`.
89
- * @internal
90
- */
91
63
  const validateRegion = (region, options) => {
92
64
  if (region === "") {
93
65
  throw new Error("ARN region is empty");
94
66
  }
95
- if ((0, exports.isFipsRegion)(options.clientRegion)) {
67
+ if (exports.isFipsRegion(options.clientRegion)) {
96
68
  if (!options.allowFipsRegion) {
97
69
  throw new Error("FIPS region is not supported");
98
70
  }
@@ -107,38 +79,22 @@ const validateRegion = (region, options) => {
107
79
  }
108
80
  };
109
81
  exports.validateRegion = validateRegion;
110
- /**
111
- *
112
- * @param region
113
- */
114
82
  const validateRegionalClient = (region) => {
115
- if (["s3-external-1", "aws-global"].includes((0, exports.getPseudoRegion)(region))) {
83
+ if (["s3-external-1", "aws-global"].includes(exports.getPseudoRegion(region))) {
116
84
  throw new Error(`Client region ${region} is not regional`);
117
85
  }
118
86
  };
119
87
  exports.validateRegionalClient = validateRegionalClient;
120
- /**
121
- * @internal
122
- */
123
88
  const isFipsRegion = (region) => region.startsWith("fips-") || region.endsWith("-fips");
124
89
  exports.isFipsRegion = isFipsRegion;
125
- const isEqualRegions = (regionA, regionB) => regionA === regionB || (0, exports.getPseudoRegion)(regionA) === regionB || regionA === (0, exports.getPseudoRegion)(regionB);
126
- /**
127
- * Validate an account ID
128
- * @internal
129
- */
90
+ const isEqualRegions = (regionA, regionB) => regionA === regionB || exports.getPseudoRegion(regionA) === regionB || regionA === exports.getPseudoRegion(regionB);
130
91
  const validateAccountId = (accountId) => {
131
92
  if (!/[0-9]{12}/.exec(accountId)) {
132
93
  throw new Error("Access point ARN accountID does not match regex '[0-9]{12}'");
133
94
  }
134
95
  };
135
96
  exports.validateAccountId = validateAccountId;
136
- /**
137
- * Validate a host label according to https://tools.ietf.org/html/rfc3986#section-3.2.2
138
- * @internal
139
- */
140
97
  const validateDNSHostLabel = (label, options = { tlsCompatible: true }) => {
141
- // reference: https://tools.ietf.org/html/rfc3986#section-3.2.2
142
98
  if (label.length >= 64 ||
143
99
  !/^[a-z0-9][a-z0-9.-]*[a-z0-9]$/.test(label) ||
144
100
  /(\d+\.){3}\d+/.test(label) ||
@@ -157,25 +113,16 @@ const validateCustomEndpoint = (options) => {
157
113
  }
158
114
  };
159
115
  exports.validateCustomEndpoint = validateCustomEndpoint;
160
- /**
161
- * Validate and parse an Access Point ARN or Outposts ARN
162
- * @internal
163
- *
164
- * @param resource - The resource section of an ARN
165
- * @returns Access Point Name and optional Outpost ID.
166
- */
167
116
  const getArnResources = (resource) => {
168
117
  const delimiter = resource.includes(":") ? ":" : "/";
169
118
  const [resourceType, ...rest] = resource.split(delimiter);
170
119
  if (resourceType === "accesspoint") {
171
- // Parse accesspoint ARN
172
120
  if (rest.length !== 1 || rest[0] === "") {
173
121
  throw new Error(`Access Point ARN should have one resource accesspoint${delimiter}{accesspointname}`);
174
122
  }
175
123
  return { accesspointName: rest[0] };
176
124
  }
177
125
  else if (resourceType === "outpost") {
178
- // Parse outpost ARN
179
126
  if (!rest[0] || rest[1] !== "accesspoint" || !rest[2] || rest.length !== 3) {
180
127
  throw new Error(`Outpost ARN should have resource outpost${delimiter}{outpostId}${delimiter}accesspoint${delimiter}{accesspointName}`);
181
128
  }
@@ -187,32 +134,20 @@ const getArnResources = (resource) => {
187
134
  }
188
135
  };
189
136
  exports.getArnResources = getArnResources;
190
- /**
191
- * Throw if dual stack configuration is set to true.
192
- * @internal
193
- */
194
137
  const validateNoDualstack = (dualstackEndpoint) => {
195
138
  if (dualstackEndpoint)
196
139
  throw new Error("Dualstack endpoint is not supported with Outpost or Multi-region Access Point ARN.");
197
140
  };
198
141
  exports.validateNoDualstack = validateNoDualstack;
199
- /**
200
- * Validate region is not appended or prepended with a `fips-`
201
- * @internal
202
- */
203
142
  const validateNoFIPS = (region) => {
204
- if ((0, exports.isFipsRegion)(region !== null && region !== void 0 ? region : ""))
143
+ if (exports.isFipsRegion(region !== null && region !== void 0 ? region : ""))
205
144
  throw new Error(`FIPS region is not supported with Outpost, got ${region}`);
206
145
  };
207
146
  exports.validateNoFIPS = validateNoFIPS;
208
- /**
209
- * Validate the multi-region access point alias.
210
- * @private
211
- */
212
147
  const validateMrapAlias = (name) => {
213
148
  try {
214
149
  name.split(".").forEach((label) => {
215
- (0, exports.validateDNSHostLabel)(label);
150
+ exports.validateDNSHostLabel(label);
216
151
  });
217
152
  }
218
153
  catch (e) {
@@ -220,4 +155,4 @@ const validateMrapAlias = (name) => {
220
155
  }
221
156
  };
222
157
  exports.validateMrapAlias = validateMrapAlias;
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXRIb3N0bmFtZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sY0FBYyxHQUFHLHNDQUFzQyxDQUFDO0FBQzlELE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO0FBQzNDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUNmLFFBQUEsV0FBVyxHQUFHLElBQUksQ0FBQztBQUNuQixRQUFBLG1CQUFtQixHQUFHLDhCQUE4QixDQUFDO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsb0NBQW9DLENBQUM7QUFDMUUsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUF5QnRDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsT0FBaUQsRUFDaEIsRUFBRSxDQUFDLE9BQU8sT0FBTyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUM7QUFGaEUsUUFBQSxtQkFBbUIsdUJBRTZDO0FBRTdFOzs7R0FHRztBQUNJLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUEsb0JBQVksRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQTFHLFFBQUEsZUFBZSxtQkFBMkY7QUFFdkg7Ozs7Ozs7R0FPRztBQUNJLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxVQUFrQixFQUFXLEVBQUUsQ0FDdkUsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFEL0YsUUFBQSx5QkFBeUIsNkJBQ3NFO0FBRTVHLE1BQU0saUJBQWlCLEdB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QyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLGlDQUFpQyxDQUFDLENBQUM7S0FDNUQ7QUFDSCxDQUFDLENBQUM7QUFSVyxRQUFBLGlCQUFpQixxQkFRNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUk4gfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1hcm4tcGFyc2VyXCI7XG5cbmNvbnN0IERPTUFJTl9QQVRURVJOID0gL15bYS16MC05XVthLXowLTlcXC5cXC1dezEsNjF9W2EtejAtOV0kLztcbmNvbnN0IElQX0FERFJFU1NfUEFUVEVSTiA9IC8oXFxkK1xcLil7M31cXGQrLztcbmNvbnN0IERPVFNfUEFUVEVSTiA9IC9cXC5cXC4vO1xuZXhwb3J0IGNvbnN0IERPVF9QQVRURVJOID0gL1xcLi87XG5leHBvcnQgY29uc3QgUzNfSE9TVE5BTUVfUEFUVEVSTiA9IC9eKC4rXFwuKT9zM1suLV0oW2EtejAtOS1dKylcXC4vO1xuY29uc3QgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTiA9IC9eczMoLWV4dGVybmFsLTEpP1xcLmFtYXpvbmF3c1xcLmNvbSQvO1xuY29uc3QgQVdTX1BBUlRJVElPTl9TVUZGSVggPSBcImFtYXpvbmF3cy5jb21cIjtcblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NQb2ludEFybiBleHRlbmRzIEFSTiB7XG4gIGFjY2Vzc1BvaW50TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldEhvc3RuYW1lUGFyYW1zIHtcbiAgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbjtcbiAgYmFzZUhvc3RuYW1lOiBzdHJpbmc7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gIGFjY2VsZXJhdGVFbmRwb2ludD86IGJvb2xlYW47XG4gIGR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgcGF0aFN0eWxlRW5kcG9pbnQ/OiBib29sZWFuO1xuICB0bHNDb21wYXRpYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcm5Ib3N0bmFtZVBhcmFtcyBleHRlbmRzIE9taXQ8QnVja2V0SG9zdG5hbWVQYXJhbXMsIFwiYnVja2V0TmFtZVwiPiB7XG4gIGJ1Y2tldE5hbWU6IEFSTjtcbiAgY2xpZW50U2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbiAgY2xpZW50UGFydGl0aW9uPzogc3RyaW5nO1xuICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xuICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaXNCdWNrZXROYW1lT3B0aW9ucyA9IChcbiAgb3B0aW9uczogQnVja2V0SG9zdG5hbWVQYXJhbXMgfCBBcm5Ib3N0bmFtZVBhcmFtc1xuKTogb3B0aW9ucyBpcyBCdWNrZXRIb3N0bmFtZVBhcmFtcyA9PiB0eXBlb2Ygb3B0aW9ucy5idWNrZXROYW1lID09PSBcInN0cmluZ1wiO1xuXG4vKipcbiAqIEdldCBwc2V1ZG8gcmVnaW9uIGZyb20gc3VwcGxpZWQgcmVnaW9uLiBGb3IgZXhhbXBsZSwgaWYgc3VwcGxpZWQgd2l0aCBgZmlwcy11cy13ZXN0LTJgLCBpdCByZXR1cm5zIGB1cy13ZXN0LTJgLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRQc2V1ZG9SZWdpb24gPSAocmVnaW9uOiBzdHJpbmcpID0+IChpc0ZpcHNSZWdpb24ocmVnaW9uKSA/IHJlZ2lvbi5yZXBsYWNlKC9maXBzLXwtZmlwcy8sIFwiXCIpIDogcmVnaW9uKTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBnaXZlbiBzdHJpbmcgaXMgRE5TIGNvbXBsaWFudCBwZXIgdGhlIHJ1bGVzIG91dGxpbmVkIGJ5XG4gKiBTMy4gTGVuZ3RoLCBjYXBpdGFpemF0aW9uLCBhbmQgbGVhZGluZyBkb3QgcmVzdHJpY3Rpb25zIGFyZSBlbmZvcmNlZCBieSB0aGVcbiAqIERPTUFJTl9QQVRURVJOIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvQnVja2V0UmVzdHJpY3Rpb25zLmh0bWxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUgPSAoYnVja2V0TmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PlxuICBET01BSU5fUEFUVEVSTi50ZXN0KGJ1Y2tldE5hbWUpICYmICFJUF9BRERSRVNTX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSAmJiAhRE9UU19QQVRURVJOLnRlc3QoYnVja2V0TmFtZSk7XG5cbmNvbnN0IGdldFJlZ2lvbmFsU3VmZml4ID0gKGhvc3RuYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddID0+IHtcbiAgY29uc3QgcGFydHMgPSBob3N0bmFtZS5tYXRjaChTM19IT1NUTkFNRV9QQVRURVJOKSE7XG4gIHJldHVybiBbcGFydHNbMl0sIGhvc3RuYW1lLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7cGFydHNbMF19YCksIFwiXCIpXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdWZmaXggPSAoaG9zdG5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10gPT5cbiAgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTi50ZXN0KGhvc3RuYW1lKSA/IFtcInVzLWVhc3QtMVwiLCBBV1NfUEFSVElUSU9OX1NVRkZJWF0gOiBnZXRSZWdpb25hbFN1ZmZpeChob3N0bmFtZSk7XG5cbi8qKlxuICogSW5mZXIgcmVnaW9uIGFuZCBob3N0bmFtZSBzdWZmaXggZnJvbSBhIGNvbXBsZXRlIGhvc3RuYW1lXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSBob3N0bmFtZSAtIEhvc3RuYW1lXG4gKiBAcmV0dXJucyBbUmVnaW9uLCBIb3N0bmFtZSBzdWZmaXhdXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludCA9IChob3N0bmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSA9PlxuICBTM19VU19FQVNUXzFfQUxUTkFNRV9QQVRURVJOLnRlc3QoaG9zdG5hbWUpXG4gICAgPyBbaG9zdG5hbWUucmVwbGFjZShgLiR7QVdTX1BBUlRJVElPTl9TVUZGSVh9YCwgXCJcIiksIEFXU19QQVJUSVRJT05fU1VGRklYXVxuICAgIDogZ2V0UmVnaW9uYWxTdWZmaXgoaG9zdG5hbWUpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBcm5FbmRwb2ludE9wdGlvbnMgPSAob3B0aW9uczoge1xuICBhY2NlbGVyYXRlRW5kcG9pbnQ/OiBib29sZWFuO1xuICB0bHNDb21wYXRpYmxlPzogYm9vbGVhbjtcbiAgcGF0aFN0eWxlRW5kcG9pbnQ/OiBib29sZWFuO1xufSkgPT4ge1xuICBpZiAob3B0aW9ucy5wYXRoU3R5bGVFbmRwb2ludCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlBhdGgtc3R5bGUgUzMgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aGVuIGJ1Y2tldCBpcyBhbiBBUk5cIik7XG4gIH1cbiAgaWYgKG9wdGlvbnMuYWNjZWxlcmF0ZUVuZHBvaW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQWNjZWxlcmF0ZSBlbmRwb2ludCBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gYnVja2V0IGlzIGFuIEFSTlwiKTtcbiAgfVxuICBpZiAoIW9wdGlvbnMudGxzQ29tcGF0aWJsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkhUVFBTIGlzIHJlcXVpcmVkIHdoZW4gYnVja2V0IGlzIGFuIEFSTlwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIiAmJiBzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIgJiYgc2VydmljZSAhPT0gXCJzMy1vYmplY3QtbGFtYmRhXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzJyBvciAnczMtb3V0cG9zdHMnIG9yICdzMy1vYmplY3QtbGFtYmRhJyBpbiBBUk4gc2VydmljZSBjb21wb25lbnRcIik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVMzU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdCAnczMnIGluIEFjY2Vzc3BvaW50IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlT3V0cG9zdFNlcnZpY2UgPSAoc2VydmljZTogc3RyaW5nKSA9PiB7XG4gIGlmIChzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzLXBvc3RzJyBpbiBPdXRwb3N0IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBwYXJ0aXRpb24gaW5mZXJyZWQgZnJvbSBBUk4gaXMgdGhlIHNhbWUgdG8gYG9wdGlvbnMuY2xpZW50UGFydGl0aW9uYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQYXJ0aXRpb24gPSAocGFydGl0aW9uOiBzdHJpbmcsIG9wdGlvbnM6IHsgY2xpZW50UGFydGl0aW9uOiBzdHJpbmcgfSkgPT4ge1xuICBpZiAocGFydGl0aW9uICE9PSBvcHRpb25zLmNsaWVudFBhcnRpdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFydGl0aW9uIGluIEFSTiBpcyBpbmNvbXBhdGlibGUsIGdvdCBcIiR7cGFydGl0aW9ufVwiIGJ1dCBleHBlY3RlZCBcIiR7b3B0aW9ucy5jbGllbnRQYXJ0aXRpb259XCJgKTtcbiAgfVxufTtcblxuLyoqXG4gKiB2YWxpZGF0ZSByZWdpb24gdmFsdWUgaW5mZXJyZWQgZnJvbSBBUk4uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgc2V0LCBpdCB2YWxpZGF0ZXMgdGhlIHJlZ2lvbiBpcyBub3QgYSBGSVBTXG4gKiByZWdpb24uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgdW5zZXQsIGl0IHZhbGlkYXRlcyB0aGUgcmVnaW9uIGlzIGVxdWFsIHRvIGBvcHRpb25zLmNsaWVudFJlZ2lvbmAgb3JcbiAqIGBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb25gLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlZ2lvbiA9IChcbiAgcmVnaW9uOiBzdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xuICAgIGFsbG93Rmlwc1JlZ2lvbj86IGJvb2xlYW47XG4gICAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gICAgY2xpZW50U2lnbmluZ1JlZ2lvbjogc3RyaW5nO1xuICB9XG4pID0+IHtcbiAgaWYgKHJlZ2lvbiA9PT0gXCJcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFSTiByZWdpb24gaXMgZW1wdHlcIik7XG4gIH1cbiAgaWYgKGlzRmlwc1JlZ2lvbihvcHRpb25zLmNsaWVudFJlZ2lvbikpIHtcbiAgICBpZiAoIW9wdGlvbnMuYWxsb3dGaXBzUmVnaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGSVBTIHJlZ2lvbiBpcyBub3Qgc3VwcG9ydGVkXCIpO1xuICAgIH0gZWxzZSBpZiAoIWlzRXF1YWxSZWdpb25zKHJlZ2lvbiwgb3B0aW9ucy5jbGllbnRSZWdpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENsaWVudCBGSVBTIHJlZ2lvbiAke29wdGlvbnMuY2xpZW50UmVnaW9ufSBkb2Vzbid0IG1hdGNoIHJlZ2lvbiAke3JlZ2lvbn0gaW4gQVJOYCk7XG4gICAgfVxuICB9XG4gIGlmIChcbiAgICAhb3B0aW9ucy51c2VBcm5SZWdpb24gJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFJlZ2lvbiB8fCBcIlwiKSAmJlxuICAgICFpc0VxdWFsUmVnaW9ucyhyZWdpb24sIG9wdGlvbnMuY2xpZW50U2lnbmluZ1JlZ2lvbiB8fCBcIlwiKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFJlZ2lvbiBpbiBBUk4gaXMgaW5jb21wYXRpYmxlLCBnb3QgJHtyZWdpb259IGJ1dCBleHBlY3RlZCAke29wdGlvbnMuY2xpZW50UmVnaW9ufWApO1xuICB9XG59O1xuXG4vKipcbiAqXG4gKiBAcGFyYW0gcmVnaW9uXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50ID0gKHJlZ2lvbjogc3RyaW5nKSA9PiB7XG4gIGlmIChbXCJzMy1leHRlcm5hbC0xXCIsIFwiYXdzLWdsb2JhbFwiXS5pbmNsdWRlcyhnZXRQc2V1ZG9SZWdpb24ocmVnaW9uKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENsaWVudCByZWdpb24gJHtyZWdpb259IGlzIG5vdCByZWdpb25hbGApO1xuICB9XG59O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgaXNGaXBzUmVnaW9uID0gKHJlZ2lvbjogc3RyaW5nKSA9PiByZWdpb24uc3RhcnRzV2l0aChcImZpcHMtXCIpIHx8IHJlZ2lvbi5lbmRzV2l0aChcIi1maXBzXCIpO1xuXG5jb25zdCBpc0VxdWFsUmVnaW9ucyA9IChyZWdpb25BOiBzdHJpbmcsIHJlZ2lvbkI6IHN0cmluZykgPT5cbiAgcmVnaW9uQSA9PT0gcmVnaW9uQiB8fCBnZXRQc2V1ZG9SZWdpb24ocmVnaW9uQSkgPT09IHJlZ2lvbkIgfHwgcmVnaW9uQSA9PT0gZ2V0UHNldWRvUmVnaW9uKHJlZ2lvbkIpO1xuXG4vKipcbiAqIFZhbGlkYXRlIGFuIGFjY291bnQgSURcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBY2NvdW50SWQgPSAoYWNjb3VudElkOiBzdHJpbmcpID0+IHtcbiAgaWYgKCEvWzAtOV17MTJ9Ly5leGVjKGFjY291bnRJZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBY2Nlc3MgcG9pbnQgQVJOIGFjY291bnRJRCBkb2VzIG5vdCBtYXRjaCByZWdleCAnWzAtOV17MTJ9J1wiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhIGhvc3QgbGFiZWwgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4yLjJcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVETlNIb3N0TGFiZWwgPSAobGFiZWw6IHN0cmluZywgb3B0aW9uczogeyB0bHNDb21wYXRpYmxlPzogYm9vbGVhbiB9ID0geyB0bHNDb21wYXRpYmxlOiB0cnVlIH0pID0+IHtcbiAgLy8gcmVmZXJlbmNlOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMi4yXG4gIGlmIChcbiAgICBsYWJlbC5sZW5ndGggPj0gNjQgfHxcbiAgICAhL15bYS16MC05XVthLXowLTkuLV0qW2EtejAtOV0kLy50ZXN0KGxhYmVsKSB8fFxuICAgIC8oXFxkK1xcLil7M31cXGQrLy50ZXN0KGxhYmVsKSB8fFxuICAgIC9bLi1dezJ9Ly50ZXN0KGxhYmVsKSB8fFxuICAgIChvcHRpb25zPy50bHNDb21wYXRpYmxlICYmIERPVF9QQVRURVJOLnRlc3QobGFiZWwpKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRE5TIGxhYmVsICR7bGFiZWx9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUN1c3RvbUVuZHBvaW50ID0gKG9wdGlvbnM6IHtcbiAgaXNDdXN0b21FbmRwb2ludD86IGJvb2xlYW47XG4gIGR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgYWNjZWxlcmF0ZUVuZHBvaW50PzogYm9vbGVhbjtcbn0pID0+IHtcbiAgaWYgKG9wdGlvbnMuaXNDdXN0b21FbmRwb2ludCkge1xuICAgIGlmIChvcHRpb25zLmR1YWxzdGFja0VuZHBvaW50KSB0aHJvdyBuZXcgRXJyb3IoXCJEdWFsc3RhY2sgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGN1c3RvbSBlbmRwb2ludFwiKTtcbiAgICBpZiAob3B0aW9ucy5hY2NlbGVyYXRlRW5kcG9pbnQpIHRocm93IG5ldyBFcnJvcihcIkFjY2VsZXJhdGUgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGN1c3RvbSBlbmRwb2ludFwiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgcGFyc2UgYW4gQWNjZXNzIFBvaW50IEFSTiBvciBPdXRwb3N0cyBBUk5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBwYXJhbSByZXNvdXJjZSAtIFRoZSByZXNvdXJjZSBzZWN0aW9uIG9mIGFuIEFSTlxuICogQHJldHVybnMgQWNjZXNzIFBvaW50IE5hbWUgYW5kIG9wdGlvbmFsIE91dHBvc3QgSUQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBcm5SZXNvdXJjZXMgPSAoXG4gIHJlc291cmNlOiBzdHJpbmdcbik6IHtcbiAgYWNjZXNzcG9pbnROYW1lOiBzdHJpbmc7XG4gIG91dHBvc3RJZD86IHN0cmluZztcbn0gPT4ge1xuICBjb25zdCBkZWxpbWl0ZXIgPSByZXNvdXJjZS5pbmNsdWRlcyhcIjpcIikgPyBcIjpcIiA6IFwiL1wiO1xuICBjb25zdCBbcmVzb3VyY2VUeXBlLCAuLi5yZXN0XSA9IHJlc291cmNlLnNwbGl0KGRlbGltaXRlcik7XG4gIGlmIChyZXNvdXJjZVR5cGUgPT09IFwiYWNjZXNzcG9pbnRcIikge1xuICAgIC8vIFBhcnNlIGFjY2Vzc3BvaW50IEFSTlxuICAgIGlmIChyZXN0Lmxlbmd0aCAhPT0gMSB8fCByZXN0WzBdID09PSBcIlwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFjY2VzcyBQb2ludCBBUk4gc2hvdWxkIGhhdmUgb25lIHJlc291cmNlIGFjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9e2FjY2Vzc3BvaW50bmFtZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYWNjZXNzcG9pbnROYW1lOiByZXN0WzBdIH07XG4gIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSBcIm91dHBvc3RcIikge1xuICAgIC8vIFBhcnNlIG91dHBvc3QgQVJOXG4gICAgaWYgKCFyZXN0WzBdIHx8IHJlc3RbMV0gIT09IFwiYWNjZXNzcG9pbnRcIiB8fCAhcmVzdFsyXSB8fCByZXN0Lmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgT3V0cG9zdCBBUk4gc2hvdWxkIGhhdmUgcmVzb3VyY2Ugb3V0cG9zdCR7ZGVsaW1pdGVyfXtvdXRwb3N0SWR9JHtkZWxpbWl0ZXJ9YWNjZXNzcG9pbnQke2RlbGltaXRlcn17YWNjZXNzcG9pbnROYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IFtvdXRwb3N0SWQsIF8sIGFjY2Vzc3BvaW50TmFtZV0gPSByZXN0O1xuICAgIHJldHVybiB7IG91dHBvc3RJZCwgYWNjZXNzcG9pbnROYW1lIH07XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBUk4gcmVzb3VyY2Ugc2hvdWxkIGJlZ2luIHdpdGggJ2FjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9JyBvciAnb3V0cG9zdCR7ZGVsaW1pdGVyfSdgKTtcbiAgfVxufTtcblxuLyoqXG4gKiBUaHJvdyBpZiBkdWFsIHN0YWNrIGNvbmZpZ3VyYXRpb24gaXMgc2V0IHRvIHRydWUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTm9EdWFsc3RhY2sgPSAoZHVhbHN0YWNrRW5kcG9pbnQ/OiBib29sZWFuKSA9PiB7XG4gIGlmIChkdWFsc3RhY2tFbmRwb2ludClcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJEdWFsc3RhY2sgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIE91dHBvc3Qgb3IgTXVsdGktcmVnaW9uIEFjY2VzcyBQb2ludCBBUk4uXCIpO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSByZWdpb24gaXMgbm90IGFwcGVuZGVkIG9yIHByZXBlbmRlZCB3aXRoIGEgYGZpcHMtYFxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU5vRklQUyA9IChyZWdpb24/OiBzdHJpbmcpID0+IHtcbiAgaWYgKGlzRmlwc1JlZ2lvbihyZWdpb24gPz8gXCJcIikpIHRocm93IG5ldyBFcnJvcihgRklQUyByZWdpb24gaXMgbm90IHN1cHBvcnRlZCB3aXRoIE91dHBvc3QsIGdvdCAke3JlZ2lvbn1gKTtcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgdGhlIG11bHRpLXJlZ2lvbiBhY2Nlc3MgcG9pbnQgYWxpYXMuXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNcmFwQWxpYXMgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgbmFtZS5zcGxpdChcIi5cIikuZm9yRWFjaCgobGFiZWwpID0+IHtcbiAgICAgIHZhbGlkYXRlRE5TSG9zdExhYmVsKGxhYmVsKTtcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgXCIke25hbWV9XCIgaXMgbm90IGEgRE5TIGNvbXBhdGlibGUgbmFtZS5gKTtcbiAgfVxufTtcbiJdfQ==
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0SG9zdG5hbWVVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXRIb3N0bmFtZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sY0FBYyxHQUFHLHNDQUFzQyxDQUFDO0FBQzlELE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO0FBQzNDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQztBQUNmLFFBQUEsV0FBVyxHQUFHLElBQUksQ0FBQztBQUNuQixRQUFBLG1CQUFtQixHQUFHLDhCQUE4QixDQUFDO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsb0NBQW9DLENBQUM7QUFDMUUsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUF5QnRDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsT0FBaUQsRUFDaEIsRUFBRSxDQUFDLE9BQU8sT0FBTyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUM7QUFGaEUsUUFBQSxtQkFBbUIsdUJBRTZDO0FBTXRFLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLG9CQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUExRyxRQUFBLGVBQWUsbUJBQTJGO0FBVWhILE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxVQUFrQixFQUFXLEVBQUUsQ0FDdkUsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFEL0YsUUFBQSx5QkFBeUIsNkJBQ3NFO0FBRTVHLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxRQUFnQixFQUFvQixFQUFFO0lBQy9ELE1B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QUcsSUFBSSxDQUFDO1FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLENBQUM7S0FDdkM7U0FBTTtRQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLFNBQVMsZ0JBQWdCLFNBQVMsR0FBRyxDQUFDLENBQUM7S0FDdEc7QUFDSCxDQUFDLENBQUM7QUExQlcsUUFBQSxlQUFlLG1CQTBCMUI7QUFNSyxNQUFNLG1CQUFtQixHQUFHLENBQUMsaUJBQTJCLEVBQUUsRUFBRTtJQUNqRSxJQUFJLGlCQUFpQjtRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7QUFDMUcsQ0FBQyxDQUFDO0FBSFcsUUFBQSxtQkFBbUIsdUJBRzlCO0FBTUssTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtJQUNoRCxJQUFJLG9CQUFZLENBQUMsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksRUFBRSxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUM5RyxDQUFDLENBQUM7QUFGVyxRQUFBLGNBQWMsa0JBRXpCO0FBTUssTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFO0lBQ2hELElBQUk7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hDLDRCQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0tBQ0o7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLGlDQUFpQyxDQUFDLENBQUM7S0FDNUQ7QUFDSCxDQUFDLENBQUM7QUFSVyxRQUFBLGlCQUFpQixxQkFRNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUk4gfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1hcm4tcGFyc2VyXCI7XG5cbmNvbnN0IERPTUFJTl9QQVRURVJOID0gL15bYS16MC05XVthLXowLTlcXC5cXC1dezEsNjF9W2EtejAtOV0kLztcbmNvbnN0IElQX0FERFJFU1NfUEFUVEVSTiA9IC8oXFxkK1xcLil7M31cXGQrLztcbmNvbnN0IERPVFNfUEFUVEVSTiA9IC9cXC5cXC4vO1xuZXhwb3J0IGNvbnN0IERPVF9QQVRURVJOID0gL1xcLi87XG5leHBvcnQgY29uc3QgUzNfSE9TVE5BTUVfUEFUVEVSTiA9IC9eKC4rXFwuKT9zM1suLV0oW2EtejAtOS1dKylcXC4vO1xuY29uc3QgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTiA9IC9eczMoLWV4dGVybmFsLTEpP1xcLmFtYXpvbmF3c1xcLmNvbSQvO1xuY29uc3QgQVdTX1BBUlRJVElPTl9TVUZGSVggPSBcImFtYXpvbmF3cy5jb21cIjtcblxuZXhwb3J0IGludGVyZmFjZSBBY2Nlc3NQb2ludEFybiBleHRlbmRzIEFSTiB7XG4gIGFjY2Vzc1BvaW50TmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldEhvc3RuYW1lUGFyYW1zIHtcbiAgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbjtcbiAgYmFzZUhvc3RuYW1lOiBzdHJpbmc7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gIGFjY2VsZXJhdGVFbmRwb2ludD86IGJvb2xlYW47XG4gIGR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgcGF0aFN0eWxlRW5kcG9pbnQ/OiBib29sZWFuO1xuICB0bHNDb21wYXRpYmxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcm5Ib3N0bmFtZVBhcmFtcyBleHRlbmRzIE9taXQ8QnVja2V0SG9zdG5hbWVQYXJhbXMsIFwiYnVja2V0TmFtZVwiPiB7XG4gIGJ1Y2tldE5hbWU6IEFSTjtcbiAgY2xpZW50U2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbiAgY2xpZW50UGFydGl0aW9uPzogc3RyaW5nO1xuICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xuICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaXNCdWNrZXROYW1lT3B0aW9ucyA9IChcbiAgb3B0aW9uczogQnVja2V0SG9zdG5hbWVQYXJhbXMgfCBBcm5Ib3N0bmFtZVBhcmFtc1xuKTogb3B0aW9ucyBpcyBCdWNrZXRIb3N0bmFtZVBhcmFtcyA9PiB0eXBlb2Ygb3B0aW9ucy5idWNrZXROYW1lID09PSBcInN0cmluZ1wiO1xuXG4vKipcbiAqIEdldCBwc2V1ZG8gcmVnaW9uIGZyb20gc3VwcGxpZWQgcmVnaW9uLiBGb3IgZXhhbXBsZSwgaWYgc3VwcGxpZWQgd2l0aCBgZmlwcy11cy13ZXN0LTJgLCBpdCByZXR1cm5zIGB1cy13ZXN0LTJgLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRQc2V1ZG9SZWdpb24gPSAocmVnaW9uOiBzdHJpbmcpID0+IChpc0ZpcHNSZWdpb24ocmVnaW9uKSA/IHJlZ2lvbi5yZXBsYWNlKC9maXBzLXwtZmlwcy8sIFwiXCIpIDogcmVnaW9uKTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBnaXZlbiBzdHJpbmcgaXMgRE5TIGNvbXBsaWFudCBwZXIgdGhlIHJ1bGVzIG91dGxpbmVkIGJ5XG4gKiBTMy4gTGVuZ3RoLCBjYXBpdGFpemF0aW9uLCBhbmQgbGVhZGluZyBkb3QgcmVzdHJpY3Rpb25zIGFyZSBlbmZvcmNlZCBieSB0aGVcbiAqIERPTUFJTl9QQVRURVJOIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvblMzL2xhdGVzdC9kZXYvQnVja2V0UmVzdHJpY3Rpb25zLmh0bWxcbiAqL1xuZXhwb3J0IGNvbnN0IGlzRG5zQ29tcGF0aWJsZUJ1Y2tldE5hbWUgPSAoYnVja2V0TmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PlxuICBET01BSU5fUEFUVEVSTi50ZXN0KGJ1Y2tldE5hbWUpICYmICFJUF9BRERSRVNTX1BBVFRFUk4udGVzdChidWNrZXROYW1lKSAmJiAhRE9UU19QQVRURVJOLnRlc3QoYnVja2V0TmFtZSk7XG5cbmNvbnN0IGdldFJlZ2lvbmFsU3VmZml4ID0gKGhvc3RuYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddID0+IHtcbiAgY29uc3QgcGFydHMgPSBob3N0bmFtZS5tYXRjaChTM19IT1NUTkFNRV9QQVRURVJOKSE7XG4gIHJldHVybiBbcGFydHNbMl0sIGhvc3RuYW1lLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7cGFydHNbMF19YCksIFwiXCIpXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdWZmaXggPSAoaG9zdG5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10gPT5cbiAgUzNfVVNfRUFTVF8xX0FMVE5BTUVfUEFUVEVSTi50ZXN0KGhvc3RuYW1lKSA/IFtcInVzLWVhc3QtMVwiLCBBV1NfUEFSVElUSU9OX1NVRkZJWF0gOiBnZXRSZWdpb25hbFN1ZmZpeChob3N0bmFtZSk7XG5cbi8qKlxuICogSW5mZXIgcmVnaW9uIGFuZCBob3N0bmFtZSBzdWZmaXggZnJvbSBhIGNvbXBsZXRlIGhvc3RuYW1lXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSBob3N0bmFtZSAtIEhvc3RuYW1lXG4gKiBAcmV0dXJucyBbUmVnaW9uLCBIb3N0bmFtZSBzdWZmaXhdXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRTdWZmaXhGb3JBcm5FbmRwb2ludCA9IChob3N0bmFtZTogc3RyaW5nKTogW3N0cmluZywgc3RyaW5nXSA9PlxuICBTM19VU19FQVNUXzFfQUxUTkFNRV9QQVRURVJOLnRlc3QoaG9zdG5hbWUpXG4gICAgPyBbaG9zdG5hbWUucmVwbGFjZShgLiR7QVdTX1BBUlRJVElPTl9TVUZGSVh9YCwgXCJcIiksIEFXU19QQVJUSVRJT05fU1VGRklYXVxuICAgIDogZ2V0UmVnaW9uYWxTdWZmaXgoaG9zdG5hbWUpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBcm5FbmRwb2ludE9wdGlvbnMgPSAob3B0aW9uczoge1xuICBhY2NlbGVyYXRlRW5kcG9pbnQ/OiBib29sZWFuO1xuICB0bHNDb21wYXRpYmxlPzogYm9vbGVhbjtcbiAgcGF0aFN0eWxlRW5kcG9pbnQ/OiBib29sZWFuO1xufSkgPT4ge1xuICBpZiAob3B0aW9ucy5wYXRoU3R5bGVFbmRwb2ludCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlBhdGgtc3R5bGUgUzMgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aGVuIGJ1Y2tldCBpcyBhbiBBUk5cIik7XG4gIH1cbiAgaWYgKG9wdGlvbnMuYWNjZWxlcmF0ZUVuZHBvaW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQWNjZWxlcmF0ZSBlbmRwb2ludCBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gYnVja2V0IGlzIGFuIEFSTlwiKTtcbiAgfVxuICBpZiAoIW9wdGlvbnMudGxzQ29tcGF0aWJsZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkhUVFBTIGlzIHJlcXVpcmVkIHdoZW4gYnVja2V0IGlzIGFuIEFSTlwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIiAmJiBzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIgJiYgc2VydmljZSAhPT0gXCJzMy1vYmplY3QtbGFtYmRhXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzJyBvciAnczMtb3V0cG9zdHMnIG9yICdzMy1vYmplY3QtbGFtYmRhJyBpbiBBUk4gc2VydmljZSBjb21wb25lbnRcIik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVMzU2VydmljZSA9IChzZXJ2aWNlOiBzdHJpbmcpID0+IHtcbiAgaWYgKHNlcnZpY2UgIT09IFwiczNcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkV4cGVjdCAnczMnIGluIEFjY2Vzc3BvaW50IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlT3V0cG9zdFNlcnZpY2UgPSAoc2VydmljZTogc3RyaW5nKSA9PiB7XG4gIGlmIChzZXJ2aWNlICE9PSBcInMzLW91dHBvc3RzXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3QgJ3MzLXBvc3RzJyBpbiBPdXRwb3N0IEFSTiBzZXJ2aWNlIGNvbXBvbmVudFwiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBwYXJ0aXRpb24gaW5mZXJyZWQgZnJvbSBBUk4gaXMgdGhlIHNhbWUgdG8gYG9wdGlvbnMuY2xpZW50UGFydGl0aW9uYC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQYXJ0aXRpb24gPSAocGFydGl0aW9uOiBzdHJpbmcsIG9wdGlvbnM6IHsgY2xpZW50UGFydGl0aW9uOiBzdHJpbmcgfSkgPT4ge1xuICBpZiAocGFydGl0aW9uICE9PSBvcHRpb25zLmNsaWVudFBhcnRpdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgUGFydGl0aW9uIGluIEFSTiBpcyBpbmNvbXBhdGlibGUsIGdvdCBcIiR7cGFydGl0aW9ufVwiIGJ1dCBleHBlY3RlZCBcIiR7b3B0aW9ucy5jbGllbnRQYXJ0aXRpb259XCJgKTtcbiAgfVxufTtcblxuLyoqXG4gKiB2YWxpZGF0ZSByZWdpb24gdmFsdWUgaW5mZXJyZWQgZnJvbSBBUk4uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgc2V0LCBpdCB2YWxpZGF0ZXMgdGhlIHJlZ2lvbiBpcyBub3QgYSBGSVBTXG4gKiByZWdpb24uIElmIGBvcHRpb25zLnVzZUFyblJlZ2lvbmAgaXMgdW5zZXQsIGl0IHZhbGlkYXRlcyB0aGUgcmVnaW9uIGlzIGVxdWFsIHRvIGBvcHRpb25zLmNsaWVudFJlZ2lvbmAgb3JcbiAqIGBvcHRpb25zLmNsaWVudFNpZ25pbmdSZWdpb25gLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlZ2lvbiA9IChcbiAgcmVnaW9uOiBzdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICB1c2VBcm5SZWdpb24/OiBib29sZWFuO1xuICAgIGFsbG93Rmlwc1JlZ2lvbj86IGJvb2xlYW47XG4gICAgY2xpZW50UmVnaW9uOiBzdHJpbmc7XG4gICAgY2xpZW50U2lnbmluZ1JlZ2lvbjogc3RyaW5nO1xuICB9XG4pID0+IHtcbiAgaWYgKHJlZ2lvbiA9PT0gXCJcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFSTiByZWdpb24gaXMgZW1wdHlcIik7XG4gIH1cbiAgaWYgKGlzRmlwc1JlZ2lvbihvcHRpb25zLmNsaWVudFJlZ2lvbikpIHtcbiAgICBpZiAoIW9wdGlvbnMuYWxsb3dGaXBzUmVnaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGSVBTIHJlZ2lvbiBpcyBub3Qgc3VwcG9ydGVkXCIpO1xuICAgIH0gZWxzZSBpZiAoIWlzRXF1YWxSZWdpb25zKHJlZ2lvbiwgb3B0aW9ucy5jbGllbnRSZWdpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENsaWVudCBGSVBTIHJlZ2lvbiAke29wdGlvbnMuY2xpZW50UmVnaW9ufSBkb2Vzbid0IG1hdGNoIHJlZ2lvbiAke3JlZ2lvbn0gaW4gQVJOYCk7XG4gICAgfVxuICB9XG4gIGlmIChcbiAgICAhb3B0aW9ucy51c2VBcm5SZWdpb24gJiZcbiAgICAhaXNFcXVhbFJlZ2lvbnMocmVnaW9uLCBvcHRpb25zLmNsaWVudFJlZ2lvbiB8fCBcIlwiKSAmJlxuICAgICFpc0VxdWFsUmVnaW9ucyhyZWdpb24sIG9wdGlvbnMuY2xpZW50U2lnbmluZ1JlZ2lvbiB8fCBcIlwiKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFJlZ2lvbiBpbiBBUk4gaXMgaW5jb21wYXRpYmxlLCBnb3QgJHtyZWdpb259IGJ1dCBleHBlY3RlZCAke29wdGlvbnMuY2xpZW50UmVnaW9ufWApO1xuICB9XG59O1xuXG4vKipcbiAqXG4gKiBAcGFyYW0gcmVnaW9uXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlZ2lvbmFsQ2xpZW50ID0gKHJlZ2lvbjogc3RyaW5nKSA9PiB7XG4gIGlmIChbXCJzMy1leHRlcm5hbC0xXCIsIFwiYXdzLWdsb2JhbFwiXS5pbmNsdWRlcyhnZXRQc2V1ZG9SZWdpb24ocmVnaW9uKSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENsaWVudCByZWdpb24gJHtyZWdpb259IGlzIG5vdCByZWdpb25hbGApO1xuICB9XG59O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgaXNGaXBzUmVnaW9uID0gKHJlZ2lvbjogc3RyaW5nKSA9PiByZWdpb24uc3RhcnRzV2l0aChcImZpcHMtXCIpIHx8IHJlZ2lvbi5lbmRzV2l0aChcIi1maXBzXCIpO1xuXG5jb25zdCBpc0VxdWFsUmVnaW9ucyA9IChyZWdpb25BOiBzdHJpbmcsIHJlZ2lvbkI6IHN0cmluZykgPT5cbiAgcmVnaW9uQSA9PT0gcmVnaW9uQiB8fCBnZXRQc2V1ZG9SZWdpb24ocmVnaW9uQSkgPT09IHJlZ2lvbkIgfHwgcmVnaW9uQSA9PT0gZ2V0UHNldWRvUmVnaW9uKHJlZ2lvbkIpO1xuXG4vKipcbiAqIFZhbGlkYXRlIGFuIGFjY291bnQgSURcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBY2NvdW50SWQgPSAoYWNjb3VudElkOiBzdHJpbmcpID0+IHtcbiAgaWYgKCEvWzAtOV17MTJ9Ly5leGVjKGFjY291bnRJZCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBY2Nlc3MgcG9pbnQgQVJOIGFjY291bnRJRCBkb2VzIG5vdCBtYXRjaCByZWdleCAnWzAtOV17MTJ9J1wiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhIGhvc3QgbGFiZWwgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMy4yLjJcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVETlNIb3N0TGFiZWwgPSAobGFiZWw6IHN0cmluZywgb3B0aW9uczogeyB0bHNDb21wYXRpYmxlPzogYm9vbGVhbiB9ID0geyB0bHNDb21wYXRpYmxlOiB0cnVlIH0pID0+IHtcbiAgLy8gcmVmZXJlbmNlOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMi4yXG4gIGlmIChcbiAgICBsYWJlbC5sZW5ndGggPj0gNjQgfHxcbiAgICAhL15bYS16MC05XVthLXowLTkuLV0qW2EtejAtOV0kLy50ZXN0KGxhYmVsKSB8fFxuICAgIC8oXFxkK1xcLil7M31cXGQrLy50ZXN0KGxhYmVsKSB8fFxuICAgIC9bLi1dezJ9Ly50ZXN0KGxhYmVsKSB8fFxuICAgIChvcHRpb25zPy50bHNDb21wYXRpYmxlICYmIERPVF9QQVRURVJOLnRlc3QobGFiZWwpKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgRE5TIGxhYmVsICR7bGFiZWx9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUN1c3RvbUVuZHBvaW50ID0gKG9wdGlvbnM6IHtcbiAgaXNDdXN0b21FbmRwb2ludD86IGJvb2xlYW47XG4gIGR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgYWNjZWxlcmF0ZUVuZHBvaW50PzogYm9vbGVhbjtcbn0pID0+IHtcbiAgaWYgKG9wdGlvbnMuaXNDdXN0b21FbmRwb2ludCkge1xuICAgIGlmIChvcHRpb25zLmR1YWxzdGFja0VuZHBvaW50KSB0aHJvdyBuZXcgRXJyb3IoXCJEdWFsc3RhY2sgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGN1c3RvbSBlbmRwb2ludFwiKTtcbiAgICBpZiAob3B0aW9ucy5hY2NlbGVyYXRlRW5kcG9pbnQpIHRocm93IG5ldyBFcnJvcihcIkFjY2VsZXJhdGUgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIGN1c3RvbSBlbmRwb2ludFwiKTtcbiAgfVxufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgcGFyc2UgYW4gQWNjZXNzIFBvaW50IEFSTiBvciBPdXRwb3N0cyBBUk5cbiAqIEBpbnRlcm5hbFxuICpcbiAqIEBwYXJhbSByZXNvdXJjZSAtIFRoZSByZXNvdXJjZSBzZWN0aW9uIG9mIGFuIEFSTlxuICogQHJldHVybnMgQWNjZXNzIFBvaW50IE5hbWUgYW5kIG9wdGlvbmFsIE91dHBvc3QgSUQuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBcm5SZXNvdXJjZXMgPSAoXG4gIHJlc291cmNlOiBzdHJpbmdcbik6IHtcbiAgYWNjZXNzcG9pbnROYW1lOiBzdHJpbmc7XG4gIG91dHBvc3RJZD86IHN0cmluZztcbn0gPT4ge1xuICBjb25zdCBkZWxpbWl0ZXIgPSByZXNvdXJjZS5pbmNsdWRlcyhcIjpcIikgPyBcIjpcIiA6IFwiL1wiO1xuICBjb25zdCBbcmVzb3VyY2VUeXBlLCAuLi5yZXN0XSA9IHJlc291cmNlLnNwbGl0KGRlbGltaXRlcik7XG4gIGlmIChyZXNvdXJjZVR5cGUgPT09IFwiYWNjZXNzcG9pbnRcIikge1xuICAgIC8vIFBhcnNlIGFjY2Vzc3BvaW50IEFSTlxuICAgIGlmIChyZXN0Lmxlbmd0aCAhPT0gMSB8fCByZXN0WzBdID09PSBcIlwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEFjY2VzcyBQb2ludCBBUk4gc2hvdWxkIGhhdmUgb25lIHJlc291cmNlIGFjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9e2FjY2Vzc3BvaW50bmFtZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgYWNjZXNzcG9pbnROYW1lOiByZXN0WzBdIH07XG4gIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSBcIm91dHBvc3RcIikge1xuICAgIC8vIFBhcnNlIG91dHBvc3QgQVJOXG4gICAgaWYgKCFyZXN0WzBdIHx8IHJlc3RbMV0gIT09IFwiYWNjZXNzcG9pbnRcIiB8fCAhcmVzdFsyXSB8fCByZXN0Lmxlbmd0aCAhPT0gMykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgT3V0cG9zdCBBUk4gc2hvdWxkIGhhdmUgcmVzb3VyY2Ugb3V0cG9zdCR7ZGVsaW1pdGVyfXtvdXRwb3N0SWR9JHtkZWxpbWl0ZXJ9YWNjZXNzcG9pbnQke2RlbGltaXRlcn17YWNjZXNzcG9pbnROYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IFtvdXRwb3N0SWQsIF8sIGFjY2Vzc3BvaW50TmFtZV0gPSByZXN0O1xuICAgIHJldHVybiB7IG91dHBvc3RJZCwgYWNjZXNzcG9pbnROYW1lIH07XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBUk4gcmVzb3VyY2Ugc2hvdWxkIGJlZ2luIHdpdGggJ2FjY2Vzc3BvaW50JHtkZWxpbWl0ZXJ9JyBvciAnb3V0cG9zdCR7ZGVsaW1pdGVyfSdgKTtcbiAgfVxufTtcblxuLyoqXG4gKiBUaHJvdyBpZiBkdWFsIHN0YWNrIGNvbmZpZ3VyYXRpb24gaXMgc2V0IHRvIHRydWUuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTm9EdWFsc3RhY2sgPSAoZHVhbHN0YWNrRW5kcG9pbnQ/OiBib29sZWFuKSA9PiB7XG4gIGlmIChkdWFsc3RhY2tFbmRwb2ludClcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJEdWFsc3RhY2sgZW5kcG9pbnQgaXMgbm90IHN1cHBvcnRlZCB3aXRoIE91dHBvc3Qgb3IgTXVsdGktcmVnaW9uIEFjY2VzcyBQb2ludCBBUk4uXCIpO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZSByZWdpb24gaXMgbm90IGFwcGVuZGVkIG9yIHByZXBlbmRlZCB3aXRoIGEgYGZpcHMtYFxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU5vRklQUyA9IChyZWdpb24/OiBzdHJpbmcpID0+IHtcbiAgaWYgKGlzRmlwc1JlZ2lvbihyZWdpb24gPz8gXCJcIikpIHRocm93IG5ldyBFcnJvcihgRklQUyByZWdpb24gaXMgbm90IHN1cHBvcnRlZCB3aXRoIE91dHBvc3QsIGdvdCAke3JlZ2lvbn1gKTtcbn07XG5cbi8qKlxuICogVmFsaWRhdGUgdGhlIG11bHRpLXJlZ2lvbiBhY2Nlc3MgcG9pbnQgYWxpYXMuXG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNcmFwQWxpYXMgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgbmFtZS5zcGxpdChcIi5cIikuZm9yRWFjaCgobGFiZWwpID0+IHtcbiAgICAgIHZhbGlkYXRlRE5TSG9zdExhYmVsKGxhYmVsKTtcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgXCIke25hbWV9XCIgaXMgbm90IGEgRE5TIGNvbXBhdGlibGUgbmFtZS5gKTtcbiAgfVxufTtcbiJdfQ==
@@ -20,11 +20,6 @@ exports.NODE_USE_ARN_REGION_ENV_NAME = "AWS_S3_USE_ARN_REGION";
20
20
  exports.NODE_USE_ARN_REGION_INI_NAME = "s3_use_arn_region";
21
21
  exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_ENV_NAME = "AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS";
22
22
  exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_INI_NAME = "s3_disable_multiregion_access_points";
23
- /**
24
- * Config to load useArnRegion from environment variables and shared INI files
25
- *
26
- * @api private
27
- */
28
23
  exports.NODE_USE_ARN_REGION_CONFIG_OPTIONS = {
29
24
  environmentVariableSelector: (env) => {
30
25
  if (!Object.prototype.hasOwnProperty.call(env, exports.NODE_USE_ARN_REGION_ENV_NAME))
@@ -67,4 +62,4 @@ exports.NODE_DISABLE_MULTIREGION_ACCESS_POINT_CONFIG_OPTIONS = {
67
62
  },
68
63
  default: false,
69
64
  };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBOEVBLFNBQWdCLDJCQUEyQixDQUN6QyxLQUF5RDtJQUV6RCxNQUFNLEVBQ0osY0FBYyxHQUFHLEtBQUssRUFDdEIsY0FBYyxHQUFHLEtBQUssRUFDdEIscUJBQXFCLEdBQUcsS0FBSyxFQUM3QixvQkFBb0IsR0FBRyxLQUFLLEVBQzVCLFlBQVksR0FBRyxLQUFLLEVBQ3BCLDhCQUE4QixHQUFHLEtBQUssR0FDdkMsR0FBRyxLQUFLLENBQUM7SUFDVixPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsY0FBYztRQUNkLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLFlBQVksRUFBRSxPQUFPLFlBQVksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDckcsOEJBQThCLEVBQzVCLE9BQU8sOEJBQThCLEtBQUssVUFBVTtZQUNsRCxDQUFDLENBQUMsOEJBQThCO1lBQ2hDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDO0tBQzVELENBQUM7QUFDSixDQUFDO0FBdkJELGtFQXVCQztBQUVZLFFBQUEsNEJBQTRCLEdBQUcsdUJBQXVCLENBQUM7QUFDdkQsUUFBQSw0QkFBNEIsR0FBRyxtQkFBbUIsQ0FBQztBQUVuRCxRQUFBLDhDQUE4QyxHQUFHLDBDQUEwQyxDQUFDO0FBQzVGLFFBQUEsOENBQThDLEdBQUcsc0NBQXNDLENBQUM7QUFFckc7Ozs7R0FJRztBQUNVLFFBQUEsa0NBQWtDLEdBQW1DO0lBQ2hGLDJCQUEyQixFQUFFLENBQUMsR0FBc0IsRUFBRSxFQUFFO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLG9DQUE0QixDQUFDO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDL0YsSUFBSSxHQUFHLENBQUMsb0NBQTRCLENBQUMsS0FBSyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDOUQsSUFBSSxHQUFHLENBQUMsb0NBQTRCLENBQUMsS0FBSyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDaEUsTUFBTSxJQUFJLEtBQUssQ0FDYixtQkFBbUIsb0NBQTRCLHFDQUFxQyxHQUFHLENBQUMsb0NBQTRCLENBQUMsR0FBRyxDQUN6SCxDQUFDO0lBQ0osQ0FBQztJQUNELGtCQUFrQixFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0NBQTRCLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNuRyxJQUFJLE9BQU8sQ0FBQyxvQ0FBNEIsQ0FBQyxLQUFLLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUNsRSxJQUFJLE9BQU8sQ0FBQyxvQ0FBNEIsQ0FBQyxLQUFLLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNwRSxNQUFNLElBQUksS0FBSyxDQUNiLG1DQUFtQyxvQ0FBNEIscUNBQXFDLE9BQU8sQ0FBQyxvQ0FBNEIsQ0FBQyxHQUFHLENBQzdJLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxFQUFFLEtBQUs7Q0FDZixDQUFDO0FBRVcsUUFBQSxvREFBb0QsR0FBbUM7SUFDbEcsMkJBQTJCLEVBQUUsQ0FBQyxHQUFzQixFQUFFLEVBQUU7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsc0RBQThDLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNqSCxJQUFJLEdBQUcsQ0FBQyxzREFBOEMsQ0FBQyxLQUFLLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUNoRixJQUFJLEdBQUcsQ0FBQyxzREFBOEMsQ0FBQyxLQUFLLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNsRixNQUFNLElBQUksS0FBSyxDQUNiLG1CQUFtQixzREFBOEMscUNBQXFDLEdBQUcsQ0FBQyxzREFBOEMsQ0FBQyxHQUFHLENBQzdKLENBQUM7SUFDSixDQUFDO0lBQ0Qsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxzREFBOEMsQ0FBQztZQUNoRyxPQUFPLFNBQVMsQ0FBQztRQUNuQixJQUFJLE9BQU8sQ0FBQyxzREFBOEMsQ0FBQyxLQUFLLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUNwRixJQUFJLE9BQU8sQ0FBQyxzREFBOEMsQ0FBQyxLQUFLLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN0RixNQUFNLElBQUksS0FBSyxDQUNiLG1DQUFtQyxzREFBOEMscUNBQXFDLE9BQU8sQ0FBQyxzREFBOEMsQ0FBQyxHQUFHLENBQ2pMLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTyxFQUFFLEtBQUs7Q0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZGVkQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSBcIkBhd3Mtc2RrL25vZGUtY29uZmlnLXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBQcm92aWRlciwgUmVnaW9uSW5mb1Byb3ZpZGVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0RW5kcG9pbnRJbnB1dENvbmZpZyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwcm92aWRlZCBlbmRwb2ludCBhZGRyZXNzZXMgYW4gaW5kaXZpZHVhbCBidWNrZXQuXG4gICAqL1xuICBidWNrZXRFbmRwb2ludD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZvcmNlIHBhdGggc3R5bGUgVVJMcyBmb3IgUzMgb2JqZWN0cyAoZS5nLiwgaHR0cHM6Ly9zMy5hbWF6b25hd3MuY29tLzxidWNrZXROYW1lPi88a2V5PiBpbnN0ZWFkIG9mIGh0dHBzOi8vPGJ1Y2tldE5hbWU+LnMzLmFtYXpvbmF3cy5jb20vPGtleT5cbiAgICovXG4gIGZvcmNlUGF0aFN0eWxlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIHRoZSBTMyBUcmFuc2ZlciBBY2NlbGVyYXRpb24gZW5kcG9pbnQgYnkgZGVmYXVsdFxuICAgKi9cbiAgdXNlQWNjZWxlcmF0ZUVuZHBvaW50PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEVuYWJsZXMgSVB2Ni9JUHY0IGR1YWxzdGFjayBlbmRwb2ludC4gV2hlbiBhIEROUyBsb29rdXAgaXMgcGVyZm9ybWVkIG9uIGFuIGVuZHBvaW50IG9mIHRoaXMgdHlwZSwgaXQgcmV0dXJucyBhbiDigJxB4oCdXG4gICAqIHJlY29yZCB3aXRoIGFuIElQdjQgYWRkcmVzcyBhbmQgYW4g4oCcQUFBQeKAnSByZWNvcmQgd2l0aCBhbiBJUHY2IGFkZHJlc3MuIEluIG1vc3QgY2FzZXMgdGhlIG5ldHdvcmsgc3RhY2sgaW4gdGhlXG4gICAqIGNsaWVudCBlbnZpcm9ubWVudCB3aWxsIGF1dG9tYXRpY2FsbHkgcHJlZmVyIHRoZSBBQUFBIHJlY29yZCBhbmQgbWFrZSBhIGNvbm5lY3Rpb24gdXNpbmcgdGhlIElQdjYgYWRkcmVzcy4gTm90ZSxcbiAgICogaG93ZXZlciwgdGhhdCBjdXJyZW50bHkgb24gV2luZG93cywgdGhlIElQdjQgYWRkcmVzcyB3aWxsIGJlIHByZWZlcnJlZC5cbiAgICovXG4gIHVzZUR1YWxzdGFja0VuZHBvaW50PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gb3ZlcnJpZGUgdGhlIHJlcXVlc3QgcmVnaW9uIHdpdGggdGhlIHJlZ2lvbiBpbmZlcnJlZCBmcm9tIHJlcXVlc3RlZCByZXNvdXJjZSdzIEFSTi4gRGVmYXVsdHMgdG8gZmFsc2VcbiAgICovXG4gIHVzZUFyblJlZ2lvbj86IGJvb2xlYW4gfCBQcm92aWRlcjxib29sZWFuPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHJldmVudCBTREsgZnJvbSBtYWtpbmcgY3Jvc3MtcmVnaW9uIHJlcXVlc3Qgd2hlbiBzdXBwbGllZCBidWNrZXQgaXMgYSBtdWx0aS1yZWdpb24gYWNjZXNzIHBvaW50IEFSTi5cbiAgICogRGVmYXVsdHMgdG8gZmFsc2VcbiAgICovXG4gIGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50cz86IGJvb2xlYW4gfCBQcm92aWRlcjxib29sZWFuPjtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW47XG4gIHJlZ2lvbjogUHJvdmlkZXI8c3RyaW5nPjtcbiAgcmVnaW9uSW5mb1Byb3ZpZGVyOiBSZWdpb25JbmZvUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0RW5kcG9pbnRSZXNvbHZlZENvbmZpZyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBlbmRwb2ludCBpcyBzcGVjaWZpZWQgYnkgY2FsbGVyLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBCdWNrZXRFbmRwb2ludElucHV0Q29uZmlnLmJ1Y2tldEVuZHBvaW50fVxuICAgKi9cbiAgYnVja2V0RW5kcG9pbnQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBCdWNrZXRFbmRwb2ludElucHV0Q29uZmlnLmZvcmNlUGF0aFN0eWxlfVxuICAgKi9cbiAgZm9yY2VQYXRoU3R5bGU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXNvbHZlZCB2YWx1ZSBmb3IgaW5wdXQgY29uZmlnIHtAbGluayBCdWNrZXRFbmRwb2ludElucHV0Q29uZmlnLnVzZUFjY2VsZXJhdGVFbmRwb2ludH1cbiAgICovXG4gIHVzZUFjY2VsZXJhdGVFbmRwb2ludDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEJ1Y2tldEVuZHBvaW50SW5wdXRDb25maWcudXNlRHVhbHN0YWNrRW5kcG9pbnR9XG4gICAqL1xuICB1c2VEdWFsc3RhY2tFbmRwb2ludDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEJ1Y2tldEVuZHBvaW50SW5wdXRDb25maWcudXNlQXJuUmVnaW9ufVxuICAgKi9cbiAgdXNlQXJuUmVnaW9uOiBQcm92aWRlcjxib29sZWFuPjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIFJlZ2lvbklucHV0Q29uZmlnLnJlZ2lvbn1cbiAgICovXG4gIHJlZ2lvbjogUHJvdmlkZXI8c3RyaW5nPjtcbiAgLyoqXG4gICAqIEZldGNoIHJlbGF0ZWQgaG9zdG5hbWUsIHNpZ25pbmcgbmFtZSBvciBzaWduaW5nIHJlZ2lvbiB3aXRoIGdpdmVuIHJlZ2lvbi5cbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWdpb25JbmZvUHJvdmlkZXI6IFJlZ2lvbkluZm9Qcm92aWRlcjtcbiAgZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzOiBQcm92aWRlcjxib29sZWFuPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVCdWNrZXRFbmRwb2ludENvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBCdWNrZXRFbmRwb2ludElucHV0Q29uZmlnXG4pOiBUICYgQnVja2V0RW5kcG9pbnRSZXNvbHZlZENvbmZpZyB7XG4gIGNvbnN0IHtcbiAgICBidWNrZXRFbmRwb2ludCA9IGZhbHNlLFxuICAgIGZvcmNlUGF0aFN0eWxlID0gZmFsc2UsXG4gICAgdXNlQWNjZWxlcmF0ZUVuZHBvaW50ID0gZmFsc2UsXG4gICAgdXNlRHVhbHN0YWNrRW5kcG9pbnQgPSBmYWxzZSxcbiAgICB1c2VBcm5SZWdpb24gPSBmYWxzZSxcbiAgICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHMgPSBmYWxzZSxcbiAgfSA9IGlucHV0O1xuICByZXR1cm4ge1xuICAgIC4uLmlucHV0LFxuICAgIGJ1Y2tldEVuZHBvaW50LFxuICAgIGZvcmNlUGF0aFN0eWxlLFxuICAgIHVzZUFjY2VsZXJhdGVFbmRwb2ludCxcbiAgICB1c2VEdWFsc3RhY2tFbmRwb2ludCxcbiAgICB1c2VBcm5SZWdpb246IHR5cGVvZiB1c2VBcm5SZWdpb24gPT09IFwiZnVuY3Rpb25cIiA/IHVzZUFyblJlZ2lvbiA6ICgpID0+IFByb21pc2UucmVzb2x2ZSh1c2VBcm5SZWdpb24pLFxuICAgIGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50czpcbiAgICAgIHR5cGVvZiBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHMgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICA/IGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50c1xuICAgICAgICA6ICgpID0+IFByb21pc2UucmVzb2x2ZShkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHMpLFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgTk9ERV9VU0VfQVJOX1JFR0lPTl9FTlZfTkFNRSA9IFwiQVdTX1MzX1VTRV9BUk5fUkVHSU9OXCI7XG5leHBvcnQgY29uc3QgTk9ERV9VU0VfQVJOX1JFR0lPTl9JTklfTkFNRSA9IFwiczNfdXNlX2Fybl9yZWdpb25cIjtcblxuZXhwb3J0IGNvbnN0IE5PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfRU5WX05BTUUgPSBcIkFXU19TM19ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVFNcIjtcbmV4cG9ydCBjb25zdCBOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0lOSV9OQU1FID0gXCJzM19kaXNhYmxlX211bHRpcmVnaW9uX2FjY2Vzc19wb2ludHNcIjtcblxuLyoqXG4gKiBDb25maWcgdG8gbG9hZCB1c2VBcm5SZWdpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kIHNoYXJlZCBJTkkgZmlsZXNcbiAqXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IE5PREVfVVNFX0FSTl9SRUdJT05fQ09ORklHX09QVElPTlM6IExvYWRlZENvbmZpZ1NlbGVjdG9yczxib29sZWFuPiA9IHtcbiAgZW52aXJvbm1lbnRWYXJpYWJsZVNlbGVjdG9yOiAoZW52OiBOb2RlSlMuUHJvY2Vzc0VudikgPT4ge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVudiwgTk9ERV9VU0VfQVJOX1JFR0lPTl9FTlZfTkFNRSkpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKGVudltOT0RFX1VTRV9BUk5fUkVHSU9OX0VOVl9OQU1FXSA9PT0gXCJ0cnVlXCIpIHJldHVybiB0cnVlO1xuICAgIGlmIChlbnZbTk9ERV9VU0VfQVJOX1JFR0lPTl9FTlZfTkFNRV0gPT09IFwiZmFsc2VcIikgcmV0dXJuIGZhbHNlO1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBDYW5ub3QgbG9hZCBlbnYgJHtOT0RFX1VTRV9BUk5fUkVHSU9OX0VOVl9OQU1FfS4gRXhwZWN0ZWQgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLCBnb3QgJHtlbnZbTk9ERV9VU0VfQVJOX1JFR0lPTl9FTlZfTkFNRV19LmBcbiAgICApO1xuICB9LFxuICBjb25maWdGaWxlU2VsZWN0b3I6IChwcm9maWxlKSA9PiB7XG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocHJvZmlsZSwgTk9ERV9VU0VfQVJOX1JFR0lPTl9JTklfTkFNRSkpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKHByb2ZpbGVbTk9ERV9VU0VfQVJOX1JFR0lPTl9JTklfTkFNRV0gPT09IFwidHJ1ZVwiKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAocHJvZmlsZVtOT0RFX1VTRV9BUk5fUkVHSU9OX0lOSV9OQU1FXSA9PT0gXCJmYWxzZVwiKSByZXR1cm4gZmFsc2U7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENhbm5vdCBsb2FkIHNoYXJlZCBjb25maWcgZW50cnkgJHtOT0RFX1VTRV9BUk5fUkVHSU9OX0lOSV9OQU1FfS4gRXhwZWN0ZWQgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLCBnb3QgJHtwcm9maWxlW05PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUVdfS5gXG4gICAgKTtcbiAgfSxcbiAgZGVmYXVsdDogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9DT05GSUdfT1BUSU9OUzogTG9hZGVkQ29uZmlnU2VsZWN0b3JzPGJvb2xlYW4+ID0ge1xuICBlbnZpcm9ubWVudFZhcmlhYmxlU2VsZWN0b3I6IChlbnY6IE5vZGVKUy5Qcm9jZXNzRW52KSA9PiB7XG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZW52LCBOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0VOVl9OQU1FKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBpZiAoZW52W05PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfRU5WX05BTUVdID09PSBcInRydWVcIikgcmV0dXJuIHRydWU7XG4gICAgaWYgKGVudltOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0VOVl9OQU1FXSA9PT0gXCJmYWxzZVwiKSByZXR1cm4gZmFsc2U7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENhbm5vdCBsb2FkIGVudiAke05PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfRU5WX05BTUV9LiBFeHBlY3RlZCBcInRydWVcIiBvciBcImZhbHNlXCIsIGdvdCAke2VudltOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0VOVl9OQU1FXX0uYFxuICAgICk7XG4gIH0sXG4gIGNvbmZpZ0ZpbGVTZWxlY3RvcjogKHByb2ZpbGUpID0+IHtcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9maWxlLCBOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0lOSV9OQU1FKSlcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKHByb2ZpbGVbTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9JTklfTkFNRV0gPT09IFwidHJ1ZVwiKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAocHJvZmlsZVtOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0lOSV9OQU1FXSA9PT0gXCJmYWxzZVwiKSByZXR1cm4gZmFsc2U7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENhbm5vdCBsb2FkIHNoYXJlZCBjb25maWcgZW50cnkgJHtOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0lOSV9OQU1FfS4gRXhwZWN0ZWQgXCJ0cnVlXCIgb3IgXCJmYWxzZVwiLCBnb3QgJHtwcm9maWxlW05PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfSU5JX05BTUVdfS5gXG4gICAgKTtcbiAgfSxcbiAgZGVmYXVsdDogZmFsc2UsXG59O1xuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBOEVBLFNBQWdCLDJCQUEyQixDQUN6QyxLQUF5RDtJQUV6RCxNQUFNLEVBQ0osY0FBYyxHQUFHLEtBQUssRUFDdEIsY0FBYyxHQUFHLEtBQUssRUFDdEIscUJBQXFCLEdBQUcsS0FBSyxFQUM3QixvQkFBb0IsR0FBRyxLQUFLLEVBQzVCLFlBQVksR0FBRyxLQUFLLEVBQ3BCLDhCQUE4QixHQUFHLEtBQUssR0FDdkMsR0FBRyxLQUFLLENBQUM7SUFDVixPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsY0FBYztRQUNkLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsb0JBQW9CO1FBQ3BCLFlBQVksRUFBRSxPQUFPLFlBQVksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDckcsOEJBQThCLEVBQzVCLE9BQU8sOEJBQThCLEtBQUssVUFBVTtZQUNsRCxDQUFDLENBQUMsOEJBQThCO1lBQ2hDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDO0tBQzVELENBQUM7QUFDSixDQUFDO0FBdkJELGtFQXVCQztBQUVZLFFBQUEsNEJBQTRCLEdBQUcsdUJBQXVCLENBQUM7QUFDdkQsUUFBQSw0QkFBNEIsR0FBRyxtQkFBbUIsQ0FBQztBQUVuRCxRQUFBLDhDQUE4QyxHQUFHLDBDQUEwQyxDQUFDO0FBQzVGLFFBQUEsOENBQThDLEdBQUcsc0NBQXNDLENBQUM7QUFPeEYsUUFBQSxrQ0FBa0MsR0FBbUM7SUFDaEYsMkJBQTJCLEVBQUUsQ0FBQyxHQUFzQixFQUFFLEVBQUU7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsb0NBQTRCLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUMvRixJQUFJLEdBQUcsQ0FBQyxvQ0FBNEIsQ0FBQyxLQUFLLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUM5RCxJQUFJLEdBQUcsQ0FBQyxvQ0FBNEIsQ0FBQyxLQUFLLE9BQU87WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNoRSxNQUFNLElBQUksS0FBSyxDQUNiLG1CQUFtQixvQ0FBNEIscUNBQXFDLEdBQUcsQ0FBQyxvQ0FBNEIsQ0FBQyxHQUFHLENBQ3pILENBQUM7SUFDSixDQUFDO0lBQ0Qsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxvQ0FBNEIsQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ25HLElBQUksT0FBTyxDQUFDLG9DQUE0QixDQUFDLEtBQUssTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2xFLElBQUksT0FBTyxDQUFDLG9DQUE0QixDQUFDLEtBQUssT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUNBQW1DLG9DQUE0QixxQ0FBcUMsT0FBTyxDQUFDLG9DQUE0QixDQUFDLEdBQUcsQ0FDN0ksQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSztDQUNmLENBQUM7QUFFVyxRQUFBLG9EQUFvRCxHQUFtQztJQUNsRywyQkFBMkIsRUFBRSxDQUFDLEdBQXNCLEVBQUUsRUFBRTtRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxzREFBOEMsQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2pILElBQUksR0FBRyxDQUFDLHNEQUE4QyxDQUFDLEtBQUssTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2hGLElBQUksR0FBRyxDQUFDLHNEQUE4QyxDQUFDLEtBQUssT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ2xGLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUJBQW1CLHNEQUE4QyxxQ0FBcUMsR0FBRyxDQUFDLHNEQUE4QyxDQUFDLEdBQUcsQ0FDN0osQ0FBQztJQUNKLENBQUM7SUFDRCxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLHNEQUE4QyxDQUFDO1lBQ2hHLE9BQU8sU0FBUyxDQUFDO1FBQ25CLElBQUksT0FBTyxDQUFDLHNEQUE4QyxDQUFDLEtBQUssTUFBTTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3BGLElBQUksT0FBTyxDQUFDLHNEQUE4QyxDQUFDLEtBQUssT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUNBQW1DLHNEQUE4QyxxQ0FBcUMsT0FBTyxDQUFDLHNEQUE4QyxDQUFDLEdBQUcsQ0FDakwsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSztDQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkZWRDb25maWdTZWxlY3RvcnMgfSBmcm9tIFwiQGF3cy1zZGsvbm9kZS1jb25maWctcHJvdmlkZXJcIjtcbmltcG9ydCB7IFByb3ZpZGVyLCBSZWdpb25JbmZvUHJvdmlkZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRFbmRwb2ludElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHByb3ZpZGVkIGVuZHBvaW50IGFkZHJlc3NlcyBhbiBpbmRpdmlkdWFsIGJ1Y2tldC5cbiAgICovXG4gIGJ1Y2tldEVuZHBvaW50PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZm9yY2UgcGF0aCBzdHlsZSBVUkxzIGZvciBTMyBvYmplY3RzIChlLmcuLCBodHRwczovL3MzLmFtYXpvbmF3cy5jb20vPGJ1Y2tldE5hbWU+LzxrZXk+IGluc3RlYWQgb2YgaHR0cHM6Ly88YnVja2V0TmFtZT4uczMuYW1hem9uYXdzLmNvbS88a2V5PlxuICAgKi9cbiAgZm9yY2VQYXRoU3R5bGU/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byB1c2UgdGhlIFMzIFRyYW5zZmVyIEFjY2VsZXJhdGlvbiBlbmRwb2ludCBieSBkZWZhdWx0XG4gICAqL1xuICB1c2VBY2NlbGVyYXRlRW5kcG9pbnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlcyBJUHY2L0lQdjQgZHVhbHN0YWNrIGVuZHBvaW50LiBXaGVuIGEgRE5TIGxvb2t1cCBpcyBwZXJmb3JtZWQgb24gYW4gZW5kcG9pbnQgb2YgdGhpcyB0eXBlLCBpdCByZXR1cm5zIGFuIOKAnEHigJ1cbiAgICogcmVjb3JkIHdpdGggYW4gSVB2NCBhZGRyZXNzIGFuZCBhbiDigJxBQUFB4oCdIHJlY29yZCB3aXRoIGFuIElQdjYgYWRkcmVzcy4gSW4gbW9zdCBjYXNlcyB0aGUgbmV0d29yayBzdGFjayBpbiB0aGVcbiAgICogY2xpZW50IGVudmlyb25tZW50IHdpbGwgYXV0b21hdGljYWxseSBwcmVmZXIgdGhlIEFBQUEgcmVjb3JkIGFuZCBtYWtlIGEgY29ubmVjdGlvbiB1c2luZyB0aGUgSVB2NiBhZGRyZXNzLiBOb3RlLFxuICAgKiBob3dldmVyLCB0aGF0IGN1cnJlbnRseSBvbiBXaW5kb3dzLCB0aGUgSVB2NCBhZGRyZXNzIHdpbGwgYmUgcHJlZmVycmVkLlxuICAgKi9cbiAgdXNlRHVhbHN0YWNrRW5kcG9pbnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBvdmVycmlkZSB0aGUgcmVxdWVzdCByZWdpb24gd2l0aCB0aGUgcmVnaW9uIGluZmVycmVkIGZyb20gcmVxdWVzdGVkIHJlc291cmNlJ3MgQVJOLiBEZWZhdWx0cyB0byBmYWxzZVxuICAgKi9cbiAgdXNlQXJuUmVnaW9uPzogYm9vbGVhbiB8IFByb3ZpZGVyPGJvb2xlYW4+O1xuICAvKipcbiAgICogV2hldGhlciB0byBwcmV2ZW50IFNESyBmcm9tIG1ha2luZyBjcm9zcy1yZWdpb24gcmVxdWVzdCB3aGVuIHN1cHBsaWVkIGJ1Y2tldCBpcyBhIG11bHRpLXJlZ2lvbiBhY2Nlc3MgcG9pbnQgQVJOLlxuICAgKiBEZWZhdWx0cyB0byBmYWxzZVxuICAgKi9cbiAgZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzPzogYm9vbGVhbiB8IFByb3ZpZGVyPGJvb2xlYW4+O1xufVxuXG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHtcbiAgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbjtcbiAgcmVnaW9uOiBQcm92aWRlcjxzdHJpbmc+O1xuICByZWdpb25JbmZvUHJvdmlkZXI6IFJlZ2lvbkluZm9Qcm92aWRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRFbmRwb2ludFJlc29sdmVkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGVuZHBvaW50IGlzIHNwZWNpZmllZCBieSBjYWxsZXIuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgaXNDdXN0b21FbmRwb2ludDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEJ1Y2tldEVuZHBvaW50SW5wdXRDb25maWcuYnVja2V0RW5kcG9pbnR9XG4gICAqL1xuICBidWNrZXRFbmRwb2ludDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEJ1Y2tldEVuZHBvaW50SW5wdXRDb25maWcuZm9yY2VQYXRoU3R5bGV9XG4gICAqL1xuICBmb3JjZVBhdGhTdHlsZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFJlc29sdmVkIHZhbHVlIGZvciBpbnB1dCBjb25maWcge0BsaW5rIEJ1Y2tldEVuZHBvaW50SW5wdXRDb25maWcudXNlQWNjZWxlcmF0ZUVuZHBvaW50fVxuICAgKi9cbiAgdXNlQWNjZWxlcmF0ZUVuZHBvaW50OiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQnVja2V0RW5kcG9pbnRJbnB1dENvbmZpZy51c2VEdWFsc3RhY2tFbmRwb2ludH1cbiAgICovXG4gIHVzZUR1YWxzdGFja0VuZHBvaW50OiBib29sZWFuO1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgQnVja2V0RW5kcG9pbnRJbnB1dENvbmZpZy51c2VBcm5SZWdpb259XG4gICAqL1xuICB1c2VBcm5SZWdpb246IFByb3ZpZGVyPGJvb2xlYW4+O1xuICAvKipcbiAgICogUmVzb2x2ZWQgdmFsdWUgZm9yIGlucHV0IGNvbmZpZyB7QGxpbmsgUmVnaW9uSW5wdXRDb25maWcucmVnaW9ufVxuICAgKi9cbiAgcmVnaW9uOiBQcm92aWRlcjxzdHJpbmc+O1xuICAvKipcbiAgICogRmV0Y2ggcmVsYXRlZCBob3N0bmFtZSwgc2lnbmluZyBuYW1lIG9yIHNpZ25pbmcgcmVnaW9uIHdpdGggZ2l2ZW4gcmVnaW9uLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHJlZ2lvbkluZm9Qcm92aWRlcjogUmVnaW9uSW5mb1Byb3ZpZGVyO1xuICBkaXNhYmxlTXVsdGlyZWdpb25BY2Nlc3NQb2ludHM6IFByb3ZpZGVyPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUJ1Y2tldEVuZHBvaW50Q29uZmlnPFQ+KFxuICBpbnB1dDogVCAmIFByZXZpb3VzbHlSZXNvbHZlZCAmIEJ1Y2tldEVuZHBvaW50SW5wdXRDb25maWdcbik6IFQgJiBCdWNrZXRFbmRwb2ludFJlc29sdmVkQ29uZmlnIHtcbiAgY29uc3Qge1xuICAgIGJ1Y2tldEVuZHBvaW50ID0gZmFsc2UsXG4gICAgZm9yY2VQYXRoU3R5bGUgPSBmYWxzZSxcbiAgICB1c2VBY2NlbGVyYXRlRW5kcG9pbnQgPSBmYWxzZSxcbiAgICB1c2VEdWFsc3RhY2tFbmRwb2ludCA9IGZhbHNlLFxuICAgIHVzZUFyblJlZ2lvbiA9IGZhbHNlLFxuICAgIGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50cyA9IGZhbHNlLFxuICB9ID0gaW5wdXQ7XG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgYnVja2V0RW5kcG9pbnQsXG4gICAgZm9yY2VQYXRoU3R5bGUsXG4gICAgdXNlQWNjZWxlcmF0ZUVuZHBvaW50LFxuICAgIHVzZUR1YWxzdGFja0VuZHBvaW50LFxuICAgIHVzZUFyblJlZ2lvbjogdHlwZW9mIHVzZUFyblJlZ2lvbiA9PT0gXCJmdW5jdGlvblwiID8gdXNlQXJuUmVnaW9uIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHVzZUFyblJlZ2lvbiksXG4gICAgZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzOlxuICAgICAgdHlwZW9mIGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50cyA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgID8gZGlzYWJsZU11bHRpcmVnaW9uQWNjZXNzUG9pbnRzXG4gICAgICAgIDogKCkgPT4gUHJvbWlzZS5yZXNvbHZlKGRpc2FibGVNdWx0aXJlZ2lvbkFjY2Vzc1BvaW50cyksXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBOT0RFX1VTRV9BUk5fUkVHSU9OX0VOVl9OQU1FID0gXCJBV1NfUzNfVVNFX0FSTl9SRUdJT05cIjtcbmV4cG9ydCBjb25zdCBOT0RFX1VTRV9BUk5fUkVHSU9OX0lOSV9OQU1FID0gXCJzM191c2VfYXJuX3JlZ2lvblwiO1xuXG5leHBvcnQgY29uc3QgTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9FTlZfTkFNRSA9IFwiQVdTX1MzX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UU1wiO1xuZXhwb3J0IGNvbnN0IE5PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfSU5JX05BTUUgPSBcInMzX2Rpc2FibGVfbXVsdGlyZWdpb25fYWNjZXNzX3BvaW50c1wiO1xuXG4vKipcbiAqIENvbmZpZyB0byBsb2FkIHVzZUFyblJlZ2lvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcyBhbmQgc2hhcmVkIElOSSBmaWxlc1xuICpcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgTk9ERV9VU0VfQVJOX1JFR0lPTl9DT05GSUdfT1BUSU9OUzogTG9hZGVkQ29uZmlnU2VsZWN0b3JzPGJvb2xlYW4+ID0ge1xuICBlbnZpcm9ubWVudFZhcmlhYmxlU2VsZWN0b3I6IChlbnY6IE5vZGVKUy5Qcm9jZXNzRW52KSA9PiB7XG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZW52LCBOT0RFX1VTRV9BUk5fUkVHSU9OX0VOVl9OQU1FKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBpZiAoZW52W05PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUVdID09PSBcInRydWVcIikgcmV0dXJuIHRydWU7XG4gICAgaWYgKGVudltOT0RFX1VTRV9BUk5fUkVHSU9OX0VOVl9OQU1FXSA9PT0gXCJmYWxzZVwiKSByZXR1cm4gZmFsc2U7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENhbm5vdCBsb2FkIGVudiAke05PREVfVVNFX0FSTl9SRUdJT05fRU5WX05BTUV9LiBFeHBlY3RlZCBcInRydWVcIiBvciBcImZhbHNlXCIsIGdvdCAke2VudltOT0RFX1VTRV9BUk5fUkVHSU9OX0VOVl9OQU1FXX0uYFxuICAgICk7XG4gIH0sXG4gIGNvbmZpZ0ZpbGVTZWxlY3RvcjogKHByb2ZpbGUpID0+IHtcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm9maWxlLCBOT0RFX1VTRV9BUk5fUkVHSU9OX0lOSV9OQU1FKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBpZiAocHJvZmlsZVtOT0RFX1VTRV9BUk5fUkVHSU9OX0lOSV9OQU1FXSA9PT0gXCJ0cnVlXCIpIHJldHVybiB0cnVlO1xuICAgIGlmIChwcm9maWxlW05PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUVdID09PSBcImZhbHNlXCIpIHJldHVybiBmYWxzZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ2Fubm90IGxvYWQgc2hhcmVkIGNvbmZpZyBlbnRyeSAke05PREVfVVNFX0FSTl9SRUdJT05fSU5JX05BTUV9LiBFeHBlY3RlZCBcInRydWVcIiBvciBcImZhbHNlXCIsIGdvdCAke3Byb2ZpbGVbTk9ERV9VU0VfQVJOX1JFR0lPTl9JTklfTkFNRV19LmBcbiAgICApO1xuICB9LFxuICBkZWZhdWx0OiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0NPTkZJR19PUFRJT05TOiBMb2FkZWRDb25maWdTZWxlY3RvcnM8Ym9vbGVhbj4gPSB7XG4gIGVudmlyb25tZW50VmFyaWFibGVTZWxlY3RvcjogKGVudjogTm9kZUpTLlByb2Nlc3NFbnYpID0+IHtcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlbnYsIE5PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfRU5WX05BTUUpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChlbnZbTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9FTlZfTkFNRV0gPT09IFwidHJ1ZVwiKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoZW52W05PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfRU5WX05BTUVdID09PSBcImZhbHNlXCIpIHJldHVybiBmYWxzZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ2Fubm90IGxvYWQgZW52ICR7Tk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9FTlZfTkFNRX0uIEV4cGVjdGVkIFwidHJ1ZVwiIG9yIFwiZmFsc2VcIiwgZ290ICR7ZW52W05PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfRU5WX05BTUVdfS5gXG4gICAgKTtcbiAgfSxcbiAgY29uZmlnRmlsZVNlbGVjdG9yOiAocHJvZmlsZSkgPT4ge1xuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb2ZpbGUsIE5PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfSU5JX05BTUUpKVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBpZiAocHJvZmlsZVtOT0RFX0RJU0FCTEVfTVVMVElSRUdJT05fQUNDRVNTX1BPSU5UX0lOSV9OQU1FXSA9PT0gXCJ0cnVlXCIpIHJldHVybiB0cnVlO1xuICAgIGlmIChwcm9maWxlW05PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfSU5JX05BTUVdID09PSBcImZhbHNlXCIpIHJldHVybiBmYWxzZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ2Fubm90IGxvYWQgc2hhcmVkIGNvbmZpZyBlbnRyeSAke05PREVfRElTQUJMRV9NVUxUSVJFR0lPTl9BQ0NFU1NfUE9JTlRfSU5JX05BTUV9LiBFeHBlY3RlZCBcInRydWVcIiBvciBcImZhbHNlXCIsIGdvdCAke3Byb2ZpbGVbTk9ERV9ESVNBQkxFX01VTFRJUkVHSU9OX0FDQ0VTU19QT0lOVF9JTklfTkFNRV19LmBcbiAgICApO1xuICB9LFxuICBkZWZhdWx0OiBmYWxzZSxcbn07XG4iXX0=
package/dist/cjs/index.js CHANGED
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateNoFIPS = exports.validateNoDualstack = exports.validateDNSHostLabel = exports.validateRegion = exports.validateAccountId = exports.validatePartition = exports.validateOutpostService = exports.getSuffixForArnEndpoint = exports.getPseudoRegion = exports.getArnResources = void 0;
4
4
  const tslib_1 = require("tslib");
5
- (0, tslib_1.__exportStar)(require("./bucketEndpointMiddleware"), exports);
6
- (0, tslib_1.__exportStar)(require("./bucketHostname"), exports);
7
- (0, tslib_1.__exportStar)(require("./configurations"), exports);
5
+ tslib_1.__exportStar(require("./bucketEndpointMiddleware"), exports);
6
+ tslib_1.__exportStar(require("./bucketHostname"), exports);
7
+ tslib_1.__exportStar(require("./configurations"), exports);
8
8
  var bucketHostnameUtils_1 = require("./bucketHostnameUtils");
9
9
  Object.defineProperty(exports, "getArnResources", { enumerable: true, get: function () { return bucketHostnameUtils_1.getArnResources; } });
10
10
  Object.defineProperty(exports, "getPseudoRegion", { enumerable: true, get: function () { return bucketHostnameUtils_1.getPseudoRegion; } });
@@ -16,4 +16,4 @@ Object.defineProperty(exports, "validateRegion", { enumerable: true, get: functi
16
16
  Object.defineProperty(exports, "validateDNSHostLabel", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateDNSHostLabel; } });
17
17
  Object.defineProperty(exports, "validateNoDualstack", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateNoDualstack; } });
18
18
  Object.defineProperty(exports, "validateNoFIPS", { enumerable: true, get: function () { return bucketHostnameUtils_1.validateNoFIPS; } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDBFQUEyQztBQUMzQyxnRUFBaUM7QUFDakMsZ0VBQWlDO0FBQ2pDLDZEQVcrQjtBQVY3QixzSEFBQSxlQUFlLE9BQUE7QUFDZixzSEFBQSxlQUFlLE9BQUE7QUFDZiw4SEFBQSx1QkFBdUIsT0FBQTtBQUN2Qiw2SEFBQSxzQkFBc0IsT0FBQTtBQUN0Qix3SEFBQSxpQkFBaUIsT0FBQTtBQUNqQix3SEFBQSxpQkFBaUIsT0FBQTtBQUNqQixxSEFBQSxjQUFjLE9BQUE7QUFDZCwySEFBQSxvQkFBb0IsT0FBQTtBQUNwQiwwSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixxSEFBQSxjQUFjLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idWNrZXRFbmRwb2ludE1pZGRsZXdhcmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuZXhwb3J0IHtcbiAgZ2V0QXJuUmVzb3VyY2VzLFxuICBnZXRQc2V1ZG9SZWdpb24sXG4gIGdldFN1ZmZpeEZvckFybkVuZHBvaW50LFxuICB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlLFxuICB2YWxpZGF0ZVBhcnRpdGlvbixcbiAgdmFsaWRhdGVBY2NvdW50SWQsXG4gIHZhbGlkYXRlUmVnaW9uLFxuICB2YWxpZGF0ZUROU0hvc3RMYWJlbCxcbiAgdmFsaWRhdGVOb0R1YWxzdGFjayxcbiAgdmFsaWRhdGVOb0ZJUFMsXG59IGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lVXRpbHNcIjtcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFFQUEyQztBQUMzQywyREFBaUM7QUFDakMsMkRBQWlDO0FBQ2pDLDZEQVcrQjtBQVY3QixzSEFBQSxlQUFlLE9BQUE7QUFDZixzSEFBQSxlQUFlLE9BQUE7QUFDZiw4SEFBQSx1QkFBdUIsT0FBQTtBQUN2Qiw2SEFBQSxzQkFBc0IsT0FBQTtBQUN0Qix3SEFBQSxpQkFBaUIsT0FBQTtBQUNqQix3SEFBQSxpQkFBaUIsT0FBQTtBQUNqQixxSEFBQSxjQUFjLE9BQUE7QUFDZCwySEFBQSxvQkFBb0IsT0FBQTtBQUNwQiwwSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixxSEFBQSxjQUFjLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idWNrZXRFbmRwb2ludE1pZGRsZXdhcmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuZXhwb3J0IHtcbiAgZ2V0QXJuUmVzb3VyY2VzLFxuICBnZXRQc2V1ZG9SZWdpb24sXG4gIGdldFN1ZmZpeEZvckFybkVuZHBvaW50LFxuICB2YWxpZGF0ZU91dHBvc3RTZXJ2aWNlLFxuICB2YWxpZGF0ZVBhcnRpdGlvbixcbiAgdmFsaWRhdGVBY2NvdW50SWQsXG4gIHZhbGlkYXRlUmVnaW9uLFxuICB2YWxpZGF0ZUROU0hvc3RMYWJlbCxcbiAgdmFsaWRhdGVOb0R1YWxzdGFjayxcbiAgdmFsaWRhdGVOb0ZJUFMsXG59IGZyb20gXCIuL2J1Y2tldEhvc3RuYW1lVXRpbHNcIjtcbiJdfQ==
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-bucket-endpoint",
3
- "version": "3.29.0",
3
+ "version": "3.34.0",
4
4
  "scripts": {
5
+ "build": "yarn build:cjs && yarn build:es && yarn build:types",
5
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
6
7
  "build:es": "tsc -p tsconfig.es.json",
7
- "build": "yarn build:es && yarn build:cjs",
8
+ "build:types": "tsc -p tsconfig.types.json",
8
9
  "downlevel-dts": "downlevel-dts dist/types dist/types/ts3.4",
9
10
  "test": "jest"
10
11
  },
@@ -17,17 +18,17 @@
17
18
  },
18
19
  "license": "Apache-2.0",
19
20
  "dependencies": {
20
- "@aws-sdk/protocol-http": "3.29.0",
21
- "@aws-sdk/types": "3.29.0",
22
- "@aws-sdk/util-arn-parser": "3.29.0",
21
+ "@aws-sdk/protocol-http": "3.34.0",
22
+ "@aws-sdk/types": "3.34.0",
23
+ "@aws-sdk/util-arn-parser": "3.34.0",
23
24
  "tslib": "^2.3.0"
24
25
  },
25
26
  "devDependencies": {
26
- "@aws-sdk/middleware-stack": "3.29.0",
27
- "@aws-sdk/node-config-provider": "3.29.0",
27
+ "@aws-sdk/middleware-stack": "3.34.0",
28
+ "@aws-sdk/node-config-provider": "3.34.0",
28
29
  "@types/jest": "^26.0.4",
29
30
  "jest": "^26.1.0",
30
- "typescript": "~4.4.2"
31
+ "typescript": "~4.3.5"
31
32
  },
32
33
  "engines": {
33
34
  "node": ">= 10.0.0"
package/tsconfig.cjs.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "declarationDir": "./dist/types",
4
- "rootDir": "./src",
5
- "outDir": "./dist/cjs",
6
- "baseUrl": "."
3
+ "baseUrl": ".",
4
+ "outDir": "dist/cjs",
5
+ "rootDir": "src"
7
6
  },
8
7
  "extends": "../../tsconfig.cjs.json",
9
8
  "include": ["src/"]
package/tsconfig.es.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "compilerOptions": {
3
+ "baseUrl": ".",
3
4
  "lib": ["es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"],
4
- "declarationDir": "./dist/types",
5
- "rootDir": "./src",
6
- "outDir": "./dist/es",
7
- "baseUrl": "."
5
+ "outDir": "dist/es",
6
+ "rootDir": "src"
8
7
  },
9
8
  "extends": "../../tsconfig.es.json",
10
9
  "include": ["src/"]
@@ -0,0 +1,9 @@
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "declarationDir": "dist/types",
5
+ "rootDir": "src"
6
+ },
7
+ "extends": "../../tsconfig.types.json",
8
+ "include": ["src/"]
9
+ }