projen-pipelines 0.0.61 → 0.0.62

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
@@ -11,7 +11,7 @@
11
11
  "pipelines-release": "lib/release.js"
12
12
  },
13
13
  "bundled": {
14
- "standard-version": "^9.5.0"
14
+ "standard-version": "^9"
15
15
  },
16
16
  "dependencies": {
17
17
  "constructs": "^10.3.0",
@@ -88,7 +88,7 @@
88
88
  "stability": "stable"
89
89
  },
90
90
  "homepage": "https://github.com/taimos/projen-pipelines.git",
91
- "jsiiVersion": "1.98.0 (build 00b106d)",
91
+ "jsiiVersion": "5.4.18 (build db6e7f8)",
92
92
  "keywords": [
93
93
  "aws",
94
94
  "cdk"
@@ -104,7 +104,7 @@
104
104
  },
105
105
  "name": "projen-pipelines",
106
106
  "readme": {
107
- "markdown": "# Projen Pipelines\n\n[![npm version](https://badge.fury.io/js/projen-pipelines.svg)](https://www.npmjs.com/package/projen-pipelines)\n\n\nProjen Pipelines is a projen library that provides high-level abstractions for defining continuous delivery (CD) pipelines for AWS CDK applications.\nIt is specifically designed to work with the projen project configuration engine.\n\nThis library provides high-level abstractions for defining multi-environment and multi-account AWS CDK applications with ease.\nWith this library, you can handle complex deployment scenarios with less code and manage your AWS infrastructure in a more efficient and straightforward way.\n## How Projen Pipelines work\n![High level Projen Pipelines Overview](documentation/overview.png)\nUnder the hood, after you defined the pipeline and selected target engine that you want to work on, we are using code generation methods that will create - in your project - the required CI/CD pipeline.\n\nWe are considering to allow selecting multiple engines going forward - please let us know if this is a feature you would use or not!\n\n## Getting Started\n\n### Installation\n\nTo install the package, add the package `projen-pipelines` to your projects devDeps in your projen configuration file.\n\nAfter installing the package, you can import and use the constructs to define your CDK Pipelines.\n\nYou will also have to setup an IAM role that can be used by GitHub Actions. You can find a tutorial on how set this up here: [Configuring OpenID Connect in Amazon Web Services](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)\n\n### Usage\n\nYou can start using the constructs provided by Projen Pipelines in your AWS CDK applications. Here's a brief example:\n\n```typescript\nimport { awscdk } from 'projen';\nimport { GithubCDKPipeline } from 'projen-pipelines';\n\n// Define your AWS CDK TypeScript App\nconst app = new awscdk.AwsCdkTypeScriptApp({\n cdkVersion: '2.80.0',\n name: 'my-awesome-app',\n defaultReleaseBranch: 'main',\n devDeps: [\n 'projen-pipelines',\n ],\n});\n\nproject.package.addPackageResolutions('projen');\n\n// Create the pipeline\nnew GithubCDKPipeline(app, {\n stackPrefix: 'MyApp',\n iamRoleArns: {\n default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',\n },\n pkgNamespace: '@company-assemblies',\n useGithubPackagesForAssembly: true,\n stages: [\n {\n name: 'dev',\n env: { account: '123456789012', region: 'eu-central-1' },\n }, {\n name: 'prod',\n manualApproval: true,\n env: {account: '123456789012', region: 'eu-central-1' },\n }],\n});\n```\n\nAfter running projen (`npx projen`) a new file called `src/app.ts` will be created and contain a specialized CDK App class for your project.\n\nYou can then use this in your `main.ts` to configure your deployment.\n\n```typescript\nimport { PipelineApp } from './app';\nimport { BackendStack } from './stack';\n\nconst app = new PipelineApp({\n provideDevStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api-dev',\n myConfigSetting: 'value-for-dev',\n });\n },\n provideProdStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api',\n myConfigSetting: 'value-for-prod',\n });\n },\n providePersonalStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: `api-${props.stageName}`,\n myConfigSetting: 'value-for-personal-stage',\n });\n },\n});\n\napp.synth();\n```\n\n### Setting Up Trust Relationships Between Accounts\n\nWhen planning to manage multiple staging environments, you will need to establish trust relationships. This process centralizes deployment control, improving operational efficiency and security by consolidating deployment management through a singular, monitored channel. Here is a simplified diagram for the setup:\n\n![Trust relationship](documentation/trust.svg)\n\n#### Step 1: Bootstrapping Each Account\n\nBootstrapping initializes the AWS CDK environment in each account. It prepares the account to work with AWS CDK apps deployed from other accounts. Use the `cdk bootstrap` command for this purpose. Replace `<deployment_account_id>` with the actual AWS account ID of your deployment account.\n\nYou can use the [CloudShell](https://aws.amazon.com/cloudshell/) to bootstrap each staging account:\n\n```bash\ncdk bootstrap --trust <deployment_account_id> --cloudformation-execution-policies \"arn:aws:iam::aws:policy/AdministratorAccess\"\n```\n\n**Note:**\n\nWhile `AdministratorAccess` grants full access to all AWS services and resources, it's not recommended for production environments due to security risks. Instead, create custom IAM policies that grant only the necessary permissions required for deployment operations.\n\n### Deployment\n\nThe `<Engine>CDKPipeline` class creates and adds several tasks to the projen project that then can be used in your pipeline to deploy your application to AWS.\n\nHere's a brief description of each one:\n\n1. **deploy:personal** - This task deploys the application's personal stage, which is a distinct, isolated deployment of the application. The personal stage is intended for personal use, such as testing and development.\n\n2. **watch:personal** - This task deploys the personal stage of the application in watch mode. In this mode, the AWS CDK monitors your application source files for changes, automatically re-synthesizing and deploying when it detects any changes.\n\n3. **diff:personal** - This task compares the deployed personal stage with the current state of the application code. It's used to understand what changes would be made if the application were deployed.\n\n4. **destroy:personal** - This task destroys the resources created for the personal stage of the application.\n\n5. **deploy:feature** - This task deploys the application's feature stage. The feature stage is used for new features testing before these are merged into the main branch.\n\n6. **diff:feature** - This task is similar to `diff:personal`, but for the feature stage.\n\n7. **destroy:feature** - This task destroys the resources created for the feature stage of the application.\n\n8. **deploy:<stageName>** - This task deploys a specific stage of the application (like 'dev' or 'prod').\n\n9. **diff:<stageName>** - This task compares the specified application stage with the current state of the application code.\n\n10. **publish:assets** - This task publishes the CDK assets to all accounts. This is useful when the CDK application uses assets like Docker images or files from the S3 bucket.\n\n11. **bump** - This task bumps the version based on the latest git tag and pushes the updated tag to the git repository.\n\n12. **release:push-assembly** - This task creates a manifest, bumps the version without creating a git tag, and publishes the cloud assembly to your registry.\n\nRemember that these tasks are created and managed automatically by the `CDKPipeline` class. You can run these tasks using the `npx projen TASK_NAME` command.\n\n## Contributing\n### By raising feature requests or issues\nUse the Github integrated \"[Issues](https://github.com/taimos/projen-pipelines/issues/new)\" view to create an item that you would love to have added to our open source project.\n\n***No request is too big or too small*** - get your thoughts created and we'll get back to you if we have questions!\n\n\n### By committing code\n\nWe welcome all contributions to Projen Pipelines! Here's how you can get started:\n\n1. **Fork the Repository**: Click the 'Fork' button at the top right of this page to duplicate this repository in your GitHub account.\n\n2. **Clone your Fork**: Clone the forked repository to your local machine.\n\n```bash\ngit clone https://github.com/<your_username>/projen-pipelines.git\n```\n\n3. **Create a Branch**: To keep your work organized, create a branch for your contribution.\n\n```bash\ngit checkout -b my-branch\n```\n\n4. **Make your Changes**: Make your changes, additions, or fixes to the codebase. Remember to follow the existing code style.\n\n5. **Test your Changes**: Before committing your changes, make sure to test them to ensure they work as expected and do not introduce bugs.\n\n6. **Commit your Changes**: Commit your changes with a descriptive commit message using conventional commit messages.\n\n```bash\ngit commit -m \"feat: Your descriptive commit message\"\n```\n\n7. **Push to your Fork**: Push your commits to the branch in your forked repository.\n\n```bash\ngit push origin my-branch\n```\n\n8. **Submit a Pull Request**: Once your changes are ready to be reviewed, create a pull request from your forked repository's branch into the `main` branch of this repository.\n\nYour pull request will be reviewed and hopefully merged quickly. Thanks for contributing!\n"
107
+ "markdown": "# Projen Pipelines\n\n[![npm version](https://badge.fury.io/js/projen-pipelines.svg)](https://www.npmjs.com/package/projen-pipelines)\n\n\nProjen Pipelines is a projen library that provides high-level abstractions for defining continuous delivery (CD) pipelines for AWS CDK applications.\nIt is specifically designed to work with the projen project configuration engine.\n\nThis library provides high-level abstractions for defining multi-environment and multi-account AWS CDK applications with ease.\nWith this library, you can handle complex deployment scenarios with less code and manage your AWS infrastructure in a more efficient and straightforward way.\n## How Projen Pipelines work\n![High level Projen Pipelines Overview](documentation/overview.png)\nUnder the hood, after you defined the pipeline and selected target engine that you want to work on, we are using code generation methods that will create - in your project - the required CI/CD pipeline.\n\nWe are considering to allow selecting multiple engines going forward - please let us know if this is a feature you would use or not!\n\n## Getting Started\n\n### Installation\n\nTo install the package, add the package `projen-pipelines` to your projects devDeps in your projen configuration file.\n\nAfter installing the package, you can import and use the constructs to define your CDK Pipelines.\n\nYou will also have to setup an IAM role that can be used by GitHub Actions. You can find a tutorial on how set this up here: [Configuring OpenID Connect in Amazon Web Services](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)\n\n### Usage\n\nYou can start using the constructs provided by Projen Pipelines in your AWS CDK applications. Here's a brief example:\n\n```typescript\nimport { awscdk } from 'projen';\nimport { GithubCDKPipeline } from 'projen-pipelines';\n\n// Define your AWS CDK TypeScript App\nconst app = new awscdk.AwsCdkTypeScriptApp({\n cdkVersion: '2.80.0',\n name: 'my-awesome-app',\n defaultReleaseBranch: 'main',\n devDeps: [\n 'projen-pipelines',\n ],\n});\n\nproject.package.addPackageResolutions('projen');\n\n// Create the pipeline\nnew GithubCDKPipeline(app, {\n stackPrefix: 'MyApp',\n iamRoleArns: {\n default: 'arn:aws:iam::123456789012:role/GithubDeploymentRole',\n },\n pkgNamespace: '@company-assemblies',\n useGithubPackagesForAssembly: true,\n stages: [\n {\n name: 'dev',\n env: { account: '123456789012', region: 'eu-central-1' },\n }, {\n name: 'prod',\n manualApproval: true,\n env: {account: '123456789012', region: 'eu-central-1' },\n }],\n});\n```\n\nAfter running projen (`npx projen`) a new file called `src/app.ts` will be created and contain a specialized CDK App class for your project.\n\nYou can then use this in your `main.ts` to configure your deployment.\n\n```typescript\nimport { PipelineApp } from './app';\nimport { BackendStack } from './stack';\n\nconst app = new PipelineApp({\n provideDevStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api-dev',\n myConfigSetting: 'value-for-dev',\n });\n },\n provideProdStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: 'api',\n myConfigSetting: 'value-for-prod',\n });\n },\n providePersonalStack: (scope, id, props) => {\n return new BackendStack(scope, id, {\n ...props,\n apiHostname: `api-${props.stageName}`,\n myConfigSetting: 'value-for-personal-stage',\n });\n },\n});\n\napp.synth();\n```\n\n### Setting Up Trust Relationships Between Accounts\n\nWhen planning to manage multiple staging environments, you will need to establish trust relationships. This process centralizes deployment control, improving operational efficiency and security by consolidating deployment management through a singular, monitored channel. Here is a simplified diagram for the setup:\n\n![Trust relationship](documentation/trust.svg)\n\n#### Step 1: Bootstrapping Each Account\n\nBootstrapping initializes the AWS CDK environment in each account. It prepares the account to work with AWS CDK apps deployed from other accounts. Use the `cdk bootstrap` command for this purpose. Replace `<deployment_account_id>` with the actual AWS account ID of your deployment account.\n\nYou can use the [CloudShell](https://aws.amazon.com/cloudshell/) to bootstrap each staging account:\n\n```bash\ncdk bootstrap --trust <deployment_account_id> --cloudformation-execution-policies \"arn:aws:iam::aws:policy/AdministratorAccess\"\n```\n\n**Note:**\n\nWhile `AdministratorAccess` grants full access to all AWS services and resources, it's not recommended for production environments due to security risks. Instead, create custom IAM policies that grant only the necessary permissions required for deployment operations.\n\n### Deployment\n\nThe `<Engine>CDKPipeline` class creates and adds several tasks to the projen project that then can be used in your pipeline to deploy your application to AWS.\n\nHere's a brief description of each one:\n\n1. **deploy:personal** - This task deploys the application's personal stage, which is a distinct, isolated deployment of the application. The personal stage is intended for personal use, such as testing and development.\n\n2. **watch:personal** - This task deploys the personal stage of the application in watch mode. In this mode, the AWS CDK monitors your application source files for changes, automatically re-synthesizing and deploying when it detects any changes.\n\n3. **diff:personal** - This task compares the deployed personal stage with the current state of the application code. It's used to understand what changes would be made if the application were deployed.\n\n4. **destroy:personal** - This task destroys the resources created for the personal stage of the application.\n\n5. **deploy:feature** - This task deploys the application's feature stage. The feature stage is used for new features testing before these are merged into the main branch.\n\n6. **diff:feature** - This task is similar to `diff:personal`, but for the feature stage.\n\n7. **destroy:feature** - This task destroys the resources created for the feature stage of the application.\n\n8. **deploy:<stageName>** - This task deploys a specific stage of the application (like 'dev' or 'prod').\n\n9. **diff:<stageName>** - This task compares the specified application stage with the current state of the application code.\n\n10. **publish:assets** - This task publishes the CDK assets to all accounts. This is useful when the CDK application uses assets like Docker images or files from the S3 bucket.\n\n11. **bump** - This task bumps the version based on the latest git tag and pushes the updated tag to the git repository.\n\n12. **release:push-assembly** - This task creates a manifest, bumps the version without creating a git tag, and publishes the cloud assembly to your registry.\n\nRemember that these tasks are created and managed automatically by the `CDKPipeline` class. You can run these tasks using the `npx projen TASK_NAME` command.\n\n## Contributing\n### By raising feature requests or issues\nUse the Github integrated \"[Issues](https://github.com/taimos/projen-pipelines/issues/new)\" view to create an item that you would love to have added to our open source project.\n\n***No request is too big or too small*** - get your thoughts created and we'll get back to you if we have questions!\n\n\n### By committing code\n\nWe welcome all contributions to Projen Pipelines! Here's how you can get started:\n\n1. **Fork the Repository**: Click the 'Fork' button at the top right of this page to duplicate this repository in your GitHub account.\n\n2. **Clone your Fork**: Clone the forked repository to your local machine.\n\n```bash\ngit clone https://github.com/<your_username>/projen-pipelines.git\n```\n\n3. **Create a Branch**: To keep your work organized, create a branch for your contribution.\n\n```bash\ngit checkout -b my-branch\n```\n\n4. **Make your Changes**: Make your changes, additions, or fixes to the codebase. Remember to follow the existing code style.\n\n5. **Test your Changes**: Before committing your changes, make sure to test them to ensure they work as expected and do not introduce bugs.\n\n6. **Commit your Changes**: Commit your changes with a descriptive commit message using conventional commit messages.\n\n```bash\ngit commit -m \"feat: Your descriptive commit message\"\n```\n\n7. **Push to your Fork**: Push your commits to the branch in your forked repository.\n\n```bash\ngit push origin my-branch\n```\n\n8. **Submit a Pull Request**: Once your changes are ready to be reviewed, create a pull request from your forked repository's branch into the `main` branch of this repository.\n\nYour pull request will be reviewed and hopefully merged quickly. Thanks for contributing!\n\n## Known issues\n\n### Environment variable not recognized during `npx projen`\n\nWhen attempting to run `npx projen`, users may encounter an error related to environment variable substitution within configuration files. Specifically, the `${GITHUB_TOKEN}` placeholder fails to be replaced.\n\n#### Solution\n\nTo resolve this issue, prefix the `npx projen` command with the `GITHUB_TOKEN=` environment variable:\n\n```bash\nGITHUB_TOKEN= npx projen\n```\n"
108
108
  },
109
109
  "repository": {
110
110
  "type": "git",
@@ -202,7 +202,7 @@
202
202
  "kind": "interface",
203
203
  "locationInModule": {
204
204
  "filename": "src/steps/step.ts",
205
- "line": 35
205
+ "line": 41
206
206
  },
207
207
  "name": "BashStepConfig",
208
208
  "properties": [
@@ -215,7 +215,7 @@
215
215
  "immutable": true,
216
216
  "locationInModule": {
217
217
  "filename": "src/steps/step.ts",
218
- "line": 38
218
+ "line": 44
219
219
  },
220
220
  "name": "commands",
221
221
  "type": {
@@ -1029,7 +1029,7 @@
1029
1029
  },
1030
1030
  "locationInModule": {
1031
1031
  "filename": "src/awscdk/github.ts",
1032
- "line": 173
1032
+ "line": 176
1033
1033
  },
1034
1034
  "name": "createAssetUpload"
1035
1035
  },
@@ -1040,7 +1040,7 @@
1040
1040
  },
1041
1041
  "locationInModule": {
1042
1042
  "filename": "src/awscdk/github.ts",
1043
- "line": 228
1043
+ "line": 232
1044
1044
  },
1045
1045
  "name": "createDeployment",
1046
1046
  "parameters": [
@@ -1287,10 +1287,31 @@
1287
1287
  "kind": "interface",
1288
1288
  "locationInModule": {
1289
1289
  "filename": "src/steps/step.ts",
1290
- "line": 23
1290
+ "line": 26
1291
1291
  },
1292
1292
  "name": "GithubStepConfig",
1293
1293
  "properties": [
1294
+ {
1295
+ "abstract": true,
1296
+ "docs": {
1297
+ "stability": "stable",
1298
+ "summary": "Additional environment variables to set for this step."
1299
+ },
1300
+ "immutable": true,
1301
+ "locationInModule": {
1302
+ "filename": "src/steps/step.ts",
1303
+ "line": 35
1304
+ },
1305
+ "name": "env",
1306
+ "type": {
1307
+ "collection": {
1308
+ "elementtype": {
1309
+ "primitive": "string"
1310
+ },
1311
+ "kind": "map"
1312
+ }
1313
+ }
1314
+ },
1294
1315
  {
1295
1316
  "abstract": true,
1296
1317
  "docs": {
@@ -1300,7 +1321,7 @@
1300
1321
  "immutable": true,
1301
1322
  "locationInModule": {
1302
1323
  "filename": "src/steps/step.ts",
1303
- "line": 26
1324
+ "line": 29
1304
1325
  },
1305
1326
  "name": "needs",
1306
1327
  "type": {
@@ -1321,7 +1342,7 @@
1321
1342
  "immutable": true,
1322
1343
  "locationInModule": {
1323
1344
  "filename": "src/steps/step.ts",
1324
- "line": 29
1345
+ "line": 32
1325
1346
  },
1326
1347
  "name": "steps",
1327
1348
  "type": {
@@ -1389,7 +1410,7 @@
1389
1410
  },
1390
1411
  "locationInModule": {
1391
1412
  "filename": "src/awscdk/gitlab.ts",
1392
- "line": 211
1413
+ "line": 216
1393
1414
  },
1394
1415
  "name": "createAssetUpload",
1395
1416
  "protected": true
@@ -1402,7 +1423,7 @@
1402
1423
  },
1403
1424
  "locationInModule": {
1404
1425
  "filename": "src/awscdk/gitlab.ts",
1405
- "line": 242
1426
+ "line": 250
1406
1427
  },
1407
1428
  "name": "createDeployment",
1408
1429
  "parameters": [
@@ -1437,7 +1458,7 @@
1437
1458
  },
1438
1459
  "locationInModule": {
1439
1460
  "filename": "src/awscdk/gitlab.ts",
1440
- "line": 294
1461
+ "line": 307
1441
1462
  },
1442
1463
  "name": "engineType",
1443
1464
  "overrides": "projen-pipelines.CDKPipeline",
@@ -1873,6 +1894,27 @@
1873
1894
  }
1874
1895
  }
1875
1896
  },
1897
+ {
1898
+ "abstract": true,
1899
+ "docs": {
1900
+ "stability": "stable",
1901
+ "summary": "Additional environment variables to set for this step."
1902
+ },
1903
+ "immutable": true,
1904
+ "locationInModule": {
1905
+ "filename": "src/steps/step.ts",
1906
+ "line": 20
1907
+ },
1908
+ "name": "env",
1909
+ "type": {
1910
+ "collection": {
1911
+ "elementtype": {
1912
+ "primitive": "string"
1913
+ },
1914
+ "kind": "map"
1915
+ }
1916
+ }
1917
+ },
1876
1918
  {
1877
1919
  "abstract": true,
1878
1920
  "docs": {
@@ -1972,7 +2014,7 @@
1972
2014
  },
1973
2015
  "locationInModule": {
1974
2016
  "filename": "src/steps/step.ts",
1975
- "line": 50
2017
+ "line": 56
1976
2018
  },
1977
2019
  "parameters": [
1978
2020
  {
@@ -1989,7 +2031,7 @@
1989
2031
  "kind": "class",
1990
2032
  "locationInModule": {
1991
2033
  "filename": "src/steps/step.ts",
1992
- "line": 44
2034
+ "line": 50
1993
2035
  },
1994
2036
  "methods": [
1995
2037
  {
@@ -2001,7 +2043,7 @@
2001
2043
  },
2002
2044
  "locationInModule": {
2003
2045
  "filename": "src/steps/step.ts",
2004
- "line": 67
2046
+ "line": 73
2005
2047
  },
2006
2048
  "name": "toBash",
2007
2049
  "returns": {
@@ -2019,7 +2061,7 @@
2019
2061
  },
2020
2062
  "locationInModule": {
2021
2063
  "filename": "src/steps/step.ts",
2022
- "line": 62
2064
+ "line": 68
2023
2065
  },
2024
2066
  "name": "toGithub",
2025
2067
  "returns": {
@@ -2037,7 +2079,7 @@
2037
2079
  },
2038
2080
  "locationInModule": {
2039
2081
  "filename": "src/steps/step.ts",
2040
- "line": 57
2082
+ "line": 63
2041
2083
  },
2042
2084
  "name": "toGitlab",
2043
2085
  "returns": {
@@ -2056,7 +2098,7 @@
2056
2098
  },
2057
2099
  "locationInModule": {
2058
2100
  "filename": "src/steps/step.ts",
2059
- "line": 50
2101
+ "line": 56
2060
2102
  },
2061
2103
  "name": "project",
2062
2104
  "protected": true,
@@ -2082,7 +2124,7 @@
2082
2124
  },
2083
2125
  "locationInModule": {
2084
2126
  "filename": "src/steps/step.ts",
2085
- "line": 80
2127
+ "line": 86
2086
2128
  },
2087
2129
  "parameters": [
2088
2130
  {
@@ -2113,7 +2155,7 @@
2113
2155
  "kind": "class",
2114
2156
  "locationInModule": {
2115
2157
  "filename": "src/steps/step.ts",
2116
- "line": 73
2158
+ "line": 79
2117
2159
  },
2118
2160
  "methods": [
2119
2161
  {
@@ -2123,7 +2165,7 @@
2123
2165
  },
2124
2166
  "locationInModule": {
2125
2167
  "filename": "src/steps/step.ts",
2126
- "line": 98
2168
+ "line": 105
2127
2169
  },
2128
2170
  "name": "toBash",
2129
2171
  "overrides": "projen-pipelines.PipelineStep",
@@ -2140,7 +2182,7 @@
2140
2182
  },
2141
2183
  "locationInModule": {
2142
2184
  "filename": "src/steps/step.ts",
2143
- "line": 107
2185
+ "line": 114
2144
2186
  },
2145
2187
  "name": "toGithub",
2146
2188
  "overrides": "projen-pipelines.PipelineStep",
@@ -2157,7 +2199,7 @@
2157
2199
  },
2158
2200
  "locationInModule": {
2159
2201
  "filename": "src/steps/step.ts",
2160
- "line": 87
2202
+ "line": 93
2161
2203
  },
2162
2204
  "name": "toGitlab",
2163
2205
  "overrides": "projen-pipelines.PipelineStep",
@@ -2177,7 +2219,7 @@
2177
2219
  },
2178
2220
  "locationInModule": {
2179
2221
  "filename": "src/steps/step.ts",
2180
- "line": 80
2222
+ "line": 86
2181
2223
  },
2182
2224
  "name": "commands",
2183
2225
  "protected": true,
@@ -2226,6 +2268,6 @@
2226
2268
  "symbolId": "src/awscdk/base:StageOptions"
2227
2269
  }
2228
2270
  },
2229
- "version": "0.0.61",
2230
- "fingerprint": "5VhJlbfD8rWkC8XX001JgTcBR5OpHDa0kQTbamH1Gco="
2271
+ "version": "0.0.62",
2272
+ "fingerprint": "VwACj32CEt2XzQA/vlHcQSnW1fwm+Q8prZUX1/SPEc4="
2231
2273
  }
package/API.md CHANGED
@@ -1677,11 +1677,24 @@ const githubStepConfig: GithubStepConfig = { ... }
1677
1677
 
1678
1678
  | **Name** | **Type** | **Description** |
1679
1679
  | --- | --- | --- |
1680
+ | <code><a href="#projen-pipelines.GithubStepConfig.property.env">env</a></code> | <code>{[ key: string ]: string}</code> | Additional environment variables to set for this step. |
1680
1681
  | <code><a href="#projen-pipelines.GithubStepConfig.property.needs">needs</a></code> | <code>string[]</code> | Dependencies which need to be completed before this step. |
1681
1682
  | <code><a href="#projen-pipelines.GithubStepConfig.property.steps">steps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Commands wrapped as GitHub Action job steps. |
1682
1683
 
1683
1684
  ---
1684
1685
 
1686
+ ##### `env`<sup>Required</sup> <a name="env" id="projen-pipelines.GithubStepConfig.property.env"></a>
1687
+
1688
+ ```typescript
1689
+ public readonly env: {[ key: string ]: string};
1690
+ ```
1691
+
1692
+ - *Type:* {[ key: string ]: string}
1693
+
1694
+ Additional environment variables to set for this step.
1695
+
1696
+ ---
1697
+
1685
1698
  ##### `needs`<sup>Required</sup> <a name="needs" id="projen-pipelines.GithubStepConfig.property.needs"></a>
1686
1699
 
1687
1700
  ```typescript
@@ -2113,6 +2126,7 @@ const gitlabStepConfig: GitlabStepConfig = { ... }
2113
2126
  | **Name** | **Type** | **Description** |
2114
2127
  | --- | --- | --- |
2115
2128
  | <code><a href="#projen-pipelines.GitlabStepConfig.property.commands">commands</a></code> | <code>string[]</code> | Shell commands to execute in this step. |
2129
+ | <code><a href="#projen-pipelines.GitlabStepConfig.property.env">env</a></code> | <code>{[ key: string ]: string}</code> | Additional environment variables to set for this step. |
2116
2130
  | <code><a href="#projen-pipelines.GitlabStepConfig.property.extensions">extensions</a></code> | <code>string[]</code> | List of job extensions related to the step. |
2117
2131
  | <code><a href="#projen-pipelines.GitlabStepConfig.property.needs">needs</a></code> | <code>projen.gitlab.Need[]</code> | Dependencies which need to be completed before this step. |
2118
2132
 
@@ -2130,6 +2144,18 @@ Shell commands to execute in this step.
2130
2144
 
2131
2145
  ---
2132
2146
 
2147
+ ##### `env`<sup>Required</sup> <a name="env" id="projen-pipelines.GitlabStepConfig.property.env"></a>
2148
+
2149
+ ```typescript
2150
+ public readonly env: {[ key: string ]: string};
2151
+ ```
2152
+
2153
+ - *Type:* {[ key: string ]: string}
2154
+
2155
+ Additional environment variables to set for this step.
2156
+
2157
+ ---
2158
+
2133
2159
  ##### `extensions`<sup>Required</sup> <a name="extensions" id="projen-pipelines.GitlabStepConfig.property.extensions"></a>
2134
2160
 
2135
2161
  ```typescript
package/README.md CHANGED
@@ -195,3 +195,17 @@ git push origin my-branch
195
195
  8. **Submit a Pull Request**: Once your changes are ready to be reviewed, create a pull request from your forked repository's branch into the `main` branch of this repository.
196
196
 
197
197
  Your pull request will be reviewed and hopefully merged quickly. Thanks for contributing!
198
+
199
+ ## Known issues
200
+
201
+ ### Environment variable not recognized during `npx projen`
202
+
203
+ When attempting to run `npx projen`, users may encounter an error related to environment variable substitution within configuration files. Specifically, the `${GITHUB_TOKEN}` placeholder fails to be replaced.
204
+
205
+ #### Solution
206
+
207
+ To resolve this issue, prefix the `npx projen` command with the `GITHUB_TOKEN=` environment variable:
208
+
209
+ ```bash
210
+ GITHUB_TOKEN= npx projen
211
+ ```
@@ -265,5 +265,5 @@ ${appCode}
265
265
  }
266
266
  exports.CDKPipeline = CDKPipeline;
267
267
  _a = JSII_RTTI_SYMBOL_1;
