@mrgrain/cdk-esbuild 4.0.0-alpha.7 → 4.0.0-alpha.8

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/code.d.ts CHANGED
@@ -1,30 +1,56 @@
1
1
  import { CfnResource } from 'aws-cdk-lib';
2
- import { ResourceBindOptions, Code as LambdaCode, CodeConfig } from 'aws-cdk-lib/aws-lambda';
2
+ import { ResourceBindOptions, Code, CodeConfig } from 'aws-cdk-lib/aws-lambda';
3
3
  import { Construct } from 'constructs';
4
- import { Asset, AssetBaseProps, AssetProps } from './asset';
4
+ import { EsbuildAsset, AssetBaseProps, AssetProps } from './asset';
5
5
  import { EntryPoints } from './bundler';
6
6
  export { CodeConfig } from 'aws-cdk-lib/aws-lambda';
7
7
  export interface JavaScriptCodeProps extends AssetBaseProps {
8
8
  }
9
9
  export interface TypeScriptCodeProps extends AssetBaseProps {
10
10
  }
11
- export declare abstract class Code<Props extends JavaScriptCodeProps | TypeScriptCodeProps> extends LambdaCode {
11
+ /**
12
+ * Represents a generic esbuild code bundle.
13
+ *
14
+ * You should always use `TypeScriptCode` or `JavaScriptCode`.
15
+ *
16
+ * @stability experimental
17
+ */
18
+ export declare class EsbuildCode<Props extends JavaScriptCodeProps | TypeScriptCodeProps> extends Code {
19
+ /**
20
+ * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
21
+ * E.g. `src/index.ts`.
22
+ *
23
+ * @stability stable
24
+ */
12
25
  readonly entryPoints: EntryPoints;
13
- protected abstract getAsset(scope: Construct): Asset<AssetProps>;
26
+ protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
14
27
  protected props: AssetProps;
15
- protected asset: Asset<AssetProps>;
28
+ protected asset: EsbuildAsset<AssetProps>;
16
29
  /**
17
30
  * Determines whether this Code is inline code or not.
18
31
  *
19
32
  * @deprecated this value is ignored since inline is now determined based on the the inlineCode field of CodeConfig returned from bind().
20
33
  */
21
34
  isInline: boolean;
35
+ constructor(
22
36
  /**
37
+ * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
38
+ * E.g. `src/index.ts`.
23
39
  *
24
- * @param entryPoints - Relative path to the asset code. Use `props.buildOptions.absWorkingDir` if an absolute path is required.
25
- * @param props - Asset properties.
40
+ * @stability stable
41
+ */
42
+ entryPoints: EntryPoints,
43
+ /**
44
+ * Props to change the behavior of the bundler.
45
+ *
46
+ * Default values for `props.buildOptions`:
47
+ * - `bundle=true`
48
+ * - `platform=node`
49
+ * - `target=nodeX` with X being the major node version running locally
50
+ *
51
+ * @stability stable
26
52
  */
27
- constructor(entryPoints: EntryPoints, props: Props);
53
+ props: Props);
28
54
  bind(scope: Construct): CodeConfig;
29
55
  /**
30
56
  * Called after the CFN function resource has been created to allow the code class to bind to it.
@@ -41,8 +67,8 @@ export declare abstract class Code<Props extends JavaScriptCodeProps | TypeScrip
41
67
  *
42
68
  * @stability stable
43
69
  */
44
- export declare class JavaScriptCode extends Code<JavaScriptCodeProps> {
45
- protected getAsset(scope: Construct): Asset<AssetProps>;
70
+ export declare class JavaScriptCode extends EsbuildCode<JavaScriptCodeProps> {
71
+ protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
46
72
  constructor(
47
73
  /**
48
74
  * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
@@ -68,8 +94,8 @@ export declare class JavaScriptCode extends Code<JavaScriptCodeProps> {
68
94
  *
69
95
  * @stability stable
70
96
  */
71
- export declare class TypeScriptCode extends Code<TypeScriptCodeProps> {
72
- protected getAsset(scope: Construct): Asset<AssetProps>;
97
+ export declare class TypeScriptCode extends EsbuildCode<TypeScriptCodeProps> {
98
+ protected getAsset(scope: Construct): EsbuildAsset<AssetProps>;
73
99
  constructor(
74
100
  /**
75
101
  * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
package/lib/code.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var _a, _b, _c;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.TypeScriptCode = exports.JavaScriptCode = exports.Code = void 0;
4
+ exports.TypeScriptCode = exports.JavaScriptCode = exports.EsbuildCode = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
7
  const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
@@ -11,13 +11,33 @@ function nodeMajorVersion() {
11
11
  }
12
12
  ;
13
13
  ;
14
- class Code extends aws_lambda_1.Code {
14
+ /**
15
+ * Represents a generic esbuild code bundle.
16
+ *
17
+ * You should always use `TypeScriptCode` or `JavaScriptCode`.
18
+ *
19
+ * @stability experimental
20
+ */
21
+ class EsbuildCode extends aws_lambda_1.Code {
22
+ constructor(
15
23
  /**
24
+ * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
25
+ * E.g. `src/index.ts`.
16
26
  *
17
- * @param entryPoints - Relative path to the asset code. Use `props.buildOptions.absWorkingDir` if an absolute path is required.
18
- * @param props - Asset properties.
27
+ * @stability stable
19
28
  */
20
- constructor(entryPoints, props) {
29
+ entryPoints,
30
+ /**
31
+ * Props to change the behavior of the bundler.
32
+ *
33
+ * Default values for `props.buildOptions`:
34
+ * - `bundle=true`
35
+ * - `platform=node`
36
+ * - `target=nodeX` with X being the major node version running locally
37
+ *
38
+ * @stability stable
39
+ */
40
+ props) {
21
41
  super();
22
42
  this.entryPoints = entryPoints;
23
43
  /**
@@ -41,6 +61,9 @@ class Code extends aws_lambda_1.Code {
41
61
  },
42
62
  };
43
63
  }
64
+ getAsset(scope) {
65
+ return new asset_1.EsbuildAsset(scope, this.constructor.name, this.props);
66
+ }
44
67
  bind(scope) {
45
68
  // If the same AssetCode is used multiple times, retain only the first instantiation.
46
69
  if (!this.asset) {
@@ -73,15 +96,15 @@ class Code extends aws_lambda_1.Code {
73
96
  this.asset.addResourceMetadata(resource, resourceProperty);
74
97
  }
75
98
  }
76
- exports.Code = Code;
99
+ exports.EsbuildCode = EsbuildCode;
77
100
  _a = JSII_RTTI_SYMBOL_1;
78
- Code[_a] = { fqn: "@mrgrain/cdk-esbuild.Code", version: "4.0.0-alpha.7" };
101
+ EsbuildCode[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildCode", version: "4.0.0-alpha.8" };
79
102
  /**
80
103
  * Represents the deployed JavaScript Code.
81
104
  *
82
105
  * @stability stable
83
106
  */
84
- class JavaScriptCode extends Code {
107
+ class JavaScriptCode extends EsbuildCode {
85
108
  constructor(
86
109
  /**
87
110
  * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
@@ -109,13 +132,13 @@ class JavaScriptCode extends Code {
109
132
  }
110
133
  exports.JavaScriptCode = JavaScriptCode;
111
134
  _b = JSII_RTTI_SYMBOL_1;
112
- JavaScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "4.0.0-alpha.7" };
135
+ JavaScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "4.0.0-alpha.8" };
113
136
  /**
114
137
  * Represents the deployed TypeScript Code.
115
138
  *
116
139
  * @stability stable
117
140
  */
118
- class TypeScriptCode extends Code {
141
+ class TypeScriptCode extends EsbuildCode {
119
142
  constructor(
120
143
  /**
121
144
  * A relative path or list or map of relative paths to the entry points of your code from the root of the project.
@@ -143,5 +166,5 @@ class TypeScriptCode extends Code {
143
166
  }
144
167
  exports.TypeScriptCode = TypeScriptCode;
145
168
  _c = JSII_RTTI_SYMBOL_1;
146
- TypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "4.0.0-alpha.7" };
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWlEO0FBQ2pELHVEQUE2RjtBQUU3RixtQ0FNaUI7QUFJakIsU0FBUyxnQkFBZ0I7SUFDdkIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFHNkQsQ0FBQztBQUNELENBQUM7QUFFL0QsTUFBc0IsSUFFcEIsU0FBUSxpQkFBVTtJQWNsQjs7OztPQUlHO0lBQ0gsWUFBNEIsV0FBd0IsRUFBRSxLQUFZO1FBQ2hFLEtBQUssRUFBRSxDQUFDO1FBRGtCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWnBEOzs7O1dBSUc7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBUy9CLE1BQU0sY0FBYyxHQUEwQjtZQUM1QyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVE7Z0JBQ2pDLEtBQUssQ0FBQyxZQUFZLEVBQUUsUUFBUSxLQUFLLE1BQU07Z0JBQ3JDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxFQUFFO2dCQUMzRCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxHQUFHLEtBQUs7WUFDUixXQUFXO1lBQ1gsWUFBWSxFQUFFO2dCQUNaLEdBQUcsY0FBYztnQkFDakIsR0FBRyxLQUFLLENBQUMsWUFBWTthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWdCO1FBQ25CLHFGQUFxRjtRQUNyRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQzthQUFNLElBQUksbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ25ELE1BQU0sSUFBSSxLQUFLLENBQ2IsbURBQ0UsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQ3ZCLEtBQUssR0FBRyw4Q0FBOEMsQ0FDdkQsQ0FBQztTQUNIO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZO2dCQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO2FBQ2xDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsY0FBYyxDQUFDLFFBQXFCLEVBQUUsT0FBNkI7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7U0FDakU7UUFDRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM1RSw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDOztBQTNFSCxvQkE0RUM7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxJQUF5QjtJQVMzRDtJQUNFOzs7OztPQUtHO0lBQ0gsV0FBd0I7SUFDeEI7Ozs7Ozs7OztPQVNHO0lBQ0gsUUFBNkIsRUFBRTtRQUUvQixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUE3QlMsUUFBUSxDQUFDLEtBQWdCO1FBQ2pDLE9BQU8sSUFBSSx1QkFBTyxDQUNoQixLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7O0FBUEgsd0NBK0JDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsSUFBeUI7SUFTM0Q7SUFDRTs7Ozs7T0FLRztJQUNILFdBQXdCO0lBQ3hCOzs7Ozs7Ozs7T0FTRztJQUNILFFBQTZCLEVBQUU7UUFFL0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBN0JTLFFBQVEsQ0FBQyxLQUFnQjtRQUNqQyxPQUFPLElBQUksdUJBQU8sQ0FDaEIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUNyQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7SUFDSixDQUFDOztBQVBILHdDQStCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblJlc291cmNlLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlQmluZE9wdGlvbnMsIENvZGUgYXMgTGFtYmRhQ29kZSwgQ29kZUNvbmZpZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBBc3NldCxcbiAgQXNzZXRCYXNlUHJvcHMsXG4gIEFzc2V0UHJvcHMsXG4gIEphdmFTY3JpcHRBc3NldCBhcyBKU0Fzc2V0LFxuICBUeXBlU2NyaXB0QXNzZXQgYXMgVFNBc3NldCxcbn0gZnJvbSAnLi9hc3NldCc7XG5pbXBvcnQgeyBFbnRyeVBvaW50cyB9IGZyb20gJy4vYnVuZGxlcic7XG5pbXBvcnQgeyBCdWlsZE9wdGlvbnMgfSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuXG5mdW5jdGlvbiBub2RlTWFqb3JWZXJzaW9uKCk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUludChwcm9jZXNzLnZlcnNpb25zLm5vZGUuc3BsaXQoJy4nKVswXSwgMTApO1xufVxuXG5leHBvcnQgeyBDb2RlQ29uZmlnIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5leHBvcnQgaW50ZXJmYWNlIEphdmFTY3JpcHRDb2RlUHJvcHMgZXh0ZW5kcyBBc3NldEJhc2VQcm9wcyB7fTtcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZVNjcmlwdENvZGVQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3BzIHt9O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29kZTxcbiAgUHJvcHMgZXh0ZW5kcyBKYXZhU2NyaXB0Q29kZVByb3BzIHwgVHlwZVNjcmlwdENvZGVQcm9wcyxcbj4gZXh0ZW5kcyBMYW1iZGFDb2RlIHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEFzc2V0KHNjb3BlOiBDb25zdHJ1Y3QpOiBBc3NldDxBc3NldFByb3BzPjtcblxuICBwcm90ZWN0ZWQgcHJvcHM6IEFzc2V0UHJvcHM7XG5cbiAgcHJvdGVjdGVkIGFzc2V0ITogQXNzZXQ8QXNzZXRQcm9wcz47XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIENvZGUgaXMgaW5saW5lIGNvZGUgb3Igbm90LlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB0aGlzIHZhbHVlIGlzIGlnbm9yZWQgc2luY2UgaW5saW5lIGlzIG5vdyBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSB0aGUgaW5saW5lQ29kZSBmaWVsZCBvZiBDb2RlQ29uZmlnIHJldHVybmVkIGZyb20gYmluZCgpLlxuICAgKi9cbiAgcHVibGljIGlzSW5saW5lOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlbnRyeVBvaW50cyAtIFJlbGF0aXZlIHBhdGggdG8gdGhlIGFzc2V0IGNvZGUuIFVzZSBgcHJvcHMuYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgIGlmIGFuIGFic29sdXRlIHBhdGggaXMgcmVxdWlyZWQuXG4gICAqIEBwYXJhbSBwcm9wcyAtIEFzc2V0IHByb3BlcnRpZXMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLCBwcm9wczogUHJvcHMpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPEJ1aWxkT3B0aW9ucz4gPSB7XG4gICAgICAuLi4oIXByb3BzLmJ1aWxkT3B0aW9ucz8ucGxhdGZvcm0gfHxcbiAgICAgIHByb3BzLmJ1aWxkT3B0aW9ucz8ucGxhdGZvcm0gPT09ICdub2RlJ1xuICAgICAgICA/IHsgcGxhdGZvcm06ICdub2RlJywgdGFyZ2V0OiAnbm9kZScgKyBub2RlTWFqb3JWZXJzaW9uKCkgfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuXG4gICAgdGhpcy5wcm9wcyA9IHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZW50cnlQb2ludHMsXG4gICAgICBidWlsZE9wdGlvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIC4uLnByb3BzLmJ1aWxkT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0Q29kZSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvbi5cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSB0aGlzLmdldEFzc2V0KHNjb3BlKTtcbiAgICB9IGVsc2UgaWYgKFN0YWNrLm9mKHRoaXMuYXNzZXQpICE9PSBTdGFjay5vZihzY29wZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEFzc2V0IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFub3RoZXIgc3RhY2sgJyR7XG4gICAgICAgICAgU3RhY2sub2YodGhpcy5hc3NldCkuc3RhY2tOYW1lXG4gICAgICAgIH0nLiBgICsgJ0NyZWF0ZSBhIG5ldyBBc3NldCBpbnN0YW5jZSBmb3IgZXZlcnkgc3RhY2suJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0TmFtZTogdGhpcy5hc3NldC5zM0J1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5hc3NldC5zM09iamVjdEtleSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYWZ0ZXIgdGhlIENGTiBmdW5jdGlvbiByZXNvdXJjZSBoYXMgYmVlbiBjcmVhdGVkIHRvIGFsbG93IHRoZSBjb2RlIGNsYXNzIHRvIGJpbmQgdG8gaXQuXG4gICAqXG4gICAqIFNwZWNpZmljYWxseSBpdCdzIHJlcXVpcmVkIHRvIGFsbG93IGFzc2V0cyB0byBhZGRcbiAgICogbWV0YWRhdGEgZm9yIHRvb2xpbmcgbGlrZSBTQU0gQ0xJIHRvIGJlIGFibGUgdG8gZmluZCB0aGVpciBvcmlnaW5zLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgYmluZFRvUmVzb3VyY2UocmVzb3VyY2U6IENmblJlc291cmNlLCBvcHRpb25zPzogUmVzb3VyY2VCaW5kT3B0aW9ucykge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdiaW5kVG9SZXNvdXJjZSgpIG11c3QgYmUgY2FsbGVkIGFmdGVyIGJpbmQoKScpO1xuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZVByb3BlcnR5ID0gb3B0aW9ucz8ucmVzb3VyY2VQcm9wZXJ0eSB8fCB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNDMyXG4gICAgdGhpcy5hc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCByZXNvdXJjZVByb3BlcnR5KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRlcGxveWVkIEphdmFTY3JpcHQgQ29kZS5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgSmF2YVNjcmlwdENvZGUgZXh0ZW5kcyBDb2RlPEphdmFTY3JpcHRDb2RlUHJvcHM+IHtcbiAgcHJvdGVjdGVkIGdldEFzc2V0KHNjb3BlOiBDb25zdHJ1Y3QpOiBBc3NldDxBc3NldFByb3BzPiB7XG4gICAgcmV0dXJuIG5ldyBKU0Fzc2V0KFxuICAgICAgc2NvcGUsXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yLm5hbWUsXG4gICAgICB0aGlzLnByb3BzLFxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBKYXZhU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZXBsb3llZCBUeXBlU2NyaXB0IENvZGUuXG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRDb2RlIGV4dGVuZHMgQ29kZTxUeXBlU2NyaXB0Q29kZVByb3BzPiB7XG4gIHByb3RlY3RlZCBnZXRBc3NldChzY29wZTogQ29uc3RydWN0KTogQXNzZXQ8QXNzZXRQcm9wcz4ge1xuICAgIHJldHVybiBuZXcgVFNBc3NldChcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLFxuICAgICAgdGhpcy5wcm9wcyxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSByZWxhdGl2ZSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHJlbGF0aXZlIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuXG4gICAgICogRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLmJ1aWxkT3B0aW9uc2A6XG4gICAgICogLSBgYnVuZGxlPXRydWVgXG4gICAgICogLSBgcGxhdGZvcm09bm9kZWBcbiAgICAgKiAtIGB0YXJnZXQ9bm9kZVhgIHdpdGggWCBiZWluZyB0aGUgbWFqb3Igbm9kZSB2ZXJzaW9uIHJ1bm5pbmcgbG9jYWxseVxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBwcm9wczogVHlwZVNjcmlwdENvZGVQcm9wcyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihlbnRyeVBvaW50cywgcHJvcHMpO1xuICB9XG59XG4iXX0=
169
+ TypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "4.0.0-alpha.8" };
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWlEO0FBQ2pELHVEQUErRTtBQUUvRSxtQ0FNaUI7QUFJakIsU0FBUyxnQkFBZ0I7SUFDdkIsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFHNkQsQ0FBQztBQUNELENBQUM7QUFFL0Q7Ozs7OztHQU1HO0FBQ0gsTUFBYSxXQUVYLFNBQVEsaUJBQUk7SUFvQlo7SUFDRTs7Ozs7T0FLRztJQUNNLFdBQXdCO0lBRWpDOzs7Ozs7Ozs7T0FTRztJQUNILEtBQVk7UUFFWixLQUFLLEVBQUUsQ0FBQztRQWRDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBZG5DOzs7O1dBSUc7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBeUIvQixNQUFNLGNBQWMsR0FBMEI7WUFDNUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRO2dCQUNqQyxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVEsS0FBSyxNQUFNO2dCQUNyQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLEVBQUUsRUFBRTtnQkFDM0QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUNSLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsR0FBRyxLQUFLO1lBQ1IsV0FBVztZQUNYLFlBQVksRUFBRTtnQkFDWixHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsS0FBSyxDQUFDLFlBQVk7YUFDdEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQXpEUyxRQUFRLENBQUMsS0FBZ0I7UUFDakMsT0FBTyxJQUFJLG9CQUFZLENBQ3JCLEtBQUssRUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFDckIsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0osQ0FBQztJQXFERCxJQUFJLENBQUMsS0FBZ0I7UUFDbkIscUZBQXFGO1FBQ3JGLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO2FBQU0sSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FDYixtREFDRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FDdkIsS0FBSyxHQUFHLDhDQUE4QyxDQUN2RCxDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7Z0JBQ25DLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7YUFDbEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxjQUFjLENBQUMsUUFBcUIsRUFBRSxPQUE2QjtRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxFQUFFLGdCQUFnQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzVFLDZDQUE2QztRQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7O0FBakdILGtDQWtHQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLFdBQWdDO0lBU2xFO0lBQ0U7Ozs7O09BS0c7SUFDSCxXQUF3QjtJQUN4Qjs7Ozs7Ozs7O09BU0c7SUFDSCxRQUE2QixFQUFFO1FBRS9CLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQTdCUyxRQUFRLENBQUMsS0FBZ0I7UUFDakMsT0FBTyxJQUFJLHVCQUFPLENBQ2hCLEtBQUssRUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFDckIsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO0lBQ0osQ0FBQzs7QUFQSCx3Q0ErQkM7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGNBQWUsU0FBUSxXQUFnQztJQVNsRTtJQUNFOzs7OztPQUtHO0lBQ0gsV0FBd0I7SUFDeEI7Ozs7Ozs7OztPQVNHO0lBQ0gsUUFBNkIsRUFBRTtRQUUvQixLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUE3QlMsUUFBUSxDQUFDLEtBQWdCO1FBQ2pDLE9BQU8sSUFBSSx1QkFBTyxDQUNoQixLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztJQUNKLENBQUM7O0FBUEgsd0NBK0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFN0YWNrIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgUmVzb3VyY2VCaW5kT3B0aW9ucywgQ29kZSwgQ29kZUNvbmZpZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge1xuICBFc2J1aWxkQXNzZXQsXG4gIEFzc2V0QmFzZVByb3BzLFxuICBBc3NldFByb3BzLFxuICBKYXZhU2NyaXB0QXNzZXQgYXMgSlNBc3NldCxcbiAgVHlwZVNjcmlwdEFzc2V0IGFzIFRTQXNzZXQsXG59IGZyb20gJy4vYXNzZXQnO1xuaW1wb3J0IHsgRW50cnlQb2ludHMgfSBmcm9tICcuL2J1bmRsZXInO1xuaW1wb3J0IHsgQnVpbGRPcHRpb25zIH0gZnJvbSAnLi9lc2J1aWxkLXR5cGVzJztcblxuZnVuY3Rpb24gbm9kZU1ham9yVmVyc2lvbigpOiBudW1iZXIge1xuICByZXR1cm4gcGFyc2VJbnQocHJvY2Vzcy52ZXJzaW9ucy5ub2RlLnNwbGl0KCcuJylbMF0sIDEwKTtcbn1cblxuZXhwb3J0IHsgQ29kZUNvbmZpZyB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuZXhwb3J0IGludGVyZmFjZSBKYXZhU2NyaXB0Q29kZVByb3BzIGV4dGVuZHMgQXNzZXRCYXNlUHJvcHMge307XG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRDb2RlUHJvcHMgZXh0ZW5kcyBBc3NldEJhc2VQcm9wcyB7fTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZ2VuZXJpYyBlc2J1aWxkIGNvZGUgYnVuZGxlLlxuICpcbiAqIFlvdSBzaG91bGQgYWx3YXlzIHVzZSBgVHlwZVNjcmlwdENvZGVgIG9yIGBKYXZhU2NyaXB0Q29kZWAuXG4gKlxuICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIEVzYnVpbGRDb2RlPFxuICBQcm9wcyBleHRlbmRzIEphdmFTY3JpcHRDb2RlUHJvcHMgfCBUeXBlU2NyaXB0Q29kZVByb3BzLFxuPiBleHRlbmRzIENvZGUge1xuICBwcm90ZWN0ZWQgZ2V0QXNzZXQoc2NvcGU6IENvbnN0cnVjdCk6IEVzYnVpbGRBc3NldDxBc3NldFByb3BzPiB7XG4gICAgcmV0dXJuIG5ldyBFc2J1aWxkQXNzZXQoXG4gICAgICBzY29wZSxcbiAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIHRoaXMucHJvcHMsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcm9wczogQXNzZXRQcm9wcztcblxuICBwcm90ZWN0ZWQgYXNzZXQhOiBFc2J1aWxkQXNzZXQ8QXNzZXRQcm9wcz47XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIENvZGUgaXMgaW5saW5lIGNvZGUgb3Igbm90LlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB0aGlzIHZhbHVlIGlzIGlnbm9yZWQgc2luY2UgaW5saW5lIGlzIG5vdyBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSB0aGUgaW5saW5lQ29kZSBmaWVsZCBvZiBDb2RlQ29uZmlnIHJldHVybmVkIGZyb20gYmluZCgpLlxuICAgKi9cbiAgcHVibGljIGlzSW5saW5lOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSByZWxhdGl2ZSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHJlbGF0aXZlIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuXG4gICAgICogRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGNvbnN0IGRlZmF1bHRPcHRpb25zOiBQYXJ0aWFsPEJ1aWxkT3B0aW9ucz4gPSB7XG4gICAgICAuLi4oIXByb3BzLmJ1aWxkT3B0aW9ucz8ucGxhdGZvcm0gfHxcbiAgICAgIHByb3BzLmJ1aWxkT3B0aW9ucz8ucGxhdGZvcm0gPT09ICdub2RlJ1xuICAgICAgICA/IHsgcGxhdGZvcm06ICdub2RlJywgdGFyZ2V0OiAnbm9kZScgKyBub2RlTWFqb3JWZXJzaW9uKCkgfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuXG4gICAgdGhpcy5wcm9wcyA9IHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgZW50cnlQb2ludHMsXG4gICAgICBidWlsZE9wdGlvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIC4uLnByb3BzLmJ1aWxkT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIC8vIElmIHRoZSBzYW1lIEFzc2V0Q29kZSBpcyB1c2VkIG11bHRpcGxlIHRpbWVzLCByZXRhaW4gb25seSB0aGUgZmlyc3QgaW5zdGFudGlhdGlvbi5cbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRoaXMuYXNzZXQgPSB0aGlzLmdldEFzc2V0KHNjb3BlKTtcbiAgICB9IGVsc2UgaWYgKFN0YWNrLm9mKHRoaXMuYXNzZXQpICE9PSBTdGFjay5vZihzY29wZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEFzc2V0IGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoIGFub3RoZXIgc3RhY2sgJyR7XG4gICAgICAgICAgU3RhY2sub2YodGhpcy5hc3NldCkuc3RhY2tOYW1lXG4gICAgICAgIH0nLiBgICsgJ0NyZWF0ZSBhIG5ldyBBc3NldCBpbnN0YW5jZSBmb3IgZXZlcnkgc3RhY2suJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHMzTG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0TmFtZTogdGhpcy5hc3NldC5zM0J1Y2tldE5hbWUsXG4gICAgICAgIG9iamVjdEtleTogdGhpcy5hc3NldC5zM09iamVjdEtleSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYWZ0ZXIgdGhlIENGTiBmdW5jdGlvbiByZXNvdXJjZSBoYXMgYmVlbiBjcmVhdGVkIHRvIGFsbG93IHRoZSBjb2RlIGNsYXNzIHRvIGJpbmQgdG8gaXQuXG4gICAqXG4gICAqIFNwZWNpZmljYWxseSBpdCdzIHJlcXVpcmVkIHRvIGFsbG93IGFzc2V0cyB0byBhZGRcbiAgICogbWV0YWRhdGEgZm9yIHRvb2xpbmcgbGlrZSBTQU0gQ0xJIHRvIGJlIGFibGUgdG8gZmluZCB0aGVpciBvcmlnaW5zLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgYmluZFRvUmVzb3VyY2UocmVzb3VyY2U6IENmblJlc291cmNlLCBvcHRpb25zPzogUmVzb3VyY2VCaW5kT3B0aW9ucykge1xuICAgIGlmICghdGhpcy5hc3NldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdiaW5kVG9SZXNvdXJjZSgpIG11c3QgYmUgY2FsbGVkIGFmdGVyIGJpbmQoKScpO1xuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZVByb3BlcnR5ID0gb3B0aW9ucz8ucmVzb3VyY2VQcm9wZXJ0eSB8fCB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNDMyXG4gICAgdGhpcy5hc3NldC5hZGRSZXNvdXJjZU1ldGFkYXRhKHJlc291cmNlLCByZXNvdXJjZVByb3BlcnR5KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRlcGxveWVkIEphdmFTY3JpcHQgQ29kZS5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgSmF2YVNjcmlwdENvZGUgZXh0ZW5kcyBFc2J1aWxkQ29kZTxKYXZhU2NyaXB0Q29kZVByb3BzPiB7XG4gIHByb3RlY3RlZCBnZXRBc3NldChzY29wZTogQ29uc3RydWN0KTogRXNidWlsZEFzc2V0PEFzc2V0UHJvcHM+IHtcbiAgICByZXR1cm4gbmV3IEpTQXNzZXQoXG4gICAgICBzY29wZSxcbiAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIHRoaXMucHJvcHMsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgcmVsYXRpdmUgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiByZWxhdGl2ZSBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZSBmcm9tIHRoZSByb290IG9mIHRoZSBwcm9qZWN0LlxuICAgICAqIEUuZy4gYHNyYy9pbmRleC50c2AuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcbiAgICAvKipcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBidW5kbGVyLlxuICAgICAqXG4gICAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBwcm9wcy5idWlsZE9wdGlvbnNgOlxuICAgICAqIC0gYGJ1bmRsZT10cnVlYFxuICAgICAqIC0gYHBsYXRmb3JtPW5vZGVgXG4gICAgICogLSBgdGFyZ2V0PW5vZGVYYCB3aXRoIFggYmVpbmcgdGhlIG1ham9yIG5vZGUgdmVyc2lvbiBydW5uaW5nIGxvY2FsbHlcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgcHJvcHM6IEphdmFTY3JpcHRDb2RlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoZW50cnlQb2ludHMsIHByb3BzKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGRlcGxveWVkIFR5cGVTY3JpcHQgQ29kZS5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdENvZGUgZXh0ZW5kcyBFc2J1aWxkQ29kZTxUeXBlU2NyaXB0Q29kZVByb3BzPiB7XG4gIHByb3RlY3RlZCBnZXRBc3NldChzY29wZTogQ29uc3RydWN0KTogRXNidWlsZEFzc2V0PEFzc2V0UHJvcHM+IHtcbiAgICByZXR1cm4gbmV3IFRTQXNzZXQoXG4gICAgICBzY29wZSxcbiAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgIHRoaXMucHJvcHMsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgcmVsYXRpdmUgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiByZWxhdGl2ZSBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZSBmcm9tIHRoZSByb290IG9mIHRoZSBwcm9qZWN0LlxuICAgICAqIEUuZy4gYHNyYy9pbmRleC50c2AuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcbiAgICAvKipcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBidW5kbGVyLlxuICAgICAqXG4gICAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBwcm9wcy5idWlsZE9wdGlvbnNgOlxuICAgICAqIC0gYGJ1bmRsZT10cnVlYFxuICAgICAqIC0gYHBsYXRmb3JtPW5vZGVgXG4gICAgICogLSBgdGFyZ2V0PW5vZGVYYCB3aXRoIFggYmVpbmcgdGhlIG1ham9yIG5vZGUgdmVyc2lvbiBydW5uaW5nIGxvY2FsbHlcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgcHJvcHM6IFR5cGVTY3JpcHRDb2RlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoZW50cnlQb2ludHMsIHByb3BzKTtcbiAgfVxufVxuIl19
@@ -1,26 +1,10 @@
1
+ "use strict";
1
2
  var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
6
  var __getProtoOf = Object.getPrototypeOf;
9
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
8
  var __export = (target, all) => {
25
9
  for (var name in all)
26
10
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -319,6 +303,7 @@ function pushCommonFlags(flags, options, keys) {
319
303
  let jsxFragment = getFlag(options, keys, "jsxFragment", mustBeString);
320
304
  let define = getFlag(options, keys, "define", mustBeObject);
321
305
  let logOverride = getFlag(options, keys, "logOverride", mustBeObject);
306
+ let supported = getFlag(options, keys, "supported", mustBeObject);
322
307
  let pure = getFlag(options, keys, "pure", mustBeArray);
323
308
  let keepNames = getFlag(options, keys, "keepNames", mustBeBoolean);
324
309
  if (legalComments)
@@ -380,6 +365,13 @@ function pushCommonFlags(flags, options, keys) {
380
365
  flags.push(`--log-override:${key}=${logOverride[key]}`);
381
366
  }
382
367
  }
368
+ if (supported) {
369
+ for (let key in supported) {
370
+ if (key.indexOf("=") >= 0)
371
+ throw new Error(`Invalid supported: ${key}`);
372
+ flags.push(`--supported:${key}=${supported[key]}`);
373
+ }
374
+ }
383
375
  if (pure)
384
376
  for (let fn of pure)
385
377
  flags.push(`--pure:${fn}`);
@@ -754,8 +746,8 @@ function createChannel(streamIn) {
754
746
  if (isFirstPacket) {
755
747
  isFirstPacket = false;
756
748
  let binaryVersion = String.fromCharCode(...bytes);
757
- if (binaryVersion !== "0.14.43") {
758
- throw new Error(`Cannot start service: Host version "${"0.14.43"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
749
+ if (binaryVersion !== "0.14.47") {
750
+ throw new Error(`Cannot start service: Host version "${"0.14.47"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
759
751
  }
760
752
  return;
761
753
  }
@@ -1147,14 +1139,15 @@ function createChannel(streamIn) {
1147
1139
  handleError(result.error, result.pluginName);
1148
1140
  } else {
1149
1141
  try {
1150
- buildOrServeContinue(__spreadProps(__spreadValues({}, args), {
1142
+ buildOrServeContinue({
1143
+ ...args,
1151
1144
  key,
1152
1145
  details,
1153
1146
  logPluginError,
1154
1147
  requestPlugins: result.requestPlugins,
1155
1148
  runOnEndCallbacks: result.runOnEndCallbacks,
1156
1149
  pluginRefs: result.pluginRefs
1157
- }));
1150
+ });
1158
1151
  } catch (e) {
1159
1152
  handleError(e, "");
1160
1153
  }
@@ -1162,14 +1155,15 @@ function createChannel(streamIn) {
1162
1155
  }, (e) => handleError(e, ""));
1163
1156
  } else {
1164
1157
  try {
1165
- buildOrServeContinue(__spreadProps(__spreadValues({}, args), {
1158
+ buildOrServeContinue({
1159
+ ...args,
1166
1160
  key,
1167
1161
  details,
1168
1162
  logPluginError,
1169
1163
  requestPlugins: null,
1170
1164
  runOnEndCallbacks: (result, logPluginError2, done) => done(),
1171
1165
  pluginRefs: null
1172
- }));
1166
+ });
1173
1167
  } catch (e) {
1174
1168
  handleError(e, "");
1175
1169
  }
@@ -1264,7 +1258,7 @@ function createChannel(streamIn) {
1264
1258
  throw new Error("Cannot rebuild");
1265
1259
  sendRequest(refs, { command: "rebuild", key }, (error2, response2) => {
1266
1260
  if (error2) {
1267
- const message = { pluginName: "", text: error2, location: null, notes: [], detail: void 0 };
1261
+ const message = { id: "", pluginName: "", text: error2, location: null, notes: [], detail: void 0 };
1268
1262
  return callback2(failureErrorWithLog("Build failed", [message], []), null);
1269
1263
  }
1270
1264
  buildResponseToResult(response2, (error3, result3) => {
@@ -1547,7 +1541,7 @@ function extractErrorMessageV8(e, streamIn, stash, note, pluginName) {
1547
1541
  location = parseStackLinesV8(streamIn, (e.stack + "").split("\n"), "");
1548
1542
  } catch {
1549
1543
  }
1550
- return { pluginName, text, location, notes: note ? [note] : [], detail: stash ? stash.store(e) : -1 };
1544
+ return { id: "", pluginName, text, location, notes: note ? [note] : [], detail: stash ? stash.store(e) : -1 };
1551
1545
  }
1552
1546
  function parseStackLinesV8(streamIn, lines, ident) {
1553
1547
  let at = " at ";
@@ -1646,6 +1640,7 @@ function sanitizeMessages(messages, property, stash, fallbackPluginName) {
1646
1640
  let index = 0;
1647
1641
  for (const message of messages) {
1648
1642
  let keys = {};
1643
+ let id = getFlag(message, keys, "id", mustBeString);
1649
1644
  let pluginName = getFlag(message, keys, "pluginName", mustBeString);
1650
1645
  let text = getFlag(message, keys, "text", mustBeString);
1651
1646
  let location = getFlag(message, keys, "location", mustBeObjectOrNull);
@@ -1667,6 +1662,7 @@ function sanitizeMessages(messages, property, stash, fallbackPluginName) {
1667
1662
  }
1668
1663
  }
1669
1664
  messagesClone.push({
1665
+ id: id || "",
1670
1666
  pluginName: pluginName || fallbackPluginName,
1671
1667
  text: text || "",
1672
1668
  location: sanitizeLocation(location, where),
@@ -1867,7 +1863,7 @@ if (process.env.ESBUILD_WORKER_THREADS !== "0") {
1867
1863
  }
1868
1864
  }
1869
1865
  var _a;
1870
- var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.14.43";
1866
+ var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.14.47";
1871
1867
  var esbuildCommandAndArgs = () => {
1872
1868
  if ((!ESBUILD_BINARY_PATH || false) && (path2.basename(__filename) !== "main.js" || path2.basename(__dirname) !== "lib")) {
1873
1869
  throw new Error(`The esbuild JavaScript API cannot be bundled. Please mark the "esbuild" package as external so it's not included in the bundle.
@@ -1931,7 +1927,7 @@ var fsAsync = {
1931
1927
  }
1932
1928
  }
1933
1929
  };
1934
- var version = "0.14.43";
1930
+ var version = "0.14.47";
1935
1931
  var build = (options) => ensureServiceIsRunning().build(options);
1936
1932
  var serve = (serveOptions, buildOptions) => ensureServiceIsRunning().serve(serveOptions, buildOptions);
1937
1933
  var transform = (input, options) => ensureServiceIsRunning().transform(input, options);
@@ -2026,6 +2022,8 @@ var initialize = (options) => {
2026
2022
  options = validateInitializeOptions(options || {});
2027
2023
  if (options.wasmURL)
2028
2024
  throw new Error(`The "wasmURL" option only works in the browser`);
2025
+ if (options.wasmModule)
2026
+ throw new Error(`The "wasmModule" option only works in the browser`);
2029
2027
  if (options.worker)
2030
2028
  throw new Error(`The "worker" option only works in the browser`);
2031
2029
  if (initializeWasCalled)
@@ -2040,7 +2038,7 @@ var ensureServiceIsRunning = () => {
2040
2038
  if (longLivedService)
2041
2039
  return longLivedService;
2042
2040
  let [command, args] = esbuildCommandAndArgs();
2043
- let child = child_process.spawn(command, args.concat(`--service=${"0.14.43"}`, "--ping"), {
2041
+ let child = child_process.spawn(command, args.concat(`--service=${"0.14.47"}`, "--ping"), {
2044
2042
  windowsHide: true,
2045
2043
  stdio: ["pipe", "pipe", "inherit"],
2046
2044
  cwd: defaultWD
@@ -2154,7 +2152,7 @@ var runServiceSync = (callback) => {
2154
2152
  esbuild: node_exports
2155
2153
  });
2156
2154
  callback(service);
2157
- let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.14.43"}`), {
2155
+ let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.14.47"}`), {
2158
2156
  cwd: defaultWD,
2159
2157
  windowsHide: true,
2160
2158
  input: stdin,
@@ -2170,7 +2168,7 @@ var workerThreadService = null;
2170
2168
  var startWorkerThreadService = (worker_threads2) => {
2171
2169
  let { port1: mainPort, port2: workerPort } = new worker_threads2.MessageChannel();
2172
2170
  let worker = new worker_threads2.Worker(__filename, {
2173
- workerData: { workerPort, defaultWD, esbuildVersion: "0.14.43" },
2171
+ workerData: { workerPort, defaultWD, esbuildVersion: "0.14.47" },
2174
2172
  transferList: [workerPort],
2175
2173
  execArgv: []
2176
2174
  });
@@ -2179,7 +2177,7 @@ var startWorkerThreadService = (worker_threads2) => {
2179
2177
  let fakeBuildError = (text) => {
2180
2178
  let error = new Error(`Build failed with 1 error:
2181
2179
  error: ${text}`);
2182
- let errors = [{ pluginName: "", text, location: null, notes: [], detail: void 0 }];
2180
+ let errors = [{ id: "", pluginName: "", text, location: null, notes: [], detail: void 0 }];
2183
2181
  error.errors = errors;
2184
2182
  error.warnings = [];
2185
2183
  return error;
@@ -1,6 +1,6 @@
1
1
  export declare type Platform = 'browser' | 'node' | 'neutral';
2
2
  export declare type Format = 'iife' | 'cjs' | 'esm';
3
- export declare type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'default';
3
+ export declare type Loader = 'js' | 'jsx' | 'ts' | 'tsx' | 'css' | 'json' | 'text' | 'base64' | 'file' | 'dataurl' | 'binary' | 'copy' | 'default';
4
4
  export declare type LogLevel = 'verbose' | 'debug' | 'info' | 'warning' | 'error' | 'silent';
5
5
  export declare type Charset = 'ascii' | 'utf8';
6
6
  export declare type Drop = 'console' | 'debugger';
@@ -19,6 +19,8 @@ interface CommonOptions {
19
19
  readonly globalName?: string;
20
20
  /** Documentation: https://esbuild.github.io/api/#target */
21
21
  readonly target?: string | string[];
22
+ /** Documentation: https://esbuild.github.io/api/#supported */
23
+ readonly supported?: Record<string, boolean>;
22
24
  /** Documentation: https://esbuild.github.io/api/#mangle-props */
23
25
  readonly mangleProps?: any;
24
26
  /** Documentation: https://esbuild.github.io/api/#mangle-props */
@@ -140,6 +142,7 @@ export interface StdinOptions {
140
142
  loader?: Loader;
141
143
  }
142
144
  export interface Message {
145
+ id: string;
143
146
  pluginName: string;
144
147
  text: string;
145
148
  location: Location | null;
@@ -333,6 +336,7 @@ export interface OnLoadResult {
333
336
  watchDirs?: string[];
334
337
  }
335
338
  export interface PartialMessage {
339
+ id?: string;
336
340
  pluginName?: string;
337
341
  text?: string;
338
342
  location?: Partial<Location> | null;
@@ -2,4 +2,4 @@
2
2
  // ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.version = void 0;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXAgKi9cbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdsaW5rZWQnIHwgJ2lubGluZScgfCAnZXh0ZXJuYWwnIHwgJ2JvdGgnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xlZ2FsLWNvbW1lbnRzICovXG4gIHJlYWRvbmx5IGxlZ2FsQ29tbWVudHM/OiAnbm9uZScgfCAnaW5saW5lJyB8ICdlb2YnIHwgJ2xpbmtlZCcgfCAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZS1yb290ICovXG4gIHJlYWRvbmx5IHNvdXJjZVJvb3Q/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlcy1jb250ZW50ICovXG4gIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvcm1hdCAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsTmFtZSAqL1xuICByZWFkb25seSBnbG9iYWxOYW1lPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RhcmdldCAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgcmVzZXJ2ZVByb3BzPzogYW55O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVRdW90ZWQ/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNkcm9wICovXG4gIHJlYWRvbmx5IGRyb3A/OiBEcm9wW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVdoaXRlc3BhY2U/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlJZGVudGlmaWVycz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVN5bnRheD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY2hhcnNldCAqL1xuICByZWFkb25seSBjaGFyc2V0PzogQ2hhcnNldDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmVlLXNoYWtpbmcgKi9cbiAgcmVhZG9ubHkgdHJlZVNoYWtpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2lnbm9yZS1hbm5vdGF0aW9ucyAqL1xuICByZWFkb25seSBpZ25vcmVBbm5vdGF0aW9ucz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3ggKi9cbiAgcmVhZG9ubHkganN4PzogJ3RyYW5zZm9ybScgfCAncHJlc2VydmUnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mYWN0b3J5ICovXG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWZyYWdtZW50ICovXG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50Pzogc3RyaW5nO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZGVmaW5lICovXG4gIHJlYWRvbmx5IGRlZmluZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHVyZSAqL1xuICByZWFkb25seSBwdXJlPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8ja2VlcC1uYW1lcyAqL1xuICByZWFkb25seSBrZWVwTmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29sb3IgKi9cbiAgcmVhZG9ubHkgY29sb3I/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1sZXZlbCAqL1xuICByZWFkb25seSBsb2dMZXZlbD86IExvZ0xldmVsO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1saW1pdCAqL1xuICByZWFkb25seSBsb2dMaW1pdD86IG51bWJlcjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctb3ZlcnJpZGUgKi9cbiAgcmVhZG9ubHkgbG9nT3ZlcnJpZGU/OiBSZWNvcmQ8c3RyaW5nLCBMb2dMZXZlbD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPcHRpb25zIGV4dGVuZHMgQ29tbW9uT3B0aW9ucyB7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVuZGxlICovXG4gIHJlYWRvbmx5IGJ1bmRsZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc3BsaXR0aW5nICovXG4gIHJlYWRvbmx5IHNwbGl0dGluZz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHJlc2VydmUtc3ltbGlua3MgKi9cbiAgcmVhZG9ubHkgcHJlc2VydmVTeW1saW5rcz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0ZmlsZSAqL1xuICByZWFkb25seSBvdXRmaWxlPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21ldGFmaWxlICovXG4gIHJlYWRvbmx5IG1ldGFmaWxlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRkaXIgKi9cbiAgcmVhZG9ubHkgb3V0ZGlyPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGJhc2UgKi9cbiAgcmVhZG9ubHkgb3V0YmFzZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwbGF0Zm9ybSAqL1xuICByZWFkb25seSBwbGF0Zm9ybT86IFBsYXRmb3JtO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2V4dGVybmFsICovXG4gIHJlYWRvbmx5IGV4dGVybmFsPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9hZGVyICovXG4gIHJlYWRvbmx5IGxvYWRlcj86IHsgW2V4dDogc3RyaW5nXTogTG9hZGVyIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcmVzb2x2ZS1leHRlbnNpb25zICovXG4gIHJlYWRvbmx5IHJlc29sdmVFeHRlbnNpb25zPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFpbkZpZWxkcyAqL1xuICByZWFkb25seSBtYWluRmllbGRzPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29uZGl0aW9ucyAqL1xuICByZWFkb25seSBjb25kaXRpb25zPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd3JpdGUgKi9cbiAgcmVhZG9ubHkgd3JpdGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FsbG93LW92ZXJ3cml0ZSAqL1xuICByZWFkb25seSBhbGxvd092ZXJ3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHNjb25maWcgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0LWV4dGVuc2lvbiAqL1xuICByZWFkb25seSBvdXRFeHRlbnNpb24/OiB7IFtleHQ6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1YmxpYy1wYXRoICovXG4gIHJlYWRvbmx5IHB1YmxpY1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZW50cnktbmFtZXMgKi9cbiAgcmVhZG9ubHkgZW50cnlOYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjaHVuay1uYW1lcyAqL1xuICByZWFkb25seSBjaHVua05hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Fzc2V0LW5hbWVzICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5qZWN0ICovXG4gIHJlYWRvbmx5IGluamVjdD86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Jhbm5lciAqL1xuICByZWFkb25seSBiYW5uZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNmb290ZXIgKi9cbiAgcmVhZG9ubHkgZm9vdGVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5jcmVtZW50YWwgKi9cbiAgcmVhZG9ubHkgaW5jcmVtZW50YWw/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dvcmtpbmctZGlyZWN0b3J5ICovXG4gIHJlYWRvbmx5IGFic1dvcmtpbmdEaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbm9kZS1wYXRocyAqL1xuICByZWFkb25seSBub2RlUGF0aHM/OiBzdHJpbmdbXTsgLy8gVGhlIFwiTk9ERV9QQVRIXCIgdmFyaWFibGUgZnJvbSBOb2RlLmpzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hNb2RlIHtcbiAgb25SZWJ1aWxkPzogKGVycm9yOiBCdWlsZEZhaWx1cmUgfCBudWxsLCByZXN1bHQ6IEJ1aWxkUmVzdWx0IHwgbnVsbCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGRpbk9wdGlvbnMge1xuICBjb250ZW50czogc3RyaW5nO1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBzb3VyY2VmaWxlPzogc3RyaW5nO1xuICBsb2FkZXI/OiBMb2FkZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSB7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBsb2NhdGlvbjogTG9jYXRpb24gfCBudWxsO1xuICBub3RlczogTm90ZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyLXNwZWNpZmllZCBkYXRhIHRoYXQgaXMgcGFzc2VkIHRocm91Z2ggdW5tb2RpZmllZC4gWW91IGNhblxuICAgKiB1c2UgdGhpcyB0byBzdGFzaCB0aGUgb3JpZ2luYWwgZXJyb3IsIGZvciBleGFtcGxlLlxuICAgKi9cbiAgZGV0YWlsOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZSB7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbiB7XG4gIGZpbGU6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIC8qKiAxLWJhc2VkICovXG4gIGxpbmU6IG51bWJlcjtcbiAgLyoqIDAtYmFzZWQsIGluIGJ5dGVzICovXG4gIGNvbHVtbjogbnVtYmVyO1xuICAvKiogaW4gYnl0ZXMgKi9cbiAgbGVuZ3RoOiBudW1iZXI7XG4gIGxpbmVUZXh0OiBzdHJpbmc7XG4gIHN1Z2dlc3Rpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPdXRwdXRGaWxlIHtcbiAgcGF0aDogc3RyaW5nO1xuICAvKiogXCJ0ZXh0XCIgYXMgYnl0ZXMgKi9cbiAgY29udGVudHM6IFVpbnQ4QXJyYXk7XG4gIC8qKiBcImNvbnRlbnRzXCIgYXMgdGV4dCAqL1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbnZhbGlkYXRlIHtcbiAgKCk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG4gIGRpc3Bvc2UoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEluY3JlbWVudGFsIGV4dGVuZHMgQnVpbGRSZXN1bHQge1xuICByZWJ1aWxkOiBCdWlsZEludmFsaWRhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRSZXN1bHQge1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbiAgLyoqIE9ubHkgd2hlbiBcIndyaXRlOiBmYWxzZVwiICovXG4gIG91dHB1dEZpbGVzPzogT3V0cHV0RmlsZVtdO1xuICAvKiogT25seSB3aGVuIFwiaW5jcmVtZW50YWw6IHRydWVcIiAqL1xuICByZWJ1aWxkPzogQnVpbGRJbnZhbGlkYXRlO1xuICAvKiogT25seSB3aGVuIFwid2F0Y2g6IHRydWVcIiAqL1xuICBzdG9wPzogKCkgPT4gdm9pZDtcbiAgLyoqIE9ubHkgd2hlbiBcIm1ldGFmaWxlOiB0cnVlXCIgKi9cbiAgbWV0YWZpbGU/OiBNZXRhZmlsZTtcbiAgLyoqIE9ubHkgd2hlbiBcIm1hbmdsZUNhY2hlXCIgaXMgcHJlc2VudCAqL1xuICBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEZhaWx1cmUgZXh0ZW5kcyBFcnJvciB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xufVxuXG4vKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlLWFyZ3VtZW50cyAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZU9wdGlvbnMge1xuICBwb3J0PzogbnVtYmVyO1xuICBob3N0Pzogc3RyaW5nO1xuICBzZXJ2ZWRpcj86IHN0cmluZztcbiAgb25SZXF1ZXN0PzogKGFyZ3M6IFNlcnZlT25SZXF1ZXN0QXJncykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZU9uUmVxdWVzdEFyZ3Mge1xuICByZW1vdGVBZGRyZXNzOiBzdHJpbmc7XG4gIG1ldGhvZDogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIHN0YXR1czogbnVtYmVyO1xuICAvKiogVGhlIHRpbWUgdG8gZ2VuZXJhdGUgdGhlIHJlc3BvbnNlLCBub3QgdG8gc2VuZCBpdCAqL1xuICB0aW1lSW5NUzogbnVtYmVyO1xufVxuXG4vKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlLXJldHVybi12YWx1ZXMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVSZXN1bHQge1xuICBwb3J0OiBudW1iZXI7XG4gIGhvc3Q6IHN0cmluZztcbiAgd2FpdDogUHJvbWlzZTx2b2lkPjtcbiAgc3RvcDogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1PcHRpb25zIGV4dGVuZHMgQ29tbW9uT3B0aW9ucyB7XG4gIHJlYWRvbmx5IHRzY29uZmlnUmF3Pzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IHNvdXJjZWZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvYWRlcj86IExvYWRlcjtcbiAgcmVhZG9ubHkgYmFubmVyPzogc3RyaW5nO1xuICByZWFkb25seSBmb290ZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtUmVzdWx0IHtcbiAgY29kZTogc3RyaW5nO1xuICBtYXA6IHN0cmluZztcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbiAgLyoqIE9ubHkgd2hlbiBcIm1hbmdsZUNhY2hlXCIgaXMgcHJlc2VudCAqL1xuICBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1GYWlsdXJlIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHNldHVwOiAoYnVpbGQ6IFBsdWdpbkJ1aWxkKSA9PiAodm9pZCB8IFByb21pc2U8dm9pZD4pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkJ1aWxkIHtcbiAgaW5pdGlhbE9wdGlvbnM6IEJ1aWxkT3B0aW9ucztcbiAgcmVzb2x2ZShwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBSZXNvbHZlT3B0aW9ucyk6IFByb21pc2U8UmVzb2x2ZVJlc3VsdD47XG5cbiAgb25TdGFydChjYWxsYmFjazogKCkgPT5cbiAgKE9uU3RhcnRSZXN1bHQgfCBudWxsIHwgdm9pZCB8IFByb21pc2U8T25TdGFydFJlc3VsdCB8IG51bGwgfCB2b2lkPikpOiB2b2lkO1xuICBvbkVuZChjYWxsYmFjazogKHJlc3VsdDogQnVpbGRSZXN1bHQpID0+XG4gICh2b2lkIHwgUHJvbWlzZTx2b2lkPikpOiB2b2lkO1xuICBvblJlc29sdmUob3B0aW9uczogT25SZXNvbHZlT3B0aW9ucywgY2FsbGJhY2s6IChhcmdzOiBPblJlc29sdmVBcmdzKSA9PlxuICAoT25SZXNvbHZlUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZCB8IFByb21pc2U8T25SZXNvbHZlUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4pKTogdm9pZDtcbiAgb25Mb2FkKG9wdGlvbnM6IE9uTG9hZE9wdGlvbnMsIGNhbGxiYWNrOiAoYXJnczogT25Mb2FkQXJncykgPT5cbiAgKE9uTG9hZFJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPE9uTG9hZFJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQ+KSk6IHZvaWQ7XG5cbiAgLy8gVGhpcyBpcyBhIGZ1bGwgY29weSBvZiB0aGUgZXNidWlsZCBsaWJyYXJ5IGluIGNhc2UgeW91IG5lZWQgaXRcbiAgZXNidWlsZDoge1xuICAgIHNlcnZlOiB0eXBlb2Ygc2VydmU7XG4gICAgYnVpbGQ6IHR5cGVvZiBidWlsZDtcbiAgICBidWlsZFN5bmM6IHR5cGVvZiBidWlsZFN5bmM7XG4gICAgdHJhbnNmb3JtOiB0eXBlb2YgdHJhbnNmb3JtO1xuICAgIHRyYW5zZm9ybVN5bmM6IHR5cGVvZiB0cmFuc2Zvcm1TeW5jO1xuICAgIGZvcm1hdE1lc3NhZ2VzOiB0eXBlb2YgZm9ybWF0TWVzc2FnZXM7XG4gICAgZm9ybWF0TWVzc2FnZXNTeW5jOiB0eXBlb2YgZm9ybWF0TWVzc2FnZXNTeW5jO1xuICAgIGFuYWx5emVNZXRhZmlsZTogdHlwZW9mIGFuYWx5emVNZXRhZmlsZTtcbiAgICBhbmFseXplTWV0YWZpbGVTeW5jOiB0eXBlb2YgYW5hbHl6ZU1ldGFmaWxlU3luYztcbiAgICBpbml0aWFsaXplOiB0eXBlb2YgaW5pdGlhbGl6ZTtcbiAgICB2ZXJzaW9uOiB0eXBlb2YgdmVyc2lvbjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlT3B0aW9ucyB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG4gIGltcG9ydGVyPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIGtpbmQ/OiBJbXBvcnRLaW5kO1xuICBwbHVnaW5EYXRhPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVSZXN1bHQge1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcblxuICBwYXRoOiBzdHJpbmc7XG4gIGV4dGVybmFsOiBib29sZWFuO1xuICBzaWRlRWZmZWN0czogYm9vbGVhbjtcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHN1ZmZpeDogc3RyaW5nO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25TdGFydFJlc3VsdCB7XG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVPcHRpb25zIHtcbiAgZmlsdGVyOiBSZWdFeHA7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVBcmdzIHtcbiAgcGF0aDogc3RyaW5nO1xuICBpbXBvcnRlcjogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgcmVzb2x2ZURpcjogc3RyaW5nO1xuICBraW5kOiBJbXBvcnRLaW5kO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIEltcG9ydEtpbmQgPVxuICB8ICdlbnRyeS1wb2ludCdcblxuICAvLyBKU1xuICB8ICdpbXBvcnQtc3RhdGVtZW50J1xuICB8ICdyZXF1aXJlLWNhbGwnXG4gIHwgJ2R5bmFtaWMtaW1wb3J0J1xuICB8ICdyZXF1aXJlLXJlc29sdmUnXG5cbiAgLy8gQ1NTXG4gIHwgJ2ltcG9ydC1ydWxlJ1xuICB8ICd1cmwtdG9rZW4nXG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlUmVzdWx0IHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcblxuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG5cbiAgcGF0aD86IHN0cmluZztcbiAgZXh0ZXJuYWw/OiBib29sZWFuO1xuICBzaWRlRWZmZWN0cz86IGJvb2xlYW47XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgc3VmZml4Pzogc3RyaW5nO1xuICBwbHVnaW5EYXRhPzogYW55O1xuXG4gIHdhdGNoRmlsZXM/OiBzdHJpbmdbXTtcbiAgd2F0Y2hEaXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkT3B0aW9ucyB7XG4gIGZpbHRlcjogUmVnRXhwO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkQXJncyB7XG4gIHBhdGg6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHN1ZmZpeDogc3RyaW5nO1xuICBwbHVnaW5EYXRhOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25Mb2FkUmVzdWx0IHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcblxuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG5cbiAgY29udGVudHM/OiBzdHJpbmcgfCBVaW50OEFycmF5O1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBsb2FkZXI/OiBMb2FkZXI7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG5cbiAgd2F0Y2hGaWxlcz86IHN0cmluZ1tdO1xuICB3YXRjaERpcnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsTWVzc2FnZSB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGxvY2F0aW9uPzogUGFydGlhbDxMb2NhdGlvbj4gfCBudWxsO1xuICBub3Rlcz86IFBhcnRpYWxOb3RlW107XG4gIGRldGFpbD86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJ0aWFsTm90ZSB7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGxvY2F0aW9uPzogUGFydGlhbDxMb2NhdGlvbj4gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFmaWxlIHtcbiAgaW5wdXRzOiB7XG4gICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgIGJ5dGVzOiBudW1iZXI7XG4gICAgICBpbXBvcnRzOiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAga2luZDogSW1wb3J0S2luZDtcbiAgICAgIH1bXTtcbiAgICB9O1xuICB9O1xuICBvdXRwdXRzOiB7XG4gICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgIGJ5dGVzOiBudW1iZXI7XG4gICAgICBpbnB1dHM6IHtcbiAgICAgICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgICAgICBieXRlc0luT3V0cHV0OiBudW1iZXI7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgICAgaW1wb3J0czoge1xuICAgICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICAgIGtpbmQ6IEltcG9ydEtpbmQ7XG4gICAgICB9W107XG4gICAgICBleHBvcnRzOiBzdHJpbmdbXTtcbiAgICAgIGVudHJ5UG9pbnQ/OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtYXRNZXNzYWdlc09wdGlvbnMge1xuICBraW5kOiAnZXJyb3InIHwgJ3dhcm5pbmcnO1xuICBjb2xvcj86IGJvb2xlYW47XG4gIHRlcm1pbmFsV2lkdGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHl6ZU1ldGFmaWxlT3B0aW9ucyB7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdmVyYm9zZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpbnZva2VzIHRoZSBcImVzYnVpbGRcIiBjb21tYW5kLWxpbmUgdG9vbCBmb3IgeW91LiBJdCByZXR1cm5zIGFcbiAqIHByb21pc2UgdGhhdCBlaXRoZXIgcmVzb2x2ZXMgd2l0aCBhIFwiQnVpbGRSZXN1bHRcIiBvYmplY3Qgb3IgcmVqZWN0cyB3aXRoIGFcbiAqIFwiQnVpbGRGYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyB3cml0ZTogZmFsc2UgfSk6IFByb21pc2U8QnVpbGRSZXN1bHQgJiB7IG91dHB1dEZpbGVzOiBPdXRwdXRGaWxlW10gfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IGluY3JlbWVudGFsOiB0cnVlOyBtZXRhZmlsZTogdHJ1ZSB9KTogUHJvbWlzZTxCdWlsZEluY3JlbWVudGFsICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IGluY3JlbWVudGFsOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyBtZXRhZmlsZTogdHJ1ZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgbWV0YWZpbGU6IE1ldGFmaWxlIH0+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxCdWlsZFJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBzaW1pbGFyIHRvIFwiYnVpbGRcIiBidXQgaXQgc2VydmVzIHRoZSByZXN1bHRpbmcgZmlsZXMgb3ZlclxuICogSFRUUCBvbiBhIGxvY2FsaG9zdCBhZGRyZXNzIHdpdGggdGhlIHNwZWNpZmllZCBwb3J0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHNlcnZlKHNlcnZlT3B0aW9uczogU2VydmVPcHRpb25zLCBidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8U2VydmVSZXN1bHQ+O1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gdHJhbnNmb3JtcyBhIHNpbmdsZSBKYXZhU2NyaXB0IGZpbGUuIEl0IGNhbiBiZSB1c2VkIHRvIG1pbmlmeVxuICogSmF2YVNjcmlwdCwgY29udmVydCBUeXBlU2NyaXB0L0pTWCB0byBKYXZhU2NyaXB0LCBvciBjb252ZXJ0IG5ld2VyIEphdmFTY3JpcHRcbiAqIHRvIG9sZGVyIEphdmFTY3JpcHQuIEl0IHJldHVybnMgYSBwcm9taXNlIHRoYXQgaXMgZWl0aGVyIHJlc29sdmVkIHdpdGggYVxuICogXCJUcmFuc2Zvcm1SZXN1bHRcIiBvYmplY3Qgb3IgcmVqZWN0ZWQgd2l0aCBhIFwiVHJhbnNmb3JtRmFpbHVyZVwiIG9iamVjdC5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB0cmFuc2Zvcm0oaW5wdXQ6IHN0cmluZywgb3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnMpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3VsdD47XG5cbi8qKlxuICogQ29udmVydHMgbG9nIG1lc3NhZ2VzIHRvIGZvcm1hdHRlZCBtZXNzYWdlIHN0cmluZ3Mgc3VpdGFibGUgZm9yIHByaW50aW5nIGluXG4gKiB0aGUgdGVybWluYWwuIFRoaXMgYWxsb3dzIHlvdSB0byByZXVzZSB0aGUgYnVpbHQtaW4gYmVoYXZpb3Igb2YgZXNidWlsZCdzXG4gKiBsb2cgbWVzc2FnZSBmb3JtYXR0ZXIuIFRoaXMgaXMgYSBiYXRjaC1vcmllbnRlZCBBUEkgZm9yIGVmZmljaWVuY3kuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzKG1lc3NhZ2VzOiBQYXJ0aWFsTWVzc2FnZVtdLCBvcHRpb25zOiBGb3JtYXRNZXNzYWdlc09wdGlvbnMpOiBQcm9taXNlPHN0cmluZ1tdPjtcblxuLyoqXG4gKiBQcmV0dHktcHJpbnRzIGFuIGFuYWx5c2lzIG9mIHRoZSBtZXRhZmlsZSBKU09OIHRvIGEgc3RyaW5nLiBUaGlzIGlzIGp1c3QgZm9yXG4gKiBjb252ZW5pZW5jZSB0byBiZSBhYmxlIHRvIG1hdGNoIGVzYnVpbGQncyBwcmV0dHktcHJpbnRpbmcgZXhhY3RseS4gSWYgeW91IHdhbnRcbiAqIHRvIGN1c3RvbWl6ZSBpdCwgeW91IGNhbiBqdXN0IGluc3BlY3QgdGhlIGRhdGEgaW4gdGhlIG1ldGFmaWxlIHlvdXJzZWxmLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhbmFseXplXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGFuYWx5emVNZXRhZmlsZShtZXRhZmlsZTogTWV0YWZpbGUgfCBzdHJpbmcsIG9wdGlvbnM/OiBBbmFseXplTWV0YWZpbGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImJ1aWxkXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVpbGQtYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkU3luYyhvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogQnVpbGRSZXN1bHQgJiB7IG91dHB1dEZpbGVzOiBPdXRwdXRGaWxlW10gfTtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkU3luYyhvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBCdWlsZFJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJ0cmFuc2Zvcm1cIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybVN5bmMoaW5wdXQ6IHN0cmluZywgb3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnMpOiBUcmFuc2Zvcm1SZXN1bHQ7XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiZm9ybWF0TWVzc2FnZXNcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmb3JtYXRNZXNzYWdlc1N5bmMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IHN0cmluZ1tdO1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImFuYWx5emVNZXRhZmlsZVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlU3luYyhtZXRhZmlsZTogTWV0YWZpbGUgfCBzdHJpbmcsIG9wdGlvbnM/OiBBbmFseXplTWV0YWZpbGVPcHRpb25zKTogc3RyaW5nO1xuXG4vKipcbiAqIFRoaXMgY29uZmlndXJlcyB0aGUgYnJvd3Nlci1iYXNlZCB2ZXJzaW9uIG9mIGVzYnVpbGQuIEl0IGlzIG5lY2Vzc2FyeSB0b1xuICogY2FsbCB0aGlzIGZpcnN0IGFuZCB3YWl0IGZvciB0aGUgcmV0dXJuZWQgcHJvbWlzZSB0byBiZSByZXNvbHZlZCBiZWZvcmVcbiAqIG1ha2luZyBvdGhlciBBUEkgY2FsbHMgd2hlbiB1c2luZyBlc2J1aWxkIGluIHRoZSBicm93c2VyLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllcyAoXCJvcHRpb25zXCIgaXMgcmVxdWlyZWQpXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3J1bm5pbmctaW4tdGhlLWJyb3dzZXJcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gaW5pdGlhbGl6ZShvcHRpb25zOiBJbml0aWFsaXplT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhbGl6ZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgXCJlc2J1aWxkLndhc21cIiBmaWxlLiBUaGlzIG11c3QgYmUgcHJvdmlkZWQgd2hlbiBydW5uaW5nXG4gICAqIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gICAqL1xuICB3YXNtVVJMPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgXCJuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcilcIiB3aGVyZSBcImJ1ZmZlclwiXG4gICAqIGlzIGEgdHlwZWQgYXJyYXkgb3IgQXJyYXlCdWZmZXIgY29udGFpbmluZyB0aGUgYmluYXJ5IGNvZGUgb2YgdGhlXG4gICAqIFwiZXNidWlsZC53YXNtXCIgZmlsZS5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyBhcyBhbiBhbHRlcm5hdGl2ZSB0byBcIndhc21VUkxcIiBmb3IgZW52aXJvbm1lbnRzIHdoZXJlIGl0J3NcbiAgICogbm90IHBvc3NpYmxlIHRvIGRvd25sb2FkIHRoZSBXZWJBc3NlbWJseSBtb2R1bGUuXG4gICAqL1xuICB3YXNtTW9kdWxlPzogYW55O1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGVzYnVpbGQgcnVucyB0aGUgV2ViQXNzZW1ibHktYmFzZWQgYnJvd3NlciBBUEkgaW4gYSB3ZWIgd29ya2VyXG4gICAqIHRvIGF2b2lkIGJsb2NraW5nIHRoZSBVSSB0aHJlYWQuIFRoaXMgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgXCJ3b3JrZXJcIlxuICAgKiB0byBmYWxzZS5cbiAgICovXG4gIHdvcmtlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBsZXQgdmVyc2lvbjogc3RyaW5nO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdjb3B5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXAgKi9cbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdsaW5rZWQnIHwgJ2lubGluZScgfCAnZXh0ZXJuYWwnIHwgJ2JvdGgnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xlZ2FsLWNvbW1lbnRzICovXG4gIHJlYWRvbmx5IGxlZ2FsQ29tbWVudHM/OiAnbm9uZScgfCAnaW5saW5lJyB8ICdlb2YnIHwgJ2xpbmtlZCcgfCAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZS1yb290ICovXG4gIHJlYWRvbmx5IHNvdXJjZVJvb3Q/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlcy1jb250ZW50ICovXG4gIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvcm1hdCAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsTmFtZSAqL1xuICByZWFkb25seSBnbG9iYWxOYW1lPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RhcmdldCAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzdXBwb3J0ZWQgKi9cbiAgcmVhZG9ubHkgc3VwcG9ydGVkPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlUHJvcHM/OiBhbnk7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IHJlc2VydmVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlUXVvdGVkPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZHJvcCAqL1xuICByZWFkb25seSBkcm9wPzogRHJvcFtdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnk/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlXaGl0ZXNwYWNlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5SWRlbnRpZmllcnM/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlTeW50YXg/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NoYXJzZXQgKi9cbiAgcmVhZG9ubHkgY2hhcnNldD86IENoYXJzZXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJlZS1zaGFraW5nICovXG4gIHJlYWRvbmx5IHRyZWVTaGFraW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpZ25vcmUtYW5ub3RhdGlvbnMgKi9cbiAgcmVhZG9ubHkgaWdub3JlQW5ub3RhdGlvbnM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4ICovXG4gIHJlYWRvbmx5IGpzeD86ICd0cmFuc2Zvcm0nIHwgJ3ByZXNlcnZlJztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3gtZmFjdG9yeSAqL1xuICByZWFkb25seSBqc3hGYWN0b3J5Pzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mcmFnbWVudCAqL1xuICByZWFkb25seSBqc3hGcmFnbWVudD86IHN0cmluZztcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2RlZmluZSAqL1xuICByZWFkb25seSBkZWZpbmU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1cmUgKi9cbiAgcmVhZG9ubHkgcHVyZT86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2tlZXAtbmFtZXMgKi9cbiAgcmVhZG9ubHkga2VlcE5hbWVzPzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NvbG9yICovXG4gIHJlYWRvbmx5IGNvbG9yPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctbGV2ZWwgKi9cbiAgcmVhZG9ubHkgbG9nTGV2ZWw/OiBMb2dMZXZlbDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctbGltaXQgKi9cbiAgcmVhZG9ubHkgbG9nTGltaXQ/OiBudW1iZXI7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLW92ZXJyaWRlICovXG4gIHJlYWRvbmx5IGxvZ092ZXJyaWRlPzogUmVjb3JkPHN0cmluZywgTG9nTGV2ZWw+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1bmRsZSAqL1xuICByZWFkb25seSBidW5kbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NwbGl0dGluZyAqL1xuICByZWFkb25seSBzcGxpdHRpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3ByZXNlcnZlLXN5bWxpbmtzICovXG4gIHJlYWRvbmx5IHByZXNlcnZlU3ltbGlua3M/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGZpbGUgKi9cbiAgcmVhZG9ubHkgb3V0ZmlsZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtZXRhZmlsZSAqL1xuICByZWFkb25seSBtZXRhZmlsZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0ZGlyICovXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRiYXNlICovXG4gIHJlYWRvbmx5IG91dGJhc2U/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcGxhdGZvcm0gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBQbGF0Zm9ybTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNleHRlcm5hbCAqL1xuICByZWFkb25seSBleHRlcm5hbD86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvYWRlciAqL1xuICByZWFkb25seSBsb2FkZXI/OiB7IFtleHQ6IHN0cmluZ106IExvYWRlciB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3Jlc29sdmUtZXh0ZW5zaW9ucyAqL1xuICByZWFkb25seSByZXNvbHZlRXh0ZW5zaW9ucz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21haW5GaWVsZHMgKi9cbiAgcmVhZG9ubHkgbWFpbkZpZWxkcz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NvbmRpdGlvbnMgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9ucz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dyaXRlICovXG4gIHJlYWRvbmx5IHdyaXRlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhbGxvdy1vdmVyd3JpdGUgKi9cbiAgcmVhZG9ubHkgYWxsb3dPdmVyd3JpdGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RzY29uZmlnICovXG4gIHJlYWRvbmx5IHRzY29uZmlnPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dC1leHRlbnNpb24gKi9cbiAgcmVhZG9ubHkgb3V0RXh0ZW5zaW9uPzogeyBbZXh0OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwdWJsaWMtcGF0aCAqL1xuICByZWFkb25seSBwdWJsaWNQYXRoPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2VudHJ5LW5hbWVzICovXG4gIHJlYWRvbmx5IGVudHJ5TmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY2h1bmstbmFtZXMgKi9cbiAgcmVhZG9ubHkgY2h1bmtOYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhc3NldC1uYW1lcyAqL1xuICByZWFkb25seSBhc3NldE5hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2luamVjdCAqL1xuICByZWFkb25seSBpbmplY3Q/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNiYW5uZXIgKi9cbiAgcmVhZG9ubHkgYmFubmVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZm9vdGVyICovXG4gIHJlYWRvbmx5IGZvb3Rlcj86IHsgW3R5cGU6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2luY3JlbWVudGFsICovXG4gIHJlYWRvbmx5IGluY3JlbWVudGFsPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN3b3JraW5nLWRpcmVjdG9yeSAqL1xuICByZWFkb25seSBhYnNXb3JraW5nRGlyPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI25vZGUtcGF0aHMgKi9cbiAgcmVhZG9ubHkgbm9kZVBhdGhzPzogc3RyaW5nW107IC8vIFRoZSBcIk5PREVfUEFUSFwiIHZhcmlhYmxlIGZyb20gTm9kZS5qc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhdGNoTW9kZSB7XG4gIG9uUmVidWlsZD86IChlcnJvcjogQnVpbGRGYWlsdXJlIHwgbnVsbCwgcmVzdWx0OiBCdWlsZFJlc3VsdCB8IG51bGwpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RkaW5PcHRpb25zIHtcbiAgY29udGVudHM6IHN0cmluZztcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgc291cmNlZmlsZT86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbiAgbm90ZXM6IE5vdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1zcGVjaWZpZWQgZGF0YSB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIHVubW9kaWZpZWQuIFlvdSBjYW5cbiAgICogdXNlIHRoaXMgdG8gc3Rhc2ggdGhlIG9yaWdpbmFsIGVycm9yLCBmb3IgZXhhbXBsZS5cbiAgICovXG4gIGRldGFpbDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24ge1xuICBmaWxlOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICAvKiogMS1iYXNlZCAqL1xuICBsaW5lOiBudW1iZXI7XG4gIC8qKiAwLWJhc2VkLCBpbiBieXRlcyAqL1xuICBjb2x1bW46IG51bWJlcjtcbiAgLyoqIGluIGJ5dGVzICovXG4gIGxlbmd0aDogbnVtYmVyO1xuICBsaW5lVGV4dDogc3RyaW5nO1xuICBzdWdnZXN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RmlsZSB7XG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFwidGV4dFwiIGFzIGJ5dGVzICovXG4gIGNvbnRlbnRzOiBVaW50OEFycmF5O1xuICAvKiogXCJjb250ZW50c1wiIGFzIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW52YWxpZGF0ZSB7XG4gICgpOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+O1xuICBkaXNwb3NlKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbmNyZW1lbnRhbCBleHRlbmRzIEJ1aWxkUmVzdWx0IHtcbiAgcmVidWlsZDogQnVpbGRJbnZhbGlkYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJ3cml0ZTogZmFsc2VcIiAqL1xuICBvdXRwdXRGaWxlcz86IE91dHB1dEZpbGVbXTtcbiAgLyoqIE9ubHkgd2hlbiBcImluY3JlbWVudGFsOiB0cnVlXCIgKi9cbiAgcmVidWlsZD86IEJ1aWxkSW52YWxpZGF0ZTtcbiAgLyoqIE9ubHkgd2hlbiBcIndhdGNoOiB0cnVlXCIgKi9cbiAgc3RvcD86ICgpID0+IHZvaWQ7XG4gIC8qKiBPbmx5IHdoZW4gXCJtZXRhZmlsZTogdHJ1ZVwiICovXG4gIG1ldGFmaWxlPzogTWV0YWZpbGU7XG4gIC8qKiBPbmx5IHdoZW4gXCJtYW5nbGVDYWNoZVwiIGlzIHByZXNlbnQgKi9cbiAgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRGYWlsdXJlIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1hcmd1bWVudHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPcHRpb25zIHtcbiAgcG9ydD86IG51bWJlcjtcbiAgaG9zdD86IHN0cmluZztcbiAgc2VydmVkaXI/OiBzdHJpbmc7XG4gIG9uUmVxdWVzdD86IChhcmdzOiBTZXJ2ZU9uUmVxdWVzdEFyZ3MpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPblJlcXVlc3RBcmdzIHtcbiAgcmVtb3RlQWRkcmVzczogc3RyaW5nO1xuICBtZXRob2Q6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgLyoqIFRoZSB0aW1lIHRvIGdlbmVyYXRlIHRoZSByZXNwb25zZSwgbm90IHRvIHNlbmQgaXQgKi9cbiAgdGltZUluTVM6IG51bWJlcjtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1yZXR1cm4tdmFsdWVzICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlUmVzdWx0IHtcbiAgcG9ydDogbnVtYmVyO1xuICBob3N0OiBzdHJpbmc7XG4gIHdhaXQ6IFByb21pc2U8dm9pZD47XG4gIHN0b3A6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICByZWFkb25seSB0c2NvbmZpZ1Jhdz86IHN0cmluZztcblxuICByZWFkb25seSBzb3VyY2VmaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBsb2FkZXI/OiBMb2FkZXI7XG4gIHJlYWRvbmx5IGJhbm5lcj86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9vdGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybVJlc3VsdCB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWFwOiBzdHJpbmc7XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJtYW5nbGVDYWNoZVwiIGlzIHByZXNlbnQgKi9cbiAgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtRmFpbHVyZSBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzZXR1cDogKGJ1aWxkOiBQbHVnaW5CdWlsZCkgPT4gKHZvaWQgfCBQcm9taXNlPHZvaWQ+KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZCB7XG4gIGluaXRpYWxPcHRpb25zOiBCdWlsZE9wdGlvbnM7XG4gIHJlc29sdmUocGF0aDogc3RyaW5nLCBvcHRpb25zPzogUmVzb2x2ZU9wdGlvbnMpOiBQcm9taXNlPFJlc29sdmVSZXN1bHQ+O1xuXG4gIG9uU3RhcnQoY2FsbGJhY2s6ICgpID0+XG4gIChPblN0YXJ0UmVzdWx0IHwgbnVsbCB8IHZvaWQgfCBQcm9taXNlPE9uU3RhcnRSZXN1bHQgfCBudWxsIHwgdm9pZD4pKTogdm9pZDtcbiAgb25FbmQoY2FsbGJhY2s6IChyZXN1bHQ6IEJ1aWxkUmVzdWx0KSA9PlxuICAodm9pZCB8IFByb21pc2U8dm9pZD4pKTogdm9pZDtcbiAgb25SZXNvbHZlKG9wdGlvbnM6IE9uUmVzb2x2ZU9wdGlvbnMsIGNhbGxiYWNrOiAoYXJnczogT25SZXNvbHZlQXJncykgPT5cbiAgKE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQ+KSk6IHZvaWQ7XG4gIG9uTG9hZChvcHRpb25zOiBPbkxvYWRPcHRpb25zLCBjYWxsYmFjazogKGFyZ3M6IE9uTG9hZEFyZ3MpID0+XG4gIChPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPikpOiB2b2lkO1xuXG4gIC8vIFRoaXMgaXMgYSBmdWxsIGNvcHkgb2YgdGhlIGVzYnVpbGQgbGlicmFyeSBpbiBjYXNlIHlvdSBuZWVkIGl0XG4gIGVzYnVpbGQ6IHtcbiAgICBzZXJ2ZTogdHlwZW9mIHNlcnZlO1xuICAgIGJ1aWxkOiB0eXBlb2YgYnVpbGQ7XG4gICAgYnVpbGRTeW5jOiB0eXBlb2YgYnVpbGRTeW5jO1xuICAgIHRyYW5zZm9ybTogdHlwZW9mIHRyYW5zZm9ybTtcbiAgICB0cmFuc2Zvcm1TeW5jOiB0eXBlb2YgdHJhbnNmb3JtU3luYztcbiAgICBmb3JtYXRNZXNzYWdlczogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzO1xuICAgIGZvcm1hdE1lc3NhZ2VzU3luYzogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzU3luYztcbiAgICBhbmFseXplTWV0YWZpbGU6IHR5cGVvZiBhbmFseXplTWV0YWZpbGU7XG4gICAgYW5hbHl6ZU1ldGFmaWxlU3luYzogdHlwZW9mIGFuYWx5emVNZXRhZmlsZVN5bmM7XG4gICAgaW5pdGlhbGl6ZTogdHlwZW9mIGluaXRpYWxpemU7XG4gICAgdmVyc2lvbjogdHlwZW9mIHZlcnNpb247XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZU9wdGlvbnMge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuICBpbXBvcnRlcj86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBraW5kPzogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG5cbiAgcGF0aDogc3RyaW5nO1xuICBleHRlcm5hbDogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM6IGJvb2xlYW47XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uU3RhcnRSZXN1bHQge1xuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlT3B0aW9ucyB7XG4gIGZpbHRlcjogUmVnRXhwO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlQXJncyB7XG4gIHBhdGg6IHN0cmluZztcbiAgaW1wb3J0ZXI6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHJlc29sdmVEaXI6IHN0cmluZztcbiAga2luZDogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJbXBvcnRLaW5kID1cbiAgfCAnZW50cnktcG9pbnQnXG5cbiAgLy8gSlNcbiAgfCAnaW1wb3J0LXN0YXRlbWVudCdcbiAgfCAncmVxdWlyZS1jYWxsJ1xuICB8ICdkeW5hbWljLWltcG9ydCdcbiAgfCAncmVxdWlyZS1yZXNvbHZlJ1xuXG4gIC8vIENTU1xuICB8ICdpbXBvcnQtcnVsZSdcbiAgfCAndXJsLXRva2VuJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZVJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIHBhdGg/OiBzdHJpbmc7XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM/OiBib29sZWFuO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcGx1Z2luRGF0YT86IGFueTtcblxuICB3YXRjaEZpbGVzPzogc3RyaW5nW107XG4gIHdhdGNoRGlycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZE9wdGlvbnMge1xuICBmaWx0ZXI6IFJlZ0V4cDtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZEFyZ3Mge1xuICBwYXRoOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZFJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIGNvbnRlbnRzPzogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xuICBwbHVnaW5EYXRhPzogYW55O1xuXG4gIHdhdGNoRmlsZXM/OiBzdHJpbmdbXTtcbiAgd2F0Y2hEaXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbE1lc3NhZ2Uge1xuICBpZD86IHN0cmluZztcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG4gIG5vdGVzPzogUGFydGlhbE5vdGVbXTtcbiAgZGV0YWlsPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxOb3RlIHtcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWZpbGUge1xuICBpbnB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kO1xuICAgICAgfVtdO1xuICAgIH07XG4gIH07XG4gIG91dHB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGlucHV0czoge1xuICAgICAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgICAgIGJ5dGVzSW5PdXRwdXQ6IG51bWJlcjtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBpbXBvcnRzOiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAga2luZDogSW1wb3J0S2luZDtcbiAgICAgIH1bXTtcbiAgICAgIGV4cG9ydHM6IHN0cmluZ1tdO1xuICAgICAgZW50cnlQb2ludD86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyB7XG4gIGtpbmQ6ICdlcnJvcicgfCAnd2FybmluZyc7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdGVybWluYWxXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXplTWV0YWZpbGVPcHRpb25zIHtcbiAgY29sb3I/OiBib29sZWFuO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGludm9rZXMgdGhlIFwiZXNidWlsZFwiIGNvbW1hbmQtbGluZSB0b29sIGZvciB5b3UuIEl0IHJldHVybnMgYVxuICogcHJvbWlzZSB0aGF0IGVpdGhlciByZXNvbHZlcyB3aXRoIGEgXCJCdWlsZFJlc3VsdFwiIG9iamVjdCBvciByZWplY3RzIHdpdGggYVxuICogXCJCdWlsZEZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWU7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWwgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPEJ1aWxkUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gXCJidWlsZFwiIGJ1dCBpdCBzZXJ2ZXMgdGhlIHJlc3VsdGluZyBmaWxlcyBvdmVyXG4gKiBIVFRQIG9uIGEgbG9jYWxob3N0IGFkZHJlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIHBvcnQuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc2VydmUoc2VydmVPcHRpb25zOiBTZXJ2ZU9wdGlvbnMsIGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxTZXJ2ZVJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGEgc2luZ2xlIEphdmFTY3JpcHQgZmlsZS4gSXQgY2FuIGJlIHVzZWQgdG8gbWluaWZ5XG4gKiBKYXZhU2NyaXB0LCBjb252ZXJ0IFR5cGVTY3JpcHQvSlNYIHRvIEphdmFTY3JpcHQsIG9yIGNvbnZlcnQgbmV3ZXIgSmF2YVNjcmlwdFxuICogdG8gb2xkZXIgSmF2YVNjcmlwdC4gSXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBpcyBlaXRoZXIgcmVzb2x2ZWQgd2l0aCBhXG4gKiBcIlRyYW5zZm9ybVJlc3VsdFwiIG9iamVjdCBvciByZWplY3RlZCB3aXRoIGEgXCJUcmFuc2Zvcm1GYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFByb21pc2U8VHJhbnNmb3JtUmVzdWx0PjtcblxuLyoqXG4gKiBDb252ZXJ0cyBsb2cgbWVzc2FnZXMgdG8gZm9ybWF0dGVkIG1lc3NhZ2Ugc3RyaW5ncyBzdWl0YWJsZSBmb3IgcHJpbnRpbmcgaW5cbiAqIHRoZSB0ZXJtaW5hbC4gVGhpcyBhbGxvd3MgeW91IHRvIHJldXNlIHRoZSBidWlsdC1pbiBiZWhhdmlvciBvZiBlc2J1aWxkJ3NcbiAqIGxvZyBtZXNzYWdlIGZvcm1hdHRlci4gVGhpcyBpcyBhIGJhdGNoLW9yaWVudGVkIEFQSSBmb3IgZWZmaWNpZW5jeS5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZXMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nW10+O1xuXG4vKipcbiAqIFByZXR0eS1wcmludHMgYW4gYW5hbHlzaXMgb2YgdGhlIG1ldGFmaWxlIEpTT04gdG8gYSBzdHJpbmcuIFRoaXMgaXMganVzdCBmb3JcbiAqIGNvbnZlbmllbmNlIHRvIGJlIGFibGUgdG8gbWF0Y2ggZXNidWlsZCdzIHByZXR0eS1wcmludGluZyBleGFjdGx5LiBJZiB5b3Ugd2FudFxuICogdG8gY3VzdG9taXplIGl0LCB5b3UgY2FuIGp1c3QgaW5zcGVjdCB0aGUgZGF0YSBpbiB0aGUgbWV0YWZpbGUgeW91cnNlbGYuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYnVpbGRcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgd3JpdGU6IGZhbHNlIH0pOiBCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IEJ1aWxkUmVzdWx0O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcInRyYW5zZm9ybVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdHJhbnNmb3JtU3luYyhpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFRyYW5zZm9ybVJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJmb3JtYXRNZXNzYWdlc1wiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzU3luYyhtZXNzYWdlczogUGFydGlhbE1lc3NhZ2VbXSwgb3B0aW9uczogRm9ybWF0TWVzc2FnZXNPcHRpb25zKTogc3RyaW5nW107XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYW5hbHl6ZU1ldGFmaWxlXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYW5hbHl6ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBhbmFseXplTWV0YWZpbGVTeW5jKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBzdHJpbmc7XG5cbi8qKlxuICogVGhpcyBjb25maWd1cmVzIHRoZSBicm93c2VyLWJhc2VkIHZlcnNpb24gb2YgZXNidWlsZC4gSXQgaXMgbmVjZXNzYXJ5IHRvXG4gKiBjYWxsIHRoaXMgZmlyc3QgYW5kIHdhaXQgZm9yIHRoZSByZXR1cm5lZCBwcm9taXNlIHRvIGJlIHJlc29sdmVkIGJlZm9yZVxuICogbWFraW5nIG90aGVyIEFQSSBjYWxscyB3aGVuIHVzaW5nIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzIChcIm9wdGlvbnNcIiBpcyByZXF1aXJlZClcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcnVubmluZy1pbi10aGUtYnJvd3NlclxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBpbml0aWFsaXplKG9wdGlvbnM6IEluaXRpYWxpemVPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBcImVzYnVpbGQud2FzbVwiIGZpbGUuIFRoaXMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHJ1bm5pbmdcbiAgICogZXNidWlsZCBpbiB0aGUgYnJvd3Nlci5cbiAgICovXG4gIHdhc21VUkw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXN1bHQgb2YgY2FsbGluZyBcIm5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKVwiIHdoZXJlIFwiYnVmZmVyXCJcbiAgICogaXMgYSB0eXBlZCBhcnJheSBvciBBcnJheUJ1ZmZlciBjb250YWluaW5nIHRoZSBiaW5hcnkgY29kZSBvZiB0aGVcbiAgICogXCJlc2J1aWxkLndhc21cIiBmaWxlLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIGFzIGFuIGFsdGVybmF0aXZlIHRvIFwid2FzbVVSTFwiIGZvciBlbnZpcm9ubWVudHMgd2hlcmUgaXQnc1xuICAgKiBub3QgcG9zc2libGUgdG8gZG93bmxvYWQgdGhlIFdlYkFzc2VtYmx5IG1vZHVsZS5cbiAgICovXG4gIHdhc21Nb2R1bGU/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgZXNidWlsZCBydW5zIHRoZSBXZWJBc3NlbWJseS1iYXNlZCBicm93c2VyIEFQSSBpbiBhIHdlYiB3b3JrZXJcbiAgICogdG8gYXZvaWQgYmxvY2tpbmcgdGhlIFVJIHRocmVhZC4gVGhpcyBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBcIndvcmtlclwiXG4gICAqIHRvIGZhbHNlLlxuICAgKi9cbiAgd29ya2VyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGxldCB2ZXJzaW9uOiBzdHJpbmc7XG4iXX0=
@@ -1,25 +1,19 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-extraneous-dependencies */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.transformSync = exports.formatMessagesSync = exports.buildSync = void 0;
4
- const which = require("which");
5
- /* eslint-disable import/no-extraneous-dependencies */
6
5
  function esbuild() {
7
6
  try {
8
7
  // eslint-disable-next-line @typescript-eslint/no-require-imports
9
8
  return require('esbuild');
10
9
  }
11
- catch (_one) {
10
+ catch (_unused) {
12
11
  /**
13
12
  * esbuild is not installed. We fallback to use a (hopefully available)
14
13
  * global binary and our bundled polyfill.
15
14
  */
16
- try {
17
- if (!process.env?.ESBUILD_BINARY_PATH) {
18
- process.env.ESBUILD_BINARY_PATH = which.sync('esbuild');
19
- }
20
- }
21
- catch (_two) {
22
- throw new Error('The esbuild binary could not be found in path. Please follow the instructions to ensure esbuild is correctly installed.');
15
+ if (!process.env?.ESBUILD_BINARY_PATH) {
16
+ process.env.ESBUILD_BINARY_PATH = 'esbuild';
23
17
  }
24
18
  // eslint-disable-next-line @typescript-eslint/no-require-imports
25
19
  return require('./esbuild-polyfill');
@@ -28,4 +22,4 @@ function esbuild() {
28
22
  exports.buildSync = esbuild().buildSync;
29
23
  exports.formatMessagesSync = esbuild().formatMessagesSync;
30
24
  exports.transformSync = esbuild().transformSync;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2VzYnVpbGQtd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBK0I7QUFFL0Isc0RBQXNEO0FBRXRELFNBQVMsT0FBTztJQUNkLElBQUk7UUFDRixpRUFBaUU7UUFDakUsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDM0I7SUFBQyxPQUFPLElBQUksRUFBRTtRQUNiOzs7V0FHRztRQUNILElBQUk7WUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsRUFBRTtnQkFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3pEO1NBQ0Y7UUFBQyxPQUFPLElBQUksRUFBRTtZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUhBQXlILENBQUMsQ0FBQztTQUM1STtRQUVELGlFQUFpRTtRQUNqRSxPQUFPLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBQ3RDO0FBQ0gsQ0FBQztBQUVZLFFBQUEsU0FBUyxHQUFHLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztBQUNoQyxRQUFBLGtCQUFrQixHQUFHLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO0FBQ2xELFFBQUEsYUFBYSxHQUFHLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHdoaWNoIGZyb20gJ3doaWNoJztcblxuLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzICovXG5cbmZ1bmN0aW9uIGVzYnVpbGQoKSB7XG4gIHRyeSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICByZXR1cm4gcmVxdWlyZSgnZXNidWlsZCcpO1xuICB9IGNhdGNoIChfb25lKSB7XG4gICAgLyoqXG4gICAgICogZXNidWlsZCBpcyBub3QgaW5zdGFsbGVkLiBXZSBmYWxsYmFjayB0byB1c2UgYSAoaG9wZWZ1bGx5IGF2YWlsYWJsZSlcbiAgICAgKiBnbG9iYWwgYmluYXJ5IGFuZCBvdXIgYnVuZGxlZCBwb2x5ZmlsbC5cbiAgICAgKi9cbiAgICB0cnkge1xuICAgICAgaWYgKCFwcm9jZXNzLmVudj8uRVNCVUlMRF9CSU5BUllfUEFUSCkge1xuICAgICAgICBwcm9jZXNzLmVudi5FU0JVSUxEX0JJTkFSWV9QQVRIID0gd2hpY2guc3luYygnZXNidWlsZCcpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKF90d28pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGhlIGVzYnVpbGQgYmluYXJ5IGNvdWxkIG5vdCBiZSBmb3VuZCBpbiBwYXRoLiBQbGVhc2UgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgdG8gZW5zdXJlIGVzYnVpbGQgaXMgY29ycmVjdGx5IGluc3RhbGxlZC4nKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuICAgIHJldHVybiByZXF1aXJlKCcuL2VzYnVpbGQtcG9seWZpbGwnKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRTeW5jID0gZXNidWlsZCgpLmJ1aWxkU3luYztcbmV4cG9ydCBjb25zdCBmb3JtYXRNZXNzYWdlc1N5bmMgPSBlc2J1aWxkKCkuZm9ybWF0TWVzc2FnZXNTeW5jO1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybVN5bmMgPSBlc2J1aWxkKCkudHJhbnNmb3JtU3luYztcbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2VzYnVpbGQtd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0RBQXNEOzs7QUFFdEQsU0FBUyxPQUFPO0lBQ2QsSUFBSTtRQUNGLGlFQUFpRTtRQUNqRSxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMzQjtJQUFDLE9BQU8sT0FBTyxFQUFFO1FBQ2hCOzs7V0FHRztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLG1CQUFtQixFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1NBQzdDO1FBRUQsaUVBQWlFO1FBQ2pFLE9BQU8sT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FDdEM7QUFDSCxDQUFDO0FBRVksUUFBQSxTQUFTLEdBQUcsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO0FBQ2hDLFFBQUEsa0JBQWtCLEdBQUcsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7QUFDbEQsUUFBQSxhQUFhLEdBQUcsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzICovXG5cbmZ1bmN0aW9uIGVzYnVpbGQoKSB7XG4gIHRyeSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbiAgICByZXR1cm4gcmVxdWlyZSgnZXNidWlsZCcpO1xuICB9IGNhdGNoIChfdW51c2VkKSB7XG4gICAgLyoqXG4gICAgICogZXNidWlsZCBpcyBub3QgaW5zdGFsbGVkLiBXZSBmYWxsYmFjayB0byB1c2UgYSAoaG9wZWZ1bGx5IGF2YWlsYWJsZSlcbiAgICAgKiBnbG9iYWwgYmluYXJ5IGFuZCBvdXIgYnVuZGxlZCBwb2x5ZmlsbC5cbiAgICAgKi9cbiAgICBpZiAoIXByb2Nlc3MuZW52Py5FU0JVSUxEX0JJTkFSWV9QQVRIKSB7XG4gICAgICBwcm9jZXNzLmVudi5FU0JVSUxEX0JJTkFSWV9QQVRIID0gJ2VzYnVpbGQnO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gICAgcmV0dXJuIHJlcXVpcmUoJy4vZXNidWlsZC1wb2x5ZmlsbCcpO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBidWlsZFN5bmMgPSBlc2J1aWxkKCkuYnVpbGRTeW5jO1xuZXhwb3J0IGNvbnN0IGZvcm1hdE1lc3NhZ2VzU3luYyA9IGVzYnVpbGQoKS5mb3JtYXRNZXNzYWdlc1N5bmM7XG5leHBvcnQgY29uc3QgdHJhbnNmb3JtU3luYyA9IGVzYnVpbGQoKS50cmFuc2Zvcm1TeW5jO1xuIl19
package/lib/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { BuildOptions, TransformOptions, } from './esbuild-types';
2
2
  export { EsbuildBundler, BundlerProps, } from './bundler';
3
- export { Asset, AssetBaseProps, AssetProps, JavaScriptAsset, TypeScriptAsset, } from './asset';
4
- export { Code, CodeConfig, JavaScriptCode, JavaScriptCodeProps, TypeScriptCode, TypeScriptCodeProps, } from './code';
3
+ export { AssetBaseProps, AssetProps, EsbuildAsset, JavaScriptAsset, TypeScriptAsset, } from './asset';
4
+ export { CodeConfig, EsbuildCode, JavaScriptCode, JavaScriptCodeProps, TypeScriptCode, TypeScriptCodeProps, } from './code';
5
5
  export { TransformerProps, InlineJavaScriptCode, InlineJsxCode, InlineTsxCode, InlineTypeScriptCode, } from './inline-code';
6
6
  export { JavaScriptSource, JavaScriptSourceProps, TypeScriptSource, TypeScriptSourceProps, } from './source';