@orcabus/platform-cdk-constructs 0.0.13-beta.0 → 0.0.13

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/.jsii CHANGED
@@ -4610,7 +4610,7 @@
4610
4610
  },
4611
4611
  "locationInModule": {
4612
4612
  "filename": "deployment-stack-pipeline/pipeline.ts",
4613
- "line": 164
4613
+ "line": 171
4614
4614
  },
4615
4615
  "parameters": [
4616
4616
  {
@@ -4636,7 +4636,7 @@
4636
4636
  "kind": "class",
4637
4637
  "locationInModule": {
4638
4638
  "filename": "deployment-stack-pipeline/pipeline.ts",
4639
- "line": 158
4639
+ "line": 165
4640
4640
  },
4641
4641
  "name": "DeploymentStackPipeline",
4642
4642
  "namespace": "deploymentPipeline",
@@ -4649,7 +4649,7 @@
4649
4649
  "immutable": true,
4650
4650
  "locationInModule": {
4651
4651
  "filename": "deployment-stack-pipeline/pipeline.ts",
4652
- "line": 162
4652
+ "line": 169
4653
4653
  },
4654
4654
  "name": "pipeline",
4655
4655
  "type": {
@@ -4684,7 +4684,7 @@
4684
4684
  "immutable": true,
4685
4685
  "locationInModule": {
4686
4686
  "filename": "deployment-stack-pipeline/pipeline.ts",
4687
- "line": 112
4687
+ "line": 119
4688
4688
  },
4689
4689
  "name": "cdkSynthCmd",
4690
4690
  "type": {
@@ -4808,7 +4808,7 @@
4808
4808
  "immutable": true,
4809
4809
  "locationInModule": {
4810
4810
  "filename": "deployment-stack-pipeline/pipeline.ts",
4811
- "line": 118
4811
+ "line": 125
4812
4812
  },
4813
4813
  "name": "cdkOut",
4814
4814
  "optional": true,
@@ -4826,7 +4826,7 @@
4826
4826
  "immutable": true,
4827
4827
  "locationInModule": {
4828
4828
  "filename": "deployment-stack-pipeline/pipeline.ts",
4829
- "line": 133
4829
+ "line": 140
4830
4830
  },
4831
4831
  "name": "enableSlackNotification",
4832
4832
  "optional": true,
@@ -4839,14 +4839,37 @@
4839
4839
  "docs": {
4840
4840
  "remarks": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitfilepathfiltercriteria.html",
4841
4841
  "stability": "experimental",
4842
- "summary": "The file paths to trigger the pipeline. e.g. [\"stateless/**\"]."
4842
+ "summary": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be EXCLUDED from starting the pipeline."
4843
+ },
4844
+ "immutable": true,
4845
+ "locationInModule": {
4846
+ "filename": "deployment-stack-pipeline/pipeline.ts",
4847
+ "line": 115
4848
+ },
4849
+ "name": "excludedFilePaths",
4850
+ "optional": true,
4851
+ "type": {
4852
+ "collection": {
4853
+ "elementtype": {
4854
+ "primitive": "string"
4855
+ },
4856
+ "kind": "array"
4857
+ }
4858
+ }
4859
+ },
4860
+ {
4861
+ "abstract": true,
4862
+ "docs": {
4863
+ "remarks": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitfilepathfiltercriteria.html",
4864
+ "stability": "experimental",
4865
+ "summary": "The list of patterns of Git repository file paths that, when a commit is pushed, are to be INCLUDED as criteria that starts the pipeline."
4843
4866
  },
4844
4867
  "immutable": true,
4845
4868
  "locationInModule": {
4846
4869
  "filename": "deployment-stack-pipeline/pipeline.ts",
4847
4870
  "line": 108
4848
4871
  },
4849
- "name": "filePaths",
4872
+ "name": "includedFilePaths",
4850
4873
  "optional": true,
4851
4874
  "type": {
4852
4875
  "collection": {
@@ -4868,7 +4891,7 @@
4868
4891
  "immutable": true,
4869
4892
  "locationInModule": {
4870
4893
  "filename": "deployment-stack-pipeline/pipeline.ts",
4871
- "line": 141
4894
+ "line": 148
4872
4895
  },
4873
4896
  "name": "notificationEvents",
4874
4897
  "optional": true,
@@ -4892,7 +4915,7 @@
4892
4915
  "immutable": true,
4893
4916
  "locationInModule": {
4894
4917
  "filename": "deployment-stack-pipeline/pipeline.ts",
4895
- "line": 149
4918
+ "line": 156
4896
4919
  },
4897
4920
  "name": "reuseExistingArtifactBucket",
4898
4921
  "optional": true,
@@ -4909,7 +4932,7 @@
4909
4932
  "immutable": true,
4910
4933
  "locationInModule": {
4911
4934
  "filename": "deployment-stack-pipeline/pipeline.ts",
4912
- "line": 128
4935
+ "line": 135
4913
4936
  },
4914
4937
  "name": "stageEnv",
4915
4938
  "optional": true,
@@ -4928,7 +4951,7 @@
4928
4951
  "immutable": true,
4929
4952
  "locationInModule": {
4930
4953
  "filename": "deployment-stack-pipeline/pipeline.ts",
4931
- "line": 124
4954
+ "line": 131
4932
4955
  },
4933
4956
  "name": "synthBuildSpec",
4934
4957
  "optional": true,
@@ -6371,6 +6394,6 @@
6371
6394
  "symbolId": "shared-config/networking:OrcaBusVpc"
6372
6395
  }
6373
6396
  },
6374
- "version": "0.0.13-beta.0",
6375
- "fingerprint": "CxUXlbA9e8qxz9bX7cn2aEg0wnOJK6flcXSfBkwPSes="
6397
+ "version": "0.0.13",
6398
+ "fingerprint": "GI5BayECAgOR7UuIOCEc/8+IF+mwrzKIop/LIyBJxpw="
6376
6399
  }
@@ -15,7 +15,7 @@ const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
15
15
  const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
16
16
  const config_1 = require("./config");
17
17
  class OrcaBusApiGateway extends constructs_1.Construct {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.apigateway.OrcaBusApiGateway", version: "0.0.13-beta.0" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.apigateway.OrcaBusApiGateway", version: "0.0.13" };
19
19
  /**
20
20
  * The AWS region where the API Gateway is deployed.
21
21
  */
@@ -13,7 +13,7 @@ exports.CROSS_DEPLOYMENT_ARTIFACT_BUCKET_NAME = "orcabus-cross-deployment-codepi
13
13
  exports.CROSS_DEPLOYMENT_ARTIFACT_KMS_ALIAS = "orcabus-cross-deployment-codepipeline-artifact";
14
14
  exports.CROSS_DEPLOYMENT_ARTIFACT_KMS_ARN_SSM_PARAMETER_NAME = "/orcabus/deployment-stack-pipeline/artifact-bucket/kms-key-arn";
15
15
  class CrossDeploymentArtifactBucket extends constructs_1.Construct {
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.CrossDeploymentArtifactBucket", version: "0.0.13-beta.0" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.CrossDeploymentArtifactBucket", version: "0.0.13" };
17
17
  /**
18
18
  * The S3 bucket used to store artifacts for cross-deployment pipelines.
19
19
  */
@@ -71,12 +71,19 @@ export interface DeploymentStackPipelineProps {
71
71
  */
72
72
  readonly pipelineName: string;
73
73
  /**
74
- * The file paths to trigger the pipeline. e.g. ["stateless/**"]
74
+ * The list of patterns of Git repository file paths that, when a commit is pushed, are to be INCLUDED as criteria that starts the pipeline.
75
75
  *
76
76
  * https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitfilepathfiltercriteria.html
77
77
  *
78
78
  */
79
- readonly filePaths?: string[];
79
+ readonly includedFilePaths?: string[];
80
+ /**
81
+ * The list of patterns of Git repository file paths that, when a commit is pushed, are to be EXCLUDED from starting the pipeline.
82
+ *
83
+ * https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitfilepathfiltercriteria.html
84
+ *
85
+ */
86
+ readonly excludedFilePaths?: string[];
80
87
  /**
81
88
  * The command to run to synth the cdk stack which also installing the cdk dependencies. e.g. ["yarn install --immutable", "yarn cdk synth"]
82
89
  */
@@ -31,7 +31,7 @@ exports.DEFAULT_SYNTH_STEP_PARTIAL_BUILD_SPEC = {
31
31
  * before using this construct.
32
32
  */
33
33
  class DeploymentStackPipeline extends constructs_1.Construct {
34
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.DeploymentStackPipeline", version: "0.0.13-beta.0" };
34
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.DeploymentStackPipeline", version: "0.0.13" };
35
35
  /**
36
36
  * The code pipeline construct that is created.
37
37
  */
@@ -55,7 +55,14 @@ class DeploymentStackPipeline extends constructs_1.Construct {
55
55
  pipelineName: props.pipelineName,
56
56
  crossAccountKeys: true,
57
57
  });
58
- if (props.filePaths) {
58
+ if (props.includedFilePaths || props.excludedFilePaths) {
59
+ const filePaths = {};
60
+ if (props.includedFilePaths) {
61
+ filePaths["Includes"] = props.includedFilePaths;
62
+ }
63
+ if (props.excludedFilePaths) {
64
+ filePaths["Excludes"] = props.excludedFilePaths;
65
+ }
59
66
  // Add event filter to only trigger if the push event is from `deploy` directory
60
67
  const cfnPipeline = this.pipeline.node.defaultChild;
61
68
  cfnPipeline.addPropertyOverride("Triggers", [
@@ -66,9 +73,7 @@ class DeploymentStackPipeline extends constructs_1.Construct {
66
73
  Branches: {
67
74
  Includes: [props.githubBranch],
68
75
  },
69
- FilePaths: {
70
- Includes: props.filePaths,
71
- },
76
+ FilePaths: filePaths,
72
77
  },
73
78
  ],
74
79
  SourceActionName: codeStarSourceActionName,
@@ -147,4 +152,4 @@ class DeploymentStage extends aws_cdk_lib_1.Stage {
147
152
  });
148
153
  }
149
154
  }
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwaXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMkNBQXVDO0FBQ3ZDLDZDQUF1RTtBQUN2RSw2REFJbUM7QUFDbkMsaURBQXNEO0FBQ3RELHFEQUsrQjtBQUMvQixtRUFLc0M7QUFDdEMscUNBSWtCO0FBQ2xCLHlEQUFvRTtBQUNwRSxxRkFBbUU7QUFDbkUsdURBQWtFO0FBRWxFOztHQUVHO0FBQ1UsUUFBQSxxQ0FBcUMsR0FBRztJQUNuRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUU7WUFDUCxrQkFBa0IsRUFBRTtnQkFDbEIsTUFBTSxFQUFFLE1BQU07YUFDZjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBK0dGOzs7OztHQUtHO0FBQ0gsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUzs7SUFDcEQ7O09BRUc7SUFDTSxRQUFRLENBQVc7SUFFNUIsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBbUM7UUFFbkMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFdBQVcsR0FBRyx5QkFBZSxDQUFDLHVCQUF1QixDQUN6RCxJQUFJLEVBQ0osOEJBQThCLENBQy9CLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUFHLGNBQWMsQ0FBQztRQUNoRCxNQUFNLFVBQVUsR0FBRyw4QkFBa0IsQ0FBQyxVQUFVLENBQzlDLFdBQVcsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUM3QixLQUFLLENBQUMsWUFBWSxFQUNsQjtZQUNFLGFBQWEsRUFBRSxXQUFXO1lBQzFCLFVBQVUsRUFBRSx3QkFBd0I7WUFDcEMsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FDRixDQUFDO1FBRUYsTUFBTSwrQkFBK0IsR0FDbkMsS0FBSyxDQUFDLDJCQUEyQixJQUFJLElBQUksQ0FBQztRQUM1QyxNQUFNLGNBQWMsR0FBRywrQkFBK0I7WUFDcEQsQ0FBQyxDQUFDLCtDQUE2QixD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Q2xCLFVBQWtCLEVBQ2xCLFlBQXFCO1FBRXJCLEtBQUssQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFNUMsSUFBSSxNQUFNLEdBQUcsOEJBQThCLFVBQVUsRUFBRSxDQUFDO1FBQ3hELElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxZQUFZLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxTQUFTLFlBQVksRUFBRSxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzlCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFO2dCQUNKLG1CQUFtQixFQUFFLFNBQVM7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7Z0JBQzFCLG1CQUFtQixFQUFFLFNBQVM7Z0JBQzlCLGtCQUFrQixFQUFFLE1BQU07YUFDM0I7WUFDRCxHQUFHLGFBQWE7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEVudmlyb25tZW50LCBSZW1vdmFsUG9saWN5LCBTdGFjaywgU3RhZ2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEJ1aWxkU3BlYyxcbiAgQ29tcHV0ZVR5cGUsXG4gIExpbnV4QXJtQnVpbGRJbWFnZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlYnVpbGRcIjtcbmltcG9ydCB7IFN0cmluZ1BhcmFtZXRlciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3NtXCI7XG5pbXBvcnQge1xuICBDb2RlQnVpbGRTdGVwLFxuICBDb2RlUGlwZWxpbmUsXG4gIENvZGVQaXBlbGluZVNvdXJjZSxcbiAgTWFudWFsQXBwcm92YWxTdGVwLFxufSBmcm9tIFwiYXdzLWNkay1saWIvcGlwZWxpbmVzXCI7XG5pbXBvcnQge1xuICBQaXBlbGluZSxcbiAgQ2ZuUGlwZWxpbmUsXG4gIFBpcGVsaW5lVHlwZSxcbiAgUGlwZWxpbmVOb3RpZmljYXRpb25FdmVudHMsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBCRVRBX0VOVklST05NRU5ULFxuICBHQU1NQV9FTlZJUk9OTUVOVCxcbiAgUFJPRF9FTlZJUk9OTUVOVCxcbn0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgeyBTbGFja0NoYW5uZWxDb25maWd1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jaGF0Ym90XCI7XG5pbXBvcnQgeyBEZXRhaWxUeXBlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2Rlc3Rhcm5vdGlmaWNhdGlvbnNcIjtcbmltcG9ydCB7IENyb3NzRGVwbG95bWVudEFydGlmYWN0QnVja2V0IH0gZnJvbSBcIi4vYXJ0aWZhY3QtYnVja2V0XCI7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgcGFydGlhbCBidWlsZCBzcGVjIGZvciB0aGUgc3ludGggc3RlcCBpbiB0aGUgcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NZTlRIX1NURVBfUEFSVElBTF9CVUlMRF9TUEVDID0ge1xuICBwaGFzZXM6IHtcbiAgICBpbnN0YWxsOiB7XG4gICAgICBcInJ1bnRpbWUtdmVyc2lvbnNcIjoge1xuICAgICAgICBub2RlanM6IFwiMjIueFwiLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFnZUVudlByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBmb3IgdGhlIGJldGEgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IGJldGE6IEVudmlyb25tZW50O1xuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IGZvciB0aGUgZ2FtbWEgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IGdhbW1hOiBFbnZpcm9ubWVudDtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBmb3IgdGhlIHByb2Qgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2Q6IEVudmlyb25tZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrQ29uZmlnUHJvcHMge1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBiZXRhIChkZXYpIHN0YWdlXG4gICAqL1xuICByZWFkb25seSBiZXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnYW1tYSAoc3RnKSBzdGFnZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2FtbWE6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHByb2Qgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2Q6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudFN0YWNrUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIGJyYW5jaCBuYW1lIHRoZSBwaXBlbGluZSB3aWxsIGxpc3RlbiB0by5cbiAgICogQXZvaWQgdXNpbmcgYnJhbmNoIG5hbWVzIHRoYXQgY29udGFpbiBzcGVjaWFsIGNoYXJhY3RlcnMgc3VjaCBhcyBwYXJlbnRoZXNlcy5cbiAgICogQWxsb3dlZCBzcGVjaWFsIGNoYXJhY3RlcnMgYXJlOiBcIisgLSA9IC4gXyA6IC8gQFwiLlxuICAgKiBUaGlzIHJlc3RyaWN0aW9uIGlzIGR1ZSB0byBBV1MgcmVzb3VyY2UgdGFnZ2luZyByZXF1aXJlbWVudHMuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJCcmFuY2g6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IG5hbWUgdGhhdCBleGlzdCBpbiB0aGUgJ09yY2FCdXMnIGdpdGh1YiBvcmdhbmlzYXRpb24uIGUuZy4gYGEtbWljcm8tc2VydmljZS1yZXBvYFxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViUmVwbzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHN0YWNrIHRvIHdoaWNoIHRoZSBwaXBlbGluZSB3aWxsIGJlIGRlcGxveWluZyB0byBpdHMgcmVzcGVjdGl2ZSBhY2NvdW50XG4gICAqL1xuICByZWFkb25seSBzdGFjazogYW55O1xuICAvKipcbiAgICogVGhlIHN0YWNrIG5hbWUgKGluIGNsb3VkZm9ybWF0aW9uKSBmb3IgdGhlIHN0YWNrIGRlZmluZWQgaW4gYHN0YWNrYC4gVGhlIHN0YWNrIG5hbWUgd2lsbCBwcmVwZW5kIHdpdGggdGhlIHN0YWdlXG4gICAqIG5hbWUgZS5nLiBgT3JjYUJ1c0JldGEtPHN0YWNrTmFtZT5gLCBgT3JjYUJ1c0dhbW1hLTxzdGFja05hbWU+YCwgYE9yY2FCdXNQcm9kLTxzdGFja05hbWU+YFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgY29uZmlndXJhdGlvbi9jb25zdGFudHMgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgc3RhY2sgcHJvcHMuXG4gICAqL1xuICByZWFkb25seSBzdGFja0NvbmZpZzogU3RhY2tDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIFRoZSBwaXBlbGluZSBuYW1lIGluIHRoZSBiYXN0aW9uIGFjY291bnQuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGhzIHRvIHRyaWdnZXIgdGhlIHBpcGVsaW5lLiBlLmcuIFtcInN0YXRlbGVzcy8qKlwiXVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1jb2RlcGlwZWxpbmUtcGlwZWxpbmUtZ2l0ZmlsZXBhdGhmaWx0ZXJjcml0ZXJpYS5odG1sXG4gICAqXG4gICAqL1xuICByZWFkb25seSBmaWxlUGF0aHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFRoZSBjb21tYW5kIHRvIHJ1biB0byBzeW50aCB0aGUgY2RrIHN0YWNrIHdoaWNoIGFsc28gaW5zdGFsbGluZyB0aGUgY2RrIGRlcGVuZGVuY2llcy4gZS5nLiBbXCJ5YXJuIGluc3RhbGwgLS1pbW11dGFibGVcIiwgXCJ5YXJuIGNkayBzeW50aFwiXVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrU3ludGhDbWQ6IHN0cmluZ1tdO1xuICAvKipcbiAgICogVGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBjZGsgb3V0cHV0IHdpbGwgYmUgc3RvcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBjZGsub3V0XG4gICAqL1xuICByZWFkb25seSBjZGtPdXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBDb2RlQnVpbGQgc3RlcCBkdXJpbmcgdGhlIENESyBzeW50aCBwaGFzZS4gSXQgd2lsbCBwYXNzZWQgYXMgdGhlIGBwYXJ0aWFsQnVpbGRTcGVjYCB0byB0aGUgYENvZGVCdWlsZFN0ZXBgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBERUZBVUxUX1NZTlRIX1NURVBfUEFSVElBTF9CVUlMRF9TUEVDXG4gICAqL1xuICByZWFkb25seSBzeW50aEJ1aWxkU3BlYz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKlxuICAgKiBUaGUgc3RhZ2UgZW52aXJvbm1lbnQgZm9yIHRoZSBkZXBsb3ltZW50IHN0YWNrXG4gICAqL1xuICByZWFkb25seSBzdGFnZUVudj86IFN0YWdlRW52UHJvcHM7XG4gIC8qKlxuICAgKiBFbmFibGUgbm90aWZpY2F0aW9uIHRvIHRoZSAnYWxlcnRzLWJ1aWxkJyBzbGFjayBjaGFubmVsLlxuICAgKiBAZGVmYXVsdCBUcnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVTbGFja05vdGlmaWNhdGlvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgcGlwZWxpbmUgbm90aWZpY2F0aW9uIGV2ZW50cyB0aGF0IHdpbGwgdHJpZ2dlciBhIFNsYWNrIGNoYW5uZWwgbm90aWZpY2F0aW9uLlxuICAgKiBPbmx5IGFwcGxpZXMgaWYgYGVuYWJsZVNsYWNrTm90aWZpY2F0aW9uYCBpcyBzZXQgdG8gdHJ1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgW1BpcGVsaW5lTm90aWZpY2F0aW9uRXZlbnRzLlBJUEVMSU5FX0VYRUNVVElPTl9GQUlMRURdIOKAk1xuICAgKiAgIE9ubHkgZmFpbGVkIHBpcGVsaW5lIGV4ZWN1dGlvbnMgd2lsbCB0cmlnZ2VyIGEgbm90aWZpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uRXZlbnRzPzogUGlwZWxpbmVOb3RpZmljYXRpb25FdmVudHNbXTtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXVzZSB0aGUgZXhpc3RpbmcgYXJ0aWZhY3QgYnVja2V0IGZvciBjcm9zcy1kZXBsb3ltZW50IHBpcGVsaW5lcy5cbiAgICogSWYgc2V0IHRvIHRydWUsIGl0IHdpbGwgbG9vayB1cCB0aGUgZXhpc3RpbmcgYXJ0aWZhY3QgYnVja2V0IGluIHRoZSBUT09MQ0hBSU4gYWNjb3VudC5cbiAgICpcbiAgICogQGRlZmF1bHQgVHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmV1c2VFeGlzdGluZ0FydGlmYWN0QnVja2V0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIENESyBjb25zdHJ1Y3QgdGhhdCBjcmVhdGVzIGEgZGVwbG95bWVudCBwaXBlbGluZSBhY3Jvc3MgZW52aXJvbm1lbnRzIGZvciB0aGUgT3JjYUJ1cyBwcm9qZWN0LlxuICpcbiAqIFByZXJlcXVpc2l0ZTogRW5zdXJlIHRoYXQgdGhlIFwiQ3Jvc3NEZXBsb3ltZW50QXJ0aWZhY3RCdWNrZXRcIiBzdGFjayBpcyBkZXBsb3llZCBpbiB0aGUgVE9PTENIQUlOIGFjY291bnRcbiAqIGJlZm9yZSB1c2luZyB0aGlzIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIERlcGxveW1lbnRTdGFja1BpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBjb2RlIHBpcGVsaW5lIGNvbnN0cnVjdCB0aGF0IGlzIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZTogUGlwZWxpbmU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBEZXBsb3ltZW50U3RhY2tQaXBlbGluZVByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgY29kZVN0YXJBcm4gPSBTdHJpbmdQYXJhbWV0ZXIudmFsdWVGb3JTdHJpbmdQYXJhbWV0ZXIoXG4gICAgICB0aGlzLFxuICAgICAgXCIvb3JjYWJ1cy9jb2Rlc3Rhcl9naXRodWJfYXJuXCIsXG4gICAgKTtcbiAgICBjb25zdCBjb2RlU3RhclNvdXJjZUFjdGlvbk5hbWUgPSBcInBpcGVsaW5lLXNyY1wiO1xuICAgIGNvbnN0IHNvdXJjZUZpbGUgPSBDb2RlUGlwZWxpbmVTb3VyY2UuY29ubmVjdGlvbihcbiAgICAgIGBPcmNhQnVzLyR7cHJvcHMuZ2l0aHViUmVwb31gLFxuICAgICAgcHJvcHMuZ2l0aHViQnJhbmNoLFxuICAgICAge1xuICAgICAgICBjb25uZWN0aW9uQXJuOiBjb2RlU3RhckFybixcbiAgICAgICAgYWN0aW9uTmFtZTogY29kZVN0YXJTb3VyY2VBY3Rpb25OYW1lLFxuICAgICAgICB0cmlnZ2VyT25QdXNoOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgY29uc3QgaXNSZXVzaW5nRXhpc3RpbmdBcnRpZmFjdEJ1Y2tldCA9XG4gICAgICBwcm9wcy5yZXVzZUV4aXN0aW5nQXJ0aWZhY3RCdWNrZXQgPz8gdHJ1ZTtcbiAgICBjb25zdCBhcnRpZmFjdEJ1Y2tldCA9IGlzUmV1c2luZ0V4aXN0aW5nQXJ0aWZhY3RCdWNrZXRcbiAgICAgID8gQ3Jvc3NEZXBsb3ltZW50QXJ0aWZhY3RCdWNrZXQuZnJvbUxvb2t1cCh0aGlzKS5hcnRpZmFjdEJ1Y2tldFxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLnBpcGVsaW5lID0gbmV3IFBpcGVsaW5lKHRoaXMsIFwiRGVwbG95bWVudENvZGVQaXBlbGluZVwiLCB7XG4gICAgICBhcnRpZmFjdEJ1Y2tldDogYXJ0aWZhY3RCdWNrZXQsXG4gICAgICBwaXBlbGluZVR5cGU6IFBpcGVsaW5lVHlwZS5WMixcbiAgICAgIHBpcGVsaW5lTmFtZTogcHJvcHMucGlwZWxpbmVOYW1lLFxuICAgICAgY3Jvc3NBY2NvdW50S2V5czogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5maWxlUGF0aHMpIHtcbiAgICAgIC8vIEFkZCBldmVudCBmaWx0ZXIgdG8gb25seSB0cmlnZ2VyIGlmIHRoZSBwdXNoIGV2ZW50IGlzIGZyb20gYGRlcGxveWAgZGlyZWN0b3J5XG4gICAgICBjb25zdCBjZm5QaXBlbGluZSA9IHRoaXMucGlwZWxpbmUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUGlwZWxpbmU7XG4gICAgICBjZm5QaXBlbGluZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKFwiVHJpZ2dlcnNcIiwgW1xuICAgICAgICB7XG4gICAgICAgICAgR2l0Q29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgUHVzaDogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgQnJhbmNoZXM6IHtcbiAgICAgICAgICAgICAgICAgIEluY2x1ZGVzOiBbcHJvcHMuZ2l0aHViQnJhbmNoXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIEZpbGVQYXRoczoge1xuICAgICAgICAgICAgICAgICAgSW5jbHVkZXM6IHByb3BzLmZpbGVQYXRocyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFNvdXJjZUFjdGlvbk5hbWU6IGNvZGVTdGFyU291cmNlQWN0aW9uTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIFByb3ZpZGVyVHlwZTogXCJDb2RlU3RhclNvdXJjZUNvbm5lY3Rpb25cIixcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGNvbnN0IHsgc3ludGhCdWlsZFNwZWMgPSBERUZBVUxUX1NZTlRIX1NURVBfUEFSVElBTF9CVUlMRF9TUEVDIH0gPSBwcm9wcztcbiAgICBjb25zdCBjZGtQaXBlbGluZSA9IG5ldyBDb2RlUGlwZWxpbmUodGhpcywgXCJDREtDb2RlUGlwZWxpbmVcIiwge1xuICAgICAgY29kZVBpcGVsaW5lOiB0aGlzLnBpcGVsaW5lLFxuICAgICAgc3ludGg6IG5ldyBDb2RlQnVpbGRTdGVwKFwiQ2RrU3ludGhcIiwge1xuICAgICAgICBpbnN0YWxsQ29tbWFuZHM6IFtcbiAgICAgICAgICBcIm5vZGUgLXZcIixcbiAgICAgICAgICBcIm5wbSBpbnN0YWxsIC0tZ2xvYmFsIGNvcmVwYWNrQGxhdGVzdFwiLFxuICAgICAgICAgIFwiY29yZXBhY2sgLS12ZXJzaW9uXCIsXG4gICAgICAgICAgXCJjb3JlcGFjayBlbmFibGVcIixcbiAgICAgICAgXSxcbiAgICAgICAgY29tbWFuZHM6IHByb3BzLmNka1N5bnRoQ21kLFxuICAgICAgICBpbnB1dDogc291cmNlRmlsZSxcbiAgICAgICAgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogcHJvcHMuY2RrT3V0IHx8IFwiY2RrLm91dFwiLFxuICAgICAgICBwYXJ0aWFsQnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdChzeW50aEJ1aWxkU3BlYyksXG4gICAgICB9KSxcbiAgICAgIHNlbGZNdXRhdGlvbjogdHJ1ZSxcbiAgICAgIGNvZGVCdWlsZERlZmF1bHRzOiB7XG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTEFSR0UsXG4gICAgICAgICAgYnVpbGRJbWFnZTogTGludXhBcm1CdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yX1NUQU5EQVJEXzNfMCxcbiAgICAgICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczoge1xuICAgICAgICAgICAgTk9ERV9PUFRJT05TOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBcIi0tbWF4LW9sZC1zcGFjZS1zaXplPTgxOTJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZWZhdWx0U3RhZ2VFbnY6IFN0YWdlRW52UHJvcHMgPSB7XG4gICAgICBiZXRhOiBCRVRBX0VOVklST05NRU5ULFxuICAgICAgZ2FtbWE6IEdBTU1BX0VOVklST05NRU5ULFxuICAgICAgcHJvZDogUFJPRF9FTlZJUk9OTUVOVCxcbiAgICB9O1xuICAgIGNvbnN0IHN0YWdlRW52ID0gcHJvcHMuc3RhZ2VFbnYgfHwgZGVmYXVsdFN0YWdlRW52O1xuXG4gICAgY2RrUGlwZWxpbmUuYWRkU3RhZ2UoXG4gICAgICBuZXcgRGVwbG95bWVudFN0YWdlKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIk9yY2FCdXNCZXRhXCIsXG4gICAgICAgIHN0YWdlRW52LmJldGEsXG4gICAgICAgIHByb3BzLnN0YWNrTmFtZSxcbiAgICAgICAgcHJvcHMuc3RhY2ssXG4gICAgICAgIHByb3BzLnN0YWNrQ29uZmlnLmJldGEsXG4gICAgICAgIHByb3BzLmdpdGh1YlJlcG8sXG4gICAgICAgIHByb3BzLmdpdGh1YkJyYW5jaCxcbiAgICAgICksXG4gICAgKTtcblxuICAgIGNka1BpcGVsaW5lLmFkZFN0YWdlKFxuICAgICAgbmV3IERlcGxveW1lbnRTdGFnZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJPcmNhQnVzR2FtbWFcIixcbiAgICAgICAgc3RhZ2VFbnYuZ2FtbWEsXG4gICAgICAgIHByb3BzLnN0YWNrTmFtZSxcbiAgICAgICAgcHJvcHMuc3RhY2ssXG4gICAgICAgIHByb3BzLnN0YWNrQ29uZmlnLmdhbW1hLFxuICAgICAgICBwcm9wcy5naXRodWJSZXBvLFxuICAgICAgICBwcm9wcy5naXRodWJCcmFuY2gsXG4gICAgICApLFxuICAgICAgeyBwb3N0OiBbbmV3IE1hbnVhbEFwcHJvdmFsU3RlcChcIlByb21vdGVUb1Byb2RcIildIH0sXG4gICAgKTtcblxuICAgIGNka1BpcGVsaW5lLmFkZFN0YWdlKFxuICAgICAgbmV3IERlcGxveW1lbnRTdGFnZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJPcmNhQnVzUHJvZFwiLFxuICAgICAgICBzdGFnZUVudi5wcm9kLFxuICAgICAgICBwcm9wcy5zdGFja05hbWUsXG4gICAgICAgIHByb3BzLnN0YWNrLFxuICAgICAgICBwcm9wcy5zdGFja0NvbmZpZy5wcm9kLFxuICAgICAgICBwcm9wcy5naXRodWJSZXBvLFxuICAgICAgICBwcm9wcy5naXRodWJCcmFuY2gsXG4gICAgICApLFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZW5hYmxlU2xhY2tOb3RpZmljYXRpb24gPz8gdHJ1ZSkge1xuICAgICAgY29uc3QgYWxlcnRzQnVpbGRTbGFja0NvbmZpZ0FybiA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZvclN0cmluZ1BhcmFtZXRlcihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCIvY2hhdGJvdF9hcm4vc2xhY2svYWxlcnRzLWJ1aWxkXCIsXG4gICAgICApO1xuICAgICAgY29uc3QgdGFyZ2V0ID0gU2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbi5mcm9tU2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJTbGFja0NoYW5uZWxDb25maWd1cmF0aW9uXCIsXG4gICAgICAgIGFsZXJ0c0J1aWxkU2xhY2tDb25maWdBcm4sXG4gICAgICApO1xuXG4gICAgICB0aGlzLnBpcGVsaW5lLm5vdGlmeU9uKFwiUGlwZWxpbmVTbGFja05vdGlmaWNhdGlvblwiLCB0YXJnZXQsIHtcbiAgICAgICAgZXZlbnRzOiBwcm9wcy5ub3RpZmljYXRpb25FdmVudHMgfHwgW1xuICAgICAgICAgIFBpcGVsaW5lTm90aWZpY2F0aW9uRXZlbnRzLlBJUEVMSU5FX0VYRUNVVElPTl9GQUlMRUQsXG4gICAgICAgIF0sXG4gICAgICAgIGRldGFpbFR5cGU6IERldGFpbFR5cGUuRlVMTCxcbiAgICAgICAgbm90aWZpY2F0aW9uUnVsZU5hbWU6IGBPcmNhQnVzLSR7cHJvcHMucGlwZWxpbmVOYW1lfWAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgRGVwbG95bWVudFN0YWdlIGV4dGVuZHMgU3RhZ2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGVudmlyb25tZW50TmFtZTogc3RyaW5nLFxuICAgIGVudjogRW52aXJvbm1lbnQsXG4gICAgc3RhY2tOYW1lOiBzdHJpbmcsXG4gICAgc3RhY2tDbGFzczogbmV3IChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogYW55KSA9PiBTdGFjayxcbiAgICBhcHBTdGFja1Byb3BzOiBhbnksXG4gICAgZ2l0aHViUmVwbzogc3RyaW5nLFxuICAgIGdpdGh1YkJyYW5jaD86IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGVudmlyb25tZW50TmFtZSwgeyBlbnY6IGVudiB9KTtcblxuICAgIGxldCBzb3VyY2UgPSBgaHR0cHM6Ly9naXRodWIuY29tL09yY2FCdXMvJHtnaXRodWJSZXBvfWA7XG4gICAgaWYgKGdpdGh1YkJyYW5jaCAhPT0gdW5kZWZpbmVkICYmIGdpdGh1YkJyYW5jaCAhPT0gXCJtYWluXCIpIHtcbiAgICAgIHNvdXJjZSA9IGAke3NvdXJjZX0vdHJlZS8ke2dpdGh1YkJyYW5jaH1gO1xuICAgIH1cblxuICAgIG5ldyBzdGFja0NsYXNzKHRoaXMsIHN0YWNrTmFtZSwge1xuICAgICAgZW52OiBlbnYsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIFwidW1jY3Itb3JnOlByb2R1Y3RcIjogXCJPcmNhQnVzXCIsXG4gICAgICAgIFwidW1jY3Itb3JnOkNyZWF0b3JcIjogXCJDREtcIixcbiAgICAgICAgXCJ1bWNjci1vcmc6U2VydmljZVwiOiBzdGFja05hbWUsXG4gICAgICAgIFwidW1jY3Itb3JnOlNvdXJjZVwiOiBzb3VyY2UsXG4gICAgICB9LFxuICAgICAgLi4uYXBwU3RhY2tQcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwaXBlbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMkNBQXVDO0FBQ3ZDLDZDQUF1RTtBQUN2RSw2REFJbUM7QUFDbkMsaURBQXNEO0FBQ3RELHFEQUsrQjtBQUMvQixtRUFLc0M7QUFDdEMscUNBSWtCO0FBQ2xCLHlEQUFvRTtBQUNwRSxxRkFBbUU7QUFDbkUsdURBQWtFO0FBRWxFOztHQUVHO0FBQ1UsUUFBQSxxQ0FBcUMsR0FBRztJQUNuRCxNQUFNLEVBQUU7UUFDTixPQUFPLEVBQUU7WUFDUCxrQkFBa0IsRUFBRTtnQkFDbEIsTUFBTSxFQUFFLE1BQU07YUFDZjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBc0hGOzs7OztHQUtHO0FBQ0gsTUFBYSx1QkFBd0IsU0FBUSxzQkFBUzs7SUFDcEQ7O09BRUc7SUFDTSxRQUFRLENBQVc7SUFFNUIsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBbUM7UUFFbkMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFdBQVcsR0FBRyx5QkFBZSxDQUFDLHVCQUF1QixDQUN6RCxJQUFJLEVBQ0osOEJBQThCLENBQy9CLENBQUM7UUFDRixNQUFNLHdCQUF3QixHQUFHLGNBQWMsQ0FBQztRQUNoRCxNQUFNLFVBQVUsR0FBRyw4QkFBa0IsQ0FBQyxVQUFVLENBQzlDLFdBQVcsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUM3QixLQUFLLENBQUMsWUFBWSxFQUNsQjtZQUNFLGFBQWEsRUFBRSxXQUFXO1lBQzFCLFVBQVUsRUFBRSx3QkFBd0I7WUFDcEMsYUFBYSxFQUFFLElBQUk7U0FDcEIsQ0FDRixDQUFDO1FBRUYsTUFBTSwrQkFBK0IsR0FDbkMsS0FBSyxDQUFDLDJCQUEyQixJQUFJLElBQUksQ0FBQztRQUM1QyxNQUFNLGNBQWMsR0FBRywrQkFBK0I7WUFDcEQsQ0FBQyxDQUFDLCtDQUE2QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjO1lBQy9ELENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFZCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksMkJBQVEsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUU7WUFDM0QsY0FBYyxFQUFFLGNBQWM7WUFDOUIsWUFBWSxFQUFFLCtCQUFZLENBQUMsRUFBRTtZQUM3QixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN2RCxNQUFNLFNBQVMsR0FBNkIsRUFBRSxDQUFDO1lBRS9DLElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzVCLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFDbEQsQ0FBQztZQUNELElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzVCLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFDbEQsQ0FBQztZQUVELGdGQUFnRjtZQUNoRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUEyQixDQUFDO1lBQ25FLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUU7Z0JBQzFDO29CQUNFLGdCQUFnQixFQUFFO3dCQUNoQixJQUFJLEVBQUU7NEJBQ0o7Z0NBQ0UsUUFBUSxFQUFFO29DQUNSLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7aUNBQy9CO2dDQUNELFNBQVMsRUFBRSxTQUFTOzZCQUNyQjt5QkFDRjt3QkFDRCxnQkFBZ0IsRUFBRSx3QkFBd0I7cUJBQzNDO29CQUNELFlBQVksRUFBRSwwQkFBMEI7aUJBQ3pDO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELE1BQU0sRUFBRSxjQUFjLEdBQUcsNkNBQXFDLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDekUsTUFBTSxXQUFXLEdBQUcsSUFBSSx3QkFBWSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUM1RCxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDM0IsS0FBSyxFQUFFLElBQUkseUJBQWEsQ0FBQyxVQUFVLEVBQUU7Z0JBQ25DLGVBQWUsRUFBRTtvQkFDZixTQUFTO29CQUNULHNDQUFzQztvQkFDdEMsb0JBQW9CO29CQUNwQixpQkFBaUI7aUJBQ2xCO2dCQUNELFFBQVEsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDM0IsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksU0FBUztnQkFDakQsZ0JBQWdCLEVBQUUseUJBQVMsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO2FBQ3ZELENBQUM7WUFDRixZQUFZLEVBQUUsSUFBSTtZQUNsQixpQkFBaUIsRUFBRTtnQkFDakIsZ0JBQWdCLEVBQUU7b0JBQ2hCLFdBQVcsRUFBRSwyQkFBVyxDQUFDLEtBQUs7b0JBQzlCLFVBQVUsRUFBRSxrQ0FBa0IsQ0FBQywyQkFBMkI7b0JBQzFELG9CQUFvQixFQUFFO3dCQUNwQixZQUFZLEVBQUU7NEJBQ1osS0FBSyxFQUFFLDJCQUEyQjt5QkFDbkM7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sZUFBZSxHQUFrQjtZQUNyQyxJQUFJLEVBQUUseUJBQWdCO1lBQ3RCLEtBQUssRUFBRSwwQkFBaUI7WUFDeEIsSUFBSSxFQUFFLHlCQUFnQjtTQUN2QixDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsSUFBSSxlQUFlLENBQUM7UUFFbkQsV0FBVyxDQUFDLFFBQVEsQ0FDbEIsSUFBSSxlQUFlLENBQ2pCLElBQUksRUFDSixhQUFhLEVBQ2IsUUFBUSxDQUFDLElBQUksRUFDYixLQUFLLENBQUMsU0FBUyxFQUNmLEtBQUssQ0FBQyxLQUFLLEVBQ1gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3RCLEtBQUssQ0FBQyxVQUFVLEVBQ2hCLEtBQUssQ0FBQyxZQUFZLENBQ25CLENBQ0YsQ0FBQztRQUVGLFdBQVcsQ0FBQyxRQUFRLENBQ2xCLElBQUksZUFBZSxDQUNqQixJQUFJLEVBQ0osY0FBYyxFQUNkLFFBQVEsQ0FBQyxLQUFLLEVBQ2QsS0FBSyxDQUFDLFNBQVMsRUFDZixLQUFLLENBQUMsS0FBSyxFQUNYLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUN2QixLQUFLLENBQUMsVUFBVSxFQUNoQixLQUFLLENBQUMsWUFBWSxDQUNuQixFQUNELEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSw4QkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUFFLENBQ3BELENBQUM7UUFFRixXQUFXLENBQUMsUUFBUSxDQUNsQixJQUFJLGVBQWUsQ0FDakIsSUFBSSxFQUNKLGFBQWEsRUFDYixRQUFRLENBQUMsSUFBSSxFQUNiLEtBQUssQ0FBQyxTQUFTLEVBQ2YsS0FBSyxDQUFDLEtBQUssRUFDWCxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFDdEIsS0FBSyxDQUFDLFVBQVUsRUFDaEIsS0FBSyxDQUFDLFlBQVksQ0FDbkIsQ0FDRixDQUFDO1FBRUYsSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUMsTUFBTSx5QkFBeUIsR0FBRyx5QkFBZSxDQUFDLHVCQUF1QixDQUN2RSxJQUFJLEVBQ0osaUNBQWlDLENBQ2xDLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyx1Q0FBeUIsQ0FBQyxnQ0FBZ0MsQ0FDdkUsSUFBSSxFQUNKLDJCQUEyQixFQUMzQix5QkFBeUIsQ0FDMUIsQ0FBQztZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLDJCQUEyQixFQUFFLE1BQU0sRUFBRTtnQkFDMUQsTUFBTSxFQUFFLEtBQUssQ0FBQyxrQkFBa0IsSUFBSTtvQkFDbEMsNkNBQTBCLENBQUMseUJBQXlCO2lCQUNyRDtnQkFDRCxVQUFVLEVBQUUsc0NBQVUsQ0FBQyxJQUFJO2dCQUMzQixvQkFBb0IsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLEVBQUU7YUFDdEQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBdEtILDBEQXVLQztBQUVELE1BQU0sZUFBZ0IsU0FBUSxtQkFBSztJQUNqQyxZQUNFLEtBQWdCLEVBQ2hCLGVBQXVCLEVBQ3ZCLEdBQWdCLEVBQ2hCLFNBQWlCLEVBQ2pCLFVBQW1FLEVBQ25FLGFBQWtCLEVBQ2xCLFVBQWtCLEVBQ2xCLFlBQXFCO1FBRXJCLEtBQUssQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFNUMsSUFBSSxNQUFNLEdBQUcsOEJBQThCLFVBQVUsRUFBRSxDQUFDO1FBQ3hELElBQUksWUFBWSxLQUFLLFNBQVMsSUFBSSxZQUFZLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDMUQsTUFBTSxHQUFHLEdBQUcsTUFBTSxTQUFTLFlBQVksRUFBRSxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQzlCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsSUFBSSxFQUFFO2dCQUNKLG1CQUFtQixFQUFFLFNBQVM7Z0JBQzlCLG1CQUFtQixFQUFFLEtBQUs7Z0JBQzFCLG1CQUFtQixFQUFFLFNBQVM7Z0JBQzlCLGtCQUFrQixFQUFFLE1BQU07YUFDM0I7WUFDRCxHQUFHLGFBQWE7U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEVudmlyb25tZW50LCBSZW1vdmFsUG9saWN5LCBTdGFjaywgU3RhZ2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEJ1aWxkU3BlYyxcbiAgQ29tcHV0ZVR5cGUsXG4gIExpbnV4QXJtQnVpbGRJbWFnZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlYnVpbGRcIjtcbmltcG9ydCB7IFN0cmluZ1BhcmFtZXRlciB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3NtXCI7XG5pbXBvcnQge1xuICBDb2RlQnVpbGRTdGVwLFxuICBDb2RlUGlwZWxpbmUsXG4gIENvZGVQaXBlbGluZVNvdXJjZSxcbiAgTWFudWFsQXBwcm92YWxTdGVwLFxufSBmcm9tIFwiYXdzLWNkay1saWIvcGlwZWxpbmVzXCI7XG5pbXBvcnQge1xuICBQaXBlbGluZSxcbiAgQ2ZuUGlwZWxpbmUsXG4gIFBpcGVsaW5lVHlwZSxcbiAgUGlwZWxpbmVOb3RpZmljYXRpb25FdmVudHMsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuICBCRVRBX0VOVklST05NRU5ULFxuICBHQU1NQV9FTlZJUk9OTUVOVCxcbiAgUFJPRF9FTlZJUk9OTUVOVCxcbn0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgeyBTbGFja0NoYW5uZWxDb25maWd1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jaGF0Ym90XCI7XG5pbXBvcnQgeyBEZXRhaWxUeXBlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2Rlc3Rhcm5vdGlmaWNhdGlvbnNcIjtcbmltcG9ydCB7IENyb3NzRGVwbG95bWVudEFydGlmYWN0QnVja2V0IH0gZnJvbSBcIi4vYXJ0aWZhY3QtYnVja2V0XCI7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgcGFydGlhbCBidWlsZCBzcGVjIGZvciB0aGUgc3ludGggc3RlcCBpbiB0aGUgcGlwZWxpbmUuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NZTlRIX1NURVBfUEFSVElBTF9CVUlMRF9TUEVDID0ge1xuICBwaGFzZXM6IHtcbiAgICBpbnN0YWxsOiB7XG4gICAgICBcInJ1bnRpbWUtdmVyc2lvbnNcIjoge1xuICAgICAgICBub2RlanM6IFwiMjIueFwiLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFnZUVudlByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBmb3IgdGhlIGJldGEgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IGJldGE6IEVudmlyb25tZW50O1xuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IGZvciB0aGUgZ2FtbWEgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IGdhbW1hOiBFbnZpcm9ubWVudDtcbiAgLyoqXG4gICAqIFRoZSBlbnZpcm9ubWVudCBmb3IgdGhlIHByb2Qgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2Q6IEVudmlyb25tZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrQ29uZmlnUHJvcHMge1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBiZXRhIChkZXYpIHN0YWdlXG4gICAqL1xuICByZWFkb25seSBiZXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnYW1tYSAoc3RnKSBzdGFnZVxuICAgKi9cbiAgcmVhZG9ubHkgZ2FtbWE6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIHByb2Qgc3RhZ2VcbiAgICovXG4gIHJlYWRvbmx5IHByb2Q6IFJlY29yZDxzdHJpbmcsIGFueT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudFN0YWNrUGlwZWxpbmVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgR2l0SHViIGJyYW5jaCBuYW1lIHRoZSBwaXBlbGluZSB3aWxsIGxpc3RlbiB0by5cbiAgICogQXZvaWQgdXNpbmcgYnJhbmNoIG5hbWVzIHRoYXQgY29udGFpbiBzcGVjaWFsIGNoYXJhY3RlcnMgc3VjaCBhcyBwYXJlbnRoZXNlcy5cbiAgICogQWxsb3dlZCBzcGVjaWFsIGNoYXJhY3RlcnMgYXJlOiBcIisgLSA9IC4gXyA6IC8gQFwiLlxuICAgKiBUaGlzIHJlc3RyaWN0aW9uIGlzIGR1ZSB0byBBV1MgcmVzb3VyY2UgdGFnZ2luZyByZXF1aXJlbWVudHMuXG4gICAqL1xuICByZWFkb25seSBnaXRodWJCcmFuY2g6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IG5hbWUgdGhhdCBleGlzdCBpbiB0aGUgJ09yY2FCdXMnIGdpdGh1YiBvcmdhbmlzYXRpb24uIGUuZy4gYGEtbWljcm8tc2VydmljZS1yZXBvYFxuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViUmVwbzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIHN0YWNrIHRvIHdoaWNoIHRoZSBwaXBlbGluZSB3aWxsIGJlIGRlcGxveWluZyB0byBpdHMgcmVzcGVjdGl2ZSBhY2NvdW50XG4gICAqL1xuICByZWFkb25seSBzdGFjazogYW55O1xuICAvKipcbiAgICogVGhlIHN0YWNrIG5hbWUgKGluIGNsb3VkZm9ybWF0aW9uKSBmb3IgdGhlIHN0YWNrIGRlZmluZWQgaW4gYHN0YWNrYC4gVGhlIHN0YWNrIG5hbWUgd2lsbCBwcmVwZW5kIHdpdGggdGhlIHN0YWdlXG4gICAqIG5hbWUgZS5nLiBgT3JjYUJ1c0JldGEtPHN0YWNrTmFtZT5gLCBgT3JjYUJ1c0dhbW1hLTxzdGFja05hbWU+YCwgYE9yY2FCdXNQcm9kLTxzdGFja05hbWU+YFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgY29uZmlndXJhdGlvbi9jb25zdGFudHMgdGhhdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgc3RhY2sgcHJvcHMuXG4gICAqL1xuICByZWFkb25seSBzdGFja0NvbmZpZzogU3RhY2tDb25maWdQcm9wcztcbiAgLyoqXG4gICAqIFRoZSBwaXBlbGluZSBuYW1lIGluIHRoZSBiYXN0aW9uIGFjY291bnQuXG4gICAqL1xuICByZWFkb25seSBwaXBlbGluZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHBhdHRlcm5zIG9mIEdpdCByZXBvc2l0b3J5IGZpbGUgcGF0aHMgdGhhdCwgd2hlbiBhIGNvbW1pdCBpcyBwdXNoZWQsIGFyZSB0byBiZSBJTkNMVURFRCBhcyBjcml0ZXJpYSB0aGF0IHN0YXJ0cyB0aGUgcGlwZWxpbmUuXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWNvZGVwaXBlbGluZS1waXBlbGluZS1naXRmaWxlcGF0aGZpbHRlcmNyaXRlcmlhLmh0bWxcbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGluY2x1ZGVkRmlsZVBhdGhzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBwYXR0ZXJucyBvZiBHaXQgcmVwb3NpdG9yeSBmaWxlIHBhdGhzIHRoYXQsIHdoZW4gYSBjb21taXQgaXMgcHVzaGVkLCBhcmUgdG8gYmUgRVhDTFVERUQgZnJvbSBzdGFydGluZyB0aGUgcGlwZWxpbmUuXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWNvZGVwaXBlbGluZS1waXBlbGluZS1naXRmaWxlcGF0aGZpbHRlcmNyaXRlcmlhLmh0bWxcbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGVkRmlsZVBhdGhzPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgY29tbWFuZCB0byBydW4gdG8gc3ludGggdGhlIGNkayBzdGFjayB3aGljaCBhbHNvIGluc3RhbGxpbmcgdGhlIGNkayBkZXBlbmRlbmNpZXMuIGUuZy4gW1wieWFybiBpbnN0YWxsIC0taW1tdXRhYmxlXCIsIFwieWFybiBjZGsgc3ludGhcIl1cbiAgICovXG4gIHJlYWRvbmx5IGNka1N5bnRoQ21kOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgY2RrIG91dHB1dCB3aWxsIGJlIHN0b3JlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgY2RrLm91dFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrT3V0Pzogc3RyaW5nO1xuICAvKipcbiAgICogQWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgQ29kZUJ1aWxkIHN0ZXAgZHVyaW5nIHRoZSBDREsgc3ludGggcGhhc2UuIEl0IHdpbGwgcGFzc2VkIGFzIHRoZSBgcGFydGlhbEJ1aWxkU3BlY2AgdG8gdGhlIGBDb2RlQnVpbGRTdGVwYC5cbiAgICpcbiAgICogQGRlZmF1bHQgREVGQVVMVF9TWU5USF9TVEVQX1BBUlRJQUxfQlVJTERfU1BFQ1xuICAgKi9cbiAgcmVhZG9ubHkgc3ludGhCdWlsZFNwZWM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAvKipcbiAgICogVGhlIHN0YWdlIGVudmlyb25tZW50IGZvciB0aGUgZGVwbG95bWVudCBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2VFbnY/OiBTdGFnZUVudlByb3BzO1xuICAvKipcbiAgICogRW5hYmxlIG5vdGlmaWNhdGlvbiB0byB0aGUgJ2FsZXJ0cy1idWlsZCcgc2xhY2sgY2hhbm5lbC5cbiAgICogQGRlZmF1bHQgVHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlU2xhY2tOb3RpZmljYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHBpcGVsaW5lIG5vdGlmaWNhdGlvbiBldmVudHMgdGhhdCB3aWxsIHRyaWdnZXIgYSBTbGFjayBjaGFubmVsIG5vdGlmaWNhdGlvbi5cbiAgICogT25seSBhcHBsaWVzIGlmIGBlbmFibGVTbGFja05vdGlmaWNhdGlvbmAgaXMgc2V0IHRvIHRydWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtQaXBlbGluZU5vdGlmaWNhdGlvbkV2ZW50cy5QSVBFTElORV9FWEVDVVRJT05fRkFJTEVEXSDigJNcbiAgICogICBPbmx5IGZhaWxlZCBwaXBlbGluZSBleGVjdXRpb25zIHdpbGwgdHJpZ2dlciBhIG5vdGlmaWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkV2ZW50cz86IFBpcGVsaW5lTm90aWZpY2F0aW9uRXZlbnRzW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmV1c2UgdGhlIGV4aXN0aW5nIGFydGlmYWN0IGJ1Y2tldCBmb3IgY3Jvc3MtZGVwbG95bWVudCBwaXBlbGluZXMuXG4gICAqIElmIHNldCB0byB0cnVlLCBpdCB3aWxsIGxvb2sgdXAgdGhlIGV4aXN0aW5nIGFydGlmYWN0IGJ1Y2tldCBpbiB0aGUgVE9PTENIQUlOIGFjY291bnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IFRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJldXNlRXhpc3RpbmdBcnRpZmFjdEJ1Y2tldD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBDREsgY29uc3RydWN0IHRoYXQgY3JlYXRlcyBhIGRlcGxveW1lbnQgcGlwZWxpbmUgYWNyb3NzIGVudmlyb25tZW50cyBmb3IgdGhlIE9yY2FCdXMgcHJvamVjdC5cbiAqXG4gKiBQcmVyZXF1aXNpdGU6IEVuc3VyZSB0aGF0IHRoZSBcIkNyb3NzRGVwbG95bWVudEFydGlmYWN0QnVja2V0XCIgc3RhY2sgaXMgZGVwbG95ZWQgaW4gdGhlIFRPT0xDSEFJTiBhY2NvdW50XG4gKiBiZWZvcmUgdXNpbmcgdGhpcyBjb25zdHJ1Y3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZXBsb3ltZW50U3RhY2tQaXBlbGluZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgY29kZSBwaXBlbGluZSBjb25zdHJ1Y3QgdGhhdCBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZWxpbmU6IFBpcGVsaW5lO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogRGVwbG95bWVudFN0YWNrUGlwZWxpbmVQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGNvZGVTdGFyQXJuID0gU3RyaW5nUGFyYW1ldGVyLnZhbHVlRm9yU3RyaW5nUGFyYW1ldGVyKFxuICAgICAgdGhpcyxcbiAgICAgIFwiL29yY2FidXMvY29kZXN0YXJfZ2l0aHViX2FyblwiLFxuICAgICk7XG4gICAgY29uc3QgY29kZVN0YXJTb3VyY2VBY3Rpb25OYW1lID0gXCJwaXBlbGluZS1zcmNcIjtcbiAgICBjb25zdCBzb3VyY2VGaWxlID0gQ29kZVBpcGVsaW5lU291cmNlLmNvbm5lY3Rpb24oXG4gICAgICBgT3JjYUJ1cy8ke3Byb3BzLmdpdGh1YlJlcG99YCxcbiAgICAgIHByb3BzLmdpdGh1YkJyYW5jaCxcbiAgICAgIHtcbiAgICAgICAgY29ubmVjdGlvbkFybjogY29kZVN0YXJBcm4sXG4gICAgICAgIGFjdGlvbk5hbWU6IGNvZGVTdGFyU291cmNlQWN0aW9uTmFtZSxcbiAgICAgICAgdHJpZ2dlck9uUHVzaDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IGlzUmV1c2luZ0V4aXN0aW5nQXJ0aWZhY3RCdWNrZXQgPVxuICAgICAgcHJvcHMucmV1c2VFeGlzdGluZ0FydGlmYWN0QnVja2V0ID8/IHRydWU7XG4gICAgY29uc3QgYXJ0aWZhY3RCdWNrZXQgPSBpc1JldXNpbmdFeGlzdGluZ0FydGlmYWN0QnVja2V0XG4gICAgICA/IENyb3NzRGVwbG95bWVudEFydGlmYWN0QnVja2V0LmZyb21Mb29rdXAodGhpcykuYXJ0aWZhY3RCdWNrZXRcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5waXBlbGluZSA9IG5ldyBQaXBlbGluZSh0aGlzLCBcIkRlcGxveW1lbnRDb2RlUGlwZWxpbmVcIiwge1xuICAgICAgYXJ0aWZhY3RCdWNrZXQ6IGFydGlmYWN0QnVja2V0LFxuICAgICAgcGlwZWxpbmVUeXBlOiBQaXBlbGluZVR5cGUuVjIsXG4gICAgICBwaXBlbGluZU5hbWU6IHByb3BzLnBpcGVsaW5lTmFtZSxcbiAgICAgIGNyb3NzQWNjb3VudEtleXM6IHRydWUsXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMuaW5jbHVkZWRGaWxlUGF0aHMgfHwgcHJvcHMuZXhjbHVkZWRGaWxlUGF0aHMpIHtcbiAgICAgIGNvbnN0IGZpbGVQYXRoczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG5cbiAgICAgIGlmIChwcm9wcy5pbmNsdWRlZEZpbGVQYXRocykge1xuICAgICAgICBmaWxlUGF0aHNbXCJJbmNsdWRlc1wiXSA9IHByb3BzLmluY2x1ZGVkRmlsZVBhdGhzO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmV4Y2x1ZGVkRmlsZVBhdGhzKSB7XG4gICAgICAgIGZpbGVQYXRoc1tcIkV4Y2x1ZGVzXCJdID0gcHJvcHMuZXhjbHVkZWRGaWxlUGF0aHM7XG4gICAgICB9XG5cbiAgICAgIC8vIEFkZCBldmVudCBmaWx0ZXIgdG8gb25seSB0cmlnZ2VyIGlmIHRoZSBwdXNoIGV2ZW50IGlzIGZyb20gYGRlcGxveWAgZGlyZWN0b3J5XG4gICAgICBjb25zdCBjZm5QaXBlbGluZSA9IHRoaXMucGlwZWxpbmUubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuUGlwZWxpbmU7XG4gICAgICBjZm5QaXBlbGluZS5hZGRQcm9wZXJ0eU92ZXJyaWRlKFwiVHJpZ2dlcnNcIiwgW1xuICAgICAgICB7XG4gICAgICAgICAgR2l0Q29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgUHVzaDogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgQnJhbmNoZXM6IHtcbiAgICAgICAgICAgICAgICAgIEluY2x1ZGVzOiBbcHJvcHMuZ2l0aHViQnJhbmNoXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIEZpbGVQYXRoczogZmlsZVBhdGhzLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFNvdXJjZUFjdGlvbk5hbWU6IGNvZGVTdGFyU291cmNlQWN0aW9uTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIFByb3ZpZGVyVHlwZTogXCJDb2RlU3RhclNvdXJjZUNvbm5lY3Rpb25cIixcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGNvbnN0IHsgc3ludGhCdWlsZFNwZWMgPSBERUZBVUxUX1NZTlRIX1NURVBfUEFSVElBTF9CVUlMRF9TUEVDIH0gPSBwcm9wcztcbiAgICBjb25zdCBjZGtQaXBlbGluZSA9IG5ldyBDb2RlUGlwZWxpbmUodGhpcywgXCJDREtDb2RlUGlwZWxpbmVcIiwge1xuICAgICAgY29kZVBpcGVsaW5lOiB0aGlzLnBpcGVsaW5lLFxuICAgICAgc3ludGg6IG5ldyBDb2RlQnVpbGRTdGVwKFwiQ2RrU3ludGhcIiwge1xuICAgICAgICBpbnN0YWxsQ29tbWFuZHM6IFtcbiAgICAgICAgICBcIm5vZGUgLXZcIixcbiAgICAgICAgICBcIm5wbSBpbnN0YWxsIC0tZ2xvYmFsIGNvcmVwYWNrQGxhdGVzdFwiLFxuICAgICAgICAgIFwiY29yZXBhY2sgLS12ZXJzaW9uXCIsXG4gICAgICAgICAgXCJjb3JlcGFjayBlbmFibGVcIixcbiAgICAgICAgXSxcbiAgICAgICAgY29tbWFuZHM6IHByb3BzLmNka1N5bnRoQ21kLFxuICAgICAgICBpbnB1dDogc291cmNlRmlsZSxcbiAgICAgICAgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogcHJvcHMuY2RrT3V0IHx8IFwiY2RrLm91dFwiLFxuICAgICAgICBwYXJ0aWFsQnVpbGRTcGVjOiBCdWlsZFNwZWMuZnJvbU9iamVjdChzeW50aEJ1aWxkU3BlYyksXG4gICAgICB9KSxcbiAgICAgIHNlbGZNdXRhdGlvbjogdHJ1ZSxcbiAgICAgIGNvZGVCdWlsZERlZmF1bHRzOiB7XG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBjb21wdXRlVHlwZTogQ29tcHV0ZVR5cGUuTEFSR0UsXG4gICAgICAgICAgYnVpbGRJbWFnZTogTGludXhBcm1CdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yX1NUQU5EQVJEXzNfMCxcbiAgICAgICAgICBlbnZpcm9ubWVudFZhcmlhYmxlczoge1xuICAgICAgICAgICAgTk9ERV9PUFRJT05TOiB7XG4gICAgICAgICAgICAgIHZhbHVlOiBcIi0tbWF4LW9sZC1zcGFjZS1zaXplPTgxOTJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBkZWZhdWx0U3RhZ2VFbnY6IFN0YWdlRW52UHJvcHMgPSB7XG4gICAgICBiZXRhOiBCRVRBX0VOVklST05NRU5ULFxuICAgICAgZ2FtbWE6IEdBTU1BX0VOVklST05NRU5ULFxuICAgICAgcHJvZDogUFJPRF9FTlZJUk9OTUVOVCxcbiAgICB9O1xuICAgIGNvbnN0IHN0YWdlRW52ID0gcHJvcHMuc3RhZ2VFbnYgfHwgZGVmYXVsdFN0YWdlRW52O1xuXG4gICAgY2RrUGlwZWxpbmUuYWRkU3RhZ2UoXG4gICAgICBuZXcgRGVwbG95bWVudFN0YWdlKFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIk9yY2FCdXNCZXRhXCIsXG4gICAgICAgIHN0YWdlRW52LmJldGEsXG4gICAgICAgIHByb3BzLnN0YWNrTmFtZSxcbiAgICAgICAgcHJvcHMuc3RhY2ssXG4gICAgICAgIHByb3BzLnN0YWNrQ29uZmlnLmJldGEsXG4gICAgICAgIHByb3BzLmdpdGh1YlJlcG8sXG4gICAgICAgIHByb3BzLmdpdGh1YkJyYW5jaCxcbiAgICAgICksXG4gICAgKTtcblxuICAgIGNka1BpcGVsaW5lLmFkZFN0YWdlKFxuICAgICAgbmV3IERlcGxveW1lbnRTdGFnZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJPcmNhQnVzR2FtbWFcIixcbiAgICAgICAgc3RhZ2VFbnYuZ2FtbWEsXG4gICAgICAgIHByb3BzLnN0YWNrTmFtZSxcbiAgICAgICAgcHJvcHMuc3RhY2ssXG4gICAgICAgIHByb3BzLnN0YWNrQ29uZmlnLmdhbW1hLFxuICAgICAgICBwcm9wcy5naXRodWJSZXBvLFxuICAgICAgICBwcm9wcy5naXRodWJCcmFuY2gsXG4gICAgICApLFxuICAgICAgeyBwb3N0OiBbbmV3IE1hbnVhbEFwcHJvdmFsU3RlcChcIlByb21vdGVUb1Byb2RcIildIH0sXG4gICAgKTtcblxuICAgIGNka1BpcGVsaW5lLmFkZFN0YWdlKFxuICAgICAgbmV3IERlcGxveW1lbnRTdGFnZShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJPcmNhQnVzUHJvZFwiLFxuICAgICAgICBzdGFnZUVudi5wcm9kLFxuICAgICAgICBwcm9wcy5zdGFja05hbWUsXG4gICAgICAgIHByb3BzLnN0YWNrLFxuICAgICAgICBwcm9wcy5zdGFja0NvbmZpZy5wcm9kLFxuICAgICAgICBwcm9wcy5naXRodWJSZXBvLFxuICAgICAgICBwcm9wcy5naXRodWJCcmFuY2gsXG4gICAgICApLFxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZW5hYmxlU2xhY2tOb3RpZmljYXRpb24gPz8gdHJ1ZSkge1xuICAgICAgY29uc3QgYWxlcnRzQnVpbGRTbGFja0NvbmZpZ0FybiA9IFN0cmluZ1BhcmFtZXRlci52YWx1ZUZvclN0cmluZ1BhcmFtZXRlcihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCIvY2hhdGJvdF9hcm4vc2xhY2svYWxlcnRzLWJ1aWxkXCIsXG4gICAgICApO1xuICAgICAgY29uc3QgdGFyZ2V0ID0gU2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbi5mcm9tU2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJTbGFja0NoYW5uZWxDb25maWd1cmF0aW9uXCIsXG4gICAgICAgIGFsZXJ0c0J1aWxkU2xhY2tDb25maWdBcm4sXG4gICAgICApO1xuXG4gICAgICB0aGlzLnBpcGVsaW5lLm5vdGlmeU9uKFwiUGlwZWxpbmVTbGFja05vdGlmaWNhdGlvblwiLCB0YXJnZXQsIHtcbiAgICAgICAgZXZlbnRzOiBwcm9wcy5ub3RpZmljYXRpb25FdmVudHMgfHwgW1xuICAgICAgICAgIFBpcGVsaW5lTm90aWZpY2F0aW9uRXZlbnRzLlBJUEVMSU5FX0VYRUNVVElPTl9GQUlMRUQsXG4gICAgICAgIF0sXG4gICAgICAgIGRldGFpbFR5cGU6IERldGFpbFR5cGUuRlVMTCxcbiAgICAgICAgbm90aWZpY2F0aW9uUnVsZU5hbWU6IGBPcmNhQnVzLSR7cHJvcHMucGlwZWxpbmVOYW1lfWAsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgRGVwbG95bWVudFN0YWdlIGV4dGVuZHMgU3RhZ2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGVudmlyb25tZW50TmFtZTogc3RyaW5nLFxuICAgIGVudjogRW52aXJvbm1lbnQsXG4gICAgc3RhY2tOYW1lOiBzdHJpbmcsXG4gICAgc3RhY2tDbGFzczogbmV3IChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogYW55KSA9PiBTdGFjayxcbiAgICBhcHBTdGFja1Byb3BzOiBhbnksXG4gICAgZ2l0aHViUmVwbzogc3RyaW5nLFxuICAgIGdpdGh1YkJyYW5jaD86IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGVudmlyb25tZW50TmFtZSwgeyBlbnY6IGVudiB9KTtcblxuICAgIGxldCBzb3VyY2UgPSBgaHR0cHM6Ly9naXRodWIuY29tL09yY2FCdXMvJHtnaXRodWJSZXBvfWA7XG4gICAgaWYgKGdpdGh1YkJyYW5jaCAhPT0gdW5kZWZpbmVkICYmIGdpdGh1YkJyYW5jaCAhPT0gXCJtYWluXCIpIHtcbiAgICAgIHNvdXJjZSA9IGAke3NvdXJjZX0vdHJlZS8ke2dpdGh1YkJyYW5jaH1gO1xuICAgIH1cblxuICAgIG5ldyBzdGFja0NsYXNzKHRoaXMsIHN0YWNrTmFtZSwge1xuICAgICAgZW52OiBlbnYsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIFwidW1jY3Itb3JnOlByb2R1Y3RcIjogXCJPcmNhQnVzXCIsXG4gICAgICAgIFwidW1jY3Itb3JnOkNyZWF0b3JcIjogXCJDREtcIixcbiAgICAgICAgXCJ1bWNjci1vcmc6U2VydmljZVwiOiBzdGFja05hbWUsXG4gICAgICAgIFwidW1jY3Itb3JnOlNvdXJjZVwiOiBzb3VyY2UsXG4gICAgICB9LFxuICAgICAgLi4uYXBwU3RhY2tQcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
package/dynamodb/index.js CHANGED
@@ -40,7 +40,7 @@ const dynamodb = __importStar(require("aws-cdk-lib/aws-dynamodb"));
40
40
  const aws_cdk_lib_1 = require("aws-cdk-lib");
41
41
  const config_1 = require("./config");
42
42
  class DynamoDbPartitionedConstruct extends constructs_1.Construct {
43
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbPartitionedConstruct", version: "0.0.13-beta.0" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbPartitionedConstruct", version: "0.0.13" };
44
44
  table;
45
45
  constructor(scope, id, props) {
46
46
  super(scope, id);
@@ -75,7 +75,7 @@ class DynamoDbPartitionedConstruct extends constructs_1.Construct {
75
75
  }
76
76
  exports.DynamoDbPartitionedConstruct = DynamoDbPartitionedConstruct;
77
77
  class DynamoDbNonPartitionedConstruct extends constructs_1.Construct {
78
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbNonPartitionedConstruct", version: "0.0.13-beta.0" };
78
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbNonPartitionedConstruct", version: "0.0.13" };
79
79
  table;
80
80
  constructor(scope, id, props) {
81
81
  super(scope, id);
package/ecs/index.js CHANGED
@@ -52,7 +52,7 @@ exports.LAMBDA_ARCHITECTURE_MAP = {
52
52
  ['ARM64']: lambda.Architecture.ARM_64
53
53
  };
54
54
  class EcsFargateTaskConstruct extends constructs_1.Construct {
55
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.ecs.EcsFargateTaskConstruct", version: "0.0.13-beta.0" };
55
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.ecs.EcsFargateTaskConstruct", version: "0.0.13" };
56
56
  cluster;
57
57
  taskDefinition;
58
58
  securityGroup;
package/lambda/index.js CHANGED
@@ -56,7 +56,7 @@ function getPythonUvDockerImage() {
56
56
  return aws_cdk_lib_1.DockerImage.fromBuild(path_1.default.join(__dirname, 'build_python'));
57
57
  }
58
58
  class PythonUvFunction extends aws_lambda_python_alpha_1.PythonFunction {
59
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.lambda.PythonUvFunction", version: "0.0.13-beta.0" };
59
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.lambda.PythonUvFunction", version: "0.0.13" };
60
60
  // Class constructs, to be used for caching the layers
61
61
  // This means that if there are multiple lambdas throughout the stack
62
62
  // They will all use the same layer
@@ -6,7 +6,7 @@ from typing import Optional, Dict
6
6
  from .globals import ICAV2_WES_SUBDOMAIN_NAME
7
7
  from .models import WESRequest
8
8
  from ..utils.requests_helpers import (
9
- get_request, get_url, patch_request, get_request_response_results
9
+ get_request, get_url, patch_request, get_request_response_results, post_request
10
10
  )
11
11
 
12
12
 
@@ -58,7 +58,7 @@ def icav2_wes_post_request(
58
58
  params: Dict
59
59
  ):
60
60
  # Confirm param keys are valid
61
- return patch_request(
61
+ return post_request(
62
62
  url=get_icav2_wes_url(endpoint),
63
63
  params=params
64
64
  )
@@ -7,7 +7,7 @@ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
7
7
  * A construct which represents a named role that a Lambda function can assume.
8
8
  */
9
9
  class NamedLambdaRole extends aws_iam_1.Role {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.namedLambdaRole.NamedLambdaRole", version: "0.0.13-beta.0" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.namedLambdaRole.NamedLambdaRole", version: "0.0.13" };
11
11
  constructor(scope, id, props) {
12
12
  super(scope, id, {
13
13
  assumedBy: new aws_iam_1.ServicePrincipal("lambda.amazonaws.com"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orcabus/platform-cdk-constructs",
3
- "version": "0.0.13-beta.0",
3
+ "version": "0.0.13",
4
4
  "description": "CDK Package for OrcaBus infrastructure.",
5
5
  "main": "index.ts",
6
6
  "types": "index.d.ts",
@@ -15,7 +15,7 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
15
15
  * to the provider framework.
16
16
  */
17
17
  class ProviderFunction extends constructs_1.Construct {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.provider.ProviderFunction", version: "0.0.13-beta.0" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.provider.ProviderFunction", version: "0.0.13" };
19
19
  _function;
20
20
  _response;
21
21
  constructor(scope, id, props) {
@@ -23,7 +23,7 @@ exports.VPC_LOOKUP_PROPS = {
23
23
  * Helper for looking up the shared OrcaBus VPC.
24
24
  */
25
25
  class OrcaBusVpc {
26
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusVpc", version: "0.0.13-beta.0" };
26
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusVpc", version: "0.0.13" };
27
27
  /**
28
28
  * The shared VPC that is used by OrcaBus.
29
29
  * @param scope
@@ -42,7 +42,7 @@ exports.SHARED_SECURITY_GROUP_NAME = "OrcaBusSharedComputeSecurityGroup";
42
42
  * Helper for looking up the shared compute security group by name.
43
43
  */
44
44
  class OrcaBusSharedComputeSecurityGroup {
45
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusSharedComputeSecurityGroup", version: "0.0.13-beta.0" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusSharedComputeSecurityGroup", version: "0.0.13" };
46
46
  /**
47
47
  * The shared security group that is used by compute resources to access the database.
48
48
  * @param scope