268
- CDKPipeline[_a] = { fqn: "projen-pipelines.CDKPipeline", version: "0.0.61" };
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFxRDtBQUNyRCw4Q0FBa0Q7QUFDbEQsc0RBQTJEO0FBMEczRDs7O0dBR0c7QUFDSCxNQUFzQixXQUFZLFNBQVEsa0JBQVM7SUFLakQsWUFBc0IsR0FBK0IsRUFBVSxXQUErQjtRQUM1RixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEUyxRQUFHLEdBQUgsR0FBRyxDQUE0QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUc1RiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQ2pCLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsWUFBWSxDQUNiLENBQUM7UUFDRixvQkFBb0I7UUFDcEIsS0FBSztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsQ0FBQywrQ0FBK0M7UUFFbkcsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLDZEQUE2RDtRQUM3RCxJ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bXBvbmVudCwgVGV4dEZpbGUsIGF3c2NkayB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBQUk9KRU5fTUFSS0VSIH0gZnJvbSAncHJvamVuL2xpYi9jb21tb24nO1xuaW1wb3J0IHsgTm9kZVBhY2thZ2VNYW5hZ2VyIH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcbmltcG9ydCB7IFBpcGVsaW5lU3RlcCB9IGZyb20gJy4uL3N0ZXBzJztcblxuLyoqXG4gKiBUaGUgRW52aXJvbm1lbnQgaW50ZXJmYWNlIGlzIGRlc2lnbmVkIHRvIGhvbGQgQVdTIHJlbGF0ZWQgaW5mb3JtYXRpb25cbiAqIGZvciBhIHNwZWNpZmljIGRlcGxveW1lbnQgZW52aXJvbm1lbnQgd2l0aGluIHlvdXIgaW5mcmFzdHJ1Y3R1cmUuXG4gKiBFYWNoIGVudmlyb25tZW50IHJlcXVpcmVzIGEgc3BlY2lmaWMgYWNjb3VudCBhbmQgcmVnaW9uIGZvciBpdHMgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVudmlyb25tZW50IHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgQWNjb3VudCBJRCBhc3NvY2lhdGVkIHdpdGggdGhlIGVudmlyb25tZW50LiBJdCdzIGltcG9ydGFudCBiZWNhdXNlXG4gICAqIGRpZmZlcmVudCBzZXJ2aWNlcyBvciBmZWF0dXJlcyBjb3VsZCBoYXZlIGRpc3RpbmN0IHBlcm1pc3Npb25zIGFuZCBzZXR0aW5nc1xuICAgKiBpbiBkaWZmZXJlbnQgYWNjb3VudHMuXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBV1MgUmVnaW9uIGZvciB0aGUgZW52aXJvbm1lbnQuIFRoaXMgZGV0ZXJtaW5lcyB3aGVyZSB5b3VyIHJlc291cmNlc1xuICAgKiBhcmUgY3JlYXRlZCBhbmQgd2hlcmUgeW91ciBhcHBsaWNhdGlvbiB3aWxsIHJ1bi4gSXQgY2FuIGFmZmVjdCBsYXRlbmN5LFxuICAgKiBhdmFpbGFiaWxpdHksIGFuZCBwcmljaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG59XG5cbi8vIC8qKlxuLy8gICogRGVzY3JpYmVzIHRoZSB0eXBlIG9mIHBpcGVsaW5lIHRoYXQgd2lsbCBiZSBjcmVhdGVkXG4vLyAgKi9cbi8vIGV4cG9ydCBlbnVtIERlcGxveW1lbnRUeXBlIHtcbi8vICAgLyoqIERlcGxveSBldmVyeSBjb21taXQgYXMgZmFyIGFzIHBvc3NpYmxlOyBob3BlZnVsbHkgaW50byBwcm9kdWN0aW9uICovXG4vLyAgIENPTlRJTlVPVVNfREVQTE9ZTUVOVCxcbi8vICAgLyoqIEJ1aWxkIGV2ZXJ5IGNvbW1pdCBhbmQgcHJlcGFyZSBhbGwgYXNzZXRzIGZvciBhIGxhdGVyIGRlcGxveW1lbnQgKi9cbi8vICAgQ09OVElOVU9VU19ERUxJVkVSWSxcbi8vIH1cblxuZXhwb3J0IGludGVyZmFjZSBEZXBsb3ltZW50U3RhZ2Uge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVudjogRW52aXJvbm1lbnQ7XG4gIHJlYWRvbmx5IG1hbnVhbEFwcHJvdmFsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFnZU9wdGlvbnMge1xuICByZWFkb25seSBlbnY6IEVudmlyb25tZW50O1xufVxuXG4vKipcbiAqIFRoZSBDREtQaXBlbGluZU9wdGlvbnMgaW50ZXJmYWNlIGlzIGRlc2lnbmVkIHRvIHByb3ZpZGUgY29uZmlndXJhdGlvblxuICogb3B0aW9ucyBmb3IgYSBDREsgKENsb3VkIERldmVsb3BtZW50IEtpdCkgcGlwZWxpbmUuIEl0IGFsbG93cyB0aGUgZGVmaW5pdGlvblxuICogb2Ygc2V0dGluZ3Mgc3VjaCBhcyB0aGUgc3RhY2sgcHJlZml4IGFuZCBwYWNrYWdlIG5hbWVzcGFjZSB0byBiZSB1c2VkIGluIHRoZVxuICogQVdTIHN0YWNrLCBhbG9uZyB3aXRoIHRoZSBlbnZpcm9ubWVudHMgY29uZmlndXJhdGlvbiB0byBiZSB1c2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENES1BpcGVsaW5lT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBicmFuY2ggdG8gZGVwbG95IGZyb21cbiAgICogQGRlZmF1bHQgbWFpblxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhpcyBmaWVsZCBpcyB1c2VkIHRvIGRlZmluZSBhIHByZWZpeCBmb3IgdGhlIEFXUyBTdGFjayByZXNvdXJjZXMgY3JlYXRlZFxuICAgKiBkdXJpbmcgdGhlIHBpcGVsaW5lJ3Mgb3BlcmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBwcm9qZWN0IG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrUHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQgdG8gdHJ1ZSBhbGwgQ0RLIGFjdGlvbnMgd2lsbCBhbHNvIGluY2x1ZGUgPHN0YWNrTmFtZT4vKiB0byBkZXBsb3kvZGlmZi9kZXN0cm95IHN1YiBzdGFja3Mgb2YgdGhlIG1haW4gc3RhY2suXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gZGVwbG95IENEayBhcHBsaWNhdGlvbnMgY29udGFpbmluZyBtdWx0aXBsZSBzdGFja3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkZXBsb3lTdWJTdGFja3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGZpZWxkIGRldGVybWluZXMgdGhlIE5QTSBuYW1lc3BhY2UgdG8gYmUgdXNlZCB3aGVuIHBhY2thZ2luZyBDREsgY2xvdWRcbiAgICogYXNzZW1ibGllcy4gQSBuYW1lc3BhY2UgaGVscHMgZ3JvdXAgcmVsYXRlZCByZXNvdXJjZXMgdG9nZXRoZXIsIHByb3ZpZGluZ1xuICAgKiBiZXR0ZXIgb3JnYW5pemF0aW9uIGFuZCBlYXNlIG9mIG1hbmFnZW1lbnQuXG4gICAqL1xuICByZWFkb25seSBwa2dOYW1lc3BhY2U6IHN0cmluZztcblxuICByZWFkb25seSBzdGFnZXM6IERlcGxveW1lbnRTdGFnZVtdO1xuXG4gIHJlYWRvbmx5IHBlcnNvbmFsU3RhZ2U/OiBTdGFnZU9wdGlvbnM7XG5cbiAgcmVhZG9ubHkgZmVhdHVyZVN0YWdlcz86IFN0YWdlT3B0aW9ucztcblxuICAvLyAvKipcbiAgLy8gICogVGhpcyBmaWVsZCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgcGlwZWxpbmUgdG8gY3JlYXRlLiBJZiBzZXQgdG8gQ09OVElOVU9VU19ERVBMT1lNRU5ULFxuICAvLyAgKiBldmVyeSBjb21taXQgaXMgZGVwbG95ZWQgYXMgZmFyIGFzIHBvc3NpYmxlLCBob3BlZnVsbHkgaW50byBwcm9kdWN0aW9uLiBJZiBzZXQgdG9cbiAgLy8gICogQ09OVElOVU9VU19ERUxJVkVSWSwgZXZlcnkgY29tbWl0IGlzIGJ1aWx0IGFuZCBhbGwgYXNzZXRzIGFyZSBwcmVwYXJlZCBmb3IgYSBsYXRlciBkZXBsb3ltZW50LlxuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCBDT05USU5VT1VTX0RFTElWRVJZXG4gIC8vICAqL1xuICAvLyByZWFkb25seSBkZXBsb3ltZW50VHlwZT86IERlcGxveW1lbnRUeXBlO1xuXG4gIHJlYWRvbmx5IHByZUluc3RhbGxDb21tYW5kcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBwcmVTeW50aENvbW1hbmRzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IHBvc3RTeW50aENvbW1hbmRzPzogc3RyaW5nW107XG5cbiAgcmVhZG9ubHkgcHJlSW5zdGFsbFN0ZXBzPzogUGlwZWxpbmVTdGVwW107XG4gIHJlYWRvbmx5IHByZVN5bnRoU3RlcHM/OiBQaXBlbGluZVN0ZXBbXTtcbiAgcmVhZG9ubHkgcG9zdFN5bnRoU3RlcHM/OiBQaXBlbGluZVN0ZXBbXTtcbn1cblxuLyoqXG4gKiBUaGUgQ0RLUGlwZWxpbmUgY2xhc3MgZXh0ZW5kcyB0aGUgQ29tcG9uZW50IGNsYXNzIGFuZCBzZXRzIHVwIHRoZSBuZWNlc3NhcnkgY29uZmlndXJhdGlvbiBmb3IgZGVwbG95aW5nIEFXUyBDREsgKENsb3VkIERldmVsb3BtZW50IEtpdCkgYXBwbGljYXRpb25zIGFjcm9zcyBtdWx0aXBsZSBzdGFnZXMuXG4gKiBJdCBhbHNvIG1hbmFnZXMgdGFza3Mgc3VjaCBhcyBwdWJsaXNoaW5nIENESyBhc3NldHMsIGJ1bXBpbmcgdmVyc2lvbiBiYXNlZCBvbiBnaXQgdGFncywgYW5kIGNsZWFuaW5nIHVwIGNvbmZsaWN0aW5nIHRhc2tzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDb21wb25lbnQge1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGFja1ByZWZpeDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYnJhbmNoTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhcHA6IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBwcml2YXRlIGJhc2VPcHRpb25zOiBDREtQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHApO1xuXG4gICAgLy8gQWRkIGRldmVsb3BtZW50IGRlcGVuZGVuY2llc1xuICAgIHRoaXMuYXBwLmFkZERldkRlcHMoXG4gICAgICAnQHR5cGVzL3N0YW5kYXJkLXZlcnNpb24nLFxuICAgICAgJ3N0YW5kYXJkLXZlcnNpb24nLFxuICAgICAgJ2Nkay1hc3NldHMnLFxuICAgICk7XG4gICAgLy8gdGhpcy5hcHAuYWRkRGVwcyhcbiAgICAvLyApO1xuICAgIHRoaXMucHJvamVjdC5naXRpZ25vcmUuZXhjbHVkZSgnL2Nkay1vdXRwdXRzLSouanNvbicpO1xuXG4gICAgdGhpcy5zdGFja1ByZWZpeCA9IGJhc2VPcHRpb25zLnN0YWNrUHJlZml4ID8/IGFwcC5uYW1lO1xuICAgIHRoaXMuYnJhbmNoTmFtZSA9IGJhc2VPcHRpb25zLmJyYW5jaE5hbWUgPz8gJ21haW4nOyAvLyBUT0RPIHVzZSBkZWZhdWx0UmVsZWFzZUJyYW5jaCBvZiBOb2RlUHJvamVjdFxuXG4gICAgLy8gUmVtb3ZlcyB0aGUgY29tcGlsZWQgY2xvdWQgYXNzZW1ibHkgYmVmb3JlIGVhY2ggc3ludGhcbiAgICB0aGlzLnByb2plY3QudGFza3MudHJ5RmluZCgnc3ludGgnKT8ucHJlcGVuZEV4ZWMoYHJtIC1yZiAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9YCk7XG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ3N5bnRoOnNpbGVudCcpPy5wcmVwZW5kRXhlYyhgcm0gLXJmICR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH1gKTtcblxuICAgIC8vIFJlbW92ZSB0YXNrcyB0aGF0IG1pZ2h0IGNvbmZsaWN0IHdpdGggdGhlIHBpcGVsaW5lIHByb2Nlc3NcbiAgICB0aGlzLnByb2plY3QucmVtb3ZlVGFzaygnZGVwbG95Jyk7XG4gICAgdGhpcy5wcm9qZWN0LnJlbW92ZVRhc2soJ2RpZmYnKTtcbiAgICB0aGlzLnByb2plY3QucmVtb3ZlVGFzaygnZGVzdHJveScpO1xuICAgIHRoaXMucHJvamVjdC5yZW1vdmVUYXNrKCd3YXRjaCcpO1xuXG4gICAgLy8gQ3JlYXRlcyBkaWZmZXJlbnQgZGVwbG95bWVudCBzdGFnZXNcbiAgICBpZiAoYmFzZU9wdGlvbnMucGVyc29uYWxTdGFnZSkge1xuICAgICAgdGhpcy5jcmVhdGVQZXJzb25hbFN0YWdlKCk7XG4gICAgfVxuICAgIGlmIChiYXNlT3B0aW9ucy5mZWF0dXJlU3RhZ2VzKSB7XG4gICAgICB0aGlzLmNyZWF0ZUZlYXR1cmVTdGFnZSgpO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IHN0YWdlIG9mIGJhc2VPcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVQaXBlbGluZVN0YWdlKHN0YWdlKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGVzIHRhc2tzIHRvIGhhbmRsZSB0aGUgcmVsZWFzZSBwcm9jZXNzXG4gICAgdGhpcy5jcmVhdGVSZWxlYXNlVGFza3MoKTtcblxuICAgIC8vIENyZWF0ZXMgYSBzcGVjaWFsaXplZCBDREsgQXBwIGNsYXNzXG4gICAgdGhpcy5jcmVhdGVBcHBsaWNhdGlvbkVudHJ5cG9pbnQoKTtcblxuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGVuZ2luZVR5cGUoKTogUGlwZWxpbmVFbmdpbmU7XG5cbiAgcHJvdGVjdGVkIHJlbmRlckluc3RhbGxDb21tYW5kcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLmJhc2VPcHRpb25zLnByZUluc3RhbGxDb21tYW5kcyA/PyBbXSksXG4gICAgICBgbnB4IHByb2plbiAke3RoaXMuYXBwLnBhY2thZ2UuaW5zdGFsbENpVGFzay5uYW1lfWAsXG4gICAgXTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJJbnN0YWxsUGFja2FnZUNvbW1hbmRzKHBhY2thZ2VOYW1lOiBzdHJpbmcsIHJ1blByZUluc3RhbGxDb21tYW5kczogYm9vbGVhbiA9IGZhbHNlKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNvbW1hbmRzID0gcnVuUHJlSW5zdGFsbENvbW1hbmRzID8gdGhpcy5iYXNlT3B0aW9ucy5wcmVJbnN0YWxsQ29tbWFuZHMgPz8gW10gOiBbXTtcblxuICAgIHN3aXRjaCAodGhpcy5hcHAucGFja2FnZS5wYWNrYWdlTWFuYWdlcikge1xuICAgICAgY2FzZSBOb2RlUGFja2FnZU1hbmFnZXIuWUFSTjpcbiAgICAgIGNhc2UgTm9kZVBhY2thZ2VNYW5hZ2VyLllBUk4yOlxuICAgICAgY2FzZSBOb2RlUGFja2FnZU1hbmFnZXIuWUFSTl9CRVJSWTpcbiAgICAgIGNhc2UgTm9kZVBhY2thZ2VNYW5hZ2VyLllBUk5fQ0xBU1NJQzpcbiAgICAgICAgY29tbWFuZHMucHVzaChgeWFybiBhZGQgJHtwYWNrYWdlTmFtZX1gKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE5vZGVQYWNrYWdlTWFuYWdlci5OUE06XG4gICAgICAgIGNvbW1hbmRzLnB1c2goYG5wbSBpbnN0YWxsICR7cGFja2FnZU5hbWV9YCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnN0YWxsIHNjcmlwdHMgZm9yIHBhY2thZ2VNYW5hZ2VyOiAnICsgdGhpcy5hcHAucGFja2FnZS5wYWNrYWdlTWFuYWdlcik7XG4gICAgfVxuICAgIHJldHVybiBjb21tYW5kcztcbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJTeW50aENvbW1hbmRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uKHRoaXMuYmFzZU9wdGlvbnMucHJlU3ludGhDb21tYW5kcyA/PyBbXSksXG4gICAgICAnbnB4IHByb2plbiBidWlsZCcsXG4gICAgICAuLi4odGhpcy5iYXNlT3B0aW9ucy5wb3N0U3ludGhDb21tYW5kcyA/PyBbXSksXG4gICAgXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBc3NldFVwbG9hZENvbW1hbmRzKG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzOiBib29sZWFuKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAnbnB4IHByb2plbiBwdWJsaXNoOmFzc2V0cycsXG4gICAgICAuLi4obmVlZHNWZXJzaW9uZWRBcnRpZmFjdHMgPyBbXG4gICAgICAgICducHggcHJvamVuIGJ1bXAnLFxuICAgICAgICAnbnB4IHByb2plbiByZWxlYXNlOnB1c2gtYXNzZW1ibHknLFxuICAgICAgXSA6IFtdKSxcbiAgICBdO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckRlcGxveUNvbW1hbmRzKHN0YWdlTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICBgbnB4IHByb2plbiBkZXBsb3k6JHtzdGFnZU5hbWV9YCxcbiAgICBdO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlbmRlckRpZmZDb21tYW5kcyhzdGFnZU5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgYG5weCBwcm9qZW4gZGlmZjoke3N0YWdlTmFtZX1gLFxuICAgIF07XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgZ2VuZXJhdGVzIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIGFwcGxpY2F0aW9uLCBpbmNsdWRpbmcgaW50ZXJmYWNlcyBhbmQgY2xhc3Nlc1xuICAgKiBuZWNlc3NhcnkgdG8gc2V0IHVwIHRoZSBwaXBlbGluZSBhbmQgZGVmaW5lIHRoZSBBV1MgQ0RLIHN0YWNrcyBmb3IgZGlmZmVyZW50IGVudmlyb25tZW50cy5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVBcHBsaWNhdGlvbkVudHJ5cG9pbnQoKSB7XG4gICAgbGV0IHByb3BzQ29kZSA9ICcnO1xuICAgIGxldCBhcHBDb2RlID0gJyc7XG5cbiAgICBpZiAodGhpcy5iYXNlT3B0aW9ucy5wZXJzb25hbFN0YWdlKSB7XG4gICAgICBwcm9wc0NvZGUgKz0gYCAgLyoqIFRoaXMgZnVuY3Rpb24gd2lsbCBiZSB1c2VkIHRvIGdlbmVyYXRlIGEgcGVyc29uYWwgc3RhY2suICovXG4gIHByb3ZpZGVQZXJzb25hbFN0YWNrOiAoYXBwOiBBcHAsIHN0YWNrSWQ6IHN0cmluZywgcHJvcHM6IFBpcGVsaW5lQXBwU3RhY2tQcm9wcykgPT4gU3RhY2s7XG5gO1xuICAgICAgYXBwQ29kZSArPSBgICAgIC8vIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBVU0VSIGlzIHNldCBhbmQgYSBmdW5jdGlvbiBpcyBwcm92aWRlZCBmb3IgY3JlYXRpbmcgYSBwZXJzb25hbCBzdGFjaywgaXQgaXMgY2FsbGVkIHdpdGggbmVjZXNzYXJ5IGFyZ3VtZW50cy5cbiAgICBpZiAocHJvcHMucHJvdmlkZVBlcnNvbmFsU3RhY2sgJiYgcHJvY2Vzcy5lbnYuVVNFUikge1xuICAgICAgY29uc3Qgc3RhZ2VOYW1lID0gJ3BlcnNvbmFsLScgKyBwcm9jZXNzLmVudi5VU0VSLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxcXFxcLy9nLCAnLScpO1xuICAgICAgcHJvcHMucHJvdmlkZVBlcnNvbmFsU3RhY2sodGhpcywgJyR7dGhpcy5zdGFja1ByZWZpeH0tcGVyc29uYWwnLCB7IGVudjogJHtKU09OLnN0cmluZ2lmeSh0aGlzLmJhc2VPcHRpb25zLnBlcnNvbmFsU3RhZ2UuZW52KX0sIHN0YWNrTmFtZTogXFxgJHt0aGlzLnN0YWNrUHJlZml4fS1cXCR7c3RhZ2VOYW1lfVxcYCwgc3RhZ2VOYW1lIH0pO1xuICAgIH1cbmA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYmFzZU9wdGlvbnMuZmVhdHVyZVN0YWdlcykge1xuICAgICAgcHJvcHNDb2RlICs9IGAgIC8qKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCB0byBnZW5lcmF0ZSBhIGZlYXR1cmUgc3RhY2suICovXG4gIHByb3ZpZGVGZWF0dXJlU3RhY2s6IChhcHA6IEFwcCwgc3RhY2tJZDogc3RyaW5nLCBwcm9wczogUGlwZWxpbmVBcHBTdGFja1Byb3BzKSA9PiBTdGFjaztcbmA7XG4gICAgICBhcHBDb2RlICs9IGAgICAgLy8gSWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEJSQU5DSCBpcyBzZXQgYW5kIGEgZnVuY3Rpb24gaXMgcHJvdmlkZWQgZm9yIGNyZWF0aW5nIGEgZmVhdHVyZSBzdGFjaywgaXQgaXMgY2FsbGVkIHdpdGggbmVjZXNzYXJ5IGFyZ3VtZW50cy5cbiAgICBpZiAocHJvcHMucHJvdmlkZUZlYXR1cmVTdGFjayAmJiBwcm9jZXNzLmVudi5CUkFOQ0gpIHtcbiAgICAgIGNvbnN0IHN0YWdlTmFtZSA9ICdmZWF0dXJlLScgKyBwcm9jZXNzLmVudi5CUkFOQ0gudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXFxcXFwvL2csICctJyk7XG4gICAgICBwcm9wcy5wcm92aWRlRmVhdHVyZVN0YWNrKHRoaXMsICcke3RoaXMuc3RhY2tQcmVmaXh9LWZlYXR1cmUnLCB7IGVudjogJHtKU09OLnN0cmluZ2lmeSh0aGlzLmJhc2VPcHRpb25zLmZlYXR1cmVTdGFnZXMuZW52KX0sIHN0YWNrTmFtZTogXFxgJHt0aGlzLnN0YWNrUHJlZml4fS1cXCR7c3RhZ2VOYW1lfVxcYCwgc3RhZ2VOYW1lIH0pO1xuICAgIH1cbmA7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiB0aGlzLmJhc2VPcHRpb25zLnN0YWdlcykge1xuICAgICAgY29uc3QgbmFtZVVwcGVyRmlyc3QgPSBgJHtzdGFnZS5uYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7c3RhZ2UubmFtZS5zdWJzdHJpbmcoMSl9YDtcblxuICAgICAgcHJvcHNDb2RlICs9IGAgIC8qKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCB0byBnZW5lcmF0ZSBhICR7c3RhZ2UubmFtZX0gc3RhY2suICovXG4gIHByb3ZpZGUke25hbWVVcHBlckZpcnN0fVN0YWNrOiAoYXBwOiBBcHAsIHN0YWNrSWQ6IHN0cmluZywgcHJvcHM6IFBpcGVsaW5lQXBwU3RhY2tQcm9wcykgPT4gU3RhY2s7XG5gO1xuICAgICAgYXBwQ29kZSArPSBgICAgIC8vIElmIGEgZnVuY3Rpb24gaXMgcHJvdmlkZWQgZm9yIGNyZWF0aW5nIGEgJHtzdGFnZS5uYW1lfSBzdGFjaywgaXQgaXMgY2FsbGVkIHdpdGggbmVjZXNzYXJ5IGFyZ3VtZW50cy5cbiAgICBpZiAocHJvcHMucHJvdmlkZSR7bmFtZVVwcGVyRmlyc3R9U3RhY2spIHtcbiAgICAgIHByb3BzLnByb3ZpZGUke25hbWVVcHBlckZpcnN0fVN0YWNrKHRoaXMsICcke3RoaXMuc3RhY2tQcmVmaXh9LSR7c3RhZ2UubmFtZX0nLCB7IGVudjogJHtKU09OLnN0cmluZ2lmeShzdGFnZS5lbnYpfSwgc3RhY2tOYW1lOiAnJHt0aGlzLnN0YWNrUHJlZml4fS0ke3N0YWdlLm5hbWV9Jywgc3RhZ2VOYW1lOiAnJHtzdGFnZS5uYW1lfScgfSk7XG4gICAgfVxuYDtcbiAgICB9XG5cbiAgICBjb25zdCBhcHBGaWxlID0gbmV3IFRleHRGaWxlKHRoaXMucHJvamVjdCwgYCR7dGhpcy5hcHAuc3JjZGlyfS9hcHAudHNgKTtcbiAgICBhcHBGaWxlLmFkZExpbmUoYC8vICR7UFJPSkVOX01BUktFUn1cbi8qIGVzbGludC1kaXNhYmxlICovXG5pbXBvcnQgeyBBcHAsIEFwcFByb3BzLCBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gJ2F3cy1jZGstbGliJztcblxuLyoqXG4gKiBQaXBlbGluZUFwcFByb3BzIGlzIGFuIGV4dGVuc2lvbiBvZiBBcHBQcm9wcywgd2hpY2ggaXMgcGFydCBvZiB0aGUgQVdTIENESyBjb3JlLlxuICogSXQgaW5jbHVkZXMgb3B0aW9uYWwgZnVuY3Rpb25zIHRvIHByb3ZpZGUgQVdTIFN0YWNrcyBmb3IgZGlmZmVyZW50IHN0YWdlcy5cbiAqXG4gKiBVc2UgdGhlc2UgZnVuY3Rpb25zIHRvIGluc3RhbnRpYXRlIHlvdXIgYXBwbGljYXRpb24gc3RhY2tzIHdpdGggdGhlIHBhcmFtZXRlcnMgZm9yXG4gKiBlYWNoIHN0YWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVBcHBQcm9wcyBleHRlbmRzIEFwcFByb3BzIHtcbiR7cHJvcHNDb2RlfVxufVxuXG4vKipcbiAqIFBpcGVsaW5lQXBwU3RhY2tQcm9wcyBpcyBhbiBleHRlbnNpb24gb2YgU3RhY2tQcm9wcywgd2hpY2ggaXMgcGFydCBvZiB0aGUgQVdTIENESyBjb3JlLlxuICogSXQgaW5jbHVkZXMgYW4gYWRkaXRpb25hbCBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBzdGFnZSBuYW1lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lQXBwU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICBzdGFnZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgUGlwZWxpbmVBcHAgY2xhc3MgZXh0ZW5kcyB0aGUgQXBwIGNsYXNzIGZyb20gQVdTIENESyBhbmQgb3ZlcnJpZGVzIHRoZSBjb25zdHJ1Y3RvciB0byBzdXBwb3J0XG4gKiBkaWZmZXJlbnQgc3RhZ2VzIG9mIHRoZSBhcHBsaWNhdGlvbiAoZGV2ZWxvcG1lbnQsIHByb2R1Y3Rpb24sIHBlcnNvbmFsLCBmZWF0dXJlKSBieSBpbnZva2luZyB0aGUgcHJvdmlkZWRcbiAqIHN0YWNrLXByb3ZpZGluZyBmdW5jdGlvbnMgZnJvbSB0aGUgcHJvcHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQaXBlbGluZUFwcCBleHRlbmRzIEFwcCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBQaXBlbGluZUFwcFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4ke2FwcENvZGV9XG5cbiAgfVxufVxuYCk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2Qgc2V0cyB1cCB0YXNrcyB0byBwdWJsaXNoIENESyBhc3NldHMgdG8gYWxsIGFjY291bnRzIGFuZCBoYW5kbGUgdmVyc2lvbmluZywgaW5jbHVkaW5nIGJ1bXBpbmcgdGhlIHZlcnNpb25cbiAgICogYmFzZWQgb24gdGhlIGxhdGVzdCBnaXQgdGFnIGFuZCBwdXNoaW5nIHRoZSBDREsgYXNzZW1ibHkgdG8gdGhlIHBhY2thZ2UgcmVwb3NpdG9yeS5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZWxlYXNlVGFza3MoKSB7XG4gICAgLy8gVGFzayB0byBwdWJsaXNoIHRoZSBDREsgYXNzZXRzIHRvIGFsbCBhY2NvdW50c1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdwdWJsaXNoOmFzc2V0cycsIHtcbiAgICAgIHN0ZXBzOiB0aGlzLmJhc2VPcHRpb25zLnN0YWdlcy5tYXAoc3RhZ2UgPT4gKHtcbiAgICAgICAgZXhlYzogYG5weCBjZGstYXNzZXRzIC1wICR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0vJHt0aGlzLnN0YWNrUHJlZml4fS0ke3N0YWdlLm5hbWV9LmFzc2V0cy5qc29uIHB1Ymxpc2hgLFxuICAgICAgfSkpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ2J1bXAnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0J1bXBzIHZlcnNpb24gYmFzZWQgb24gbGF0ZXN0IGdpdCB0YWcnLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6ICdwaXBlbGluZXMtcmVsZWFzZSBidW1wJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6ICdnaXQgcHVzaCAtLXRhZ3MnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygncmVsZWFzZTpwdXNoLWFzc2VtYmx5Jywge1xuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6IGBwaXBlbGluZXMtcmVsZWFzZSBjcmVhdGUtbWFuaWZlc3QgXCIke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9XCIgIFwiJHt0aGlzLmJhc2VPcHRpb25zLnBrZ05hbWVzcGFjZX1cImAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjd2Q6IHRoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXQsXG4gICAgICAgICAgZXhlYzogJ25wbSB2ZXJzaW9uIC0tbm8tZ2l0LXRhZy12ZXJzaW9uIGZyb20tZ2l0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGN3ZDogdGhpcy5hcHAuY2RrQ29uZmlnLmNka291dCxcbiAgICAgICAgICBleGVjOiAnbnBtIHB1Ymxpc2gnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCBzZXRzIHVwIHRhc2tzIGZvciB0aGUgcGVyc29uYWwgZGVwbG95bWVudCBzdGFnZSwgaW5jbHVkaW5nIGRlcGxveW1lbnQsIHdhdGNoaW5nIGZvciBjaGFuZ2VzLFxuICAgKiBjb21wYXJpbmcgY2hhbmdlcyAoZGlmZiksIGFuZCBkZXN0cm95aW5nIHRoZSBzdGFjayB3aGVuIG5vIGxvbmdlciBuZWVkZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUGVyc29uYWxTdGFnZSgpIHtcbiAgICBjb25zdCBzdGFja0lkID0gdGhpcy5nZXRDbGlTdGFja1BhdHRlcm4oJ3BlcnNvbmFsJyk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ2RlcGxveTpwZXJzb25hbCcsIHtcbiAgICAgIGV4ZWM6IGBjZGsgLS1vdXRwdXRzLWZpbGUgY2RrLW91dHB1dHMtcGVyc29uYWwuanNvbiBkZXBsb3kgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ3dhdGNoOnBlcnNvbmFsJywge1xuICAgICAgZXhlYzogYGNkayBkZXBsb3kgLS13YXRjaCAtLWhvdHN3YXAgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ2RpZmY6cGVyc29uYWwnLCB7XG4gICAgICBleGVjOiBgY2RrIGRpZmYgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ2Rlc3Ryb3k6cGVyc29uYWwnLCB7XG4gICAgICBleGVjOiBgY2RrIGRlc3Ryb3kgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2Qgc2V0cyB1cCB0YXNrcyBmb3IgdGhlIGZlYXR1cmUgZGVwbG95bWVudCBzdGFnZSwgaW5jbHVkaW5nIGRlcGxveW1lbnQsIGNvbXBhcmluZyBjaGFuZ2VzIChkaWZmKSxcbiAgICogYW5kIGRlc3Ryb3lpbmcgdGhlIHN0YWNrIHdoZW4gbm8gbG9uZ2VyIG5lZWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVGZWF0dXJlU3RhZ2UoKSB7XG4gICAgY29uc3Qgc3RhY2tJZCA9IHRoaXMuZ2V0Q2xpU3RhY2tQYXR0ZXJuKCdmZWF0dXJlJyk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ2RlcGxveTpmZWF0dXJlJywge1xuICAgICAgZXhlYzogYGNkayAtLW91dHB1dHMtZmlsZSBjZGstb3V0cHV0cy1mZWF0dXJlLmpzb24gLS1wcm9ncmVzcyBldmVudHMgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIGRlcGxveSAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygnZGlmZjpmZWF0dXJlJywge1xuICAgICAgZXhlYzogYGNkayBkaWZmICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdkZXN0cm95OmZlYXR1cmUnLCB7XG4gICAgICBleGVjOiBgY2RrIGRlc3Ryb3kgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2Qgc2V0cyB1cCB0YXNrcyBmb3IgdGhlIGdlbmVyYWwgcGlwZWxpbmUgc3RhZ2VzIChkZXYsIHByb2QpLCBpbmNsdWRpbmcgZGVwbG95bWVudCBhbmQgY29tcGFyaW5nIGNoYW5nZXMgKGRpZmYpLlxuICAgKiBAcGFyYW0ge0RlcGxveVN0YWdlT3B0aW9uc30gc3RhZ2UgLSBUaGUgc3RhZ2UgdG8gY3JlYXRlXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUGlwZWxpbmVTdGFnZShzdGFnZTogRGVwbG95bWVudFN0YWdlKSB7XG4gICAgY29uc3Qgc3RhY2tJZCA9IHRoaXMuZ2V0Q2xpU3RhY2tQYXR0ZXJuKHN0YWdlLm5hbWUpO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKGBkZXBsb3k6JHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgIGV4ZWM6IGBjZGsgLS1hcHAgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fSAtLW91dHB1dHMtZmlsZSBjZGstb3V0cHV0cy0ke3N0YWdlLm5hbWV9Lmpzb24gLS1wcm9ncmVzcyBldmVudHMgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIGRlcGxveSAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzayhgZGlmZjoke3N0YWdlLm5hbWV9YCwge1xuICAgICAgZXhlYzogYGNkayAtLWFwcCAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9IGRpZmYgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q2xpU3RhY2tQYXR0ZXJuKHN0YWdlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5iYXNlT3B0aW9ucy5kZXBsb3lTdWJTdGFja3MgPyBgJHt0aGlzLnN0YWNrUHJlZml4fS0ke3N0YWdlfSAke3RoaXMuc3RhY2tQcmVmaXh9LSR7c3RhZ2V9LypgIDogYCR7dGhpcy5zdGFja1ByZWZpeH0tJHtzdGFnZX1gO1xuICB9XG59Il19
268
+ CDKPipeline[_a] = { fqn: "projen-pipelines.CDKPipeline", version: "0.0.62" };
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUFxRDtBQUNyRCw4Q0FBa0Q7QUFDbEQsc0RBQTJEO0FBMEczRDs7O0dBR0c7QUFDSCxNQUFzQixXQUFZLFNBQVEsa0JBQVM7SUFLakQsWUFBc0IsR0FBK0IsRUFBVSxXQUErQjtRQUM1RixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEUyxRQUFHLEdBQUgsR0FBRyxDQUE0QjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUc1RiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQ2pCLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsWUFBWSxDQUNiLENBQUM7UUFDRixvQkFBb0I7UUFDcEIsS0FBSztRQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsQ0FBQywrQ0FBK0M7UUFFbkcsd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLDZEQUE2RDtRQUM3RCxJ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QUFLLEVBQUUsQ0FBQztJQUMzSSxDQUFDOztBQTlSSCxrQ0ErUkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFRleHRGaWxlLCBhd3NjZGsgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgUFJPSkVOX01BUktFUiB9IGZyb20gJ3Byb2plbi9saWIvY29tbW9uJztcbmltcG9ydCB7IE5vZGVQYWNrYWdlTWFuYWdlciB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBQaXBlbGluZUVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZSc7XG5pbXBvcnQgeyBQaXBlbGluZVN0ZXAgfSBmcm9tICcuLi9zdGVwcyc7XG5cbi8qKlxuICogVGhlIEVudmlyb25tZW50IGludGVyZmFjZSBpcyBkZXNpZ25lZCB0byBob2xkIEFXUyByZWxhdGVkIGluZm9ybWF0aW9uXG4gKiBmb3IgYSBzcGVjaWZpYyBkZXBsb3ltZW50IGVudmlyb25tZW50IHdpdGhpbiB5b3VyIGluZnJhc3RydWN0dXJlLlxuICogRWFjaCBlbnZpcm9ubWVudCByZXF1aXJlcyBhIHNwZWNpZmljIGFjY291bnQgYW5kIHJlZ2lvbiBmb3IgaXRzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbnZpcm9ubWVudCB7XG4gIC8qKlxuICAgKiBUaGUgQVdTIEFjY291bnQgSUQgYXNzb2NpYXRlZCB3aXRoIHRoZSBlbnZpcm9ubWVudC4gSXQncyBpbXBvcnRhbnQgYmVjYXVzZVxuICAgKiBkaWZmZXJlbnQgc2VydmljZXMgb3IgZmVhdHVyZXMgY291bGQgaGF2ZSBkaXN0aW5jdCBwZXJtaXNzaW9ucyBhbmQgc2V0dGluZ3NcbiAgICogaW4gZGlmZmVyZW50IGFjY291bnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIFJlZ2lvbiBmb3IgdGhlIGVudmlyb25tZW50LiBUaGlzIGRldGVybWluZXMgd2hlcmUgeW91ciByZXNvdXJjZXNcbiAgICogYXJlIGNyZWF0ZWQgYW5kIHdoZXJlIHlvdXIgYXBwbGljYXRpb24gd2lsbCBydW4uIEl0IGNhbiBhZmZlY3QgbGF0ZW5jeSxcbiAgICogYXZhaWxhYmlsaXR5LCBhbmQgcHJpY2luZy5cbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xufVxuXG4vLyAvKipcbi8vICAqIERlc2NyaWJlcyB0aGUgdHlwZSBvZiBwaXBlbGluZSB0aGF0IHdpbGwgYmUgY3JlYXRlZFxuLy8gICovXG4vLyBleHBvcnQgZW51bSBEZXBsb3ltZW50VHlwZSB7XG4vLyAgIC8qKiBEZXBsb3kgZXZlcnkgY29tbWl0IGFzIGZhciBhcyBwb3NzaWJsZTsgaG9wZWZ1bGx5IGludG8gcHJvZHVjdGlvbiAqL1xuLy8gICBDT05USU5VT1VTX0RFUExPWU1FTlQsXG4vLyAgIC8qKiBCdWlsZCBldmVyeSBjb21taXQgYW5kIHByZXBhcmUgYWxsIGFzc2V0cyBmb3IgYSBsYXRlciBkZXBsb3ltZW50ICovXG4vLyAgIENPTlRJTlVPVVNfREVMSVZFUlksXG4vLyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVwbG95bWVudFN0YWdlIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBlbnY6IEVudmlyb25tZW50O1xuICByZWFkb25seSBtYW51YWxBcHByb3ZhbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhZ2VPcHRpb25zIHtcbiAgcmVhZG9ubHkgZW52OiBFbnZpcm9ubWVudDtcbn1cblxuLyoqXG4gKiBUaGUgQ0RLUGlwZWxpbmVPcHRpb25zIGludGVyZmFjZSBpcyBkZXNpZ25lZCB0byBwcm92aWRlIGNvbmZpZ3VyYXRpb25cbiAqIG9wdGlvbnMgZm9yIGEgQ0RLIChDbG91ZCBEZXZlbG9wbWVudCBLaXQpIHBpcGVsaW5lLiBJdCBhbGxvd3MgdGhlIGRlZmluaXRpb25cbiAqIG9mIHNldHRpbmdzIHN1Y2ggYXMgdGhlIHN0YWNrIHByZWZpeCBhbmQgcGFja2FnZSBuYW1lc3BhY2UgdG8gYmUgdXNlZCBpbiB0aGVcbiAqIEFXUyBzdGFjaywgYWxvbmcgd2l0aCB0aGUgZW52aXJvbm1lbnRzIGNvbmZpZ3VyYXRpb24gdG8gYmUgdXNlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDREtQaXBlbGluZU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiB0aGUgbmFtZSBvZiB0aGUgYnJhbmNoIHRvIGRlcGxveSBmcm9tXG4gICAqIEBkZWZhdWx0IG1haW5cbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoaXMgZmllbGQgaXMgdXNlZCB0byBkZWZpbmUgYSBwcmVmaXggZm9yIHRoZSBBV1MgU3RhY2sgcmVzb3VyY2VzIGNyZWF0ZWRcbiAgICogZHVyaW5nIHRoZSBwaXBlbGluZSdzIG9wZXJhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgcHJvamVjdCBuYW1lXG4gICAqL1xuICByZWFkb25seSBzdGFja1ByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgc2V0IHRvIHRydWUgYWxsIENESyBhY3Rpb25zIHdpbGwgYWxzbyBpbmNsdWRlIDxzdGFja05hbWU+LyogdG8gZGVwbG95L2RpZmYvZGVzdHJveSBzdWIgc3RhY2tzIG9mIHRoZSBtYWluIHN0YWNrLlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIGRlcGxveSBDRGsgYXBwbGljYXRpb25zIGNvbnRhaW5pbmcgbXVsdGlwbGUgc3RhY2tzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95U3ViU3RhY2tzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhpcyBmaWVsZCBkZXRlcm1pbmVzIHRoZSBOUE0gbmFtZXNwYWNlIHRvIGJlIHVzZWQgd2hlbiBwYWNrYWdpbmcgQ0RLIGNsb3VkXG4gICAqIGFzc2VtYmxpZXMuIEEgbmFtZXNwYWNlIGhlbHBzIGdyb3VwIHJlbGF0ZWQgcmVzb3VyY2VzIHRvZ2V0aGVyLCBwcm92aWRpbmdcbiAgICogYmV0dGVyIG9yZ2FuaXphdGlvbiBhbmQgZWFzZSBvZiBtYW5hZ2VtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgcGtnTmFtZXNwYWNlOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgc3RhZ2VzOiBEZXBsb3ltZW50U3RhZ2VbXTtcblxuICByZWFkb25seSBwZXJzb25hbFN0YWdlPzogU3RhZ2VPcHRpb25zO1xuXG4gIHJlYWRvbmx5IGZlYXR1cmVTdGFnZXM/OiBTdGFnZU9wdGlvbnM7XG5cbiAgLy8gLyoqXG4gIC8vICAqIFRoaXMgZmllbGQgc3BlY2lmaWVzIHRoZSB0eXBlIG9mIHBpcGVsaW5lIHRvIGNyZWF0ZS4gSWYgc2V0IHRvIENPTlRJTlVPVVNfREVQTE9ZTUVOVCxcbiAgLy8gICogZXZlcnkgY29tbWl0IGlzIGRlcGxveWVkIGFzIGZhciBhcyBwb3NzaWJsZSwgaG9wZWZ1bGx5IGludG8gcHJvZHVjdGlvbi4gSWYgc2V0IHRvXG4gIC8vICAqIENPTlRJTlVPVVNfREVMSVZFUlksIGV2ZXJ5IGNvbW1pdCBpcyBidWlsdCBhbmQgYWxsIGFzc2V0cyBhcmUgcHJlcGFyZWQgZm9yIGEgbGF0ZXIgZGVwbG95bWVudC5cbiAgLy8gICpcbiAgLy8gICogQGRlZmF1bHQgQ09OVElOVU9VU19ERUxJVkVSWVxuICAvLyAgKi9cbiAgLy8gcmVhZG9ubHkgZGVwbG95bWVudFR5cGU/OiBEZXBsb3ltZW50VHlwZTtcblxuICByZWFkb25seSBwcmVJbnN0YWxsQ29tbWFuZHM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgcHJlU3ludGhDb21tYW5kcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBwb3N0U3ludGhDb21tYW5kcz86IHN0cmluZ1tdO1xuXG4gIHJlYWRvbmx5IHByZUluc3RhbGxTdGVwcz86IFBpcGVsaW5lU3RlcFtdO1xuICByZWFkb25seSBwcmVTeW50aFN0ZXBzPzogUGlwZWxpbmVTdGVwW107XG4gIHJlYWRvbmx5IHBvc3RTeW50aFN0ZXBzPzogUGlwZWxpbmVTdGVwW107XG59XG5cbi8qKlxuICogVGhlIENES1BpcGVsaW5lIGNsYXNzIGV4dGVuZHMgdGhlIENvbXBvbmVudCBjbGFzcyBhbmQgc2V0cyB1cCB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb24gZm9yIGRlcGxveWluZyBBV1MgQ0RLIChDbG91ZCBEZXZlbG9wbWVudCBLaXQpIGFwcGxpY2F0aW9ucyBhY3Jvc3MgbXVsdGlwbGUgc3RhZ2VzLlxuICogSXQgYWxzbyBtYW5hZ2VzIHRhc2tzIHN1Y2ggYXMgcHVibGlzaGluZyBDREsgYXNzZXRzLCBidW1waW5nIHZlcnNpb24gYmFzZWQgb24gZ2l0IHRhZ3MsIGFuZCBjbGVhbmluZyB1cCBjb25mbGljdGluZyB0YXNrcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENES1BpcGVsaW5lIGV4dGVuZHMgQ29tcG9uZW50IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgc3RhY2tQcmVmaXg6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJyYW5jaE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJpdmF0ZSBiYXNlT3B0aW9uczogQ0RLUGlwZWxpbmVPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwKTtcblxuICAgIC8vIEFkZCBkZXZlbG9wbWVudCBkZXBlbmRlbmNpZXNcbiAgICB0aGlzLmFwcC5hZGREZXZEZXBzKFxuICAgICAgJ0B0eXBlcy9zdGFuZGFyZC12ZXJzaW9uJyxcbiAgICAgICdzdGFuZGFyZC12ZXJzaW9uJyxcbiAgICAgICdjZGstYXNzZXRzJyxcbiAgICApO1xuICAgIC8vIHRoaXMuYXBwLmFkZERlcHMoXG4gICAgLy8gKTtcbiAgICB0aGlzLnByb2plY3QuZ2l0aWdub3JlLmV4Y2x1ZGUoJy9jZGstb3V0cHV0cy0qLmpzb24nKTtcblxuICAgIHRoaXMuc3RhY2tQcmVmaXggPSBiYXNlT3B0aW9ucy5zdGFja1ByZWZpeCA/PyBhcHAubmFtZTtcbiAgICB0aGlzLmJyYW5jaE5hbWUgPSBiYXNlT3B0aW9ucy5icmFuY2hOYW1lID8/ICdtYWluJzsgLy8gVE9ETyB1c2UgZGVmYXVsdFJlbGVhc2VCcmFuY2ggb2YgTm9kZVByb2plY3RcblxuICAgIC8vIFJlbW92ZXMgdGhlIGNvbXBpbGVkIGNsb3VkIGFzc2VtYmx5IGJlZm9yZSBlYWNoIHN5bnRoXG4gICAgdGhpcy5wcm9qZWN0LnRhc2tzLnRyeUZpbmQoJ3N5bnRoJyk/LnByZXBlbmRFeGVjKGBybSAtcmYgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fWApO1xuICAgIHRoaXMucHJvamVjdC50YXNrcy50cnlGaW5kKCdzeW50aDpzaWxlbnQnKT8ucHJlcGVuZEV4ZWMoYHJtIC1yZiAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9YCk7XG5cbiAgICAvLyBSZW1vdmUgdGFza3MgdGhhdCBtaWdodCBjb25mbGljdCB3aXRoIHRoZSBwaXBlbGluZSBwcm9jZXNzXG4gICAgdGhpcy5wcm9qZWN0LnJlbW92ZVRhc2soJ2RlcGxveScpO1xuICAgIHRoaXMucHJvamVjdC5yZW1vdmVUYXNrKCdkaWZmJyk7XG4gICAgdGhpcy5wcm9qZWN0LnJlbW92ZVRhc2soJ2Rlc3Ryb3knKTtcbiAgICB0aGlzLnByb2plY3QucmVtb3ZlVGFzaygnd2F0Y2gnKTtcblxuICAgIC8vIENyZWF0ZXMgZGlmZmVyZW50IGRlcGxveW1lbnQgc3RhZ2VzXG4gICAgaWYgKGJhc2VPcHRpb25zLnBlcnNvbmFsU3RhZ2UpIHtcbiAgICAgIHRoaXMuY3JlYXRlUGVyc29uYWxTdGFnZSgpO1xuICAgIH1cbiAgICBpZiAoYmFzZU9wdGlvbnMuZmVhdHVyZVN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVGZWF0dXJlU3RhZ2UoKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBiYXNlT3B0aW9ucy5zdGFnZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlUGlwZWxpbmVTdGFnZShzdGFnZSk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlcyB0YXNrcyB0byBoYW5kbGUgdGhlIHJlbGVhc2UgcHJvY2Vzc1xuICAgIHRoaXMuY3JlYXRlUmVsZWFzZVRhc2tzKCk7XG5cbiAgICAvLyBDcmVhdGVzIGEgc3BlY2lhbGl6ZWQgQ0RLIEFwcCBjbGFzc1xuICAgIHRoaXMuY3JlYXRlQXBwbGljYXRpb25FbnRyeXBvaW50KCk7XG5cbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBlbmdpbmVUeXBlKCk6IFBpcGVsaW5lRW5naW5lO1xuXG4gIHByb3RlY3RlZCByZW5kZXJJbnN0YWxsQ29tbWFuZHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbXG4gICAgICAuLi4odGhpcy5iYXNlT3B0aW9ucy5wcmVJbnN0YWxsQ29tbWFuZHMgPz8gW10pLFxuICAgICAgYG5weCBwcm9qZW4gJHt0aGlzLmFwcC5wYWNrYWdlLmluc3RhbGxDaVRhc2submFtZX1gLFxuICAgIF07XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVySW5zdGFsbFBhY2thZ2VDb21tYW5kcyhwYWNrYWdlTmFtZTogc3RyaW5nLCBydW5QcmVJbnN0YWxsQ29tbWFuZHM6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjb21tYW5kcyA9IHJ1blByZUluc3RhbGxDb21tYW5kcyA/IHRoaXMuYmFzZU9wdGlvbnMucHJlSW5zdGFsbENvbW1hbmRzID8/IFtdIDogW107XG5cbiAgICBzd2l0Y2ggKHRoaXMuYXBwLnBhY2thZ2UucGFja2FnZU1hbmFnZXIpIHtcbiAgICAgIGNhc2UgTm9kZVBhY2thZ2VNYW5hZ2VyLllBUk46XG4gICAgICBjYXNlIE5vZGVQYWNrYWdlTWFuYWdlci5ZQVJOMjpcbiAgICAgIGNhc2UgTm9kZVBhY2thZ2VNYW5hZ2VyLllBUk5fQkVSUlk6XG4gICAgICBjYXNlIE5vZGVQYWNrYWdlTWFuYWdlci5ZQVJOX0NMQVNTSUM6XG4gICAgICAgIGNvbW1hbmRzLnB1c2goYHlhcm4gYWRkICR7cGFja2FnZU5hbWV9YCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBOb2RlUGFja2FnZU1hbmFnZXIuTlBNOlxuICAgICAgICBjb21tYW5kcy5wdXNoKGBucG0gaW5zdGFsbCAke3BhY2thZ2VOYW1lfWApO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gaW5zdGFsbCBzY3JpcHRzIGZvciBwYWNrYWdlTWFuYWdlcjogJyArIHRoaXMuYXBwLnBhY2thZ2UucGFja2FnZU1hbmFnZXIpO1xuICAgIH1cbiAgICByZXR1cm4gY29tbWFuZHM7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVuZGVyU3ludGhDb21tYW5kcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLmJhc2VPcHRpb25zLnByZVN5bnRoQ29tbWFuZHMgPz8gW10pLFxuICAgICAgJ25weCBwcm9qZW4gYnVpbGQnLFxuICAgICAgLi4uKHRoaXMuYmFzZU9wdGlvbnMucG9zdFN5bnRoQ29tbWFuZHMgPz8gW10pLFxuICAgIF07XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXNzZXRVcGxvYWRDb21tYW5kcyhuZWVkc1ZlcnNpb25lZEFydGlmYWN0czogYm9vbGVhbik6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ25weCBwcm9qZW4gcHVibGlzaDphc3NldHMnLFxuICAgICAgLi4uKG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID8gW1xuICAgICAgICAnbnB4IHByb2plbiBidW1wJyxcbiAgICAgICAgJ25weCBwcm9qZW4gcmVsZWFzZTpwdXNoLWFzc2VtYmx5JyxcbiAgICAgIF0gOiBbXSksXG4gICAgXTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJEZXBsb3lDb21tYW5kcyhzdGFnZU5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgYG5weCBwcm9qZW4gZGVwbG95OiR7c3RhZ2VOYW1lfWAsXG4gICAgXTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZW5kZXJEaWZmQ29tbWFuZHMoc3RhZ2VOYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGBucHggcHJvamVuIGRpZmY6JHtzdGFnZU5hbWV9YCxcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGdlbmVyYXRlcyB0aGUgZW50cnkgcG9pbnQgZm9yIHRoZSBhcHBsaWNhdGlvbiwgaW5jbHVkaW5nIGludGVyZmFjZXMgYW5kIGNsYXNzZXNcbiAgICogbmVjZXNzYXJ5IHRvIHNldCB1cCB0aGUgcGlwZWxpbmUgYW5kIGRlZmluZSB0aGUgQVdTIENESyBzdGFja3MgZm9yIGRpZmZlcmVudCBlbnZpcm9ubWVudHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlQXBwbGljYXRpb25FbnRyeXBvaW50KCkge1xuICAgIGxldCBwcm9wc0NvZGUgPSAnJztcbiAgICBsZXQgYXBwQ29kZSA9ICcnO1xuXG4gICAgaWYgKHRoaXMuYmFzZU9wdGlvbnMucGVyc29uYWxTdGFnZSkge1xuICAgICAgcHJvcHNDb2RlICs9IGAgIC8qKiBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCB0byBnZW5lcmF0ZSBhIHBlcnNvbmFsIHN0YWNrLiAqL1xuICBwcm92aWRlUGVyc29uYWxTdGFjazogKGFwcDogQXBwLCBzdGFja0lkOiBzdHJpbmcsIHByb3BzOiBQaXBlbGluZUFwcFN0YWNrUHJvcHMpID0+IFN0YWNrO1xuYDtcbiAgICAgIGFwcENvZGUgKz0gYCAgICAvLyBJZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgVVNFUiBpcyBzZXQgYW5kIGEgZnVuY3Rpb24gaXMgcHJvdmlkZWQgZm9yIGNyZWF0aW5nIGEgcGVyc29uYWwgc3RhY2ssIGl0IGlzIGNhbGxlZCB3aXRoIG5lY2Vzc2FyeSBhcmd1bWVudHMuXG4gICAgaWYgKHByb3BzLnByb3ZpZGVQZXJzb25hbFN0YWNrICYmIHByb2Nlc3MuZW52LlVTRVIpIHtcbiAgICAgIGNvbnN0IHN0YWdlTmFtZSA9ICdwZXJzb25hbC0nICsgcHJvY2Vzcy5lbnYuVVNFUi50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xcXFxcXC8vZywgJy0nKTtcbiAgICAgIHByb3BzLnByb3ZpZGVQZXJzb25hbFN0YWNrKHRoaXMsICcke3RoaXMuc3RhY2tQcmVmaXh9LXBlcnNvbmFsJywgeyBlbnY6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5iYXNlT3B0aW9ucy5wZXJzb25hbFN0YWdlLmVudil9LCBzdGFja05hbWU6IFxcYCR7dGhpcy5zdGFja1ByZWZpeH0tXFwke3N0YWdlTmFtZX1cXGAsIHN0YWdlTmFtZSB9KTtcbiAgICB9XG5gO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJhc2VPcHRpb25zLmZlYXR1cmVTdGFnZXMpIHtcbiAgICAgIHByb3BzQ29kZSArPSBgICAvKiogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHVzZWQgdG8gZ2VuZXJhdGUgYSBmZWF0dXJlIHN0YWNrLiAqL1xuICBwcm92aWRlRmVhdHVyZVN0YWNrOiAoYXBwOiBBcHAsIHN0YWNrSWQ6IHN0cmluZywgcHJvcHM6IFBpcGVsaW5lQXBwU3RhY2tQcm9wcykgPT4gU3RhY2s7XG5gO1xuICAgICAgYXBwQ29kZSArPSBgICAgIC8vIElmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBCUkFOQ0ggaXMgc2V0IGFuZCBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGZvciBjcmVhdGluZyBhIGZlYXR1cmUgc3RhY2ssIGl0IGlzIGNhbGxlZCB3aXRoIG5lY2Vzc2FyeSBhcmd1bWVudHMuXG4gICAgaWYgKHByb3BzLnByb3ZpZGVGZWF0dXJlU3RhY2sgJiYgcHJvY2Vzcy5lbnYuQlJBTkNIKSB7XG4gICAgICBjb25zdCBzdGFnZU5hbWUgPSAnZmVhdHVyZS0nICsgcHJvY2Vzcy5lbnYuQlJBTkNILnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXFxcXFxcLy9nLCAnLScpO1xuICAgICAgcHJvcHMucHJvdmlkZUZlYXR1cmVTdGFjayh0aGlzLCAnJHt0aGlzLnN0YWNrUHJlZml4fS1mZWF0dXJlJywgeyBlbnY6ICR7SlNPTi5zdHJpbmdpZnkodGhpcy5iYXNlT3B0aW9ucy5mZWF0dXJlU3RhZ2VzLmVudil9LCBzdGFja05hbWU6IFxcYCR7dGhpcy5zdGFja1ByZWZpeH0tXFwke3N0YWdlTmFtZX1cXGAsIHN0YWdlTmFtZSB9KTtcbiAgICB9XG5gO1xuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2YgdGhpcy5iYXNlT3B0aW9ucy5zdGFnZXMpIHtcbiAgICAgIGNvbnN0IG5hbWVVcHBlckZpcnN0ID0gYCR7c3RhZ2UubmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke3N0YWdlLm5hbWUuc3Vic3RyaW5nKDEpfWA7XG5cbiAgICAgIHByb3BzQ29kZSArPSBgICAvKiogVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHVzZWQgdG8gZ2VuZXJhdGUgYSAke3N0YWdlLm5hbWV9IHN0YWNrLiAqL1xuICBwcm92aWRlJHtuYW1lVXBwZXJGaXJzdH1TdGFjazogKGFwcDogQXBwLCBzdGFja0lkOiBzdHJpbmcsIHByb3BzOiBQaXBlbGluZUFwcFN0YWNrUHJvcHMpID0+IFN0YWNrO1xuYDtcbiAgICAgIGFwcENvZGUgKz0gYCAgICAvLyBJZiBhIGZ1bmN0aW9uIGlzIHByb3ZpZGVkIGZvciBjcmVhdGluZyBhICR7c3RhZ2UubmFtZX0gc3RhY2ssIGl0IGlzIGNhbGxlZCB3aXRoIG5lY2Vzc2FyeSBhcmd1bWVudHMuXG4gICAgaWYgKHByb3BzLnByb3ZpZGUke25hbWVVcHBlckZpcnN0fVN0YWNrKSB7XG4gICAgICBwcm9wcy5wcm92aWRlJHtuYW1lVXBwZXJGaXJzdH1TdGFjayh0aGlzLCAnJHt0aGlzLnN0YWNrUHJlZml4fS0ke3N0YWdlLm5hbWV9JywgeyBlbnY6ICR7SlNPTi5zdHJpbmdpZnkoc3RhZ2UuZW52KX0sIHN0YWNrTmFtZTogJyR7dGhpcy5zdGFja1ByZWZpeH0tJHtzdGFnZS5uYW1lfScsIHN0YWdlTmFtZTogJyR7c3RhZ2UubmFtZX0nIH0pO1xuICAgIH1cbmA7XG4gICAgfVxuXG4gICAgY29uc3QgYXBwRmlsZSA9IG5ldyBUZXh0RmlsZSh0aGlzLnByb2plY3QsIGAke3RoaXMuYXBwLnNyY2Rpcn0vYXBwLnRzYCk7XG4gICAgYXBwRmlsZS5hZGRMaW5lKGAvLyAke1BST0pFTl9NQVJLRVJ9XG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IHsgQXBwLCBBcHBQcm9wcywgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5cbi8qKlxuICogUGlwZWxpbmVBcHBQcm9wcyBpcyBhbiBleHRlbnNpb24gb2YgQXBwUHJvcHMsIHdoaWNoIGlzIHBhcnQgb2YgdGhlIEFXUyBDREsgY29yZS5cbiAqIEl0IGluY2x1ZGVzIG9wdGlvbmFsIGZ1bmN0aW9ucyB0byBwcm92aWRlIEFXUyBTdGFja3MgZm9yIGRpZmZlcmVudCBzdGFnZXMuXG4gKlxuICogVXNlIHRoZXNlIGZ1bmN0aW9ucyB0byBpbnN0YW50aWF0ZSB5b3VyIGFwcGxpY2F0aW9uIHN0YWNrcyB3aXRoIHRoZSBwYXJhbWV0ZXJzIGZvclxuICogZWFjaCBzdGFnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBpcGVsaW5lQXBwUHJvcHMgZXh0ZW5kcyBBcHBQcm9wcyB7XG4ke3Byb3BzQ29kZX1cbn1cblxuLyoqXG4gKiBQaXBlbGluZUFwcFN0YWNrUHJvcHMgaXMgYW4gZXh0ZW5zaW9uIG9mIFN0YWNrUHJvcHMsIHdoaWNoIGlzIHBhcnQgb2YgdGhlIEFXUyBDREsgY29yZS5cbiAqIEl0IGluY2x1ZGVzIGFuIGFkZGl0aW9uYWwgcHJvcGVydHkgdG8gc3BlY2lmeSB0aGUgc3RhZ2UgbmFtZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZUFwcFN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgc3RhZ2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIFBpcGVsaW5lQXBwIGNsYXNzIGV4dGVuZHMgdGhlIEFwcCBjbGFzcyBmcm9tIEFXUyBDREsgYW5kIG92ZXJyaWRlcyB0aGUgY29uc3RydWN0b3IgdG8gc3VwcG9ydFxuICogZGlmZmVyZW50IHN0YWdlcyBvZiB0aGUgYXBwbGljYXRpb24gKGRldmVsb3BtZW50LCBwcm9kdWN0aW9uLCBwZXJzb25hbCwgZmVhdHVyZSkgYnkgaW52b2tpbmcgdGhlIHByb3ZpZGVkXG4gKiBzdGFjay1wcm92aWRpbmcgZnVuY3Rpb25zIGZyb20gdGhlIHByb3BzLlxuICovXG5leHBvcnQgY2xhc3MgUGlwZWxpbmVBcHAgZXh0ZW5kcyBBcHAge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogUGlwZWxpbmVBcHBQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcblxuJHthcHBDb2RlfVxuXG4gIH1cbn1cbmApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGFza3MgdG8gcHVibGlzaCBDREsgYXNzZXRzIHRvIGFsbCBhY2NvdW50cyBhbmQgaGFuZGxlIHZlcnNpb25pbmcsIGluY2x1ZGluZyBidW1waW5nIHRoZSB2ZXJzaW9uXG4gICAqIGJhc2VkIG9uIHRoZSBsYXRlc3QgZ2l0IHRhZyBhbmQgcHVzaGluZyB0aGUgQ0RLIGFzc2VtYmx5IHRvIHRoZSBwYWNrYWdlIHJlcG9zaXRvcnkuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUmVsZWFzZVRhc2tzKCkge1xuICAgIC8vIFRhc2sgdG8gcHVibGlzaCB0aGUgQ0RLIGFzc2V0cyB0byBhbGwgYWNjb3VudHNcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygncHVibGlzaDphc3NldHMnLCB7XG4gICAgICBzdGVwczogdGhpcy5iYXNlT3B0aW9ucy5zdGFnZXMubWFwKHN0YWdlID0+ICh7XG4gICAgICAgIGV4ZWM6IGBucHggY2RrLWFzc2V0cyAtcCAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9LyR7dGhpcy5zdGFja1ByZWZpeH0tJHtzdGFnZS5uYW1lfS5hc3NldHMuanNvbiBwdWJsaXNoYCxcbiAgICAgIH0pKSxcbiAgICB9KTtcblxuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdidW1wJywge1xuICAgICAgZGVzY3JpcHRpb246ICdCdW1wcyB2ZXJzaW9uIGJhc2VkIG9uIGxhdGVzdCBnaXQgdGFnJyxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleGVjOiAncGlwZWxpbmVzLXJlbGVhc2UgYnVtcCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBleGVjOiAnZ2l0IHB1c2ggLS10YWdzJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ3JlbGVhc2U6cHVzaC1hc3NlbWJseScsIHtcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBleGVjOiBgcGlwZWxpbmVzLXJlbGVhc2UgY3JlYXRlLW1hbmlmZXN0IFwiJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fVwiICBcIiR7dGhpcy5iYXNlT3B0aW9ucy5wa2dOYW1lc3BhY2V9XCJgLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY3dkOiB0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0LFxuICAgICAgICAgIGV4ZWM6ICducG0gdmVyc2lvbiAtLW5vLWdpdC10YWctdmVyc2lvbiBmcm9tLWdpdCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjd2Q6IHRoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXQsXG4gICAgICAgICAgZXhlYzogJ25wbSBwdWJsaXNoJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2Qgc2V0cyB1cCB0YXNrcyBmb3IgdGhlIHBlcnNvbmFsIGRlcGxveW1lbnQgc3RhZ2UsIGluY2x1ZGluZyBkZXBsb3ltZW50LCB3YXRjaGluZyBmb3IgY2hhbmdlcyxcbiAgICogY29tcGFyaW5nIGNoYW5nZXMgKGRpZmYpLCBhbmQgZGVzdHJveWluZyB0aGUgc3RhY2sgd2hlbiBubyBsb25nZXIgbmVlZGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVBlcnNvbmFsU3RhZ2UoKSB7XG4gICAgY29uc3Qgc3RhY2tJZCA9IHRoaXMuZ2V0Q2xpU3RhY2tQYXR0ZXJuKCdwZXJzb25hbCcpO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdkZXBsb3k6cGVyc29uYWwnLCB7XG4gICAgICBleGVjOiBgY2RrIC0tb3V0cHV0cy1maWxlIGNkay1vdXRwdXRzLXBlcnNvbmFsLmpzb24gZGVwbG95ICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCd3YXRjaDpwZXJzb25hbCcsIHtcbiAgICAgIGV4ZWM6IGBjZGsgZGVwbG95IC0td2F0Y2ggLS1ob3Rzd2FwICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdkaWZmOnBlcnNvbmFsJywge1xuICAgICAgZXhlYzogYGNkayBkaWZmICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdkZXN0cm95OnBlcnNvbmFsJywge1xuICAgICAgZXhlYzogYGNkayBkZXN0cm95ICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGFza3MgZm9yIHRoZSBmZWF0dXJlIGRlcGxveW1lbnQgc3RhZ2UsIGluY2x1ZGluZyBkZXBsb3ltZW50LCBjb21wYXJpbmcgY2hhbmdlcyAoZGlmZiksXG4gICAqIGFuZCBkZXN0cm95aW5nIHRoZSBzdGFjayB3aGVuIG5vIGxvbmdlciBuZWVkZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlRmVhdHVyZVN0YWdlKCkge1xuICAgIGNvbnN0IHN0YWNrSWQgPSB0aGlzLmdldENsaVN0YWNrUGF0dGVybignZmVhdHVyZScpO1xuICAgIHRoaXMucHJvamVjdC5hZGRUYXNrKCdkZXBsb3k6ZmVhdHVyZScsIHtcbiAgICAgIGV4ZWM6IGBjZGsgLS1vdXRwdXRzLWZpbGUgY2RrLW91dHB1dHMtZmVhdHVyZS5qc29uIC0tcHJvZ3Jlc3MgZXZlbnRzIC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciBkZXBsb3kgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soJ2RpZmY6ZmVhdHVyZScsIHtcbiAgICAgIGV4ZWM6IGBjZGsgZGlmZiAke3N0YWNrSWR9YCxcbiAgICB9KTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzaygnZGVzdHJveTpmZWF0dXJlJywge1xuICAgICAgZXhlYzogYGNkayBkZXN0cm95ICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGFza3MgZm9yIHRoZSBnZW5lcmFsIHBpcGVsaW5lIHN0YWdlcyAoZGV2LCBwcm9kKSwgaW5jbHVkaW5nIGRlcGxveW1lbnQgYW5kIGNvbXBhcmluZyBjaGFuZ2VzIChkaWZmKS5cbiAgICogQHBhcmFtIHtEZXBsb3lTdGFnZU9wdGlvbnN9IHN0YWdlIC0gVGhlIHN0YWdlIHRvIGNyZWF0ZVxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVBpcGVsaW5lU3RhZ2Uoc3RhZ2U6IERlcGxveW1lbnRTdGFnZSkge1xuICAgIGNvbnN0IHN0YWNrSWQgPSB0aGlzLmdldENsaVN0YWNrUGF0dGVybihzdGFnZS5uYW1lKTtcbiAgICB0aGlzLnByb2plY3QuYWRkVGFzayhgZGVwbG95OiR7c3RhZ2UubmFtZX1gLCB7XG4gICAgICBleGVjOiBgY2RrIC0tYXBwICR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0gLS1vdXRwdXRzLWZpbGUgY2RrLW91dHB1dHMtJHtzdGFnZS5uYW1lfS5qc29uIC0tcHJvZ3Jlc3MgZXZlbnRzIC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlciBkZXBsb3kgJHtzdGFja0lkfWAsXG4gICAgfSk7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFRhc2soYGRpZmY6JHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgIGV4ZWM6IGBjZGsgLS1hcHAgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fSBkaWZmICR7c3RhY2tJZH1gLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENsaVN0YWNrUGF0dGVybihzdGFnZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZU9wdGlvbnMuZGVwbG95U3ViU3RhY2tzID8gYCR7dGhpcy5zdGFja1ByZWZpeH0tJHtzdGFnZX0gJHt0aGlzLnN0YWNrUHJlZml4fS0ke3N0YWdlfS8qYCA6IGAke3RoaXMuc3RhY2tQcmVmaXh9LSR7c3RhZ2V9YDtcbiAgfVxufSJdfQ==
@@ -72,5 +72,5 @@ class BashCDKPipeline extends base_1.CDKPipeline {
72
72
  }
