@flit/cdk-pipeline 1.0.1 → 1.0.2

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/dist/segment.js CHANGED
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
+ var _a, _b;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Segment = void 0;
4
+ exports.SegmentConstructed = exports.Segment = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const constructs_1 = require("constructs");
4
7
  class Segment {
5
- isSource = false;
6
- isPipeline = false;
7
- dependencies;
8
- inputs;
9
- outputs;
10
8
  constructor(props) {
9
+ this.isSource = false;
10
+ this.isPipeline = false;
11
+ this.inputs = [];
12
+ this.outputs = [];
11
13
  if (props.input) {
12
14
  this.inputs = (props.input.constructor.name === "Array" ? props.input : [props.input]);
15
+ this.inputs.forEach((artifact) => {
16
+ artifact.consume(this);
17
+ }, this);
13
18
  }
14
19
  if (props.output) {
15
20
  this.outputs = (props.output.constructor.name === "Array"
@@ -20,9 +25,18 @@ class Segment {
20
25
  }, this);
21
26
  }
22
27
  }
23
- build(scope) {
24
- throw new Error("Method not implemented.");
25
- }
26
28
  }
29
+ _a = JSII_RTTI_SYMBOL_1;
30
+ Segment[_a] = { fqn: "@flit/cdk-pipeline.Segment", version: "1.0.2" };
27
31
  exports.Segment = Segment;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBLE1BQWEsT0FBTztJQUNULFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUNyQyxZQUFZLENBQVc7SUFDZCxNQUFNLENBQWM7SUFDcEIsT0FBTyxDQUFjO0lBQzlCLFlBQVksS0FBbUI7UUFDN0IsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUNaLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUN6RCxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FDYixLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTztnQkFDdkMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNO2dCQUNkLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FDTCxDQUFDO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO2dCQUMxQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFnQjtRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBMUJELDBCQTBCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5cbmltcG9ydCB7IEFydGlmYWN0IH0gZnJvbSBcIi4vYXJ0aWZhY3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWdtZW50UHJvcHMge1xuICBpbnB1dD86IEFydGlmYWN0IHwgQXJ0aWZhY3RbXTtcbiAgb3V0cHV0PzogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xufVxuXG5leHBvcnQgY2xhc3MgU2VnbWVudCB7XG4gIHJlYWRvbmx5IGlzU291cmNlOiBib29sZWFuID0gZmFsc2U7XG4gIHJlYWRvbmx5IGlzUGlwZWxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZGVwZW5kZW5jaWVzPzogU3RhY2tbXTtcbiAgcmVhZG9ubHkgaW5wdXRzPzogQXJ0aWZhY3RbXTtcbiAgcmVhZG9ubHkgb3V0cHV0cz86IEFydGlmYWN0W107XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTZWdtZW50UHJvcHMpIHtcbiAgICBpZiAocHJvcHMuaW5wdXQpIHtcbiAgICAgIHRoaXMuaW5wdXRzID0gKFxuICAgICAgICBwcm9wcy5pbnB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCIgPyBwcm9wcy5pbnB1dCA6IFtwcm9wcy5pbnB1dF1cbiAgICAgICkgYXMgQXJ0aWZhY3RbXTtcbiAgICB9XG4gICAgaWYgKHByb3BzLm91dHB1dCkge1xuICAgICAgdGhpcy5vdXRwdXRzID0gKFxuICAgICAgICBwcm9wcy5vdXRwdXQuY29uc3RydWN0b3IubmFtZSA9PT0gXCJBcnJheVwiXG4gICAgICAgICAgPyBwcm9wcy5vdXRwdXRcbiAgICAgICAgICA6IFtwcm9wcy5vdXRwdXRdXG4gICAgICApIGFzIEFydGlmYWN0W107XG4gICAgICB0aGlzLm91dHB1dHMuZm9yRWFjaCgoYXJ0aWZhY3Q6IEFydGlmYWN0KSA9PiB7XG4gICAgICAgIGFydGlmYWN0LnByb2R1Y2UodGhpcyk7XG4gICAgICB9LCB0aGlzKTtcbiAgICB9XG4gIH1cbiAgYnVpbGQoc2NvcGU6IENvbnN0cnVjdCk6IElTZWdtZW50QnVpbGQge1xuICAgIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlZ21lbnRCdWlsZCB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgYWN0aW9uczogSUFjdGlvbltdO1xufVxuIl19
32
+ class SegmentConstructed extends constructs_1.Construct {
33
+ constructor() {
34
+ super(...arguments);
35
+ this.name = "";
36
+ this.actions = [];
37
+ }
38
+ }
39
+ _b = JSII_RTTI_SYMBOL_1;
40
+ SegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.SegmentConstructed", version: "1.0.2" };
41
+ exports.SegmentConstructed = SegmentConstructed;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQXVDO0FBWXZDLE1BQXNCLE9BQU87SUFNM0IsWUFBWSxLQUFtQjtRQUx0QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFFNUIsV0FBTSxHQUFlLEVBQUUsQ0FBQztRQUN4QixZQUFPLEdBQWUsRUFBRSxDQUFDO1FBRWhDLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FDWixLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDekQsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDekMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVjtRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLE9BQU87Z0JBQ3ZDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDZCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQ0wsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDMUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDVjtJQUNILENBQUM7Ozs7QUF6Qm1CLDBCQUFPO0FBNkI3QixNQUFzQixrQkFBbUIsU0FBUSxzQkFBUztJQUExRDs7UUFDVyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFlBQU8sR0FBYyxFQUFFLENBQUM7S0FDbEM7Ozs7QUFIcUIsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcblxuaW1wb3J0IHsgQXJ0aWZhY3QgfSBmcm9tIFwiLi9hcnRpZmFjdFwiO1xuaW1wb3J0IHsgUGlwZWxpbmUgfSBmcm9tIFwiLi9waXBlbGluZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlZ21lbnRQcm9wcyB7XG4gIHJlYWRvbmx5IGlucHV0PzogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdCB8IEFydGlmYWN0W107XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTZWdtZW50IHtcbiAgcmVhZG9ubHkgaXNTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmVhZG9ubHkgaXNQaXBlbGluZTogYm9vbGVhbiA9IGZhbHNlO1xuICByZWFkb25seSBkZXBlbmRlbmNpZXM/OiBTdGFja1tdO1xuICByZWFkb25seSBpbnB1dHM6IEFydGlmYWN0W10gPSBbXTtcbiAgcmVhZG9ubHkgb3V0cHV0czogQXJ0aWZhY3RbXSA9IFtdO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU2VnbWVudFByb3BzKSB7XG4gICAgaWYgKHByb3BzLmlucHV0KSB7XG4gICAgICB0aGlzLmlucHV0cyA9IChcbiAgICAgICAgcHJvcHMuaW5wdXQuY29uc3RydWN0b3IubmFtZSA9PT0gXCJBcnJheVwiID8gcHJvcHMuaW5wdXQgOiBbcHJvcHMuaW5wdXRdXG4gICAgICApIGFzIEFydGlmYWN0W107XG4gICAgICB0aGlzLmlucHV0cy5mb3JFYWNoKChhcnRpZmFjdDogQXJ0aWZhY3QpID0+IHtcbiAgICAgICAgYXJ0aWZhY3QuY29uc3VtZSh0aGlzKTtcbiAgICAgIH0sIHRoaXMpO1xuICAgIH1cbiAgICBpZiAocHJvcHMub3V0cHV0KSB7XG4gICAgICB0aGlzLm91dHB1dHMgPSAoXG4gICAgICAgIHByb3BzLm91dHB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCJcbiAgICAgICAgICA/IHByb3BzLm91dHB1dFxuICAgICAgICAgIDogW3Byb3BzLm91dHB1dF1cbiAgICAgICkgYXMgQXJ0aWZhY3RbXTtcbiAgICAgIHRoaXMub3V0cHV0cy5mb3JFYWNoKChhcnRpZmFjdDogQXJ0aWZhY3QpID0+IHtcbiAgICAgICAgYXJ0aWZhY3QucHJvZHVjZSh0aGlzKTtcbiAgICAgIH0sIHRoaXMpO1xuICAgIH1cbiAgfVxuICBhYnN0cmFjdCBjb25zdHJ1Y3Qoc2NvcGU6IFBpcGVsaW5lKTogU2VnbWVudENvbnN0cnVjdGVkO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VnbWVudENvbnN0cnVjdGVkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nID0gXCJcIjtcbiAgcmVhZG9ubHkgYWN0aW9uczogSUFjdGlvbltdID0gW107XG59XG4iXX0=
@@ -1,28 +1,45 @@
1
- import { Construct } from "constructs";
2
1
  import { IAction } from "aws-cdk-lib/aws-codepipeline";
