@macedon-technologies/batman 1.11.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -121,7 +121,7 @@
121
121
  "kind": "interface",
122
122
  "locationInModule": {
123
123
  "filename": "src/Application.ts",
124
- "line": 17
124
+ "line": 19
125
125
  },
126
126
  "name": "ApplicationEnvironmentConfig",
127
127
  "properties": [
@@ -133,7 +133,7 @@
133
133
  "immutable": true,
134
134
  "locationInModule": {
135
135
  "filename": "src/Application.ts",
136
- "line": 18
136
+ "line": 20
137
137
  },
138
138
  "name": "githubActionRoleArn",
139
139
  "type": {
@@ -156,7 +156,7 @@
156
156
  },
157
157
  "locationInModule": {
158
158
  "filename": "src/BatmanProject.ts",
159
- "line": 45
159
+ "line": 50
160
160
  },
161
161
  "parameters": [
162
162
  {
@@ -170,7 +170,7 @@
170
170
  "kind": "class",
171
171
  "locationInModule": {
172
172
  "filename": "src/BatmanProject.ts",
173
- "line": 44
173
+ "line": 49
174
174
  },
175
175
  "name": "BatmanProject",
176
176
  "symbolId": "src/BatmanProject:BatmanProject"
@@ -249,7 +249,7 @@
249
249
  "immutable": true,
250
250
  "locationInModule": {
251
251
  "filename": "src/BatmanProject.ts",
252
- "line": 35
252
+ "line": 40
253
253
  },
254
254
  "name": "additionalCodeOwners",
255
255
  "optional": true,
@@ -284,6 +284,23 @@
284
284
  }
285
285
  }
286
286
  },
287
+ {
288
+ "abstract": true,
289
+ "docs": {
290
+ "stability": "stable",
291
+ "summary": "Enable n8n workflow auto-discovery and WorkflowProvider generation."
292
+ },
293
+ "immutable": true,
294
+ "locationInModule": {
295
+ "filename": "src/BatmanProject.ts",
296
+ "line": 35
297
+ },
298
+ "name": "n8nWorkflows",
299
+ "optional": true,
300
+ "type": {
301
+ "primitive": "boolean"
302
+ }
303
+ },
287
304
  {
288
305
  "abstract": true,
289
306
  "docs": {
@@ -293,7 +310,7 @@
293
310
  "immutable": true,
294
311
  "locationInModule": {
295
312
  "filename": "src/BatmanProject.ts",
296
- "line": 40
313
+ "line": 45
297
314
  },
298
315
  "name": "websiteDeps",
299
316
  "optional": true,
@@ -823,8 +840,54 @@
823
840
  }
824
841
  ],
825
842
  "symbolId": "src/StagingDeployWorkflow:StagingDeployWorkflowOptions"
843
+ },
844
+ "@macedon-technologies/batman.WorkflowAutoDiscover": {
845
+ "assembly": "@macedon-technologies/batman",
846
+ "base": "projen.Component",
847
+ "docs": {
848
+ "stability": "stable"
849
+ },
850
+ "fqn": "@macedon-technologies/batman.WorkflowAutoDiscover",
851
+ "initializer": {
852
+ "docs": {
853
+ "stability": "stable"
854
+ },
855
+ "locationInModule": {
856
+ "filename": "src/WorkflowAutoDiscover.ts",
857
+ "line": 7
858
+ },
859
+ "parameters": [
860
+ {
861
+ "name": "project",
862
+ "type": {
863
+ "fqn": "projen.awscdk.AwsCdkTypeScriptApp"
864
+ }
865
+ }
866
+ ]
867
+ },
868
+ "kind": "class",
869
+ "locationInModule": {
870
+ "filename": "src/WorkflowAutoDiscover.ts",
871
+ "line": 6
872
+ },
873
+ "methods": [
874
+ {
875
+ "docs": {
876
+ "stability": "stable",
877
+ "summary": "Synthesizes files to the project output directory."
878
+ },
879
+ "locationInModule": {
880
+ "filename": "src/WorkflowAutoDiscover.ts",
881
+ "line": 11
882
+ },
883
+ "name": "synthesize",
884
+ "overrides": "projen.Component"
885
+ }
886
+ ],
887
+ "name": "WorkflowAutoDiscover",
888
+ "symbolId": "src/WorkflowAutoDiscover:WorkflowAutoDiscover"
826
889
  }
827
890
  },
828
- "version": "1.11.1",
829
- "fingerprint": "e8w/K4uDpIfCCGzPnbUKSfE8mfMHuQdAZ8yd9QH1KU8="
891
+ "version": "1.12.0",
892
+ "fingerprint": "iyALqNCP+PLlHPQaYyv8AcpoqWoHhjnlHeUI2kkKe6Y="
830
893
  }
package/API.md CHANGED
@@ -4354,6 +4354,162 @@ Maximum line width (set to 0 to disable folding).
4354
4354
  ---
4355
4355
 
4356
4356
 
4357
+ ### WorkflowAutoDiscover <a name="WorkflowAutoDiscover" id="@macedon-technologies/batman.WorkflowAutoDiscover"></a>
4358
+
4359
+ #### Initializers <a name="Initializers" id="@macedon-technologies/batman.WorkflowAutoDiscover.Initializer"></a>
4360
+
4361
+ ```typescript
4362
+ import { WorkflowAutoDiscover } from '@macedon-technologies/batman'
4363
+
4364
+ new WorkflowAutoDiscover(project: AwsCdkTypeScriptApp)
4365
+ ```
4366
+
4367
+ | **Name** | **Type** | **Description** |
4368
+ | --- | --- | --- |
4369
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.Initializer.parameter.project">project</a></code> | <code>projen.awscdk.AwsCdkTypeScriptApp</code> | *No description.* |
4370
+
4371
+ ---
4372
+
4373
+ ##### `project`<sup>Required</sup> <a name="project" id="@macedon-technologies/batman.WorkflowAutoDiscover.Initializer.parameter.project"></a>
4374
+
4375
+ - *Type:* projen.awscdk.AwsCdkTypeScriptApp
4376
+
4377
+ ---
4378
+
4379
+ #### Methods <a name="Methods" id="Methods"></a>
4380
+
4381
+ | **Name** | **Description** |
4382
+ | --- | --- |
4383
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.toString">toString</a></code> | Returns a string representation of this construct. |
4384
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.postSynthesize">postSynthesize</a></code> | Called after synthesis. |
4385
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
4386
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
4387
+
4388
+ ---
4389
+
4390
+ ##### `toString` <a name="toString" id="@macedon-technologies/batman.WorkflowAutoDiscover.toString"></a>
4391
+
4392
+ ```typescript
4393
+ public toString(): string
4394
+ ```
4395
+
4396
+ Returns a string representation of this construct.
4397
+
4398
+ ##### `postSynthesize` <a name="postSynthesize" id="@macedon-technologies/batman.WorkflowAutoDiscover.postSynthesize"></a>
4399
+
4400
+ ```typescript
4401
+ public postSynthesize(): void
4402
+ ```
4403
+
4404
+ Called after synthesis.
4405
+
4406
+ Order is *not* guaranteed.
4407
+
4408
+ ##### `preSynthesize` <a name="preSynthesize" id="@macedon-technologies/batman.WorkflowAutoDiscover.preSynthesize"></a>
4409
+
4410
+ ```typescript
4411
+ public preSynthesize(): void
4412
+ ```
4413
+
4414
+ Called before synthesis.
4415
+
4416
+ ##### `synthesize` <a name="synthesize" id="@macedon-technologies/batman.WorkflowAutoDiscover.synthesize"></a>
4417
+
4418
+ ```typescript
4419
+ public synthesize(): void
4420
+ ```
4421
+
4422
+ Synthesizes files to the project output directory.
4423
+
4424
+ #### Static Functions <a name="Static Functions" id="Static Functions"></a>
4425
+
4426
+ | **Name** | **Description** |
4427
+ | --- | --- |
4428
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
4429
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.isComponent">isComponent</a></code> | Test whether the given construct is a component. |
4430
+
4431
+ ---
4432
+
4433
+ ##### `isConstruct` <a name="isConstruct" id="@macedon-technologies/batman.WorkflowAutoDiscover.isConstruct"></a>
4434
+
4435
+ ```typescript
4436
+ import { WorkflowAutoDiscover } from '@macedon-technologies/batman'
4437
+
4438
+ WorkflowAutoDiscover.isConstruct(x: any)
4439
+ ```
4440
+
4441
+ Checks if `x` is a construct.
4442
+
4443
+ Use this method instead of `instanceof` to properly detect `Construct`
4444
+ instances, even when the construct library is symlinked.
4445
+
4446
+ Explanation: in JavaScript, multiple copies of the `constructs` library on
4447
+ disk are seen as independent, completely different libraries. As a
4448
+ consequence, the class `Construct` in each copy of the `constructs` library
4449
+ is seen as a different class, and an instance of one class will not test as
4450
+ `instanceof` the other class. `npm install` will not create installations
4451
+ like this, but users may manually symlink construct libraries together or
4452
+ use a monorepo tool: in those cases, multiple copies of the `constructs`
4453
+ library can be accidentally installed, and `instanceof` will behave
4454
+ unpredictably. It is safest to avoid using `instanceof`, and using
4455
+ this type-testing method instead.
4456
+
4457
+ ###### `x`<sup>Required</sup> <a name="x" id="@macedon-technologies/batman.WorkflowAutoDiscover.isConstruct.parameter.x"></a>
4458
+
4459
+ - *Type:* any
4460
+
4461
+ Any object.
4462
+
4463
+ ---
4464
+
4465
+ ##### `isComponent` <a name="isComponent" id="@macedon-technologies/batman.WorkflowAutoDiscover.isComponent"></a>
4466
+
4467
+ ```typescript
4468
+ import { WorkflowAutoDiscover } from '@macedon-technologies/batman'
4469
+
4470
+ WorkflowAutoDiscover.isComponent(x: any)
4471
+ ```
4472
+
4473
+ Test whether the given construct is a component.
4474
+
4475
+ ###### `x`<sup>Required</sup> <a name="x" id="@macedon-technologies/batman.WorkflowAutoDiscover.isComponent.parameter.x"></a>
4476
+
4477
+ - *Type:* any
4478
+
4479
+ ---
4480
+
4481
+ #### Properties <a name="Properties" id="Properties"></a>
4482
+
4483
+ | **Name** | **Type** | **Description** |
4484
+ | --- | --- | --- |
4485
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
4486
+ | <code><a href="#@macedon-technologies/batman.WorkflowAutoDiscover.property.project">project</a></code> | <code>projen.Project</code> | *No description.* |
4487
+
4488
+ ---
4489
+
4490
+ ##### `node`<sup>Required</sup> <a name="node" id="@macedon-technologies/batman.WorkflowAutoDiscover.property.node"></a>
4491
+
4492
+ ```typescript
4493
+ public readonly node: Node;
4494
+ ```
4495
+
4496
+ - *Type:* constructs.Node
4497
+
4498
+ The tree node.
4499
+
4500
+ ---
4501
+
4502
+ ##### `project`<sup>Required</sup> <a name="project" id="@macedon-technologies/batman.WorkflowAutoDiscover.property.project"></a>
4503
+
4504
+ ```typescript
4505
+ public readonly project: Project;
4506
+ ```
4507
+
4508
+ - *Type:* projen.Project
4509
+
4510
+ ---
4511
+
4512
+
4357
4513
  ## Structs <a name="Structs" id="Structs"></a>
4358
4514
 
4359
4515
  ### ApplicationEnvironmentConfig <a name="ApplicationEnvironmentConfig" id="@macedon-technologies/batman.ApplicationEnvironmentConfig"></a>
@@ -4682,6 +4838,7 @@ const batmanProjectOptions: BatmanProjectOptions = { ... }
4682
4838
  | <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.staging">staging</a></code> | <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig">ApplicationEnvironmentConfig</a></code> | Development environment configuration. |
4683
4839
  | <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.additionalCodeOwners">additionalCodeOwners</a></code> | <code>string[]</code> | Additional code owners to add to the CODEOWNERS file. |
4684
4840
  | <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.additionalTags">additionalTags</a></code> | <code>{[ key: string ]: string}</code> | Additional tags to apply to all stacks. |
4841
+ | <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.n8nWorkflows">n8nWorkflows</a></code> | <code>boolean</code> | Enable n8n workflow auto-discovery and WorkflowProvider generation. |
4685
4842
  | <code><a href="#@macedon-technologies/batman.BatmanProjectOptions.property.websiteDeps">websiteDeps</a></code> | <code>string[]</code> | Website dependencies. |
4686
4843
 
4687
4844
  ---
@@ -7339,6 +7496,18 @@ Additional tags to apply to all stacks.
7339
7496
 
7340
7497
  ---
7341
7498
 
7499
+ ##### `n8nWorkflows`<sup>Optional</sup> <a name="n8nWorkflows" id="@macedon-technologies/batman.BatmanProjectOptions.property.n8nWorkflows"></a>
7500
+
7501
+ ```typescript
7502
+ public readonly n8nWorkflows: boolean;
7503
+ ```
7504
+
7505
+ - *Type:* boolean
7506
+
7507
+ Enable n8n workflow auto-discovery and WorkflowProvider generation.
7508
+
7509
+ ---
7510
+
7342
7511
  ##### `websiteDeps`<sup>Optional</sup> <a name="websiteDeps" id="@macedon-technologies/batman.BatmanProjectOptions.property.websiteDeps"></a>
7343
7512
 
7344
7513
  ```typescript
@@ -7550,6 +7719,7 @@ const bootcampProjectOptions: BootcampProjectOptions = { ... }
7550
7719
  | <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.staging">staging</a></code> | <code><a href="#@macedon-technologies/batman.ApplicationEnvironmentConfig">ApplicationEnvironmentConfig</a></code> | Development environment configuration. |
7551
7720
  | <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.additionalCodeOwners">additionalCodeOwners</a></code> | <code>string[]</code> | Additional code owners to add to the CODEOWNERS file. |
7552
7721
  | <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.additionalTags">additionalTags</a></code> | <code>{[ key: string ]: string}</code> | Additional tags to apply to all stacks. |
7722
+ | <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.n8nWorkflows">n8nWorkflows</a></code> | <code>boolean</code> | Enable n8n workflow auto-discovery and WorkflowProvider generation. |
7553
7723
  | <code><a href="#@macedon-technologies/batman.BootcampProjectOptions.property.websiteDeps">websiteDeps</a></code> | <code>string[]</code> | Website dependencies. |
7554
7724
 
7555
7725
  ---
@@ -10207,6 +10377,18 @@ Additional tags to apply to all stacks.
10207
10377
 
10208
10378
  ---
10209
10379
 
10380
+ ##### `n8nWorkflows`<sup>Optional</sup> <a name="n8nWorkflows" id="@macedon-technologies/batman.BootcampProjectOptions.property.n8nWorkflows"></a>
10381
+
10382
+ ```typescript
10383
+ public readonly n8nWorkflows: boolean;
10384
+ ```
10385
+
10386
+ - *Type:* boolean
10387
+
10388
+ Enable n8n workflow auto-discovery and WorkflowProvider generation.
10389
+
10390
+ ---
10391
+
10210
10392
  ##### `websiteDeps`<sup>Optional</sup> <a name="websiteDeps" id="@macedon-technologies/batman.BootcampProjectOptions.property.websiteDeps"></a>
10211
10393
 
10212
10394
  ```typescript
@@ -11,6 +11,7 @@ export interface ApplicationOptions {
11
11
  readonly additionalTags?: {
12
12
  [key: string]: string;
13
13
  };
14
+ readonly n8nWorkflows?: boolean;
14
15
  }
15
16
  /**
16
17
  * Application construct that creates all standard project files
@@ -15,6 +15,8 @@ const PrDeployWorkflow_1 = require("./PrDeployWorkflow");
15
15
  const ProductionDeployWorkflow_1 = require("./ProductionDeployWorkflow");
16
16
  const StagingDeployWorkflow_1 = require("./StagingDeployWorkflow");
17
17
  const StaticWebsiteConstructFile_1 = require("./StaticWebsiteConstructFile");
18
+ const WorkflowAutoDiscover_1 = require("./WorkflowAutoDiscover");
19
+ const WorkflowProvider_1 = require("./WorkflowProvider");
18
20
  /**
19
21
  * Application construct that creates all standard project files
20
22
  */
@@ -41,6 +43,11 @@ class Application {
41
43
  // Create construct files
42
44
  new ApiConstructFile_1.ApiConstructFile(project);
43
45
  new StaticWebsiteConstructFile_1.StaticWebsiteConstructFile(project);
46
+ // n8n workflow files
47
+ if (options.n8nWorkflows === undefined || options.n8nWorkflows) {
48
+ new WorkflowProvider_1.WorkflowProviderFile(project);
49
+ new WorkflowAutoDiscover_1.WorkflowAutoDiscover(project);
50
+ }
44
51
  // Create handler files
45
52
  new ApiFunctionFile_1.ApiFunctionFile(project);
46
53
  // Create test files
@@ -73,4 +80,4 @@ class Application {
73
80
  }
74
81
  }