73
73
  exports.BashCDKPipeline = BashCDKPipeline;
74
74
  _a = JSII_RTTI_SYMBOL_1;
75
- BashCDKPipeline[_a] = { fqn: "projen-pipelines.BashCDKPipeline", version: "0.0.61" };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYmFzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUEwQztBQUMxQyxpQ0FBeUQ7QUFDekQsc0NBQTJDO0FBTTNDLE1BQWEsZUFBZ0IsU0FBUSxrQkFBVztJQUU5QyxZQUFZLEdBQStCLEVBQUUsT0FBK0I7UUFDMUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5CLE1BQU0sQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FB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QUMxQyxNQUFNLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDNUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVyQixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sdUJBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7QUF2RUgsMENBeUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGV4dEZpbGUsIGF3c2NkayB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBDREtQaXBlbGluZSwgQ0RLUGlwZWxpbmVPcHRpb25zIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNoQ0RLUGlwZWxpbmVPcHRpb25zIGV4dGVuZHMgQ0RLUGlwZWxpbmVPcHRpb25zIHtcbiAgLy9cbn1cblxuZXhwb3J0IGNsYXNzIEJhc2hDREtQaXBlbGluZSBleHRlbmRzIENES1BpcGVsaW5lIHtcblxuICBjb25zdHJ1Y3RvcihhcHA6IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBvcHRpb25zOiBCYXNoQ0RLUGlwZWxpbmVPcHRpb25zKSB7XG4gICAgc3VwZXIoYXBwLCBvcHRpb25zKTtcblxuICAgIGNvbnN0IHJlYWRtZSA9IG5ldyBUZXh0RmlsZSh0aGlzLCAncGlwZWxpbmUubWQnLCB7IGxpbmVzOiBbXSB9KTtcblxuICAgIHJlYWRtZS5hZGRMaW5lKCcjIEhvdyB0byBydW4geW91ciBwaXBlbGluZScpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCcnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnIyMgQnVpbGQgcGhhc2UnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG5cbiAgICByZWFkbWUuYWRkTGluZSgnU3ludGhlc2l6ZSB5b3VyIENESyBwcm9qZWN0OicpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGBiYXNoJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7KG9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5mbGF0TWFwKHMgPT4gcy50b0Jhc2goKS5jb21tYW5kcykuam9pbignXFxuJyl9YCk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5yZW5kZXJJbnN0YWxsQ29tbWFuZHMoKS5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZShgJHsob3B0aW9ucy5wcmVTeW50aFN0ZXBzID8/IFtdKS5mbGF0TWFwKHMgPT4gcy50b0Jhc2goKS5jb21tYW5kcykuam9pbignXFxuJyl9YCk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5yZW5kZXJTeW50aENvbW1hbmRzKCkuam9pbignXFxuJyl9YCk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7KG9wdGlvbnMucG9zdFN5bnRoU3RlcHMgPz8gW10pLmZsYXRNYXAocyA9PiBzLnRvQmFzaCgpLmNvbW1hbmRzKS5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuXG4gICAgcmVhZG1lLmFkZExpbmUoJ1B1Ymxpc2ggYWxsIHlvdXIgQ0RLIGFzc2V0cyBsaWtlIExhbWJkYSBmdW5jdGlvbiBjb2RlIGFuZCBjb250YWluZXIgaW1hZ2VzOicpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGBiYXNoJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7KG9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5mbGF0TWFwKHMgPT4gcy50b0Jhc2goKS5jb21tYW5kcykuam9pbignXFxuJyl9YCk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5yZW5kZXJJbnN0YWxsQ29tbWFuZHMoKS5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZShgJHt0aGlzLmdldEFzc2V0VXBsb2FkQ29tbWFuZHMoZmFsc2UpLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGAnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ0lmIHlvdSB3YW50IHRvIHN0b3JlIHlvdXIgY2xvdWQgYXNzZW1ibHkgYW5kIGFzc2V0cyBmb3IgZnV0dXJlIHVzZSBvciBjb21wbGlhbmNlIHJlYXNvbnMsIHVzZTonKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgYmFzaCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAkeyhvcHRpb25zLnByZUluc3RhbGxTdGVwcyA/PyBbXSkuZmxhdE1hcChzID0+IHMudG9CYXNoKCkuY29tbWFuZHMpLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkuam9pbignXFxuJyl9YCk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5nZXRBc3NldFVwbG9hZENvbW1hbmRzKHRydWUpLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGAnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJyMjIERlcGxveW1lbnQgcGhhc2UnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ0ZvciBldmVyeSBzdGFnZSBzb21lIHNjcmlwdHMgYXJlIGdlbmVyYXRlZCBmb3IgZGlmZiBhbmQgZGVwbG95Jyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgcmVhZG1lLmFkZExpbmUoYFN0YWdlOiAke3N0YWdlLm5hbWV9YCk7XG4gICAgICByZWFkbWUuYWRkTGluZSgnYGBgYmFzaCcpO1xuICAgICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5yZW5kZXJEaWZmQ29tbWFuZHMoc3RhZ2UubmFtZSkuam9pbignXFxuJyl9YCk7XG4gICAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgICByZWFkbWUuYWRkTGluZShgJHt0aGlzLnJlbmRlckRlcGxveUNvbW1hbmRzKHN0YWdlLm5hbWUpLmpvaW4oJ1xcbicpfWApO1xuICAgICAgcmVhZG1lLmFkZExpbmUoJ2BgYCcpO1xuICAgICAgcmVhZG1lLmFkZExpbmUoJycpO1xuICAgIH1cblxuICAgIHJlYWRtZS5hZGRMaW5lKCdUaGUgc3RhZ2UgYHBlcnNvbmFsYCBpcyBtZWFudCB0byBiZSBkZXBsb3llZCBtYW51YWxseSBieSB0aGUgZGV2ZWxvcGVyIGFuZCBhbHNvIGhhcyBhIHdhdGNoIHNjcmlwdCBmb3IgbGl2ZSB1cGRhdGVzLicpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGBiYXNoJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ25weCBwcm9qZW4gZGlmZjpwZXJzb25hbCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCducHggcHJvamVuIGRlcGxveTpwZXJzb25hbCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCducHggcHJvamVuIGRlc3Ryb3k6cGVyc29uYWwnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnbnB4IHByb2plbiB3YXRjaDpwZXJzb25hbCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGAnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ1RoZSBzdGFnZSBgZmVhdHVyZWAgaXMgbWVhbnQgdG8gYmUgZGVwbG95ZWQgZm9yIGZlYXR1cmUgYnJhbmNoZXMuJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ2BgYGJhc2gnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnbnB4IHByb2plbiBkaWZmOmZlYXR1cmUnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnbnB4IHByb2plbiBkZXBsb3k6ZmVhdHVyZScpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCducHggcHJvamVuIGRlc3Ryb3k6ZmVhdHVyZScpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGAnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBlbmdpbmVUeXBlKCk6IFBpcGVsaW5lRW5naW5lIHtcbiAgICByZXR1cm4gUGlwZWxpbmVFbmdpbmUuQkFTSDtcbiAgfVxuXG59XG4iXX0=
75
+ BashCDKPipeline[_a] = { fqn: "projen-pipelines.BashCDKPipeline", version: "0.0.62" };
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYmFzaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1DQUEwQztBQUMxQyxpQ0FBeUQ7QUFDekQsc0NBQTJDO0FBTTNDLE1BQWEsZUFBZ0IsU0FBUSxrQkFBVztJQUU5QyxZQUFZLEdBQStCLEVBQUUsT0FBK0I7UUFDMUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUVwQixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFRLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRW5CLE1BQU0sQ0FBQyxPQUFPLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FB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QUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUM3QyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFckIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLHVCQUFjLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7O0FBdkVILDBDQXlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRGaWxlLCBhd3NjZGsgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ0RLUGlwZWxpbmUsIENES1BpcGVsaW5lT3B0aW9ucyB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBQaXBlbGluZUVuZ2luZSB9IGZyb20gJy4uL2VuZ2luZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzaENES1BpcGVsaW5lT3B0aW9ucyBleHRlbmRzIENES1BpcGVsaW5lT3B0aW9ucyB7XG4gIC8vXG59XG5cbmV4cG9ydCBjbGFzcyBCYXNoQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDREtQaXBlbGluZSB7XG5cbiAgY29uc3RydWN0b3IoYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgb3B0aW9uczogQmFzaENES1BpcGVsaW5lT3B0aW9ucykge1xuICAgIHN1cGVyKGFwcCwgb3B0aW9ucyk7XG5cbiAgICBjb25zdCByZWFkbWUgPSBuZXcgVGV4dEZpbGUodGhpcywgJ3BpcGVsaW5lLm1kJywgeyBsaW5lczogW10gfSk7XG5cbiAgICByZWFkbWUuYWRkTGluZSgnIyBIb3cgdG8gcnVuIHlvdXIgcGlwZWxpbmUnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJyMjIEJ1aWxkIHBoYXNlJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuXG4gICAgcmVhZG1lLmFkZExpbmUoJ1N5bnRoZXNpemUgeW91ciBDREsgcHJvamVjdDonKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgYmFzaCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAkeyhvcHRpb25zLnByZUluc3RhbGxTdGVwcyA/PyBbXSkuZmxhdE1hcChzID0+IHMudG9CYXNoKCkuY29tbWFuZHMpLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkuam9pbignXFxuJyl9YCk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7KG9wdGlvbnMucHJlU3ludGhTdGVwcyA/PyBbXSkuZmxhdE1hcChzID0+IHMudG9CYXNoKCkuY29tbWFuZHMpLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMucmVuZGVyU3ludGhDb21tYW5kcygpLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAkeyhvcHRpb25zLnBvc3RTeW50aFN0ZXBzID8/IFtdKS5mbGF0TWFwKHMgPT4gcy50b0Jhc2goKS5jb21tYW5kcykuam9pbignXFxuJyl9YCk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ2BgYCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCcnKTtcblxuICAgIHJlYWRtZS5hZGRMaW5lKCdQdWJsaXNoIGFsbCB5b3VyIENESyBhc3NldHMgbGlrZSBMYW1iZGEgZnVuY3Rpb24gY29kZSBhbmQgY29udGFpbmVyIGltYWdlczonKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgYmFzaCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAkeyhvcHRpb25zLnByZUluc3RhbGxTdGVwcyA/PyBbXSkuZmxhdE1hcChzID0+IHMudG9CYXNoKCkuY29tbWFuZHMpLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkuam9pbignXFxuJyl9YCk7XG4gICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5nZXRBc3NldFVwbG9hZENvbW1hbmRzKGZhbHNlKS5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdJZiB5b3Ugd2FudCB0byBzdG9yZSB5b3VyIGNsb3VkIGFzc2VtYmx5IGFuZCBhc3NldHMgZm9yIGZ1dHVyZSB1c2Ugb3IgY29tcGxpYW5jZSByZWFzb25zLCB1c2U6Jyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ2BgYGJhc2gnKTtcbiAgICByZWFkbWUuYWRkTGluZShgJHsob3B0aW9ucy5wcmVJbnN0YWxsU3RlcHMgPz8gW10pLmZsYXRNYXAocyA9PiBzLnRvQmFzaCgpLmNvbW1hbmRzKS5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZShgJHt0aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpLmpvaW4oJ1xcbicpfWApO1xuICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMuZ2V0QXNzZXRVcGxvYWRDb21tYW5kcyh0cnVlKS5qb2luKCdcXG4nKX1gKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCcjIyBEZXBsb3ltZW50IHBoYXNlJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdGb3IgZXZlcnkgc3RhZ2Ugc29tZSBzY3JpcHRzIGFyZSBnZW5lcmF0ZWQgZm9yIGRpZmYgYW5kIGRlcGxveScpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCcnKTtcblxuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2Ygb3B0aW9ucy5zdGFnZXMpIHtcbiAgICAgIHJlYWRtZS5hZGRMaW5lKGBTdGFnZTogJHtzdGFnZS5uYW1lfWApO1xuICAgICAgcmVhZG1lLmFkZExpbmUoJ2BgYGJhc2gnKTtcbiAgICAgIHJlYWRtZS5hZGRMaW5lKGAke3RoaXMucmVuZGVyRGlmZkNvbW1hbmRzKHN0YWdlLm5hbWUpLmpvaW4oJ1xcbicpfWApO1xuICAgICAgcmVhZG1lLmFkZExpbmUoJycpO1xuICAgICAgcmVhZG1lLmFkZExpbmUoYCR7dGhpcy5yZW5kZXJEZXBsb3lDb21tYW5kcyhzdGFnZS5uYW1lKS5qb2luKCdcXG4nKX1gKTtcbiAgICAgIHJlYWRtZS5hZGRMaW5lKCdgYGAnKTtcbiAgICAgIHJlYWRtZS5hZGRMaW5lKCcnKTtcbiAgICB9XG5cbiAgICByZWFkbWUuYWRkTGluZSgnVGhlIHN0YWdlIGBwZXJzb25hbGAgaXMgbWVhbnQgdG8gYmUgZGVwbG95ZWQgbWFudWFsbHkgYnkgdGhlIGRldmVsb3BlciBhbmQgYWxzbyBoYXMgYSB3YXRjaCBzY3JpcHQgZm9yIGxpdmUgdXBkYXRlcy4nKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgYmFzaCcpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCducHggcHJvamVuIGRpZmY6cGVyc29uYWwnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnbnB4IHByb2plbiBkZXBsb3k6cGVyc29uYWwnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnbnB4IHByb2plbiBkZXN0cm95OnBlcnNvbmFsJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ25weCBwcm9qZW4gd2F0Y2g6cGVyc29uYWwnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdUaGUgc3RhZ2UgYGZlYXR1cmVgIGlzIG1lYW50IHRvIGJlIGRlcGxveWVkIGZvciBmZWF0dXJlIGJyYW5jaGVzLicpO1xuICAgIHJlYWRtZS5hZGRMaW5lKCdgYGBiYXNoJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ25weCBwcm9qZW4gZGlmZjpmZWF0dXJlJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJ25weCBwcm9qZW4gZGVwbG95OmZlYXR1cmUnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnbnB4IHByb2plbiBkZXN0cm95OmZlYXR1cmUnKTtcbiAgICByZWFkbWUuYWRkTGluZSgnYGBgJyk7XG4gICAgcmVhZG1lLmFkZExpbmUoJycpO1xuXG4gIH1cblxuICBwdWJsaWMgZW5naW5lVHlwZSgpOiBQaXBlbGluZUVuZ2luZSB7XG4gICAgcmV0dXJuIFBpcGVsaW5lRW5naW5lLkJBU0g7XG4gIH1cblxufVxuIl19
@@ -100,6 +100,9 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
100
100
  runsOn: this.options.runnerTags ?? DEFAULT_RUNNER_TAGS,