3
- import { GitHubSourceActionProps } from "aws-cdk-lib/aws-codepipeline-actions";
2
+ import { GitHubTrigger } from "aws-cdk-lib/aws-codepipeline-actions";
3
+ import { Pipeline } from "./pipeline";
4
+ import { SecretValue } from "aws-cdk-lib";
4
5
  import { Artifact } from "./artifact";
5
- import { Segment, SegmentProps, ISegmentBuild } from "./segment";
6
- export interface SourceSegmentProps extends SegmentProps {
7
- output: Artifact;
6
+ import { Segment, SegmentConstructed } from "./segment";
7
+ export interface SourceSegmentProps {
8
+ readonly output: Artifact;
8
9
  }
9
- export declare class SourceSegment extends Segment {
10
+ export declare abstract class SourceSegment extends Segment {
10
11
  readonly isSource: boolean;
11
- constructor(props: SourceSegmentProps);
12
12
  }
13
- export interface GitHubSourceSegmentProps extends SourceSegmentProps, GitHubSourceActionProps {
14
- output: Artifact;
13
+ export interface GitHubSourceSegmentProps extends SourceSegmentProps {
14
+ readonly oauthToken: SecretValue;
15
+ readonly owner: string;
16
+ readonly repo: string;
17
+ readonly branch?: string;
18
+ readonly runOrder?: number;
19
+ readonly trigger?: GitHubTrigger;
20
+ readonly variablesNamespace?: string;
15
21
  }
22
+ /**
23
+ * @category Segments
24
+ */
16
25
  export declare class GitHubSourceSegment extends SourceSegment {
17
26
  private props;
18
27
  constructor(props: GitHubSourceSegmentProps);
19
- build(scope: Construct): GitHubSourceSegmentBuild;
28
+ construct(scope: Pipeline): SegmentConstructed;
20
29
  }
21
- export interface GitHubSourceSegmentBuildProps extends GitHubSourceActionProps {
22
- output: Artifact;
30
+ export interface GitHubSourceSegmentConstructedProps {
31
+ readonly output: Artifact;
32
+ readonly actionName: string;
33
+ readonly oauthToken: SecretValue;
34
+ readonly owner: string;
35
+ readonly repo: string;
36
+ readonly branch?: string;
37
+ readonly runOrder?: number;
38
+ readonly trigger?: GitHubTrigger;
39
+ readonly variablesNamespace?: string;
23
40
  }
24
- export declare class GitHubSourceSegmentBuild extends Construct implements ISegmentBuild {
25
- name: string;
26
- actions: IAction[];
27
- constructor(scope: Construct, id: string, props: GitHubSourceSegmentBuildProps);
41
+ export declare class GitHubSourceSegmentConstructed extends SegmentConstructed {
42
+ readonly name: string;
43
+ readonly actions: IAction[];
44
+ constructor(scope: Pipeline, id: string, props: GitHubSourceSegmentConstructedProps);
28
45
  }
@@ -1,34 +1,45 @@
1
1
  "use strict";
2
+ var _a, _b, _c;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GitHubSourceSegmentBuild = exports.GitHubSourceSegment = exports.SourceSegment = void 0;
4
- const constructs_1 = require("constructs");
4
+ exports.GitHubSourceSegmentConstructed = exports.GitHubSourceSegment = exports.SourceSegment = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
6
  const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
6
7
  const segment_1 = require("./segment");
7
8
  class SourceSegment extends segment_1.Segment {
8
- isSource = true;
9
- constructor(props) {
10
- super(props);
9
+ constructor() {
10
+ super(...arguments);
11
+ this.isSource = true;
11
12
  }
12
13
  }
14
+ _a = JSII_RTTI_SYMBOL_1;
15
+ SourceSegment[_a] = { fqn: "@flit/cdk-pipeline.SourceSegment", version: "1.0.2" };
13
16
  exports.SourceSegment = SourceSegment;
17
+ /**
18
+ * @category Segments
19
+ */
14
20
  class GitHubSourceSegment extends SourceSegment {
15
- props;
16
21
  constructor(props) {
17
22
  super(props);
18
23
  this.props = props;
19
24
  }
20
- build(scope) {
21
- return new GitHubSourceSegmentBuild(scope, this.props.repo, this.props);
25
+ construct(scope) {
26
+ return new GitHubSourceSegmentConstructed(scope, this.props.repo, {
27
+ ...this.props,
28
+ actionName: this.props.repo,
29
+ });
22
30
  }
23
31
  }
32
+ _b = JSII_RTTI_SYMBOL_1;
33
+ GitHubSourceSegment[_b] = { fqn: "@flit/cdk-pipeline.GitHubSourceSegment", version: "1.0.2" };
24
34
  exports.GitHubSourceSegment = GitHubSourceSegment;
25
- class GitHubSourceSegmentBuild extends constructs_1.Construct {
26
- name;
27
- actions;
35
+ class GitHubSourceSegmentConstructed extends segment_1.SegmentConstructed {
28
36
  constructor(scope, id, props) {
29
37
  super(scope, id);
38
+ this.name = "Source";
30
39
  this.actions = [new aws_codepipeline_actions_1.GitHubSourceAction(props)];
31
40
  }
32
41
  }
33
- exports.GitHubSourceSegmentBuild = GitHubSourceSegmentBuild;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc291cmNlLXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsMkNBQXVDO0FBRXZDLG1GQU84QztBQUs5Qyx1Q0FBaUU7QUFNakUsTUFBYSxhQUFjLFNBQVEsaUJBQU87SUFDL0IsUUFBUSxHQUFZLElBQUksQ0FBQztJQUNsQyxZQUFZLEtBQXlCO1FBQ25DLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDRjtBQUxELHNDQUtDO0FBUUQsTUFBYSxtQkFBb0IsU0FBUSxhQUFhO0lBQzVDLEtBQUssQ0FBMkI7SUFDeEMsWUFBWSxLQUErQjtRQUN6QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBQ0QsS0FBSyxDQUFDLEtBQWdCO1FBQ3BCLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQVRELGtEQVNDO0FBTUQsTUFBYSx3QkFDWCxTQUFRLHNCQUFTO0lBR2pCLElBQUksQ0FBUztJQUNiLE9BQU8sQ0FBWTtJQUVuQixZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFvQztRQUVwQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLDZDQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBaEJELDREQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBDb2RlQ29tbWl0U291cmNlQWN0aW9uLFxuICBDb2RlU3RhckNvbm5lY3Rpb25zU291cmNlQWN0aW9uLFxuICBFY3JTb3VyY2VBY3Rpb24sXG4gIEdpdEh1YlNvdXJjZUFjdGlvbixcbiAgR2l0SHViU291cmNlQWN0aW9uUHJvcHMsXG4gIFMzU291cmNlQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBQdWJsaXNoQXNzZXRzQWN0aW9uIH0gZnJvbSBcIi4vcHVibGlzaC1hc3NldHMtYWN0aW9uXCI7XG5pbXBvcnQgeyBBcnRpZmFjdCB9IGZyb20gXCIuL2FydGlmYWN0XCI7XG5pbXBvcnQgeyBTZWdtZW50LCBTZWdtZW50UHJvcHMsIElTZWdtZW50QnVpbGQgfSBmcm9tIFwiLi9zZWdtZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU291cmNlU2VnbWVudFByb3BzIGV4dGVuZHMgU2VnbWVudFByb3BzIHtcbiAgb3V0cHV0OiBBcnRpZmFjdDtcbn1cblxuZXhwb3J0IGNsYXNzIFNvdXJjZVNlZ21lbnQgZXh0ZW5kcyBTZWdtZW50IHtcbiAgcmVhZG9ubHkgaXNTb3VyY2U6IGJvb2xlYW4gPSB0cnVlO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU291cmNlU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViU291cmNlU2VnbWVudFByb3BzXG4gIGV4dGVuZHMgU291cmNlU2VnbWVudFByb3BzLFxuICAgIEdpdEh1YlNvdXJjZUFjdGlvblByb3BzIHtcbiAgb3V0cHV0OiBBcnRpZmFjdDtcbn1cblxuZXhwb3J0IGNsYXNzIEdpdEh1YlNvdXJjZVNlZ21lbnQgZXh0ZW5kcyBTb3VyY2VTZWdtZW50IHtcbiAgcHJpdmF0ZSBwcm9wczogR2l0SHViU291cmNlU2VnbWVudFByb3BzO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogR2l0SHViU291cmNlU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuICBidWlsZChzY29wZTogQ29uc3RydWN0KTogR2l0SHViU291cmNlU2VnbWVudEJ1aWxkIHtcbiAgICByZXR1cm4gbmV3IEdpdEh1YlNvdXJjZVNlZ21lbnRCdWlsZChzY29wZSwgdGhpcy5wcm9wcy5yZXBvLCB0aGlzLnByb3BzKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdpdEh1YlNvdXJjZVNlZ21lbnRCdWlsZFByb3BzIGV4dGVuZHMgR2l0SHViU291cmNlQWN0aW9uUHJvcHMge1xuICBvdXRwdXQ6IEFydGlmYWN0O1xufVxuXG5leHBvcnQgY2xhc3MgR2l0SHViU291cmNlU2VnbWVudEJ1aWxkXG4gIGV4dGVuZHMgQ29uc3RydWN0XG4gIGltcGxlbWVudHMgSVNlZ21lbnRCdWlsZFxue1xuICBuYW1lOiBzdHJpbmc7XG4gIGFjdGlvbnM6IElBY3Rpb25bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEdpdEh1YlNvdXJjZVNlZ21lbnRCdWlsZFByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmFjdGlvbnMgPSBbbmV3IEdpdEh1YlNvdXJjZUFjdGlvbihwcm9wcyldO1xuICB9XG59XG4iXX0=
42
+ _c = JSII_RTTI_SYMBOL_1;
43
+ GitHubSourceSegmentConstructed[_c] = { fqn: "@flit/cdk-pipeline.GitHubSourceSegmentConstructed", version: "1.0.2" };
44
+ exports.GitHubSourceSegmentConstructed = GitHubSourceSegmentConstructed;
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLXNlZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc291cmNlLXNlZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxtRkFHOEM7QUFLOUMsdUNBQXdEO0FBTXhELE1BQXNCLGFBQWMsU0FBUSxpQkFBTztJQUFuRDs7UUFDVyxhQUFRLEdBQVksSUFBSSxDQUFDO0tBQ25DOzs7O0FBRnFCLHNDQUFhO0FBY25DOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxhQUFhO0lBRXBELFlBQVksS0FBK0I7UUFDekMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFlO1FBQ3ZCLE9BQU8sSUFBSSw4QkFBOEIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEUsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNiLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztBQVhVLGtEQUFtQjtBQTBCaEMsTUFBYSw4QkFBK0IsU0FBUSw0QkFBa0I7SUFHcEUsWUFDRSxLQUFlLEVBQ2YsRUFBVSxFQUNWLEtBQTBDO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksNkNBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7O0FBWFUsd0VBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBHaXRIdWJTb3VyY2VBY3Rpb24sXG4gIEdpdEh1YlRyaWdnZXIsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnNcIjtcbmltcG9ydCB7IFBpcGVsaW5lIH0gZnJvbSBcIi4vcGlwZWxpbmVcIjtcbmltcG9ydCB7IFNlY3JldFZhbHVlIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5cbmltcG9ydCB7IEFydGlmYWN0IH0gZnJvbSBcIi4vYXJ0aWZhY3RcIjtcbmltcG9ydCB7IFNlZ21lbnQsIFNlZ21lbnRDb25zdHJ1Y3RlZCB9IGZyb20gXCIuL3NlZ21lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTb3VyY2VTZWdtZW50UHJvcHMge1xuICByZWFkb25seSBvdXRwdXQ6IEFydGlmYWN0O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU291cmNlU2VnbWVudCBleHRlbmRzIFNlZ21lbnQge1xuICByZWFkb25seSBpc1NvdXJjZTogYm9vbGVhbiA9IHRydWU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViU291cmNlU2VnbWVudFByb3BzIGV4dGVuZHMgU291cmNlU2VnbWVudFByb3BzIHtcbiAgcmVhZG9ubHkgb2F1dGhUb2tlbjogU2VjcmV0VmFsdWU7XG4gIHJlYWRvbmx5IG93bmVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgcmVhZG9ubHkgYnJhbmNoPzogc3RyaW5nO1xuICByZWFkb25seSBydW5PcmRlcj86IG51bWJlcjtcbiAgcmVhZG9ubHkgdHJpZ2dlcj86IEdpdEh1YlRyaWdnZXI7XG4gIHJlYWRvbmx5IHZhcmlhYmxlc05hbWVzcGFjZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAY2F0ZWdvcnkgU2VnbWVudHNcbiAqL1xuZXhwb3J0IGNsYXNzIEdpdEh1YlNvdXJjZVNlZ21lbnQgZXh0ZW5kcyBTb3VyY2VTZWdtZW50IHtcbiAgcHJpdmF0ZSBwcm9wczogR2l0SHViU291cmNlU2VnbWVudFByb3BzO1xuICBjb25zdHJ1Y3Rvcihwcm9wczogR2l0SHViU291cmNlU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgfVxuICBjb25zdHJ1Y3Qoc2NvcGU6IFBpcGVsaW5lKTogU2VnbWVudENvbnN0cnVjdGVkIHtcbiAgICByZXR1cm4gbmV3IEdpdEh1YlNvdXJjZVNlZ21lbnRDb25zdHJ1Y3RlZChzY29wZSwgdGhpcy5wcm9wcy5yZXBvLCB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgYWN0aW9uTmFtZTogdGhpcy5wcm9wcy5yZXBvLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViU291cmNlU2VnbWVudENvbnN0cnVjdGVkUHJvcHMge1xuICByZWFkb25seSBvdXRwdXQ6IEFydGlmYWN0O1xuICByZWFkb25seSBhY3Rpb25OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9hdXRoVG9rZW46IFNlY3JldFZhbHVlO1xuICByZWFkb25seSBvd25lcjogc3RyaW5nO1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcbiAgcmVhZG9ubHkgcnVuT3JkZXI/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHRyaWdnZXI/OiBHaXRIdWJUcmlnZ2VyO1xuICByZWFkb25seSB2YXJpYWJsZXNOYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBHaXRIdWJTb3VyY2VTZWdtZW50Q29uc3RydWN0ZWQgZXh0ZW5kcyBTZWdtZW50Q29uc3RydWN0ZWQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IElBY3Rpb25bXTtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IFBpcGVsaW5lLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEdpdEh1YlNvdXJjZVNlZ21lbnRDb25zdHJ1Y3RlZFByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5uYW1lID0gXCJTb3VyY2VcIjtcbiAgICB0aGlzLmFjdGlvbnMgPSBbbmV3IEdpdEh1YlNvdXJjZUFjdGlvbihwcm9wcyldO1xuICB9XG59XG4iXX0=
@@ -1,33 +1,77 @@
1
1
  import { Stack } from "aws-cdk-lib";
2
- import { Construct } from "constructs";
2
+ import { BuildEnvironmentVariable } from "aws-cdk-lib/aws-codebuild";
3
3
  import { IAction } from "aws-cdk-lib/aws-codepipeline";
4
4
  import { Artifact } from "./artifact";
5
- import { Segment, SegmentProps, ISegmentBuild } from "./segment";
6
- export interface StackSegmentProps extends SegmentProps {
7
- stack: Stack;
8
- command: string | string[];
9
- buildPath: string;
10
- input: Artifact | Artifact[];
11
- output?: Artifact;
12
- manualApproval?: Boolean;
5
+ import { Segment, SegmentConstructed } from "./segment";
6
+ import { Pipeline } from "./pipeline";
7
+ export interface StackSegmentProps {
8
+ /**
9
+ * The stack to be deployed in this segment.
10
+ */
11
+ readonly stack: Stack;
12
+ /**
13
+ * The input arfifact for the build stage.
14
+ */
15
+ readonly input: Artifact | Artifact[];
16
+ /**
17
+ * The command(s) to build the stack.
18
+ * @example "cdk synth StackName --strict --exclusively"
19
+ */
20
+ readonly command: string | string[];
21
+ /**
22
+ * The environmental variables for the build stage.
23
+ */
24
+ readonly environmentVariables?: {
25
+ [key: string]: BuildEnvironmentVariable;
26
+ };
27
+ /**
28
+ * The name of the stack to deploy the changes to.
29
+ * @deafult The name of the given stack.
30
+ */
31
+ readonly stackName?: string;
32
+ /**
33
+ * The AWS account this Action is supposed to operate in.
34
+ */
35
+ readonly account?: string;
36
+ /**
37
+ * The AWS region the given Action resides in.
38
+ */
39
+ readonly region?: string;
40
+ /**
41
+ * The artifact to hold the stack deployment output file.
42
+ * @default no output artifact
43
+ */
44
+ readonly output?: Artifact;
45
+ /**
46
+ * Does this stage require manual approval of the change set?
47
+ * @default false
48
+ */
49
+ readonly manualApproval?: Boolean;
13
50
  }
51
+ /**
52
+ * @category Segments
53
+ */
14
54
  export declare class StackSegment extends Segment {
15
55
  readonly props: StackSegmentProps;
16
- readonly input: Artifact | Artifact[];
17
56
  constructor(props: StackSegmentProps);
18
- build(scope: Construct): StackSegmentBuild;
57
+ construct(scope: Pipeline): SegmentConstructed;
19
58
  }
20
- export interface StackSegmentBuildProps {
21
- stack: Stack;
22
- command: string | string[];
23
- buildPath: string;
24
- input: Artifact;
25
- extraInputs?: Artifact[];
26
- output?: Artifact;
27
- manualApproval?: Boolean;
59
+ export interface StackSegmentConstructedProps {
60
+ readonly stack: Stack;
61
+ readonly command: string | string[];
62
+ readonly environmentVariables?: {
63
+ [key: string]: BuildEnvironmentVariable;
64
+ };
65
+ readonly stackName?: string;
66
+ readonly account?: string;
67
+ readonly region?: string;
68
+ readonly input: Artifact;
69
+ readonly extraInputs?: Artifact[];
70
+ readonly output?: Artifact;
71
+ readonly manualApproval?: Boolean;
28
72
  }
29
- export declare class StackSegmentBuild extends Construct implements ISegmentBuild {
30
- name: string;
31
- actions: IAction[];
32
- constructor(scope: Construct, id: string, props: StackSegmentBuildProps);
73
+ export declare class StackSegmentConstructed extends SegmentConstructed {
74
+ readonly name: string;
75
+ readonly actions: IAction[];
76
+ constructor(scope: Pipeline, id: string, props: StackSegmentConstructedProps);
33
77
  }
@@ -1,40 +1,34 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
2
+ var _a, _b;
5
3
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.StackSegmentBuild = exports.StackSegment = void 0;
7
- const constructs_1 = require("constructs");
4
+ exports.StackSegmentConstructed = exports.StackSegment = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
8
6
  const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
9
7
  const aws_codepipeline_actions_1 = require("aws-cdk-lib/aws-codepipeline-actions");
10
- const path_1 = __importDefault(require("path"));
8
+ const path = require("path");
11
9
  const publish_assets_action_1 = require("./publish-assets-action");
12
10
  const artifact_1 = require("./artifact");
13
11
  const segment_1 = require("./segment");
12
+ /**
13
+ * @category Segments
14
+ */
14
15
  class StackSegment extends segment_1.Segment {
15
- props;
16
- input;
17
16
  constructor(props) {
18
17
  super(props);
19
- this.input = props.input;
20
18
  this.props = props;
21
19
  }
22
- build(scope) {
23
- return new StackSegmentBuild(scope, `Deploy${this.props.stack.stackName}`, {
20
+ construct(scope) {
21
+ return new StackSegmentConstructed(scope, `Deploy${this.props.stack.stackName}`, {
24
22
  ...this.props,
25
- input: this.input.constructor.name === "Array"
26
- ? this.input[0]
27
- : this.input,
28
- extraInputs: this.input.constructor.name === "Array"
29
- ? this.input.slice(1)
30
- : undefined,
23
+ input: this.inputs[0],
24
+ extraInputs: this.inputs.slice(1),
31
25
  });
32
26
  }
33
27
  }
28
+ _a = JSII_RTTI_SYMBOL_1;
29
+ StackSegment[_a] = { fqn: "@flit/cdk-pipeline.StackSegment", version: "1.0.2" };
34
30
  exports.StackSegment = StackSegment;
35
- class StackSegmentBuild extends constructs_1.Construct {
36
- name;
37
- actions;
31
+ class StackSegmentConstructed extends segment_1.SegmentConstructed {
38
32
  constructor(scope, id, props) {
39
33
  super(scope, id);
40
34
  this.name = props.stack.stackName;
@@ -46,6 +40,7 @@ class StackSegmentBuild extends constructs_1.Construct {
46
40
  input: props.input,
47
41
  extraInputs: props.extraInputs,
48
42
  outputs: [buildArtifact],
43
+ environmentVariables: props.environmentVariables,
49
44
  project: new aws_codebuild_1.Project(this, "UpdateCodeBuild", {
50
45
  environment: {
51
46
  computeType: aws_codebuild_1.ComputeType.MEDIUM,
@@ -58,7 +53,7 @@ class StackSegmentBuild extends constructs_1.Construct {
58
53
  install: {
59
54
  "runtime-versions": {
60
55
  docker: 20,
61
- nodejs: 16,
56
+ nodejs: 18,
62
57
  },
63
58
  commands: ["npm ci"],
64
59
  },
@@ -67,7 +62,7 @@ class StackSegmentBuild extends constructs_1.Construct {
67
62
  },
68
63
  },
69
64
  artifacts: {
70
- files: [path_1.default.join(props.buildPath, "**/*")],
65
+ files: [path.join(scope.buildDir, "**/*")],
71
66
  },
72
67
  cache: {
73
68
  paths: ["/root/.npm/**/*"],
@@ -79,15 +74,17 @@ class StackSegmentBuild extends constructs_1.Construct {
79
74
  actionName: "PublishAssets",
80
75
  runOrder: 2,
81
76
  input: buildArtifact,
82
- manifestPath: props.buildPath,
77
+ manifestPath: scope.buildDir,
83
78
  }),
84
79
  new aws_codepipeline_actions_1.CloudFormationCreateReplaceChangeSetAction({
85
80
  actionName: "PrepareChanges",
86
81
  runOrder: 3,
87
- stackName: props.stack.stackName,
82
+ stackName: props.stackName ? props.stackName : props.stack.stackName,
83
+ account: props.account,
84
+ region: props.region,
88
85
  changeSetName: `${props.stack.stackName}Changes`,
89
86
  adminPermissions: true,
90
- templatePath: buildArtifact.atPath(path_1.default.join(props.buildPath, props.stack.templateFile)),
87
+ templatePath: buildArtifact.atPath(path.join(scope.buildDir, props.stack.templateFile)),
91
88
  }),
92
89
  ...(props.manualApproval
93
90
  ? [
@@ -100,7 +97,9 @@ class StackSegmentBuild extends constructs_1.Construct {
100
97
  new aws_codepipeline_actions_1.CloudFormationExecuteChangeSetAction({
101
98
  actionName: "ExecuteChanges",
102
99
  runOrder: props.manualApproval ? 5 : 4,
103
- stackName: props.stack.stackName,
100
+ stackName: props.stackName ? props.stackName : props.stack.stackName,
101
+ account: props.account,
102
+ region: props.region,
104
103
  changeSetName: `${props.stack.stackName}Changes`,
105
104
  output: props.output,
106
105
  outputFileName: props.output
@@ -110,5 +109,7 @@ class StackSegmentBuild extends constructs_1.Construct {
110
109
  ];
111
110
  }
112
111
  }
113
- exports.StackSegmentBuild = StackSegmentBuild;
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLDJDQUF1QztBQUN2Qyw2REFLbUM7QUFFbkMsbUZBSzhDO0FBQzlDLGdEQUF3QjtBQUV4QixtRUFBOEQ7QUFDOUQseUNBQXNDO0FBQ3RDLHVDQUFpRTtBQVdqRSxNQUFhLFlBQWEsU0FBUSxpQkFBTztJQUM5QixLQUFLLENBQW9CO0lBQ3pCLEtBQUssQ0FBd0I7SUFFdEMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFnQjtRQUNwQixPQUFPLElBQUksaUJBQWlCLENBQUMsS0FBSyxFQUFFLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDekUsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNiLEtBQUssRUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssT0FBTztnQkFDckMsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFvQixDQUFDLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFFLElBQUksQ0FBQyxLQUFrQjtZQUM5QixXQUFXLEVBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLE9BQU87Z0JBQ3JDLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDLENBQUMsU0FBUztTQUNoQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF2QkQsb0NBdUJDO0FBWUQsTUFBYSxpQkFBa0IsU0FBUSxzQkFB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RSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxTQUFTO2dCQUNoRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDMUIsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLGFBQWE7b0JBQ3ZDLENBQUMsQ0FBQyxTQUFTO2FBQ2QsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFuRkQsOENBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBCdWlsZFNwZWMsXG4gIENvbXB1dGVUeXBlLFxuICBMaW51eEJ1aWxkSW1hZ2UsXG4gIFByb2plY3QsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcbmltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ3JlYXRlUmVwbGFjZUNoYW5nZVNldEFjdGlvbixcbiAgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uLFxuICBDb2RlQnVpbGRBY3Rpb24sXG4gIE1hbnVhbEFwcHJvdmFsQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBQdWJsaXNoQXNzZXRzQWN0aW9uIH0gZnJvbSBcIi4vcHVibGlzaC1hc3NldHMtYWN0aW9uXCI7XG5pbXBvcnQgeyBBcnRpZmFjdCB9IGZyb20gXCIuL2FydGlmYWN0XCI7XG5pbXBvcnQgeyBTZWdtZW50LCBTZWdtZW50UHJvcHMsIElTZWdtZW50QnVpbGQgfSBmcm9tIFwiLi9zZWdtZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50UHJvcHMgZXh0ZW5kcyBTZWdtZW50UHJvcHMge1xuICBzdGFjazogU3RhY2s7XG4gIGNvbW1hbmQ6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBidWlsZFBhdGg6IHN0cmluZztcbiAgaW5wdXQ6IEFydGlmYWN0IHwgQXJ0aWZhY3RbXTtcbiAgb3V0cHV0PzogQXJ0aWZhY3Q7XG4gIG1hbnVhbEFwcHJvdmFsPzogQm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YWNrU2VnbWVudCBleHRlbmRzIFNlZ21lbnQge1xuICByZWFkb25seSBwcm9wczogU3RhY2tTZWdtZW50UHJvcHM7XG4gIHJlYWRvbmx5IGlucHV0OiBBcnRpZmFjdCB8IEFydGlmYWN0W107XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0YWNrU2VnbWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuaW5wdXQgPSBwcm9wcy5pbnB1dDtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICBidWlsZChzY29wZTogQ29uc3RydWN0KTogU3RhY2tTZWdtZW50QnVpbGQge1xuICAgIHJldHVybiBuZXcgU3RhY2tTZWdtZW50QnVpbGQoc2NvcGUsIGBEZXBsb3kke3RoaXMucHJvcHMuc3RhY2suc3RhY2tOYW1lfWAsIHtcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICBpbnB1dDpcbiAgICAgICAgdGhpcy5pbnB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCJcbiAgICAgICAgICA/ICh0aGlzLmlucHV0IGFzIEFydGlmYWN0W10pWzBdXG4gICAgICAgICAgOiAodGhpcy5pbnB1dCBhcyBBcnRpZmFjdCksXG4gICAgICBleHRyYUlucHV0czpcbiAgICAgICAgdGhpcy5pbnB1dC5jb25zdHJ1Y3Rvci5uYW1lID09PSBcIkFycmF5XCJcbiAgICAgICAgICA/ICh0aGlzLmlucHV0IGFzIEFydGlmYWN0W10pLnNsaWNlKDEpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFja1NlZ21lbnRCdWlsZFByb3BzIHtcbiAgc3RhY2s6IFN0YWNrO1xuICBjb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgYnVpbGRQYXRoOiBzdHJpbmc7XG4gIGlucHV0OiBBcnRpZmFjdDtcbiAgZXh0cmFJbnB1dHM/OiBBcnRpZmFjdFtdO1xuICBvdXRwdXQ/OiBBcnRpZmFjdDtcbiAgbWFudWFsQXBwcm92YWw/OiBCb29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tTZWdtZW50QnVpbGQgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJU2VnbWVudEJ1aWxkIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhY3Rpb25zOiBJQWN0aW9uW107XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNrU2VnbWVudEJ1aWxkUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5uYW1lID0gcHJvcHMuc3RhY2suc3RhY2tOYW1lO1xuXG4gICAgY29uc3QgYnVpbGRBcnRpZmFjdCA9IG5ldyBBcnRpZmFjdCgpO1xuXG4gICAgdGhpcy5hY3Rpb25zID0gW1xuICAgICAgbmV3IENvZGVCdWlsZEFjdGlvbih7XG4gICAgICAgIGFjdGlvbk5hbWU6IFwiQnVpbGRcIixcbiAgICAgICAgcnVuT3JkZXI6IDEsXG4gICAgICAgIGlucHV0OiBwcm9wcy5pbnB1dCxcbiAgICAgICAgZXh0cmFJbnB1dHM6IHByb3BzLmV4dHJhSW5wdXRzLFxuICAgICAgICBvdXRwdXRzOiBbYnVpbGRBcnRpZmFjdF0sXG4gICAgICAgIHByb2plY3Q6IG5ldyBQcm9qZWN0KHRoaXMsIFwiVXBkYXRlQ29kZUJ1aWxkXCIsIHtcbiAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgY29tcHV0ZVR5cGU6IENvbXB1dGVUeXBlLk1FRElVTSxcbiAgICAgICAgICAgIGJ1aWxkSW1hZ2U6IExpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl80LFxuICAgICAgICAgICAgcHJpdmlsZWdlZDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuICAgICAgICAgICAgdmVyc2lvbjogXCIwLjJcIixcbiAgICAgICAgICAgIHBoYXNlczoge1xuICAgICAgICAgICAgICBpbnN0YWxsOiB7XG4gICAgICAgICAgICAgICAgXCJydW50aW1lLXZlcnNpb25zXCI6IHtcbiAgICAgICAgICAgICAgICAgIGRvY2tlcjogMjAsXG4gICAgICAgICAgICAgICAgICBub2RlanM6IDE2LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY29tbWFuZHM6IFtcIm5wbSBjaVwiXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYnVpbGQ6IHtcbiAgICAgICAgICAgICAgICBjb21tYW5kczogcHJvcHMuY29tbWFuZCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICAgICAgZmlsZXM6IFtwYXRoLmpvaW4ocHJvcHMuYnVpbGRQYXRoLCBcIioqLypcIildLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhY2hlOiB7XG4gICAgICAgICAgICAgIHBhdGhzOiBbXCIvcm9vdC8ubnBtLyoqLypcIl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgbmV3IFB1Ymxpc2hBc3NldHNBY3Rpb24odGhpcywgXCJQdWJsaXNoQXNzZXRzXCIsIHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJQdWJsaXNoQXNzZXRzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiAyLFxuICAgICAgICBpbnB1dDogYnVpbGRBcnRpZmFjdCxcbiAgICAgICAgbWFuaWZlc3RQYXRoOiBwcm9wcy5idWlsZFBhdGgsXG4gICAgICB9KSxcbiAgICAgIG5ldyBDbG91ZEZvcm1hdGlvbkNyZWF0ZVJlcGxhY2VDaGFuZ2VTZXRBY3Rpb24oe1xuICAgICAgICBhY3Rpb25OYW1lOiBcIlByZXBhcmVDaGFuZ2VzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiAzLFxuICAgICAgICBzdGFja05hbWU6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgY2hhbmdlU2V0TmFtZTogYCR7cHJvcHMuc3RhY2suc3RhY2tOYW1lfUNoYW5nZXNgLFxuICAgICAgICBhZG1pblBlcm1pc3Npb25zOiB0cnVlLFxuICAgICAgICB0ZW1wbGF0ZVBhdGg6IGJ1aWxkQXJ0aWZhY3QuYXRQYXRoKFxuICAgICAgICAgIHBhdGguam9pbihwcm9wcy5idWlsZFBhdGgsIHByb3BzLnN0YWNrLnRlbXBsYXRlRmlsZSlcbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKHByb3BzLm1hbnVhbEFwcHJvdmFsXG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IE1hbnVhbEFwcHJvdmFsQWN0aW9uKHtcbiAgICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJBcHByb3ZlQ2hhbmdlc1wiLFxuICAgICAgICAgICAgICBydW5PcmRlcjogNCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICBuZXcgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uKHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJFeGVjdXRlQ2hhbmdlc1wiLFxuICAgICAgICBydW5PcmRlcjogcHJvcHMubWFudWFsQXBwcm92YWwgPyA1IDogNCxcbiAgICAgICAgc3RhY2tOYW1lOiBwcm9wcy5zdGFjay5zdGFja05hbWUsXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1DaGFuZ2VzYCxcbiAgICAgICAgb3V0cHV0OiBwcm9wcy5vdXRwdXQsXG4gICAgICAgIG91dHB1dEZpbGVOYW1lOiBwcm9wcy5vdXRwdXRcbiAgICAgICAgICA/IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1PdXRwdXQuanNvbmBcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cbn1cbiJdfQ==
112
+ _b = JSII_RTTI_SYMBOL_1;
113
+ StackSegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.StackSegmentConstructed", version: "1.0.2" };
114
+ exports.StackSegmentConstructed = StackSegmentConstructed;
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsNkRBTW1DO0FBRW5DLG1GQUs4QztBQUM5Qyw2QkFBNkI7QUFFN0IsbUVBQThEO0FBQzlELHlDQUFzQztBQUN0Qyx1Q0FBd0Q7QUE4Q3hEOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsaUJBQU87SUFHdkMsWUFBWSxLQUF3QjtRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWU7UUFDdkIsT0FBTyxJQUFJLHVCQUF1QixDQUNoQyxLQUFLLEVBQ0wsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFDckM7WUFDRSxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7OztBQWxCVSxvQ0FBWTtBQWtDekIsTUFBYSx1QkFBd0IsU0FBUSw0QkFBa0I7SUFJN0QsWUFDRSxLQUFlLEVBQ2YsRUFBVSxFQUNWLEtBQW1DO1FBRW5DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUVsQyxNQUFNLGFBQWEsR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUVyQyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsSUFBSSwwQ0FBZSxDQUFDO2dCQUNsQixVQUFVLEVBQUUsT0FBTztnQkFDbkIsUUFBUSxFQUFF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LENBQUMsS0FBSyxDQUFDLFNBQVMsU0FBUztnQkFDaEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQzFCLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxhQUFhO29CQUN2QyxDQUFDLENBQUMsU0FBUzthQUNkLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQzs7OztBQTNGVSwwREFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlLFxuICBCdWlsZFNwZWMsXG4gIENvbXB1dGVUeXBlLFxuICBMaW51eEJ1aWxkSW1hZ2UsXG4gIFByb2plY3QsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQgeyBJQWN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmVcIjtcbmltcG9ydCB7XG4gIENsb3VkRm9ybWF0aW9uQ3JlYXRlUmVwbGFjZUNoYW5nZVNldEFjdGlvbixcbiAgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uLFxuICBDb2RlQnVpbGRBY3Rpb24sXG4gIE1hbnVhbEFwcHJvdmFsQWN0aW9uLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IFB1Ymxpc2hBc3NldHNBY3Rpb24gfSBmcm9tIFwiLi9wdWJsaXNoLWFzc2V0cy1hY3Rpb25cIjtcbmltcG9ydCB7IEFydGlmYWN0IH0gZnJvbSBcIi4vYXJ0aWZhY3RcIjtcbmltcG9ydCB7IFNlZ21lbnQsIFNlZ21lbnRDb25zdHJ1Y3RlZCB9IGZyb20gXCIuL3NlZ21lbnRcIjtcbmltcG9ydCB7IFBpcGVsaW5lIH0gZnJvbSBcIi4vcGlwZWxpbmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFja1NlZ21lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdG8gYmUgZGVwbG95ZWQgaW4gdGhpcyBzZWdtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2s6IFN0YWNrO1xuICAvKipcbiAgICogVGhlIGlucHV0IGFyZmlmYWN0IGZvciB0aGUgYnVpbGQgc3RhZ2UuXG4gICAqL1xuICByZWFkb25seSBpbnB1dDogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xuICAvKipcbiAgICogVGhlIGNvbW1hbmQocykgdG8gYnVpbGQgdGhlIHN0YWNrLlxuICAgKiBAZXhhbXBsZSBcImNkayBzeW50aCBTdGFja05hbWUgLS1zdHJpY3QgLS1leGNsdXNpdmVseVwiXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudGFsIHZhcmlhYmxlcyBmb3IgdGhlIGJ1aWxkIHN0YWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSB9O1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHN0YWNrIHRvIGRlcGxveSB0aGUgY2hhbmdlcyB0by5cbiAgICogQGRlYWZ1bHQgVGhlIG5hbWUgb2YgdGhlIGdpdmVuIHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFXUyBhY2NvdW50IHRoaXMgQWN0aW9uIGlzIHN1cHBvc2VkIHRvIG9wZXJhdGUgaW4uXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFXUyByZWdpb24gdGhlIGdpdmVuIEFjdGlvbiByZXNpZGVzIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIGFydGlmYWN0IHRvIGhvbGQgdGhlIHN0YWNrIGRlcGxveW1lbnQgb3V0cHV0IGZpbGUuXG4gICAqIEBkZWZhdWx0IG5vIG91dHB1dCBhcnRpZmFjdFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0PzogQXJ0aWZhY3Q7XG4gIC8qKlxuICAgKiBEb2VzIHRoaXMgc3RhZ2UgcmVxdWlyZSBtYW51YWwgYXBwcm92YWwgb2YgdGhlIGNoYW5nZSBzZXQ/XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBtYW51YWxBcHByb3ZhbD86IEJvb2xlYW47XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFNlZ21lbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFja1NlZ21lbnQgZXh0ZW5kcyBTZWdtZW50IHtcbiAgcmVhZG9ubHkgcHJvcHM6IFN0YWNrU2VnbWVudFByb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTdGFja1NlZ21lbnRQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIH1cblxuICBjb25zdHJ1Y3Qoc2NvcGU6IFBpcGVsaW5lKTogU2VnbWVudENvbnN0cnVjdGVkIHtcbiAgICByZXR1cm4gbmV3IFN0YWNrU2VnbWVudENvbnN0cnVjdGVkKFxuICAgICAgc2NvcGUsXG4gICAgICBgRGVwbG95JHt0aGlzLnByb3BzLnN0YWNrLnN0YWNrTmFtZX1gLFxuICAgICAge1xuICAgICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgICBpbnB1dDogdGhpcy5pbnB1dHNbMF0sXG4gICAgICAgIGV4dHJhSW5wdXRzOiB0aGlzLmlucHV0cy5zbGljZSgxKSxcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wcyB7XG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcbiAgcmVhZG9ubHkgY29tbWFuZDogc3RyaW5nIHwgc3RyaW5nW107XG4gIHJlYWRvbmx5IGVudmlyb25tZW50VmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBCdWlsZEVudmlyb25tZW50VmFyaWFibGUgfTtcbiAgcmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlucHV0OiBBcnRpZmFjdDtcbiAgcmVhZG9ubHkgZXh0cmFJbnB1dHM/OiBBcnRpZmFjdFtdO1xuICByZWFkb25seSBvdXRwdXQ/OiBBcnRpZmFjdDtcbiAgcmVhZG9ubHkgbWFudWFsQXBwcm92YWw/OiBCb29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWQgZXh0ZW5kcyBTZWdtZW50Q29uc3RydWN0ZWQge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGFjdGlvbnM6IElBY3Rpb25bXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogUGlwZWxpbmUsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5uYW1lID0gcHJvcHMuc3RhY2suc3RhY2tOYW1lO1xuXG4gICAgY29uc3QgYnVpbGRBcnRpZmFjdCA9IG5ldyBBcnRpZmFjdCgpO1xuXG4gICAgdGhpcy5hY3Rpb25zID0gW1xuICAgICAgbmV3IENvZGVCdWlsZEFjdGlvbih7XG4gICAgICAgIGFjdGlvbk5hbWU6IFwiQnVpbGRcIixcbiAgICAgICAgcnVuT3JkZXI6IDEsXG4gICAgICAgIGlucHV0OiBwcm9wcy5pbnB1dCxcbiAgICAgICAgZXh0cmFJbnB1dHM6IHByb3BzLmV4dHJhSW5wdXRzLFxuICAgICAgICBvdXRwdXRzOiBbYnVpbGRBcnRpZmFjdF0sXG4gICAgICAgIGVudmlyb25tZW50VmFyaWFibGVzOiBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcyxcbiAgICAgICAgcHJvamVjdDogbmV3IFByb2plY3QodGhpcywgXCJVcGRhdGVDb2RlQnVpbGRcIiwge1xuICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTUVESVVNLFxuICAgICAgICAgICAgYnVpbGRJbWFnZTogTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzQsXG4gICAgICAgICAgICBwcml2aWxlZ2VkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICB2ZXJzaW9uOiBcIjAuMlwiLFxuICAgICAgICAgICAgcGhhc2VzOiB7XG4gICAgICAgICAgICAgIGluc3RhbGw6IHtcbiAgICAgICAgICAgICAgICBcInJ1bnRpbWUtdmVyc2lvbnNcIjoge1xuICAgICAgICAgICAgICAgICAgZG9ja2VyOiAyMCxcbiAgICAgICAgICAgICAgICAgIG5vZGVqczogMTgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb21tYW5kczogW1wibnBtIGNpXCJdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgICAgIGNvbW1hbmRzOiBwcm9wcy5jb21tYW5kLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgICAgICBmaWxlczogW3BhdGguam9pbihzY29wZS5idWlsZERpciwgXCIqKi8qXCIpXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYWNoZToge1xuICAgICAgICAgICAgICBwYXRoczogW1wiL3Jvb3QvLm5wbS8qKi8qXCJdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSksXG4gICAgICB9KSxcbiAgICAgIG5ldyBQdWJsaXNoQXNzZXRzQWN0aW9uKHRoaXMsIFwiUHVibGlzaEFzc2V0c1wiLCB7XG4gICAgICAgIGFjdGlvbk5hbWU6IFwiUHVibGlzaEFzc2V0c1wiLFxuICAgICAgICBydW5PcmRlcjogMixcbiAgICAgICAgaW5wdXQ6IGJ1aWxkQXJ0aWZhY3QsXG4gICAgICAgIG1hbmlmZXN0UGF0aDogc2NvcGUuYnVpbGREaXIsXG4gICAgICB9KSxcbiAgICAgIG5ldyBDbG91ZEZvcm1hdGlvbkNyZWF0ZVJlcGxhY2VDaGFuZ2VTZXRBY3Rpb24oe1xuICAgICAgICBhY3Rpb25OYW1lOiBcIlByZXBhcmVDaGFuZ2VzXCIsXG4gICAgICAgIHJ1bk9yZGVyOiAzLFxuICAgICAgICBzdGFja05hbWU6IHByb3BzLnN0YWNrTmFtZSA/IHByb3BzLnN0YWNrTmFtZSA6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcbiAgICAgICAgYWNjb3VudDogcHJvcHMuYWNjb3VudCxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIGNoYW5nZVNldE5hbWU6IGAke3Byb3BzLnN0YWNrLnN0YWNrTmFtZX1DaGFuZ2VzYCxcbiAgICAgICAgYWRtaW5QZXJtaXNzaW9uczogdHJ1ZSxcbiAgICAgICAgdGVtcGxhdGVQYXRoOiBidWlsZEFydGlmYWN0LmF0UGF0aChcbiAgICAgICAgICBwYXRoLmpvaW4oc2NvcGUuYnVpbGREaXIsIHByb3BzLnN0YWNrLnRlbXBsYXRlRmlsZSlcbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICAgLi4uKHByb3BzLm1hbnVhbEFwcHJvdmFsXG4gICAgICAgID8gW1xuICAgICAgICAgICAgbmV3IE1hbnVhbEFwcHJvdmFsQWN0aW9uKHtcbiAgICAgICAgICAgICAgYWN0aW9uTmFtZTogXCJBcHByb3ZlQ2hhbmdlc1wiLFxuICAgICAgICAgICAgICBydW5PcmRlcjogNCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICBuZXcgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uKHtcbiAgICAgICAgYWN0aW9uTmFtZTogXCJFeGVjdXRlQ2hhbmdlc1wiLFxuICAgICAgICBydW5PcmRlcjogcHJvcHMubWFudWFsQXBwcm92YWwgPyA1IDogNCxcbiAgICAgICAgc3RhY2tOYW1lOiBwcm9wcy5zdGFja05hbWUgPyBwcm9wcy5zdGFja05hbWUgOiBwcm9wcy5zdGFjay5zdGFja05hbWUsXG4gICAgICAgIGFjY291bnQ6IHByb3BzLmFjY291bnQsXG4gICAgICAgIHJlZ2lvbjogcHJvcHMucmVnaW9uLFxuICAgICAgICBjaGFuZ2VTZXROYW1lOiBgJHtwcm9wcy5zdGFjay5zdGFja05hbWV9Q2hhbmdlc2AsXG4gICAgICAgIG91dHB1dDogcHJvcHMub3V0cHV0LFxuICAgICAgICBvdXRwdXRGaWxlTmFtZTogcHJvcHMub3V0cHV0XG4gICAgICAgICAgPyBgJHtwcm9wcy5zdGFjay5zdGFja05hbWV9T3V0cHV0Lmpzb25gXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICB9KSxcbiAgICBdO1xuICB9XG59XG4iXX0=