75
82
  exports.Application = Application;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQXBwbGljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBQXNEO0FBQ3RELHVEQUFvRDtBQUNwRCxpRUFBOEQ7QUFDOUQseUVBQXNFO0FBQ3RFLHFEQUFrRDtBQUNsRCxpRUFBOEQ7QUFDOUQsdURBQW9EO0FBQ3BELHlDQUF5RDtBQUN6RCxpREFBOEM7QUFDOUMsMkRBQXdEO0FBQ3hELHlEQUFzRDtBQUN0RCx5RUFBc0U7QUFDdEUsbUVBQWdFO0FBQ2hFLDZFQUEwRTtBQWMxRTs7R0FFRztBQUNILE1BQWEsV0FBVztJQUN0QixZQUFZLE9BQTRCLEVBQUUsT0FBMkI7UUFDbkUsZ0NBQWdDO1FBRWhDLElBQUksbUJBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFlLENBQUMsT0FBTyxFQUFFO1lBQzNCLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtZQUN6QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7U0FDakIsQ0FBQyxDQUFDO1FBRUgscUJBQXFCO1FBQ3JCLElBQUksMkNBQW9CLENBQUMsT0FBTyxFQUFFO1lBQ2hDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtREFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxJQUFJLDJDQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxDLHlCQUF5QjtRQUN6QixJQUFJLG1DQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksdURBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEMsdUJBQXVCO1FBQ3ZCLElBQUksaUNBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QixvQkFBb0I7UUFDcEIsSUFBSSwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLHNCQUFzQjtRQUN0QixJQUFJLCtCQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUIsa0NBQWtDO1FBQ2xDLElBQUksbUNBQWdCLENBQUMsT0FBTyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzdCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1NBQ3JELENBQUMsQ0FBQztRQUVILElBQUkscUNBQWlCLENBQUMsT0FBTyxFQUFFO1lBQzdCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzdCLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtTQUMxQixDQUFDLENBQUM7UUFFSCxJQUFJLDZDQUFxQixDQUFDLE9BQU8sRUFBRTtZQUNqQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7WUFDNUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNqQyxXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDekIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7U0FDekQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtREFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDcEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3pDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDOUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWpFRCxrQ0FpRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuaW1wb3J0IHsgQXBpQ29uc3RydWN0RmlsZSB9IGZyb20gJy4vQXBpQ29uc3RydWN0RmlsZSc7XG5pbXBvcnQgeyBBcGlGdW5jdGlvbkZpbGUgfSBmcm9tICcuL0FwaUZ1bmN0aW9uRmlsZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblN0YWNrRmlsZSB9IGZyb20gJy4vQXBwbGljYXRpb25TdGFja0ZpbGUnO1xuaW1wb3J0IHsgQmFzZUFwcGxpY2F0aW9uU3RhY2tGaWxlIH0gZnJvbSAnLi9CYXNlQXBwbGljYXRpb25TdGFja0ZpbGUnO1xuaW1wb3J0IHsgQ29kZVJhYmJpdEZpbGUgfSBmcm9tICcuL0NvZGVSYWJiaXRGaWxlJztcbmltcG9ydCB7IEdpdEh1YlJvbGVzU3RhY2tGaWxlIH0gZnJvbSAnLi9HaXRIdWJSb2xlc1N0YWNrRmlsZSc7XG5pbXBvcnQgeyBMb2NhbERldkFwcEZpbGUgfSBmcm9tICcuL0xvY2FsRGV2QXBwRmlsZSc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudENvbmZpZywgTWFpbkZpbGUgfSBmcm9tICcuL01haW5GaWxlJztcbmltcG9ydCB7IE1haW5UZXN0RmlsZSB9IGZyb20gJy4vTWFpblRlc3RGaWxlJztcbmltcG9ydCB7IFByQ2xlYW51cFdvcmtmbG93IH0gZnJvbSAnLi9QckNsZWFudXBXb3JrZmxvdyc7XG5pbXBvcnQgeyBQckRlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9QckRlcGxveVdvcmtmbG93JztcbmltcG9ydCB7IFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvdyB9IGZyb20gJy4vUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93JztcbmltcG9ydCB7IFN0YWdpbmdEZXBsb3lXb3JrZmxvdyB9IGZyb20gJy4vU3RhZ2luZ0RlcGxveVdvcmtmbG93JztcbmltcG9ydCB7IFN0YXRpY1dlYnNpdGVDb25zdHJ1Y3RGaWxlIH0gZnJvbSAnLi9TdGF0aWNXZWJzaXRlQ29uc3RydWN0RmlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZyBleHRlbmRzIEVudmlyb25tZW50Q29uZmlnIHtcbiAgcmVhZG9ubHkgZ2l0aHViQWN0aW9uUm9sZUFybjogYGFybjphd3M6aWFtOjoke3N0cmluZ306cm9sZS8ke3N0cmluZ31gO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGdpdGh1YlJlcG9zaXRvcnk6IHN0cmluZztcbiAgcmVhZG9ubHkgZGV2OiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBzdGFnaW5nOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBwcm9kOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBhZGRpdGlvbmFsVGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogQXBwbGljYXRpb24gY29uc3RydWN0IHRoYXQgY3JlYXRlcyBhbGwgc3RhbmRhcmQgcHJvamVjdCBmaWxlc1xuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLCBvcHRpb25zOiBBcHBsaWNhdGlvbk9wdGlvbnMpIHtcbiAgICAvLyBDcmVhdGUgbWFpbiBlbnRyeSBwb2ludCBmaWxlc1xuXG4gICAgbmV3IE1haW5GaWxlKHByb2plY3QsIHtcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBkZXY6IG9wdGlvbnMuZGV2LFxuICAgICAgc3RhZ2luZzogb3B0aW9ucy5zdGFnaW5nLFxuICAgICAgcHJvZDogb3B0aW9ucy5wcm9kLFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IG9wdGlvbnMuYWRkaXRpb25hbFRhZ3MsXG4gICAgfSk7XG5cbiAgICBuZXcgTG9jYWxEZXZBcHBGaWxlKHByb2plY3QsIHtcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBkZXY6IG9wdGlvbnMuZGV2LFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIHN0YWNrIGZpbGVzXG4gICAgbmV3IEdpdEh1YlJvbGVzU3RhY2tGaWxlKHByb2plY3QsIHtcbiAgICAgIGdpdGh1YlJlcG9zaXRvcnk6IG9wdGlvbnMuZ2l0aHViUmVwb3NpdG9yeSxcbiAgICB9KTtcblxuICAgIG5ldyBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUocHJvamVjdCk7XG4gICAgbmV3IEFwcGxpY2F0aW9uU3RhY2tGaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQ3JlYXRlIGNvbnN0cnVjdCBmaWxlc1xuICAgIG5ldyBBcGlDb25zdHJ1Y3RGaWxlKHByb2plY3QpO1xuICAgIG5ldyBTdGF0aWNXZWJzaXRlQ29uc3RydWN0RmlsZShwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSBoYW5kbGVyIGZpbGVzXG4gICAgbmV3IEFwaUZ1bmN0aW9uRmlsZShwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSB0ZXN0IGZpbGVzXG4gICAgbmV3IE1haW5UZXN0RmlsZShwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSBjb25maWcgZmlsZXNcbiAgICBuZXcgQ29kZVJhYmJpdEZpbGUocHJvamVjdCk7XG5cbiAgICAvLyBDcmVhdGUgR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzXG4gICAgbmV3IFByRGVwbG95V29ya2Zsb3cocHJvamVjdCwge1xuICAgICAgcm9sZUFybjogb3B0aW9ucy5kZXYuZ2l0aHViQWN0aW9uUm9sZUFybixcbiAgICAgIGF3c1JlZ2lvbjogb3B0aW9ucy5kZXYucmVnaW9uLFxuICAgICAgY2xlcmtQdWJsaXNoYWJsZUtleTogb3B0aW9ucy5kZXYuY2xlcmtQdWJsaXNoYWJsZUtleSxcbiAgICB9KTtcblxuICAgIG5ldyBQckNsZWFudXBXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICByb2xlQXJuOiBvcHRpb25zLmRldi5naXRodWJBY3Rpb25Sb2xlQXJuLFxuICAgICAgYXdzUmVnaW9uOiBvcHRpb25zLmRldi5yZWdpb24sXG4gICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgIH0pO1xuXG4gICAgbmV3IFN0YWdpbmdEZXBsb3lXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICByb2xlQXJuOiBvcHRpb25zLnN0YWdpbmcuZ2l0aHViQWN0aW9uUm9sZUFybixcbiAgICAgIGF3c1JlZ2lvbjogb3B0aW9ucy5zdGFnaW5nLnJlZ2lvbixcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBjbGVya1B1Ymxpc2hhYmxlS2V5OiBvcHRpb25zLnN0YWdpbmcuY2xlcmtQdWJsaXNoYWJsZUtleSxcbiAgICB9KTtcblxuICAgIG5ldyBQcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cocHJvamVjdCwge1xuICAgICAgcm9sZUFybjogb3B0aW9ucy5wcm9kLmdpdGh1YkFjdGlvblJvbGVBcm4sXG4gICAgICBhd3NSZWdpb246IG9wdGlvbnMucHJvZC5yZWdpb24sXG4gICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgY2xlcmtQdWJsaXNoYWJsZUtleTogb3B0aW9ucy5wcm9kLmNsZXJrUHVibGlzaGFibGVLZXksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQXBwbGljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseURBQXNEO0FBQ3RELHVEQUFvRDtBQUNwRCxpRUFBOEQ7QUFDOUQseUVBQXNFO0FBQ3RFLHFEQUFrRDtBQUNsRCxpRUFBOEQ7QUFDOUQsdURBQW9EO0FBQ3BELHlDQUF5RDtBQUN6RCxpREFBOEM7QUFDOUMsMkRBQXdEO0FBQ3hELHlEQUFzRDtBQUN0RCx5RUFBc0U7QUFDdEUsbUVBQWdFO0FBQ2hFLDZFQUEwRTtBQUMxRSxpRUFBOEQ7QUFDOUQseURBQTBEO0FBZTFEOztHQUVHO0FBQ0gsTUFBYSxXQUFXO0lBQ3RCLFlBQVksT0FBNEIsRUFBRSxPQUEyQjtRQUNuRSxnQ0FBZ0M7UUFFaEMsSUFBSSxtQkFBUSxDQUFDLE9BQU8sRUFBRTtZQUNwQixXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDekIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ2hCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1NBQ3ZDLENBQUMsQ0FBQztRQUVILElBQUksaUNBQWUsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztTQUNqQixDQUFDLENBQUM7UUFFSCxxQkFBcUI7UUFDckIsSUFBSSwyQ0FBb0IsQ0FBQyxPQUFPLEVBQUU7WUFDaEMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtTQUMzQyxDQUFDLENBQUM7UUFFSCxJQUFJLG1EQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLElBQUksMkNBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFbEMseUJBQXlCO1FBQ3pCLElBQUksbUNBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsSUFBSSx1REFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxxQkFBcUI7UUFDckIsSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLFNBQVMsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0QsSUFBSSx1Q0FBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsQyxJQUFJLDJDQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsSUFBSSxpQ0FBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTdCLG9CQUFvQjtRQUNwQixJQUFJLDJCQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUIsc0JBQXNCO1FBQ3RCLElBQUksK0JBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1QixrQ0FBa0M7UUFDbEMsSUFBSSxtQ0FBZ0IsQ0FBQyxPQUFPLEVBQUU7WUFDNUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1lBQ3hDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU07WUFDN0IsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7U0FDckQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxxQ0FBaUIsQ0FBQyxPQUFPLEVBQUU7WUFDN0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1lBQ3hDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU07WUFDN0IsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1NBQzFCLENBQUMsQ0FBQztRQUVILElBQUksNkNBQXFCLENBQUMsT0FBTyxFQUFFO1lBQ2pDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQjtZQUM1QyxTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2pDLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtZQUN6QixtQkFBbUIsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQjtTQUN6RCxDQUFDLENBQUM7UUFFSCxJQUFJLG1EQUF3QixDQUFDLE9BQU8sRUFBRTtZQUNwQyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFDekMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUM5QixXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDekIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUI7U0FDdEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBdkVELGtDQXVFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBBcGlDb25zdHJ1Y3RGaWxlIH0gZnJvbSAnLi9BcGlDb25zdHJ1Y3RGaWxlJztcbmltcG9ydCB7IEFwaUZ1bmN0aW9uRmlsZSB9IGZyb20gJy4vQXBpRnVuY3Rpb25GaWxlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uU3RhY2tGaWxlIH0gZnJvbSAnLi9BcHBsaWNhdGlvblN0YWNrRmlsZSc7XG5pbXBvcnQgeyBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUgfSBmcm9tICcuL0Jhc2VBcHBsaWNhdGlvblN0YWNrRmlsZSc7XG5pbXBvcnQgeyBDb2RlUmFiYml0RmlsZSB9IGZyb20gJy4vQ29kZVJhYmJpdEZpbGUnO1xuaW1wb3J0IHsgR2l0SHViUm9sZXNTdGFja0ZpbGUgfSBmcm9tICcuL0dpdEh1YlJvbGVzU3RhY2tGaWxlJztcbmltcG9ydCB7IExvY2FsRGV2QXBwRmlsZSB9IGZyb20gJy4vTG9jYWxEZXZBcHBGaWxlJztcbmltcG9ydCB7IEVudmlyb25tZW50Q29uZmlnLCBNYWluRmlsZSB9IGZyb20gJy4vTWFpbkZpbGUnO1xuaW1wb3J0IHsgTWFpblRlc3RGaWxlIH0gZnJvbSAnLi9NYWluVGVzdEZpbGUnO1xuaW1wb3J0IHsgUHJDbGVhbnVwV29ya2Zsb3cgfSBmcm9tICcuL1ByQ2xlYW51cFdvcmtmbG93JztcbmltcG9ydCB7IFByRGVwbG95V29ya2Zsb3cgfSBmcm9tICcuL1ByRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9Qcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgU3RhZ2luZ0RlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9TdGFnaW5nRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgU3RhdGljV2Vic2l0ZUNvbnN0cnVjdEZpbGUgfSBmcm9tICcuL1N0YXRpY1dlYnNpdGVDb25zdHJ1Y3RGaWxlJztcbmltcG9ydCB7IFdvcmtmbG93QXV0b0Rpc2NvdmVyIH0gZnJvbSAnLi9Xb3JrZmxvd0F1dG9EaXNjb3Zlcic7XG5pbXBvcnQgeyBXb3JrZmxvd1Byb3ZpZGVyRmlsZSB9IGZyb20gJy4vV29ya2Zsb3dQcm92aWRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZyBleHRlbmRzIEVudmlyb25tZW50Q29uZmlnIHtcbiAgcmVhZG9ubHkgZ2l0aHViQWN0aW9uUm9sZUFybjogYGFybjphd3M6aWFtOjoke3N0cmluZ306cm9sZS8ke3N0cmluZ31gO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGdpdGh1YlJlcG9zaXRvcnk6IHN0cmluZztcbiAgcmVhZG9ubHkgZGV2OiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBzdGFnaW5nOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBwcm9kOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBhZGRpdGlvbmFsVGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIHJlYWRvbmx5IG44bldvcmtmbG93cz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQXBwbGljYXRpb24gY29uc3RydWN0IHRoYXQgY3JlYXRlcyBhbGwgc3RhbmRhcmQgcHJvamVjdCBmaWxlc1xuICovXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLCBvcHRpb25zOiBBcHBsaWNhdGlvbk9wdGlvbnMpIHtcbiAgICAvLyBDcmVhdGUgbWFpbiBlbnRyeSBwb2ludCBmaWxlc1xuXG4gICAgbmV3IE1haW5GaWxlKHByb2plY3QsIHtcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBkZXY6IG9wdGlvbnMuZGV2LFxuICAgICAgc3RhZ2luZzogb3B0aW9ucy5zdGFnaW5nLFxuICAgICAgcHJvZDogb3B0aW9ucy5wcm9kLFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IG9wdGlvbnMuYWRkaXRpb25hbFRhZ3MsXG4gICAgfSk7XG5cbiAgICBuZXcgTG9jYWxEZXZBcHBGaWxlKHByb2plY3QsIHtcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBkZXY6IG9wdGlvbnMuZGV2LFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIHN0YWNrIGZpbGVzXG4gICAgbmV3IEdpdEh1YlJvbGVzU3RhY2tGaWxlKHByb2plY3QsIHtcbiAgICAgIGdpdGh1YlJlcG9zaXRvcnk6IG9wdGlvbnMuZ2l0aHViUmVwb3NpdG9yeSxcbiAgICB9KTtcblxuICAgIG5ldyBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUocHJvamVjdCk7XG4gICAgbmV3IEFwcGxpY2F0aW9uU3RhY2tGaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQ3JlYXRlIGNvbnN0cnVjdCBmaWxlc1xuICAgIG5ldyBBcGlDb25zdHJ1Y3RGaWxlKHByb2plY3QpO1xuICAgIG5ldyBTdGF0aWNXZWJzaXRlQ29uc3RydWN0RmlsZShwcm9qZWN0KTtcblxuICAgIC8vIG44biB3b3JrZmxvdyBmaWxlc1xuICAgIGlmIChvcHRpb25zLm44bldvcmtmbG93cyA9PT0gdW5kZWZpbmVkIHx8IG9wdGlvbnMubjhuV29ya2Zsb3dzKSB7XG4gICAgICBuZXcgV29ya2Zsb3dQcm92aWRlckZpbGUocHJvamVjdCk7XG4gICAgICBuZXcgV29ya2Zsb3dBdXRvRGlzY292ZXIocHJvamVjdCk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGhhbmRsZXIgZmlsZXNcbiAgICBuZXcgQXBpRnVuY3Rpb25GaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQ3JlYXRlIHRlc3QgZmlsZXNcbiAgICBuZXcgTWFpblRlc3RGaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQ3JlYXRlIGNvbmZpZyBmaWxlc1xuICAgIG5ldyBDb2RlUmFiYml0RmlsZShwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvd3NcbiAgICBuZXcgUHJEZXBsb3lXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICByb2xlQXJuOiBvcHRpb25zLmRldi5naXRodWJBY3Rpb25Sb2xlQXJuLFxuICAgICAgYXdzUmVnaW9uOiBvcHRpb25zLmRldi5yZWdpb24sXG4gICAgICBjbGVya1B1Ymxpc2hhYmxlS2V5OiBvcHRpb25zLmRldi5jbGVya1B1Ymxpc2hhYmxlS2V5LFxuICAgIH0pO1xuXG4gICAgbmV3IFByQ2xlYW51cFdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgIHJvbGVBcm46IG9wdGlvbnMuZGV2LmdpdGh1YkFjdGlvblJvbGVBcm4sXG4gICAgICBhd3NSZWdpb246IG9wdGlvbnMuZGV2LnJlZ2lvbixcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgfSk7XG5cbiAgICBuZXcgU3RhZ2luZ0RlcGxveVdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgIHJvbGVBcm46IG9wdGlvbnMuc3RhZ2luZy5naXRodWJBY3Rpb25Sb2xlQXJuLFxuICAgICAgYXdzUmVnaW9uOiBvcHRpb25zLnN0YWdpbmcucmVnaW9uLFxuICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgIGNsZXJrUHVibGlzaGFibGVLZXk6IG9wdGlvbnMuc3RhZ2luZy5jbGVya1B1Ymxpc2hhYmxlS2V5LFxuICAgIH0pO1xuXG4gICAgbmV3IFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICByb2xlQXJuOiBvcHRpb25zLnByb2QuZ2l0aHViQWN0aW9uUm9sZUFybixcbiAgICAgIGF3c1JlZ2lvbjogb3B0aW9ucy5wcm9kLnJlZ2lvbixcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBjbGVya1B1Ymxpc2hhYmxlS2V5OiBvcHRpb25zLnByb2QuY2xlcmtQdWJsaXNoYWJsZUtleSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -19,6 +19,10 @@ export interface BatmanProjectOptions extends AwsCdkTypeScriptAppOptions {
19
19
  readonly additionalTags?: {
20
20
  [key: string]: string;
21
21
  };
22
+ /**
23
+ * Enable n8n workflow auto-discovery and WorkflowProvider generation
24
+ */
25
+ readonly n8nWorkflows?: boolean;
22
26
  /**
23
27
  * Additional code owners to add to the CODEOWNERS file
24
28
  */
@@ -84,6 +84,7 @@ class BatmanProject extends awscdk_1.AwsCdkTypeScriptApp {
84
84
  ...options.dev,
85
85
  },
86
86
  additionalTags: options.additionalTags,
87
+ n8nWorkflows: options.n8nWorkflows,
87
88
  });