101
101
  env: {
102
102
  CI: 'true',
103
+ ...preInstallSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
104
+ ...preSynthSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
105
+ ...postSynthSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
103
106
  },
104
107
  needs: [...preInstallSteps.flatMap(s => s.needs), ...preSynthSteps.flatMap(s => s.needs), ...postSynthSteps.flatMap(s => s.needs)],
105
108
  permissions: {
@@ -123,6 +126,7 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
123
126
  runsOn: this.options.runnerTags ?? DEFAULT_RUNNER_TAGS,
124
127
  env: {
125
128
  CI: 'true',
129
+ ...preInstallSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
126
130
  },
127
131
  permissions: {
128
132
  idToken: workflows_model_1.JobPermission.WRITE,
@@ -189,6 +193,7 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
189
193
  runsOn: this.options.runnerTags ?? DEFAULT_RUNNER_TAGS,
190
194
  env: {
191
195
  CI: 'true',
196
+ ...preInstallSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
192
197
  },
193
198
  permissions: {
194
199
  idToken: workflows_model_1.JobPermission.WRITE,
@@ -239,6 +244,7 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
239
244
  runsOn: this.options.runnerTags ?? DEFAULT_RUNNER_TAGS,
240
245
  env: {
241
246
  CI: 'true',
247
+ ...preInstallSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
242
248
  },
243
249
  permissions: {
244
250
  idToken: workflows_model_1.JobPermission.WRITE,
@@ -286,5 +292,5 @@ class GithubCDKPipeline extends base_1.CDKPipeline {
286
292
  }
287
293
  exports.GithubCDKPipeline = GithubCDKPipeline;
288
294
  _a = JSII_RTTI_SYMBOL_1;
289
- GithubCDKPipeline[_a] = { fqn: "projen-pipelines.GithubCDKPipeline", version: "0.0.61" };
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSx1RUFBMkU7QUFDM0UsaUNBQTBFO0FBQzFFLHNDQUEyQztBQUUzQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFxQzlDOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxrQkFBVztJQVloRDs7OztPQUlHO0lBQ0gsWUFBWSxHQUErQixFQUFVLE9BQWlDO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVCxHQUFHLE9BQU87WUFDVixHQUFHLE9BQU8sQ0FBQyw0QkFBNEIsSUFBSTtnQkFDekMsa0JBQWtCLEVBQUU7b0JBQ2xCLGdFQUFnRTtvQkFDaEUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUM7aUJBQ3RDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFUZ0QsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFWdEYsa0RBQWtEO1FBQzFDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQW9CdEMsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUM1QjtZQUNELGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQyxDQUFDO1FBRUgsa0RBQWtEO1FBQ2xELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFD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OzRCQUNuQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNO3lCQUMvQjtxQkFDRixFQUFFO3dCQUNELElBQUksRUFBRSw4QkFBOEI7d0JBQ3BDLElBQUksRUFBRTs0QkFDSixJQUFJLEVBQUUsZ0JBQWdCOzRCQUN0QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUc7eUJBQ3RDO3FCQUNGO29CQUNELEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ3hDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDMUMsR0FBRyxFQUFFLEdBQUc7cUJBQ1QsQ0FBQyxDQUFDO29CQUNILEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCxHQUFHLEVBQUUsR0FBRztxQkFDVCxDQUFDLENBQUM7b0JBQ0g7d0JBQ0UsSUFBSSxFQUFFLDRCQUE0Qjt3QkFDbEMsSUFBSSxFQUFFOzRCQUNKLElBQUksRUFBRSxlQUFlLEtBQUssQ0FBQyxJQUFJLEVBQUU7NEJBQ2pDLElBQUksRUFBRSxlQUFlLEtBQUssQ0FBQyxJQUFJLE9BQU87eUJBQ3ZDO3FCQUNGLENBQUM7YUFDSCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7O0FBeFNILDhDQXlTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF3c2NkayB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBHaXRodWJXb3JrZmxvdyB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViJztcbmltcG9ydCB7IEpvYlBlcm1pc3Npb24sIEpvYlN0ZXAgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgQ0RLUGlwZWxpbmUsIENES1BpcGVsaW5lT3B0aW9ucywgRGVwbG95bWVudFN0YWdlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcblxuY29uc3QgREVGQVVMVF9SVU5ORVJfVEFHUyA9IFsndWJ1bnR1LWxhdGVzdCddO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gaW50ZXJmYWNlIGZvciBHaXRIdWItc3BlY2lmaWMgSUFNIHJvbGVzIHVzZWQgaW4gdGhlIENESyBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJJYW1Sb2xlQ29uZmlnIHtcblxuICAvKiogRGVmYXVsdCBJQU0gcm9sZSBBUk4gdXNlZCBpZiBubyBzcGVjaWZpYyByb2xlIGlzIHByb3ZpZGVkLiAqL1xuICByZWFkb25seSBkZWZhdWx0Pzogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIGZvciB0aGUgc3ludGhlc2lzIHN0ZXAuICovXG4gIHJlYWRvbmx5IHN5bnRoPzogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIGZvciB0aGUgYXNzZXQgcHVibGlzaGluZyBzdGVwLiAqL1xuICByZWFkb25seSBhc3NldFB1Ymxpc2hpbmc/OiBzdHJpbmc7XG4gIC8qKiBJQU0gcm9sZSBBUk5zIGZvciBkaWZmZXJlbnQgZGVwbG95bWVudCBzdGFnZXMuICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnQ/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogRXh0ZW5zaW9uIG9mIHRoZSBiYXNlIENES1BpcGVsaW5lIG9wdGlvbnMgaW5jbHVkaW5nIHNwZWNpZmljIGNvbmZpZ3VyYXRpb25zIGZvciBHaXRIdWIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0aHViQ0RLUGlwZWxpbmVPcHRpb25zIGV4dGVuZHMgQ0RLUGlwZWxpbmVPcHRpb25zIHtcblxuICAvKiogSUFNIGNvbmZpZyBmb3IgR2l0SHViIEFjdGlvbnMgKi9cbiAgcmVhZG9ubHkgaWFtUm9sZUFybnM6IEdpdGh1YklhbVJvbGVDb25maWc7XG5cbiAgLyoqXG4gICAqIHJ1bm5lciB0YWdzIHRvIHVzZSB0byBzZWxlY3QgcnVubmVyc1xuICAgKlxuICAgKiBAZGVmYXVsdCBbJ3VidW50dS1sYXRlc3QnXVxuICAgKi9cbiAgcmVhZG9ubHkgcnVubmVyVGFncz86IHN0cmluZ1tdO1xuXG4gIC8qKiB1c2UgR2l0SHViIFBhY2thZ2VzIHRvIHN0b3JlIHZlc2lvbmVkIGFydGlmYWN0cyBvZiBjbG91ZCBhc3NlbWJseTsgYWxzbyBuZWVkZWQgZm9yIG1hbnVhbCBhcHByb3ZhbHMgKi9cbiAgcmVhZG9ubHkgdXNlR2l0aHViUGFja2FnZXNGb3JBc3NlbWJseT86IGJvb2xlYW47XG59XG5cblxuLyoqXG4gKiBJbXBsZW1lbnRzIGEgQ0RLIFBpcGVsaW5lIGNvbmZpZ3VyZWQgc3BlY2lmaWNhbGx5IGZvciBHaXRIdWIgd29ya2Zsb3dzLlxuICovXG5leHBvcnQgY2xhc3MgR2l0aHViQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDREtQaXBlbGluZSB7XG5cbiAgLyoqIEluZGljYXRlcyBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSBuZWVkZWQgYmFzZWQgb24gbWFudWFsIGFwcHJvdmFsIHJlcXVpcmVtZW50cy4gKi9cbiAgcHVibGljIHJlYWRvbmx5IG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgR2l0SHViIHdvcmtmbG93IGFzc29jaWF0ZWQgd2l0aCB0aGUgcGlwZWxpbmUuICovXG4gIHByaXZhdGUgZGVwbG95bWVudFdvcmtmbG93OiBHaXRodWJXb3JrZmxvdztcbiAgLyoqIExpc3Qgb2YgZGVwbG95bWVudCBzdGFnZXMgZm9yIHRoZSBwaXBlbGluZS4gKi9cbiAgcHJpdmF0ZSBkZXBsb3ltZW50U3RhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByb3RlY3RlZCB1c2VHaXRodWJQYWNrYWdlczogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBHaXRodWJDREtQaXBlbGluZSBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGFwcCAtIFRoZSBDREsgYXBwIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHBpcGVsaW5lLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJpdmF0ZSBvcHRpb25zOiBHaXRodWJDREtQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHAsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAuLi5vcHRpb25zLnVzZUdpdGh1YlBhY2thZ2VzRm9yQXNzZW1ibHkgJiYge1xuICAgICAgICBwcmVJbnN0YWxsQ29tbWFuZHM6IFtcbiAgICAgICAgICAnZWNobyBcIkdJVEhVQl9UT0tFTj0ke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX1cIiA+PiAkR0lUSFVCX0VOVicsXG4gICAgICAgICAgLi4uKG9wdGlvbnMucHJlSW5zdGFsbENvbW1hbmRzID8/IFtdKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBJbml0aWFsaXplIHRoZSBkZXBsb3ltZW50IHdvcmtmbG93IG9uIEdpdEh1Yi5cbiAgICB0aGlzLmRlcGxveW1lbnRXb3JrZmxvdyA9IHRoaXMuYXBwLmdpdGh1YiEuYWRkV29ya2Zsb3coJ2RlcGxveScpO1xuICAgIHRoaXMuZGVwbG95bWVudFdvcmtmbG93Lm9uKHtcbiAgICAgIHB1c2g6IHtcbiAgICAgICAgYnJhbmNoZXM6IFt0aGlzLmJyYW5jaE5hbWVdLFxuICAgICAgfSxcbiAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHt9LFxuICAgIH0pO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHZlcnNpb25lZCBhcnRpZmFjdHMgYXJlIG5lY2Vzc2FyeS5cbiAgICB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID0gb3B0aW9ucy5zdGFnZXMuZmluZChzID0+IHMubWFudWFsQXBwcm92YWwgPT09IHRydWUpICE9PSB1bmRlZmluZWQ7O1xuICAgIHRoaXMudXNlR2l0aHViUGFja2FnZXMgPSB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzICYmIChvcHRpb25zLnVzZUdpdGh1YlBhY2thZ2VzRm9yQXNzZW1ibHkgPz8gZmFsc2UpO1xuXG4gICAgaWYgKHRoaXMudXNlR2l0aHViUGFja2FnZXMpIHtcbiAgICAgIGFwcC5ucG1yYy5hZGRSZWdpc3RyeSgnaHR0cHM6Ly9ucG0ucGtnLmdpdGh1Yi5jb20nLCB0aGlzLm9wdGlvbnMucGtnTmFtZXNwYWNlKTtcbiAgICAgIGFwcC5ucG1yYy5hZGRDb25maWcoJy8vbnBtLnBrZy5naXRodWIuY29tLzpfYXV0aFRva2VuJywgJyR7R0lUSFVCX1RPS0VOfScpO1xuICAgICAgYXBwLm5wbXJjLmFkZENvbmZpZygnLy9ucG0ucGtnLmdpdGh1Yi5jb20vOmFsd2F5cy1hdXRoJywgJ3RydWUnKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgam9icyBmb3Igc3ludGhlc2l6aW5nLCBhc3NldCB1cGxvYWRpbmcsIGFuZCBkZXBsb3ltZW50LlxuICAgIHRoaXMuY3JlYXRlU3ludGgoKTtcblxuICAgIHRoaXMuY3JlYXRlQXNzZXRVcGxvYWQoKTtcblxuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2Ygb3B0aW9ucy5zdGFnZXMpIHtcbiAgICAgIHRoaXMuY3JlYXRlRGVwbG95bWVudChzdGFnZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIHRoZSB0eXBlIG9mIGVuZ2luZSB0aGlzIGltcGxlbWVudGF0aW9uIG9mIENES1BpcGVsaW5lIGlzIGZvciAqL1xuICBwdWJsaWMgZW5naW5lVHlwZSgpOiBQaXBlbGluZUVuZ2luZSB7XG4gICAgcmV0dXJuIFBpcGVsaW5lRW5naW5lLkdJVEhVQjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc3ludGhlc2lzIGpvYiBmb3IgdGhlIHBpcGVsaW5lIHVzaW5nIEdpdEh1YiBBY3Rpb25zLlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTeW50aCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGVwczogSm9iU3RlcFtdID0gW3tcbiAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2NCcsXG4gICAgfV07XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zPy5zeW50aCkge1xuICAgICAgc3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdBV1MgQ3JlZGVudGlhbHMnLFxuICAgICAgICB1c2VzOiAnYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0BtYXN0ZXInLFxuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogdGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zLnN5bnRoLFxuICAgICAgICAgICdyb2xlLXNlc3Npb24tbmFtZSc6ICdHaXRIdWJBY3Rpb24nLFxuICAgICAgICAgICdhd3MtcmVnaW9uJzogJ3VzLWVhc3QtMScsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgcHJlSW5zdGFsbFN0ZXBzID0gKHRoaXMub3B0aW9ucy5wcmVJbnN0YWxsU3RlcHMgPz8gW10pLm1hcChzID0+IHMudG9HaXRodWIoKSk7XG4gICAgY29uc3QgcHJlU3ludGhTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlU3ludGhTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcbiAgICBjb25zdCBwb3N0U3ludGhTdGVwcyA9ICh0aGlzLm9wdGlvbnMucG9zdFN5bnRoU3RlcHMgPz8gW10pLm1hcChzID0+IHMudG9HaXRodWIoKSk7XG5cbiAgICBzdGVwcy5wdXNoKC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcykpO1xuICAgIHN0ZXBzLnB1c2goLi4udGhpcy5yZW5kZXJJbnN0YWxsQ29tbWFuZHMoKS5tYXAoY21kID0+ICh7XG4gICAgICBydW46IGNtZCxcbiAgICB9KSkpO1xuXG4gICAgc3RlcHMucHVzaCguLi5wcmVTeW50aFN0ZXBzLmZsYXRNYXAocyA9PiBzLnN0ZXBzKSk7XG4gICAgc3RlcHMucHVzaCguLi50aGlzLnJlbmRlclN5bnRoQ29tbWFuZHMoKS5tYXAoY21kID0+ICh7XG4gICAgICBydW46IGNtZCxcbiAgICB9KSkpO1xuICAgIHN0ZXBzLnB1c2goLi4ucG9zdFN5bnRoU3RlcHMuZmxhdE1hcChzID0+IHMuc3RlcHMpKTtcblxuICAgIHN0ZXBzLnB1c2goe1xuICAgICAgdXNlczogJ2FjdGlvbnMvdXBsb2FkLWFydGlmYWN0QHY0JyxcbiAgICAgIHdpdGg6IHtcbiAgICAgICAgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JyxcbiAgICAgICAgcGF0aDogYCR7dGhpcy5hcHAuY2RrQ29uZmlnLmNka291dH0vYCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmRlcGxveW1lbnRXb3JrZmxvdy5hZGRKb2IoJ3N5bnRoJywge1xuICAgICAgbmFtZTogJ1N5bnRoIENESyBhcHBsaWNhdGlvbicsXG4gICAgICBydW5zT246IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzID8/IERFRkFVTFRfUlVOTkVSX1RBR1MsXG4gICAgICBlbnY6IHtcbiAgICAgICAgQ0k6ICd0cnVlJyxcbiAgICAgIH0sXG4gICAgICBuZWVkczogWy4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyksIC4uLnByZVN5bnRoU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpLCAuLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyldLFxuICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgaWRUb2tlbjogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgLi4udGhpcy51c2VHaXRodWJQYWNrYWdlcyAmJiB7XG4gICAgICAgICAgcGFja2FnZXM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzdGVwcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgam9iIHRvIHVwbG9hZCBhc3NldHMgdG8gQVdTIGFzIHBhcnQgb2YgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUFzc2V0VXBsb2FkKCk6IHZvaWQge1xuICAgIGNvbnN0IHByZUluc3RhbGxTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0aHViKCkpO1xuXG4gICAgdGhpcy5kZXBsb3ltZW50V29ya2Zsb3cuYWRkSm9iKCdhc3NldFVwbG9hZCcsIHtcbiAgICAgIG5hbWU6ICdQdWJsaXNoIGFzc2V0cyB0byBBV1MnLFxuICAgICAgbmVlZHM6IFsnc3ludGgnLCAuLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpXSxcbiAgICAgIHJ1bnNPbjogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gREVGQVVMVF9SVU5ORVJfVEFHUyxcbiAgICAgIGVudjoge1xuICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIGNvbnRlbnRzOiB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID8gSm9iUGVybWlzc2lvbi5XUklURSA6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgLi4udGhpcy51c2VHaXRodWJQYWNrYWdlcyAmJiB7XG4gICAgICAgICAgcGFja2FnZXM6IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3RlcHM6IFt7XG4gICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgICdmZXRjaC1kZXB0aCc6IDAsXG4gICAgICAgIH0sXG4gICAgICB9LCB7XG4gICAgICAgIG5hbWU6ICdTZXR1cCBHSVQgaWRlbnRpdHknLFxuICAgICAgICBydW46ICdnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcImdpdGh1Yi1hY3Rpb25zXCIgJiYgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwiZ2l0aHViLWFjdGlvbnNAZ2l0aHViLmNvbVwiJyxcbiAgICAgIH0sIHtcbiAgICAgICAgbmFtZTogJ0FXUyBDcmVkZW50aWFscycsXG4gICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQG1hc3RlcicsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmFzc2V0UHVibGlzaGluZyA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHQsXG4gICAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogJ0dpdEh1YkFjdGlvbicsXG4gICAgICAgICAgJ2F3cy1yZWdpb24nOiAndXMtZWFzdC0xJyxcbiAgICAgICAgfSxcbiAgICAgIH0sIHtcbiAgICAgICAgdXNlczogJ2FjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAdjQnLFxuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JyxcbiAgICAgICAgICBwYXRoOiBgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fS9gLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcyksXG4gICAgICAuLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpLm1hcChjbWQgPT4gKHtcbiAgICAgICAgcnVuOiBjbWQsXG4gICAgICB9KSksXG4gICAgICAuLi50aGlzLmdldEFzc2V0VXBsb2FkQ29tbWFuZHModGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cykubWFwKGNtZCA9PiAoe1xuICAgICAgICBydW46IGNtZCxcbiAgICAgIH0pKV0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGpvYiB0byBkZXBsb3kgdGhlIENESyBhcHBsaWNhdGlvbiB0byBBV1MuXG4gICAqIEBwYXJhbSBzdGFnZSAtIFRoZSBkZXBsb3ltZW50IHN0YWdlIHRvIGNyZWF0ZS5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVEZXBsb3ltZW50KHN0YWdlOiBEZXBsb3ltZW50U3RhZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVJbnN0YWxsU3RlcHMgPSAodGhpcy5vcHRpb25zLnByZUluc3RhbGxTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcblxuICAgIGlmIChzdGFnZS5tYW51YWxBcHByb3ZhbCA9PT0gdHJ1ZSkge1xuICAgICAgLy8gQ3JlYXRlIG5ldyB3b3JrZmxvdyBmb3IgZGVwbG95bWVudFxuICAgICAgY29uc3Qgc3RhZ2VXb3JrZmxvdyA9IHRoaXMuYXBwLmdpdGh1YiEuYWRkV29ya2Zsb3coYHJlbGVhc2UtJHtzdGFnZS5uYW1lfWApO1xuICAgICAgc3RhZ2VXb3JrZmxvdy5vbih7XG4gICAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHtcbiAgICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAgIHZlcnNpb246IHtcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdQYWNrYWdlIHZlcnNpb24nLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgc3RhZ2VXb3JrZmxvdy5hZGRKb2IoJ2RlcGxveScsIHtcbiAgICAgICAgbmFtZTogYFJlbGVhc2Ugc3RhZ2UgJHtzdGFnZS5uYW1lfSB0byBBV1NgLFxuICAgICAgICBuZWVkczogcHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSxcbiAgICAgICAgcnVuc09uOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncyA/PyBERUZBVUxUX1JVTk5FUl9UQUdTLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgICAuLi50aGlzLnVzZUdpdGh1YlBhY2thZ2VzICYmIHtcbiAgICAgICAgICAgIHBhY2thZ2VzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RlcHM6IFt7XG4gICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2NCcsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICBuYW1lOiAnQVdTIENyZWRlbnRpYWxzJyxcbiAgICAgICAgICB1c2VzOiAnYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0BtYXN0ZXInLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVmYXVsdCxcbiAgICAgICAgICAgICdyb2xlLXNlc3Npb24tbmFtZSc6ICdHaXRIdWJBY3Rpb24nLFxuICAgICAgICAgICAgJ2F3cy1yZWdpb24nOiBzdGFnZS5lbnYucmVnaW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcyksXG4gICAgICAgIC4uLnRoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkubWFwKGNtZCA9PiAoe1xuICAgICAgICAgIHJ1bjogY21kLFxuICAgICAgICB9KSksXG4gICAgICAgIC4uLnRoaXMucmVuZGVySW5zdGFsbFBhY2thZ2VDb21tYW5kcyhgJHt0aGlzLm9wdGlvbnMucGtnTmFtZXNwYWNlfS8ke3RoaXMuYXBwLm5hbWV9QFxcJHt7Z2l0aHViLmV2ZW50LmlucHV0cy52ZXJzaW9ufX1gKS5tYXAoY21kID0+ICh7XG4gICAgICAgICAgcnVuOiBjbWQsXG4gICAgICAgIH0pKSxcbiAgICAgICAge1xuICAgICAgICAgIHJ1bjogYG12IC4vbm9kZV9tb2R1bGVzLyR7dGhpcy5vcHRpb25zLnBrZ05hbWVzcGFjZX0vJHt0aGlzLmFwcC5uYW1lfSAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9YCxcbiAgICAgICAgfSxcbiAgICAgICAgLi4udGhpcy5yZW5kZXJEZXBsb3lDb21tYW5kcyhzdGFnZS5uYW1lKS5tYXAoY21kID0+ICh7XG4gICAgICAgICAgcnVuOiBjbWQsXG4gICAgICAgIH0pKSxcbiAgICAgICAge1xuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEB2MycsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgbmFtZTogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX1gLFxuICAgICAgICAgICAgcGF0aDogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX0uanNvbmAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfV0sXG4gICAgICB9KTtcblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBBZGQgZGVwbG95bWVudCB0byBDSS9DRCB3b3JrZmxvd1xuICAgICAgdGhpcy5kZXBsb3ltZW50V29ya2Zsb3cuYWRkSm9iKGBkZXBsb3ktJHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgICAgbmFtZTogYERlcGxveSBzdGFnZSAke3N0YWdlLm5hbWV9IHRvIEFXU2AsXG4gICAgICAgIG5lZWRzOiBbJ2Fzc2V0VXBsb2FkJywgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSwgLi4uKHRoaXMuZGVwbG95bWVudFN0YWdlcy5sZW5ndGggPiAwID8gW2BkZXBsb3ktJHt0aGlzLmRlcGxveW1lbnRTdGFnZXMuYXQoLTEpIX1gXSA6IFtdKV0sXG4gICAgICAgIHJ1bnNPbjogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gREVGQVVMVF9SVU5ORVJfVEFHUyxcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgQ0k6ICd0cnVlJyxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgLi4udGhpcy51c2VHaXRodWJQYWNrYWdlcyAmJiB7XG4gICAgICAgICAgICBwYWNrYWdlczogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiBbe1xuICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjQnLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgbmFtZTogJ0FXUyBDcmVkZW50aWFscycsXG4gICAgICAgICAgdXNlczogJ2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAbWFzdGVyJyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHQsXG4gICAgICAgICAgICAncm9sZS1zZXNzaW9uLW5hbWUnOiAnR2l0SHViQWN0aW9uJyxcbiAgICAgICAgICAgICdhd3MtcmVnaW9uJzogc3RhZ2UuZW52LnJlZ2lvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAdjQnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIG5hbWU6ICdjbG91ZC1hc3NlbWJseScsXG4gICAgICAgICAgICBwYXRoOiBgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fS9gLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcyksXG4gICAgICAgIC4uLnRoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkubWFwKGNtZCA9PiAoe1xuICAgICAgICAgIHJ1bjogY21kLFxuICAgICAgICB9KSksXG4gICAgICAgIC4uLnRoaXMucmVuZGVyRGVwbG95Q29tbWFuZHMoc3RhZ2UubmFtZSkubWFwKGNtZCA9PiAoe1xuICAgICAgICAgIHJ1bjogY21kLFxuICAgICAgICB9KSksXG4gICAgICAgIHtcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjMnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIG5hbWU6IGBjZGstb3V0cHV0cy0ke3N0YWdlLm5hbWV9YCxcbiAgICAgICAgICAgIHBhdGg6IGBjZGstb3V0cHV0cy0ke3N0YWdlLm5hbWV9Lmpzb25gLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1dLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmRlcGxveW1lbnRTdGFnZXMucHVzaChzdGFnZS5uYW1lKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
295
+ GithubCDKPipeline[_a] = { fqn: "projen-pipelines.GithubCDKPipeline", version: "0.0.62" };
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRodWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSx1RUFBMkU7QUFDM0UsaUNBQTBFO0FBQzFFLHNDQUEyQztBQUUzQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7QUFxQzlDOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxrQkFBVztJQVloRDs7OztPQUlHO0lBQ0gsWUFBWSxHQUErQixFQUFVLE9BQWlDO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDVCxHQUFHLE9BQU87WUFDVixHQUFHLE9BQU8sQ0FBQyw0QkFBNEIsSUFBSTtnQkFDekMsa0JBQWtCLEVBQUU7b0JBQ2xCLGdFQUFnRTtvQkFDaEUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxFQUFFLENBQUM7aUJBQ3RDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFUZ0QsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFWdEYsa0RBQWtEO1FBQzFDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQW9CdEMsZ0RBQWdEO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUM1QjtZQUNELGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQyxDQUFDO1FBRUgsa0RBQWtEO1FBQ2xELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFD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Q0FBQyxNQUFNO3lCQUMvQjtxQkFDRixFQUFFO3dCQUNELElBQUksRUFBRSw4QkFBOEI7d0JBQ3BDLElBQUksRUFBRTs0QkFDSixJQUFJLEVBQUUsZ0JBQWdCOzRCQUN0QixJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUc7eUJBQ3RDO3FCQUNGO29CQUNELEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQ3hDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDMUMsR0FBRyxFQUFFLEdBQUc7cUJBQ1QsQ0FBQyxDQUFDO29CQUNILEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCxHQUFHLEVBQUUsR0FBRztxQkFDVCxDQUFDLENBQUM7b0JBQ0g7d0JBQ0UsSUFBSSxFQUFFLDRCQUE0Qjt3QkFDbEMsSUFBSSxFQUFFOzRCQUNKLElBQUksRUFBRSxlQUFlLEtBQUssQ0FBQyxJQUFJLEVBQUU7NEJBQ2pDLElBQUksRUFBRSxlQUFlLEtBQUssQ0FBQyxJQUFJLE9BQU87eUJBQ3ZDO3FCQUNGLENBQUM7YUFDSCxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzs7QUE5U0gsOENBK1NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEdpdGh1YldvcmtmbG93IH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiwgSm9iU3RlcCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBDREtQaXBlbGluZSwgQ0RLUGlwZWxpbmVPcHRpb25zLCBEZXBsb3ltZW50U3RhZ2UgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgUGlwZWxpbmVFbmdpbmUgfSBmcm9tICcuLi9lbmdpbmUnO1xuXG5jb25zdCBERUZBVUxUX1JVTk5FUl9UQUdTID0gWyd1YnVudHUtbGF0ZXN0J107XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBpbnRlcmZhY2UgZm9yIEdpdEh1Yi1zcGVjaWZpYyBJQU0gcm9sZXMgdXNlZCBpbiB0aGUgQ0RLIHBpcGVsaW5lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YklhbVJvbGVDb25maWcge1xuXG4gIC8qKiBEZWZhdWx0IElBTSByb2xlIEFSTiB1c2VkIGlmIG5vIHNwZWNpZmljIHJvbGUgaXMgcHJvdmlkZWQuICovXG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBzdHJpbmc7XG4gIC8qKiBJQU0gcm9sZSBBUk4gZm9yIHRoZSBzeW50aGVzaXMgc3RlcC4gKi9cbiAgcmVhZG9ubHkgc3ludGg/OiBzdHJpbmc7XG4gIC8qKiBJQU0gcm9sZSBBUk4gZm9yIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0ZXAuICovXG4gIHJlYWRvbmx5IGFzc2V0UHVibGlzaGluZz86IHN0cmluZztcbiAgLyoqIElBTSByb2xlIEFSTnMgZm9yIGRpZmZlcmVudCBkZXBsb3ltZW50IHN0YWdlcy4gKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudD86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBFeHRlbnNpb24gb2YgdGhlIGJhc2UgQ0RLUGlwZWxpbmUgb3B0aW9ucyBpbmNsdWRpbmcgc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIEdpdEh1Yi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJDREtQaXBlbGluZU9wdGlvbnMgZXh0ZW5kcyBDREtQaXBlbGluZU9wdGlvbnMge1xuXG4gIC8qKiBJQU0gY29uZmlnIGZvciBHaXRIdWIgQWN0aW9ucyAqL1xuICByZWFkb25seSBpYW1Sb2xlQXJuczogR2l0aHViSWFtUm9sZUNvbmZpZztcblxuICAvKipcbiAgICogcnVubmVyIHRhZ3MgdG8gdXNlIHRvIHNlbGVjdCBydW5uZXJzXG4gICAqXG4gICAqIEBkZWZhdWx0IFsndWJ1bnR1LWxhdGVzdCddXG4gICAqL1xuICByZWFkb25seSBydW5uZXJUYWdzPzogc3RyaW5nW107XG5cbiAgLyoqIHVzZSBHaXRIdWIgUGFja2FnZXMgdG8gc3RvcmUgdmVzaW9uZWQgYXJ0aWZhY3RzIG9mIGNsb3VkIGFzc2VtYmx5OyBhbHNvIG5lZWRlZCBmb3IgbWFudWFsIGFwcHJvdmFscyAqL1xuICByZWFkb25seSB1c2VHaXRodWJQYWNrYWdlc0ZvckFzc2VtYmx5PzogYm9vbGVhbjtcbn1cblxuXG4vKipcbiAqIEltcGxlbWVudHMgYSBDREsgUGlwZWxpbmUgY29uZmlndXJlZCBzcGVjaWZpY2FsbHkgZm9yIEdpdEh1YiB3b3JrZmxvd3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRodWJDREtQaXBlbGluZSBleHRlbmRzIENES1BpcGVsaW5lIHtcblxuICAvKiogSW5kaWNhdGVzIGlmIHZlcnNpb25lZCBhcnRpZmFjdHMgYXJlIG5lZWRlZCBiYXNlZCBvbiBtYW51YWwgYXBwcm92YWwgcmVxdWlyZW1lbnRzLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbmVlZHNWZXJzaW9uZWRBcnRpZmFjdHM6IGJvb2xlYW47XG5cbiAgLyoqIFRoZSBHaXRIdWIgd29ya2Zsb3cgYXNzb2NpYXRlZCB3aXRoIHRoZSBwaXBlbGluZS4gKi9cbiAgcHJpdmF0ZSBkZXBsb3ltZW50V29ya2Zsb3c6IEdpdGh1YldvcmtmbG93O1xuICAvKiogTGlzdCBvZiBkZXBsb3ltZW50IHN0YWdlcyBmb3IgdGhlIHBpcGVsaW5lLiAqL1xuICBwcml2YXRlIGRlcGxveW1lbnRTdGFnZXM6IHN0cmluZ1tdID0gW107XG5cbiAgcHJvdGVjdGVkIHVzZUdpdGh1YlBhY2thZ2VzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IEdpdGh1YkNES1BpcGVsaW5lIGluc3RhbmNlLlxuICAgKiBAcGFyYW0gYXBwIC0gVGhlIENESyBhcHAgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcGlwZWxpbmUuXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgcGlwZWxpbmUuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihhcHA6IGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwLCBwcml2YXRlIG9wdGlvbnM6IEdpdGh1YkNES1BpcGVsaW5lT3B0aW9ucykge1xuICAgIHN1cGVyKGFwcCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIC4uLm9wdGlvbnMudXNlR2l0aHViUGFja2FnZXNGb3JBc3NlbWJseSAmJiB7XG4gICAgICAgIHByZUluc3RhbGxDb21tYW5kczogW1xuICAgICAgICAgICdlY2hvIFwiR0lUSFVCX1RPS0VOPSR7eyBzZWNyZXRzLkdJVEhVQl9UT0tFTiB9fVwiID4+ICRHSVRIVUJfRU5WJyxcbiAgICAgICAgICAuLi4ob3B0aW9ucy5wcmVJbnN0YWxsQ29tbWFuZHMgPz8gW10pLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIEluaXRpYWxpemUgdGhlIGRlcGxveW1lbnQgd29ya2Zsb3cgb24gR2l0SHViLlxuICAgIHRoaXMuZGVwbG95bWVudFdvcmtmbG93ID0gdGhpcy5hcHAuZ2l0aHViIS5hZGRXb3JrZmxvdygnZGVwbG95Jyk7XG4gICAgdGhpcy5kZXBsb3ltZW50V29ya2Zsb3cub24oe1xuICAgICAgcHVzaDoge1xuICAgICAgICBicmFuY2hlczogW3RoaXMuYnJhbmNoTmFtZV0sXG4gICAgICB9LFxuICAgICAgd29ya2Zsb3dEaXNwYXRjaDoge30sXG4gICAgfSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgdmVyc2lvbmVkIGFydGlmYWN0cyBhcmUgbmVjZXNzYXJ5LlxuICAgIHRoaXMubmVlZHNWZXJzaW9uZWRBcnRpZmFjdHMgPSBvcHRpb25zLnN0YWdlcy5maW5kKHMgPT4gcy5tYW51YWxBcHByb3ZhbCA9PT0gdHJ1ZSkgIT09IHVuZGVmaW5lZDs7XG4gICAgdGhpcy51c2VHaXRodWJQYWNrYWdlcyA9IHRoaXMubmVlZHNWZXJzaW9uZWRBcnRpZmFjdHMgJiYgKG9wdGlvbnMudXNlR2l0aHViUGFja2FnZXNGb3JBc3NlbWJseSA/PyBmYWxzZSk7XG5cbiAgICBpZiAodGhpcy51c2VHaXRodWJQYWNrYWdlcykge1xuICAgICAgYXBwLm5wbXJjLmFkZFJlZ2lzdHJ5KCdodHRwczovL25wbS5wa2cuZ2l0aHViLmNvbScsIHRoaXMub3B0aW9ucy5wa2dOYW1lc3BhY2UpO1xuICAgICAgYXBwLm5wbXJjLmFkZENvbmZpZygnLy9ucG0ucGtnLmdpdGh1Yi5jb20vOl9hdXRoVG9rZW4nLCAnJHtHSVRIVUJfVE9LRU59Jyk7XG4gICAgICBhcHAubnBtcmMuYWRkQ29uZmlnKCcvL25wbS5wa2cuZ2l0aHViLmNvbS86YWx3YXlzLWF1dGgnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBqb2JzIGZvciBzeW50aGVzaXppbmcsIGFzc2V0IHVwbG9hZGluZywgYW5kIGRlcGxveW1lbnQuXG4gICAgdGhpcy5jcmVhdGVTeW50aCgpO1xuXG4gICAgdGhpcy5jcmVhdGVBc3NldFVwbG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3ltZW50KHN0YWdlKTtcbiAgICB9XG4gIH1cblxuICAvKiogdGhlIHR5cGUgb2YgZW5naW5lIHRoaXMgaW1wbGVtZW50YXRpb24gb2YgQ0RLUGlwZWxpbmUgaXMgZm9yICovXG4gIHB1YmxpYyBlbmdpbmVUeXBlKCk6IFBpcGVsaW5lRW5naW5lIHtcbiAgICByZXR1cm4gUGlwZWxpbmVFbmdpbmUuR0lUSFVCO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBzeW50aGVzaXMgam9iIGZvciB0aGUgcGlwZWxpbmUgdXNpbmcgR2l0SHViIEFjdGlvbnMuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVN5bnRoKCk6IHZvaWQge1xuICAgIGNvbnN0IHN0ZXBzOiBKb2JTdGVwW10gPSBbe1xuICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyxcbiAgICB9XTtcblxuICAgIGlmICh0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LnN5bnRoKSB7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ0FXUyBDcmVkZW50aWFscycsXG4gICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQG1hc3RlcicsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnMuc3ludGgsXG4gICAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogJ0dpdEh1YkFjdGlvbicsXG4gICAgICAgICAgJ2F3cy1yZWdpb24nOiAndXMtZWFzdC0xJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBwcmVJbnN0YWxsU3RlcHMgPSAodGhpcy5vcHRpb25zLnByZUluc3RhbGxTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcbiAgICBjb25zdCBwcmVTeW50aFN0ZXBzID0gKHRoaXMub3B0aW9ucy5wcmVTeW50aFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0aHViKCkpO1xuICAgIGNvbnN0IHBvc3RTeW50aFN0ZXBzID0gKHRoaXMub3B0aW9ucy5wb3N0U3ludGhTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcblxuICAgIHN0ZXBzLnB1c2goLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLnN0ZXBzKSk7XG4gICAgc3RlcHMucHVzaCguLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpLm1hcChjbWQgPT4gKHtcbiAgICAgIHJ1bjogY21kLFxuICAgIH0pKSk7XG5cbiAgICBzdGVwcy5wdXNoKC4uLnByZVN5bnRoU3RlcHMuZmxhdE1hcChzID0+IHMuc3RlcHMpKTtcbiAgICBzdGVwcy5wdXNoKC4uLnRoaXMucmVuZGVyU3ludGhDb21tYW5kcygpLm1hcChjbWQgPT4gKHtcbiAgICAgIHJ1bjogY21kLFxuICAgIH0pKSk7XG4gICAgc3RlcHMucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcykpO1xuXG4gICAgc3RlcHMucHVzaCh7XG4gICAgICB1c2VzOiAnYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjQnLFxuICAgICAgd2l0aDoge1xuICAgICAgICBuYW1lOiAnY2xvdWQtYXNzZW1ibHknLFxuICAgICAgICBwYXRoOiBgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fS9gLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuZGVwbG95bWVudFdvcmtmbG93LmFkZEpvYignc3ludGgnLCB7XG4gICAgICBuYW1lOiAnU3ludGggQ0RLIGFwcGxpY2F0aW9uJyxcbiAgICAgIHJ1bnNPbjogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gREVGQVVMVF9SVU5ORVJfVEFHUyxcbiAgICAgIGVudjoge1xuICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAuLi5wcmVJbnN0YWxsU3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgICAgLi4ucHJlU3ludGhTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgICAuLi5wb3N0U3ludGhTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgfSxcbiAgICAgIG5lZWRzOiBbLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSwgLi4ucHJlU3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyksIC4uLnBvc3RTeW50aFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKV0sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAuLi50aGlzLnVzZUdpdGh1YlBhY2thZ2VzICYmIHtcbiAgICAgICAgICBwYWNrYWdlczogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHN0ZXBzLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBqb2IgdG8gdXBsb2FkIGFzc2V0cyB0byBBV1MgYXMgcGFydCBvZiB0aGUgcGlwZWxpbmUuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlQXNzZXRVcGxvYWQoKTogdm9pZCB7XG4gICAgY29uc3QgcHJlSW5zdGFsbFN0ZXBzID0gKHRoaXMub3B0aW9ucy5wcmVJbnN0YWxsU3RlcHMgPz8gW10pLm1hcChzID0+IHMudG9HaXRodWIoKSk7XG5cbiAgICB0aGlzLmRlcGxveW1lbnRXb3JrZmxvdy5hZGRKb2IoJ2Fzc2V0VXBsb2FkJywge1xuICAgICAgbmFtZTogJ1B1Ymxpc2ggYXNzZXRzIHRvIEFXUycsXG4gICAgICBuZWVkczogWydzeW50aCcsIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyldLFxuICAgICAgcnVuc09uOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncyA/PyBERUZBVUxUX1JVTk5FUl9UQUdTLFxuICAgICAgZW52OiB7XG4gICAgICAgIENJOiAndHJ1ZScsXG4gICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIGNvbnRlbnRzOiB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID8gSm9iUGVybWlzc2lvbi5XUklURSA6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgLi4udGhpcy51c2VHaXRodWJQYWNrYWdlcyAmJiB7XG4gICAgICAgICAgcGFja2FnZXM6IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3RlcHM6IFt7XG4gICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgIHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHY0JyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgICdmZXRjaC1kZXB0aCc6IDAsXG4gICAgICAgIH0sXG4gICAgICB9LCB7XG4gICAgICAgIG5hbWU6ICdTZXR1cCBHSVQgaWRlbnRpdHknLFxuICAgICAgICBydW46ICdnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSBcImdpdGh1Yi1hY3Rpb25zXCIgJiYgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsIFwiZ2l0aHViLWFjdGlvbnNAZ2l0aHViLmNvbVwiJyxcbiAgICAgIH0sIHtcbiAgICAgICAgbmFtZTogJ0FXUyBDcmVkZW50aWFscycsXG4gICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQG1hc3RlcicsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmFzc2V0UHVibGlzaGluZyA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHQsXG4gICAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogJ0dpdEh1YkFjdGlvbicsXG4gICAgICAgICAgJ2F3cy1yZWdpb24nOiAndXMtZWFzdC0xJyxcbiAgICAgICAgfSxcbiAgICAgIH0sIHtcbiAgICAgICAgdXNlczogJ2FjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAdjQnLFxuICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgbmFtZTogJ2Nsb3VkLWFzc2VtYmx5JyxcbiAgICAgICAgICBwYXRoOiBgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fS9gLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcyksXG4gICAgICAuLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpLm1hcChjbWQgPT4gKHtcbiAgICAgICAgcnVuOiBjbWQsXG4gICAgICB9KSksXG4gICAgICAuLi50aGlzLmdldEFzc2V0VXBsb2FkQ29tbWFuZHModGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cykubWFwKGNtZCA9PiAoe1xuICAgICAgICBydW46IGNtZCxcbiAgICAgIH0pKV0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGpvYiB0byBkZXBsb3kgdGhlIENESyBhcHBsaWNhdGlvbiB0byBBV1MuXG4gICAqIEBwYXJhbSBzdGFnZSAtIFRoZSBkZXBsb3ltZW50IHN0YWdlIHRvIGNyZWF0ZS5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVEZXBsb3ltZW50KHN0YWdlOiBEZXBsb3ltZW50U3RhZ2UpOiB2b2lkIHtcbiAgICBjb25zdCBwcmVJbnN0YWxsU3RlcHMgPSAodGhpcy5vcHRpb25zLnByZUluc3RhbGxTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGh1YigpKTtcblxuICAgIGlmIChzdGFnZS5tYW51YWxBcHByb3ZhbCA9PT0gdHJ1ZSkge1xuICAgICAgLy8gQ3JlYXRlIG5ldyB3b3JrZmxvdyBmb3IgZGVwbG95bWVudFxuICAgICAgY29uc3Qgc3RhZ2VXb3JrZmxvdyA9IHRoaXMuYXBwLmdpdGh1YiEuYWRkV29ya2Zsb3coYHJlbGVhc2UtJHtzdGFnZS5uYW1lfWApO1xuICAgICAgc3RhZ2VXb3JrZmxvdy5vbih7XG4gICAgICAgIHdvcmtmbG93RGlzcGF0Y2g6IHtcbiAgICAgICAgICBpbnB1dHM6IHtcbiAgICAgICAgICAgIHZlcnNpb246IHtcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246ICdQYWNrYWdlIHZlcnNpb24nLFxuICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgc3RhZ2VXb3JrZmxvdy5hZGRKb2IoJ2RlcGxveScsIHtcbiAgICAgICAgbmFtZTogYFJlbGVhc2Ugc3RhZ2UgJHtzdGFnZS5uYW1lfSB0byBBV1NgLFxuICAgICAgICBuZWVkczogcHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSxcbiAgICAgICAgcnVuc09uOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncyA/PyBERUZBVUxUX1JVTk5FUl9UQUdTLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgICAgICAgY29udGVudHM6IEpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgICAuLi50aGlzLnVzZUdpdGh1YlBhY2thZ2VzICYmIHtcbiAgICAgICAgICAgIHBhY2thZ2VzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgc3RlcHM6IFt7XG4gICAgICAgICAgbmFtZTogJ0NoZWNrb3V0JyxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2NCcsXG4gICAgICAgIH0sIHtcbiAgICAgICAgICBuYW1lOiAnQVdTIENyZWRlbnRpYWxzJyxcbiAgICAgICAgICB1c2VzOiAnYXdzLWFjdGlvbnMvY29uZmlndXJlLWF3cy1jcmVkZW50aWFsc0BtYXN0ZXInLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVmYXVsdCxcbiAgICAgICAgICAgICdyb2xlLXNlc3Npb24tbmFtZSc6ICdHaXRIdWJBY3Rpb24nLFxuICAgICAgICAgICAgJ2F3cy1yZWdpb24nOiBzdGFnZS5lbnYucmVnaW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcyksXG4gICAgICAgIC4uLnRoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkubWFwKGNtZCA9PiAoe1xuICAgICAgICAgIHJ1bjogY21kLFxuICAgICAgICB9KSksXG4gICAgICAgIC4uLnRoaXMucmVuZGVySW5zdGFsbFBhY2thZ2VDb21tYW5kcyhgJHt0aGlzLm9wdGlvbnMucGtnTmFtZXNwYWNlfS8ke3RoaXMuYXBwLm5hbWV9QFxcJHt7Z2l0aHViLmV2ZW50LmlucHV0cy52ZXJzaW9ufX1gKS5tYXAoY21kID0+ICh7XG4gICAgICAgICAgcnVuOiBjbWQsXG4gICAgICAgIH0pKSxcbiAgICAgICAge1xuICAgICAgICAgIHJ1bjogYG12IC4vbm9kZV9tb2R1bGVzLyR7dGhpcy5vcHRpb25zLnBrZ05hbWVzcGFjZX0vJHt0aGlzLmFwcC5uYW1lfSAke3RoaXMuYXBwLmNka0NvbmZpZy5jZGtvdXR9YCxcbiAgICAgICAgfSxcbiAgICAgICAgLi4udGhpcy5yZW5kZXJEZXBsb3lDb21tYW5kcyhzdGFnZS5uYW1lKS5tYXAoY21kID0+ICh7XG4gICAgICAgICAgcnVuOiBjbWQsXG4gICAgICAgIH0pKSxcbiAgICAgICAge1xuICAgICAgICAgIHVzZXM6ICdhY3Rpb25zL3VwbG9hZC1hcnRpZmFjdEB2MycsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgbmFtZTogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX1gLFxuICAgICAgICAgICAgcGF0aDogYGNkay1vdXRwdXRzLSR7c3RhZ2UubmFtZX0uanNvbmAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfV0sXG4gICAgICB9KTtcblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBBZGQgZGVwbG95bWVudCB0byBDSS9DRCB3b3JrZmxvd1xuICAgICAgdGhpcy5kZXBsb3ltZW50V29ya2Zsb3cuYWRkSm9iKGBkZXBsb3ktJHtzdGFnZS5uYW1lfWAsIHtcbiAgICAgICAgbmFtZTogYERlcGxveSBzdGFnZSAke3N0YWdlLm5hbWV9IHRvIEFXU2AsXG4gICAgICAgIG5lZWRzOiBbJ2Fzc2V0VXBsb2FkJywgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSwgLi4uKHRoaXMuZGVwbG95bWVudFN0YWdlcy5sZW5ndGggPiAwID8gW2BkZXBsb3ktJHt0aGlzLmRlcGxveW1lbnRTdGFnZXMuYXQoLTEpIX1gXSA6IFtdKV0sXG4gICAgICAgIHJ1bnNPbjogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3MgPz8gREVGQVVMVF9SVU5ORVJfVEFHUyxcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgQ0k6ICd0cnVlJyxcbiAgICAgICAgICAuLi5wcmVJbnN0YWxsU3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbnM6IHtcbiAgICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgICAgIGNvbnRlbnRzOiBKb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgICAgLi4udGhpcy51c2VHaXRodWJQYWNrYWdlcyAmJiB7XG4gICAgICAgICAgICBwYWNrYWdlczogSm9iUGVybWlzc2lvbi5SRUFELFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiBbe1xuICAgICAgICAgIG5hbWU6ICdDaGVja291dCcsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjQnLFxuICAgICAgICB9LCB7XG4gICAgICAgICAgbmFtZTogJ0FXUyBDcmVkZW50aWFscycsXG4gICAgICAgICAgdXNlczogJ2F3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAbWFzdGVyJyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAncm9sZS10by1hc3N1bWUnOiB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHQsXG4gICAgICAgICAgICAncm9sZS1zZXNzaW9uLW5hbWUnOiAnR2l0SHViQWN0aW9uJyxcbiAgICAgICAgICAgICdhd3MtcmVnaW9uJzogc3RhZ2UuZW52LnJlZ2lvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LCB7XG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAdjQnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIG5hbWU6ICdjbG91ZC1hc3NlbWJseScsXG4gICAgICAgICAgICBwYXRoOiBgJHt0aGlzLmFwcC5jZGtDb25maWcuY2Rrb3V0fS9gLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5zdGVwcyksXG4gICAgICAgIC4uLnRoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkubWFwKGNtZCA9PiAoe1xuICAgICAgICAgIHJ1bjogY21kLFxuICAgICAgICB9KSksXG4gICAgICAgIC4uLnRoaXMucmVuZGVyRGVwbG95Q29tbWFuZHMoc3RhZ2UubmFtZSkubWFwKGNtZCA9PiAoe1xuICAgICAgICAgIHJ1bjogY21kLFxuICAgICAgICB9KSksXG4gICAgICAgIHtcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjMnLFxuICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgIG5hbWU6IGBjZGstb3V0cHV0cy0ke3N0YWdlLm5hbWV9YCxcbiAgICAgICAgICAgIHBhdGg6IGBjZGstb3V0cHV0cy0ke3N0YWdlLm5hbWV9Lmpzb25gLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1dLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmRlcGxveW1lbnRTdGFnZXMucHVzaChzdGFnZS5uYW1lKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -72,6 +72,7 @@ class GitlabCDKPipeline extends base_1.CDKPipeline {
72
72
  },
73
73
  variables: {
74
74
  CI: 'true',
75
+ // NPM_REGISTRY: 'xxx'
75
76
  },
76
77
  beforeScript: [
77
78
  `check_variables_defined() {
@@ -128,6 +129,11 @@ awslogin() {
128
129
  stage: 'synth',
129
130
  tags: this.options.runnerTags?.synth ?? this.options.runnerTags?.default,
130
131
  script,
132
+ variables: {
133
+ ...preInstallSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
134
+ ...preSynthSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
135
+ ...postSynthSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
136
+ },
131
137
  },
132
138
  });
133
139
  }
@@ -154,6 +160,9 @@ awslogin() {
154
160
  tags: this.options.runnerTags?.assetPublishing ?? this.options.runnerTags?.default,
155
161
  needs: [{ job: 'synth', artifacts: true }, ...preInstallSteps.flatMap(s => s.needs)],
156
162
  script,
163
+ variables: {
164
+ ...preInstallSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
165
+ },
157
166
  },
158
167
  });
159
168
  }
@@ -187,6 +196,9 @@ awslogin() {
187
196
  ...this.renderInstallCommands(),
188
197
  ...this.renderDiffCommands(stage.name),
189
198
  ],
199
+ variables: {
200
+ ...preInstallSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
201
+ },
190
202
  },
191
203
  [`deploy-${stage.name}`]: {
192
204
  extends: ['.aws_base', '.artifacts_cdkdeploy', ...preInstallSteps.flatMap(s => s.extensions)],
@@ -210,6 +222,9 @@ awslogin() {
210
222
  ...this.renderInstallCommands(),
211
223
  ...this.renderDeployCommands(stage.name),
212
224
  ],
225
+ variables: {
226
+ ...preInstallSteps.reduce((acc, step) => ({ ...acc, ...step.env }), {}),
227
+ },
213
228
  },
214
229
  });
215
230
  this.deploymentStages.push(stage.name);
@@ -220,5 +235,5 @@ awslogin() {
220
235
  }
221
236
  exports.GitlabCDKPipeline = GitlabCDKPipeline;
222
237
  _a = JSII_RTTI_SYMBOL_1;
223
- GitlabCDKPipeline[_a] = { fqn: "projen-pipelines.GitlabCDKPipeline", version: "0.0.61" };
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRsYWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBd0M7QUFDeEMsaUNBQTBFO0FBQzFFLHNDQUEyQztBQW1EM0M7Ozs7R0FJRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsa0JBQVc7SUFjaEQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxHQUErQixFQUFVLE9BQWlDO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFEK0IsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFWdEYsNENBQTRDO1FBQ3BDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQVl0Qyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxFQUFFLEVBQUU7WUFDVixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsQ0FBQyw2Q0FBNkM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLDZDQUE2QyxDQUFDO1FBRS9FLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ08sYUFBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNsQixnQkFBZ0IsRUFBRTtnQkFDaEIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxl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O2lCQUN4QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7b0JBQ2pDLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFO29CQUN6QixFQUFFLEdBQUcsRUFBRSxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDN0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztpQkFDekM7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sR0FBRztvQkFDdkcsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztvQkFDM0MsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUU7b0JBQy9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQ3pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sdUJBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7QUE3T0gsOENBK09DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBnaXRsYWIgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ0RLUGlwZWxpbmUsIENES1BpcGVsaW5lT3B0aW9ucywgRGVwbG95bWVudFN0YWdlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBJQU0gcm9sZXMgdXNlZCB3aXRoaW4gdGhlIEdpdExhYiBDSS9DRCBwaXBlbGluZSBmb3IgdmFyaW91cyBzdGFnZXMuXG4gKiBBbGxvd3Mgc3BlY2lmeWluZyBkaWZmZXJlbnQgSUFNIHJvbGVzIGZvciBzeW50aGVzaXMsIGFzc2V0IHB1Ymxpc2hpbmcsIGFuZCBkZXBsb3ltZW50IHN0YWdlcyxcbiAqIHByb3ZpZGluZyBncmFudWxhciBjb250cm9sIG92ZXIgcGVybWlzc2lvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0bGFiSWFtUm9sZUNvbmZpZyB7XG4gIC8qKiBEZWZhdWx0IElBTSByb2xlIEFSTiB1c2VkIGlmIHNwZWNpZmljIHN0YWdlIHJvbGUgaXMgbm90IHByb3ZpZGVkLiAqL1xuICByZWFkb25seSBkZWZhdWx0Pzogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZztcbiAgLyoqIElBTSByb2xlIEFSTiBmb3IgdGhlIGFzc2V0IHB1Ymxpc2hpbmcgc3RhZ2UuICovXG4gIHJlYWRvbmx5IGFzc2V0UHVibGlzaGluZz86IHN0cmluZztcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIElBTSByb2xlIEFSTnMgZm9yIHRoZSBkaWZmIG9wZXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgZGlmZj86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIElBTSByb2xlIEFSTnMgZm9yIHRoZSBkZXBsb3ltZW50IG9wZXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudD86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBHaXRMYWIgcnVubmVyIHRhZ3MgdXNlZCB3aXRoaW4gdGhlIENJL0NEIHBpcGVsaW5lIGZvciB2YXJpb3VzIHN0YWdlcy5cbiAqIFRoaXMgYWxsb3dzIGZvciBzcGVjaWZ5aW5nIGRpZmZlcmVudCBydW5uZXJzIGJhc2VkIG9uIHRoZSB0YWdzIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIHRoZSBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJSdW5uZXJUYWdzIHtcbiAgLyoqIERlZmF1bHQgcnVubmVyIHRhZ3MgdXNlZCBpZiBzcGVjaWZpYyBzdGFnZSB0YWdzIGFyZSBub3QgcHJvdmlkZWQuICovXG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBzdHJpbmdbXTtcbiAgLyoqIFJ1bm5lciB0YWdzIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZ1tdO1xuICAvKiogUnVubmVyIHRhZ3MgZm9yIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0YWdlLiAqL1xuICByZWFkb25seSBhc3NldFB1Ymxpc2hpbmc/OiBzdHJpbmdbXTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGlmZiBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRpZmY/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGVwbG95bWVudCBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnQ/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgR2l0TGFiIENESyBwaXBlbGluZSwgZXh0ZW5kaW5nIHRoZSBiYXNlIENESyBwaXBlbGluZSBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGxhYkNES1BpcGVsaW5lT3B0aW9ucyBleHRlbmRzIENES1BpcGVsaW5lT3B0aW9ucyB7XG4gIC8qKiBJQU0gcm9sZSBBUk5zIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwaXBlbGluZS4gKi9cbiAgcmVhZG9ubHkgaWFtUm9sZUFybnM6IEdpdGxhYklhbVJvbGVDb25maWc7XG4gIC8qKiBSdW5uZXIgdGFncyBjb25maWd1cmF0aW9uIGZvciB0aGUgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJ1bm5lclRhZ3M/OiBHaXRsYWJSdW5uZXJUYWdzO1xuICAvKiogVGhlIERvY2tlciBpbWFnZSB0byB1c2UgZm9yIHJ1bm5pbmcgdGhlIHBpcGVsaW5lIGpvYnMuICovXG4gIHJlYWRvbmx5IGltYWdlPzogc3RyaW5nO1xuXG4gIC8vIHJlYWRvbmx5IHB1Ymxpc2hlZENsb3VkQXNzZW1ibGllcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIEdpdGxhYkNES1BpcGVsaW5lIGNsYXNzIGV4dGVuZHMgQ0RLUGlwZWxpbmUgdG8gcHJvdmlkZSBhIHdheSB0byBjb25maWd1cmUgYW5kIGV4ZWN1dGVcbiAqIEFXUyBDREsgZGVwbG95bWVudCBwaXBlbGluZXMgd2l0aGluIEdpdExhYiBDSS9DRCBlbnZpcm9ubWVudHMuIEl0IGludGVncmF0ZXMgSUFNIHJvbGUgbWFuYWdlbWVudCxcbiAqIHJ1bm5lciBjb25maWd1cmF0aW9uLCBhbmQgZGVmaW5lcyBzdGFnZXMgYW5kIGpvYnMgZm9yIHRoZSBkZXBsb3ltZW50IHdvcmtmbG93LlxuICovXG5leHBvcnQgY2xhc3MgR2l0bGFiQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDREtQaXBlbGluZSB7XG5cbiAgLyoqIEluZGljYXRlcyBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSByZXF1aXJlZC4gQ3VycmVudGx5IHNldCB0byBmYWxzZSAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgRG9ja2VyIGltYWdlIHVzZWQgZm9yIHBpcGVsaW5lIGpvYnMuIERlZmF1bHRzIHRvIGEgc3BlY2lmaWVkIGltYWdlIG9yIGEgZGVmYXVsdCB2YWx1ZS4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGpvYkltYWdlOiBzdHJpbmc7XG5cbiAgLyoqIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uIG9iamVjdC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb247XG5cbiAgLyoqIExpc3Qgb2YgZGVwbG95bWVudCBzdGFnZXMgYXMgc3RyaW5ncy4gKi9cbiAgcHJpdmF0ZSBkZXBsb3ltZW50U3RhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIGluc3RhbmNlIG9mIEdpdGxhYkNES1BpcGVsaW5lLCBpbml0aWFsaXppbmcgdGhlIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uXG4gICAqIGFuZCBzZXR0aW5nIHVwIHRoZSBuZWNlc3Nhcnkgc3RhZ2VzIGFuZCBqb2JzIGZvciBBV1MgQ0RLIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7YXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHB9IGFwcCAtIFRoZSBBV1MgQ0RLIGFwcCBhc3NvY2lhdGVkIHdpdGggdGhlIHBpcGVsaW5lLlxuICAgKiBAcGFyYW0ge0dpdGxhYkNES1BpcGVsaW5lT3B0aW9uc30gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJpdmF0ZSBvcHRpb25zOiBHaXRsYWJDREtQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHAsIG9wdGlvbnMpO1xuXG4gICAgLy8gVE9ETyB1c2UgZXhpc3RpbmcgY29uZmlnIGlmIHBvc3NpYmxlXG4gICAgdGhpcy5jb25maWcgPSBuZXcgZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb24oYXBwLCB7XG4gICAgICBzdGFnZXM6IFtdLFxuICAgICAgam9iczoge30sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID0gZmFsc2U7IC8vIG9wdGlvbnMucHVibGlzaGVkQ2xvdWRBc3NlbWJsaWVzID8/IGZhbHNlO1xuICAgIHRoaXMuam9iSW1hZ2UgPSBvcHRpb25zLmltYWdlID8/ICdpbWFnZToganNpaS9zdXBlcmNoYWluOjEtYnVzdGVyLXNsaW0tbm9kZTE4JztcblxuICAgIHRoaXMuc2V0dXBTbmlwcGV0cygpO1xuXG4gICAgdGhpcy5jcmVhdGVTeW50aCgpO1xuXG4gICAgdGhpcy5jcmVhdGVBc3NldFVwbG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3ltZW50KHN0YWdlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB1cCBiYXNlIGpvYiBzbmlwcGV0cyBmb3IgYXJ0aWZhY3QgaGFuZGxpbmcgYW5kIEFXUyBjb25maWd1cmF0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBkZWZpbmVzIHJldXNhYmxlIGpvYiBjb25maWd1cmF0aW9ucyB0byBiZSBleHRlbmRlZCBieSBzcGVjaWZpYyBwaXBlbGluZSBqb2JzLFxuICAgKiBmYWNpbGl0YXRpbmcgYXJ0aWZhY3QgY2FjaGluZyBhbmQgQVdTIGF1dGhlbnRpY2F0aW9uIHNldHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNldHVwU25pcHBldHMoKSB7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICAnLmFydGlmYWN0c19jZGsnOiB7XG4gICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgIHdoZW46IGdpdGxhYi5DYWNoZVdoZW4uT05fU1VDQ0VTUyxcbiAgICAgICAgICBleHBpcmVJbjogJzMwIGRheXMnLFxuICAgICAgICAgIG5hbWU6ICdDREsgQXNzZW1ibHkgLSAkQ0lfSk9CX05BTUUtJENJX0NPTU1JVF9SRUZfU0xVRycsXG4gICAgICAgICAgdW50cmFja2VkOiBmYWxzZSxcbiAgICAgICAgICBwYXRoczogWydjZGsub3V0J10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgJy5hcnRpZmFjdHNfY2RrZGVwbG95Jzoge1xuICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICB3aGVuOiBnaXRsYWIuQ2FjaGVXaGVuLk9OX1NVQ0NFU1MsXG4gICAgICAgICAgZXhwaXJlSW46ICczMCBkYXlzJyxcbiAgICAgICAgICBuYW1lOiAnQ0RLIE91dHB1dHMgLSAkQ0lfSk9CX05BTUUtJENJX0NPTU1JVF9SRUZfU0xVRycsXG4gICAgICAgICAgdW50cmFja2VkOiBmYWxzZSxcbiAgICAgICAgICBwYXRoczogWydjZGstb3V0cHV0cy0qLmpzb24nXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAnLmF3c19iYXNlJzoge1xuICAgICAgICBpbWFnZTogeyBuYW1lOiB0aGlzLmpvYkltYWdlIH0sXG4gICAgICAgIGlkVG9rZW5zOiB7XG4gICAgICAgICAgQVdTX1RPS0VOOiB7XG4gICAgICAgICAgICBhdWQ6ICdodHRwczovL3N0cy5hbWF6b25hd3MuY29tJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAgIC8vIE5QTV9SRUdJU1RSWTogJ3h4eCdcbiAgICAgICAgfSxcbiAgICAgICAgYmVmb3JlU2NyaXB0OiBbXG4gICAgICAgICAgYGNoZWNrX3ZhcmlhYmxlc19kZWZpbmVkKCkge1xuICBmb3IgdmFyIGluIFwiJEBcIjsgZG9cbiAgICBpZiBbIC16IFwiJChldmFsIFwiZWNobyBcXFxcJCR2YXJcIilcIiBdOyB0aGVuXG4gICAgICBsb2dfZmF0YWwgXCJcXCR7dmFyfSBub3QgZGVmaW5lZFwiO1xuICAgIGZpXG4gIGRvbmVcbn1cblxuYXdzbG9naW4oKSB7XG4gIHJvbGVBcm49XFwkezE6IC1cXCR7QVdTX1JPTEVfQVJOfX1cbiAgY2hlY2tfdmFyaWFibGVzX2RlZmluZWQgcm9sZUFybiBBV1NfVE9LRU5cbiAgZXhwb3J0ICQocHJpbnRmIFwiQVdTX0FDQ0VTU19LRVlfSUQ9JXMgQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZPSVzIEFXU19TRVNTSU9OX1RPS0VOPSVzXCIgJChhd3Mgc3RzIGFzc3VtZS1yb2xlLXdpdGgtd2ViLWlkZW50aXR5IC0tcm9sZS1hcm4gXFwke3JvbGVBcm59IC0tcm9sZS1zZXNzaW9uLW5hbWUgXCJHaXRMYWJSdW5uZXItXFwke0NJX1BST0pFQ1RfSUR9LVxcJHtDSV9QSVBFTElORV9JRH1cIiAtLXdlYi1pZGVudGl0eS10b2tlbiBcXCR7QVdTX1RPS0VOfSAtLWR1cmF0aW9uLXNlY29uZHMgMzYwMCAtLXF1ZXJ5ICdDcmVkZW50aWFscy5bQWNjZXNzS2V5SWQsU2VjcmV0QWNjZXNzS2V5LFNlc3Npb25Ub2tlbl0nIC0tb3V0cHV0IHRleHQpKVxuICAjIFRPRE8gQ09ERSBBUlRJRkFDVFxufVxuYCxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgJ3N5bnRoJyBzdGFnZSBvZiB0aGUgcGlwZWxpbmUgdG8gc3ludGhlc2l6ZSBBV1MgQ0RLIGFwcGxpY2F0aW9ucy5cbiAgICogVGhpcyBtZXRob2QgY29uZmlndXJlcyB0aGUgam9iIHRvIGV4ZWN1dGUgQ0RLIHN5bnRoZXNpcywgYXBwbHlpbmcgdGhlIGFwcHJvcHJpYXRlIElBTSByb2xlXG4gICAqIGZvciBBV1MgY29tbWFuZHMgYW5kIHNwZWNpZnlpbmcgcnVubmVyIHRhZ3MgZm9yIGpvYiBleGVjdXRpb24uIFRoZSBzeW50aGVzaXplZCBvdXRwdXRzIGFyZVxuICAgKiBjb25maWd1cmVkIHRvIGJlIGNhY2hlZCBhcyBhcnRpZmFjdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlU3ludGgoKTogdm9pZCB7XG4gICAgY29uc3Qgc2NyaXB0ID0gWydlY2hvIFwiUnVubmluZyBDREsgc3ludGhcIiddO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LnN5bnRoKSB7XG4gICAgICBzY3JpcHQucHVzaChgYXdzbG9naW4gJyR7dGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zLnN5bnRofSdgKTtcbiAgICB9XG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IFsnLmF3c19iYXNlJywgJy5hcnRpZmFjdHNfY2RrJ107XG4gICAgY29uc3QgbmVlZHMgPSBbXTtcblxuICAgIGNvbnN0IHByZUluc3RhbGxTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0bGFiKCkpO1xuICAgIHNjcmlwdC5wdXNoKC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMuZXh0ZW5zaW9ucykpO1xuICAgIG5lZWRzLnB1c2goLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSk7XG5cbiAgICBzY3JpcHQucHVzaCguLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpKTtcblxuICAgIGNvbnN0IHByZVN5bnRoU3RlcHMgPSAodGhpcy5vcHRpb25zLnByZVN5bnRoU3RlcHMgPz8gW10pLm1hcChzID0+IHMudG9HaXRsYWIoKSk7XG4gICAgc2NyaXB0LnB1c2goLi4ucHJlU3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wcmVTeW50aFN0ZXBzLmZsYXRNYXAocyA9PiBzLmV4dGVuc2lvbnMpKTtcbiAgICBuZWVkcy5wdXNoKC4uLnByZVN5bnRoU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpKTtcblxuICAgIHNjcmlwdC5wdXNoKC4uLnRoaXMucmVuZGVyU3ludGhDb21tYW5kcygpKTtcblxuICAgIGNvbnN0IHBvc3RTeW50aFN0ZXBzID0gKHRoaXMub3B0aW9ucy5wb3N0U3ludGhTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGxhYigpKTtcbiAgICBzY3JpcHQucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKSk7XG4gICAgbmVlZHMucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcykpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKCdzeW50aCcpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgc3ludGg6IHtcbiAgICAgICAgZXh0ZW5kczogZXh0ZW5zaW9ucyxcbiAgICAgICAgbmVlZHM6IG5lZWRzLFxuICAgICAgICBzdGFnZTogJ3N5bnRoJyxcbiAgICAgICAgdGFnczogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LnN5bnRoID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICBzY3JpcHQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgdGhlIGFzc2V0IHB1Ymxpc2hpbmcgc3RhZ2Ugb2YgdGhlIHBpcGVsaW5lLlxuICAgKiBUaGlzIG1ldGhvZCBjb25maWd1cmVzIGEgam9iIHRvIHVwbG9hZCBzeW50aGVzaXplZCBhc3NldHMgdG8gQVdTLCBoYW5kbGluZyBJQU0gcm9sZVxuICAgKiBhdXRoZW50aWNhdGlvbiBhbmQgc3BlY2lmeWluZyBydW5uZXIgdGFncy4gSXQgZGVwZW5kcyBvbiB0aGUgc3VjY2Vzc2Z1bCBjb21wbGV0aW9uXG4gICAqIG9mIHRoZSAnc3ludGgnIHN0YWdlLCBlbnN1cmluZyBhc3NldHMgYXJlIG9ubHkgcHVibGlzaGVkIGFmdGVyIHN1Y2Nlc3NmdWwgc3ludGhlc2lzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUFzc2V0VXBsb2FkKCk6IHZvaWQge1xuICAgIGNvbnN0IHNjcmlwdCA9IFsnZWNobyBcIlB1Ymxpc2ggYXNzZXRzIHRvIEFXU1wiJ107XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uYXNzZXRQdWJsaXNoaW5nKSB7XG4gICAgICBzY3JpcHQucHVzaChgYXdzbG9naW4gJyR7dGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zLmFzc2V0UHVibGlzaGluZ30nYCk7XG4gICAgfVxuICAgIGNvbnN0IHByZUluc3RhbGxTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0bGFiKCkpO1xuICAgIHNjcmlwdC5wdXNoKC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuXG4gICAgc2NyaXB0LnB1c2goLi4udGhpcy5yZW5kZXJJbnN0YWxsQ29tbWFuZHMoKSk7XG4gICAgc2NyaXB0LnB1c2goLi4udGhpcy5nZXRBc3NldFVwbG9hZENvbW1hbmRzKHRoaXMubmVlZHNWZXJzaW9uZWRBcnRpZmFjdHMpKTtcblxuICAgIHRoaXMuY29uZmlnLmFkZFN0YWdlcygncHVibGlzaF9hc3NldHMnKTtcbiAgICB0aGlzLmNvbmZpZy5hZGRKb2JzKHtcbiAgICAgIHB1Ymxpc2hfYXNzZXRzOiB7XG4gICAgICAgIGV4dGVuZHM6IFsnLmF3c19iYXNlJywgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLmV4dGVuc2lvbnMpXSxcbiAgICAgICAgc3RhZ2U6ICdwdWJsaXNoX2Fzc2V0cycsXG4gICAgICAgIHRhZ3M6IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5hc3NldFB1Ymxpc2hpbmcgPz8gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlZmF1bHQsXG4gICAgICAgIG5lZWRzOiBbeyBqb2I6ICdzeW50aCcsIGFydGlmYWN0czogdHJ1ZSB9LCAuLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpXSxcbiAgICAgICAgc2NyaXB0LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljYWxseSBjcmVhdGVzIGRlcGxveW1lbnQgc3RhZ2VzIGJhc2VkIG9uIHRoZSBkZXBsb3ltZW50IGNvbmZpZ3VyYXRpb24uXG4gICAqIEZvciBlYWNoIHByb3ZpZGVkIGRlcGxveW1lbnQgc3RhZ2UsIHRoaXMgbWV0aG9kIHNldHMgdXAgam9icyBmb3IgJ2RpZmYnIGFuZCAnZGVwbG95JyBhY3Rpb25zLFxuICAgKiBhcHBseWluZyB0aGUgY29ycmVjdCBJQU0gcm9sZXMgYW5kIHJ1bm5lciB0YWdzLiBJdCBzdXBwb3J0cyBjb25kaXRpb25hbCBtYW51YWwgYXBwcm92YWwgZm9yXG4gICAqIGRlcGxveW1lbnQgc3RhZ2VzLCBwcm92aWRpbmcgZmxleGliaWxpdHkgaW4gdGhlIGRlcGxveW1lbnQgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSB7RGVwbG95bWVudFN0YWdlfSBzdGFnZSAtIFRoZSBkZXBsb3ltZW50IHN0YWdlIGNvbmZpZ3VyYXRpb24gdG8gc2V0IHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZURlcGxveW1lbnQoc3RhZ2U6IERlcGxveW1lbnRTdGFnZSk6IHZvaWQge1xuICAgIGNvbnN0IHByZUluc3RhbGxTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0bGFiKCkpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKHN0YWdlLm5hbWUpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgW2BkaWZmLSR7c3RhZ2UubmFtZX1gXToge1xuICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZScsIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKV0sXG4gICAgICAgIHN0YWdlOiBzdGFnZS5uYW1lLFxuICAgICAgICB0YWdzOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGlmZj8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZXBsb3ltZW50Py5bc3RhZ2UubmFtZV0gPz8gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlZmF1bHQsXG4gICAgICAgIG9ubHk6IHtcbiAgICAgICAgICByZWZzOiBbdGhpcy5icmFuY2hOYW1lXSxcbiAgICAgICAgfSxcbiAgICAgICAgbmVlZHM6IFtcbiAgICAgICAgICB7IGpvYjogJ3N5bnRoJywgYXJ0aWZhY3RzOiB0cnVlIH0sXG4gICAgICAgICAgeyBqb2I6ICdwdWJsaXNoX2Fzc2V0cycgfSxcbiAgICAgICAgICAuLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpLFxuICAgICAgICBdLFxuICAgICAgICBzY3JpcHQ6IFtcbiAgICAgICAgICBgYXdzbG9naW4gJyR7dGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zPy5kaWZmPy5bc3RhZ2UubmFtZV0gPz8gdGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zPy5kZXBsb3ltZW50Py5bc3RhZ2UubmFtZV0gPz8gdGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zPy5kZWZhdWx0fSdgLFxuICAgICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcyksXG4gICAgICAgICAgLi4udGhpcy5yZW5kZXJJbnN0YWxsQ29tbWFuZHMoKSxcbiAgICAgICAgICAuLi50aGlzLnJlbmRlckRpZmZDb21tYW5kcyhzdGFnZS5uYW1lKSxcbiAgICAgICAgXSxcblxuICAgICAgfSxcbiAgICAgIFtgZGVwbG95LSR7c3RhZ2UubmFtZX1gXToge1xuICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZScsICcuYXJ0aWZhY3RzX2Nka2RlcGxveScsIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKV0sXG4gICAgICAgIHN0YWdlOiBzdGFnZS5uYW1lLFxuICAgICAgICB0YWdzOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICAuLi5zdGFnZS5tYW51YWxBcHByb3ZhbCAmJiB7XG4gICAgICAgICAgd2hlbjogZ2l0bGFiLkpvYldoZW4uTUFOVUFMLFxuICAgICAgICB9LFxuICAgICAgICBvbmx5OiB7XG4gICAgICAgICAgcmVmczogW3RoaXMuYnJhbmNoTmFtZV0sXG4gICAgICAgIH0sXG4gICAgICAgIG5lZWRzOiBbXG4gICAgICAgICAgeyBqb2I6ICdzeW50aCcsIGFydGlmYWN0czogdHJ1ZSB9LFxuICAgICAgICAgIHsgam9iOiAncHVibGlzaF9hc3NldHMnIH0sXG4gICAgICAgICAgeyBqb2I6IGBkaWZmLSR7c3RhZ2UubmFtZX1gIH0sXG4gICAgICAgICAgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSxcbiAgICAgICAgXSxcbiAgICAgICAgc2NyaXB0OiBbXG4gICAgICAgICAgYGF3c2xvZ2luICcke3RoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVmYXVsdH0nYCxcbiAgICAgICAgICAuLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMuY29tbWFuZHMpLFxuICAgICAgICAgIC4uLnRoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCksXG4gICAgICAgICAgLi4udGhpcy5yZW5kZXJEZXBsb3lDb21tYW5kcyhzdGFnZS5uYW1lKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5kZXBsb3ltZW50U3RhZ2VzLnB1c2goc3RhZ2UubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZW5naW5lVHlwZSgpOiBQaXBlbGluZUVuZ2luZSB7XG4gICAgcmV0dXJuIFBpcGVsaW5lRW5naW5lLkdJVExBQjtcbiAgfVxuXG59XG5cbiJdfQ==
238
+ GitlabCDKPipeline[_a] = { fqn: "projen-pipelines.GitlabCDKPipeline", version: "0.0.62" };
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRsYWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBd0M7QUFDeEMsaUNBQTBFO0FBQzFFLHNDQUEyQztBQW1EM0M7Ozs7R0FJRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsa0JBQVc7SUFjaEQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxHQUErQixFQUFVLE9BQWlDO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFEK0IsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFWdEYsNENBQTRDO1FBQ3BDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQVl0Qyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxFQUFFLEVBQUU7WUFDVixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsQ0FBQyw2Q0FBNkM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLDZDQUE2QyxDQUFDO1FBRS9FLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGFBQWE7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDbEIsZ0JBQWdCLEVBQUU7Z0JBQ2hCLFNBQVMsRUFBRTtvQkFDVCxJQUFJLEVBQUUsZUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVO29CQUNqQyxRQUFRLEVBQUUsU0FBUztvQkFDbkIsSUFBSSxFQUFFLGlEQUFpRDtvQkFDdkQsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDbkI7YUFDRjtZQUNELHNCQUFzQixFQUFFO2dCQUN0QixTQUFTLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLGVBQU0sQ0FBQyxTQUFTLENBQUMsVUFBVTtvQkFDakMsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLElBQUksRUFBRSxnREFBZ0Q7b0JBQ3RELFNBQVMsRUFBRSxLQUFLO29CQUNoQixLQUFLLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDOUI7YUFDRjtZQUNELFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDOUIsUUFBUSxFQUFFO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxHQUFHLEVBQUUsMkJBQTJCO3FCQUNqQztpQkFDRjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsRUFBRSxFQUFFLE1BQU07b0JBQ1Ysc0JBQXNCO2lCQUN2QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1o7Ozs7Ozs7Ozs7Ozs7O0NBY1Q7aUJBQ1E7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLFdBQVc7UUFDbkIsTUFBTSxNQUFNLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDcEMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbkQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBRWpCLE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN6RCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQy9ELEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFckQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFN0MsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNoRixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDN0QsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUVuRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUUzQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDeEQsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM5RCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2xCLEtBQUssRUFBRTtnQkFDTCxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLE9BQU87Z0JBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPO2dCQUN4RSxNQUFNO2dCQUNOLFNBQVMsRUFBRTtvQkFDVCxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ3ZFLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDckUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2lCQUN2RTthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08saUJBQWlCO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUNoRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGVBQWUsRUFBRSxDQUFDO1lBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFekQsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDN0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDbEIsY0FBYyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3JFLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxlQUFlLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTztnQkFDbEYsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BGLE1BQU07Z0JBQ04sU0FBUyxFQUFFO29CQUNULEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDeEU7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ08sZ0JBQWdCLENBQUMsS0FBc0I7UUFDL0MsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVwRixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDbEIsQ0FBQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUN0QixPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNyRSxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU87Z0JBQzFJLElBQUksRUFBRTtvQkFDSixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2lCQUN4QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7b0JBQ2pDLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFO29CQUN6QixHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2lCQUN6QztnQkFDRCxNQUFNLEVBQUU7b0JBQ04sYUFBYSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sR0FBRztvQkFDdkosR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztvQkFDM0MsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUU7b0JBQy9CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQ3ZDO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7aUJBQ3hFO2FBQ0Y7WUFDRCxDQUFDLFVBQVUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUU7Z0JBQ3hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzdGLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPO2dCQUMzRixHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUk7b0JBQ3pCLElBQUksRUFBRSxlQUFNLENBQUMsT0FBTyxDQUFDLE1BQU07aUJBQzVCO2dCQUNELElBQUksRUFBRTtvQkFDSixJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2lCQUN4QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7b0JBQ2pDLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFO29CQUN6QixFQUFFLEdBQUcsRUFBRSxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDN0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztpQkFDekM7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sR0FBRztvQkFDdkcsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztvQkFDM0MsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUU7b0JBQy9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQ3pDO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7aUJBQ3hFO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sdUJBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7QUExUEgsOENBNFBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBnaXRsYWIgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ0RLUGlwZWxpbmUsIENES1BpcGVsaW5lT3B0aW9ucywgRGVwbG95bWVudFN0YWdlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBJQU0gcm9sZXMgdXNlZCB3aXRoaW4gdGhlIEdpdExhYiBDSS9DRCBwaXBlbGluZSBmb3IgdmFyaW91cyBzdGFnZXMuXG4gKiBBbGxvd3Mgc3BlY2lmeWluZyBkaWZmZXJlbnQgSUFNIHJvbGVzIGZvciBzeW50aGVzaXMsIGFzc2V0IHB1Ymxpc2hpbmcsIGFuZCBkZXBsb3ltZW50IHN0YWdlcyxcbiAqIHByb3ZpZGluZyBncmFudWxhciBjb250cm9sIG92ZXIgcGVybWlzc2lvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0bGFiSWFtUm9sZUNvbmZpZyB7XG4gIC8qKiBEZWZhdWx0IElBTSByb2xlIEFSTiB1c2VkIGlmIHNwZWNpZmljIHN0YWdlIHJvbGUgaXMgbm90IHByb3ZpZGVkLiAqL1xuICByZWFkb25seSBkZWZhdWx0Pzogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZztcbiAgLyoqIElBTSByb2xlIEFSTiBmb3IgdGhlIGFzc2V0IHB1Ymxpc2hpbmcgc3RhZ2UuICovXG4gIHJlYWRvbmx5IGFzc2V0UHVibGlzaGluZz86IHN0cmluZztcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIElBTSByb2xlIEFSTnMgZm9yIHRoZSBkaWZmIG9wZXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgZGlmZj86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIElBTSByb2xlIEFSTnMgZm9yIHRoZSBkZXBsb3ltZW50IG9wZXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudD86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBHaXRMYWIgcnVubmVyIHRhZ3MgdXNlZCB3aXRoaW4gdGhlIENJL0NEIHBpcGVsaW5lIGZvciB2YXJpb3VzIHN0YWdlcy5cbiAqIFRoaXMgYWxsb3dzIGZvciBzcGVjaWZ5aW5nIGRpZmZlcmVudCBydW5uZXJzIGJhc2VkIG9uIHRoZSB0YWdzIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIHRoZSBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJSdW5uZXJUYWdzIHtcbiAgLyoqIERlZmF1bHQgcnVubmVyIHRhZ3MgdXNlZCBpZiBzcGVjaWZpYyBzdGFnZSB0YWdzIGFyZSBub3QgcHJvdmlkZWQuICovXG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBzdHJpbmdbXTtcbiAgLyoqIFJ1bm5lciB0YWdzIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZ1tdO1xuICAvKiogUnVubmVyIHRhZ3MgZm9yIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0YWdlLiAqL1xuICByZWFkb25seSBhc3NldFB1Ymxpc2hpbmc/OiBzdHJpbmdbXTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGlmZiBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRpZmY/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGVwbG95bWVudCBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnQ/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgR2l0TGFiIENESyBwaXBlbGluZSwgZXh0ZW5kaW5nIHRoZSBiYXNlIENESyBwaXBlbGluZSBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGxhYkNES1BpcGVsaW5lT3B0aW9ucyBleHRlbmRzIENES1BpcGVsaW5lT3B0aW9ucyB7XG4gIC8qKiBJQU0gcm9sZSBBUk5zIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwaXBlbGluZS4gKi9cbiAgcmVhZG9ubHkgaWFtUm9sZUFybnM6IEdpdGxhYklhbVJvbGVDb25maWc7XG4gIC8qKiBSdW5uZXIgdGFncyBjb25maWd1cmF0aW9uIGZvciB0aGUgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJ1bm5lclRhZ3M/OiBHaXRsYWJSdW5uZXJUYWdzO1xuICAvKiogVGhlIERvY2tlciBpbWFnZSB0byB1c2UgZm9yIHJ1bm5pbmcgdGhlIHBpcGVsaW5lIGpvYnMuICovXG4gIHJlYWRvbmx5IGltYWdlPzogc3RyaW5nO1xuXG4gIC8vIHJlYWRvbmx5IHB1Ymxpc2hlZENsb3VkQXNzZW1ibGllcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIEdpdGxhYkNES1BpcGVsaW5lIGNsYXNzIGV4dGVuZHMgQ0RLUGlwZWxpbmUgdG8gcHJvdmlkZSBhIHdheSB0byBjb25maWd1cmUgYW5kIGV4ZWN1dGVcbiAqIEFXUyBDREsgZGVwbG95bWVudCBwaXBlbGluZXMgd2l0aGluIEdpdExhYiBDSS9DRCBlbnZpcm9ubWVudHMuIEl0IGludGVncmF0ZXMgSUFNIHJvbGUgbWFuYWdlbWVudCxcbiAqIHJ1bm5lciBjb25maWd1cmF0aW9uLCBhbmQgZGVmaW5lcyBzdGFnZXMgYW5kIGpvYnMgZm9yIHRoZSBkZXBsb3ltZW50IHdvcmtmbG93LlxuICovXG5leHBvcnQgY2xhc3MgR2l0bGFiQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDREtQaXBlbGluZSB7XG5cbiAgLyoqIEluZGljYXRlcyBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSByZXF1aXJlZC4gQ3VycmVudGx5IHNldCB0byBmYWxzZSAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgRG9ja2VyIGltYWdlIHVzZWQgZm9yIHBpcGVsaW5lIGpvYnMuIERlZmF1bHRzIHRvIGEgc3BlY2lmaWVkIGltYWdlIG9yIGEgZGVmYXVsdCB2YWx1ZS4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGpvYkltYWdlOiBzdHJpbmc7XG5cbiAgLyoqIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uIG9iamVjdC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb247XG5cbiAgLyoqIExpc3Qgb2YgZGVwbG95bWVudCBzdGFnZXMgYXMgc3RyaW5ncy4gKi9cbiAgcHJpdmF0ZSBkZXBsb3ltZW50U3RhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIGluc3RhbmNlIG9mIEdpdGxhYkNES1BpcGVsaW5lLCBpbml0aWFsaXppbmcgdGhlIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uXG4gICAqIGFuZCBzZXR0aW5nIHVwIHRoZSBuZWNlc3Nhcnkgc3RhZ2VzIGFuZCBqb2JzIGZvciBBV1MgQ0RLIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7YXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHB9IGFwcCAtIFRoZSBBV1MgQ0RLIGFwcCBhc3NvY2lhdGVkIHdpdGggdGhlIHBpcGVsaW5lLlxuICAgKiBAcGFyYW0ge0dpdGxhYkNES1BpcGVsaW5lT3B0aW9uc30gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJpdmF0ZSBvcHRpb25zOiBHaXRsYWJDREtQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHAsIG9wdGlvbnMpO1xuXG4gICAgLy8gVE9ETyB1c2UgZXhpc3RpbmcgY29uZmlnIGlmIHBvc3NpYmxlXG4gICAgdGhpcy5jb25maWcgPSBuZXcgZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb24oYXBwLCB7XG4gICAgICBzdGFnZXM6IFtdLFxuICAgICAgam9iczoge30sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID0gZmFsc2U7IC8vIG9wdGlvbnMucHVibGlzaGVkQ2xvdWRBc3NlbWJsaWVzID8/IGZhbHNlO1xuICAgIHRoaXMuam9iSW1hZ2UgPSBvcHRpb25zLmltYWdlID8/ICdpbWFnZToganNpaS9zdXBlcmNoYWluOjEtYnVzdGVyLXNsaW0tbm9kZTE4JztcblxuICAgIHRoaXMuc2V0dXBTbmlwcGV0cygpO1xuXG4gICAgdGhpcy5jcmVhdGVTeW50aCgpO1xuXG4gICAgdGhpcy5jcmVhdGVBc3NldFVwbG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3ltZW50KHN0YWdlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB1cCBiYXNlIGpvYiBzbmlwcGV0cyBmb3IgYXJ0aWZhY3QgaGFuZGxpbmcgYW5kIEFXUyBjb25maWd1cmF0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBkZWZpbmVzIHJldXNhYmxlIGpvYiBjb25maWd1cmF0aW9ucyB0byBiZSBleHRlbmRlZCBieSBzcGVjaWZpYyBwaXBlbGluZSBqb2JzLFxuICAgKiBmYWNpbGl0YXRpbmcgYXJ0aWZhY3QgY2FjaGluZyBhbmQgQVdTIGF1dGhlbnRpY2F0aW9uIHNldHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNldHVwU25pcHBldHMoKSB7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICAnLmFydGlmYWN0c19jZGsnOiB7XG4gICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgIHdoZW46IGdpdGxhYi5DYWNoZVdoZW4uT05fU1VDQ0VTUyxcbiAgICAgICAgICBleHBpcmVJbjogJzMwIGRheXMnLFxuICAgICAgICAgIG5hbWU6ICdDREsgQXNzZW1ibHkgLSAkQ0lfSk9CX05BTUUtJENJX0NPTU1JVF9SRUZfU0xVRycsXG4gICAgICAgICAgdW50cmFja2VkOiBmYWxzZSxcbiAgICAgICAgICBwYXRoczogWydjZGsub3V0J10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgJy5hcnRpZmFjdHNfY2RrZGVwbG95Jzoge1xuICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICB3aGVuOiBnaXRsYWIuQ2FjaGVXaGVuLk9OX1NVQ0NFU1MsXG4gICAgICAgICAgZXhwaXJlSW46ICczMCBkYXlzJyxcbiAgICAgICAgICBuYW1lOiAnQ0RLIE91dHB1dHMgLSAkQ0lfSk9CX05BTUUtJENJX0NPTU1JVF9SRUZfU0xVRycsXG4gICAgICAgICAgdW50cmFja2VkOiBmYWxzZSxcbiAgICAgICAgICBwYXRoczogWydjZGstb3V0cHV0cy0qLmpzb24nXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAnLmF3c19iYXNlJzoge1xuICAgICAgICBpbWFnZTogeyBuYW1lOiB0aGlzLmpvYkltYWdlIH0sXG4gICAgICAgIGlkVG9rZW5zOiB7XG4gICAgICAgICAgQVdTX1RPS0VOOiB7XG4gICAgICAgICAgICBhdWQ6ICdodHRwczovL3N0cy5hbWF6b25hd3MuY29tJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAgIC8vIE5QTV9SRUdJU1RSWTogJ3h4eCdcbiAgICAgICAgfSxcbiAgICAgICAgYmVmb3JlU2NyaXB0OiBbXG4gICAgICAgICAgYGNoZWNrX3ZhcmlhYmxlc19kZWZpbmVkKCkge1xuICBmb3IgdmFyIGluIFwiJEBcIjsgZG9cbiAgICBpZiBbIC16IFwiJChldmFsIFwiZWNobyBcXFxcJCR2YXJcIilcIiBdOyB0aGVuXG4gICAgICBsb2dfZmF0YWwgXCJcXCR7dmFyfSBub3QgZGVmaW5lZFwiO1xuICAgIGZpXG4gIGRvbmVcbn1cblxuYXdzbG9naW4oKSB7XG4gIHJvbGVBcm49XFwkezE6IC1cXCR7QVdTX1JPTEVfQVJOfX1cbiAgY2hlY2tfdmFyaWFibGVzX2RlZmluZWQgcm9sZUFybiBBV1NfVE9LRU5cbiAgZXhwb3J0ICQocHJpbnRmIFwiQVdTX0FDQ0VTU19LRVlfSUQ9JXMgQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZPSVzIEFXU19TRVNTSU9OX1RPS0VOPSVzXCIgJChhd3Mgc3RzIGFzc3VtZS1yb2xlLXdpdGgtd2ViLWlkZW50aXR5IC0tcm9sZS1hcm4gXFwke3JvbGVBcm59IC0tcm9sZS1zZXNzaW9uLW5hbWUgXCJHaXRMYWJSdW5uZXItXFwke0NJX1BST0pFQ1RfSUR9LVxcJHtDSV9QSVBFTElORV9JRH1cIiAtLXdlYi1pZGVudGl0eS10b2tlbiBcXCR7QVdTX1RPS0VOfSAtLWR1cmF0aW9uLXNlY29uZHMgMzYwMCAtLXF1ZXJ5ICdDcmVkZW50aWFscy5bQWNjZXNzS2V5SWQsU2VjcmV0QWNjZXNzS2V5LFNlc3Npb25Ub2tlbl0nIC0tb3V0cHV0IHRleHQpKVxuICAjIFRPRE8gQ09ERSBBUlRJRkFDVFxufVxuYCxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgJ3N5bnRoJyBzdGFnZSBvZiB0aGUgcGlwZWxpbmUgdG8gc3ludGhlc2l6ZSBBV1MgQ0RLIGFwcGxpY2F0aW9ucy5cbiAgICogVGhpcyBtZXRob2QgY29uZmlndXJlcyB0aGUgam9iIHRvIGV4ZWN1dGUgQ0RLIHN5bnRoZXNpcywgYXBwbHlpbmcgdGhlIGFwcHJvcHJpYXRlIElBTSByb2xlXG4gICAqIGZvciBBV1MgY29tbWFuZHMgYW5kIHNwZWNpZnlpbmcgcnVubmVyIHRhZ3MgZm9yIGpvYiBleGVjdXRpb24uIFRoZSBzeW50aGVzaXplZCBvdXRwdXRzIGFyZVxuICAgKiBjb25maWd1cmVkIHRvIGJlIGNhY2hlZCBhcyBhcnRpZmFjdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlU3ludGgoKTogdm9pZCB7XG4gICAgY29uc3Qgc2NyaXB0ID0gWydlY2hvIFwiUnVubmluZyBDREsgc3ludGhcIiddO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LnN5bnRoKSB7XG4gICAgICBzY3JpcHQucHVzaChgYXdzbG9naW4gJyR7dGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zLnN5bnRofSdgKTtcbiAgICB9XG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IFsnLmF3c19iYXNlJywgJy5hcnRpZmFjdHNfY2RrJ107XG4gICAgY29uc3QgbmVlZHMgPSBbXTtcblxuICAgIGNvbnN0IHByZUluc3RhbGxTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0bGFiKCkpO1xuICAgIHNjcmlwdC5wdXNoKC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMuZXh0ZW5zaW9ucykpO1xuICAgIG5lZWRzLnB1c2goLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSk7XG5cbiAgICBzY3JpcHQucHVzaCguLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpKTtcblxuICAgIGNvbnN0IHByZVN5bnRoU3RlcHMgPSAodGhpcy5vcHRpb25zLnByZVN5bnRoU3RlcHMgPz8gW10pLm1hcChzID0+IHMudG9HaXRsYWIoKSk7XG4gICAgc2NyaXB0LnB1c2goLi4ucHJlU3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wcmVTeW50aFN0ZXBzLmZsYXRNYXAocyA9PiBzLmV4dGVuc2lvbnMpKTtcbiAgICBuZWVkcy5wdXNoKC4uLnByZVN5bnRoU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpKTtcblxuICAgIHNjcmlwdC5wdXNoKC4uLnRoaXMucmVuZGVyU3ludGhDb21tYW5kcygpKTtcblxuICAgIGNvbnN0IHBvc3RTeW50aFN0ZXBzID0gKHRoaXMub3B0aW9ucy5wb3N0U3ludGhTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGxhYigpKTtcbiAgICBzY3JpcHQucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKSk7XG4gICAgbmVlZHMucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcykpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKCdzeW50aCcpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgc3ludGg6IHtcbiAgICAgICAgZXh0ZW5kczogZXh0ZW5zaW9ucyxcbiAgICAgICAgbmVlZHM6IG5lZWRzLFxuICAgICAgICBzdGFnZTogJ3N5bnRoJyxcbiAgICAgICAgdGFnczogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LnN5bnRoID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICBzY3JpcHQsXG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgICAgIC4uLnByZVN5bnRoU3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgICAgICAuLi5wb3N0U3ludGhTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0YWdlIG9mIHRoZSBwaXBlbGluZS5cbiAgICogVGhpcyBtZXRob2QgY29uZmlndXJlcyBhIGpvYiB0byB1cGxvYWQgc3ludGhlc2l6ZWQgYXNzZXRzIHRvIEFXUywgaGFuZGxpbmcgSUFNIHJvbGVcbiAgICogYXV0aGVudGljYXRpb24gYW5kIHNwZWNpZnlpbmcgcnVubmVyIHRhZ3MuIEl0IGRlcGVuZHMgb24gdGhlIHN1Y2Nlc3NmdWwgY29tcGxldGlvblxuICAgKiBvZiB0aGUgJ3N5bnRoJyBzdGFnZSwgZW5zdXJpbmcgYXNzZXRzIGFyZSBvbmx5IHB1Ymxpc2hlZCBhZnRlciBzdWNjZXNzZnVsIHN5bnRoZXNpcy5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVBc3NldFVwbG9hZCgpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JpcHQgPSBbJ2VjaG8gXCJQdWJsaXNoIGFzc2V0cyB0byBBV1NcIiddO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmFzc2V0UHVibGlzaGluZykge1xuICAgICAgc2NyaXB0LnB1c2goYGF3c2xvZ2luICcke3RoaXMub3B0aW9ucy5pYW1Sb2xlQXJucy5hc3NldFB1Ymxpc2hpbmd9J2ApO1xuICAgIH1cbiAgICBjb25zdCBwcmVJbnN0YWxsU3RlcHMgPSAodGhpcy5vcHRpb25zLnByZUluc3RhbGxTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGxhYigpKTtcbiAgICBzY3JpcHQucHVzaCguLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMuY29tbWFuZHMpKTtcblxuICAgIHNjcmlwdC5wdXNoKC4uLnRoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkpO1xuICAgIHNjcmlwdC5wdXNoKC4uLnRoaXMuZ2V0QXNzZXRVcGxvYWRDb21tYW5kcyh0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzKSk7XG5cbiAgICB0aGlzLmNvbmZpZy5hZGRTdGFnZXMoJ3B1Ymxpc2hfYXNzZXRzJyk7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICBwdWJsaXNoX2Fzc2V0czoge1xuICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZScsIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKV0sXG4gICAgICAgIHN0YWdlOiAncHVibGlzaF9hc3NldHMnLFxuICAgICAgICB0YWdzOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uYXNzZXRQdWJsaXNoaW5nID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICBuZWVkczogW3sgam9iOiAnc3ludGgnLCBhcnRpZmFjdHM6IHRydWUgfSwgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKV0sXG4gICAgICAgIHNjcmlwdCxcbiAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgLi4ucHJlSW5zdGFsbFN0ZXBzLnJlZHVjZSgoYWNjLCBzdGVwKSA9PiAoeyAuLi5hY2MsIC4uLnN0ZXAuZW52IH0pLCB7fSksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIER5bmFtaWNhbGx5IGNyZWF0ZXMgZGVwbG95bWVudCBzdGFnZXMgYmFzZWQgb24gdGhlIGRlcGxveW1lbnQgY29uZmlndXJhdGlvbi5cbiAgICogRm9yIGVhY2ggcHJvdmlkZWQgZGVwbG95bWVudCBzdGFnZSwgdGhpcyBtZXRob2Qgc2V0cyB1cCBqb2JzIGZvciAnZGlmZicgYW5kICdkZXBsb3knIGFjdGlvbnMsXG4gICAqIGFwcGx5aW5nIHRoZSBjb3JyZWN0IElBTSByb2xlcyBhbmQgcnVubmVyIHRhZ3MuIEl0IHN1cHBvcnRzIGNvbmRpdGlvbmFsIG1hbnVhbCBhcHByb3ZhbCBmb3JcbiAgICogZGVwbG95bWVudCBzdGFnZXMsIHByb3ZpZGluZyBmbGV4aWJpbGl0eSBpbiB0aGUgZGVwbG95bWVudCB3b3JrZmxvdy5cbiAgICpcbiAgICogQHBhcmFtIHtEZXBsb3ltZW50U3RhZ2V9IHN0YWdlIC0gVGhlIGRlcGxveW1lbnQgc3RhZ2UgY29uZmlndXJhdGlvbiB0byBzZXQgdXAuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlRGVwbG95bWVudChzdGFnZTogRGVwbG95bWVudFN0YWdlKTogdm9pZCB7XG4gICAgY29uc3QgcHJlSW5zdGFsbFN0ZXBzID0gKHRoaXMub3B0aW9ucy5wcmVJbnN0YWxsU3RlcHMgPz8gW10pLm1hcChzID0+IHMudG9HaXRsYWIoKSk7XG5cbiAgICB0aGlzLmNvbmZpZy5hZGRTdGFnZXMoc3RhZ2UubmFtZSk7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICBbYGRpZmYtJHtzdGFnZS5uYW1lfWBdOiB7XG4gICAgICAgIGV4dGVuZHM6IFsnLmF3c19iYXNlJywgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLmV4dGVuc2lvbnMpXSxcbiAgICAgICAgc3RhZ2U6IHN0YWdlLm5hbWUsXG4gICAgICAgIHRhZ3M6IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kaWZmPy5bc3RhZ2UubmFtZV0gPz8gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVmYXVsdCxcbiAgICAgICAgb25seToge1xuICAgICAgICAgIHJlZnM6IFt0aGlzLmJyYW5jaE5hbWVdLFxuICAgICAgICB9LFxuICAgICAgICBuZWVkczogW1xuICAgICAgICAgIHsgam9iOiAnc3ludGgnLCBhcnRpZmFjdHM6IHRydWUgfSxcbiAgICAgICAgICB7IGpvYjogJ3B1Ymxpc2hfYXNzZXRzJyB9LFxuICAgICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyksXG4gICAgICAgIF0sXG4gICAgICAgIHNjcmlwdDogW1xuICAgICAgICAgIGBhd3Nsb2dpbiAnJHt0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRpZmY/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHR9J2AsXG4gICAgICAgICAgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLmNvbW1hbmRzKSxcbiAgICAgICAgICAuLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpLFxuICAgICAgICAgIC4uLnRoaXMucmVuZGVyRGlmZkNvbW1hbmRzKHN0YWdlLm5hbWUpLFxuICAgICAgICBdLFxuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAuLi5wcmVJbnN0YWxsU3RlcHMucmVkdWNlKChhY2MsIHN0ZXApID0+ICh7IC4uLmFjYywgLi4uc3RlcC5lbnYgfSksIHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBbYGRlcGxveS0ke3N0YWdlLm5hbWV9YF06IHtcbiAgICAgICAgZXh0ZW5kczogWycuYXdzX2Jhc2UnLCAnLmFydGlmYWN0c19jZGtkZXBsb3knLCAuLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMuZXh0ZW5zaW9ucyldLFxuICAgICAgICBzdGFnZTogc3RhZ2UubmFtZSxcbiAgICAgICAgdGFnczogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVmYXVsdCxcbiAgICAgICAgLi4uc3RhZ2UubWFudWFsQXBwcm92YWwgJiYge1xuICAgICAgICAgIHdoZW46IGdpdGxhYi5Kb2JXaGVuLk1BTlVBTCxcbiAgICAgICAgfSxcbiAgICAgICAgb25seToge1xuICAgICAgICAgIHJlZnM6IFt0aGlzLmJyYW5jaE5hbWVdLFxuICAgICAgICB9LFxuICAgICAgICBuZWVkczogW1xuICAgICAgICAgIHsgam9iOiAnc3ludGgnLCBhcnRpZmFjdHM6IHRydWUgfSxcbiAgICAgICAgICB7IGpvYjogJ3B1Ymxpc2hfYXNzZXRzJyB9LFxuICAgICAgICAgIHsgam9iOiBgZGlmZi0ke3N0YWdlLm5hbWV9YCB9LFxuICAgICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcyksXG4gICAgICAgIF0sXG4gICAgICAgIHNjcmlwdDogW1xuICAgICAgICAgIGBhd3Nsb2dpbiAnJHt0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHR9J2AsXG4gICAgICAgICAgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLmNvbW1hbmRzKSxcbiAgICAgICAgICAuLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpLFxuICAgICAgICAgIC4uLnRoaXMucmVuZGVyRGVwbG95Q29tbWFuZHMoc3RhZ2UubmFtZSksXG4gICAgICAgIF0sXG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5yZWR1Y2UoKGFjYywgc3RlcCkgPT4gKHsgLi4uYWNjLCAuLi5zdGVwLmVudiB9KSwge30pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmRlcGxveW1lbnRTdGFnZXMucHVzaChzdGFnZS5uYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBlbmdpbmVUeXBlKCk6IFBpcGVsaW5lRW5naW5lIHtcbiAgICByZXR1cm4gUGlwZWxpbmVFbmdpbmUuR0lUTEFCO1xuICB9XG5cbn1cblxuIl19
@@ -1,17 +1,21 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./base"), exports);
14
18
  __exportStar(require("./github"), exports);
15
19
  __exportStar(require("./gitlab"), exports);
16
20
  __exportStar(require("./bash"), exports);
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2QiwyQ0FBeUI7QUFDekIsMkNBQXlCO0FBQ3pCLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL2dpdGh1Yic7XG5leHBvcnQgKiBmcm9tICcuL2dpdGxhYic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2gnO1xuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUI7QUFDdkIsMkNBQXlCO0FBQ3pCLDJDQUF5QjtBQUN6Qix5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9naXRodWInO1xuZXhwb3J0ICogZnJvbSAnLi9naXRsYWInO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNoJztcbiJdfQ==
package/lib/engine.js CHANGED
@@ -15,5 +15,5 @@ var PipelineEngine;
15
15
  // CODE_CATALYST,
16
16
  /** Create bash scripts */
17
17
  PipelineEngine[PipelineEngine["BASH"] = 2] = "BASH";
18
- })(PipelineEngine = exports.PipelineEngine || (exports.PipelineEngine = {}));
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2VuZ2luZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQTs7O0dBR0c7QUFDSCxJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsNEJBQTRCO0lBQzVCLHVEQUFNLENBQUE7SUFDTixvQ0FBb0M7SUFDcEMsdURBQU0sQ0FBQTtJQUNOLDJDQUEyQztJQUMzQyxpQkFBaUI7SUFDakIsMEJBQTBCO0lBQzFCLG1EQUFJLENBQUE7QUFDTixDQUFDLEVBVFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFTekIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogVGhlIENJL0NEIHRvb2xpbmcgdXNlZCB0byBydW4geW91ciBwaXBlbGluZS5cbiAqIFRoZSBjb21wb25lbnQgd2lsbCByZW5kZXIgd29ya2Zsb3dzIGZvciB0aGUgZ2l2ZW4gc3lzdGVtXG4gKi9cbmV4cG9ydCBlbnVtIFBpcGVsaW5lRW5naW5lIHtcbiAgLyoqIENyZWF0ZSBHaXRIdWIgYWN0aW9ucyAqL1xuICBHSVRIVUIsXG4gIC8qKiBDcmVhdGUgYSAuZ2l0bGFiLWNpLnlhbWwgZmlsZSAqL1xuICBHSVRMQUIsXG4gIC8vIC8qKiBDcmVhdGUgQVdTIENvZGVDYXRhbHlzdCB3b3JrZmxvd3MgKi9cbiAgLy8gQ09ERV9DQVRBTFlTVCxcbiAgLyoqIENyZWF0ZSBiYXNoIHNjcmlwdHMgKi9cbiAgQkFTSCxcbn0iXX0=
18
+ })(PipelineEngine || (exports.PipelineEngine = PipelineEngine = {}));
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2VuZ2luZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQTs7O0dBR0c7QUFDSCxJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsNEJBQTRCO0lBQzVCLHVEQUFNLENBQUE7SUFDTixvQ0FBb0M7SUFDcEMsdURBQU0sQ0FBQTtJQUNOLDJDQUEyQztJQUMzQyxpQkFBaUI7SUFDakIsMEJBQTBCO0lBQzFCLG1EQUFJLENBQUE7QUFDTixDQUFDLEVBVFcsY0FBYyw4QkFBZCxjQUFjLFFBU3pCIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKipcbiAqIFRoZSBDSS9DRCB0b29saW5nIHVzZWQgdG8gcnVuIHlvdXIgcGlwZWxpbmUuXG4gKiBUaGUgY29tcG9uZW50IHdpbGwgcmVuZGVyIHdvcmtmbG93cyBmb3IgdGhlIGdpdmVuIHN5c3RlbVxuICovXG5leHBvcnQgZW51bSBQaXBlbGluZUVuZ2luZSB7XG4gIC8qKiBDcmVhdGUgR2l0SHViIGFjdGlvbnMgKi9cbiAgR0lUSFVCLFxuICAvKiogQ3JlYXRlIGEgLmdpdGxhYi1jaS55YW1sIGZpbGUgKi9cbiAgR0lUTEFCLFxuICAvLyAvKiogQ3JlYXRlIEFXUyBDb2RlQ2F0YWx5c3Qgd29ya2Zsb3dzICovXG4gIC8vIENPREVfQ0FUQUxZU1QsXG4gIC8qKiBDcmVhdGUgYmFzaCBzY3JpcHRzICovXG4gIEJBU0gsXG59Il19
package/lib/index.js CHANGED
@@ -1,16 +1,20 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./engine"), exports);
14
18
  __exportStar(require("./steps"), exports);
15
19
  __exportStar(require("./awscdk"), exports);
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQXlCO0FBQ3pCLDBDQUF3QjtBQUN4QiwyQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuZ2luZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vYXdzY2RrJzsiXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUF5QjtBQUN6QiwwQ0FBd0I7QUFDeEIsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbmdpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGVwcyc7XG5leHBvcnQgKiBmcm9tICcuL2F3c2Nkayc7Il19
package/lib/release.js CHANGED
@@ -5,19 +5,19 @@ const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const stdVer = require("standard-version");
7
7
  function createManifest(outDir, namespace) {
8
- const projectInfo = JSON.parse(fs_1.readFileSync(path_1.join('package.json')).toString('utf-8'));
8
+ const projectInfo = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)('package.json')).toString('utf-8'));
9
9
  const assemblyManifest = JSON.stringify({
10
10
  name: `${namespace}/${projectInfo.name}`,
11
11
  author: projectInfo.author,
12
12
  license: projectInfo.license,
13
13
  version: '0.0.0',
14
14
  }, null, 2);
15
- fs_1.writeFileSync(path_1.join(outDir, 'package.json'), assemblyManifest, { encoding: 'utf-8' });
16
- const rcFile = path_1.join(outDir, '.npmrc');
17
- if (fs_1.existsSync(rcFile)) {
18
- fs_1.rmSync(rcFile, { force: true });
15
+ (0, fs_1.writeFileSync)((0, path_1.join)(outDir, 'package.json'), assemblyManifest, { encoding: 'utf-8' });
16
+ const rcFile = (0, path_1.join)(outDir, '.npmrc');
17
+ if ((0, fs_1.existsSync)(rcFile)) {
18
+ (0, fs_1.rmSync)(rcFile, { force: true });
19
19
  }
20
- fs_1.copyFileSync('.npmrc', rcFile);
20
+ (0, fs_1.copyFileSync)('.npmrc', rcFile);
21
21
  }
22
22
  function bumpVersion() {
23
23
  void stdVer({
@@ -43,4 +43,4 @@ switch (process.argv[2]) {
43
43
  console.log('Cannot find command: ' + process.argv[2]);
44
44
  break;
45
45
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWxlYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDJCQUFtRjtBQUNuRiwrQkFBNEI7QUFDNUIsMkNBQTJDO0FBRTNDLFNBQVMsY0FBYyxDQUFDLE1BQWMsRUFBRSxTQUFpQjtJQUN2RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFZLENBQUMsV0FBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3RDLElBQUksRUFBRSxHQUFHLFNBQVMsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFO1FBQ3hDLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMxQixPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87UUFDNUIsT0FBTyxFQUFFLE9BQU87S0FDakIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDWixrQkFBYSxDQUFDLFdBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUVyRixNQUFNLE1BQU0sR0FBRyxXQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLElBQUksZUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3RCLFdBQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUNqQztJQUNELGlCQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRCxTQUFTLFdBQVc7SUFDbEIsS0FBSyxNQUFNLENBQUM7UUFDVixZQUFZLEVBQUUsRUFBRTtRQUNoQixTQUFTLEVBQUUsRUFBRTtRQUNiLElBQUksRUFBRTtZQUNKLE1BQU0sRUFBRSxJQUFJO1lBQ1osU0FBUyxFQUFFLElBQUk7U0FDaEI7UUFDRCxZQUFZLEVBQUUsS0FBSztRQUNuQixjQUFjLEVBQUUsSUFBSTtRQUNwQixTQUFTLEVBQUUsRUFBRTtLQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELFFBQVEsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUN2QixLQUFLLGlCQUFpQjtRQUNwQixjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakQsTUFBTTtJQUNSLEtBQUssTUFBTTtRQUNULFdBQVcsRUFBRSxDQUFDO1FBQ2QsTUFBTTtJQUNSO1FBQ0UsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsTUFBTTtDQUNUIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBjb3B5RmlsZVN5bmMsIGV4aXN0c1N5bmMsIHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYywgcm1TeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgc3RkVmVyIGZyb20gJ3N0YW5kYXJkLXZlcnNpb24nO1xuXG5mdW5jdGlvbiBjcmVhdGVNYW5pZmVzdChvdXREaXI6IHN0cmluZywgbmFtZXNwYWNlOiBzdHJpbmcpIHtcbiAgY29uc3QgcHJvamVjdEluZm8gPSBKU09OLnBhcnNlKHJlYWRGaWxlU3luYyhqb2luKCdwYWNrYWdlLmpzb24nKSkudG9TdHJpbmcoJ3V0Zi04JykpO1xuICBjb25zdCBhc3NlbWJseU1hbmlmZXN0ID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgIG5hbWU6IGAke25hbWVzcGFjZX0vJHtwcm9qZWN0SW5mby5uYW1lfWAsXG4gICAgYXV0aG9yOiBwcm9qZWN0SW5mby5hdXRob3IsXG4gICAgbGljZW5zZTogcHJvamVjdEluZm8ubGljZW5zZSxcbiAgICB2ZXJzaW9uOiAnMC4wLjAnLFxuICB9LCBudWxsLCAyKTtcbiAgd3JpdGVGaWxlU3luYyhqb2luKG91dERpciwgJ3BhY2thZ2UuanNvbicpLCBhc3NlbWJseU1hbmlmZXN0LCB7IGVuY29kaW5nOiAndXRmLTgnIH0pO1xuXG4gIGNvbnN0IHJjRmlsZSA9IGpvaW4ob3V0RGlyLCAnLm5wbXJjJyk7XG4gIGlmIChleGlzdHNTeW5jKHJjRmlsZSkpIHtcbiAgICBybVN5bmMocmNGaWxlLCB7IGZvcmNlOiB0cnVlIH0pO1xuICB9XG4gIGNvcHlGaWxlU3luYygnLm5wbXJjJywgcmNGaWxlKTtcbn1cblxuZnVuY3Rpb24gYnVtcFZlcnNpb24oKSB7XG4gIHZvaWQgc3RkVmVyKHtcbiAgICBwYWNrYWdlRmlsZXM6IFtdLFxuICAgIGJ1bXBGaWxlczogW10sXG4gICAgc2tpcDoge1xuICAgICAgY29tbWl0OiB0cnVlLFxuICAgICAgY2hhbmdlbG9nOiB0cnVlLFxuICAgIH0sXG4gICAgZmlyc3RSZWxlYXNlOiBmYWxzZSxcbiAgICBnaXRUYWdGYWxsYmFjazogdHJ1ZSxcbiAgICB0YWdQcmVmaXg6ICcnLFxuICB9KS50aGVuKGNvbnNvbGUubG9nKS5jYXRjaChjb25zb2xlLmVycm9yKTtcbn1cblxuc3dpdGNoIChwcm9jZXNzLmFyZ3ZbMl0pIHtcbiAgY2FzZSAnY3JlYXRlLW1hbmlmZXN0JzpcbiAgICBjcmVhdGVNYW5pZmVzdChwcm9jZXNzLmFyZ3ZbM10sIHByb2Nlc3MuYXJndls0XSk7XG4gICAgYnJlYWs7XG4gIGNhc2UgJ2J1bXAnOlxuICAgIGJ1bXBWZXJzaW9uKCk7XG4gICAgYnJlYWs7XG4gIGRlZmF1bHQ6XG4gICAgY29uc29sZS5sb2coJ0Nhbm5vdCBmaW5kIGNvbW1hbmQ6ICcgKyBwcm9jZXNzLmFyZ3ZbMl0pO1xuICAgIGJyZWFrO1xufVxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsZWFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9yZWxlYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLDJCQUFtRjtBQUNuRiwrQkFBNEI7QUFDNUIsMkNBQTJDO0FBRTNDLFNBQVMsY0FBYyxDQUFDLE1BQWMsRUFBRSxTQUFpQjtJQUN2RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUEsaUJBQVksRUFBQyxJQUFBLFdBQUksRUFBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLEVBQUUsR0FBRyxTQUFTLElBQUksV0FBVyxDQUFDLElBQUksRUFBRTtRQUN4QyxNQUFNLEVBQUUsV0FBVyxDQUFDLE1BQU07UUFDMUIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO1FBQzVCLE9BQU8sRUFBRSxPQUFPO0tBQ2pCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1osSUFBQSxrQkFBYSxFQUFDLElBQUEsV0FBSSxFQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRXJGLE1BQU0sTUFBTSxHQUFHLElBQUEsV0FBSSxFQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0QyxJQUFJLElBQUEsZUFBVSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDdkIsSUFBQSxXQUFNLEVBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELElBQUEsaUJBQVksRUFBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELFNBQVMsV0FBVztJQUNsQixLQUFLLE1BQU0sQ0FBQztRQUNWLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFNBQVMsRUFBRSxFQUFFO1FBQ2IsSUFBSSxFQUFFO1lBQ0osTUFBTSxFQUFFLElBQUk7WUFDWixTQUFTLEVBQUUsSUFBSTtTQUNoQjtRQUNELFlBQVksRUFBRSxLQUFLO1FBQ25CLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLFNBQVMsRUFBRSxFQUFFO0tBQ2QsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QyxDQUFDO0FBRUQsUUFBUSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEIsS0FBSyxpQkFBaUI7UUFDcEIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE1BQU07SUFDUixLQUFLLE1BQU07UUFDVCxXQUFXLEVBQUUsQ0FBQztRQUNkLE1BQU07SUFDUjtRQUNFLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE1BQU07QUFDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuXG5pbXBvcnQgeyBjb3B5RmlsZVN5bmMsIGV4aXN0c1N5bmMsIHJlYWRGaWxlU3luYywgd3JpdGVGaWxlU3luYywgcm1TeW5jIH0gZnJvbSAnZnMnO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgc3RkVmVyIGZyb20gJ3N0YW5kYXJkLXZlcnNpb24nO1xuXG5mdW5jdGlvbiBjcmVhdGVNYW5pZmVzdChvdXREaXI6IHN0cmluZywgbmFtZXNwYWNlOiBzdHJpbmcpIHtcbiAgY29uc3QgcHJvamVjdEluZm8gPSBKU09OLnBhcnNlKHJlYWRGaWxlU3luYyhqb2luKCdwYWNrYWdlLmpzb24nKSkudG9TdHJpbmcoJ3V0Zi04JykpO1xuICBjb25zdCBhc3NlbWJseU1hbmlmZXN0ID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgIG5hbWU6IGAke25hbWVzcGFjZX0vJHtwcm9qZWN0SW5mby5uYW1lfWAsXG4gICAgYXV0aG9yOiBwcm9qZWN0SW5mby5hdXRob3IsXG4gICAgbGljZW5zZTogcHJvamVjdEluZm8ubGljZW5zZSxcbiAgICB2ZXJzaW9uOiAnMC4wLjAnLFxuICB9LCBudWxsLCAyKTtcbiAgd3JpdGVGaWxlU3luYyhqb2luKG91dERpciwgJ3BhY2thZ2UuanNvbicpLCBhc3NlbWJseU1hbmlmZXN0LCB7IGVuY29kaW5nOiAndXRmLTgnIH0pO1xuXG4gIGNvbnN0IHJjRmlsZSA9IGpvaW4ob3V0RGlyLCAnLm5wbXJjJyk7XG4gIGlmIChleGlzdHNTeW5jKHJjRmlsZSkpIHtcbiAgICBybVN5bmMocmNGaWxlLCB7IGZvcmNlOiB0cnVlIH0pO1xuICB9XG4gIGNvcHlGaWxlU3luYygnLm5wbXJjJywgcmNGaWxlKTtcbn1cblxuZnVuY3Rpb24gYnVtcFZlcnNpb24oKSB7XG4gIHZvaWQgc3RkVmVyKHtcbiAgICBwYWNrYWdlRmlsZXM6IFtdLFxuICAgIGJ1bXBGaWxlczogW10sXG4gICAgc2tpcDoge1xuICAgICAgY29tbWl0OiB0cnVlLFxuICAgICAgY2hhbmdlbG9nOiB0cnVlLFxuICAgIH0sXG4gICAgZmlyc3RSZWxlYXNlOiBmYWxzZSxcbiAgICBnaXRUYWdGYWxsYmFjazogdHJ1ZSxcbiAgICB0YWdQcmVmaXg6ICcnLFxuICB9KS50aGVuKGNvbnNvbGUubG9nKS5jYXRjaChjb25zb2xlLmVycm9yKTtcbn1cblxuc3dpdGNoIChwcm9jZXNzLmFyZ3ZbMl0pIHtcbiAgY2FzZSAnY3JlYXRlLW1hbmlmZXN0JzpcbiAgICBjcmVhdGVNYW5pZmVzdChwcm9jZXNzLmFyZ3ZbM10sIHByb2Nlc3MuYXJndls0XSk7XG4gICAgYnJlYWs7XG4gIGNhc2UgJ2J1bXAnOlxuICAgIGJ1bXBWZXJzaW9uKCk7XG4gICAgYnJlYWs7XG4gIGRlZmF1bHQ6XG4gICAgY29uc29sZS5sb2coJ0Nhbm5vdCBmaW5kIGNvbW1hbmQ6ICcgKyBwcm9jZXNzLmFyZ3ZbMl0pO1xuICAgIGJyZWFrO1xufVxuIl19
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./step"), exports);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdGVwJzsiXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3RlcCc7Il19
@@ -11,6 +11,10 @@ export interface GitlabStepConfig {
11
11
  readonly needs: Need[];
12
12
  /** Shell commands to execute in this step. */
13
13
  readonly commands: string[];
14
+ /** Additional environment variables to set for this step. */
15
+ readonly env: {
16
+ [key: string]: string;
17
+ };
14
18
  }
15
19
  /**
16
20
  * Configuration interface for a GitHub Actions step.
@@ -20,6 +24,10 @@ export interface GithubStepConfig {
20
24
  readonly needs: string[];
21
25
  /** Commands wrapped as GitHub Action job steps. */
22
26
  readonly steps: JobStep[];
27
+ /** Additional environment variables to set for this step. */
28
+ readonly env: {
29
+ [key: string]: string;
30
+ };
23
31
  }
24
32
  /**
25
33
  * Configuration interface for a bash script step.
package/lib/steps/step.js CHANGED
@@ -18,7 +18,7 @@ class PipelineStep {
18
18
  }
19
19
  exports.PipelineStep = PipelineStep;
20
20
  _a = JSII_RTTI_SYMBOL_1;
21
- PipelineStep[_a] = { fqn: "projen-pipelines.PipelineStep", version: "0.0.61" };
21
+ PipelineStep[_a] = { fqn: "projen-pipelines.PipelineStep", version: "0.0.62" };
22
22
  /**
23
23
  * Concrete implementation of PipelineStep that executes simple commands.
24
24
  */
@@ -37,9 +37,10 @@ class SimpleCommandStep extends PipelineStep {
37
37
  */
38
38
  toGitlab() {
39
39
  return {
40
- extensions: [],
41
- commands: this.commands,
42
- needs: [],
40
+ extensions: [], // No job extensions specified for this step.
41
+ commands: this.commands, // Commands to be run.
42
+ needs: [], // No dependencies.
43
+ env: {}, // No environment variables.
43
44
  };
44
45
  }
45
46
  /**
@@ -47,7 +48,7 @@ class SimpleCommandStep extends PipelineStep {
47
48
  */
48
49
  toBash() {
49
50
  return {
50
- commands: this.commands,
51
+ commands: this.commands, // Commands to be run.
51
52
  };
52
53
  }
53
54
  /**
@@ -55,12 +56,13 @@ class SimpleCommandStep extends PipelineStep {
55
56
  */
56
57
  toGithub() {
57
58
  return {
58
- needs: [],
59
- steps: this.commands.map(c => ({ run: c })),
59
+ needs: [], // No dependencies.
60
+ steps: this.commands.map(c => ({ run: c })), // Maps each command into a GitHub Action job step.
61
+ env: {}, // No environment variables.
60
62
  };
61
63
  }
62
64
  }
63
65
  exports.SimpleCommandStep = SimpleCommandStep;
64
66
  _b = JSII_RTTI_SYMBOL_1;
65
- SimpleCommandStep[_b] = { fqn: "projen-pipelines.SimpleCommandStep", version: "0.0.61" };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBd0NBOztHQUVHO0FBQ0gsTUFBc0IsWUFBWTtJQUVoQzs7O09BR0c7SUFDSCxZQUFzQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ3BDLDJEQUEyRDtJQUM3RCxDQUFDOztBQVJILG9DQXdCQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLFlBQVk7SUFFakQ7Ozs7T0FJRztJQUNILFlBQVksT0FBZ0IsRUFBWSxRQUFrQjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEdUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUUxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsT0FBTztZQUNMLFVBQVUsRUFBRSxFQUFFO1lBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsT0FBTztZQUNMLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDOztBQXZDSCw4Q0F3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEpvYlN0ZXAgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgTmVlZCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0bGFiJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBHaXRMYWIgQ0kgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJTdGVwQ29uZmlnIHtcblxuICAvKiogTGlzdCBvZiBqb2IgZXh0ZW5zaW9ucyByZWxhdGVkIHRvIHRoZSBzdGVwLiAqL1xuICByZWFkb25seSBleHRlbnNpb25zOiBzdHJpbmdbXTtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBOZWVkW107XG5cbiAgLyoqIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUgaW4gdGhpcyBzdGVwLiAqL1xuICByZWFkb25seSBjb21tYW5kczogc3RyaW5nW107XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBpbnRlcmZhY2UgZm9yIGEgR2l0SHViIEFjdGlvbnMgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJTdGVwQ29uZmlnIHtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWFuZHMgd3JhcHBlZCBhcyBHaXRIdWIgQWN0aW9uIGpvYiBzdGVwcy4gKi9cbiAgcmVhZG9ubHkgc3RlcHM6IEpvYlN0ZXBbXTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBiYXNoIHNjcmlwdCBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2hTdGVwQ29uZmlnIHtcblxuICAvKiogU2hlbGwgY29tbWFuZHMgdG8gZXhlY3V0ZS4gKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGRlZmluaW5nIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwaXBlbGluZSBzdGVwLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGlwZWxpbmVTdGVwIHtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgYSBQaXBlbGluZVN0ZXAgd2l0aCBhIHJlZmVyZW5jZSB0byBhIHByb2plbiBwcm9qZWN0LlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBwcm9qZW4gcHJvamVjdCByZWZlcmVuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcHJvamVjdDogUHJvamVjdCkge1xuICAgIC8vIENvbnN0cnVjdG9yIGNhbiBiZSBleHRlbmRlZCB0byBpbmNsdWRlIG1vcmUgc2V0dXAgbG9naWMuXG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgY29uZmlndXJhdGlvbiBmb3IgYSBHaXRMYWIgQ0kgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvR2l0bGFiKCk6IEdpdGxhYlN0ZXBDb25maWc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgR2l0SHViIEFjdGlvbnMgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvR2l0aHViKCk6IEdpdGh1YlN0ZXBDb25maWc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgYmFzaCBzY3JpcHQgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvQmFzaCgpOiBCYXNoU3RlcENvbmZpZztcbn1cblxuLyoqXG4gKiBDb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBQaXBlbGluZVN0ZXAgdGhhdCBleGVjdXRlcyBzaW1wbGUgY29tbWFuZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVDb21tYW5kU3RlcCBleHRlbmRzIFBpcGVsaW5lU3RlcCB7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBzaW1wbGUgY29tbWFuZCBzdGVwIHdpdGggYSBzcGVjaWZpZWQgc2V0IG9mIGNvbW1hbmRzLlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBwcm9qZW4gcHJvamVjdCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSBjb21tYW5kcyAtIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm90ZWN0ZWQgY29tbWFuZHM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHN0ZXAgaW50byBhIEdpdExhYiBDSSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvR2l0bGFiKCk6IEdpdGxhYlN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBleHRlbnNpb25zOiBbXSwgLy8gTm8gam9iIGV4dGVuc2lvbnMgc3BlY2lmaWVkIGZvciB0aGlzIHN0ZXAuXG4gICAgICBjb21tYW5kczogdGhpcy5jb21tYW5kcywgLy8gQ29tbWFuZHMgdG8gYmUgcnVuLlxuICAgICAgbmVlZHM6IFtdLCAvLyBObyBkZXBlbmRlbmNpZXMuXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc3RlcCBpbnRvIGEgQmFzaCBzY3JpcHQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0Jhc2goKTogQmFzaFN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kczogdGhpcy5jb21tYW5kcywgLy8gQ29tbWFuZHMgdG8gYmUgcnVuLlxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHN0ZXAgaW50byBhIEdpdEh1YiBBY3Rpb25zIHN0ZXAgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmVlZHM6IFtdLCAvLyBObyBkZXBlbmRlbmNpZXMuXG4gICAgICBzdGVwczogdGhpcy5jb21tYW5kcy5tYXAoYyA9PiAoeyBydW46IGMgfSkpLCAvLyBNYXBzIGVhY2ggY29tbWFuZCBpbnRvIGEgR2l0SHViIEFjdGlvbiBqb2Igc3RlcC5cbiAgICB9O1xuICB9XG59XG4iXX0=
67
+ SimpleCommandStep[_b] = { fqn: "projen-pipelines.SimpleCommandStep", version: "0.0.62" };
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBOENBOztHQUVHO0FBQ0gsTUFBc0IsWUFBWTtJQUVoQzs7O09BR0c7SUFDSCxZQUFzQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ3BDLDJEQUEyRDtJQUM3RCxDQUFDOztBQVJILG9DQXdCQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLFlBQVk7SUFFakQ7Ozs7T0FJRztJQUNILFlBQVksT0FBZ0IsRUFBWSxRQUFrQjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEdUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUUxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsT0FBTztZQUNMLFVBQVUsRUFBRSxFQUFFLEVBQUUsNkNBQTZDO1lBQzdELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLHNCQUFzQjtZQUMvQyxLQUFLLEVBQUUsRUFBRSxFQUFFLG1CQUFtQjtZQUM5QixHQUFHLEVBQUUsRUFBRSxFQUFFLDRCQUE0QjtTQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxzQkFBc0I7U0FDaEQsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLEVBQUUsRUFBRSxtQkFBbUI7WUFDOUIsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsbURBQW1EO1lBQ2hHLEdBQUcsRUFBRSxFQUFFLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7SUFDSixDQUFDOztBQXpDSCw4Q0EwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEpvYlN0ZXAgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgTmVlZCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0bGFiJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBHaXRMYWIgQ0kgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJTdGVwQ29uZmlnIHtcblxuICAvKiogTGlzdCBvZiBqb2IgZXh0ZW5zaW9ucyByZWxhdGVkIHRvIHRoZSBzdGVwLiAqL1xuICByZWFkb25seSBleHRlbnNpb25zOiBzdHJpbmdbXTtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBOZWVkW107XG5cbiAgLyoqIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUgaW4gdGhpcyBzdGVwLiAqL1xuICByZWFkb25seSBjb21tYW5kczogc3RyaW5nW107XG5cbiAgLyoqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBmb3IgdGhpcyBzdGVwLiAqL1xuICByZWFkb25seSBlbnY6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBpbnRlcmZhY2UgZm9yIGEgR2l0SHViIEFjdGlvbnMgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJTdGVwQ29uZmlnIHtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWFuZHMgd3JhcHBlZCBhcyBHaXRIdWIgQWN0aW9uIGpvYiBzdGVwcy4gKi9cbiAgcmVhZG9ubHkgc3RlcHM6IEpvYlN0ZXBbXTtcblxuICAvKiogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IGZvciB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBiYXNoIHNjcmlwdCBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2hTdGVwQ29uZmlnIHtcblxuICAvKiogU2hlbGwgY29tbWFuZHMgdG8gZXhlY3V0ZS4gKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGRlZmluaW5nIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwaXBlbGluZSBzdGVwLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGlwZWxpbmVTdGVwIHtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgYSBQaXBlbGluZVN0ZXAgd2l0aCBhIHJlZmVyZW5jZSB0byBhIHByb2plbiBwcm9qZWN0LlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBwcm9qZW4gcHJvamVjdCByZWZlcmVuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcHJvamVjdDogUHJvamVjdCkge1xuICAgIC8vIENvbnN0cnVjdG9yIGNhbiBiZSBleHRlbmRlZCB0byBpbmNsdWRlIG1vcmUgc2V0dXAgbG9naWMuXG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgY29uZmlndXJhdGlvbiBmb3IgYSBHaXRMYWIgQ0kgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvR2l0bGFiKCk6IEdpdGxhYlN0ZXBDb25maWc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgR2l0SHViIEFjdGlvbnMgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvR2l0aHViKCk6IEdpdGh1YlN0ZXBDb25maWc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgYmFzaCBzY3JpcHQgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvQmFzaCgpOiBCYXNoU3RlcENvbmZpZztcbn1cblxuLyoqXG4gKiBDb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBQaXBlbGluZVN0ZXAgdGhhdCBleGVjdXRlcyBzaW1wbGUgY29tbWFuZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVDb21tYW5kU3RlcCBleHRlbmRzIFBpcGVsaW5lU3RlcCB7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBzaW1wbGUgY29tbWFuZCBzdGVwIHdpdGggYSBzcGVjaWZpZWQgc2V0IG9mIGNvbW1hbmRzLlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBwcm9qZW4gcHJvamVjdCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSBjb21tYW5kcyAtIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm90ZWN0ZWQgY29tbWFuZHM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHN0ZXAgaW50byBhIEdpdExhYiBDSSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvR2l0bGFiKCk6IEdpdGxhYlN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBleHRlbnNpb25zOiBbXSwgLy8gTm8gam9iIGV4dGVuc2lvbnMgc3BlY2lmaWVkIGZvciB0aGlzIHN0ZXAuXG4gICAgICBjb21tYW5kczogdGhpcy5jb21tYW5kcywgLy8gQ29tbWFuZHMgdG8gYmUgcnVuLlxuICAgICAgbmVlZHM6IFtdLCAvLyBObyBkZXBlbmRlbmNpZXMuXG4gICAgICBlbnY6IHt9LCAvLyBObyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc3RlcCBpbnRvIGEgQmFzaCBzY3JpcHQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0Jhc2goKTogQmFzaFN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kczogdGhpcy5jb21tYW5kcywgLy8gQ29tbWFuZHMgdG8gYmUgcnVuLlxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHN0ZXAgaW50byBhIEdpdEh1YiBBY3Rpb25zIHN0ZXAgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmVlZHM6IFtdLCAvLyBObyBkZXBlbmRlbmNpZXMuXG4gICAgICBzdGVwczogdGhpcy5jb21tYW5kcy5tYXAoYyA9PiAoeyBydW46IGMgfSkpLCAvLyBNYXBzIGVhY2ggY29tbWFuZCBpbnRvIGEgR2l0SHViIEFjdGlvbiBqb2Igc3RlcC5cbiAgICAgIGVudjoge30sIC8vIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICB9O1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -39,7 +39,7 @@
39
39
  "devDependencies": {
40
40
  "@types/fs-extra": "^11.0.4",
41
41
  "@types/jest": "^27",
42
- "@types/node": "^16 <= 16.18.78",
42
+ "@types/node": "^18",
43
43
  "@types/standard-version": "^7.1.3",
44
44
  "@typescript-eslint/eslint-plugin": "^6",
45
45
  "@typescript-eslint/parser": "^6",
@@ -48,16 +48,16 @@
48
48
  "eslint-import-resolver-typescript": "^3.6.1",
49
49
  "eslint-plugin-import": "^2.29.1",
50
50
  "fs-extra": "^11.2.0",
51
- "jest": "^27",
51
+ "jest": "^29",
52
52
  "jest-junit": "^15",
53
- "jsii": "1.x",
53
+ "jsii": "~5.4",
54
54
  "jsii-diff": "^1.98.0",
55
- "jsii-docgen": "^10.4.10",
55
+ "jsii-docgen": "^10.4.11",
56
56
  "jsii-pacmak": "^1.98.0",
57
- "jsii-rosetta": "1.x",
58
- "projen": "0.81.4",
57
+ "jsii-rosetta": "~5.4",
58
+ "projen": "0.81.0",
59
59
  "standard-version": "^9",
60
- "ts-jest": "^27",
60
+ "ts-jest": "^29",
61
61
  "ts-node": "^10.9.2",
62
62
  "typescript": "^5.4.5"
63
63
  },
@@ -66,23 +66,18 @@
66
66
  "projen": ">=0.81.0 <1.0.0"
67
67
  },
68
68
  "dependencies": {
69
- "projen": "0.81.4",
70
- "standard-version": "^9.5.0"
69
+ "standard-version": "^9"
71
70
  },
72
71
  "bundledDependencies": [
73
72
  "standard-version"
74
73
  ],
75
- "resolutions": {
76
- "@types/babel__traverse": "7.18.2",
77
- "@types/prettier": "2.6.0"
78
- },
79
74
  "keywords": [
80
75
  "aws",
81
76
  "cdk"
82
77
  ],
83
78
  "main": "lib/index.js",
84
79
  "license": "Apache-2.0",
85
- "version": "0.0.61",
80
+ "version": "0.0.62",
86
81
  "jest": {
87
82
  "testMatch": [
88
83
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
@@ -116,11 +111,13 @@
116
111
  }
117
112
  ]
118
113
  ],
119
- "preset": "ts-jest",
120
- "globals": {
121
- "ts-jest": {
122
- "tsconfig": "tsconfig.dev.json"
123
- }
114
+ "transform": {
115
+ "^.+\\.[t]sx?$": [
116
+ "ts-jest",
117
+ {
118
+ "tsconfig": "tsconfig.dev.json"
119
+ }
120
+ ]
124
121
  }
125
122
  },
126
123
  "types": "lib/index.d.ts",