@aws-cdk/region-info 2.12.0 → 2.13.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/lib/default.d.ts CHANGED
@@ -1,27 +1,22 @@
1
1
  /**
2
2
  * Provides default values for certain regional information points.
3
- *
4
- * @stability stable
5
3
  */
6
4
  export declare class Default {
7
5
  /**
8
- * The default value for a VPC Endpoint Service name prefix, useful if you do not have a synthesize-time region literal available (all you have is `{ "Ref": "AWS::Region" }`).
9
- *
10
- * @stability stable
6
+ * The default value for a VPC Endpoint Service name prefix, useful if you do
7
+ * not have a synthesize-time region literal available (all you have is
8
+ * `{ "Ref": "AWS::Region" }`)
11
9
  */
12
10
  static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = "com.amazonaws.vpce";
13
11
  /**
14
- * Computes a "standard" AWS Service principal for a given service, region and suffix.
15
- *
16
- * This is useful for example when
12
+ * Computes a "standard" AWS Service principal for a given service, region and suffix. This is useful for example when
17
13
  * you need to compute a service principal name, but you do not have a synthesize-time region literal available (so
18
14
  * all you have is `{ "Ref": "AWS::Region" }`). This way you get the same defaulting behavior that is normally used
19
15
  * for built-in data.
20
16
  *
21
- * @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...).
22
- * @param region the region in which the service principal is needed.
17
+ * @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...)
18
+ * @param region the region in which the service principal is needed.
23
19
  * @param urlSuffix deprecated and ignored.
24
- * @stability stable
25
20
  */
26
21
  static servicePrincipal(serviceFqn: string, region: string, urlSuffix: string): string;
27
22
  private constructor();
package/lib/default.js CHANGED
@@ -6,23 +6,18 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_entities_1 = require("./aws-entities");
7
7
  /**
8
8
  * Provides default values for certain regional information points.
9
- *
10
- * @stability stable
11
9
  */
12
10
  class Default {
13
11
  constructor() { }
14
12
  /**
15
- * Computes a "standard" AWS Service principal for a given service, region and suffix.
16
- *
17
- * This is useful for example when
13
+ * Computes a "standard" AWS Service principal for a given service, region and suffix. This is useful for example when
18
14
  * you need to compute a service principal name, but you do not have a synthesize-time region literal available (so
19
15
  * all you have is `{ "Ref": "AWS::Region" }`). This way you get the same defaulting behavior that is normally used
20
16
  * for built-in data.
21
17
  *
22
- * @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...).
23
- * @param region the region in which the service principal is needed.
18
+ * @param serviceFqn the name of the service (s3, s3.amazonaws.com, ...)
19
+ * @param region the region in which the service principal is needed.
24
20
  * @param urlSuffix deprecated and ignored.
25
- * @stability stable
26
21
  */
27
22
  static servicePrincipal(serviceFqn, region, urlSuffix) {
28
23
  const serviceName = extractSimpleName(serviceFqn);
@@ -110,15 +105,15 @@ class Default {
110
105
  }
111
106
  exports.Default = Default;
112
107
  _a = JSII_RTTI_SYMBOL_1;
113
- Default[_a] = { fqn: "@aws-cdk/region-info.Default", version: "2.12.0" };
108
+ Default[_a] = { fqn: "@aws-cdk/region-info.Default", version: "2.13.0" };
114
109
  /**
115
- * The default value for a VPC Endpoint Service name prefix, useful if you do not have a synthesize-time region literal available (all you have is `{ "Ref": "AWS::Region" }`).
116
- *
117
- * @stability stable
110
+ * The default value for a VPC Endpoint Service name prefix, useful if you do
111
+ * not have a synthesize-time region literal available (all you have is
112
+ * `{ "Ref": "AWS::Region" }`)
118
113
  */
119
114
  Default.VPC_ENDPOINT_SERVICE_NAME_PREFIX = 'com.amazonaws.vpce';
120
115
  function extractSimpleName(serviceFqn) {
121
116
  const matches = serviceFqn.match(/^([^.]+)(?:(?:\.amazonaws\.com(?:\.cn)?)|(?:\.c2s\.ic\.gov)|(?:\.sc2s\.sgov\.gov))?$/);
122
117
  return matches ? matches[1] : undefined;
123
118
  }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBMEU7Ozs7OztBQUcxRSxNQUFhLE9BQU87SUFvR2xCLGlCQUF5Qjs7Ozs7Ozs7Ozs7Ozs7SUE5RmxCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFrQixFQUFFLE1BQWMsRUFBRSxTQUFpQjtRQUNsRixNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLGtFQUFrRTtZQUNsRSxPQUFPO1lBQ1AscUJBQXFCO1lBQ3JCLHdCQUF3QjtZQUN4QixrQkFBa0I7WUFDbEIscUJBQXFCO1lBQ3JCLE9BQU8sVUFBVSxDQUFDO1NBQ25CO1FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxPQUFlO1lBQzdDLFNBQVMsU0FBUyxDQUFDLENBQVMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1lBQy9ELFNBQVMsV0FBVyxDQUFDLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQUEsQ0FBQztZQUM5RSxTQUFTLFFBQVEsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxJQUFJLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1lBQzlFLFNBQVMsbUJBQW1CLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQUEsQ0FBQztZQUUzRixnREFBZ0Q7WUFDaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDaEMsVUFBVTtnQkFDVixRQUFRO2dCQUNSLFFBQVE7Z0JBQ1IsWUFBWTthQUNiLENBQUMsQ0FBQztZQUVILHFFQUFxRTtZQUNyRSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNsRSxRQUFRLE9BQU8sRUFBRTtvQkFDZixvQ0FBb0M7b0JBQ3BDLEtBQUssQ0FBQyxRQUFRLENBQUM7d0JBQ2IsT0FBTyxTQUFTLENBQUM7b0JBRW5CLHdDQUF3QztvQkFDeEM7d0JBQ0UsT0FBTyxXQUFXLENBQUM7aUJBQ3RCO2FBQ0Y7WUFFRCxpREFBaUQ7WUFDakQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDakMsS0FBSztnQkFDTCxRQUFRO2FBQ1QsQ0FBQyxDQUFDO1lBRUgsc0VBQXNFO1lBQ3RFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3BFLFFBQVEsT0FBTyxFQUFFO29CQUNmLG9DQUFvQztvQkFDcEMsS0FBSyxDQUFDLFFBQVEsQ0FBQzt3QkFDYixPQUFPLFNBQVMsQ0FBQztvQkFFbkIsd0NBQXdDO29CQUN4Qzt3QkFDRSxPQUFPLFdBQVcsQ0FBQztpQkFDdEI7YUFDRjtZQUVELFFBQVEsT0FBTyxFQUFFO2dCQUNmLG1EQUFtRDtnQkFDbkQsS0FBSyxLQUFLO29CQUNSLE9BQU8scUJBQU0sQ0FBQyxNQUFNLEVBQUUsK0NBQWdDLENBQUM7d0JBQ3JELENBQUMsQ0FBQyxTQUFTO3dCQUNYLENBQUMsQ0FBQyxRQUFRLENBQUM7Z0JBRWYsMEVBQTBFO2dCQUMxRSxLQUFLLFlBQVk7b0JBQ2YsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQzt3QkFDN0IsQ0FBQyxDQUFDLG1CQUFtQjt3QkFDckIsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFFZixxREFBcUQ7Z0JBQ3JELEtBQUssTUFBTTtvQkFDVCxPQUFPLG1CQUFtQixDQUFDO2dCQUU3QixxQ0FBcUM7Z0JBQ3JDLEtBQUssUUFBUTtvQkFDWCxPQUFPLFFBQVEsQ0FBQztnQkFFbEIsd0NBQXdDO2dCQUN4QyxLQUFLLEtBQUs7b0JBQ1IsT0FBTyxXQUFXLENBQUM7Z0JBRXJCLHVGQUF1RjtnQkFDdkY7b0JBQ0UsT0FBTyxTQUFTLENBQUM7YUFFcEI7UUFDSCxDQUFDO1FBQUEsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLHNCQUFzQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELE9BQU8sYUFBYSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDdEQ7O0FBbEdILDBCQXFHQzs7Ozs7Ozs7QUFsR3dCLHdDQUFnQyxHQUFHLG9CQUFvQixDQUFDO0FBb0dqRixTQUFTLGlCQUFpQixDQUFDLFVBQWtCO0lBQzNDLE1BQU0sT0FBTyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsc0ZBQXNGLENBQUMsQ0FBQztJQUN6SCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJlZm9yZSwgUlVMRV9TU01fUFJJTkNJUEFMU19BUkVfUkVHSU9OQUwgfSBmcm9tICcuL2F3cy1lbnRpdGllcyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIERlZmF1bHQge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBWUENfRU5EUE9JTlRfU0VSVklDRV9OQU1FX1BSRUZJWCA9ICdjb20uYW1hem9uYXdzLnZwY2UnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHNlcnZpY2VQcmluY2lwYWwoc2VydmljZUZxbjogc3RyaW5nLCByZWdpb246IHN0cmluZywgdXJsU3VmZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNlcnZpY2VOYW1lID0gZXh0cmFjdFNpbXBsZU5hbWUoc2VydmljZUZxbik7XG4gICAgaWYgKCFzZXJ2aWNlTmFtZSkge1xuICAgICAgLy8gUmV0dXJuIFwic2VydmljZVwiIGlmIGl0IGRvZXMgbm90IGxvb2sgbGlrZSBhbnkgb2YgdGhlIGZvbGxvd2luZzpcbiAgICAgIC8vIC0gczNcbiAgICAgIC8vIC0gczMuYW1hem9uYXdzLmNvbVxuICAgICAgLy8gLSBzMy5hbWF6b25hd3MuY29tLmNuXG4gICAgICAvLyAtIHMzLmMycy5pYy5nb3ZcbiAgICAgIC8vIC0gczMuc2Mycy5zZ292LmdvdlxuICAgICAgcmV0dXJuIHNlcnZpY2VGcW47XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZGV0ZXJtaW5lQ29uZmlndXJhdGlvbihzZXJ2aWNlOiBzdHJpbmcpOiAoc2VydmljZTogc3RyaW5nLCByZWdpb246IHN0cmluZywgdXJsU3VmZml4OiBzdHJpbmcpID0+IHN0cmluZyB7XG4gICAgICBmdW5jdGlvbiB1bml2ZXJzYWwoczogc3RyaW5nKSB7IHJldHVybiBgJHtzfS5hbWF6b25hd3MuY29tYDsgfTtcbiAgICAgIGZ1bmN0aW9uIHBhcnRpdGlvbmFsKHM6IHN0cmluZywgXzogc3RyaW5nLCB1OiBzdHJpbmcpIHsgcmV0dXJuIGAke3N9LiR7dX1gOyB9O1xuICAgICAgZnVuY3Rpb24gcmVnaW9uYWwoczogc3RyaW5nLCByOiBzdHJpbmcpIHsgcmV0dXJuIGAke3N9LiR7cn0uYW1hem9uYXdzLmNvbWA7IH07XG4gICAgICBmdW5jdGlvbiByZWdpb25hbFBhcnRpdGlvbmFsKHM6IHN0cmluZywgcjogc3RyaW5nLCB1OiBzdHJpbmcpIHsgcmV0dXJuIGAke3N9LiR7cn0uJHt1fWA7IH07XG5cbiAgICAgIC8vIEV4Y2VwdGlvbnMgZm9yIFNlcnZpY2UgUHJpbmNpcGFscyBpbiB1cy1pc28tKlxuICAgICAgY29uc3QgVVNfSVNPX0VYQ0VQVElPTlMgPSBuZXcgU2V0KFtcbiAgICAgICAgJ2Nsb3VkaHNtJyxcbiAgICAgICAgJ2NvbmZpZycsXG4gICAgICAgICdzdGF0ZXMnLFxuICAgICAgICAnd29ya3NwYWNlcycsXG4gICAgICBdKTtcblxuICAgICAgLy8gQWNjb3VudCBmb3IgaWRpb3N5bmNyYXRpYyBTZXJ2aWNlIFByaW5jaXBhbHMgaW4gYHVzLWlzby0qYCByZWdpb25zXG4gICAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgoJ3VzLWlzby0nKSAmJiBVU19JU09fRVhDRVBUSU9OUy5oYXMoc2VydmljZSkpIHtcbiAgICAgICAgc3dpdGNoIChzZXJ2aWNlKSB7XG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCB1bml2ZXJzYWwgcHJpbmNpcGFsXG4gICAgICAgICAgY2FzZSAoJ3N0YXRlcycpOlxuICAgICAgICAgICAgcmV0dXJuIHVuaXZlcnNhbDtcblxuICAgICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSBwYXJ0aXRpb25hbCBwcmluY2lwYWxcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHBhcnRpdGlvbmFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEV4Y2VwdGlvbnMgZm9yIFNlcnZpY2UgUHJpbmNpcGFscyBpbiB1cy1pc29iLSpcbiAgICAgIGNvbnN0IFVTX0lTT0JfRVhDRVBUSU9OUyA9IG5ldyBTZXQoW1xuICAgICAgICAnZG1zJyxcbiAgICAgICAgJ3N0YXRlcycsXG4gICAgICBdKTtcblxuICAgICAgLy8gQWNjb3VudCBmb3IgaWRpb3N5bmNyYXRpYyBTZXJ2aWNlIFByaW5jaXBhbHMgaW4gYHVzLWlzb2ItKmAgcmVnaW9uc1xuICAgICAgaWYgKHJlZ2lvbi5zdGFydHNXaXRoKCd1cy1pc29iLScpICYmIFVTX0lTT0JfRVhDRVBUSU9OUy5oYXMoc2VydmljZSkpIHtcbiAgICAgICAgc3dpdGNoIChzZXJ2aWNlKSB7XG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCB1bml2ZXJzYWwgcHJpbmNpcGFsXG4gICAgICAgICAgY2FzZSAoJ3N0YXRlcycpOlxuICAgICAgICAgICAgcmV0dXJuIHVuaXZlcnNhbDtcblxuICAgICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSBwYXJ0aXRpb25hbCBwcmluY2lwYWxcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHBhcnRpdGlvbmFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHN3aXRjaCAoc2VydmljZSkge1xuICAgICAgICAvLyBTU00gdHVybmVkIGZyb20gZ2xvYmFsIHRvIHJlZ2lvbmFsIGF0IHNvbWUgcG9pbnRcbiAgICAgICAgY2FzZSAnc3NtJzpcbiAgICAgICAgICByZXR1cm4gYmVmb3JlKHJlZ2lvbiwgUlVMRV9TU01fUFJJTkNJUEFMU19BUkVfUkVHSU9OQUwpXG4gICAgICAgICAgICA/IHVuaXZlcnNhbFxuICAgICAgICAgICAgOiByZWdpb25hbDtcblxuICAgICAgICAvLyBDb2RlRGVwbG95IGlzIHJlZ2lvbmFsK3BhcnRpdGlvbmFsIGluIENOLCBvbmx5IHJlZ2lvbmFsIGV2ZXJ5d2hlcmUgZWxzZVxuICAgICAgICBjYXNlICdjb2RlZGVwbG95JzpcbiAgICAgICAgICByZXR1cm4gcmVnaW9uLnN0YXJ0c1dpdGgoJ2NuLScpXG4gICAgICAgICAgICA/IHJlZ2lvbmFsUGFydGl0aW9uYWxcbiAgICAgICAgICAgIDogcmVnaW9uYWw7XG5cbiAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHJlZ2lvbmFsIEFORCBwYXJ0aXRpb25hbCBwcmluY2lwYWxcbiAgICAgICAgY2FzZSAnbG9ncyc6XG4gICAgICAgICAgcmV0dXJuIHJlZ2lvbmFsUGFydGl0aW9uYWw7XG5cbiAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHJlZ2lvbmFsIHByaW5jaXBhbFxuICAgICAgICBjYXNlICdzdGF0ZXMnOlxuICAgICAgICAgIHJldHVybiByZWdpb25hbDtcblxuICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIGEgcGFydGl0aW9uYWwgcHJpbmNpcGFsXG4gICAgICAgIGNhc2UgJ2VjMic6XG4gICAgICAgICAgcmV0dXJuIHBhcnRpdGlvbmFsO1xuXG4gICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSB1bml2ZXJzYWwgcHJpbmNpcGFsIGFjcm9zcyBhbGwgcmVnaW9ucy9wYXJ0aXRpb25zICh0aGUgZGVmYXVsdCBjYXNlKVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiB1bml2ZXJzYWw7XG5cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGRldGVybWluZUNvbmZpZ3VyYXRpb24oc2VydmljZU5hbWUpO1xuICAgIHJldHVybiBjb25maWd1cmF0aW9uKHNlcnZpY2VOYW1lLCByZWdpb24sIHVybFN1ZmZpeCk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkgeyB9XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RTaW1wbGVOYW1lKHNlcnZpY2VGcW46IHN0cmluZykge1xuICBjb25zdCBtYXRjaGVzID0gc2VydmljZUZxbi5tYXRjaCgvXihbXi5dKykoPzooPzpcXC5hbWF6b25hd3NcXC5jb20oPzpcXC5jbik/KXwoPzpcXC5jMnNcXC5pY1xcLmdvdil8KD86XFwuc2Myc1xcLnNnb3ZcXC5nb3YpKT8kLyk7XG4gIHJldHVybiBtYXRjaGVzID8gbWF0Y2hlc1sxXSA6IHVuZGVmaW5lZDtcbn1cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpREFBMEU7QUFFMUU7O0dBRUc7QUFDSCxNQUFhLE9BQU87SUFpSGxCLGlCQUF5QjtJQXhHekI7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsTUFBYyxFQUFFLFNBQWlCO1FBQ2xGLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsa0VBQWtFO1lBQ2xFLE9BQU87WUFDUCxxQkFBcUI7WUFDckIsd0JBQXdCO1lBQ3hCLGtCQUFrQjtZQUNsQixxQkFBcUI7WUFDckIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxTQUFTLHNCQUFzQixDQUFDLE9BQWU7WUFDN0MsU0FBUyxTQUFTLENBQUMsQ0FBUyxJQUFJLE9BQU8sR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUFBLENBQUM7WUFDL0QsU0FBUyxXQUFXLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1lBQzlFLFNBQVMsUUFBUSxDQUFDLENBQVMsRUFBRSxDQUFTLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUFBLENBQUM7WUFDOUUsU0FBUyxtQkFBbUIsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFBQSxDQUFDO1lBRTNGLGdEQUFnRDtZQUNoRCxNQUFNLGlCQUFpQixHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNoQyxVQUFVO2dCQUNWLFFBQVE7Z0JBQ1IsUUFBUTtnQkFDUixZQUFZO2FBQ2IsQ0FBQyxDQUFDO1lBRUgscUVBQXFFO1lBQ3JFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ2xFLFFBQVEsT0FBTyxFQUFFO29CQUNmLG9DQUFvQztvQkFDcEMsS0FBSyxDQUFDLFFBQVEsQ0FBQzt3QkFDYixPQUFPLFNBQVMsQ0FBQztvQkFFbkIsd0NBQXdDO29CQUN4Qzt3QkFDRSxPQUFPLFdBQVcsQ0FBQztpQkFDdEI7YUFDRjtZQUVELGlEQUFpRDtZQUNqRCxNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNqQyxLQUFLO2dCQUNMLFFBQVE7YUFDVCxDQUFDLENBQUM7WUFFSCxzRUFBc0U7WUFDdEUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDcEUsUUFBUSxPQUFPLEVBQUU7b0JBQ2Ysb0NBQW9DO29CQUNwQyxLQUFLLENBQUMsUUFBUSxDQUFDO3dCQUNiLE9BQU8sU0FBUyxDQUFDO29CQUVuQix3Q0FBd0M7b0JBQ3hDO3dCQUNFLE9BQU8sV0FBVyxDQUFDO2lCQUN0QjthQUNGO1lBRUQsUUFBUSxPQUFPLEVBQUU7Z0JBQ2YsbURBQW1EO2dCQUNuRCxLQUFLLEtBQUs7b0JBQ1IsT0FBTyxxQkFBTSxDQUFDLE1BQU0sRUFBRSwrQ0FBZ0MsQ0FBQzt3QkFDckQsQ0FBQyxDQUFDLFNBQVM7d0JBQ1gsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFFZiwwRUFBMEU7Z0JBQzFFLEtBQUssWUFBWTtvQkFDZixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO3dCQUM3QixDQUFDLENBQUMsbUJBQW1CO3dCQUNyQixDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUVmLHFEQUFxRDtnQkFDckQsS0FBSyxNQUFNO29CQUNULE9BQU8sbUJBQW1CLENBQUM7Z0JBRTdCLHFDQUFxQztnQkFDckMsS0FBSyxRQUFRO29CQUNYLE9BQU8sUUFBUSxDQUFDO2dCQUVsQix3Q0FBd0M7Z0JBQ3hDLEtBQUssS0FBSztvQkFDUixPQUFPLFdBQVcsQ0FBQztnQkFFckIsdUZBQXVGO2dCQUN2RjtvQkFDRSxPQUFPLFNBQVMsQ0FBQzthQUVwQjtRQUNILENBQUM7UUFBQSxDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQUcsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUQsT0FBTyxhQUFhLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztLQUN0RDs7QUEvR0gsMEJBa0hDOzs7QUFoSEM7Ozs7R0FJRztBQUNvQix3Q0FBZ0MsR0FBRyxvQkFBb0IsQ0FBQztBQTZHakYsU0FBUyxpQkFBaUIsQ0FBQyxVQUFrQjtJQUMzQyxNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLHNGQUFzRixDQUFDLENBQUM7SUFDekgsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBiZWZvcmUsIFJVTEVfU1NNX1BSSU5DSVBBTFNfQVJFX1JFR0lPTkFMIH0gZnJvbSAnLi9hd3MtZW50aXRpZXMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGRlZmF1bHQgdmFsdWVzIGZvciBjZXJ0YWluIHJlZ2lvbmFsIGluZm9ybWF0aW9uIHBvaW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIERlZmF1bHQge1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBWUEMgRW5kcG9pbnQgU2VydmljZSBuYW1lIHByZWZpeCwgdXNlZnVsIGlmIHlvdSBkb1xuICAgKiBub3QgaGF2ZSBhIHN5bnRoZXNpemUtdGltZSByZWdpb24gbGl0ZXJhbCBhdmFpbGFibGUgKGFsbCB5b3UgaGF2ZSBpc1xuICAgKiBgeyBcIlJlZlwiOiBcIkFXUzo6UmVnaW9uXCIgfWApXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZQQ19FTkRQT0lOVF9TRVJWSUNFX05BTUVfUFJFRklYID0gJ2NvbS5hbWF6b25hd3MudnBjZSc7XG5cbiAgLyoqXG4gICAqIENvbXB1dGVzIGEgXCJzdGFuZGFyZFwiIEFXUyBTZXJ2aWNlIHByaW5jaXBhbCBmb3IgYSBnaXZlbiBzZXJ2aWNlLCByZWdpb24gYW5kIHN1ZmZpeC4gVGhpcyBpcyB1c2VmdWwgZm9yIGV4YW1wbGUgd2hlblxuICAgKiB5b3UgbmVlZCB0byBjb21wdXRlIGEgc2VydmljZSBwcmluY2lwYWwgbmFtZSwgYnV0IHlvdSBkbyBub3QgaGF2ZSBhIHN5bnRoZXNpemUtdGltZSByZWdpb24gbGl0ZXJhbCBhdmFpbGFibGUgKHNvXG4gICAqIGFsbCB5b3UgaGF2ZSBpcyBgeyBcIlJlZlwiOiBcIkFXUzo6UmVnaW9uXCIgfWApLiBUaGlzIHdheSB5b3UgZ2V0IHRoZSBzYW1lIGRlZmF1bHRpbmcgYmVoYXZpb3IgdGhhdCBpcyBub3JtYWxseSB1c2VkXG4gICAqIGZvciBidWlsdC1pbiBkYXRhLlxuICAgKlxuICAgKiBAcGFyYW0gc2VydmljZUZxbiB0aGUgbmFtZSBvZiB0aGUgc2VydmljZSAoczMsIHMzLmFtYXpvbmF3cy5jb20sIC4uLilcbiAgICogQHBhcmFtIHJlZ2lvbiAgICB0aGUgcmVnaW9uIGluIHdoaWNoIHRoZSBzZXJ2aWNlIHByaW5jaXBhbCBpcyBuZWVkZWQuXG4gICAqIEBwYXJhbSB1cmxTdWZmaXggZGVwcmVjYXRlZCBhbmQgaWdub3JlZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2VydmljZVByaW5jaXBhbChzZXJ2aWNlRnFuOiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nLCB1cmxTdWZmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2VydmljZU5hbWUgPSBleHRyYWN0U2ltcGxlTmFtZShzZXJ2aWNlRnFuKTtcbiAgICBpZiAoIXNlcnZpY2VOYW1lKSB7XG4gICAgICAvLyBSZXR1cm4gXCJzZXJ2aWNlXCIgaWYgaXQgZG9lcyBub3QgbG9vayBsaWtlIGFueSBvZiB0aGUgZm9sbG93aW5nOlxuICAgICAgLy8gLSBzM1xuICAgICAgLy8gLSBzMy5hbWF6b25hd3MuY29tXG4gICAgICAvLyAtIHMzLmFtYXpvbmF3cy5jb20uY25cbiAgICAgIC8vIC0gczMuYzJzLmljLmdvdlxuICAgICAgLy8gLSBzMy5zYzJzLnNnb3YuZ292XG4gICAgICByZXR1cm4gc2VydmljZUZxbjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBkZXRlcm1pbmVDb25maWd1cmF0aW9uKHNlcnZpY2U6IHN0cmluZyk6IChzZXJ2aWNlOiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nLCB1cmxTdWZmaXg6IHN0cmluZykgPT4gc3RyaW5nIHtcbiAgICAgIGZ1bmN0aW9uIHVuaXZlcnNhbChzOiBzdHJpbmcpIHsgcmV0dXJuIGAke3N9LmFtYXpvbmF3cy5jb21gOyB9O1xuICAgICAgZnVuY3Rpb24gcGFydGl0aW9uYWwoczogc3RyaW5nLCBfOiBzdHJpbmcsIHU6IHN0cmluZykgeyByZXR1cm4gYCR7c30uJHt1fWA7IH07XG4gICAgICBmdW5jdGlvbiByZWdpb25hbChzOiBzdHJpbmcsIHI6IHN0cmluZykgeyByZXR1cm4gYCR7c30uJHtyfS5hbWF6b25hd3MuY29tYDsgfTtcbiAgICAgIGZ1bmN0aW9uIHJlZ2lvbmFsUGFydGl0aW9uYWwoczogc3RyaW5nLCByOiBzdHJpbmcsIHU6IHN0cmluZykgeyByZXR1cm4gYCR7c30uJHtyfS4ke3V9YDsgfTtcblxuICAgICAgLy8gRXhjZXB0aW9ucyBmb3IgU2VydmljZSBQcmluY2lwYWxzIGluIHVzLWlzby0qXG4gICAgICBjb25zdCBVU19JU09fRVhDRVBUSU9OUyA9IG5ldyBTZXQoW1xuICAgICAgICAnY2xvdWRoc20nLFxuICAgICAgICAnY29uZmlnJyxcbiAgICAgICAgJ3N0YXRlcycsXG4gICAgICAgICd3b3Jrc3BhY2VzJyxcbiAgICAgIF0pO1xuXG4gICAgICAvLyBBY2NvdW50IGZvciBpZGlvc3luY3JhdGljIFNlcnZpY2UgUHJpbmNpcGFscyBpbiBgdXMtaXNvLSpgIHJlZ2lvbnNcbiAgICAgIGlmIChyZWdpb24uc3RhcnRzV2l0aCgndXMtaXNvLScpICYmIFVTX0lTT19FWENFUFRJT05TLmhhcyhzZXJ2aWNlKSkge1xuICAgICAgICBzd2l0Y2ggKHNlcnZpY2UpIHtcbiAgICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIHVuaXZlcnNhbCBwcmluY2lwYWxcbiAgICAgICAgICBjYXNlICgnc3RhdGVzJyk6XG4gICAgICAgICAgICByZXR1cm4gdW5pdmVyc2FsO1xuXG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcGFydGl0aW9uYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRXhjZXB0aW9ucyBmb3IgU2VydmljZSBQcmluY2lwYWxzIGluIHVzLWlzb2ItKlxuICAgICAgY29uc3QgVVNfSVNPQl9FWENFUFRJT05TID0gbmV3IFNldChbXG4gICAgICAgICdkbXMnLFxuICAgICAgICAnc3RhdGVzJyxcbiAgICAgIF0pO1xuXG4gICAgICAvLyBBY2NvdW50IGZvciBpZGlvc3luY3JhdGljIFNlcnZpY2UgUHJpbmNpcGFscyBpbiBgdXMtaXNvYi0qYCByZWdpb25zXG4gICAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgoJ3VzLWlzb2ItJykgJiYgVVNfSVNPQl9FWENFUFRJT05TLmhhcyhzZXJ2aWNlKSkge1xuICAgICAgICBzd2l0Y2ggKHNlcnZpY2UpIHtcbiAgICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIHVuaXZlcnNhbCBwcmluY2lwYWxcbiAgICAgICAgICBjYXNlICgnc3RhdGVzJyk6XG4gICAgICAgICAgICByZXR1cm4gdW5pdmVyc2FsO1xuXG4gICAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gcGFydGl0aW9uYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3dpdGNoIChzZXJ2aWNlKSB7XG4gICAgICAgIC8vIFNTTSB0dXJuZWQgZnJvbSBnbG9iYWwgdG8gcmVnaW9uYWwgYXQgc29tZSBwb2ludFxuICAgICAgICBjYXNlICdzc20nOlxuICAgICAgICAgIHJldHVybiBiZWZvcmUocmVnaW9uLCBSVUxFX1NTTV9QUklOQ0lQQUxTX0FSRV9SRUdJT05BTClcbiAgICAgICAgICAgID8gdW5pdmVyc2FsXG4gICAgICAgICAgICA6IHJlZ2lvbmFsO1xuXG4gICAgICAgIC8vIENvZGVEZXBsb3kgaXMgcmVnaW9uYWwrcGFydGl0aW9uYWwgaW4gQ04sIG9ubHkgcmVnaW9uYWwgZXZlcnl3aGVyZSBlbHNlXG4gICAgICAgIGNhc2UgJ2NvZGVkZXBsb3knOlxuICAgICAgICAgIHJldHVybiByZWdpb24uc3RhcnRzV2l0aCgnY24tJylcbiAgICAgICAgICAgID8gcmVnaW9uYWxQYXJ0aXRpb25hbFxuICAgICAgICAgICAgOiByZWdpb25hbDtcblxuICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIGEgcmVnaW9uYWwgQU5EIHBhcnRpdGlvbmFsIHByaW5jaXBhbFxuICAgICAgICBjYXNlICdsb2dzJzpcbiAgICAgICAgICByZXR1cm4gcmVnaW9uYWxQYXJ0aXRpb25hbDtcblxuICAgICAgICAvLyBTZXJ2aWNlcyB3aXRoIGEgcmVnaW9uYWwgcHJpbmNpcGFsXG4gICAgICAgIGNhc2UgJ3N0YXRlcyc6XG4gICAgICAgICAgcmV0dXJuIHJlZ2lvbmFsO1xuXG4gICAgICAgIC8vIFNlcnZpY2VzIHdpdGggYSBwYXJ0aXRpb25hbCBwcmluY2lwYWxcbiAgICAgICAgY2FzZSAnZWMyJzpcbiAgICAgICAgICByZXR1cm4gcGFydGl0aW9uYWw7XG5cbiAgICAgICAgLy8gU2VydmljZXMgd2l0aCBhIHVuaXZlcnNhbCBwcmluY2lwYWwgYWNyb3NzIGFsbCByZWdpb25zL3BhcnRpdGlvbnMgKHRoZSBkZWZhdWx0IGNhc2UpXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHVuaXZlcnNhbDtcblxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gZGV0ZXJtaW5lQ29uZmlndXJhdGlvbihzZXJ2aWNlTmFtZSk7XG4gICAgcmV0dXJuIGNvbmZpZ3VyYXRpb24oc2VydmljZU5hbWUsIHJlZ2lvbiwgdXJsU3VmZml4KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7IH1cbn1cblxuZnVuY3Rpb24gZXh0cmFjdFNpbXBsZU5hbWUoc2VydmljZUZxbjogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBzZXJ2aWNlRnFuLm1hdGNoKC9eKFteLl0rKSg/Oig/OlxcLmFtYXpvbmF3c1xcLmNvbSg/OlxcLmNuKT8pfCg/OlxcLmMyc1xcLmljXFwuZ292KXwoPzpcXC5zYzJzXFwuc2dvdlxcLmdvdikpPyQvKTtcbiAgcmV0dXJuIG1hdGNoZXMgPyBtYXRjaGVzWzFdIDogdW5kZWZpbmVkO1xufVxuIl19
package/lib/fact.d.ts CHANGED
@@ -1,50 +1,42 @@
1
1
  /**
2
2
  * A database of regional information.
3
- *
4
- * @stability stable
5
3
  */
6
4
  export declare class Fact {
7
5
  /**
8
6
  * @returns the list of names of AWS regions for which there is at least one registered fact. This
9
- * may not be an exhaustive list of all available AWS regions.
10
- * @stability stable
7
+ * may not be an exhaustive list of all available AWS regions.
11
8
  */
12
9
  static get regions(): string[];
13
10
  /**
14
11
  * Retrieves a fact from this Fact database.
15
12
  *
16
- * @param region the name of the region (e.g: `us-east-1`).
17
- * @param name the name of the fact being looked up (see the `FactName` class for details).
13
+ * @param region the name of the region (e.g: `us-east-1`)
14
+ * @param name the name of the fact being looked up (see the `FactName` class for details)
15
+ *
18
16
  * @returns the fact value if it is known, and `undefined` otherwise.
19
- * @stability stable
20
17
  */
21
18
  static find(region: string, name: string): string | undefined;
22
19
  /**
23
- * Retrieve a fact from the Fact database.
24
- *
25
- * (retrieval will fail if the specified region or
20
+ * Retrieve a fact from the Fact database. (retrieval will fail if the specified region or
26
21
  * fact name does not exist.)
27
22
  *
28
- * @param region the name of the region (e.g: `us-east-1`).
29
- * @param name the name of the fact being looked up (see the `FactName` class for details).
30
- * @stability stable
23
+ * @param region the name of the region (e.g: `us-east-1`)
24
+ * @param name the name of the fact being looked up (see the `FactName` class for details)
31
25
  */
32
26
  static requireFact(region: string, name: string): string;
33
27
  /**
34
28
  * Registers a new fact in this Fact database.
35
29
  *
36
- * @param fact the new fact to be registered.
30
+ * @param fact the new fact to be registered.
37
31
  * @param allowReplacing whether new facts can replace existing facts or not.
38
- * @stability stable
39
32
  */
40
33
  static register(fact: IFact, allowReplacing?: boolean): void;
41
34
  /**
42
35
  * Removes a fact from the database.
43
- *
44
36
  * @param region the region for which the fact is to be removed.
45
- * @param name the name of the fact to remove.
46
- * @param value the value that should be removed (removal will fail if the value is specified, but does not match the current stored value).
47
- * @stability stable
37
+ * @param name the name of the fact to remove.
38
+ * @param value the value that should be removed (removal will fail if the value is specified, but does not match the
39
+ * current stored value).
48
40
  */
49
41
  static unregister(region: string, name: string, value?: string): void;
50
42
  private static readonly database;
@@ -52,117 +44,84 @@ export declare class Fact {
52
44
  }
53
45
  /**
54
46
  * A fact that can be registered about a particular region.
55
- *
56
- * @stability stable
57
47
  */
58
48
  export interface IFact {
59
49
  /**
60
50
  * The region for which this fact applies.
61
- *
62
- * @stability stable
63
51
  */
64
52
  readonly region: string;
65
53
  /**
66
- * The name of this fact.
67
- *
68
- * Standardized values are provided by the `Facts` class.
69
- *
70
- * @stability stable
54
+ * The name of this fact. Standardized values are provided by the `Facts` class.
71
55
  */
72
56
  readonly name: string;
73
57
  /**
74
58
  * The value of this fact.
75
- *
76
- * @stability stable
77
59
  */
78
60
  readonly value: string | undefined;
79
61
  }
80
62
  /**
81
63
  * All standardized fact names.
82
- *
83
- * @stability stable
84
64
  */
85
65
  export declare class FactName {
86
66
  /**
87
- * The name of the partition for a region (e.g: 'aws', 'aws-cn', ...).
88
- *
89
- * @stability stable
67
+ * The name of the partition for a region (e.g: 'aws', 'aws-cn', ...)
90
68
  */
91
69
  static readonly PARTITION = "partition";
92
70
  /**
93
- * The domain suffix for a region (e.g: 'amazonaws.com`).
94
- *
95
- * @stability stable
71
+ * The domain suffix for a region (e.g: 'amazonaws.com`)
96
72
  */
97
73
  static readonly DOMAIN_SUFFIX = "domainSuffix";
98
74
  /**
99
- * Whether the AWS::CDK::Metadata CloudFormation Resource is available in-region or not.
100
- *
101
- * The value is a boolean
75
+ * Whether the AWS::CDK::Metadata CloudFormation Resource is available in-region or not. The value is a boolean
102
76
  * modelled as `YES` or `NO`.
103
- *
104
- * @stability stable
105
77
  */
106
78
  static readonly CDK_METADATA_RESOURCE_AVAILABLE = "cdk:metadata-resource:available";
107
79
  /**
108
- * The endpoint used for hosting S3 static websites.
109
- *
110
- * @stability stable
80
+ * The endpoint used for hosting S3 static websites
111
81
  */
112
82
  static readonly S3_STATIC_WEBSITE_ENDPOINT = "s3-static-website:endpoint";
113
83
  /**
114
- * The endpoint used for aliasing S3 static websites in Route 53.
115
- *
116
- * @stability stable
84
+ * The endpoint used for aliasing S3 static websites in Route 53
117
85
  */
118
86
  static readonly S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID = "s3-static-website:route-53-hosted-zone-id";
119
87
  /**
120
- * The hosted zone ID used by Route 53 to alias a EBS environment endpoint in this region (e.g: Z2O1EMRO9K5GLX).
121
- *
122
- * @stability stable
88
+ * The hosted zone ID used by Route 53 to alias a EBS environment endpoint in this region (e.g: Z2O1EMRO9K5GLX)
123
89
  */
124
90
  static readonly EBS_ENV_ENDPOINT_HOSTED_ZONE_ID = "ebs-environment:route-53-hosted-zone-id";
125
91
  /**
126
- * The prefix for VPC Endpoint Service names, cn.com.amazonaws.vpce for China regions, com.amazonaws.vpce otherwise.
127
- *
128
- * @stability stable
92
+ * The prefix for VPC Endpoint Service names,
93
+ * cn.com.amazonaws.vpce for China regions,
94
+ * com.amazonaws.vpce otherwise.
129
95
  */
130
96
  static readonly VPC_ENDPOINT_SERVICE_NAME_PREFIX = "vpcEndpointServiceNamePrefix";
131
97
  /**
132
- * The account for ELBv2 in this region.
133
- *
134
- * @stability stable
98
+ * The account for ELBv2 in this region
135
99
  */
136
100
  static readonly ELBV2_ACCOUNT = "elbv2Account";
137
101
  /**
138
- * The ID of the AWS account that owns the public ECR repository that contains the AWS Deep Learning Containers images in a given region.
139
- *
140
- * @stability stable
102
+ * The ID of the AWS account that owns the public ECR repository that contains the
103
+ * AWS Deep Learning Containers images in a given region.
141
104
  */
142
105
  static readonly DLC_REPOSITORY_ACCOUNT = "dlcRepositoryAccount";
143
106
  /**
144
- * The ID of the AWS account that owns the public ECR repository that contains the AWS App Mesh Envoy Proxy images in a given region.
145
- *
146
- * @stability stable
107
+ * The ID of the AWS account that owns the public ECR repository that contains the
108
+ * AWS App Mesh Envoy Proxy images in a given region.
147
109
  */
148
110
  static readonly APPMESH_ECR_ACCOUNT = "appMeshRepositoryAccount";
149
111
  /**
150
112
  * The CIDR block used by Kinesis Data Firehose servers.
151
- *
152
- * @stability stable
153
113
  */
154
114
  static readonly FIREHOSE_CIDR_BLOCK = "firehoseCidrBlock";
155
115
  /**
156
- * The ARN of CloudWatch Lambda Insights for a version (e.g. 1.0.98.0).
157
- *
158
- * @stability stable
116
+ * The ARN of CloudWatch Lambda Insights for a version (e.g. 1.0.98.0)
159
117
  */
160
118
  static cloudwatchLambdaInsightsVersion(version: string, arch?: string): string;
161
119
  /**
162
120
  * The name of the regional service principal for a given service.
163
121
  *
164
- * @param service the service name, either simple (e.g: `s3`, `codedeploy`) or qualified (e.g: `s3.amazonaws.com`). The `.amazonaws.com` and `.amazonaws.com.cn` domains are stripped from service names, so they are canonicalized in that respect.
165
- * @stability stable
122
+ * @param service the service name, either simple (e.g: `s3`, `codedeploy`) or qualified (e.g: `s3.amazonaws.com`).
123
+ * The `.amazonaws.com` and `.amazonaws.com.cn` domains are stripped from service names, so they are
124
+ * canonicalized in that respect.
166
125
  */
167
126
  static servicePrincipal(service: string): string;
168
127
  }
package/lib/fact.js CHANGED
@@ -7,8 +7,6 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
7
  const aws_entities_1 = require("./aws-entities");
8
8
  /**
9
9
  * A database of regional information.
10
- *
11
- * @stability stable
12
10
  */
13
11
  class Fact {
14
12
  constructor() {
@@ -16,8 +14,7 @@ class Fact {
16
14
  }
17
15
  /**
18
16
  * @returns the list of names of AWS regions for which there is at least one registered fact. This
19
- * may not be an exhaustive list of all available AWS regions.
20
- * @stability stable
17
+ * may not be an exhaustive list of all available AWS regions.
21
18
  */
22
19
  static get regions() {
23
20
  // Return by copy to ensure no modifications can be made to the undelying constant.
@@ -26,24 +23,21 @@ class Fact {
26
23
  /**
27
24
  * Retrieves a fact from this Fact database.
28
25
  *
29
- * @param region the name of the region (e.g: `us-east-1`).
30
- * @param name the name of the fact being looked up (see the `FactName` class for details).
26
+ * @param region the name of the region (e.g: `us-east-1`)
27
+ * @param name the name of the fact being looked up (see the `FactName` class for details)
28
+ *
31
29
  * @returns the fact value if it is known, and `undefined` otherwise.
32
- * @stability stable
33
30
  */
34
31
  static find(region, name) {
35
32
  const regionFacts = this.database[region];
36
33
  return regionFacts && regionFacts[name];
37
34
  }
38
35
  /**
39
- * Retrieve a fact from the Fact database.
40
- *
41
- * (retrieval will fail if the specified region or
36
+ * Retrieve a fact from the Fact database. (retrieval will fail if the specified region or
42
37
  * fact name does not exist.)
43
38
  *
44
- * @param region the name of the region (e.g: `us-east-1`).
45
- * @param name the name of the fact being looked up (see the `FactName` class for details).
46
- * @stability stable
39
+ * @param region the name of the region (e.g: `us-east-1`)
40
+ * @param name the name of the fact being looked up (see the `FactName` class for details)
47
41
  */
48
42
  static requireFact(region, name) {
49
43
  const foundFact = this.find(region, name);
@@ -55,9 +49,8 @@ class Fact {
55
49
  /**
56
50
  * Registers a new fact in this Fact database.
57
51
  *
58
- * @param fact the new fact to be registered.
52
+ * @param fact the new fact to be registered.
59
53
  * @param allowReplacing whether new facts can replace existing facts or not.
60
- * @stability stable
61
54
  */
62
55
  static register(fact, allowReplacing = false) {
63
56
  jsiiDeprecationWarnings._aws_cdk_region_info_IFact(fact);
@@ -71,11 +64,10 @@ class Fact {
71
64
  }
72
65
  /**
73
66
  * Removes a fact from the database.
74
- *
75
67
  * @param region the region for which the fact is to be removed.
76
- * @param name the name of the fact to remove.
77
- * @param value the value that should be removed (removal will fail if the value is specified, but does not match the current stored value).
78
- * @stability stable
68
+ * @param name the name of the fact to remove.
69
+ * @param value the value that should be removed (removal will fail if the value is specified, but does not match the
70
+ * current stored value).
79
71
  */
80
72
  static unregister(region, name, value) {
81
73
  const regionFacts = this.database[region] || {};
@@ -87,18 +79,14 @@ class Fact {
87
79
  }
88
80
  exports.Fact = Fact;
89
81
  _a = JSII_RTTI_SYMBOL_1;
90
- Fact[_a] = { fqn: "@aws-cdk/region-info.Fact", version: "2.12.0" };
82
+ Fact[_a] = { fqn: "@aws-cdk/region-info.Fact", version: "2.13.0" };
91
83
  Fact.database = {};
92
84
  /**
93
85
  * All standardized fact names.
94
- *
95
- * @stability stable
96
86
  */
97
87
  class FactName {
98
88
  /**
99
- * The ARN of CloudWatch Lambda Insights for a version (e.g. 1.0.98.0).
100
- *
101
- * @stability stable
89
+ * The ARN of CloudWatch Lambda Insights for a version (e.g. 1.0.98.0)
102
90
  */
103
91
  static cloudwatchLambdaInsightsVersion(version, arch) {
104
92
  // if we are provided an architecture use that, otherwise
@@ -109,8 +97,9 @@ class FactName {
109
97
  /**
110
98
  * The name of the regional service principal for a given service.
111
99
  *
112
- * @param service the service name, either simple (e.g: `s3`, `codedeploy`) or qualified (e.g: `s3.amazonaws.com`). The `.amazonaws.com` and `.amazonaws.com.cn` domains are stripped from service names, so they are canonicalized in that respect.
113
- * @stability stable
100
+ * @param service the service name, either simple (e.g: `s3`, `codedeploy`) or qualified (e.g: `s3.amazonaws.com`).
101
+ * The `.amazonaws.com` and `.amazonaws.com.cn` domains are stripped from service names, so they are
102
+ * canonicalized in that respect.
114
103
  */
115
104
  static servicePrincipal(service) {
116
105
  return `service-principal:${service.replace(/\.amazonaws\.com(\.cn)?$/, '')}`;
@@ -118,74 +107,54 @@ class FactName {
118
107
  }
119
108
  exports.FactName = FactName;
120
109
  _b = JSII_RTTI_SYMBOL_1;
121
- FactName[_b] = { fqn: "@aws-cdk/region-info.FactName", version: "2.12.0" };
110
+ FactName[_b] = { fqn: "@aws-cdk/region-info.FactName", version: "2.13.0" };
122
111
  /**
123
- * The name of the partition for a region (e.g: 'aws', 'aws-cn', ...).
124
- *
125
- * @stability stable
112
+ * The name of the partition for a region (e.g: 'aws', 'aws-cn', ...)
126
113
  */
127
114
  FactName.PARTITION = 'partition';
128
115
  /**
129
- * The domain suffix for a region (e.g: 'amazonaws.com`).
130
- *
131
- * @stability stable
116
+ * The domain suffix for a region (e.g: 'amazonaws.com`)
132
117
  */
133
118
  FactName.DOMAIN_SUFFIX = 'domainSuffix';
134
119
  /**
135
- * Whether the AWS::CDK::Metadata CloudFormation Resource is available in-region or not.
136
- *
137
- * The value is a boolean
120
+ * Whether the AWS::CDK::Metadata CloudFormation Resource is available in-region or not. The value is a boolean
138
121
  * modelled as `YES` or `NO`.
139
- *
140
- * @stability stable
141
122
  */
142
123
  FactName.CDK_METADATA_RESOURCE_AVAILABLE = 'cdk:metadata-resource:available';
143
124
  /**
144
- * The endpoint used for hosting S3 static websites.
145
- *
146
- * @stability stable
125
+ * The endpoint used for hosting S3 static websites
147
126
  */
148
127
  FactName.S3_STATIC_WEBSITE_ENDPOINT = 's3-static-website:endpoint';
149
128
  /**
150
- * The endpoint used for aliasing S3 static websites in Route 53.
151
- *
152
- * @stability stable
129
+ * The endpoint used for aliasing S3 static websites in Route 53
153
130
  */
154
131
  FactName.S3_STATIC_WEBSITE_ZONE_53_HOSTED_ZONE_ID = 's3-static-website:route-53-hosted-zone-id';
155
132
  /**
156
- * The hosted zone ID used by Route 53 to alias a EBS environment endpoint in this region (e.g: Z2O1EMRO9K5GLX).
157
- *
158
- * @stability stable
133
+ * The hosted zone ID used by Route 53 to alias a EBS environment endpoint in this region (e.g: Z2O1EMRO9K5GLX)
159
134
  */
160
135
  FactName.EBS_ENV_ENDPOINT_HOSTED_ZONE_ID = 'ebs-environment:route-53-hosted-zone-id';
161
136
  /**
162
- * The prefix for VPC Endpoint Service names, cn.com.amazonaws.vpce for China regions, com.amazonaws.vpce otherwise.
163
- *
164
- * @stability stable
137
+ * The prefix for VPC Endpoint Service names,
138
+ * cn.com.amazonaws.vpce for China regions,
139
+ * com.amazonaws.vpce otherwise.
165
140
  */
166
141
  FactName.VPC_ENDPOINT_SERVICE_NAME_PREFIX = 'vpcEndpointServiceNamePrefix';
167
142
  /**
168
- * The account for ELBv2 in this region.
169
- *
170
- * @stability stable
143
+ * The account for ELBv2 in this region
171
144
  */
172
145
  FactName.ELBV2_ACCOUNT = 'elbv2Account';
173
146
  /**
174
- * The ID of the AWS account that owns the public ECR repository that contains the AWS Deep Learning Containers images in a given region.
175
- *
176
- * @stability stable
147
+ * The ID of the AWS account that owns the public ECR repository that contains the
148
+ * AWS Deep Learning Containers images in a given region.
177
149
  */
178
150
  FactName.DLC_REPOSITORY_ACCOUNT = 'dlcRepositoryAccount';
179
151
  /**
180
- * The ID of the AWS account that owns the public ECR repository that contains the AWS App Mesh Envoy Proxy images in a given region.
181
- *
182
- * @stability stable
152
+ * The ID of the AWS account that owns the public ECR repository that contains the
153
+ * AWS App Mesh Envoy Proxy images in a given region.
183
154
  */
184
155
  FactName.APPMESH_ECR_ACCOUNT = 'appMeshRepositoryAccount';
185
156
  /**
186
157
  * The CIDR block used by Kinesis Data Firehose servers.
187
- *
188
- * @stability stable
189
158
  */
190
159
  FactName.FIREHOSE_CIDR_BLOCK = 'firehoseCidrBlock';
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaURBQTZDOzs7Ozs7QUFHN0MsTUFBYSxJQUFJO0lBOENmO1FBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0tBQzVEOzs7Ozs7SUE5Q00sTUFBTSxLQUFLLE9BQU87UUFDdkIsbUZBQW1GO1FBQ25GLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQywwQkFBVyxDQUFDLENBQUM7S0FDaEM7Ozs7Ozs7OztJQUdNLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBYyxFQUFFLElBQVk7UUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxPQUFPLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekM7Ozs7Ozs7Ozs7O0lBR00sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBWTtRQUNwRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksK0JBQStCLE1BQU0sY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzNGO1FBRUQsT0FBTyxTQUFTLENBQUM7S0FDbEI7Ozs7Ozs7O0lBR00sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFXLEVBQUUsY0FBYyxHQUFHLEtBQUs7O1FBQ3hELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEYsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEYsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLHVCQUF1QixJQUFJLENBQUMsSUFBSSxnQkFBZ0IsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEg7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzVCLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNyQztLQUNGOzs7Ozs7Ozs7SUFHTSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWMsRUFBRSxJQUFZLEVBQUUsS0FBYztRQUNuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoRCxJQUFJLElBQUksSUFBSSxXQUFXLElBQUksS0FBSyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUU7WUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxTQUFTLE1BQU0sZUFBZSxLQUFLLDZCQUE2QixXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2pJO1FBQ0QsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDMUI7O0FBMUNILG9CQWlEQzs7O0FBTHlCLGFBQVEsR0FBcUQsRUFBRSxDQUFDOzs7Ozs7QUFvQjFGLE1BQWEsUUFBUTs7Ozs7O0lBbUNaLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxPQUFlLEVBQUUsSUFBYTtRQUMxRSx5REFBeUQ7UUFDekQsZ0RBQWdEO1FBQ2hELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksSUFBSSxhQUFKLElBQUksY0FBSixJQUFJLEdBQUksUUFBUSxFQUFFLENBQUM7UUFDckUsT0FBTyxzQ0FBc0MsTUFBTSxFQUFFLENBQUM7S0FDdkQ7Ozs7Ozs7SUFHTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBZTtRQUM1QyxPQUFPLHFCQUFxQixPQUFPLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7S0FDL0U7O0FBN0NILDRCQThDQzs7Ozs7Ozs7QUE1Q3dCLGtCQUFTLEdBQUcsV0FBVyxDQUFDOzs7Ozs7QUFHeEIsc0JBQWEsR0FBRyxjQUFjLENBQUM7Ozs7Ozs7OztBQUcvQix3Q0FBK0IsR0FBRyxpQ0FBaUMsQ0FBQzs7Ozs7O0FBR3BFLG1DQUEwQixHQUFHLDRCQUE0QixDQUFDOzs7Ozs7QUFHMUQsaURBQXdDLEdBQUcsMkNBQTJDLENBQUM7Ozs7OztBQUd2Rix3Q0FBK0IsR0FBRyx5Q0FBeUMsQ0FBQzs7Ozs7O0FBRzVFLHlDQUFnQyxHQUFHLDhCQUE4QixDQUFDOzs7Ozs7QUFHbEUsc0JBQWEsR0FBRyxjQUFjLENBQUM7Ozs7OztBQUcvQiwrQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQzs7Ozs7O0FBR2hELDRCQUFtQixHQUFHLDBCQUEwQixDQUFDOzs7Ozs7QUFHakQsNEJBQW1CLEdBQUcsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBV1NfUkVHSU9OUyB9IGZyb20gJy4vYXdzLWVudGl0aWVzJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEZhY3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IHJlZ2lvbnMoKTogc3RyaW5nW10ge1xuICAgIC8vIFJldHVybiBieSBjb3B5IHRvIGVuc3VyZSBubyBtb2RpZmljYXRpb25zIGNhbiBiZSBtYWRlIHRvIHRoZSB1bmRlbHlpbmcgY29uc3RhbnQuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oQVdTX1JFR0lPTlMpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgZmluZChyZWdpb246IHN0cmluZywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCByZWdpb25GYWN0cyA9IHRoaXMuZGF0YWJhc2VbcmVnaW9uXTtcbiAgICByZXR1cm4gcmVnaW9uRmFjdHMgJiYgcmVnaW9uRmFjdHNbbmFtZV07XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlcXVpcmVGYWN0KHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvdW5kRmFjdCA9IHRoaXMuZmluZChyZWdpb24sIG5hbWUpO1xuXG4gICAgaWYgKCFmb3VuZEZhY3QpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gZmFjdCAke25hbWV9IGNvdWxkIGJlIGZvdW5kIGZvciByZWdpb246ICR7cmVnaW9ufSBhbmQgbmFtZTogJHtuYW1lfWApO1xuICAgIH1cblxuICAgIHJldHVybiBmb3VuZEZhY3Q7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWdpc3RlcihmYWN0OiBJRmFjdCwgYWxsb3dSZXBsYWNpbmcgPSBmYWxzZSk6IHZvaWQge1xuICAgIGNvbnN0IHJlZ2lvbkZhY3RzID0gdGhpcy5kYXRhYmFzZVtmYWN0LnJlZ2lvbl0gfHwgKHRoaXMuZGF0YWJhc2VbZmFjdC5yZWdpb25dID0ge30pO1xuICAgIGlmIChmYWN0Lm5hbWUgaW4gcmVnaW9uRmFjdHMgJiYgcmVnaW9uRmFjdHNbZmFjdC5uYW1lXSAhPT0gZmFjdC52YWx1ZSAmJiAhYWxsb3dSZXBsYWNpbmcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUmVnaW9uICR7ZmFjdC5yZWdpb259IGFscmVhZHkgaGFzIGEgZmFjdCAke2ZhY3QubmFtZX0sIHdpdGggdmFsdWUgJHtyZWdpb25GYWN0c1tmYWN0Lm5hbWVdfWApO1xuICAgIH1cbiAgICBpZiAoZmFjdC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZWdpb25GYWN0c1tmYWN0Lm5hbWVdID0gZmFjdC52YWx1ZTtcbiAgICB9XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHVucmVnaXN0ZXIocmVnaW9uOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgdmFsdWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCByZWdpb25GYWN0cyA9IHRoaXMuZGF0YWJhc2VbcmVnaW9uXSB8fCB7fTtcbiAgICBpZiAobmFtZSBpbiByZWdpb25GYWN0cyAmJiB2YWx1ZSAmJiByZWdpb25GYWN0c1tuYW1lXSAhPT0gdmFsdWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXR0ZW1wdGVkIHRvIHJlbW92ZSAke25hbWV9IGZyb20gJHtyZWdpb259IHdpdGggdmFsdWUgJHt2YWx1ZX0sIGJ1dCB0aGUgZmFjdCdzIHZhbHVlIGlzICR7cmVnaW9uRmFjdHNbbmFtZV19YCk7XG4gICAgfVxuICAgIGRlbGV0ZSByZWdpb25GYWN0c1tuYW1lXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGRhdGFiYXNlOiB7IFtyZWdpb246IHN0cmluZ106IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9IH0gPSB7fTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignVXNlIHRoZSBzdGF0aWMgbWV0aG9kcyBvZiBGYWN0IGluc3RlYWQhJyk7XG4gIH1cbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBJRmFjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgRmFjdE5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJUSVRJT04gPSAncGFydGl0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPTUFJTl9TVUZGSVggPSAnZG9tYWluU3VmZml4JztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENES19NRVRBREFUQV9SRVNPVVJDRV9BVkFJTEFCTEUgPSAnY2RrOm1ldGFkYXRhLXJlc291cmNlOmF2YWlsYWJsZSc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUzNfU1RBVElDX1dFQlNJVEVfRU5EUE9JTlQgPSAnczMtc3RhdGljLXdlYnNpdGU6ZW5kcG9pbnQnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTM19TVEFUSUNfV0VCU0lURV9aT05FXzUzX0hPU1RFRF9aT05FX0lEID0gJ3MzLXN0YXRpYy13ZWJzaXRlOnJvdXRlLTUzLWhvc3RlZC16b25lLWlkJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEID0gJ2Vicy1lbnZpcm9ubWVudDpyb3V0ZS01My1ob3N0ZWQtem9uZS1pZCc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVlBDX0VORFBPSU5UX1NFUlZJQ0VfTkFNRV9QUkVGSVggPSAndnBjRW5kcG9pbnRTZXJ2aWNlTmFtZVByZWZpeCc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRUxCVjJfQUNDT1VOVCA9ICdlbGJ2MkFjY291bnQnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBETENfUkVQT1NJVE9SWV9BQ0NPVU5UID0gJ2RsY1JlcG9zaXRvcnlBY2NvdW50JztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBUFBNRVNIX0VDUl9BQ0NPVU5UID0gJ2FwcE1lc2hSZXBvc2l0b3J5QWNjb3VudCc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBGSVJFSE9TRV9DSURSX0JMT0NLID0gJ2ZpcmVob3NlQ2lkckJsb2NrJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgY2xvdWR3YXRjaExhbWJkYUluc2lnaHRzVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcsIGFyY2g/OiBzdHJpbmcpIHtcbiAgICAvLyBpZiB3ZSBhcmUgcHJvdmlkZWQgYW4gYXJjaGl0ZWN0dXJlIHVzZSB0aGF0LCBvdGhlcndpc2VcbiAgICAvLyBkZWZhdWx0IHRvIHg4Nl82NCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBjb25zdCBzdWZmaXggPSB2ZXJzaW9uLnNwbGl0KCcuJykuam9pbignXycpICsgYF8ke2FyY2ggPz8gJ3g4Nl82NCd9YDtcbiAgICByZXR1cm4gYGNsb3Vkd2F0Y2gtbGFtYmRhLWluc2lnaHRzLXZlcnNpb246JHtzdWZmaXh9YDtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBzZXJ2aWNlUHJpbmNpcGFsKHNlcnZpY2U6IHN0cmluZykge1xuICAgIHJldHVybiBgc2VydmljZS1wcmluY2lwYWw6JHtzZXJ2aWNlLnJlcGxhY2UoL1xcLmFtYXpvbmF3c1xcLmNvbShcXC5jbik/JC8sICcnKX1gO1xuICB9XG59XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsaURBQTZDO0FBRTdDOztHQUVHO0FBQ0gsTUFBYSxJQUFJO0lBeUVmO1FBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0tBQzVEO0lBMUVEOzs7T0FHRztJQUNJLE1BQU0sS0FBSyxPQUFPO1FBQ3ZCLG1GQUFtRjtRQUNuRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsMEJBQVcsQ0FBQyxDQUFDO0tBQ2hDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBYyxFQUFFLElBQVk7UUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxPQUFPLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQWMsRUFBRSxJQUFZO1FBQ3BELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSwrQkFBK0IsTUFBTSxjQUFjLElBQUksRUFBRSxDQUFDLENBQUM7U0FDM0Y7UUFFRCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFXLEVBQUUsY0FBYyxHQUFHLEtBQUs7O1FBQ3hELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEYsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEYsTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLHVCQUF1QixJQUFJLENBQUMsSUFBSSxnQkFBZ0IsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEg7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzVCLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNyQztLQUNGO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLEtBQWM7UUFDbkUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEQsSUFBSSxJQUFJLElBQUksV0FBVyxJQUFJLEtBQUssSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksU0FBUyxNQUFNLGVBQWUsS0FBSyw2QkFBNkIsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNqSTtRQUNELE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzFCOztBQXJFSCxvQkE0RUM7OztBQUx5QixhQUFRLEdBQXFELEVBQUUsQ0FBQztBQTJCMUY7O0dBRUc7QUFDSCxNQUFhLFFBQVE7SUE2RG5COztPQUVHO0lBQ0ksTUFBTSxDQUFDLCtCQUErQixDQUFDLE9BQWUsRUFBRSxJQUFhO1FBQzFFLHlEQUF5RDtRQUN6RCxnREFBZ0Q7UUFDaEQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxRQUFRLEVBQUUsQ0FBQztRQUNyRSxPQUFPLHNDQUFzQyxNQUFNLEVBQUUsQ0FBQztLQUN2RDtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFlO1FBQzVDLE9BQU8scUJBQXFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztLQUMvRTs7QUFoRkgsNEJBaUZDOzs7QUFoRkM7O0dBRUc7QUFDb0Isa0JBQVMsR0FBRyxXQUFXLENBQUM7QUFFL0M7O0dBRUc7QUFDb0Isc0JBQWEsR0FBRyxjQUFjLENBQUM7QUFFdEQ7OztHQUdHO0FBQ29CLHdDQUErQixHQUFHLGlDQUFpQyxDQUFDO0FBRTNGOztHQUVHO0FBQ29CLG1DQUEwQixHQUFHLDRCQUE0QixDQUFDO0FBRWpGOztHQUVHO0FBQ29CLGlEQUF3QyxHQUFHLDJDQUEyQyxDQUFDO0FBRTlHOztHQUVHO0FBQ29CLHdDQUErQixHQUFHLHlDQUF5QyxDQUFDO0FBRW5HOzs7O0dBSUc7QUFDb0IseUNBQWdDLEdBQUcsOEJBQThCLENBQUM7QUFFekY7O0dBRUc7QUFDb0Isc0JBQWEsR0FBRyxjQUFjLENBQUM7QUFFdEQ7OztHQUdHO0FBQ29CLCtCQUFzQixHQUFHLHNCQUFzQixDQUFDO0FBRXZFOzs7R0FHRztBQUNvQiw0QkFBbUIsR0FBRywwQkFBMEIsQ0FBQztBQUV4RTs7R0FFRztBQUNvQiw0QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFXU19SRUdJT05TIH0gZnJvbSAnLi9hd3MtZW50aXRpZXMnO1xuXG4vKipcbiAqIEEgZGF0YWJhc2Ugb2YgcmVnaW9uYWwgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWN0IHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHRoZSBsaXN0IG9mIG5hbWVzIG9mIEFXUyByZWdpb25zIGZvciB3aGljaCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgcmVnaXN0ZXJlZCBmYWN0LiBUaGlzXG4gICAqICAgICAgICAgIG1heSBub3QgYmUgYW4gZXhoYXVzdGl2ZSBsaXN0IG9mIGFsbCBhdmFpbGFibGUgQVdTIHJlZ2lvbnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCByZWdpb25zKCk6IHN0cmluZ1tdIHtcbiAgICAvLyBSZXR1cm4gYnkgY29weSB0byBlbnN1cmUgbm8gbW9kaWZpY2F0aW9ucyBjYW4gYmUgbWFkZSB0byB0aGUgdW5kZWx5aW5nIGNvbnN0YW50LlxuICAgIHJldHVybiBBcnJheS5mcm9tKEFXU19SRUdJT05TKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBmYWN0IGZyb20gdGhpcyBGYWN0IGRhdGFiYXNlLlxuICAgKlxuICAgKiBAcGFyYW0gcmVnaW9uIHRoZSBuYW1lIG9mIHRoZSByZWdpb24gKGUuZzogYHVzLWVhc3QtMWApXG4gICAqIEBwYXJhbSBuYW1lICAgdGhlIG5hbWUgb2YgdGhlIGZhY3QgYmVpbmcgbG9va2VkIHVwIChzZWUgdGhlIGBGYWN0TmFtZWAgY2xhc3MgZm9yIGRldGFpbHMpXG4gICAqXG4gICAqIEByZXR1cm5zIHRoZSBmYWN0IHZhbHVlIGlmIGl0IGlzIGtub3duLCBhbmQgYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmaW5kKHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlZ2lvbkZhY3RzID0gdGhpcy5kYXRhYmFzZVtyZWdpb25dO1xuICAgIHJldHVybiByZWdpb25GYWN0cyAmJiByZWdpb25GYWN0c1tuYW1lXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhIGZhY3QgZnJvbSB0aGUgRmFjdCBkYXRhYmFzZS4gKHJldHJpZXZhbCB3aWxsIGZhaWwgaWYgdGhlIHNwZWNpZmllZCByZWdpb24gb3JcbiAgICogZmFjdCBuYW1lIGRvZXMgbm90IGV4aXN0LilcbiAgICpcbiAgICogQHBhcmFtIHJlZ2lvbiB0aGUgbmFtZSBvZiB0aGUgcmVnaW9uIChlLmc6IGB1cy1lYXN0LTFgKVxuICAgKiBAcGFyYW0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZmFjdCBiZWluZyBsb29rZWQgdXAgKHNlZSB0aGUgYEZhY3ROYW1lYCBjbGFzcyBmb3IgZGV0YWlscylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVxdWlyZUZhY3QocmVnaW9uOiBzdHJpbmcsIG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZm91bmRGYWN0ID0gdGhpcy5maW5kKHJlZ2lvbiwgbmFtZSk7XG5cbiAgICBpZiAoIWZvdW5kRmFjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBmYWN0ICR7bmFtZX0gY291bGQgYmUgZm91bmQgZm9yIHJlZ2lvbjogJHtyZWdpb259IGFuZCBuYW1lOiAke25hbWV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kRmFjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBuZXcgZmFjdCBpbiB0aGlzIEZhY3QgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBwYXJhbSBmYWN0ICAgICAgICAgICB0aGUgbmV3IGZhY3QgdG8gYmUgcmVnaXN0ZXJlZC5cbiAgICogQHBhcmFtIGFsbG93UmVwbGFjaW5nIHdoZXRoZXIgbmV3IGZhY3RzIGNhbiByZXBsYWNlIGV4aXN0aW5nIGZhY3RzIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVnaXN0ZXIoZmFjdDogSUZhY3QsIGFsbG93UmVwbGFjaW5nID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCByZWdpb25GYWN0cyA9IHRoaXMuZGF0YWJhc2VbZmFjdC5yZWdpb25dIHx8ICh0aGlzLmRhdGFiYXNlW2ZhY3QucmVnaW9uXSA9IHt9KTtcbiAgICBpZiAoZmFjdC5uYW1lIGluIHJlZ2lvbkZhY3RzICYmIHJlZ2lvbkZhY3RzW2ZhY3QubmFtZV0gIT09IGZhY3QudmFsdWUgJiYgIWFsbG93UmVwbGFjaW5nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlZ2lvbiAke2ZhY3QucmVnaW9ufSBhbHJlYWR5IGhhcyBhIGZhY3QgJHtmYWN0Lm5hbWV9LCB3aXRoIHZhbHVlICR7cmVnaW9uRmFjdHNbZmFjdC5uYW1lXX1gKTtcbiAgICB9XG4gICAgaWYgKGZhY3QudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmVnaW9uRmFjdHNbZmFjdC5uYW1lXSA9IGZhY3QudmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBmYWN0IGZyb20gdGhlIGRhdGFiYXNlLlxuICAgKiBAcGFyYW0gcmVnaW9uIHRoZSByZWdpb24gZm9yIHdoaWNoIHRoZSBmYWN0IGlzIHRvIGJlIHJlbW92ZWQuXG4gICAqIEBwYXJhbSBuYW1lICAgdGhlIG5hbWUgb2YgdGhlIGZhY3QgdG8gcmVtb3ZlLlxuICAgKiBAcGFyYW0gdmFsdWUgIHRoZSB2YWx1ZSB0aGF0IHNob3VsZCBiZSByZW1vdmVkIChyZW1vdmFsIHdpbGwgZmFpbCBpZiB0aGUgdmFsdWUgaXMgc3BlY2lmaWVkLCBidXQgZG9lcyBub3QgbWF0Y2ggdGhlXG4gICAqICAgICAgICAgICAgICAgY3VycmVudCBzdG9yZWQgdmFsdWUpLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB1bnJlZ2lzdGVyKHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHZhbHVlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgcmVnaW9uRmFjdHMgPSB0aGlzLmRhdGFiYXNlW3JlZ2lvbl0gfHwge307XG4gICAgaWYgKG5hbWUgaW4gcmVnaW9uRmFjdHMgJiYgdmFsdWUgJiYgcmVnaW9uRmFjdHNbbmFtZV0gIT09IHZhbHVlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEF0dGVtcHRlZCB0byByZW1vdmUgJHtuYW1lfSBmcm9tICR7cmVnaW9ufSB3aXRoIHZhbHVlICR7dmFsdWV9LCBidXQgdGhlIGZhY3QncyB2YWx1ZSBpcyAke3JlZ2lvbkZhY3RzW25hbWVdfWApO1xuICAgIH1cbiAgICBkZWxldGUgcmVnaW9uRmFjdHNbbmFtZV07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBkYXRhYmFzZTogeyBbcmVnaW9uOiBzdHJpbmddOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSB9ID0ge307XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VzZSB0aGUgc3RhdGljIG1ldGhvZHMgb2YgRmFjdCBpbnN0ZWFkIScpO1xuICB9XG59XG5cbi8qKlxuICogQSBmYWN0IHRoYXQgY2FuIGJlIHJlZ2lzdGVyZWQgYWJvdXQgYSBwYXJ0aWN1bGFyIHJlZ2lvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmFjdCB7XG4gIC8qKlxuICAgKiBUaGUgcmVnaW9uIGZvciB3aGljaCB0aGlzIGZhY3QgYXBwbGllcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGlzIGZhY3QuIFN0YW5kYXJkaXplZCB2YWx1ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBgRmFjdHNgIGNsYXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhpcyBmYWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBbGwgc3RhbmRhcmRpemVkIGZhY3QgbmFtZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWN0TmFtZSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGFydGl0aW9uIGZvciBhIHJlZ2lvbiAoZS5nOiAnYXdzJywgJ2F3cy1jbicsIC4uLilcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSVElUSU9OID0gJ3BhcnRpdGlvbic7XG5cbiAgLyoqXG4gICAqIFRoZSBkb21haW4gc3VmZml4IGZvciBhIHJlZ2lvbiAoZS5nOiAnYW1hem9uYXdzLmNvbWApXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERPTUFJTl9TVUZGSVggPSAnZG9tYWluU3VmZml4JztcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgQVdTOjpDREs6Ok1ldGFkYXRhIENsb3VkRm9ybWF0aW9uIFJlc291cmNlIGlzIGF2YWlsYWJsZSBpbi1yZWdpb24gb3Igbm90LiBUaGUgdmFsdWUgaXMgYSBib29sZWFuXG4gICAqIG1vZGVsbGVkIGFzIGBZRVNgIG9yIGBOT2AuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENES19NRVRBREFUQV9SRVNPVVJDRV9BVkFJTEFCTEUgPSAnY2RrOm1ldGFkYXRhLXJlc291cmNlOmF2YWlsYWJsZSc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmRwb2ludCB1c2VkIGZvciBob3N0aW5nIFMzIHN0YXRpYyB3ZWJzaXRlc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTM19TVEFUSUNfV0VCU0lURV9FTkRQT0lOVCA9ICdzMy1zdGF0aWMtd2Vic2l0ZTplbmRwb2ludCc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbmRwb2ludCB1c2VkIGZvciBhbGlhc2luZyBTMyBzdGF0aWMgd2Vic2l0ZXMgaW4gUm91dGUgNTNcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUzNfU1RBVElDX1dFQlNJVEVfWk9ORV81M19IT1NURURfWk9ORV9JRCA9ICdzMy1zdGF0aWMtd2Vic2l0ZTpyb3V0ZS01My1ob3N0ZWQtem9uZS1pZCc7XG5cbiAgLyoqXG4gICAqIFRoZSBob3N0ZWQgem9uZSBJRCB1c2VkIGJ5IFJvdXRlIDUzIHRvIGFsaWFzIGEgRUJTIGVudmlyb25tZW50IGVuZHBvaW50IGluIHRoaXMgcmVnaW9uIChlLmc6IFoyTzFFTVJPOUs1R0xYKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEID0gJ2Vicy1lbnZpcm9ubWVudDpyb3V0ZS01My1ob3N0ZWQtem9uZS1pZCc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmVmaXggZm9yIFZQQyBFbmRwb2ludCBTZXJ2aWNlIG5hbWVzLFxuICAgKiBjbi5jb20uYW1hem9uYXdzLnZwY2UgZm9yIENoaW5hIHJlZ2lvbnMsXG4gICAqIGNvbS5hbWF6b25hd3MudnBjZSBvdGhlcndpc2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFZQQ19FTkRQT0lOVF9TRVJWSUNFX05BTUVfUFJFRklYID0gJ3ZwY0VuZHBvaW50U2VydmljZU5hbWVQcmVmaXgnO1xuXG4gIC8qKlxuICAgKiBUaGUgYWNjb3VudCBmb3IgRUxCdjIgaW4gdGhpcyByZWdpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRUxCVjJfQUNDT1VOVCA9ICdlbGJ2MkFjY291bnQnO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIEFXUyBhY2NvdW50IHRoYXQgb3ducyB0aGUgcHVibGljIEVDUiByZXBvc2l0b3J5IHRoYXQgY29udGFpbnMgdGhlXG4gICAqIEFXUyBEZWVwIExlYXJuaW5nIENvbnRhaW5lcnMgaW1hZ2VzIGluIGEgZ2l2ZW4gcmVnaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBETENfUkVQT1NJVE9SWV9BQ0NPVU5UID0gJ2RsY1JlcG9zaXRvcnlBY2NvdW50JztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBBV1MgYWNjb3VudCB0aGF0IG93bnMgdGhlIHB1YmxpYyBFQ1IgcmVwb3NpdG9yeSB0aGF0IGNvbnRhaW5zIHRoZVxuICAgKiBBV1MgQXBwIE1lc2ggRW52b3kgUHJveHkgaW1hZ2VzIGluIGEgZ2l2ZW4gcmVnaW9uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBBUFBNRVNIX0VDUl9BQ0NPVU5UID0gJ2FwcE1lc2hSZXBvc2l0b3J5QWNjb3VudCc7XG5cbiAgLyoqXG4gICAqIFRoZSBDSURSIGJsb2NrIHVzZWQgYnkgS2luZXNpcyBEYXRhIEZpcmVob3NlIHNlcnZlcnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEZJUkVIT1NFX0NJRFJfQkxPQ0sgPSAnZmlyZWhvc2VDaWRyQmxvY2snO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIENsb3VkV2F0Y2ggTGFtYmRhIEluc2lnaHRzIGZvciBhIHZlcnNpb24gKGUuZy4gMS4wLjk4LjApXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNsb3Vkd2F0Y2hMYW1iZGFJbnNpZ2h0c1ZlcnNpb24odmVyc2lvbjogc3RyaW5nLCBhcmNoPzogc3RyaW5nKSB7XG4gICAgLy8gaWYgd2UgYXJlIHByb3ZpZGVkIGFuIGFyY2hpdGVjdHVyZSB1c2UgdGhhdCwgb3RoZXJ3aXNlXG4gICAgLy8gZGVmYXVsdCB0byB4ODZfNjQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY29uc3Qgc3VmZml4ID0gdmVyc2lvbi5zcGxpdCgnLicpLmpvaW4oJ18nKSArIGBfJHthcmNoID8/ICd4ODZfNjQnfWA7XG4gICAgcmV0dXJuIGBjbG91ZHdhdGNoLWxhbWJkYS1pbnNpZ2h0cy12ZXJzaW9uOiR7c3VmZml4fWA7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJlZ2lvbmFsIHNlcnZpY2UgcHJpbmNpcGFsIGZvciBhIGdpdmVuIHNlcnZpY2UuXG4gICAqXG4gICAqIEBwYXJhbSBzZXJ2aWNlIHRoZSBzZXJ2aWNlIG5hbWUsIGVpdGhlciBzaW1wbGUgKGUuZzogYHMzYCwgYGNvZGVkZXBsb3lgKSBvciBxdWFsaWZpZWQgKGUuZzogYHMzLmFtYXpvbmF3cy5jb21gKS5cbiAgICogICAgICAgICAgICAgICAgVGhlIGAuYW1hem9uYXdzLmNvbWAgYW5kIGAuYW1hem9uYXdzLmNvbS5jbmAgZG9tYWlucyBhcmUgc3RyaXBwZWQgZnJvbSBzZXJ2aWNlIG5hbWVzLCBzbyB0aGV5IGFyZVxuICAgKiAgICAgICAgICAgICAgICBjYW5vbmljYWxpemVkIGluIHRoYXQgcmVzcGVjdC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2VydmljZVByaW5jaXBhbChzZXJ2aWNlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYHNlcnZpY2UtcHJpbmNpcGFsOiR7c2VydmljZS5yZXBsYWNlKC9cXC5hbWF6b25hd3NcXC5jb20oXFwuY24pPyQvLCAnJyl9YDtcbiAgfVxufVxuIl19