88
89
  new GitHubRolesFile_1.GitHubRolesFile(this, {
89
90
  account: PRIMARY_ACCOUNT,
@@ -116,5 +117,5 @@ class BatmanProject extends awscdk_1.AwsCdkTypeScriptApp {
116
117
  }
117
118
  exports.BatmanProject = BatmanProject;
118
119
  _a = JSII_RTTI_SYMBOL_1;
119
- BatmanProject[_a] = { fqn: "@macedon-technologies/batman.BatmanProject", version: "1.11.1" };
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmF0bWFuUHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXRtYW5Qcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOENBQW9GO0FBQ3BGLDhDQUFzRDtBQUN0RCwrQ0FBMEU7QUFDMUUscURBQWtEO0FBQ2xELDJEQUF3RDtBQUN4RCx1REFBb0Q7QUFDcEQsbUNBQXlDO0FBQ3pDLHlEQUFzRDtBQW9DdEQsTUFBYSxhQUFjLFNBQVEsNEJBQW1CO0lBQ3BELFlBQVksT0FBNkI7UUFDdkMsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksU0FBUztZQUMzQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CLElBQUksTUFBTTtZQUM1RCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsSUFBSSxFQUFFO2dCQUNKLG1CQUFtQjtnQkFDbkIsZ0JBQWdCO2dCQUNoQixXQUFXO2dCQUNYLElBQUk7Z0JBQ0oscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLDJCQUEyQjtnQkFDM0IsMEJBQTBCO2dCQUMxQixtQ0FBbUM7Z0JBQ25DLGNBQWM7Z0JBQ2QsaUNBQWlDO2dCQUNqQyxTQUFTO2dCQUNULGlCQUFpQjtnQkFDakIsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsZUFBZSxFQUFFO29CQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlO29CQUNwQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsMEJBQTBCLEVBQUUsSUFBSTtpQkFDakM7YUFDRjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDOUMsa0JBQWtCLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRTtvQkFDZixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFHSCxnQ0FBZ0M7UUFDaEMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3BCLGdCQUFnQixFQUFFLHdCQUF3QixPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3hELEdBQUcsRUFBRTtnQkFDSCxHQUFHLE9BQU8sQ0FBQyxHQUFHO2FBQ2Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxPQUFPLENBQUMsT0FBTzthQUNuQjtZQUNELElBQUksRUFBRTtnQkFDSixHQUFHLE9BQU8sQ0FBQyxHQUFHO2FBQ2Y7WUFDRCxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxpQ0FBZSxDQUFDLElBQUksRUFBRTtZQUN4QixPQUFPLEVBQUUsZUFBZTtZQUN4QixhQUFhLEVBQUUsY0FBYztTQUM5QixDQUFDLENBQUM7UUFFSCxJQUFJLCtCQUFjLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0I7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QixNQUFNLFNBQVMsR0FBRyxJQUFJLG1DQUFnQixDQUFDO1lBQ3JDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixvQkFBb0IsRUFBRSxNQUFNO1lBQzVCLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLEtBQUs7WUFDYixJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVc7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEQsU0FBUyxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQWMsRUFBRSxFQUFFO1lBQ3pDLE9BQU8sZ0JBQWdCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDN0QsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDbEIsSUFBSSxFQUFFLFlBQVksQ0FDaEIsZ0ZBQWdGLEVBQ2hGLFNBQVMsQ0FBQyxVQUFVLENBQ3JCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxFQUFFLGdGQUFnRjtZQUN0RixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7SUFHTCxDQUFDOztBQXBISCxzQ0FxSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwLCBBd3NDZGtUeXBlU2NyaXB0QXBwT3B0aW9ucyB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IEdpdGh1YkNyZWRlbnRpYWxzIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgQXBwbGljYXRpb24sIEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWcgfSBmcm9tICcuL0FwcGxpY2F0aW9uJztcbmltcG9ydCB7IENvZGVPd25lcnNGaWxlIH0gZnJvbSAnLi9Db2RlT3duZXJzRmlsZSc7XG5pbXBvcnQgeyBEYXRhRG9nQXNwZWN0RmlsZSB9IGZyb20gJy4vRGF0YURvZ0FzcGVjdEZpbGUnO1xuaW1wb3J0IHsgR2l0SHViUm9sZXNGaWxlIH0gZnJvbSAnLi9HaXRIdWJSb2xlc0ZpbGUnO1xuaW1wb3J0IHsgcmVhZG1lQ29udGVudHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFZpdGVSZWFjdFByb2plY3QgfSBmcm9tICcuL1ZpdGVSZWFjdFByb2plY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhdG1hblByb2plY3RPcHRpb25zIGV4dGVuZHMgQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBEZXZlbG9wbWVudCBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXY6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG5cbiAgLyoqXG4gICAqIERldmVsb3BtZW50IGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHN0YWdpbmc6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG5cbiAgLyoqXG4gICAqIFByb2R1Y3Rpb24gZW52aXJvbm1lbnQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZDogQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCB0YWdzIHRvIGFwcGx5IHRvIGFsbCBzdGFja3NcbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxUYWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb2RlIG93bmVycyB0byBhZGQgdG8gdGhlIENPREVPV05FUlMgZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENvZGVPd25lcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2Vic2l0ZSBkZXBlbmRlbmNpZXNcbiAgICovXG4gIHJlYWRvbmx5IHdlYnNpdGVEZXBzPzogc3RyaW5nW107XG59XG5cblxuZXhwb3J0IGNsYXNzIEJhdG1hblByb2plY3QgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQmF0bWFuUHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uIHx8ICcyLjIyNC4wJyxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiBvcHRpb25zLmRlZmF1bHRSZWxlYXNlQnJhbmNoIHx8ICdtYWluJyxcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAgICBidWlsZFdvcmtmbG93OiBmYWxzZSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgJ0B0eXBlcy9hd3MtbGFtYmRhJyxcbiAgICAgICAgJ0B0eXBlcy9leHByZXNzJyxcbiAgICAgICAgJ0B0eXBlcy9wZycsXG4gICAgICAgICdwZycsXG4gICAgICAgICdAYXdzLXNkay9yZHMtc2lnbmVyJyxcbiAgICAgICAgJ0BtYXR0aGV3Ym9uaWcvc2VjcmV0JyxcbiAgICAgICAgJ2RhdGFkb2ctY2RrLWNvbnN0cnVjdHMtdjInLFxuICAgICAgICAnQGNka2xhYnMvYXdzLWxhbWJkYS1ydXN0JyxcbiAgICAgICAgJ0Bhd3MtbGFtYmRhLXBvd2VydG9vbHMvcGFyYW1ldGVycycsXG4gICAgICAgICdqc29ud2VidG9rZW4nLFxuICAgICAgICAnQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlcicsXG4gICAgICAgICdleHByZXNzJyxcbiAgICAgICAgJ3NlcnZlcmxlc3MtaHR0cCcsXG4gICAgICAgIC4uLm9wdGlvbnMuZGVwcyB8fCBbXSxcbiAgICAgIF0sXG4gICAgICBkZXZEZXBzOiBbXG4gICAgICAgICdAdHlwZXMvanNvbndlYnRva2VuJyxcbiAgICAgICAgJ25vZGVtb24nLFxuICAgICAgICAnY29uY3VycmVudGx5JyxcbiAgICAgICAgJ0BtYWNlZG9uLXRlY2hub2xvZ2llcy9iYXRtYW5AXjEuMC4wJyxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXZEZXBzIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIGdpdGlnbm9yZTogW1xuICAgICAgICAnc3JjL2NvbnN0cnVjdHMvaGFuZGxlci9jbGVyay1hdXRob3JpemVyL3RhcmdldC8qKicsXG4gICAgICAgICcqKi8uRFNfU3RvcmUnLFxuICAgICAgICAuLi5vcHRpb25zLmdpdGlnbm9yZSB8fCBbXSxcbiAgICAgIF0sXG4gICAgICB0c2NvbmZpZzoge1xuICAgICAgICAuLi5vcHRpb25zLnRzY29uZmlnLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICAuLi5vcHRpb25zLnRzY29uZmlnPy5jb21waWxlck9wdGlvbnMsXG4gICAgICAgICAgaXNvbGF0ZWRNb2R1bGVzOiB0cnVlLFxuICAgICAgICAgIGFsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuICAgICAgbWluTm9kZVZlcnNpb246IG9wdGlvbnMubWluTm9kZVZlcnNpb24gfHwgJzIyJyxcbiAgICAgIGRlcHNVcGdyYWRlT3B0aW9uczoge1xuICAgICAgICB3b3JrZmxvd09wdGlvbnM6IHtcbiAgICAgICAgICBwcm9qZW5DcmVkZW50aWFsczogR2l0aHViQ3JlZGVudGlhbHMuZnJvbVBlcnNvbmFsQWNjZXNzVG9rZW4oe1xuICAgICAgICAgICAgc2VjcmV0OiAnR0lUSFVCX1RPS0VOJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICByZWFkbWU6IHtcbiAgICAgICAgY29udGVudHM6IHJlYWRtZUNvbnRlbnRzKG9wdGlvbnMubmFtZSksXG4gICAgICB9LFxuICAgIH0pO1xuXG5cbiAgICAvLyBDcmVhdGUgc3RhbmRhcmQgcHJvamVjdCBmaWxlc1xuICAgIGNvbnN0IFBSSU1BUllfQUNDT1VOVCA9ICcwMTU5NTU4MTcyNjMnO1xuICAgIGNvbnN0IFBSSU1BUllfUkVHSU9OID0gJ3VzLWVhc3QtMSc7XG5cbiAgICBuZXcgQXBwbGljYXRpb24odGhpcywge1xuICAgICAgZ2l0aHViUmVwb3NpdG9yeTogYG1hY2Vkb24tdGVjaG5vbG9naWVzLyR7b3B0aW9ucy5uYW1lfWAsXG4gICAgICBkZXY6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgc3RhZ2luZzoge1xuICAgICAgICAuLi5vcHRpb25zLnN0YWdpbmcsXG4gICAgICB9LFxuICAgICAgcHJvZDoge1xuICAgICAgICAuLi5vcHRpb25zLmRldixcbiAgICAgIH0sXG4gICAgICBhZGRpdGlvbmFsVGFnczogb3B0aW9ucy5hZGRpdGlvbmFsVGFncyxcbiAgICB9KTtcblxuICAgIG5ldyBHaXRIdWJSb2xlc0ZpbGUodGhpcywge1xuICAgICAgYWNjb3VudDogUFJJTUFSWV9BQ0NPVU5ULFxuICAgICAgcHJpbWFyeVJlZ2lvbjogUFJJTUFSWV9SRUdJT04sXG4gICAgfSk7XG5cbiAgICBuZXcgQ29kZU93bmVyc0ZpbGUodGhpcywge1xuICAgICAgYWRkaXRpb25hbE93bmVyczogb3B0aW9ucy5hZGRpdGlvbmFsQ29kZU93bmVycyxcbiAgICB9KTtcblxuICAgIG5ldyBEYXRhRG9nQXNwZWN0RmlsZSh0aGlzKTtcblxuICAgIGNvbnN0IHZpdGVSZWFjdCA9IG5ldyBWaXRlUmVhY3RQcm9qZWN0KHtcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnbWFpbicsXG4gICAgICBwYXJlbnQ6IHRoaXMsXG4gICAgICBvdXRkaXI6ICd3ZWInLFxuICAgICAgZGVwczogb3B0aW9ucy53ZWJzaXRlRGVwcyxcbiAgICB9KTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZycsICdudW1iZXInKTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZ0Vsc2UnLCAnc3RyaW5nJyk7XG5cbiAgICBjb25zdCBjb25jdXJyZW50bHkgPSAoLi4uYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgIHJldHVybiBgY29uY3VycmVudGx5ICR7YXJncy5tYXAoYSA9PiBgXCIke2F9XCJgKS5qb2luKCcgJyl9YDtcbiAgICB9O1xuXG4gICAgdGhpcy5hZGRUYXNrKCdkZXYnLCB7XG4gICAgICBleGVjOiBjb25jdXJyZW50bHkoXG4gICAgICAgICdub2RlbW9uIC0td2F0Y2ggLi9zcmMvY29uc3RydWN0cy9oYW5kbGVyIC0td2F0Y2ggLi9sb2NhbC9kZXYudHMgLi9sb2NhbC9kZXYudHMnLFxuICAgICAgICB2aXRlUmVhY3QuZGV2Q29tbWFuZCxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZFRhc2soJ2NkazpkZXYnLCB7XG4gICAgICBleGVjOiAneWFybiBjZGsgLWEgXCJucHggdHMtbm9kZSAtUCB0c2NvbmZpZy5qc29uIC0tcHJlZmVyLXRzLWV4dHMgc3JjL0xvY2FsRGV2QXBwLnRzXCInLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cblxuICB9XG59XG4iXX0=
120
+ BatmanProject[_a] = { fqn: "@macedon-technologies/batman.BatmanProject", version: "1.12.0" };
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmF0bWFuUHJvamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXRtYW5Qcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOENBQW9GO0FBQ3BGLDhDQUFzRDtBQUN0RCwrQ0FBMEU7QUFDMUUscURBQWtEO0FBQ2xELDJEQUF3RDtBQUN4RCx1REFBb0Q7QUFDcEQsbUNBQXlDO0FBQ3pDLHlEQUFzRDtBQXlDdEQsTUFBYSxhQUFjLFNBQVEsNEJBQW1CO0lBQ3BELFlBQVksT0FBNkI7UUFDdkMsS0FBSyxDQUFDO1lBQ0osR0FBRyxPQUFPO1lBQ1YsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksU0FBUztZQUMzQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CLElBQUksTUFBTTtZQUM1RCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsSUFBSSxFQUFFO2dCQUNKLG1CQUFtQjtnQkFDbkIsZ0JBQWdCO2dCQUNoQixXQUFXO2dCQUNYLElBQUk7Z0JBQ0oscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLDJCQUEyQjtnQkFDM0IsMEJBQTBCO2dCQUMxQixtQ0FBbUM7Z0JBQ25DLGNBQWM7Z0JBQ2QsaUNBQWlDO2dCQUNqQyxTQUFTO2dCQUNULGlCQUFpQjtnQkFDakIsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsZUFBZSxFQUFFO29CQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlO29CQUNwQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsMEJBQTBCLEVBQUUsSUFBSTtpQkFDakM7YUFDRjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDOUMsa0JBQWtCLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRTtvQkFDZixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFHSCxnQ0FBZ0M7UUFDaEMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLHlCQUFXLENBQUMsSUFBSSxFQUFFO1lBQ3BCLGdCQUFnQixFQUFFLHdCQUF3QixPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ3hELEdBQUcsRUFBRTtnQkFDSCxHQUFHLE9BQU8sQ0FBQyxHQUFHO2FBQ2Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxPQUFPLENBQUMsT0FBTzthQUNuQjtZQUNELElBQUksRUFBRTtnQkFDSixHQUFHLE9BQU8sQ0FBQyxHQUFHO2FBQ2Y7WUFDRCxjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWM7WUFDdEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1NBQ25DLENBQUMsQ0FBQztRQUVILElBQUksaUNBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDeEIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsYUFBYSxFQUFFLGNBQWM7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSwrQkFBYyxDQUFDLElBQUksRUFBRTtZQUN2QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CO1NBQy9DLENBQUMsQ0FBQztRQUVILElBQUkscUNBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQztZQUNyQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsb0JBQW9CLEVBQUUsTUFBTTtZQUM1QixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxLQUFLO1lBQ2IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXO1NBQzFCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFNBQVMsQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXBELE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFjLEVBQUUsRUFBRTtZQUN6QyxPQUFPLGdCQUFnQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzdELENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2xCLElBQUksRUFBRSxZQUFZLENBQ2hCLGdGQUFnRixFQUNoRixTQUFTLENBQUMsVUFBVSxDQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3RCLElBQUksRUFBRSxnRkFBZ0Y7WUFDdEYsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO0lBR0wsQ0FBQzs7QUFySEgsc0NBc0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCwgQXdzQ2RrVHlwZVNjcmlwdEFwcE9wdGlvbnMgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBHaXRodWJDcmVkZW50aWFscyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uLCBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnIH0gZnJvbSAnLi9BcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBDb2RlT3duZXJzRmlsZSB9IGZyb20gJy4vQ29kZU93bmVyc0ZpbGUnO1xuaW1wb3J0IHsgRGF0YURvZ0FzcGVjdEZpbGUgfSBmcm9tICcuL0RhdGFEb2dBc3BlY3RGaWxlJztcbmltcG9ydCB7IEdpdEh1YlJvbGVzRmlsZSB9IGZyb20gJy4vR2l0SHViUm9sZXNGaWxlJztcbmltcG9ydCB7IHJlYWRtZUNvbnRlbnRzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBWaXRlUmVhY3RQcm9qZWN0IH0gZnJvbSAnLi9WaXRlUmVhY3RQcm9qZWN0JztcblxuZXhwb3J0IGludGVyZmFjZSBCYXRtYW5Qcm9qZWN0T3B0aW9ucyBleHRlbmRzIEF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHtcblxuICAvKipcbiAgICogRGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGV2OiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBEZXZlbG9wbWVudCBlbnZpcm9ubWVudCBjb25maWd1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdGFnaW5nOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBQcm9kdWN0aW9uIGVudmlyb25tZW50IGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIHJlYWRvbmx5IHByb2Q6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgdGFncyB0byBhcHBseSB0byBhbGwgc3RhY2tzXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsVGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBuOG4gd29ya2Zsb3cgYXV0by1kaXNjb3ZlcnkgYW5kIFdvcmtmbG93UHJvdmlkZXIgZ2VuZXJhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgbjhuV29ya2Zsb3dzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBjb2RlIG93bmVycyB0byBhZGQgdG8gdGhlIENPREVPV05FUlMgZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENvZGVPd25lcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogV2Vic2l0ZSBkZXBlbmRlbmNpZXNcbiAgICovXG4gIHJlYWRvbmx5IHdlYnNpdGVEZXBzPzogc3RyaW5nW107XG59XG5cblxuZXhwb3J0IGNsYXNzIEJhdG1hblByb2plY3QgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQmF0bWFuUHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uIHx8ICcyLjIyNC4wJyxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiBvcHRpb25zLmRlZmF1bHRSZWxlYXNlQnJhbmNoIHx8ICdtYWluJyxcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAgICBidWlsZFdvcmtmbG93OiBmYWxzZSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgJ0B0eXBlcy9hd3MtbGFtYmRhJyxcbiAgICAgICAgJ0B0eXBlcy9leHByZXNzJyxcbiAgICAgICAgJ0B0eXBlcy9wZycsXG4gICAgICAgICdwZycsXG4gICAgICAgICdAYXdzLXNkay9yZHMtc2lnbmVyJyxcbiAgICAgICAgJ0BtYXR0aGV3Ym9uaWcvc2VjcmV0JyxcbiAgICAgICAgJ2RhdGFkb2ctY2RrLWNvbnN0cnVjdHMtdjInLFxuICAgICAgICAnQGNka2xhYnMvYXdzLWxhbWJkYS1ydXN0JyxcbiAgICAgICAgJ0Bhd3MtbGFtYmRhLXBvd2VydG9vbHMvcGFyYW1ldGVycycsXG4gICAgICAgICdqc29ud2VidG9rZW4nLFxuICAgICAgICAnQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlcicsXG4gICAgICAgICdleHByZXNzJyxcbiAgICAgICAgJ3NlcnZlcmxlc3MtaHR0cCcsXG4gICAgICAgIC4uLm9wdGlvbnMuZGVwcyB8fCBbXSxcbiAgICAgIF0sXG4gICAgICBkZXZEZXBzOiBbXG4gICAgICAgICdAdHlwZXMvanNvbndlYnRva2VuJyxcbiAgICAgICAgJ25vZGVtb24nLFxuICAgICAgICAnY29uY3VycmVudGx5JyxcbiAgICAgICAgJ0BtYWNlZG9uLXRlY2hub2xvZ2llcy9iYXRtYW5AXjEuMC4wJyxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXZEZXBzIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIGdpdGlnbm9yZTogW1xuICAgICAgICAnc3JjL2NvbnN0cnVjdHMvaGFuZGxlci9jbGVyay1hdXRob3JpemVyL3RhcmdldC8qKicsXG4gICAgICAgICcqKi8uRFNfU3RvcmUnLFxuICAgICAgICAuLi5vcHRpb25zLmdpdGlnbm9yZSB8fCBbXSxcbiAgICAgIF0sXG4gICAgICB0c2NvbmZpZzoge1xuICAgICAgICAuLi5vcHRpb25zLnRzY29uZmlnLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICAuLi5vcHRpb25zLnRzY29uZmlnPy5jb21waWxlck9wdGlvbnMsXG4gICAgICAgICAgaXNvbGF0ZWRNb2R1bGVzOiB0cnVlLFxuICAgICAgICAgIGFsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNhbXBsZUNvZGU6IGZhbHNlLFxuICAgICAgbWluTm9kZVZlcnNpb246IG9wdGlvbnMubWluTm9kZVZlcnNpb24gfHwgJzIyJyxcbiAgICAgIGRlcHNVcGdyYWRlT3B0aW9uczoge1xuICAgICAgICB3b3JrZmxvd09wdGlvbnM6IHtcbiAgICAgICAgICBwcm9qZW5DcmVkZW50aWFsczogR2l0aHViQ3JlZGVudGlhbHMuZnJvbVBlcnNvbmFsQWNjZXNzVG9rZW4oe1xuICAgICAgICAgICAgc2VjcmV0OiAnR0lUSFVCX1RPS0VOJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICByZWFkbWU6IHtcbiAgICAgICAgY29udGVudHM6IHJlYWRtZUNvbnRlbnRzKG9wdGlvbnMubmFtZSksXG4gICAgICB9LFxuICAgIH0pO1xuXG5cbiAgICAvLyBDcmVhdGUgc3RhbmRhcmQgcHJvamVjdCBmaWxlc1xuICAgIGNvbnN0IFBSSU1BUllfQUNDT1VOVCA9ICcwMTU5NTU4MTcyNjMnO1xuICAgIGNvbnN0IFBSSU1BUllfUkVHSU9OID0gJ3VzLWVhc3QtMSc7XG5cbiAgICBuZXcgQXBwbGljYXRpb24odGhpcywge1xuICAgICAgZ2l0aHViUmVwb3NpdG9yeTogYG1hY2Vkb24tdGVjaG5vbG9naWVzLyR7b3B0aW9ucy5uYW1lfWAsXG4gICAgICBkZXY6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgc3RhZ2luZzoge1xuICAgICAgICAuLi5vcHRpb25zLnN0YWdpbmcsXG4gICAgICB9LFxuICAgICAgcHJvZDoge1xuICAgICAgICAuLi5vcHRpb25zLmRldixcbiAgICAgIH0sXG4gICAgICBhZGRpdGlvbmFsVGFnczogb3B0aW9ucy5hZGRpdGlvbmFsVGFncyxcbiAgICAgIG44bldvcmtmbG93czogb3B0aW9ucy5uOG5Xb3JrZmxvd3MsXG4gICAgfSk7XG5cbiAgICBuZXcgR2l0SHViUm9sZXNGaWxlKHRoaXMsIHtcbiAgICAgIGFjY291bnQ6IFBSSU1BUllfQUNDT1VOVCxcbiAgICAgIHByaW1hcnlSZWdpb246IFBSSU1BUllfUkVHSU9OLFxuICAgIH0pO1xuXG4gICAgbmV3IENvZGVPd25lcnNGaWxlKHRoaXMsIHtcbiAgICAgIGFkZGl0aW9uYWxPd25lcnM6IG9wdGlvbnMuYWRkaXRpb25hbENvZGVPd25lcnMsXG4gICAgfSk7XG5cbiAgICBuZXcgRGF0YURvZ0FzcGVjdEZpbGUodGhpcyk7XG5cbiAgICBjb25zdCB2aXRlUmVhY3QgPSBuZXcgVml0ZVJlYWN0UHJvamVjdCh7XG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogJ21haW4nLFxuICAgICAgcGFyZW50OiB0aGlzLFxuICAgICAgb3V0ZGlyOiAnd2ViJyxcbiAgICAgIGRlcHM6IG9wdGlvbnMud2Vic2l0ZURlcHMsXG4gICAgfSk7XG4gICAgdml0ZVJlYWN0LmFkZENvbmZpZ0ZpZWxkKCdzb21ldGhpbmcnLCAnbnVtYmVyJyk7XG4gICAgdml0ZVJlYWN0LmFkZENvbmZpZ0ZpZWxkKCdzb21ldGhpbmdFbHNlJywgJ3N0cmluZycpO1xuXG4gICAgY29uc3QgY29uY3VycmVudGx5ID0gKC4uLmFyZ3M6IHN0cmluZ1tdKSA9PiB7XG4gICAgICByZXR1cm4gYGNvbmN1cnJlbnRseSAke2FyZ3MubWFwKGEgPT4gYFwiJHthfVwiYCkuam9pbignICcpfWA7XG4gICAgfTtcblxuICAgIHRoaXMuYWRkVGFzaygnZGV2Jywge1xuICAgICAgZXhlYzogY29uY3VycmVudGx5KFxuICAgICAgICAnbm9kZW1vbiAtLXdhdGNoIC4vc3JjL2NvbnN0cnVjdHMvaGFuZGxlciAtLXdhdGNoIC4vbG9jYWwvZGV2LnRzIC4vbG9jYWwvZGV2LnRzJyxcbiAgICAgICAgdml0ZVJlYWN0LmRldkNvbW1hbmQsXG4gICAgICApLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRUYXNrKCdjZGs6ZGV2Jywge1xuICAgICAgZXhlYzogJ3lhcm4gY2RrIC1hIFwibnB4IHRzLW5vZGUgLVAgdHNjb25maWcuanNvbiAtLXByZWZlci10cy1leHRzIHNyYy9Mb2NhbERldkFwcC50c1wiJyxcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pO1xuXG5cbiAgfVxufVxuIl19
@@ -11,6 +11,12 @@ export interface ApplicationOptions {
11
11
  readonly additionalTags?: {
12
12
  [key: string]: string;
13
13
  };
14
+ /**
15
+ * If true, creates WorkflowProvider files for each n8n workflow file found in src/workflows/*.json
16
+ *
17
+ * @default true
18
+ */
19
+ readonly n8nWorkflows?: boolean;
14
20
  }
15
21
  /**
16
22
  * Application construct that creates all standard project files
@@ -15,6 +15,8 @@ const PrDeployWorkflow_1 = require("./PrDeployWorkflow");
15
15
  const ProductionDeployWorkflow_1 = require("./ProductionDeployWorkflow");
16
16
  const StagingDeployWorkflow_1 = require("./StagingDeployWorkflow");
17
17
  const StaticWebsiteConstructFile_1 = require("./StaticWebsiteConstructFile");
18
+ const WorkflowAutoDiscover_1 = require("./WorkflowAutoDiscover");
19
+ const WorkflowProvider_1 = require("./WorkflowProvider");
18
20
  /**
19
21
  * Application construct that creates all standard project files
20
22
  */
@@ -41,6 +43,11 @@ class BootcampApplication {
41
43
  // Create construct files
42
44
  new ApiConstructFile_1.ApiConstructFile(project);
43
45
  new StaticWebsiteConstructFile_1.StaticWebsiteConstructFile(project);
46
+ // n8n workflow files
47
+ if (options.n8nWorkflows === undefined || options.n8nWorkflows) {
48
+ new WorkflowProvider_1.WorkflowProviderFile(project);
49
+ new WorkflowAutoDiscover_1.WorkflowAutoDiscover(project);
50
+ }
44
51
  // Create handler files
45
52
  new ApiFunctionFile_1.ApiFunctionFile(project);
46
53
  // Create test files
@@ -73,4 +80,4 @@ class BootcampApplication {
73
80
  }
74
81
  }
75
82
  exports.BootcampApplication = BootcampApplication;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBBcHBsaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Cb290Y2FtcEFwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlEQUFzRDtBQUN0RCx1REFBb0Q7QUFDcEQsaUZBQThFO0FBQzlFLHlGQUFzRjtBQUN0RixxREFBa0Q7QUFDbEQsaUVBQThEO0FBQzlELHVEQUFvRDtBQUNwRCx5Q0FBeUQ7QUFDekQsaURBQThDO0FBQzlDLDJEQUF3RDtBQUN4RCx5REFBc0Q7QUFDdEQseUVBQXNFO0FBQ3RFLG1FQUFnRTtBQUNoRSw2RUFBMEU7QUFjMUU7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUM5QixZQUFZLE9BQTRCLEVBQUUsT0FBMkI7UUFDbkUsZ0NBQWdDO1FBRWhDLElBQUksbUJBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFlLENBQUMsT0FBTyxFQUFFO1lBQzNCLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtZQUN6QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7U0FDakIsQ0FBQyxDQUFDO1FBRUgscUJBQXFCO1FBQ3JCLElBQUksMkNBQW9CLENBQUMsT0FBTyxFQUFFO1lBQ2hDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtRUFBZ0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLDJEQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLHlCQUF5QjtRQUN6QixJQUFJLG1DQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksdURBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEMsdUJBQXVCO1FBQ3ZCLElBQUksaUNBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QixvQkFBb0I7UUFDcEIsSUFBSSwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLHNCQUFzQjtRQUN0QixJQUFJLCtCQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUIsa0NBQWtDO1FBQ2xDLElBQUksbUNBQWdCLENBQUMsT0FBTyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzdCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1NBQ3JELENBQUMsQ0FBQztRQUVILElBQUkscUNBQWlCLENBQUMsT0FBTyxFQUFFO1lBQzdCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzdCLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtTQUMxQixDQUFDLENBQUM7UUFFSCxJQUFJLDZDQUFxQixDQUFDLE9BQU8sRUFBRTtZQUNqQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7WUFDNUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNqQyxXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDekIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7U0FDekQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtREFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDcEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3pDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDOUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWpFRCxrREFpRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuaW1wb3J0IHsgQXBpQ29uc3RydWN0RmlsZSB9IGZyb20gJy4vQXBpQ29uc3RydWN0RmlsZSc7XG5pbXBvcnQgeyBBcGlGdW5jdGlvbkZpbGUgfSBmcm9tICcuL0FwaUZ1bmN0aW9uRmlsZSc7XG5pbXBvcnQgeyBCb290Y2FtcEFwcGxpY2F0aW9uU3RhY2tGaWxlIH0gZnJvbSAnLi9Cb290Y2FtcEFwcGxpY2F0aW9uU3RhY2tGaWxlJztcbmltcG9ydCB7IEJvb3RjYW1wQmFzZUFwcGxpY2F0aW9uU3RhY2tGaWxlIH0gZnJvbSAnLi9Cb290Y2FtcEJhc2VBcHBsaWNhdGlvblN0YWNrRmlsZSc7XG5pbXBvcnQgeyBDb2RlUmFiYml0RmlsZSB9IGZyb20gJy4vQ29kZVJhYmJpdEZpbGUnO1xuaW1wb3J0IHsgR2l0SHViUm9sZXNTdGFja0ZpbGUgfSBmcm9tICcuL0dpdEh1YlJvbGVzU3RhY2tGaWxlJztcbmltcG9ydCB7IExvY2FsRGV2QXBwRmlsZSB9IGZyb20gJy4vTG9jYWxEZXZBcHBGaWxlJztcbmltcG9ydCB7IEVudmlyb25tZW50Q29uZmlnLCBNYWluRmlsZSB9IGZyb20gJy4vTWFpbkZpbGUnO1xuaW1wb3J0IHsgTWFpblRlc3RGaWxlIH0gZnJvbSAnLi9NYWluVGVzdEZpbGUnO1xuaW1wb3J0IHsgUHJDbGVhbnVwV29ya2Zsb3cgfSBmcm9tICcuL1ByQ2xlYW51cFdvcmtmbG93JztcbmltcG9ydCB7IFByRGVwbG95V29ya2Zsb3cgfSBmcm9tICcuL1ByRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9Qcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgU3RhZ2luZ0RlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9TdGFnaW5nRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgU3RhdGljV2Vic2l0ZUNvbnN0cnVjdEZpbGUgfSBmcm9tICcuL1N0YXRpY1dlYnNpdGVDb25zdHJ1Y3RGaWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnIGV4dGVuZHMgRW52aXJvbm1lbnRDb25maWcge1xuICByZWFkb25seSBnaXRodWJBY3Rpb25Sb2xlQXJuOiBgYXJuOmF3czppYW06OiR7c3RyaW5nfTpyb2xlLyR7c3RyaW5nfWA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25PcHRpb25zIHtcbiAgcmVhZG9ubHkgZ2l0aHViUmVwb3NpdG9yeTogc3RyaW5nO1xuICByZWFkb25seSBkZXY6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG4gIHJlYWRvbmx5IHN0YWdpbmc6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG4gIHJlYWRvbmx5IHByb2Q6IEFwcGxpY2F0aW9uRW52aXJvbm1lbnRDb25maWc7XG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxUYWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBBcHBsaWNhdGlvbiBjb25zdHJ1Y3QgdGhhdCBjcmVhdGVzIGFsbCBzdGFuZGFyZCBwcm9qZWN0IGZpbGVzXG4gKi9cbmV4cG9ydCBjbGFzcyBCb290Y2FtcEFwcGxpY2F0aW9uIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCwgb3B0aW9uczogQXBwbGljYXRpb25PcHRpb25zKSB7XG4gICAgLy8gQ3JlYXRlIG1haW4gZW50cnkgcG9pbnQgZmlsZXNcblxuICAgIG5ldyBNYWluRmlsZShwcm9qZWN0LCB7XG4gICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgZGV2OiBvcHRpb25zLmRldixcbiAgICAgIHN0YWdpbmc6IG9wdGlvbnMuc3RhZ2luZyxcbiAgICAgIHByb2Q6IG9wdGlvbnMucHJvZCxcbiAgICAgIGFkZGl0aW9uYWxUYWdzOiBvcHRpb25zLmFkZGl0aW9uYWxUYWdzLFxuICAgIH0pO1xuXG4gICAgbmV3IExvY2FsRGV2QXBwRmlsZShwcm9qZWN0LCB7XG4gICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgZGV2OiBvcHRpb25zLmRldixcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBzdGFjayBmaWxlc1xuICAgIG5ldyBHaXRIdWJSb2xlc1N0YWNrRmlsZShwcm9qZWN0LCB7XG4gICAgICBnaXRodWJSZXBvc2l0b3J5OiBvcHRpb25zLmdpdGh1YlJlcG9zaXRvcnksXG4gICAgfSk7XG5cbiAgICBuZXcgQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUocHJvamVjdCk7XG4gICAgbmV3IEJvb3RjYW1wQXBwbGljYXRpb25TdGFja0ZpbGUocHJvamVjdCk7XG5cbiAgICAvLyBDcmVhdGUgY29uc3RydWN0IGZpbGVzXG4gICAgbmV3IEFwaUNvbnN0cnVjdEZpbGUocHJvamVjdCk7XG4gICAgbmV3IFN0YXRpY1dlYnNpdGVDb25zdHJ1Y3RGaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQ3JlYXRlIGhhbmRsZXIgZmlsZXNcbiAgICBuZXcgQXBpRnVuY3Rpb25GaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQ3JlYXRlIHRlc3QgZmlsZXNcbiAgICBuZXcgTWFpblRlc3RGaWxlKHByb2plY3QpO1xuXG4gICAgLy8gQ3JlYXRlIGNvbmZpZyBmaWxlc1xuICAgIG5ldyBDb2RlUmFiYml0RmlsZShwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSBHaXRIdWIgQWN0aW9ucyB3b3JrZmxvd3NcbiAgICBuZXcgUHJEZXBsb3lXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICByb2xlQXJuOiBvcHRpb25zLmRldi5naXRodWJBY3Rpb25Sb2xlQXJuLFxuICAgICAgYXdzUmVnaW9uOiBvcHRpb25zLmRldi5yZWdpb24sXG4gICAgICBjbGVya1B1Ymxpc2hhYmxlS2V5OiBvcHRpb25zLmRldi5jbGVya1B1Ymxpc2hhYmxlS2V5LFxuICAgIH0pO1xuXG4gICAgbmV3IFByQ2xlYW51cFdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgIHJvbGVBcm46IG9wdGlvbnMuZGV2LmdpdGh1YkFjdGlvblJvbGVBcm4sXG4gICAgICBhd3NSZWdpb246IG9wdGlvbnMuZGV2LnJlZ2lvbixcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgfSk7XG5cbiAgICBuZXcgU3RhZ2luZ0RlcGxveVdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgIHJvbGVBcm46IG9wdGlvbnMuc3RhZ2luZy5naXRodWJBY3Rpb25Sb2xlQXJuLFxuICAgICAgYXdzUmVnaW9uOiBvcHRpb25zLnN0YWdpbmcucmVnaW9uLFxuICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgIGNsZXJrUHVibGlzaGFibGVLZXk6IG9wdGlvbnMuc3RhZ2luZy5jbGVya1B1Ymxpc2hhYmxlS2V5LFxuICAgIH0pO1xuXG4gICAgbmV3IFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICByb2xlQXJuOiBvcHRpb25zLnByb2QuZ2l0aHViQWN0aW9uUm9sZUFybixcbiAgICAgIGF3c1JlZ2lvbjogb3B0aW9ucy5wcm9kLnJlZ2lvbixcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBjbGVya1B1Ymxpc2hhYmxlS2V5OiBvcHRpb25zLnByb2QuY2xlcmtQdWJsaXNoYWJsZUtleSxcbiAgICB9KTtcbiAgfVxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBBcHBsaWNhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Cb290Y2FtcEFwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlEQUFzRDtBQUN0RCx1REFBb0Q7QUFDcEQsaUZBQThFO0FBQzlFLHlGQUFzRjtBQUN0RixxREFBa0Q7QUFDbEQsaUVBQThEO0FBQzlELHVEQUFvRDtBQUNwRCx5Q0FBeUQ7QUFDekQsaURBQThDO0FBQzlDLDJEQUF3RDtBQUN4RCx5REFBc0Q7QUFDdEQseUVBQXNFO0FBQ3RFLG1FQUFnRTtBQUNoRSw2RUFBMEU7QUFDMUUsaUVBQThEO0FBQzlELHlEQUEwRDtBQXFCMUQ7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUM5QixZQUFZLE9BQTRCLEVBQUUsT0FBMkI7UUFDbkUsZ0NBQWdDO1FBRWhDLElBQUksbUJBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFlLENBQUMsT0FBTyxFQUFFO1lBQzNCLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtZQUN6QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7U0FDakIsQ0FBQyxDQUFDO1FBRUgscUJBQXFCO1FBQ3JCLElBQUksMkNBQW9CLENBQUMsT0FBTyxFQUFFO1lBQ2hDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtRUFBZ0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxJQUFJLDJEQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLHlCQUF5QjtRQUN6QixJQUFJLG1DQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlCLElBQUksdURBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFeEMscUJBQXFCO1FBQ3JCLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQy9ELElBQUksdUNBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEMsSUFBSSwyQ0FBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsdUJBQXVCO1FBQ3ZCLElBQUksaUNBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QixvQkFBb0I7UUFDcEIsSUFBSSwyQkFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFCLHNCQUFzQjtRQUN0QixJQUFJLCtCQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFNUIsa0NBQWtDO1FBQ2xDLElBQUksbUNBQWdCLENBQUMsT0FBTyxFQUFFO1lBQzVCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzdCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CO1NBQ3JELENBQUMsQ0FBQztRQUVILElBQUkscUNBQWlCLENBQUMsT0FBTyxFQUFFO1lBQzdCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtZQUN4QyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNO1lBQzdCLFdBQVcsRUFBRSxPQUFPLENBQUMsSUFBSTtTQUMxQixDQUFDLENBQUM7UUFFSCxJQUFJLDZDQUFxQixDQUFDLE9BQU8sRUFBRTtZQUNqQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7WUFDNUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUNqQyxXQUFXLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDekIsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUI7U0FDekQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxtREFBd0IsQ0FBQyxPQUFPLEVBQUU7WUFDcEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQ3pDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDOUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3pCLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXZFRCxrREF1RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuaW1wb3J0IHsgQXBpQ29uc3RydWN0RmlsZSB9IGZyb20gJy4vQXBpQ29uc3RydWN0RmlsZSc7XG5pbXBvcnQgeyBBcGlGdW5jdGlvbkZpbGUgfSBmcm9tICcuL0FwaUZ1bmN0aW9uRmlsZSc7XG5pbXBvcnQgeyBCb290Y2FtcEFwcGxpY2F0aW9uU3RhY2tGaWxlIH0gZnJvbSAnLi9Cb290Y2FtcEFwcGxpY2F0aW9uU3RhY2tGaWxlJztcbmltcG9ydCB7IEJvb3RjYW1wQmFzZUFwcGxpY2F0aW9uU3RhY2tGaWxlIH0gZnJvbSAnLi9Cb290Y2FtcEJhc2VBcHBsaWNhdGlvblN0YWNrRmlsZSc7XG5pbXBvcnQgeyBDb2RlUmFiYml0RmlsZSB9IGZyb20gJy4vQ29kZVJhYmJpdEZpbGUnO1xuaW1wb3J0IHsgR2l0SHViUm9sZXNTdGFja0ZpbGUgfSBmcm9tICcuL0dpdEh1YlJvbGVzU3RhY2tGaWxlJztcbmltcG9ydCB7IExvY2FsRGV2QXBwRmlsZSB9IGZyb20gJy4vTG9jYWxEZXZBcHBGaWxlJztcbmltcG9ydCB7IEVudmlyb25tZW50Q29uZmlnLCBNYWluRmlsZSB9IGZyb20gJy4vTWFpbkZpbGUnO1xuaW1wb3J0IHsgTWFpblRlc3RGaWxlIH0gZnJvbSAnLi9NYWluVGVzdEZpbGUnO1xuaW1wb3J0IHsgUHJDbGVhbnVwV29ya2Zsb3cgfSBmcm9tICcuL1ByQ2xlYW51cFdvcmtmbG93JztcbmltcG9ydCB7IFByRGVwbG95V29ya2Zsb3cgfSBmcm9tICcuL1ByRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9Qcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgU3RhZ2luZ0RlcGxveVdvcmtmbG93IH0gZnJvbSAnLi9TdGFnaW5nRGVwbG95V29ya2Zsb3cnO1xuaW1wb3J0IHsgU3RhdGljV2Vic2l0ZUNvbnN0cnVjdEZpbGUgfSBmcm9tICcuL1N0YXRpY1dlYnNpdGVDb25zdHJ1Y3RGaWxlJztcbmltcG9ydCB7IFdvcmtmbG93QXV0b0Rpc2NvdmVyIH0gZnJvbSAnLi9Xb3JrZmxvd0F1dG9EaXNjb3Zlcic7XG5pbXBvcnQgeyBXb3JrZmxvd1Byb3ZpZGVyRmlsZSB9IGZyb20gJy4vV29ya2Zsb3dQcm92aWRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZyBleHRlbmRzIEVudmlyb25tZW50Q29uZmlnIHtcbiAgcmVhZG9ubHkgZ2l0aHViQWN0aW9uUm9sZUFybjogYGFybjphd3M6aWFtOjoke3N0cmluZ306cm9sZS8ke3N0cmluZ31gO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcGxpY2F0aW9uT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGdpdGh1YlJlcG9zaXRvcnk6IHN0cmluZztcbiAgcmVhZG9ubHkgZGV2OiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBzdGFnaW5nOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBwcm9kOiBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnO1xuICByZWFkb25seSBhZGRpdGlvbmFsVGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIGNyZWF0ZXMgV29ya2Zsb3dQcm92aWRlciBmaWxlcyBmb3IgZWFjaCBuOG4gd29ya2Zsb3cgZmlsZSBmb3VuZCBpbiBzcmMvd29ya2Zsb3dzLyouanNvblxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBuOG5Xb3JrZmxvd3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFwcGxpY2F0aW9uIGNvbnN0cnVjdCB0aGF0IGNyZWF0ZXMgYWxsIHN0YW5kYXJkIHByb2plY3QgZmlsZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEJvb3RjYW1wQXBwbGljYXRpb24ge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBBd3NDZGtUeXBlU2NyaXB0QXBwLCBvcHRpb25zOiBBcHBsaWNhdGlvbk9wdGlvbnMpIHtcbiAgICAvLyBDcmVhdGUgbWFpbiBlbnRyeSBwb2ludCBmaWxlc1xuXG4gICAgbmV3IE1haW5GaWxlKHByb2plY3QsIHtcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBkZXY6IG9wdGlvbnMuZGV2LFxuICAgICAgc3RhZ2luZzogb3B0aW9ucy5zdGFnaW5nLFxuICAgICAgcHJvZDogb3B0aW9ucy5wcm9kLFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IG9wdGlvbnMuYWRkaXRpb25hbFRhZ3MsXG4gICAgfSk7XG5cbiAgICBuZXcgTG9jYWxEZXZBcHBGaWxlKHByb2plY3QsIHtcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBkZXY6IG9wdGlvbnMuZGV2LFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIHN0YWNrIGZpbGVzXG4gICAgbmV3IEdpdEh1YlJvbGVzU3RhY2tGaWxlKHByb2plY3QsIHtcbiAgICAgIGdpdGh1YlJlcG9zaXRvcnk6IG9wdGlvbnMuZ2l0aHViUmVwb3NpdG9yeSxcbiAgICB9KTtcblxuICAgIG5ldyBCb290Y2FtcEJhc2VBcHBsaWNhdGlvblN0YWNrRmlsZShwcm9qZWN0KTtcbiAgICBuZXcgQm9vdGNhbXBBcHBsaWNhdGlvblN0YWNrRmlsZShwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSBjb25zdHJ1Y3QgZmlsZXNcbiAgICBuZXcgQXBpQ29uc3RydWN0RmlsZShwcm9qZWN0KTtcbiAgICBuZXcgU3RhdGljV2Vic2l0ZUNvbnN0cnVjdEZpbGUocHJvamVjdCk7XG5cbiAgICAvLyBuOG4gd29ya2Zsb3cgZmlsZXNcbiAgICBpZiAob3B0aW9ucy5uOG5Xb3JrZmxvd3MgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zLm44bldvcmtmbG93cykge1xuICAgICAgbmV3IFdvcmtmbG93UHJvdmlkZXJGaWxlKHByb2plY3QpO1xuICAgICAgbmV3IFdvcmtmbG93QXV0b0Rpc2NvdmVyKHByb2plY3QpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBoYW5kbGVyIGZpbGVzXG4gICAgbmV3IEFwaUZ1bmN0aW9uRmlsZShwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSB0ZXN0IGZpbGVzXG4gICAgbmV3IE1haW5UZXN0RmlsZShwcm9qZWN0KTtcblxuICAgIC8vIENyZWF0ZSBjb25maWcgZmlsZXNcbiAgICBuZXcgQ29kZVJhYmJpdEZpbGUocHJvamVjdCk7XG5cbiAgICAvLyBDcmVhdGUgR2l0SHViIEFjdGlvbnMgd29ya2Zsb3dzXG4gICAgbmV3IFByRGVwbG95V29ya2Zsb3cocHJvamVjdCwge1xuICAgICAgcm9sZUFybjogb3B0aW9ucy5kZXYuZ2l0aHViQWN0aW9uUm9sZUFybixcbiAgICAgIGF3c1JlZ2lvbjogb3B0aW9ucy5kZXYucmVnaW9uLFxuICAgICAgY2xlcmtQdWJsaXNoYWJsZUtleTogb3B0aW9ucy5kZXYuY2xlcmtQdWJsaXNoYWJsZUtleSxcbiAgICB9KTtcblxuICAgIG5ldyBQckNsZWFudXBXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICByb2xlQXJuOiBvcHRpb25zLmRldi5naXRodWJBY3Rpb25Sb2xlQXJuLFxuICAgICAgYXdzUmVnaW9uOiBvcHRpb25zLmRldi5yZWdpb24sXG4gICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgIH0pO1xuXG4gICAgbmV3IFN0YWdpbmdEZXBsb3lXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICByb2xlQXJuOiBvcHRpb25zLnN0YWdpbmcuZ2l0aHViQWN0aW9uUm9sZUFybixcbiAgICAgIGF3c1JlZ2lvbjogb3B0aW9ucy5zdGFnaW5nLnJlZ2lvbixcbiAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICBjbGVya1B1Ymxpc2hhYmxlS2V5OiBvcHRpb25zLnN0YWdpbmcuY2xlcmtQdWJsaXNoYWJsZUtleSxcbiAgICB9KTtcblxuICAgIG5ldyBQcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cocHJvamVjdCwge1xuICAgICAgcm9sZUFybjogb3B0aW9ucy5wcm9kLmdpdGh1YkFjdGlvblJvbGVBcm4sXG4gICAgICBhd3NSZWdpb246IG9wdGlvbnMucHJvZC5yZWdpb24sXG4gICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgY2xlcmtQdWJsaXNoYWJsZUtleTogb3B0aW9ucy5wcm9kLmNsZXJrUHVibGlzaGFibGVLZXksXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -85,6 +85,7 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
85
85
  ...options.dev,
86
86
  },
87
87
  additionalTags: options.additionalTags,
88
+ n8nWorkflows: options.n8nWorkflows,
88
89
  });
89
90
  new GitHubRolesFile_1.GitHubRolesFile(this, {
90
91
  account: PRIMARY_ACCOUNT,
@@ -117,5 +118,5 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
117
118
  }
118
119
  exports.BootcampProject = BootcampProject;
119
120
  _a = JSII_RTTI_SYMBOL_1;
120
- BootcampProject[_a] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.11.1" };
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Jvb3RjYW1wUHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUF3RDtBQUN4RCw4Q0FBc0Q7QUFFdEQsK0RBQTREO0FBQzVELHFEQUFrRDtBQUNsRCwyREFBd0Q7QUFDeEQsdURBQW9EO0FBQ3BELG1DQUF5QztBQUN6Qyx5REFBc0Q7QUFPdEQsTUFBYSxlQUFnQixTQUFRLDRCQUFtQjtJQUN0RCxZQUFZLE9BQStCO1FBQ3pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDM0Msb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU07WUFDNUQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLElBQUksRUFBRTtnQkFDSixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxJQUFJO2dCQUNKLHFCQUFxQjtnQkFDckIsc0JBQXNCO2dCQUN0QiwyQkFBMkI7Z0JBQzNCLDBCQUEwQjtnQkFDMUIsbUNBQW1DO2dCQUNuQyxjQUFjO2dCQUNkLGlDQUFpQztnQkFDakMsU0FBUztnQkFDVCxpQkFBaUI7Z0JBQ2pCLGFBQWE7Z0JBQ2IsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsZUFBZSxFQUFFO29CQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlO29CQUNwQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsMEJBQTBCLEVBQUUsSUFBSTtpQkFDakM7YUFDRjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDOUMsa0JBQWtCLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRTtvQkFDZixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFHSCxnQ0FBZ0M7UUFDaEMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLHlDQUFtQixDQUFDLElBQUksRUFBRTtZQUM1QixnQkFBZ0IsRUFBRSx3QkFBd0IsT0FBTyxDQUFDLElBQUksRUFBRTtZQUN4RCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsT0FBTyxDQUFDLE9BQU87YUFDbkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1NBQ3ZDLENBQUMsQ0FBQztRQUVILElBQUksaUNBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDeEIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsYUFBYSxFQUFFLGNBQWM7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSwrQkFBYyxDQUFDLElBQUksRUFBRTtZQUN2QixnQkFBZ0IsRUFBRSxPQUFPLENBQUMsb0JBQW9CO1NBQy9DLENBQUMsQ0FBQztRQUVILElBQUkscUNBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQztZQUNyQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsb0JBQW9CLEVBQUUsTUFBTTtZQUM1QixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxLQUFLO1lBQ2IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXO1NBQzFCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELFNBQVMsQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXBELE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFjLEVBQUUsRUFBRTtZQUN6QyxPQUFPLGdCQUFnQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzdELENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2xCLElBQUksRUFBRSxZQUFZLENBQ2hCLGdGQUFnRixFQUNoRixTQUFTLENBQUMsVUFBVSxDQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3RCLElBQUksRUFBRSxnRkFBZ0Y7WUFDdEYsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO0lBR0wsQ0FBQzs7QUFySEgsMENBc0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IEdpdGh1YkNyZWRlbnRpYWxzIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgQmF0bWFuUHJvamVjdE9wdGlvbnMgfSBmcm9tICcuL0JhdG1hblByb2plY3QnO1xuaW1wb3J0IHsgQm9vdGNhbXBBcHBsaWNhdGlvbiB9IGZyb20gJy4vQm9vdGNhbXBBcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBDb2RlT3duZXJzRmlsZSB9IGZyb20gJy4vQ29kZU93bmVyc0ZpbGUnO1xuaW1wb3J0IHsgRGF0YURvZ0FzcGVjdEZpbGUgfSBmcm9tICcuL0RhdGFEb2dBc3BlY3RGaWxlJztcbmltcG9ydCB7IEdpdEh1YlJvbGVzRmlsZSB9IGZyb20gJy4vR2l0SHViUm9sZXNGaWxlJztcbmltcG9ydCB7IHJlYWRtZUNvbnRlbnRzIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBWaXRlUmVhY3RQcm9qZWN0IH0gZnJvbSAnLi9WaXRlUmVhY3RQcm9qZWN0JztcblxuXG5leHBvcnQgaW50ZXJmYWNlIEJvb3RjYW1wUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBCYXRtYW5Qcm9qZWN0T3B0aW9ucyB7XG5cbn1cblxuZXhwb3J0IGNsYXNzIEJvb3RjYW1wUHJvamVjdCBleHRlbmRzIEF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBCb290Y2FtcFByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGNka1ZlcnNpb246IG9wdGlvbnMuY2RrVmVyc2lvbiB8fCAnMi4yMjQuMCcsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCB8fCAnbWFpbicsXG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBwcm9qZW5yY1RzOiB0cnVlLFxuICAgICAgYnVpbGRXb3JrZmxvdzogZmFsc2UsXG4gICAgICBkZXBzOiBbXG4gICAgICAgICdAdHlwZXMvYXdzLWxhbWJkYScsXG4gICAgICAgICdAdHlwZXMvZXhwcmVzcycsXG4gICAgICAgICdAdHlwZXMvcGcnLFxuICAgICAgICAncGcnLFxuICAgICAgICAnQGF3cy1zZGsvcmRzLXNpZ25lcicsXG4gICAgICAgICdAbWF0dGhld2JvbmlnL3NlY3JldCcsXG4gICAgICAgICdkYXRhZG9nLWNkay1jb25zdHJ1Y3RzLXYyJyxcbiAgICAgICAgJ0BjZGtsYWJzL2F3cy1sYW1iZGEtcnVzdCcsXG4gICAgICAgICdAYXdzLWxhbWJkYS1wb3dlcnRvb2xzL3BhcmFtZXRlcnMnLFxuICAgICAgICAnanNvbndlYnRva2VuJyxcbiAgICAgICAgJ0Bhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXInLFxuICAgICAgICAnZXhwcmVzcycsXG4gICAgICAgICdzZXJ2ZXJsZXNzLWh0dHAnLFxuICAgICAgICAnY2RrLXJkcy1zcWwnLFxuICAgICAgICAuLi5vcHRpb25zLmRlcHMgfHwgW10sXG4gICAgICBdLFxuICAgICAgZGV2RGVwczogW1xuICAgICAgICAnQHR5cGVzL2pzb253ZWJ0b2tlbicsXG4gICAgICAgICdub2RlbW9uJyxcbiAgICAgICAgJ2NvbmN1cnJlbnRseScsXG4gICAgICAgICdAbWFjZWRvbi10ZWNobm9sb2dpZXMvYmF0bWFuQF4xLjAuMCcsXG4gICAgICAgIC4uLm9wdGlvbnMuZGV2RGVwcyB8fCBbXSxcbiAgICAgIF0sXG4gICAgICBnaXRpZ25vcmU6IFtcbiAgICAgICAgJ3NyYy9jb25zdHJ1Y3RzL2hhbmRsZXIvY2xlcmstYXV0aG9yaXplci90YXJnZXQvKionLFxuICAgICAgICAnKiovLkRTX1N0b3JlJyxcbiAgICAgICAgLi4ub3B0aW9ucy5naXRpZ25vcmUgfHwgW10sXG4gICAgICBdLFxuICAgICAgdHNjb25maWc6IHtcbiAgICAgICAgLi4ub3B0aW9ucy50c2NvbmZpZyxcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgLi4ub3B0aW9ucy50c2NvbmZpZz8uY29tcGlsZXJPcHRpb25zLFxuICAgICAgICAgIGlzb2xhdGVkTW9kdWxlczogdHJ1ZSxcbiAgICAgICAgICBhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9uczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzYW1wbGVDb2RlOiBmYWxzZSxcbiAgICAgIG1pbk5vZGVWZXJzaW9uOiBvcHRpb25zLm1pbk5vZGVWZXJzaW9uIHx8ICcyMicsXG4gICAgICBkZXBzVXBncmFkZU9wdGlvbnM6IHtcbiAgICAgICAgd29ya2Zsb3dPcHRpb25zOiB7XG4gICAgICAgICAgcHJvamVuQ3JlZGVudGlhbHM6IEdpdGh1YkNyZWRlbnRpYWxzLmZyb21QZXJzb25hbEFjY2Vzc1Rva2VuKHtcbiAgICAgICAgICAgIHNlY3JldDogJ0dJVEhVQl9UT0tFTicsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVhZG1lOiB7XG4gICAgICAgIGNvbnRlbnRzOiByZWFkbWVDb250ZW50cyhvcHRpb25zLm5hbWUpLFxuICAgICAgfSxcbiAgICB9KTtcblxuXG4gICAgLy8gQ3JlYXRlIHN0YW5kYXJkIHByb2plY3QgZmlsZXNcbiAgICBjb25zdCBQUklNQVJZX0FDQ09VTlQgPSAnMDE1OTU1ODE3MjYzJztcbiAgICBjb25zdCBQUklNQVJZX1JFR0lPTiA9ICd1cy1lYXN0LTEnO1xuXG4gICAgbmV3IEJvb3RjYW1wQXBwbGljYXRpb24odGhpcywge1xuICAgICAgZ2l0aHViUmVwb3NpdG9yeTogYG1hY2Vkb24tdGVjaG5vbG9naWVzLyR7b3B0aW9ucy5uYW1lfWAsXG4gICAgICBkZXY6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgc3RhZ2luZzoge1xuICAgICAgICAuLi5vcHRpb25zLnN0YWdpbmcsXG4gICAgICB9LFxuICAgICAgcHJvZDoge1xuICAgICAgICAuLi5vcHRpb25zLmRldixcbiAgICAgIH0sXG4gICAgICBhZGRpdGlvbmFsVGFnczogb3B0aW9ucy5hZGRpdGlvbmFsVGFncyxcbiAgICB9KTtcblxuICAgIG5ldyBHaXRIdWJSb2xlc0ZpbGUodGhpcywge1xuICAgICAgYWNjb3VudDogUFJJTUFSWV9BQ0NPVU5ULFxuICAgICAgcHJpbWFyeVJlZ2lvbjogUFJJTUFSWV9SRUdJT04sXG4gICAgfSk7XG5cbiAgICBuZXcgQ29kZU93bmVyc0ZpbGUodGhpcywge1xuICAgICAgYWRkaXRpb25hbE93bmVyczogb3B0aW9ucy5hZGRpdGlvbmFsQ29kZU93bmVycyxcbiAgICB9KTtcblxuICAgIG5ldyBEYXRhRG9nQXNwZWN0RmlsZSh0aGlzKTtcblxuICAgIGNvbnN0IHZpdGVSZWFjdCA9IG5ldyBWaXRlUmVhY3RQcm9qZWN0KHtcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnbWFpbicsXG4gICAgICBwYXJlbnQ6IHRoaXMsXG4gICAgICBvdXRkaXI6ICd3ZWInLFxuICAgICAgZGVwczogb3B0aW9ucy53ZWJzaXRlRGVwcyxcbiAgICB9KTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZycsICdudW1iZXInKTtcbiAgICB2aXRlUmVhY3QuYWRkQ29uZmlnRmllbGQoJ3NvbWV0aGluZ0Vsc2UnLCAnc3RyaW5nJyk7XG5cbiAgICBjb25zdCBjb25jdXJyZW50bHkgPSAoLi4uYXJnczogc3RyaW5nW10pID0+IHtcbiAgICAgIHJldHVybiBgY29uY3VycmVudGx5ICR7YXJncy5tYXAoYSA9PiBgXCIke2F9XCJgKS5qb2luKCcgJyl9YDtcbiAgICB9O1xuXG4gICAgdGhpcy5hZGRUYXNrKCdkZXYnLCB7XG4gICAgICBleGVjOiBjb25jdXJyZW50bHkoXG4gICAgICAgICdub2RlbW9uIC0td2F0Y2ggLi9zcmMvY29uc3RydWN0cy9oYW5kbGVyIC0td2F0Y2ggLi9sb2NhbC9kZXYudHMgLi9sb2NhbC9kZXYudHMnLFxuICAgICAgICB2aXRlUmVhY3QuZGV2Q29tbWFuZCxcbiAgICAgICksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZFRhc2soJ2NkazpkZXYnLCB7XG4gICAgICBleGVjOiAneWFybiBjZGsgLWEgXCJucHggdHMtbm9kZSAtUCB0c2NvbmZpZy5qc29uIC0tcHJlZmVyLXRzLWV4dHMgc3JjL0xvY2FsRGV2QXBwLnRzXCInLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cblxuICB9XG59XG4iXX0=
121
+ BootcampProject[_a] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.12.0" };
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Jvb3RjYW1wUHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDhDQUF3RDtBQUN4RCw4Q0FBc0Q7QUFFdEQsK0RBQTREO0FBQzVELHFEQUFrRDtBQUNsRCwyREFBd0Q7QUFDeEQsdURBQW9EO0FBQ3BELG1DQUF5QztBQUN6Qyx5REFBc0Q7QUFPdEQsTUFBYSxlQUFnQixTQUFRLDRCQUFtQjtJQUN0RCxZQUFZLE9BQStCO1FBQ3pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDM0Msb0JBQW9CLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixJQUFJLE1BQU07WUFDNUQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLElBQUksRUFBRTtnQkFDSixtQkFBbUI7Z0JBQ25CLGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxJQUFJO2dCQUNKLHFCQUFxQjtnQkFDckIsc0JBQXNCO2dCQUN0QiwyQkFBMkI7Z0JBQzNCLDBCQUEwQjtnQkFDMUIsbUNBQW1DO2dCQUNuQyxjQUFjO2dCQUNkLGlDQUFpQztnQkFDakMsU0FBUztnQkFDVCxpQkFBaUI7Z0JBQ2pCLGFBQWE7Z0JBQ2IsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULGNBQWM7Z0JBQ2QscUNBQXFDO2dCQUNyQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRTthQUN6QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxtREFBbUQ7Z0JBQ25ELGNBQWM7Z0JBQ2QsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUU7YUFDM0I7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxPQUFPLENBQUMsUUFBUTtnQkFDbkIsZUFBZSxFQUFFO29CQUNmLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxlQUFlO29CQUNwQyxlQUFlLEVBQUUsSUFBSTtvQkFDckIsMEJBQTBCLEVBQUUsSUFBSTtpQkFDakM7YUFDRjtZQUNELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLElBQUk7WUFDOUMsa0JBQWtCLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRTtvQkFDZixpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQzt3QkFDM0QsTUFBTSxFQUFFLGNBQWM7cUJBQ3ZCLENBQUM7aUJBQ0g7YUFDRjtZQUNELE1BQU0sRUFBRTtnQkFDTixRQUFRLEVBQUUsSUFBQSxzQkFBYyxFQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7YUFDdkM7U0FDRixDQUFDLENBQUM7UUFHSCxnQ0FBZ0M7UUFDaEMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLHlDQUFtQixDQUFDLElBQUksRUFBRTtZQUM1QixnQkFBZ0IsRUFBRSx3QkFBd0IsT0FBTyxDQUFDLElBQUksRUFBRTtZQUN4RCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEdBQUcsT0FBTyxDQUFDLE9BQU87YUFDbkI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osR0FBRyxPQUFPLENBQUMsR0FBRzthQUNmO1lBQ0QsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO1lBQ3RDLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtTQUNuQyxDQUFDLENBQUM7UUFFSCxJQUFJLGlDQUFlLENBQUMsSUFBSSxFQUFFO1lBQ3hCLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLGFBQWEsRUFBRSxjQUFjO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksK0JBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLG9CQUFvQjtTQUMvQyxDQUFDLENBQUM7UUFFSCxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVCLE1BQU0sU0FBUyxHQUFHLElBQUksbUNBQWdCLENBQUM7WUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLG9CQUFvQixFQUFFLE1BQU07WUFDNUIsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVztTQUMxQixDQUFDLENBQUM7UUFDSCxTQUFTLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRCxTQUFTLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBYyxFQUFFLEVBQUU7WUFDekMsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM3RCxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNsQixJQUFJLEVBQUUsWUFBWSxDQUNoQixnRkFBZ0YsRUFDaEYsU0FBUyxDQUFDLFVBQVUsQ0FDckI7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUN0QixJQUFJLEVBQUUsZ0ZBQWdGO1lBQ3RGLFdBQVcsRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUdMLENBQUM7O0FBdEhILDBDQXVIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF3c0Nka1R5cGVTY3JpcHRBcHAgfSBmcm9tICdwcm9qZW4vbGliL2F3c2Nkayc7XG5pbXBvcnQgeyBHaXRodWJDcmVkZW50aWFscyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEJhdG1hblByb2plY3RPcHRpb25zIH0gZnJvbSAnLi9CYXRtYW5Qcm9qZWN0JztcbmltcG9ydCB7IEJvb3RjYW1wQXBwbGljYXRpb24gfSBmcm9tICcuL0Jvb3RjYW1wQXBwbGljYXRpb24nO1xuaW1wb3J0IHsgQ29kZU93bmVyc0ZpbGUgfSBmcm9tICcuL0NvZGVPd25lcnNGaWxlJztcbmltcG9ydCB7IERhdGFEb2dBc3BlY3RGaWxlIH0gZnJvbSAnLi9EYXRhRG9nQXNwZWN0RmlsZSc7XG5pbXBvcnQgeyBHaXRIdWJSb2xlc0ZpbGUgfSBmcm9tICcuL0dpdEh1YlJvbGVzRmlsZSc7XG5pbXBvcnQgeyByZWFkbWVDb250ZW50cyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVml0ZVJlYWN0UHJvamVjdCB9IGZyb20gJy4vVml0ZVJlYWN0UHJvamVjdCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBCb290Y2FtcFByb2plY3RPcHRpb25zIGV4dGVuZHMgQmF0bWFuUHJvamVjdE9wdGlvbnMge1xuXG59XG5cbmV4cG9ydCBjbGFzcyBCb290Y2FtcFByb2plY3QgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQm9vdGNhbXBQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gfHwgJzIuMjI0LjAnLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IG9wdGlvbnMuZGVmYXVsdFJlbGVhc2VCcmFuY2ggfHwgJ21haW4nLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgZGVwczogW1xuICAgICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgICAnQHR5cGVzL2V4cHJlc3MnLFxuICAgICAgICAnQHR5cGVzL3BnJyxcbiAgICAgICAgJ3BnJyxcbiAgICAgICAgJ0Bhd3Mtc2RrL3Jkcy1zaWduZXInLFxuICAgICAgICAnQG1hdHRoZXdib25pZy9zZWNyZXQnLFxuICAgICAgICAnZGF0YWRvZy1jZGstY29uc3RydWN0cy12MicsXG4gICAgICAgICdAY2RrbGFicy9hd3MtbGFtYmRhLXJ1c3QnLFxuICAgICAgICAnQGF3cy1sYW1iZGEtcG93ZXJ0b29scy9wYXJhbWV0ZXJzJyxcbiAgICAgICAgJ2pzb253ZWJ0b2tlbicsXG4gICAgICAgICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJyxcbiAgICAgICAgJ2V4cHJlc3MnLFxuICAgICAgICAnc2VydmVybGVzcy1odHRwJyxcbiAgICAgICAgJ2Nkay1yZHMtc3FsJyxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXBzIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIGRldkRlcHM6IFtcbiAgICAgICAgJ0B0eXBlcy9qc29ud2VidG9rZW4nLFxuICAgICAgICAnbm9kZW1vbicsXG4gICAgICAgICdjb25jdXJyZW50bHknLFxuICAgICAgICAnQG1hY2Vkb24tdGVjaG5vbG9naWVzL2JhdG1hbkBeMS4wLjAnLFxuICAgICAgICAuLi5vcHRpb25zLmRldkRlcHMgfHwgW10sXG4gICAgICBdLFxuICAgICAgZ2l0aWdub3JlOiBbXG4gICAgICAgICdzcmMvY29uc3RydWN0cy9oYW5kbGVyL2NsZXJrLWF1dGhvcml6ZXIvdGFyZ2V0LyoqJyxcbiAgICAgICAgJyoqLy5EU19TdG9yZScsXG4gICAgICAgIC4uLm9wdGlvbnMuZ2l0aWdub3JlIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIHRzY29uZmlnOiB7XG4gICAgICAgIC4uLm9wdGlvbnMudHNjb25maWcsXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIC4uLm9wdGlvbnMudHNjb25maWc/LmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICBpc29sYXRlZE1vZHVsZXM6IHRydWUsXG4gICAgICAgICAgYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICBtaW5Ob2RlVmVyc2lvbjogb3B0aW9ucy5taW5Ob2RlVmVyc2lvbiB8fCAnMjInLFxuICAgICAgZGVwc1VwZ3JhZGVPcHRpb25zOiB7XG4gICAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICAgIHByb2plbkNyZWRlbnRpYWxzOiBHaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgICAgICBzZWNyZXQ6ICdHSVRIVUJfVE9LRU4nLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlYWRtZToge1xuICAgICAgICBjb250ZW50czogcmVhZG1lQ29udGVudHMob3B0aW9ucy5uYW1lKSxcbiAgICAgIH0sXG4gICAgfSk7XG5cblxuICAgIC8vIENyZWF0ZSBzdGFuZGFyZCBwcm9qZWN0IGZpbGVzXG4gICAgY29uc3QgUFJJTUFSWV9BQ0NPVU5UID0gJzAxNTk1NTgxNzI2Myc7XG4gICAgY29uc3QgUFJJTUFSWV9SRUdJT04gPSAndXMtZWFzdC0xJztcblxuICAgIG5ldyBCb290Y2FtcEFwcGxpY2F0aW9uKHRoaXMsIHtcbiAgICAgIGdpdGh1YlJlcG9zaXRvcnk6IGBtYWNlZG9uLXRlY2hub2xvZ2llcy8ke29wdGlvbnMubmFtZX1gLFxuICAgICAgZGV2OiB7XG4gICAgICAgIC4uLm9wdGlvbnMuZGV2LFxuICAgICAgfSxcbiAgICAgIHN0YWdpbmc6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5zdGFnaW5nLFxuICAgICAgfSxcbiAgICAgIHByb2Q6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5kZXYsXG4gICAgICB9LFxuICAgICAgYWRkaXRpb25hbFRhZ3M6IG9wdGlvbnMuYWRkaXRpb25hbFRhZ3MsXG4gICAgICBuOG5Xb3JrZmxvd3M6IG9wdGlvbnMubjhuV29ya2Zsb3dzLFxuICAgIH0pO1xuXG4gICAgbmV3IEdpdEh1YlJvbGVzRmlsZSh0aGlzLCB7XG4gICAgICBhY2NvdW50OiBQUklNQVJZX0FDQ09VTlQsXG4gICAgICBwcmltYXJ5UmVnaW9uOiBQUklNQVJZX1JFR0lPTixcbiAgICB9KTtcblxuICAgIG5ldyBDb2RlT3duZXJzRmlsZSh0aGlzLCB7XG4gICAgICBhZGRpdGlvbmFsT3duZXJzOiBvcHRpb25zLmFkZGl0aW9uYWxDb2RlT3duZXJzLFxuICAgIH0pO1xuXG4gICAgbmV3IERhdGFEb2dBc3BlY3RGaWxlKHRoaXMpO1xuXG4gICAgY29uc3Qgdml0ZVJlYWN0ID0gbmV3IFZpdGVSZWFjdFByb2plY3Qoe1xuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6ICdtYWluJyxcbiAgICAgIHBhcmVudDogdGhpcyxcbiAgICAgIG91dGRpcjogJ3dlYicsXG4gICAgICBkZXBzOiBvcHRpb25zLndlYnNpdGVEZXBzLFxuICAgIH0pO1xuICAgIHZpdGVSZWFjdC5hZGRDb25maWdGaWVsZCgnc29tZXRoaW5nJywgJ251bWJlcicpO1xuICAgIHZpdGVSZWFjdC5hZGRDb25maWdGaWVsZCgnc29tZXRoaW5nRWxzZScsICdzdHJpbmcnKTtcblxuICAgIGNvbnN0IGNvbmN1cnJlbnRseSA9ICguLi5hcmdzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgcmV0dXJuIGBjb25jdXJyZW50bHkgJHthcmdzLm1hcChhID0+IGBcIiR7YX1cImApLmpvaW4oJyAnKX1gO1xuICAgIH07XG5cbiAgICB0aGlzLmFkZFRhc2soJ2RldicsIHtcbiAgICAgIGV4ZWM6IGNvbmN1cnJlbnRseShcbiAgICAgICAgJ25vZGVtb24gLS13YXRjaCAuL3NyYy9jb25zdHJ1Y3RzL2hhbmRsZXIgLS13YXRjaCAuL2xvY2FsL2Rldi50cyAuL2xvY2FsL2Rldi50cycsXG4gICAgICAgIHZpdGVSZWFjdC5kZXZDb21tYW5kLFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkVGFzaygnY2RrOmRldicsIHtcbiAgICAgIGV4ZWM6ICd5YXJuIGNkayAtYSBcIm5weCB0cy1ub2RlIC1QIHRzY29uZmlnLmpzb24gLS1wcmVmZXItdHMtZXh0cyBzcmMvTG9jYWxEZXZBcHAudHNcIicsXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICB9KTtcblxuXG4gIH1cbn1cbiJdfQ==
@@ -16,5 +16,5 @@ class CodeOwnersFile extends projen_1.TextFile {
16
16
  }
17
17
  exports.CodeOwnersFile = CodeOwnersFile;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- CodeOwnersFile[_a] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.11.1" };
19
+ CodeOwnersFile[_a] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.12.0" };
20
20
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29kZU93bmVyc0ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29kZU93bmVyc0ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBa0M7QUFPbEMsTUFBYSxjQUFlLFNBQVEsaUJBQVE7SUFDMUMsWUFBWSxPQUE0QixFQUFFLFVBQWlDLEVBQUU7UUFDM0UsTUFBTSxhQUFhLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQzNELE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBRyxhQUFhLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUU7WUFDbkMsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDOztBQVRILHdDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2RlT3duZXJzRmlsZU9wdGlvbnMge1xuICByZWFkb25seSBhZGRpdGlvbmFsT3duZXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb2RlT3duZXJzRmlsZSBleHRlbmRzIFRleHRGaWxlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCwgb3B0aW9uczogQ29kZU93bmVyc0ZpbGVPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBkZWZhdWx0T3duZXJzID0gWycqIEBtYWNlZG9uLXRlY2hub2xvZ2llcy9wbGF0Zm9ybSddO1xuICAgIGNvbnN0IGFsbE93bmVycyA9IFsuLi5kZWZhdWx0T3duZXJzLCAuLi4ob3B0aW9ucy5hZGRpdGlvbmFsT3duZXJzIHx8IFtdKV07XG5cbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi9DT0RFT1dORVJTJywge1xuICAgICAgbGluZXM6IGFsbE93bmVycyxcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -94,5 +94,5 @@ class ProductionDeployWorkflow extends projen_1.YamlFile {
94
94
  }
95
95
  exports.ProductionDeployWorkflow = ProductionDeployWorkflow;
96
96
  _a = JSII_RTTI_SYMBOL_1;
97
- ProductionDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.11.1" };
97
+ ProductionDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.12.0" };
98
98
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvZHVjdGlvbkRlcGxveVdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Byb2R1Y3Rpb25EZXBsb3lXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFrQztBQVVsQyxNQUFhLHdCQUF5QixTQUFRLGlCQUFRO0lBQ3BELFlBQVksT0FBNEIsRUFBRSxPQUF3QztRQUNoRixLQUFLLENBQUMsT0FBTyxFQUFFLHlDQUF5QyxFQUFFO1lBQ3hELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsRUFBRSxFQUFFO29CQUNGLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUM7cUJBQ1o7aUJBQ0Y7Z0JBQ0QsV0FBVyxFQUFFO29CQUNYLFVBQVUsRUFBRSxPQUFPO29CQUNuQixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Z0JBQ0QsSUFBSSxFQUFFO29CQUNKLE1BQU0sRUFBRTt3QkFDTixTQUFTLEVBQUUsZUFBZTt3QkFDMUIsT0FBTyxFQUFFOzRCQUNQO2dDQUNFLElBQUksRUFBRSxVQUFVO2dDQUNoQixJQUFJLEVBQUUscUJBQXFCOzZCQUM1Qjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsZUFBZTtnQ0FDckIsSUFBSSxFQUFFLHVCQUF1QjtnQ0FDN0IsSUFBSSxFQUFFO29DQUNKLGNBQWMsRUFBRSxJQUFJO2lDQUNyQjs2QkFDRjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsMkJBQTJCO2dDQUNqQyxJQUFJLEVBQUUsMENBQTBDO2dDQUNoRCxJQUFJLEVBQUU7b0NBQ0osZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE9BQU87b0NBQ2pDLFlBQVksRUFBRSxPQUFPLENBQUMsU0FBUztpQ0FDaEM7NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsR0FBRyxFQUFFLGdDQUFnQzs2QkFDdEM7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLG9CQUFvQjtnQ0FDMUIsR0FBRyxFQUFFLCtCQUErQixPQUFPLENBQUMsbUJBQW1CLDRFQUE0RTs2QkFDNUk7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLHNCQUFzQjtnQ0FDNUIsRUFBRSxFQUFFLFFBQVE7Z0NBQ1osR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsV0FBVyxnRUFBZ0U7NkJBQy9HOzRCQUNEO2dDQUNFLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLEVBQUUsRUFBRSxTQUFTO2dDQUNiLEdBQUcsRUFBRTtvQ0FDSCxzRUFBc0U7b0NBQ3RFLG1EQUFtRDtvQ0FDbkQsa0NBQWtDO2lDQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NkJBQ2I7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGNBQWM7Z0NBQ3BCLEVBQUUsRUFBRSxVQUFVO2dDQUNkLEdBQUcsRUFBRTtvQ0FDSCw0QkFBNEI7b0NBQzVCLGNBQWM7b0NBQ2QscUNBQXFDO29DQUNyQyxrQkFBa0I7b0NBQ2xCLElBQUk7b0NBQ0osd0RBQXdEO29DQUN4RCxpSUFBaUk7b0NBQ2pJLGdDQUFnQztvQ0FDaEMsNkRBQTZEO29DQUM3RCxJQUFJO29DQUNKLHdEQUF3RDtvQ0FDeEQsZ0VBQWdFO29DQUNoRSw0Q0FBNEM7b0NBQzVDLDJJQUEySTtpQ0FDNUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNiO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRGSCw0REF1RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbGVya1B1Ymxpc2hhYmxlS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBQcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cgZXh0ZW5kcyBZYW1sRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IFByb2R1Y3Rpb25EZXBsb3lXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi93b3JrZmxvd3MvcHJvZHVjdGlvbi1kZXBsb3kueW1sJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbmFtZTogJ1Byb2R1Y3Rpb24gRGVwbG95JyxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgICB0YWdzOiBbJyonXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgICdpZC10b2tlbic6ICd3cml0ZScsXG4gICAgICAgICAgJ2NvbnRlbnRzJzogJ3JlYWQnLFxuICAgICAgICB9LFxuICAgICAgICBqb2JzOiB7XG4gICAgICAgICAgZGVwbG95OiB7XG4gICAgICAgICAgICAncnVucy1vbic6ICd1YnVudHUtbGF0ZXN0JyxcbiAgICAgICAgICAgICdzdGVwcyc6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ1NldHVwIE5vZGUuanMnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL3NldHVwLW5vZGVAdjUnLFxuICAgICAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgICAgICdub2RlLXZlcnNpb24nOiAnMjQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQ29uZmlndXJlIEFXUyBjcmVkZW50aWFscycsXG4gICAgICAgICAgICAgICAgdXNlczogJ2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjQnLFxuICAgICAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IG9wdGlvbnMucm9sZUFybixcbiAgICAgICAgICAgICAgICAgICdhd3MtcmVnaW9uJzogb3B0aW9ucy5hd3NSZWdpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdJbnN0YWxsIGRlcGVuZGVuY2llcycsXG4gICAgICAgICAgICAgICAgcnVuOiAneWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdVcGRhdGUgY29uZmlnLmpzb24nLFxuICAgICAgICAgICAgICAgIHJ1bjogYGpxICcuY2xlcmtQdWJsaXNoYWJsZUtleSA9IFwiJHtvcHRpb25zLmNsZXJrUHVibGlzaGFibGVLZXl9XCInIHdlYi9wdWJsaWMvY29uZmlnLmpzb24gPiB0bXAuanNvbiAmJiBtdiB0bXAuanNvbiB3ZWIvcHVibGljL2NvbmZpZy5qc29uYCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdEZXBsb3kgdG8gcHJvZHVjdGlvbicsXG4gICAgICAgICAgICAgICAgaWQ6ICdkZXBsb3knLFxuICAgICAgICAgICAgICAgIHJ1bjogYHlhcm4gY2RrIGRlcGxveSAtZSAke29wdGlvbnMucHJvamVjdE5hbWV9LXByb2QgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlIGNkay1vdXRwdXRzLmpzb25gLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0V4dHJhY3Qgb3V0cHV0cycsXG4gICAgICAgICAgICAgICAgaWQ6ICdvdXRwdXRzJyxcbiAgICAgICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgICAgICdXRUJTSVRFX1VSTD0kKGpxIC1yIFxcJy5bXSB8IC5XZWJzaXRlVXJsIC8vIGVtcHR5XFwnIGNkay1vdXRwdXRzLmpzb24pJyxcbiAgICAgICAgICAgICAgICAgICdlY2hvIFwid2Vic2l0ZV91cmw9JFdFQlNJVEVfVVJMXCIgPj4gJEdJVEhVQl9PVVRQVVQnLFxuICAgICAgICAgICAgICAgICAgJ2VjaG8gXCJXZWJzaXRlIFVSTDogJFdFQlNJVEVfVVJMXCInLFxuICAgICAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnTm90aWZ5IFNsYWNrJyxcbiAgICAgICAgICAgICAgICBpZjogJ2Fsd2F5cygpJyxcbiAgICAgICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgICAgICdTVEFUVVM9XCIke3sgam9iLnN0YXR1cyB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdDT0xPUj1cImdvb2RcIicsXG4gICAgICAgICAgICAgICAgICAnaWYgWyBcIiRTVEFUVVNcIiAhPSBcInN1Y2Nlc3NcIiBdOyB0aGVuJyxcbiAgICAgICAgICAgICAgICAgICcgIENPTE9SPVwiZGFuZ2VyXCInLFxuICAgICAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgICAgICdXRUJTSVRFX1VSTD1cIiR7eyBzdGVwcy5vdXRwdXRzLm91dHB1dHMud2Vic2l0ZV91cmwgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnTUVTU0FHRT1cIlByb2R1Y3Rpb24gRGVwbG95OiAkU1RBVFVTXFxcXG5SZXBvOiAke3sgZ2l0aHViLnJlcG9zaXRvcnkgfX1cXFxcblRhZzogJHt7IGdpdGh1Yi5yZWZfbmFtZSB9fVxcXFxuQ29tbWl0OiAke3sgZ2l0aHViLnNoYSB9fVwiJyxcbiAgICAgICAgICAgICAgICAgICdpZiBbIC1uIFwiJFdFQlNJVEVfVVJMXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICAgICAnICBNRVNTQUdFPVwiJE1FU1NBR0VcXFxcbvCfjJAgV2Vic2l0ZTogPCRXRUJTSVRFX1VSTHxWaWV3IFNpdGU+XCInLFxuICAgICAgICAgICAgICAgICAgJ2ZpJyxcbiAgICAgICAgICAgICAgICAgICdjdXJsIC1YIFBPU1QgaHR0cHM6Ly9zbGFjay5jb20vYXBpL2NoYXQucG9zdE1lc3NhZ2UgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtSCBcIkF1dGhvcml6YXRpb246IEJlYXJlciAke3sgc2VjcmV0cy5TTEFDS19CT1RfVE9LRU4gfX1cIiBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC1IIFxcJ0NvbnRlbnQtdHlwZTogYXBwbGljYXRpb24vanNvblxcJyBcXFxcJyxcbiAgICAgICAgICAgICAgICAgICcgIC0tZGF0YSBcIntcXFxcXCJjaGFubmVsXFxcXFwiOlxcXFxcIiR7eyBzZWNyZXRzLlNMQUNLX0NIQU5ORUxfSUQgfX1cXFxcXCIsXFxcXFwiYXR0YWNobWVudHNcXFxcXCI6W3tcXFxcXCJjb2xvclxcXFxcIjpcXFxcXCIkQ09MT1JcXFxcXCIsXFxcXFwidGV4dFxcXFxcIjpcXFxcXCIkTUVTU0FHRVxcXFxcIn1dfVwiJyxcbiAgICAgICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -97,5 +97,5 @@ class StagingDeployWorkflow extends projen_1.YamlFile {
97
97
  }
98
98
  exports.StagingDeployWorkflow = StagingDeployWorkflow;
99
99
  _a = JSII_RTTI_SYMBOL_1;
100
- StagingDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.StagingDeployWorkflow", version: "1.11.1" };
100
+ StagingDeployWorkflow[_a] = { fqn: "@macedon-technologies/batman.StagingDeployWorkflow", version: "1.12.0" };
101
101
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhZ2luZ0RlcGxveVdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1N0YWdpbmdEZXBsb3lXb3JrZmxvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFrQztBQVVsQyxNQUFhLHFCQUFzQixTQUFRLGlCQUFRO0lBQ2pELFlBQVksT0FBNEIsRUFBRSxPQUFxQztRQUM3RSxLQUFLLENBQUMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFO1lBQ3JELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsRUFBRSxFQUFFO29CQUNGLElBQUksRUFBRTt3QkFDSixRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUM7cUJBQ25CO2lCQUNGO2dCQUNELFdBQVcsRUFBRTtvQkFDWCxVQUFVLEVBQUUsT0FBTztvQkFDbkIsVUFBVSxFQUFFLE1BQU07aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixNQUFNLEVBQUU7d0JBQ04sU0FBUyxFQUFFLGVBQWU7d0JBQzFCLE9BQU8sRUFBRTs0QkFDUDtnQ0FDRSxJQUFJLEVBQUUsVUFBVTtnQ0FDaEIsSUFBSSxFQUFFLHFCQUFxQjs2QkFDNUI7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGVBQWU7Z0NBQ3JCLElBQUksRUFBRSx1QkFBdUI7Z0NBQzdCLElBQUksRUFBRTtvQ0FDSixjQUFjLEVBQUUsSUFBSTtpQ0FDckI7NkJBQ0Y7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLDJCQUEyQjtnQ0FDakMsSUFBSSxFQUFFLDBDQUEwQztnQ0FDaEQsSUFBSSxFQUFFO29DQUNKLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxPQUFPO29DQUNqQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFNBQVM7aUNBQ2hDOzZCQUNGOzRCQUNEO2dDQUNFLElBQUksRUFBRSxzQkFBc0I7Z0NBQzVCLEdBQUcsRUFBRSxnQ0FBZ0M7NkJBQ3RDOzRCQUNEO2dDQUNFLElBQUksRUFBRSxvQkFBb0I7Z0NBQzFCLEdBQUcsRUFBRSwrQkFBK0IsT0FBTyxDQUFDLG1CQUFtQiw0RUFBNEU7NkJBQzVJOzRCQUNEO2dDQUNFLElBQUksRUFBRSxtQkFBbUI7Z0NBQ3pCLEVBQUUsRUFBRSxRQUFRO2dDQUNaLEdBQUcsRUFBRTtvQ0FDSCxXQUFXLEVBQUUsU0FBUztpQ0FDdkI7Z0NBQ0QsR0FBRyxFQUFFLHNCQUFzQixPQUFPLENBQUMsV0FBVyxtRUFBbUU7NkJBQ2xIOzRCQUNEO2dDQUNFLElBQUksRUFBRSxpQkFBaUI7Z0NBQ3ZCLEVBQUUsRUFBRSxTQUFTO2dDQUNiLEdBQUcsRUFBRTtvQ0FDSCxzRUFBc0U7b0NBQ3RFLG1EQUFtRDtvQ0FDbkQsa0NBQWtDO2lDQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NkJBQ2I7NEJBQ0Q7Z0NBQ0UsSUFBSSxFQUFFLGNBQWM7Z0NBQ3BCLEVBQUUsRUFBRSxVQUFVO2dDQUNkLEdBQUcsRUFBRTtvQ0FDSCw0QkFBNEI7b0NBQzVCLGNBQWM7b0NBQ2QscUNBQXFDO29DQUNyQyxrQkFBa0I7b0NBQ2xCLElBQUk7b0NBQ0osd0RBQXdEO29DQUN4RCxpSUFBaUk7b0NBQ2pJLGdDQUFnQztvQ0FDaEMsNkRBQTZEO29DQUM3RCxJQUFJO29DQUNKLHdEQUF3RDtvQ0FDeEQsZ0VBQWdFO29DQUNoRSw0Q0FBNEM7b0NBQzVDLDJJQUEySTtpQ0FDNUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzZCQUNiO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXpGSCxzREEwRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWdpbmdEZXBsb3lXb3JrZmxvd09wdGlvbnMge1xuICByZWFkb25seSByb2xlQXJuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGF3c1JlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBwcm9qZWN0TmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbGVya1B1Ymxpc2hhYmxlS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTdGFnaW5nRGVwbG95V29ya2Zsb3cgZXh0ZW5kcyBZYW1sRmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHAsIG9wdGlvbnM6IFN0YWdpbmdEZXBsb3lXb3JrZmxvd09wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnLmdpdGh1Yi93b3JrZmxvd3Mvc3RhZ2luZy1kZXBsb3kueW1sJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbmFtZTogJ1N0YWdpbmcgRGVwbG95JyxcbiAgICAgICAgb246IHtcbiAgICAgICAgICBwdXNoOiB7XG4gICAgICAgICAgICBicmFuY2hlczogWydtYWluJ10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICAnaWQtdG9rZW4nOiAnd3JpdGUnLFxuICAgICAgICAgICdjb250ZW50cyc6ICdyZWFkJyxcbiAgICAgICAgfSxcbiAgICAgICAgam9iczoge1xuICAgICAgICAgIGRlcGxveToge1xuICAgICAgICAgICAgJ3J1bnMtb24nOiAndWJ1bnR1LWxhdGVzdCcsXG4gICAgICAgICAgICAnc3RlcHMnOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnQ2hlY2tvdXQnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY1JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdTZXR1cCBOb2RlLmpzJyxcbiAgICAgICAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1ub2RlQHY1JyxcbiAgICAgICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICAgICAnbm9kZS12ZXJzaW9uJzogJzI0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0NvbmZpZ3VyZSBBV1MgY3JlZGVudGlhbHMnLFxuICAgICAgICAgICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAgICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiBvcHRpb25zLnJvbGVBcm4sXG4gICAgICAgICAgICAgICAgICAnYXdzLXJlZ2lvbic6IG9wdGlvbnMuYXdzUmVnaW9uLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnSW5zdGFsbCBkZXBlbmRlbmNpZXMnLFxuICAgICAgICAgICAgICAgIHJ1bjogJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnVXBkYXRlIGNvbmZpZy5qc29uJyxcbiAgICAgICAgICAgICAgICBydW46IGBqcSAnLmNsZXJrUHVibGlzaGFibGVLZXkgPSBcIiR7b3B0aW9ucy5jbGVya1B1Ymxpc2hhYmxlS2V5fVwiJyB3ZWIvcHVibGljL2NvbmZpZy5qc29uID4gdG1wLmpzb24gJiYgbXYgdG1wLmpzb24gd2ViL3B1YmxpYy9jb25maWcuanNvbmAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRGVwbG95IHRvIHN0YWdpbmcnLFxuICAgICAgICAgICAgICAgIGlkOiAnZGVwbG95JyxcbiAgICAgICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgICAgIERCX09WRVJSSURFOiAnc3RhZ2luZycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBydW46IGB5YXJuIGNkayBkZXBsb3kgLWUgJHtvcHRpb25zLnByb2plY3ROYW1lfS1zdGFnaW5nIC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciAtLW91dHB1dHMtZmlsZSBjZGstb3V0cHV0cy5qc29uYCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdFeHRyYWN0IG91dHB1dHMnLFxuICAgICAgICAgICAgICAgIGlkOiAnb3V0cHV0cycsXG4gICAgICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICAgICAnV0VCU0lURV9VUkw9JChqcSAtciBcXCcuW10gfCAuV2Vic2l0ZVVybCAvLyBlbXB0eVxcJyBjZGstb3V0cHV0cy5qc29uKScsXG4gICAgICAgICAgICAgICAgICAnZWNobyBcIndlYnNpdGVfdXJsPSRXRUJTSVRFX1VSTFwiID4+ICRHSVRIVUJfT1VUUFVUJyxcbiAgICAgICAgICAgICAgICAgICdlY2hvIFwiV2Vic2l0ZSBVUkw6ICRXRUJTSVRFX1VSTFwiJyxcbiAgICAgICAgICAgICAgICBdLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ05vdGlmeSBTbGFjaycsXG4gICAgICAgICAgICAgICAgaWY6ICdhbHdheXMoKScsXG4gICAgICAgICAgICAgICAgcnVuOiBbXG4gICAgICAgICAgICAgICAgICAnU1RBVFVTPVwiJHt7IGpvYi5zdGF0dXMgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnQ09MT1I9XCJnb29kXCInLFxuICAgICAgICAgICAgICAgICAgJ2lmIFsgXCIkU1RBVFVTXCIgIT0gXCJzdWNjZXNzXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICAgICAnICBDT0xPUj1cImRhbmdlclwiJyxcbiAgICAgICAgICAgICAgICAgICdmaScsXG4gICAgICAgICAgICAgICAgICAnV0VCU0lURV9VUkw9XCIke3sgc3RlcHMub3V0cHV0cy5vdXRwdXRzLndlYnNpdGVfdXJsIH19XCInLFxuICAgICAgICAgICAgICAgICAgJ01FU1NBR0U9XCJTdGFnaW5nIERlcGxveTogJFNUQVRVU1xcXFxuUmVwbzogJHt7IGdpdGh1Yi5yZXBvc2l0b3J5IH19XFxcXG5CcmFuY2g6ICR7eyBnaXRodWIucmVmX25hbWUgfX1cXFxcbkNvbW1pdDogJHt7IGdpdGh1Yi5zaGEgfX1cIicsXG4gICAgICAgICAgICAgICAgICAnaWYgWyAtbiBcIiRXRUJTSVRFX1VSTFwiIF07IHRoZW4nLFxuICAgICAgICAgICAgICAgICAgJyAgTUVTU0FHRT1cIiRNRVNTQUdFXFxcXG7wn4yQIFdlYnNpdGU6IDwkV0VCU0lURV9VUkx8VmlldyBTaXRlPlwiJyxcbiAgICAgICAgICAgICAgICAgICdmaScsXG4gICAgICAgICAgICAgICAgICAnY3VybCAtWCBQT1NUIGh0dHBzOi8vc2xhY2suY29tL2FwaS9jaGF0LnBvc3RNZXNzYWdlIFxcXFwnLFxuICAgICAgICAgICAgICAgICAgJyAgLUggXCJBdXRob3JpemF0aW9uOiBCZWFyZXIgJHt7IHNlY3JldHMuU0xBQ0tfQk9UX1RPS0VOIH19XCIgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtSCBcXCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb25cXCcgXFxcXCcsXG4gICAgICAgICAgICAgICAgICAnICAtLWRhdGEgXCJ7XFxcXFwiY2hhbm5lbFxcXFxcIjpcXFxcXCIke3sgc2VjcmV0cy5TTEFDS19DSEFOTkVMX0lEIH19XFxcXFwiLFxcXFxcImF0dGFjaG1lbnRzXFxcXFwiOlt7XFxcXFwiY29sb3JcXFxcXCI6XFxcXFwiJENPTE9SXFxcXFwiLFxcXFxcInRleHRcXFxcXCI6XFxcXFwiJE1FU1NBR0VcXFxcXCJ9XX1cIicsXG4gICAgICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { Component } from 'projen';
2
+ import { AwsCdkTypeScriptApp } from 'projen/lib/awscdk';
3
+ export declare class WorkflowAutoDiscover extends Component {
4
+ constructor(project: AwsCdkTypeScriptApp);
5
+ synthesize(): void;
6
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.WorkflowAutoDiscover = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const fs = require("fs");
7
+ const path = require("path");
8
+ const projen_1 = require("projen");
9
+ class WorkflowAutoDiscover extends projen_1.Component {
10
+ constructor(project) {
11
+ super(project);
12
+ }
13
+ synthesize() {
14
+ super.synthesize();
15
+ const workflowsDir = path.join(this.project.outdir, 'src/workflows');
16
+ let workflowFiles = [];
17
+ if (fs.existsSync(workflowsDir)) {
18
+ workflowFiles = fs.readdirSync(workflowsDir)
19
+ .filter(f => f.endsWith('.json'))
20
+ .sort();
21
+ }
22
+ const constructsDir = path.join(this.project.outdir, 'src/constructs');
23
+ fs.mkdirSync(constructsDir, { recursive: true });
24
+ for (const file of workflowFiles) {
25
+ const baseName = file.replace(/\.json$/, '');
26
+ const className = toClassName(baseName);
27
+ const content = generateWorkflowFile(className, file);
28
+ fs.writeFileSync(path.join(constructsDir, `${className}.ts`), content);
29
+ }
30
+ }
31
+ }
32
+ exports.WorkflowAutoDiscover = WorkflowAutoDiscover;
33
+ _a = JSII_RTTI_SYMBOL_1;
34
+ WorkflowAutoDiscover[_a] = { fqn: "@macedon-technologies/batman.WorkflowAutoDiscover", version: "1.12.0" };
35
+ function generateWorkflowFile(className, workflowJsonName) {
36
+ return [
37
+ '// ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".',
38
+ "import { join } from 'path';",
39
+ "import { ISecret } from 'aws-cdk-lib/aws-secretsmanager';",
40
+ "import { Construct } from 'constructs';",
41
+ "import { WorkflowProvider } from './WorkflowProvider';",
42
+ '',
43
+ `export interface ${className}Props {`,
44
+ ' readonly secret: ISecret;',
45
+ '}',
46
+ '',
47
+ `export class ${className} extends WorkflowProvider {`,
48
+ ` constructor(scope: Construct, id: string, props: ${className}Props) {`,
49
+ ' super(scope, id, {',
50
+ ` workflowFilePath: join(__dirname, '../workflows/${workflowJsonName}'),`,
51
+ ' secret: props.secret,',
52
+ ' });',
53
+ ' }',
54
+ '}',
55
+ '',
56
+ ].join('\n');
57
+ }
58
+ function toPascalCase(str) {
59
+ return str
60
+ .split(/[-_\s]+/)
61
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
62
+ .join('');
63
+ }
64
+ function toClassName(baseName) {
65
+ const pascal = toPascalCase(baseName);
66
+ if (pascal.toLowerCase().endsWith('workflow')) {
67
+ return pascal.slice(0, -8) + 'Workflow';
68
+ }
69
+ return pascal + 'Workflow';
70
+ }
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV29ya2Zsb3dBdXRvRGlzY292ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvV29ya2Zsb3dBdXRvRGlzY292ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG1DQUFtQztBQUduQyxNQUFhLG9CQUFxQixTQUFRLGtCQUFTO0lBQ2pELFlBQVksT0FBNEI7UUFDdEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRW5CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDckUsSUFBSSxhQUFhLEdBQWEsRUFBRSxDQUFDO1FBRWpDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ2hDLGFBQWEsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztpQkFDekMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDaEMsSUFBSSxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZFLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFakQsS0FBSyxNQUFNLElBQUksSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNqQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEMsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxTQUFTLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDOztBQTFCSCxvREEyQkM7OztBQUVELFNBQVMsb0JBQW9CLENBQUMsU0FBaUIsRUFBRSxnQkFBd0I7SUFDdkUsT0FBTztRQUNMLCtFQUErRTtRQUMvRSw4QkFBOEI7UUFDOUIsMkRBQTJEO1FBQzNELHlDQUF5QztRQUN6Qyx3REFBd0Q7UUFDeEQsRUFBRTtRQUNGLG9CQUFvQixTQUFTLFNBQVM7UUFDdEMsNkJBQTZCO1FBQzdCLEdBQUc7UUFDSCxFQUFFO1FBQ0YsZ0JBQWdCLFNBQVMsNkJBQTZCO1FBQ3RELHNEQUFzRCxTQUFTLFVBQVU7UUFDekUsd0JBQXdCO1FBQ3hCLHlEQUF5RCxnQkFBZ0IsS0FBSztRQUM5RSw2QkFBNkI7UUFDN0IsU0FBUztRQUNULEtBQUs7UUFDTCxHQUFHO1FBQ0gsRUFBRTtLQUNILENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEdBQVc7SUFDL0IsT0FBTyxHQUFHO1NBQ1AsS0FBSyxDQUFDLFNBQVMsQ0FBQztTQUNoQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLFFBQWdCO0lBQ25DLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM5QyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDO0lBQzFDLENBQUM7SUFDRCxPQUFPLE1BQU0sR0FBRyxVQUFVLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcblxuZXhwb3J0IGNsYXNzIFdvcmtmbG93QXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogQXdzQ2RrVHlwZVNjcmlwdEFwcCkge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICB9XG5cbiAgc3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBzdXBlci5zeW50aGVzaXplKCk7XG5cbiAgICBjb25zdCB3b3JrZmxvd3NEaXIgPSBwYXRoLmpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgJ3NyYy93b3JrZmxvd3MnKTtcbiAgICBsZXQgd29ya2Zsb3dGaWxlczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChmcy5leGlzdHNTeW5jKHdvcmtmbG93c0RpcikpIHtcbiAgICAgIHdvcmtmbG93RmlsZXMgPSBmcy5yZWFkZGlyU3luYyh3b3JrZmxvd3NEaXIpXG4gICAgICAgIC5maWx0ZXIoZiA9PiBmLmVuZHNXaXRoKCcuanNvbicpKVxuICAgICAgICAuc29ydCgpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnN0cnVjdHNEaXIgPSBwYXRoLmpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgJ3NyYy9jb25zdHJ1Y3RzJyk7XG4gICAgZnMubWtkaXJTeW5jKGNvbnN0cnVjdHNEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIHdvcmtmbG93RmlsZXMpIHtcbiAgICAgIGNvbnN0IGJhc2VOYW1lID0gZmlsZS5yZXBsYWNlKC9cXC5qc29uJC8sICcnKTtcbiAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRvQ2xhc3NOYW1lKGJhc2VOYW1lKTtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBnZW5lcmF0ZVdvcmtmbG93RmlsZShjbGFzc05hbWUsIGZpbGUpO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhwYXRoLmpvaW4oY29uc3RydWN0c0RpciwgYCR7Y2xhc3NOYW1lfS50c2ApLCBjb250ZW50KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVXb3JrZmxvd0ZpbGUoY2xhc3NOYW1lOiBzdHJpbmcsIHdvcmtmbG93SnNvbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBbXG4gICAgJy8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMudHMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi4nLFxuICAgIFwiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1wiLFxuICAgIFwiaW1wb3J0IHsgSVNlY3JldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zZWNyZXRzbWFuYWdlcic7XCIsXG4gICAgXCJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcIixcbiAgICBcImltcG9ydCB7IFdvcmtmbG93UHJvdmlkZXIgfSBmcm9tICcuL1dvcmtmbG93UHJvdmlkZXInO1wiLFxuICAgICcnLFxuICAgIGBleHBvcnQgaW50ZXJmYWNlICR7Y2xhc3NOYW1lfVByb3BzIHtgLFxuICAgICcgIHJlYWRvbmx5IHNlY3JldDogSVNlY3JldDsnLFxuICAgICd9JyxcbiAgICAnJyxcbiAgICBgZXhwb3J0IGNsYXNzICR7Y2xhc3NOYW1lfSBleHRlbmRzIFdvcmtmbG93UHJvdmlkZXIge2AsXG4gICAgYCAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7Y2xhc3NOYW1lfVByb3BzKSB7YCxcbiAgICAnICAgIHN1cGVyKHNjb3BlLCBpZCwgeycsXG4gICAgYCAgICAgIHdvcmtmbG93RmlsZVBhdGg6IGpvaW4oX19kaXJuYW1lLCAnLi4vd29ya2Zsb3dzLyR7d29ya2Zsb3dKc29uTmFtZX0nKSxgLFxuICAgICcgICAgICBzZWNyZXQ6IHByb3BzLnNlY3JldCwnLFxuICAgICcgICAgfSk7JyxcbiAgICAnICB9JyxcbiAgICAnfScsXG4gICAgJycsXG4gIF0uam9pbignXFxuJyk7XG59XG5cbmZ1bmN0aW9uIHRvUGFzY2FsQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHJcbiAgICAuc3BsaXQoL1stX1xcc10rLylcbiAgICAubWFwKHdvcmQgPT4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSlcbiAgICAuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIHRvQ2xhc3NOYW1lKGJhc2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBwYXNjYWwgPSB0b1Bhc2NhbENhc2UoYmFzZU5hbWUpO1xuICBpZiAocGFzY2FsLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoJ3dvcmtmbG93JykpIHtcbiAgICByZXR1cm4gcGFzY2FsLnNsaWNlKDAsIC04KSArICdXb3JrZmxvdyc7XG4gIH1cbiAgcmV0dXJuIHBhc2NhbCArICdXb3JrZmxvdyc7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import { TextFile } from 'projen';
2
+ import { AwsCdkTypeScriptApp } from 'projen/lib/awscdk';
3
+ export declare class WorkflowProviderFile extends TextFile {
4
+ constructor(project: AwsCdkTypeScriptApp);
5
+ }
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowProviderFile = void 0;
4
+ const projen_1 = require("projen");
5
+ class WorkflowProviderFile extends projen_1.TextFile {
6
+ constructor(project) {
7
+ super(project, 'src/constructs/WorkflowProvider.ts', {
8
+ marker: true,
9
+ readonly: true,
10
+ lines: [
11
+ 'import { Arn, AssetHashType, CfnOutput, CustomResource, Duration, Reference, Stack } from \'aws-cdk-lib\';',
12
+ 'import { Effect, PolicyStatement } from \'aws-cdk-lib/aws-iam\';',
13
+ 'import { Code, Function, Runtime } from \'aws-cdk-lib/aws-lambda\';',
14
+ 'import { Asset } from \'aws-cdk-lib/aws-s3-assets\';',
15
+ 'import { ISecret } from \'aws-cdk-lib/aws-secretsmanager\';',
16
+ 'import { Provider } from \'aws-cdk-lib/custom-resources\';',
17
+ 'import { Construct } from \'constructs\';',
18
+ '',
19
+ 'export interface WorkflowProviderProps {',
20
+ ' /**',
21
+ ' * The full path to the workflow .JSON file you want to add.',
22
+ ' */',
23
+ ' readonly workflowFilePath: string;',
24
+ '',
25
+ ' /**',
26
+ ' * An AWS Secret that has the following JSON structure:',
27
+ ' * {',
28
+ ' * "url": "https://your-n8n-instance.com",',
29
+ ' * "apiKey": "your-n8n-api-key"',
30
+ ' * }',
31
+ ' */',
32
+ ' readonly secret: ISecret;',
33
+ '}',
34
+ '',
35
+ 'export class WorkflowProvider extends Construct {',
36
+ ' public handler: Function;',
37
+ ' public webhookPath: Reference;',
38
+ '',
39
+ ' constructor(scope: Construct, id: string, props: WorkflowProviderProps) {',
40
+ ' super(scope, id);',
41
+ '',
42
+ ' const workflowAsset = new Asset(this, \'WorkflowAsset\', {',
43
+ ' path: props.workflowFilePath,',
44
+ ' assetHashType: AssetHashType.SOURCE,',
45
+ ' });',
46
+ '',
47
+ ' const lambda = this.handler = new Function(this, \'Handler\', {',
48
+ ' runtime: Runtime.NODEJS_22_X,',
49
+ ' handler: \'index.handler\',',
50
+ ' timeout: Duration.minutes(5),',
51
+ ' code: Code.fromInline(`',
52
+ 'const { SecretsManagerClient, GetSecretValueCommand } = require(\'@aws-sdk/client-secrets-manager\');',
53
+ 'const { S3Client, GetObjectCommand } = require(\'@aws-sdk/client-s3\');',
54
+ '',
55
+ 'exports.handler = async (event) => {',
56
+ ' console.log(\'Event:\', JSON.stringify(event, null, 2));',
57
+ ' ',
58
+ ' if (event.RequestType === \'Delete\') {',
59
+ ' return { PhysicalResourceId: event.PhysicalResourceId || \'workflow-uploader\' };',
60
+ ' }',
61
+ '',
62
+ ' try {',
63
+ ' // Get secret',
64
+ ' const secretsClient = new SecretsManagerClient({});',
65
+ ' const secretCommand = new GetSecretValueCommand({ SecretId: process.env.SECRET_ARN });',
66
+ ' const secretResponse = await secretsClient.send(secretCommand);',
67
+ ' ',
68
+ ' const secret = JSON.parse(secretResponse.SecretString);',
69
+ ' const { url, apiKey } = secret;',
70
+ ' ',
71
+ ' // Read workflow file from S3',
72
+ ' const s3Client = new S3Client({});',
73
+ ' const s3Command = new GetObjectCommand({',
74
+ ' Bucket: process.env.ASSET_BUCKET,',
75
+ ' Key: process.env.ASSET_KEY,',
76
+ ' });',
77
+ ' const s3Response = await s3Client.send(s3Command);',
78
+ ' const workflowContent = await s3Response.Body.transformToString();',
79
+ ' const { name, nodes, connections, settings } = JSON.parse(workflowContent);',
80
+ ' const workflowData = {',
81
+ ' name,',
82
+ ' nodes,',
83
+ ' connections,',
84
+ ' settings,',
85
+ ' };',
86
+ ' delete workflowData.settings.binaryMode;',
87
+ '',
88
+ ' const headers = {',
89
+ ' \'Content-Type\': \'application/json\',',
90
+ ' \'X-N8N-API-KEY\': apiKey,',
91
+ ' };',
92
+ ' ',
93
+ ' let workflowId = event.PhysicalResourceId;',
94
+ ' let isUpdate = false;',
95
+ ' ',
96
+ ' // Try to get existing workflow if we have a physicalResourceId',
97
+ ' if (workflowId && workflowId !== \'workflow-uploader\') {',
98
+ ' try {',
99
+ ' const getResponse = await fetch(\\`\\${url}/api/v1/workflows/\\${workflowId}\\`, {',
100
+ ' method: \'GET\',',
101
+ ' headers,',
102
+ ' });',
103
+ ' ',
104
+ ' if (getResponse.ok) {',
105
+ ' isUpdate = true;',
106
+ ' console.log(\'Found existing workflow, will update\');',
107
+ ' }',
108
+ ' } catch (error) {',
109
+ ' console.log(\'Workflow not found, will create new one\');',
110
+ ' }',
111
+ ' }',
112
+ ' ',
113
+ ' let result;',
114
+ ' if (isUpdate) {',
115
+ ' // Update existing workflow',
116
+ ' const updateResponse = await fetch(\\`\\${url}/api/v1/workflows/\\${workflowId}\\`, {',
117
+ ' method: \'PUT\',',
118
+ ' headers,',
119
+ ' body: JSON.stringify(workflowData),',
120
+ ' });',
121
+ ' ',
122
+ ' if (!updateResponse.ok) {',
123
+ ' throw new Error(\\`Update failed: \\${updateResponse.status} \\${updateResponse.statusText}\\`);',
124
+ ' }',
125
+ ' ',
126
+ ' result = await updateResponse.json();',
127
+ ' console.log(\'Workflow updated successfully\');',
128
+ ' } else {',
129
+ ' // Create new workflow',
130
+ ' const createResponse = await fetch(\\`\\${url}/api/v1/workflows\\`, {',
131
+ ' method: \'POST\',',
132
+ ' headers,',
133
+ ' body: JSON.stringify(workflowData),',
134
+ ' });',
135
+ ' ',
136
+ ' if (!createResponse.ok) {',
137
+ ' let result = {};',
138
+ ' if (createResponse.status === 400) {',
139
+ ' result = await createResponse.json(); ',
140
+ ' }',
141
+ ' throw new Error(\\`Create failed: \\${createResponse.status} \\${createResponse.statusText} \\${JSON.stringify(result)} \\`);',
142
+ ' }',
143
+ ' ',
144
+ ' result = await createResponse.json();',
145
+ ' ',
146
+ ' ',
147
+ ' workflowId = result.id;',
148
+ ' console.log(\'Workflow created successfully\');',
149
+ ' }',
150
+ ' ',
151
+ ' // Activate the workflow',
152
+ ' const activateResponse = await fetch(\\`\\${url}/api/v1/workflows/\\${workflowId}/activate\\`, {',
153
+ ' method: \'POST\',',
154
+ ' headers,',
155
+ ' });',
156
+ ' ',
157
+ ' if (!activateResponse.ok) {',
158
+ ' let result = {};',
159
+ ' if (activateResponse.status === 400) {',
160
+ ' result = await activateResponse.json();',
161
+ ' }',
162
+ ' console.warn(\\`Activation failed: \\${activateResponse.status} \\${activateResponse.statusText}\\\\ \\${JSON.stringify(result)} \\`);',
163
+ ' } else {',
164
+ ' console.log(\'Workflow activated successfully\');',
165
+ ' }',
166
+ '',
167
+ ' // Fetch the workflow to extract webhook path',
168
+ ' let webhookPath = \\\'\\\';',
169
+ ' const getWorkflowResponse = await fetch(\\`\\${url}/api/v1/workflows/\\${workflowId}\\`, {',
170
+ ' method: \'GET\',',
171
+ ' headers,',
172
+ ' });',
173
+ '',
174
+ ' if (getWorkflowResponse.ok) {',
175
+ ' const workflow = await getWorkflowResponse.json();',
176
+ ' const webhookNode = (workflow.nodes || []).find(n => n.type === \'n8n-nodes-base.webhook\');',
177
+ ' if (webhookNode && webhookNode.parameters && webhookNode.parameters.path) {',
178
+ ' webhookPath = webhookNode.parameters.path;',
179
+ ' console.log(\\`Found webhook path: \\${webhookPath}\\`);',
180
+ ' }',
181
+ ' }',
182
+ '',
183
+ ' return {',
184
+ ' PhysicalResourceId: workflowId,',
185
+ ' Data: { WorkflowId: workflowId, WebhookPath: webhookPath }',
186
+ ' };',
187
+ ' } catch (error) {',
188
+ ' console.error(\'Error:\', error);',
189
+ ' return {',
190
+ ' PhysicalResourceId: event.PhysicalResourceId || \'workflow-uploader\',',
191
+ ' Data: { Error: String(error) }',
192
+ ' };',
193
+ ' }',
194
+ '};',
195
+ ' `),',
196
+ ' environment: {',
197
+ ' SECRET_ARN: props.secret.secretArn,',
198
+ ' ASSET_BUCKET: workflowAsset.bucket.bucketName,',
199
+ ' ASSET_KEY: workflowAsset.s3ObjectKey,',
200
+ ' },',
201
+ ' });',
202
+ '',
203
+ ' props.secret.grantRead(lambda);',
204
+ ' workflowAsset.grantRead(lambda);',
205
+ '',
206
+ '',
207
+ ' // Grant KMS decrypt permissions for the secret',
208
+ ' if (props.secret.encryptionKey) {',
209
+ ' console.log(\'encryption key found, granting decrypt permissions\');',
210
+ ' props.secret.encryptionKey.grantDecrypt(lambda);',
211
+ '',
212
+ ' } else {',
213
+ ' lambda.role?.addToPrincipalPolicy(new PolicyStatement({',
214
+ ' effect: Effect.ALLOW,',
215
+ ' actions: [',
216
+ ' \'kms:Decrypt\',',
217
+ ' \'kms:DescribeKey\',',
218
+ ' ],',
219
+ ' resources: [Arn.format({',
220
+ ' service: \'kms\',',
221
+ ' resource: \'key\',',
222
+ ' resourceName: \'a699f853-0475-4d4d-b8ab-be881d66624f\',',
223
+ ' partition: \'aws\',',
224
+ ' region: Stack.of(this).region,',
225
+ ' account: \'581514672367\',',
226
+ '',
227
+ ' })],',
228
+ ' }));',
229
+ ' }',
230
+ '',
231
+ ' const provider = new Provider(this, \'Provider\', {',
232
+ ' onEventHandler: lambda,',
233
+ ' });',
234
+ '',
235
+ ' const customResource = new CustomResource(this, \'Resource\', {',
236
+ ' serviceToken: provider.serviceToken,',
237
+ ' properties: {',
238
+ ' UPDATED_TIME: Date.now().toString(),',
239
+ ' },',
240
+ ' });',
241
+ '',
242
+ ' this.webhookPath = customResource.getAtt(\'WebhookPath\');',
243
+ '',
244
+ ' // Output the Lambda execution role ARN for cross-account KMS permissions',
245
+ ' new CfnOutput(this, \'LambdaExecutionRoleArn\', {',
246
+ ' value: lambda.role!.roleArn,',
247
+ ' description: \'Lambda execution role ARN - add this to KMS key policy in other account\',',
248
+ ' });',
249
+ ' }',
250
+ '}',
251
+ '',
252
+ ],
253
+ });
254
+ }
255
+ }
256
+ exports.WorkflowProviderFile = WorkflowProviderFile;
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV29ya2Zsb3dQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Xb3JrZmxvd1Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFrQztBQUdsQyxNQUFhLG9CQUFxQixTQUFRLGlCQUFRO0lBQ2hELFlBQVksT0FBNEI7UUFDdEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRTtZQUNuRCxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLDRHQUE0RztnQkFDNUcsa0VBQWtFO2dCQUNsRSxxRUFBcUU7Z0JBQ3JFLHNEQUFzRDtnQkFDdEQsNkRBQTZEO2dCQUM3RCw0REFBNEQ7Z0JBQzVELDJDQUEyQztnQkFDM0MsRUFBRTtnQkFDRiwwQ0FBMEM7Z0JBQzFDLE9BQU87Z0JBQ1AsZ0VBQWdFO2dCQUNoRSxPQUFPO2dCQUNQLHNDQUFzQztnQkFDdEMsRUFBRTtnQkFDRixPQUFPO2dCQUNQLDJEQUEyRDtnQkFDM0QsUUFBUTtnQkFDUixnREFBZ0Q7Z0JBQ2hELHFDQUFxQztnQkFDckMsUUFBUTtnQkFDUixPQUFPO2dCQUNQLDZCQUE2QjtnQkFDN0IsR0FBRztnQkFDSCxFQUFFO2dCQUNGLG1EQUFtRDtnQkFDbkQsNkJBQTZCO2dCQUM3QixrQ0FBa0M7Z0JBQ2xDLEVBQUU7Z0JBQ0YsNkVBQTZFO2dCQUM3RSx1QkFBdUI7Z0JBQ3ZCLEVBQUU7Z0JBQ0YsZ0VBQWdFO2dCQUNoRSxxQ0FBcUM7Z0JBQ3JDLDRDQUE0QztnQkFDNUMsU0FBUztnQkFDVCxFQUFFO2dCQUNGLHFFQUFxRTtnQkFDckUscUNBQXFDO2dCQUNyQyxtQ0FBbUM7Z0JBQ25DLHFDQUFxQztnQkFDckMsK0JBQStCO2dCQUMvQix1R0FBdUc7Z0JBQ3ZHLHlFQUF5RTtnQkFDekUsRUFBRTtnQkFDRixzQ0FBc0M7Z0JBQ3RDLDREQUE0RDtnQkFDNUQsSUFBSTtnQkFDSiwyQ0FBMkM7Z0JBQzNDLHVGQUF1RjtnQkFDdkYsS0FBSztnQkFDTCxFQUFFO2dCQUNGLFNBQVM7Z0JBQ1QsbUJBQW1CO2dCQUNuQix5REFBeUQ7Z0JBQ3pELDRGQUE0RjtnQkFDNUYscUVBQXFFO2dCQUNyRSxNQUFNO2dCQUNOLDZEQUE2RDtnQkFDN0QscUNBQXFDO2dCQUNyQyxNQUFNO2dCQUNOLG1DQUFtQztnQkFDbkMsd0NBQXdDO2dCQUN4Qyw4Q0FBOEM7Z0JBQzlDLHlDQUF5QztnQkFDekMsbUNBQW1DO2dCQUNuQyxTQUFTO2dCQUNULHdEQUF3RDtnQkFDeEQsd0VBQXdFO2dCQUN4RSxpRkFBaUY7Z0JBQ2pGLDRCQUE0QjtnQkFDNUIsYUFBYTtnQkFDYixjQUFjO2dCQUNkLG9CQUFvQjtnQkFDcEIsaUJBQWlCO2dCQUNqQixRQUFRO2dCQUNSLDhDQUE4QztnQkFDOUMsRUFBRTtnQkFDRix1QkFBdUI7Z0JBQ3ZCLCtDQUErQztnQkFDL0Msa0NBQWtDO2dCQUNsQyxRQUFRO2dCQUNSLE1BQU07Z0JBQ04sZ0RBQWdEO2dCQUNoRCwyQkFBMkI7Z0JBQzNCLE1BQU07Z0JBQ04scUVBQXFFO2dCQUNyRSwrREFBK0Q7Z0JBQy9ELGFBQWE7Z0JBQ2IsNEZBQTRGO2dCQUM1Riw0QkFBNEI7Z0JBQzVCLG9CQUFvQjtnQkFDcEIsYUFBYTtnQkFDYixVQUFVO2dCQUNWLCtCQUErQjtnQkFDL0IsNEJBQTRCO2dCQUM1QixrRUFBa0U7Z0JBQ2xFLFdBQVc7Z0JBQ1gseUJBQXlCO2dCQUN6QixtRUFBbUU7Z0JBQ25FLFNBQVM7Z0JBQ1QsT0FBTztnQkFDUCxNQUFNO2dCQUNOLGlCQUFpQjtnQkFDakIscUJBQXFCO2dCQUNyQixtQ0FBbUM7Z0JBQ25DLDZGQUE2RjtnQkFDN0YsMEJBQTBCO2dCQUMxQixrQkFBa0I7Z0JBQ2xCLDZDQUE2QztnQkFDN0MsV0FBVztnQkFDWCxRQUFRO2dCQUNSLGlDQUFpQztnQkFDakMsMEdBQTBHO2dCQUMxRyxTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsNkNBQTZDO2dCQUM3Qyx1REFBdUQ7Z0JBQ3ZELGNBQWM7Z0JBQ2QsOEJBQThCO2dCQUM5Qiw2RUFBNkU7Z0JBQzdFLDJCQUEyQjtnQkFDM0Isa0JBQWtCO2dCQUNsQiw2Q0FBNkM7Z0JBQzdDLFdBQVc7Z0JBQ1gsUUFBUTtnQkFDUixpQ0FBaUM7Z0JBQ2pDLDBCQUEwQjtnQkFDMUIsOENBQThDO2dCQUM5QyxtREFBbUQ7Z0JBQ25ELFdBQVc7Z0JBQ1gsdUlBQXVJO2dCQUN2SSxTQUFTO2dCQUNULFFBQVE7Z0JBQ1IsNkNBQTZDO2dCQUM3QyxRQUFRO2dCQUNSLFFBQVE7Z0JBQ1IsK0JBQStCO2dCQUMvQix1REFBdUQ7Z0JBQ3ZELE9BQU87Z0JBQ1AsTUFBTTtnQkFDTiw4QkFBOEI7Z0JBQzlCLHNHQUFzRztnQkFDdEcseUJBQXlCO2dCQUN6QixnQkFBZ0I7Z0JBQ2hCLFNBQVM7Z0JBQ1QsTUFBTTtnQkFDTixpQ0FBaUM7Z0JBQ2pDLHNCQUFzQjtnQkFDdEIsOENBQThDO2dCQUM5QyxpREFBaUQ7Z0JBQ2pELFNBQVM7Z0JBQ1QsOElBQThJO2dCQUM5SSxjQUFjO2dCQUNkLHlEQUF5RDtnQkFDekQsT0FBTztnQkFDUCxFQUFFO2dCQUNGLG1EQUFtRDtnQkFDbkQsaUNBQWlDO2dCQUNqQyxnR0FBZ0c7Z0JBQ2hHLHdCQUF3QjtnQkFDeEIsZ0JBQWdCO2dCQUNoQixTQUFTO2dCQUNULEVBQUU7Z0JBQ0YsbUNBQW1DO2dCQUNuQywwREFBMEQ7Z0JBQzFELG9HQUFvRztnQkFDcEcsbUZBQW1GO2dCQUNuRixvREFBb0Q7Z0JBQ3BELGtFQUFrRTtnQkFDbEUsU0FBUztnQkFDVCxPQUFPO2dCQUNQLEVBQUU7Z0JBQ0YsY0FBYztnQkFDZCx1Q0FBdUM7Z0JBQ3ZDLGtFQUFrRTtnQkFDbEUsUUFBUTtnQkFDUixxQkFBcUI7Z0JBQ3JCLHVDQUF1QztnQkFDdkMsY0FBYztnQkFDZCwrRUFBK0U7Z0JBQy9FLHVDQUF1QztnQkFDdkMsUUFBUTtnQkFDUixLQUFLO2dCQUNMLElBQUk7Z0JBQ0osV0FBVztnQkFDWCxzQkFBc0I7Z0JBQ3RCLDZDQUE2QztnQkFDN0Msd0RBQXdEO2dCQUN4RCwrQ0FBK0M7Z0JBQy9DLFVBQVU7Z0JBQ1YsU0FBUztnQkFDVCxFQUFFO2dCQUNGLHFDQUFxQztnQkFDckMsc0NBQXNDO2dCQUN0QyxFQUFFO2dCQUNGLEVBQUU7Z0JBQ0YscURBQXFEO2dCQUNyRCx1Q0FBdUM7Z0JBQ3ZDLDRFQUE0RTtnQkFDNUUsd0RBQXdEO2dCQUN4RCxFQUFFO2dCQUNGLGNBQWM7Z0JBQ2QsK0RBQStEO2dCQUMvRCwrQkFBK0I7Z0JBQy9CLG9CQUFvQjtnQkFDcEIsNEJBQTRCO2dCQUM1QixnQ0FBZ0M7Z0JBQ2hDLFlBQVk7Z0JBQ1osa0NBQWtDO2dCQUNsQyw2QkFBNkI7Z0JBQzdCLDhCQUE4QjtnQkFDOUIsbUVBQW1FO2dCQUNuRSwrQkFBK0I7Z0JBQy9CLDBDQUEwQztnQkFDMUMsc0NBQXNDO2dCQUN0QyxFQUFFO2dCQUNGLGNBQWM7Z0JBQ2QsWUFBWTtnQkFDWixPQUFPO2dCQUNQLEVBQUU7Z0JBQ0YseURBQXlEO2dCQUN6RCwrQkFBK0I7Z0JBQy9CLFNBQVM7Z0JBQ1QsRUFBRTtnQkFDRixxRUFBcUU7Z0JBQ3JFLDRDQUE0QztnQkFDNUMscUJBQXFCO2dCQUNyQiw4Q0FBOEM7Z0JBQzlDLFVBQVU7Z0JBQ1YsU0FBUztnQkFDVCxFQUFFO2dCQUNGLGdFQUFnRTtnQkFDaEUsRUFBRTtnQkFDRiwrRUFBK0U7Z0JBQy9FLHVEQUF1RDtnQkFDdkQsb0NBQW9DO2dCQUNwQyxpR0FBaUc7Z0JBQ2pHLFNBQVM7Z0JBQ1QsS0FBSztnQkFDTCxHQUFHO2dCQUNILEVBQUU7YUFDSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTFQRCxvREEwUEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dQcm92aWRlckZpbGUgZXh0ZW5kcyBUZXh0RmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHApIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnc3JjL2NvbnN0cnVjdHMvV29ya2Zsb3dQcm92aWRlci50cycsIHtcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgbGluZXM6IFtcbiAgICAgICAgJ2ltcG9ydCB7IEFybiwgQXNzZXRIYXNoVHlwZSwgQ2ZuT3V0cHV0LCBDdXN0b21SZXNvdXJjZSwgRHVyYXRpb24sIFJlZmVyZW5jZSwgU3RhY2sgfSBmcm9tIFxcJ2F3cy1jZGstbGliXFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gXFwnYXdzLWNkay1saWIvYXdzLWlhbVxcJzsnLFxuICAgICAgICAnaW1wb3J0IHsgQ29kZSwgRnVuY3Rpb24sIFJ1bnRpbWUgfSBmcm9tIFxcJ2F3cy1jZGstbGliL2F3cy1sYW1iZGFcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IEFzc2V0IH0gZnJvbSBcXCdhd3MtY2RrLWxpYi9hd3MtczMtYXNzZXRzXFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBJU2VjcmV0IH0gZnJvbSBcXCdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcXCdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFxcJ2NvbnN0cnVjdHNcXCc7JyxcbiAgICAgICAgJycsXG4gICAgICAgICdleHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93UHJvdmlkZXJQcm9wcyB7JyxcbiAgICAgICAgJyAgLyoqJyxcbiAgICAgICAgJyAgICogVGhlIGZ1bGwgcGF0aCB0byB0aGUgd29ya2Zsb3cgLkpTT04gZmlsZSB5b3Ugd2FudCB0byBhZGQuJyxcbiAgICAgICAgJyAgICovJyxcbiAgICAgICAgJyAgcmVhZG9ubHkgd29ya2Zsb3dGaWxlUGF0aDogc3RyaW5nOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAvKionLFxuICAgICAgICAnICAgKiBBbiBBV1MgU2VjcmV0IHRoYXQgaGFzIHRoZSBmb2xsb3dpbmcgSlNPTiBzdHJ1Y3R1cmU6JyxcbiAgICAgICAgJyAgICogeycsXG4gICAgICAgICcgICAqICAgXCJ1cmxcIjogXCJodHRwczovL3lvdXItbjhuLWluc3RhbmNlLmNvbVwiLCcsXG4gICAgICAgICcgICAqICAgXCJhcGlLZXlcIjogXCJ5b3VyLW44bi1hcGkta2V5XCInLFxuICAgICAgICAnICAgKiB9JyxcbiAgICAgICAgJyAgICovJyxcbiAgICAgICAgJyAgcmVhZG9ubHkgc2VjcmV0OiBJU2VjcmV0OycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICdleHBvcnQgY2xhc3MgV29ya2Zsb3dQcm92aWRlciBleHRlbmRzIENvbnN0cnVjdCB7JyxcbiAgICAgICAgJyAgcHVibGljIGhhbmRsZXI6IEZ1bmN0aW9uOycsXG4gICAgICAgICcgIHB1YmxpYyB3ZWJob29rUGF0aDogUmVmZXJlbmNlOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogV29ya2Zsb3dQcm92aWRlclByb3BzKSB7JyxcbiAgICAgICAgJyAgICBzdXBlcihzY29wZSwgaWQpOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIGNvbnN0IHdvcmtmbG93QXNzZXQgPSBuZXcgQXNzZXQodGhpcywgXFwnV29ya2Zsb3dBc3NldFxcJywgeycsXG4gICAgICAgICcgICAgICBwYXRoOiBwcm9wcy53b3JrZmxvd0ZpbGVQYXRoLCcsXG4gICAgICAgICcgICAgICBhc3NldEhhc2hUeXBlOiBBc3NldEhhc2hUeXBlLlNPVVJDRSwnLFxuICAgICAgICAnICAgIH0pOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIGNvbnN0IGxhbWJkYSA9IHRoaXMuaGFuZGxlciA9IG5ldyBGdW5jdGlvbih0aGlzLCBcXCdIYW5kbGVyXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzIyX1gsJyxcbiAgICAgICAgJyAgICAgIGhhbmRsZXI6IFxcJ2luZGV4LmhhbmRsZXJcXCcsJyxcbiAgICAgICAgJyAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoNSksJyxcbiAgICAgICAgJyAgICAgIGNvZGU6IENvZGUuZnJvbUlubGluZShgJyxcbiAgICAgICAgJ2NvbnN0IHsgU2VjcmV0c01hbmFnZXJDbGllbnQsIEdldFNlY3JldFZhbHVlQ29tbWFuZCB9ID0gcmVxdWlyZShcXCdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyXFwnKTsnLFxuICAgICAgICAnY29uc3QgeyBTM0NsaWVudCwgR2V0T2JqZWN0Q29tbWFuZCB9ID0gcmVxdWlyZShcXCdAYXdzLXNkay9jbGllbnQtczNcXCcpOycsXG4gICAgICAgICcnLFxuICAgICAgICAnZXhwb3J0cy5oYW5kbGVyID0gYXN5bmMgKGV2ZW50KSA9PiB7JyxcbiAgICAgICAgJyAgY29uc29sZS5sb2coXFwnRXZlbnQ6XFwnLCBKU09OLnN0cmluZ2lmeShldmVudCwgbnVsbCwgMikpOycsXG4gICAgICAgICcgICcsXG4gICAgICAgICcgIGlmIChldmVudC5SZXF1ZXN0VHlwZSA9PT0gXFwnRGVsZXRlXFwnKSB7JyxcbiAgICAgICAgJyAgICByZXR1cm4geyBQaHlzaWNhbFJlc291cmNlSWQ6IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCB8fCBcXCd3b3JrZmxvdy11cGxvYWRlclxcJyB9OycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgdHJ5IHsnLFxuICAgICAgICAnICAgIC8vIEdldCBzZWNyZXQnLFxuICAgICAgICAnICAgIGNvbnN0IHNlY3JldHNDbGllbnQgPSBuZXcgU2VjcmV0c01hbmFnZXJDbGllbnQoe30pOycsXG4gICAgICAgICcgICAgY29uc3Qgc2VjcmV0Q29tbWFuZCA9IG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoeyBTZWNyZXRJZDogcHJvY2Vzcy5lbnYuU0VDUkVUX0FSTiB9KTsnLFxuICAgICAgICAnICAgIGNvbnN0IHNlY3JldFJlc3BvbnNlID0gYXdhaXQgc2VjcmV0c0NsaWVudC5zZW5kKHNlY3JldENvbW1hbmQpOycsXG4gICAgICAgICcgICAgJyxcbiAgICAgICAgJyAgICBjb25zdCBzZWNyZXQgPSBKU09OLnBhcnNlKHNlY3JldFJlc3BvbnNlLlNlY3JldFN0cmluZyk7JyxcbiAgICAgICAgJyAgICBjb25zdCB7IHVybCwgYXBpS2V5IH0gPSBzZWNyZXQ7JyxcbiAgICAgICAgJyAgICAnLFxuICAgICAgICAnICAgIC8vIFJlYWQgd29ya2Zsb3cgZmlsZSBmcm9tIFMzJyxcbiAgICAgICAgJyAgICBjb25zdCBzM0NsaWVudCA9IG5ldyBTM0NsaWVudCh7fSk7JyxcbiAgICAgICAgJyAgICBjb25zdCBzM0NvbW1hbmQgPSBuZXcgR2V0T2JqZWN0Q29tbWFuZCh7JyxcbiAgICAgICAgJyAgICAgIEJ1Y2tldDogcHJvY2Vzcy5lbnYuQVNTRVRfQlVDS0VULCcsXG4gICAgICAgICcgICAgICBLZXk6IHByb2Nlc3MuZW52LkFTU0VUX0tFWSwnLFxuICAgICAgICAnICAgIH0pOycsXG4gICAgICAgICcgICAgY29uc3QgczNSZXNwb25zZSA9IGF3YWl0IHMzQ2xpZW50LnNlbmQoczNDb21tYW5kKTsnLFxuICAgICAgICAnICAgIGNvbnN0IHdvcmtmbG93Q29udGVudCA9IGF3YWl0IHMzUmVzcG9uc2UuQm9keS50cmFuc2Zvcm1Ub1N0cmluZygpOycsXG4gICAgICAgICcgICAgY29uc3QgeyBuYW1lLCBub2RlcywgY29ubmVjdGlvbnMsIHNldHRpbmdzIH0gPSBKU09OLnBhcnNlKHdvcmtmbG93Q29udGVudCk7JyxcbiAgICAgICAgJyAgICBjb25zdCB3b3JrZmxvd0RhdGEgPSB7JyxcbiAgICAgICAgJyAgICAgIG5hbWUsJyxcbiAgICAgICAgJyAgICAgIG5vZGVzLCcsXG4gICAgICAgICcgICAgICBjb25uZWN0aW9ucywnLFxuICAgICAgICAnICAgICAgc2V0dGluZ3MsJyxcbiAgICAgICAgJyAgICB9OycsXG4gICAgICAgICcgICAgZGVsZXRlIHdvcmtmbG93RGF0YS5zZXR0aW5ncy5iaW5hcnlNb2RlOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIGNvbnN0IGhlYWRlcnMgPSB7JyxcbiAgICAgICAgJyAgICAgIFxcJ0NvbnRlbnQtVHlwZVxcJzogXFwnYXBwbGljYXRpb24vanNvblxcJywnLFxuICAgICAgICAnICAgICAgXFwnWC1OOE4tQVBJLUtFWVxcJzogYXBpS2V5LCcsXG4gICAgICAgICcgICAgfTsnLFxuICAgICAgICAnICAgICcsXG4gICAgICAgICcgICAgbGV0IHdvcmtmbG93SWQgPSBldmVudC5QaHlzaWNhbFJlc291cmNlSWQ7JyxcbiAgICAgICAgJyAgICBsZXQgaXNVcGRhdGUgPSBmYWxzZTsnLFxuICAgICAgICAnICAgICcsXG4gICAgICAgICcgICAgLy8gVHJ5IHRvIGdldCBleGlzdGluZyB3b3JrZmxvdyBpZiB3ZSBoYXZlIGEgcGh5c2ljYWxSZXNvdXJjZUlkJyxcbiAgICAgICAgJyAgICBpZiAod29ya2Zsb3dJZCAmJiB3b3JrZmxvd0lkICE9PSBcXCd3b3JrZmxvdy11cGxvYWRlclxcJykgeycsXG4gICAgICAgICcgICAgICB0cnkgeycsXG4gICAgICAgICcgICAgICAgIGNvbnN0IGdldFJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXFxcXGBcXFxcJHt1cmx9L2FwaS92MS93b3JrZmxvd3MvXFxcXCR7d29ya2Zsb3dJZH1cXFxcYCwgeycsXG4gICAgICAgICcgICAgICAgICAgbWV0aG9kOiBcXCdHRVRcXCcsJyxcbiAgICAgICAgJyAgICAgICAgICBoZWFkZXJzLCcsXG4gICAgICAgICcgICAgICAgIH0pOycsXG4gICAgICAgICcgICAgICAgICcsXG4gICAgICAgICcgICAgICAgIGlmIChnZXRSZXNwb25zZS5vaykgeycsXG4gICAgICAgICcgICAgICAgICAgaXNVcGRhdGUgPSB0cnVlOycsXG4gICAgICAgICcgICAgICAgICAgY29uc29sZS5sb2coXFwnRm91bmQgZXhpc3Rpbmcgd29ya2Zsb3csIHdpbGwgdXBkYXRlXFwnKTsnLFxuICAgICAgICAnICAgICAgICB9JyxcbiAgICAgICAgJyAgICAgIH0gY2F0Y2ggKGVycm9yKSB7JyxcbiAgICAgICAgJyAgICAgICAgY29uc29sZS5sb2coXFwnV29ya2Zsb3cgbm90IGZvdW5kLCB3aWxsIGNyZWF0ZSBuZXcgb25lXFwnKTsnLFxuICAgICAgICAnICAgICAgfScsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcgICAgJyxcbiAgICAgICAgJyAgICBsZXQgcmVzdWx0OycsXG4gICAgICAgICcgICAgaWYgKGlzVXBkYXRlKSB7JyxcbiAgICAgICAgJyAgICAgIC8vIFVwZGF0ZSBleGlzdGluZyB3b3JrZmxvdycsXG4gICAgICAgICcgICAgICBjb25zdCB1cGRhdGVSZXNwb25zZSA9IGF3YWl0IGZldGNoKFxcXFxgXFxcXCR7dXJsfS9hcGkvdjEvd29ya2Zsb3dzL1xcXFwke3dvcmtmbG93SWR9XFxcXGAsIHsnLFxuICAgICAgICAnICAgICAgICBtZXRob2Q6IFxcJ1BVVFxcJywnLFxuICAgICAgICAnICAgICAgICBoZWFkZXJzLCcsXG4gICAgICAgICcgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHdvcmtmbG93RGF0YSksJyxcbiAgICAgICAgJyAgICAgIH0pOycsXG4gICAgICAgICcgICAgICAnLFxuICAgICAgICAnICAgICAgaWYgKCF1cGRhdGVSZXNwb25zZS5vaykgeycsXG4gICAgICAgICcgICAgICAgIHRocm93IG5ldyBFcnJvcihcXFxcYFVwZGF0ZSBmYWlsZWQ6IFxcXFwke3VwZGF0ZVJlc3BvbnNlLnN0YXR1c30gXFxcXCR7dXBkYXRlUmVzcG9uc2Uuc3RhdHVzVGV4dH1cXFxcYCk7JyxcbiAgICAgICAgJyAgICAgIH0nLFxuICAgICAgICAnICAgICAgJyxcbiAgICAgICAgJyAgICAgIHJlc3VsdCA9IGF3YWl0IHVwZGF0ZVJlc3BvbnNlLmpzb24oKTsnLFxuICAgICAgICAnICAgICAgY29uc29sZS5sb2coXFwnV29ya2Zsb3cgdXBkYXRlZCBzdWNjZXNzZnVsbHlcXCcpOycsXG4gICAgICAgICcgICAgfSBlbHNlIHsnLFxuICAgICAgICAnICAgICAgLy8gQ3JlYXRlIG5ldyB3b3JrZmxvdycsXG4gICAgICAgICcgICAgICBjb25zdCBjcmVhdGVSZXNwb25zZSA9IGF3YWl0IGZldGNoKFxcXFxgXFxcXCR7dXJsfS9hcGkvdjEvd29ya2Zsb3dzXFxcXGAsIHsnLFxuICAgICAgICAnICAgICAgICBtZXRob2Q6IFxcJ1BPU1RcXCcsJyxcbiAgICAgICAgJyAgICAgICAgaGVhZGVycywnLFxuICAgICAgICAnICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh3b3JrZmxvd0RhdGEpLCcsXG4gICAgICAgICcgICAgICB9KTsnLFxuICAgICAgICAnICAgICAgJyxcbiAgICAgICAgJyAgICAgIGlmICghY3JlYXRlUmVzcG9uc2Uub2spIHsnLFxuICAgICAgICAnICAgICAgICBsZXQgcmVzdWx0ID0ge307JyxcbiAgICAgICAgJyAgICAgICAgaWYgKGNyZWF0ZVJlc3BvbnNlLnN0YXR1cyA9PT0gNDAwKSB7JyxcbiAgICAgICAgJyAgICAgICAgICByZXN1bHQgPSBhd2FpdCBjcmVhdGVSZXNwb25zZS5qc29uKCk7ICAnLFxuICAgICAgICAnICAgICAgICB9JyxcbiAgICAgICAgJyAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxcXFxgQ3JlYXRlIGZhaWxlZDogXFxcXCR7Y3JlYXRlUmVzcG9uc2Uuc3RhdHVzfSBcXFxcJHtjcmVhdGVSZXNwb25zZS5zdGF0dXNUZXh0fSBcXFxcJHtKU09OLnN0cmluZ2lmeShyZXN1bHQpfSBcXFxcYCk7JyxcbiAgICAgICAgJyAgICAgIH0nLFxuICAgICAgICAnICAgICAgJyxcbiAgICAgICAgJyAgICAgIHJlc3VsdCA9IGF3YWl0IGNyZWF0ZVJlc3BvbnNlLmpzb24oKTsnLFxuICAgICAgICAnICAgICAgJyxcbiAgICAgICAgJyAgICAgICcsXG4gICAgICAgICcgICAgICB3b3JrZmxvd0lkID0gcmVzdWx0LmlkOycsXG4gICAgICAgICcgICAgICBjb25zb2xlLmxvZyhcXCdXb3JrZmxvdyBjcmVhdGVkIHN1Y2Nlc3NmdWxseVxcJyk7JyxcbiAgICAgICAgJyAgICB9JyxcbiAgICAgICAgJyAgICAnLFxuICAgICAgICAnICAgIC8vIEFjdGl2YXRlIHRoZSB3b3JrZmxvdycsXG4gICAgICAgICcgICAgY29uc3QgYWN0aXZhdGVSZXNwb25zZSA9IGF3YWl0IGZldGNoKFxcXFxgXFxcXCR7dXJsfS9hcGkvdjEvd29ya2Zsb3dzL1xcXFwke3dvcmtmbG93SWR9L2FjdGl2YXRlXFxcXGAsIHsnLFxuICAgICAgICAnICAgICAgbWV0aG9kOiBcXCdQT1NUXFwnLCcsXG4gICAgICAgICcgICAgICBoZWFkZXJzLCcsXG4gICAgICAgICcgICAgfSk7JyxcbiAgICAgICAgJyAgICAnLFxuICAgICAgICAnICAgIGlmICghYWN0aXZhdGVSZXNwb25zZS5vaykgeycsXG4gICAgICAgICcgICAgbGV0IHJlc3VsdCA9IHt9OycsXG4gICAgICAgICcgICAgICBpZiAoYWN0aXZhdGVSZXNwb25zZS5zdGF0dXMgPT09IDQwMCkgeycsXG4gICAgICAgICcgICAgICAgIHJlc3VsdCA9IGF3YWl0IGFjdGl2YXRlUmVzcG9uc2UuanNvbigpOycsXG4gICAgICAgICcgICAgICB9JyxcbiAgICAgICAgJyAgICAgIGNvbnNvbGUud2FybihcXFxcYEFjdGl2YXRpb24gZmFpbGVkOiBcXFxcJHthY3RpdmF0ZVJlc3BvbnNlLnN0YXR1c30gXFxcXCR7YWN0aXZhdGVSZXNwb25zZS5zdGF0dXNUZXh0fVxcXFxcXFxcIFxcXFwke0pTT04uc3RyaW5naWZ5KHJlc3VsdCl9IFxcXFxgKTsnLFxuICAgICAgICAnICAgIH0gZWxzZSB7JyxcbiAgICAgICAgJyAgICAgIGNvbnNvbGUubG9nKFxcJ1dvcmtmbG93IGFjdGl2YXRlZCBzdWNjZXNzZnVsbHlcXCcpOycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIC8vIEZldGNoIHRoZSB3b3JrZmxvdyB0byBleHRyYWN0IHdlYmhvb2sgcGF0aCcsXG4gICAgICAgICcgICAgbGV0IHdlYmhvb2tQYXRoID0gXFxcXFxcJ1xcXFxcXCc7JyxcbiAgICAgICAgJyAgICBjb25zdCBnZXRXb3JrZmxvd1Jlc3BvbnNlID0gYXdhaXQgZmV0Y2goXFxcXGBcXFxcJHt1cmx9L2FwaS92MS93b3JrZmxvd3MvXFxcXCR7d29ya2Zsb3dJZH1cXFxcYCwgeycsXG4gICAgICAgICcgICAgICBtZXRob2Q6IFxcJ0dFVFxcJywnLFxuICAgICAgICAnICAgICAgaGVhZGVycywnLFxuICAgICAgICAnICAgIH0pOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIGlmIChnZXRXb3JrZmxvd1Jlc3BvbnNlLm9rKSB7JyxcbiAgICAgICAgJyAgICAgIGNvbnN0IHdvcmtmbG93ID0gYXdhaXQgZ2V0V29ya2Zsb3dSZXNwb25zZS5qc29uKCk7JyxcbiAgICAgICAgJyAgICAgIGNvbnN0IHdlYmhvb2tOb2RlID0gKHdvcmtmbG93Lm5vZGVzIHx8IFtdKS5maW5kKG4gPT4gbi50eXBlID09PSBcXCduOG4tbm9kZXMtYmFzZS53ZWJob29rXFwnKTsnLFxuICAgICAgICAnICAgICAgaWYgKHdlYmhvb2tOb2RlICYmIHdlYmhvb2tOb2RlLnBhcmFtZXRlcnMgJiYgd2ViaG9va05vZGUucGFyYW1ldGVycy5wYXRoKSB7JyxcbiAgICAgICAgJyAgICAgICAgd2ViaG9va1BhdGggPSB3ZWJob29rTm9kZS5wYXJhbWV0ZXJzLnBhdGg7JyxcbiAgICAgICAgJyAgICAgICAgY29uc29sZS5sb2coXFxcXGBGb3VuZCB3ZWJob29rIHBhdGg6IFxcXFwke3dlYmhvb2tQYXRofVxcXFxgKTsnLFxuICAgICAgICAnICAgICAgfScsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIHJldHVybiB7JyxcbiAgICAgICAgJyAgICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogd29ya2Zsb3dJZCwnLFxuICAgICAgICAnICAgICAgRGF0YTogeyBXb3JrZmxvd0lkOiB3b3JrZmxvd0lkLCBXZWJob29rUGF0aDogd2ViaG9va1BhdGggfScsXG4gICAgICAgICcgICAgfTsnLFxuICAgICAgICAnICB9IGNhdGNoIChlcnJvcikgeycsXG4gICAgICAgICcgICAgY29uc29sZS5lcnJvcihcXCdFcnJvcjpcXCcsIGVycm9yKTsnLFxuICAgICAgICAnICAgIHJldHVybiB7JyxcbiAgICAgICAgJyAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGV2ZW50LlBoeXNpY2FsUmVzb3VyY2VJZCB8fCBcXCd3b3JrZmxvdy11cGxvYWRlclxcJywnLFxuICAgICAgICAnICAgICAgIERhdGE6IHsgRXJyb3I6IFN0cmluZyhlcnJvcikgfScsXG4gICAgICAgICcgICAgfTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJ307JyxcbiAgICAgICAgJyAgICAgIGApLCcsXG4gICAgICAgICcgICAgICBlbnZpcm9ubWVudDogeycsXG4gICAgICAgICcgICAgICAgIFNFQ1JFVF9BUk46IHByb3BzLnNlY3JldC5zZWNyZXRBcm4sJyxcbiAgICAgICAgJyAgICAgICAgQVNTRVRfQlVDS0VUOiB3b3JrZmxvd0Fzc2V0LmJ1Y2tldC5idWNrZXROYW1lLCcsXG4gICAgICAgICcgICAgICAgIEFTU0VUX0tFWTogd29ya2Zsb3dBc3NldC5zM09iamVjdEtleSwnLFxuICAgICAgICAnICAgICAgfSwnLFxuICAgICAgICAnICAgIH0pOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIHByb3BzLnNlY3JldC5ncmFudFJlYWQobGFtYmRhKTsnLFxuICAgICAgICAnICAgIHdvcmtmbG93QXNzZXQuZ3JhbnRSZWFkKGxhbWJkYSk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIC8vIEdyYW50IEtNUyBkZWNyeXB0IHBlcm1pc3Npb25zIGZvciB0aGUgc2VjcmV0JyxcbiAgICAgICAgJyAgICBpZiAocHJvcHMuc2VjcmV0LmVuY3J5cHRpb25LZXkpIHsnLFxuICAgICAgICAnICAgICAgY29uc29sZS5sb2coXFwnZW5jcnlwdGlvbiBrZXkgZm91bmQsIGdyYW50aW5nIGRlY3J5cHQgcGVybWlzc2lvbnNcXCcpOycsXG4gICAgICAgICcgICAgICBwcm9wcy5zZWNyZXQuZW5jcnlwdGlvbktleS5ncmFudERlY3J5cHQobGFtYmRhKTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB9IGVsc2UgeycsXG4gICAgICAgICcgICAgICBsYW1iZGEucm9sZT8uYWRkVG9QcmluY2lwYWxQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7JyxcbiAgICAgICAgJyAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csJyxcbiAgICAgICAgJyAgICAgICAgYWN0aW9uczogWycsXG4gICAgICAgICcgICAgICAgICAgXFwna21zOkRlY3J5cHRcXCcsJyxcbiAgICAgICAgJyAgICAgICAgICBcXCdrbXM6RGVzY3JpYmVLZXlcXCcsJyxcbiAgICAgICAgJyAgICAgICAgXSwnLFxuICAgICAgICAnICAgICAgICByZXNvdXJjZXM6IFtBcm4uZm9ybWF0KHsnLFxuICAgICAgICAnICAgICAgICAgIHNlcnZpY2U6IFxcJ2ttc1xcJywnLFxuICAgICAgICAnICAgICAgICAgIHJlc291cmNlOiBcXCdrZXlcXCcsJyxcbiAgICAgICAgJyAgICAgICAgICByZXNvdXJjZU5hbWU6IFxcJ2E2OTlmODUzLTA0NzUtNGQ0ZC1iOGFiLWJlODgxZDY2NjI0ZlxcJywnLFxuICAgICAgICAnICAgICAgICAgIHBhcnRpdGlvbjogXFwnYXdzXFwnLCcsXG4gICAgICAgICcgICAgICAgICAgcmVnaW9uOiBTdGFjay5vZih0aGlzKS5yZWdpb24sJyxcbiAgICAgICAgJyAgICAgICAgICBhY2NvdW50OiBcXCc1ODE1MTQ2NzIzNjdcXCcsJyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgICAgIH0pXSwnLFxuICAgICAgICAnICAgICAgfSkpOycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IFByb3ZpZGVyKHRoaXMsIFxcJ1Byb3ZpZGVyXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIG9uRXZlbnRIYW5kbGVyOiBsYW1iZGEsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICBjb25zdCBjdXN0b21SZXNvdXJjZSA9IG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCBcXCdSZXNvdXJjZVxcJywgeycsXG4gICAgICAgICcgICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbiwnLFxuICAgICAgICAnICAgICAgcHJvcGVydGllczogeycsXG4gICAgICAgICcgICAgICAgIFVQREFURURfVElNRTogRGF0ZS5ub3coKS50b1N0cmluZygpLCcsXG4gICAgICAgICcgICAgICB9LCcsXG4gICAgICAgICcgICAgfSk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgdGhpcy53ZWJob29rUGF0aCA9IGN1c3RvbVJlc291cmNlLmdldEF0dChcXCdXZWJob29rUGF0aFxcJyk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgLy8gT3V0cHV0IHRoZSBMYW1iZGEgZXhlY3V0aW9uIHJvbGUgQVJOIGZvciBjcm9zcy1hY2NvdW50IEtNUyBwZXJtaXNzaW9ucycsXG4gICAgICAgICcgICAgbmV3IENmbk91dHB1dCh0aGlzLCBcXCdMYW1iZGFFeGVjdXRpb25Sb2xlQXJuXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIHZhbHVlOiBsYW1iZGEucm9sZSEucm9sZUFybiwnLFxuICAgICAgICAnICAgICAgZGVzY3JpcHRpb246IFxcJ0xhbWJkYSBleGVjdXRpb24gcm9sZSBBUk4gLSBhZGQgdGhpcyB0byBLTVMga2V5IHBvbGljeSBpbiBvdGhlciBhY2NvdW50XFwnLCcsXG4gICAgICAgICcgICAgfSk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
package/lib/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export { EnvironmentConfig } from './MainFile';
5
5
  export { ApplicationEnvironmentConfig } from './Application';
6
6
  export * from './StagingDeployWorkflow';
7
7
  export * from './ProductionDeployWorkflow';
8
+ export * from './WorkflowAutoDiscover';
package/lib/index.js CHANGED
@@ -21,4 +21,5 @@ Object.defineProperty(exports, "BootcampProject", { enumerable: true, get: funct
21
21
  __exportStar(require("./CodeOwnersFile"), exports);
22
22
  __exportStar(require("./StagingDeployWorkflow"), exports);
23
23
  __exportStar(require("./ProductionDeployWorkflow"), exports);
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0M7QUFDaEMscURBQTRFO0FBQW5FLGtIQUFBLGVBQWUsT0FBQTtBQUN4QixtREFBaUM7QUFHakMsMERBQXdDO0FBQ3hDLDZEQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQmF0bWFuUHJvamVjdCc7XG5leHBvcnQgeyBCb290Y2FtcFByb2plY3QsIEJvb3RjYW1wUHJvamVjdE9wdGlvbnMgfSBmcm9tICcuL0Jvb3RjYW1wUHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL0NvZGVPd25lcnNGaWxlJztcbmV4cG9ydCB7IEVudmlyb25tZW50Q29uZmlnIH0gZnJvbSAnLi9NYWluRmlsZSc7XG5leHBvcnQgeyBBcHBsaWNhdGlvbkVudmlyb25tZW50Q29uZmlnIH0gZnJvbSAnLi9BcHBsaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL1N0YWdpbmdEZXBsb3lXb3JrZmxvdyc7XG5leHBvcnQgKiBmcm9tICcuL1Byb2R1Y3Rpb25EZXBsb3lXb3JrZmxvdyc7XG4iXX0=
24
+ __exportStar(require("./WorkflowAutoDiscover"), exports);
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrREFBZ0M7QUFDaEMscURBQTRFO0FBQW5FLGtIQUFBLGVBQWUsT0FBQTtBQUN4QixtREFBaUM7QUFHakMsMERBQXdDO0FBQ3hDLDZEQUEyQztBQUMzQyx5REFBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL0JhdG1hblByb2plY3QnO1xuZXhwb3J0IHsgQm9vdGNhbXBQcm9qZWN0LCBCb290Y2FtcFByb2plY3RPcHRpb25zIH0gZnJvbSAnLi9Cb290Y2FtcFByb2plY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9Db2RlT3duZXJzRmlsZSc7XG5leHBvcnQgeyBFbnZpcm9ubWVudENvbmZpZyB9IGZyb20gJy4vTWFpbkZpbGUnO1xuZXhwb3J0IHsgQXBwbGljYXRpb25FbnZpcm9ubWVudENvbmZpZyB9IGZyb20gJy4vQXBwbGljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9TdGFnaW5nRGVwbG95V29ya2Zsb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9Qcm9kdWN0aW9uRGVwbG95V29ya2Zsb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9Xb3JrZmxvd0F1dG9EaXNjb3Zlcic7XG4iXX0=
package/package.json CHANGED
@@ -65,7 +65,7 @@
65
65
  },
66
66
  "main": "lib/index.js",
67
67
  "license": "Apache-2.0",
68
- "version": "1.11.1",
68
+ "version": "1.12.0",
69
69
  "jest": {
70
70
  "coverageProvider": "v8",
71
71
  "testMatch": [