@cloudsnorkel/cdk-github-runners 0.8.3 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/.jsii +2257 -744
  2. package/API.md +2005 -558
  3. package/README.md +32 -34
  4. package/assets/docker-images/codebuild/linux-arm64/Dockerfile +2 -0
  5. package/assets/docker-images/codebuild/linux-x64/Dockerfile +2 -0
  6. package/assets/docker-images/fargate/linux-arm64/Dockerfile +2 -0
  7. package/assets/docker-images/fargate/linux-x64/Dockerfile +2 -0
  8. package/assets/docker-images/lambda/linux-arm64/Dockerfile +3 -1
  9. package/assets/docker-images/lambda/linux-arm64/runner.sh +1 -1
  10. package/assets/docker-images/lambda/linux-x64/Dockerfile +3 -1
  11. package/assets/docker-images/lambda/linux-x64/runner.sh +1 -1
  12. package/assets/lambdas/aws-image-builder-versioner.lambda/index.js +42 -27
  13. package/assets/lambdas/setup.lambda/index.html +12 -12
  14. package/lib/index.js +7 -3
  15. package/lib/lambdas/aws-image-builder-versioner-function.js +2 -2
  16. package/lib/lambdas/aws-image-builder-versioner.lambda.js +43 -27
  17. package/lib/lambdas/build-image-function.js +2 -2
  18. package/lib/lambdas/build-image.lambda.js +4 -4
  19. package/lib/lambdas/delete-ami-function.js +2 -2
  20. package/lib/lambdas/delete-ami.lambda.js +4 -4
  21. package/lib/lambdas/delete-runner-function.js +2 -2
  22. package/lib/lambdas/delete-runner.lambda.js +2 -2
  23. package/lib/lambdas/github.js +3 -3
  24. package/lib/lambdas/setup-function.js +2 -2
  25. package/lib/lambdas/setup.lambda.js +16 -16
  26. package/lib/lambdas/status-function.js +2 -2
  27. package/lib/lambdas/status.lambda.js +5 -5
  28. package/lib/lambdas/token-retriever-function.js +2 -2
  29. package/lib/lambdas/token-retriever.lambda.js +2 -2
  30. package/lib/lambdas/update-lambda-function.js +2 -2
  31. package/lib/lambdas/webhook-handler-function.js +2 -2
  32. package/lib/lambdas/webhook-handler.lambda.js +2 -2
  33. package/lib/providers/codebuild.d.ts +24 -4
  34. package/lib/providers/codebuild.js +43 -13
  35. package/lib/providers/common.d.ts +17 -39
  36. package/lib/providers/common.js +26 -16
  37. package/lib/providers/ec2.d.ts +23 -5
  38. package/lib/providers/ec2.js +43 -12
  39. package/lib/providers/fargate.d.ts +21 -4
  40. package/lib/providers/fargate.js +50 -20
  41. package/lib/providers/image-builders/api.d.ts +15 -0
  42. package/lib/providers/image-builders/api.js +47 -0
  43. package/lib/providers/image-builders/aws-image-builder/ami.d.ts +43 -0
  44. package/lib/providers/image-builders/aws-image-builder/ami.js +81 -0
  45. package/lib/providers/image-builders/aws-image-builder/builder.d.ts +133 -0
  46. package/lib/providers/image-builders/aws-image-builder/builder.js +488 -0
  47. package/lib/providers/image-builders/aws-image-builder/common.d.ts +10 -0
  48. package/lib/providers/image-builders/aws-image-builder/common.js +46 -0
  49. package/lib/providers/image-builders/aws-image-builder/container.d.ts +58 -0
  50. package/lib/providers/image-builders/aws-image-builder/container.js +63 -0
  51. package/lib/providers/image-builders/{ami.d.ts → aws-image-builder/deprecated/ami.d.ts} +8 -4
  52. package/lib/providers/image-builders/aws-image-builder/deprecated/ami.js +239 -0
  53. package/lib/providers/image-builders/aws-image-builder/deprecated/common.d.ts +34 -0
  54. package/lib/providers/image-builders/aws-image-builder/deprecated/common.js +139 -0
  55. package/lib/providers/image-builders/{container.d.ts → aws-image-builder/deprecated/container.d.ts} +8 -4
  56. package/lib/providers/image-builders/aws-image-builder/deprecated/container.js +222 -0
  57. package/lib/providers/image-builders/aws-image-builder/deprecated/index.d.ts +5 -0
  58. package/lib/providers/image-builders/aws-image-builder/deprecated/index.js +22 -0
  59. package/lib/providers/image-builders/{linux-components.d.ts → aws-image-builder/deprecated/linux-components.d.ts} +4 -2
  60. package/lib/providers/image-builders/aws-image-builder/deprecated/linux-components.js +180 -0
  61. package/lib/providers/image-builders/{windows-components.d.ts → aws-image-builder/deprecated/windows-components.d.ts} +4 -2
  62. package/lib/providers/image-builders/aws-image-builder/deprecated/windows-components.js +142 -0
  63. package/lib/providers/image-builders/aws-image-builder/index.d.ts +5 -0
  64. package/lib/providers/image-builders/aws-image-builder/index.js +22 -0
  65. package/lib/providers/image-builders/codebuild-deprecated.d.ts +195 -0
  66. package/lib/providers/image-builders/codebuild-deprecated.js +373 -0
  67. package/lib/providers/image-builders/codebuild.d.ts +26 -157
  68. package/lib/providers/image-builders/codebuild.js +119 -211
  69. package/lib/providers/image-builders/common.d.ts +164 -107
  70. package/lib/providers/image-builders/common.js +30 -272
  71. package/lib/providers/image-builders/components.d.ts +114 -0
  72. package/lib/providers/image-builders/components.js +534 -0
  73. package/lib/providers/image-builders/index.d.ts +6 -4
  74. package/lib/providers/image-builders/index.js +13 -7
  75. package/lib/providers/image-builders/static.d.ts +4 -3
  76. package/lib/providers/image-builders/static.js +10 -10
  77. package/lib/providers/index.js +7 -3
  78. package/lib/providers/lambda.d.ts +25 -6
  79. package/lib/providers/lambda.js +50 -13
  80. package/lib/runner.d.ts +3 -5
  81. package/lib/runner.js +3 -3
  82. package/lib/secrets.js +3 -3
  83. package/package.json +12 -16
  84. package/lib/providers/image-builders/ami.js +0 -280
  85. package/lib/providers/image-builders/container.js +0 -247
  86. package/lib/providers/image-builders/linux-components.js +0 -177
  87. package/lib/providers/image-builders/windows-components.js +0 -139
@@ -1,177 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.LinuxUbuntuComponents = void 0;
5
- const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const aws_cdk_lib_1 = require("aws-cdk-lib");
7
- const common_1 = require("./common");
8
- const common_2 = require("../common");
9
- /**
10
- * Components for Ubuntu Linux that can be used with AWS Image Builder based builders. These cannot be used by {@link CodeBuildImageBuilder}.
11
- */
12
- class LinuxUbuntuComponents {
13
- static requiredPackages(scope, id, architecture) {
14
- let archUrl;
15
- if (architecture.is(common_2.Architecture.X86_64)) {
16
- archUrl = 'amd64';
17
- }
18
- else if (architecture.is(common_2.Architecture.ARM64)) {
19
- archUrl = 'arm64';
20
- }
21
- else {
22
- throw new Error(`Unsupported architecture for required packages: ${architecture.name}`);
23
- }
24
- return new common_1.ImageBuilderComponent(scope, id, {
25
- platform: 'Linux',
26
- displayName: 'Required packages',
27
- description: 'Install packages required for GitHub Runner and upgrade all packages',
28
- commands: [
29
- 'set -ex',
30
- 'apt-get update',
31
- 'DEBIAN_FRONTEND=noninteractive apt-get upgrade -y',
32
- 'DEBIAN_FRONTEND=noninteractive apt-get install -y curl sudo jq bash zip unzip iptables software-properties-common ca-certificates',
33
- `curl -sfLo /tmp/amazon-cloudwatch-agent.deb https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/${archUrl}/latest/amazon-cloudwatch-agent.deb`,
34
- 'dpkg -i -E /tmp/amazon-cloudwatch-agent.deb',
35
- 'rm /tmp/amazon-cloudwatch-agent.deb',
36
- ],
37
- });
38
- }
39
- static runnerUser(scope, id, _architecture) {
40
- return new common_1.ImageBuilderComponent(scope, id, {
41
- platform: 'Linux',
42
- displayName: 'GitHub Runner user',
43
- description: 'Install latest version of AWS CLI',
44
- commands: [
45
- 'set -ex',
46
- 'addgroup runner',
47
- 'adduser --system --disabled-password --home /home/runner --ingroup runner runner',
48
- 'usermod -aG sudo runner',
49
- 'echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/runner',
50
- ],
51
- });
52
- }
53
- static awsCli(scope, id, architecture) {
54
- let archUrl;
55
- if (architecture.is(common_2.Architecture.X86_64)) {
56
- archUrl = 'x86_64';
57
- }
58
- else if (architecture.is(common_2.Architecture.ARM64)) {
59
- archUrl = 'aarch64';
60
- }
61
- else {
62
- throw new Error(`Unsupported architecture for awscli: ${architecture.name}`);
63
- }
64
- return new common_1.ImageBuilderComponent(scope, id, {
65
- platform: 'Linux',
66
- displayName: 'AWS CLI',
67
- description: 'Install latest version of AWS CLI',
68
- commands: [
69
- 'set -ex',
70
- `curl -fsSL "https://awscli.amazonaws.com/awscli-exe-linux-${archUrl}.zip" -o awscliv2.zip`,
71
- 'unzip -q awscliv2.zip',
72
- './aws/install',
73
- 'rm -rf awscliv2.zip aws',
74
- ],
75
- });
76
- }
77
- static githubCli(scope, id, _architecture) {
78
- return new common_1.ImageBuilderComponent(scope, id, {
79
- platform: 'Linux',
80
- displayName: 'GitHub CLI',
81
- description: 'Install latest version of gh',
82
- commands: [
83
- 'set -ex',
84
- 'curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg',
85
- 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] ' +
86
- ' https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null',
87
- 'apt-get update',
88
- 'DEBIAN_FRONTEND=noninteractive apt-get install -y gh',
89
- ],
90
- });
91
- }
92
- static git(scope, id, _architecture) {
93
- return new common_1.ImageBuilderComponent(scope, id, {
94
- platform: 'Linux',
95
- displayName: 'Git',
96
- description: 'Install latest version of git',
97
- commands: [
98
- 'set -ex',
99
- 'add-apt-repository ppa:git-core/ppa',
100
- 'apt-get update',
101
- 'DEBIAN_FRONTEND=noninteractive apt-get install -y git',
102
- ],
103
- });
104
- }
105
- static githubRunner(scope, id, runnerVersion, architecture) {
106
- let versionCommand;
107
- if (runnerVersion.is(common_2.RunnerVersion.latest())) {
108
- versionCommand = 'RUNNER_VERSION=`curl -w "%{redirect_url}" -fsS https://github.com/actions/runner/releases/latest | grep -oE "[^/v]+$"`';
109
- }
110
- else {
111
- versionCommand = `RUNNER_VERSION='${runnerVersion.version}'`;
112
- }
113
- let archUrl;
114
- if (architecture.is(common_2.Architecture.X86_64)) {
115
- archUrl = 'x64';
116
- }
117
- else if (architecture.is(common_2.Architecture.ARM64)) {
118
- archUrl = 'arm64';
119
- }
120
- else {
121
- throw new Error(`Unsupported architecture for GitHub Runner: ${architecture.name}`);
122
- }
123
- return new common_1.ImageBuilderComponent(scope, id, {
124
- platform: 'Linux',
125
- displayName: 'GitHub Actions Runner',
126
- description: 'Install latest version of GitHub Actions Runner',
127
- commands: [
128
- 'set -ex',
129
- versionCommand,
130
- `curl -fsSLO "https://github.com/actions/runner/releases/download/v\${RUNNER_VERSION}/actions-runner-linux-${archUrl}-\${RUNNER_VERSION}.tar.gz"`,
131
- `tar xzf "actions-runner-linux-${archUrl}-\${RUNNER_VERSION}.tar.gz"`,
132
- `rm actions-runner-linux-${archUrl}-\${RUNNER_VERSION}.tar.gz`,
133
- './bin/installdependencies.sh',
134
- ],
135
- });
136
- }
137
- static docker(scope, id, _architecture) {
138
- return new common_1.ImageBuilderComponent(scope, id, {
139
- platform: 'Linux',
140
- displayName: 'Docker',
141
- description: 'Install latest version of Docker',
142
- commands: [
143
- 'set -ex',
144
- 'curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg',
145
- 'echo ' +
146
- ' "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu ' +
147
- ' $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null',
148
- 'apt-get update',
149
- 'DEBIAN_FRONTEND=noninteractive apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin',
150
- 'usermod -aG docker runner',
151
- 'ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose',
152
- ],
153
- });
154
- }
155
- static extraCertificates(scope, id, path) {
156
- return new common_1.ImageBuilderComponent(scope, id, {
157
- platform: 'Linux',
158
- displayName: 'Extra certificates',
159
- description: 'Install self-signed certificates to provide access to GitHub Enterprise Server',
160
- commands: [
161
- 'set -ex',
162
- 'cp certs/certs.pem /usr/local/share/ca-certificates/github-enterprise-server.crt',
163
- 'update-ca-certificates',
164
- ],
165
- assets: [
166
- {
167
- path: 'certs',
168
- asset: new aws_cdk_lib_1.aws_s3_assets.Asset(scope, `${id} Asset`, { path }),
169
- },
170
- ],
171
- });
172
- }
173
- }
174
- exports.LinuxUbuntuComponents = LinuxUbuntuComponents;
175
- _a = JSII_RTTI_SYMBOL_1;
176
- LinuxUbuntuComponents[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents", version: "0.8.3" };
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGludXgtY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcm92aWRlcnMvaW1hZ2UtYnVpbGRlcnMvbGludXgtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUF5RDtBQUV6RCxxQ0FBaUQ7QUFDakQsc0NBQXdEO0FBRXhEOztHQUVHO0FBQ0gsTUFBYSxxQkFBcUI7SUFDekIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFlBQTBCO1FBQ3JGLElBQUksT0FBTyxDQUFDO1FBQ1osSUFBSSxZQUFZLENBQUMsRUFBRSxDQUFDLHFCQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUNuQjthQUFNLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxxQkFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzlDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDbkI7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3pGO1FBRUQsT0FBTyxJQUFJLDhCQUFxQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUMsUUFBUSxFQUFFLE9BQU87WUFDakIsV0FBVyxFQUFFLG1CQUFtQjtZQUNoQyxXQUFXLEVBQUUsc0VBQXNFO1lBQ25GLFFBQVEsRUFBRTtnQkFDUixTQUFTO2dCQUNULGdCQUFnQjtnQkFDaEIsbURBQW1EO2dCQUNuRCxtSUFBbUk7Z0JBQ25JLHNHQUFzRyxPQUFPLHFDQUFxQztnQkFDbEosNkNBQTZDO2dCQUM3QyxxQ0FBcUM7YUFDdEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxhQUEyQjtRQUNoRixPQUFPLElBQUksOEJBQXFCLENBQUMsS0FB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QUssRUFBRSxJQUFJLDJCQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQzNEO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQXBLSCxzREFxS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhd3NfczNfYXNzZXRzIGFzIHMzX2Fzc2V0cyB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSW1hZ2VCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgQXJjaGl0ZWN0dXJlLCBSdW5uZXJWZXJzaW9uIH0gZnJvbSAnLi4vY29tbW9uJztcblxuLyoqXG4gKiBDb21wb25lbnRzIGZvciBVYnVudHUgTGludXggdGhhdCBjYW4gYmUgdXNlZCB3aXRoIEFXUyBJbWFnZSBCdWlsZGVyIGJhc2VkIGJ1aWxkZXJzLiBUaGVzZSBjYW5ub3QgYmUgdXNlZCBieSB7QGxpbmsgQ29kZUJ1aWxkSW1hZ2VCdWlsZGVyfS5cbiAqL1xuZXhwb3J0IGNsYXNzIExpbnV4VWJ1bnR1Q29tcG9uZW50cyB7XG4gIHB1YmxpYyBzdGF0aWMgcmVxdWlyZWRQYWNrYWdlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZSkge1xuICAgIGxldCBhcmNoVXJsO1xuICAgIGlmIChhcmNoaXRlY3R1cmUuaXMoQXJjaGl0ZWN0dXJlLlg4Nl82NCkpIHtcbiAgICAgIGFyY2hVcmwgPSAnYW1kNjQnO1xuICAgIH0gZWxzZSBpZiAoYXJjaGl0ZWN0dXJlLmlzKEFyY2hpdGVjdHVyZS5BUk02NCkpIHtcbiAgICAgIGFyY2hVcmwgPSAnYXJtNjQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSBmb3IgcmVxdWlyZWQgcGFja2FnZXM6ICR7YXJjaGl0ZWN0dXJlLm5hbWV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbWFnZUJ1aWxkZXJDb21wb25lbnQoc2NvcGUsIGlkLCB7XG4gICAgICBwbGF0Zm9ybTogJ0xpbnV4JyxcbiAgICAgIGRpc3BsYXlOYW1lOiAnUmVxdWlyZWQgcGFja2FnZXMnLFxuICAgICAgZGVzY3JpcHRpb246ICdJbnN0YWxsIHBhY2thZ2VzIHJlcXVpcmVkIGZvciBHaXRIdWIgUnVubmVyIGFuZCB1cGdyYWRlIGFsbCBwYWNrYWdlcycsXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICAnc2V0IC1leCcsXG4gICAgICAgICdhcHQtZ2V0IHVwZGF0ZScsXG4gICAgICAgICdERUJJQU5fRlJPTlRFTkQ9bm9uaW50ZXJhY3RpdmUgYXB0LWdldCB1cGdyYWRlIC15JyxcbiAgICAgICAgJ0RFQklBTl9GUk9OVEVORD1ub25pbnRlcmFjdGl2ZSBhcHQtZ2V0IGluc3RhbGwgLXkgY3VybCBzdWRvIGpxIGJhc2ggemlwIHVuemlwIGlwdGFibGVzIHNvZnR3YXJlLXByb3BlcnRpZXMtY29tbW9uIGNhLWNlcnRpZmljYXRlcycsXG4gICAgICAgIGBjdXJsIC1zZkxvIC90bXAvYW1hem9uLWNsb3Vkd2F0Y2gtYWdlbnQuZGViIGh0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9hbWF6b25jbG91ZHdhdGNoLWFnZW50L3VidW50dS8ke2FyY2hVcmx9L2xhdGVzdC9hbWF6b24tY2xvdWR3YXRjaC1hZ2VudC5kZWJgLFxuICAgICAgICAnZHBrZyAtaSAtRSAvdG1wL2FtYXpvbi1jbG91ZHdhdGNoLWFnZW50LmRlYicsXG4gICAgICAgICdybSAvdG1wL2FtYXpvbi1jbG91ZHdhdGNoLWFnZW50LmRlYicsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBydW5uZXJVc2VyKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIF9hcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZSkge1xuICAgIHJldHVybiBuZXcgSW1hZ2VCdWlsZGVyQ29tcG9uZW50KHNjb3BlLCBpZCwge1xuICAgICAgcGxhdGZvcm06ICdMaW51eCcsXG4gICAgICBkaXNwbGF5TmFtZTogJ0dpdEh1YiBSdW5uZXIgdXNlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgbGF0ZXN0IHZlcnNpb24gb2YgQVdTIENMSScsXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICAnc2V0IC1leCcsXG4gICAgICAgICdhZGRncm91cCBydW5uZXInLFxuICAgICAgICAnYWRkdXNlciAtLXN5c3RlbSAtLWRpc2FibGVkLXBhc3N3b3JkIC0taG9tZSAvaG9tZS9ydW5uZXIgLS1pbmdyb3VwIHJ1bm5lciBydW5uZXInLFxuICAgICAgICAndXNlcm1vZCAtYUcgc3VkbyBydW5uZXInLFxuICAgICAgICAnZWNobyBcIiVzdWRvICAgQUxMPShBTEw6QUxMKSBOT1BBU1NXRDogQUxMXCIgPiAvZXRjL3N1ZG9lcnMuZC9ydW5uZXInLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYXdzQ2xpKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlKSB7XG4gICAgbGV0IGFyY2hVcmw7XG4gICAgaWYgKGFyY2hpdGVjdHVyZS5pcyhBcmNoaXRlY3R1cmUuWDg2XzY0KSkge1xuICAgICAgYXJjaFVybCA9ICd4ODZfNjQnO1xuICAgIH0gZWxzZSBpZiAoYXJjaGl0ZWN0dXJlLmlzKEFyY2hpdGVjdHVyZS5BUk02NCkpIHtcbiAgICAgIGFyY2hVcmwgPSAnYWFyY2g2NCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIGZvciBhd3NjbGk6ICR7YXJjaGl0ZWN0dXJlLm5hbWV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbWFnZUJ1aWxkZXJDb21wb25lbnQoc2NvcGUsIGlkLCB7XG4gICAgICBwbGF0Zm9ybTogJ0xpbnV4JyxcbiAgICAgIGRpc3BsYXlOYW1lOiAnQVdTIENMSScsXG4gICAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgbGF0ZXN0IHZlcnNpb24gb2YgQVdTIENMSScsXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICAnc2V0IC1leCcsXG4gICAgICAgIGBjdXJsIC1mc1NMIFwiaHR0cHM6Ly9hd3NjbGkuYW1hem9uYXdzLmNvbS9hd3NjbGktZXhlLWxpbnV4LSR7YXJjaFVybH0uemlwXCIgLW8gYXdzY2xpdjIuemlwYCxcbiAgICAgICAgJ3VuemlwIC1xIGF3c2NsaXYyLnppcCcsXG4gICAgICAgICcuL2F3cy9pbnN0YWxsJyxcbiAgICAgICAgJ3JtIC1yZiBhd3NjbGl2Mi56aXAgYXdzJyxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdpdGh1YkNsaShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBfYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmUpIHtcbiAgICByZXR1cm4gbmV3IEltYWdlQnVpbGRlckNvbXBvbmVudChzY29wZSwgaWQsIHtcbiAgICAgIHBsYXRmb3JtOiAnTGludXgnLFxuICAgICAgZGlzcGxheU5hbWU6ICdHaXRIdWIgQ0xJJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBsYXRlc3QgdmVyc2lvbiBvZiBnaCcsXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICAnc2V0IC1leCcsXG4gICAgICAgICdjdXJsIC1mc1NMIGh0dHBzOi8vY2xpLmdpdGh1Yi5jb20vcGFja2FnZXMvZ2l0aHViY2xpLWFyY2hpdmUta2V5cmluZy5ncGcgfCBzdWRvIGRkIG9mPS91c3Ivc2hhcmUva2V5cmluZ3MvZ2l0aHViY2xpLWFyY2hpdmUta2V5cmluZy5ncGcnLFxuICAgICAgICAnZWNobyBcImRlYiBbYXJjaD0kKGRwa2cgLS1wcmludC1hcmNoaXRlY3R1cmUpIHNpZ25lZC1ieT0vdXNyL3NoYXJlL2tleXJpbmdzL2dpdGh1YmNsaS1hcmNoaXZlLWtleXJpbmcuZ3BnXSAnICtcbiAgICAgICAgJyAgaHR0cHM6Ly9jbGkuZ2l0aHViLmNvbS9wYWNrYWdlcyBzdGFibGUgbWFpblwiIHwgc3VkbyB0ZWUgL2V0Yy9hcHQvc291cmNlcy5saXN0LmQvZ2l0aHViLWNsaS5saXN0ID4gL2Rldi9udWxsJyxcbiAgICAgICAgJ2FwdC1nZXQgdXBkYXRlJyxcbiAgICAgICAgJ0RFQklBTl9GUk9OVEVORD1ub25pbnRlcmFjdGl2ZSBhcHQtZ2V0IGluc3RhbGwgLXkgZ2gnLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2l0KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIF9hcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZSkge1xuICAgIHJldHVybiBuZXcgSW1hZ2VCdWlsZGVyQ29tcG9uZW50KHNjb3BlLCBpZCwge1xuICAgICAgcGxhdGZvcm06ICdMaW51eCcsXG4gICAgICBkaXNwbGF5TmFtZTogJ0dpdCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgbGF0ZXN0IHZlcnNpb24gb2YgZ2l0JyxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICdzZXQgLWV4JyxcbiAgICAgICAgJ2FkZC1hcHQtcmVwb3NpdG9yeSBwcGE6Z2l0LWNvcmUvcHBhJyxcbiAgICAgICAgJ2FwdC1nZXQgdXBkYXRlJyxcbiAgICAgICAgJ0RFQklBTl9GUk9OVEVORD1ub25pbnRlcmFjdGl2ZSBhcHQtZ2V0IGluc3RhbGwgLXkgZ2l0JyxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdpdGh1YlJ1bm5lcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBydW5uZXJWZXJzaW9uOiBSdW5uZXJWZXJzaW9uLCBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZSkge1xuICAgIGxldCB2ZXJzaW9uQ29tbWFuZDogc3RyaW5nO1xuICAgIGlmIChydW5uZXJWZXJzaW9uLmlzKFJ1bm5lclZlcnNpb24ubGF0ZXN0KCkpKSB7XG4gICAgICB2ZXJzaW9uQ29tbWFuZCA9ICdSVU5ORVJfVkVSU0lPTj1gY3VybCAtdyBcIiV7cmVkaXJlY3RfdXJsfVwiIC1mc1MgaHR0cHM6Ly9naXRodWIuY29tL2FjdGlvbnMvcnVubmVyL3JlbGVhc2VzL2xhdGVzdCB8IGdyZXAgLW9FIFwiW14vdl0rJFwiYCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZlcnNpb25Db21tYW5kID0gYFJVTk5FUl9WRVJTSU9OPScke3J1bm5lclZlcnNpb24udmVyc2lvbn0nYDtcbiAgICB9XG5cbiAgICBsZXQgYXJjaFVybDtcbiAgICBpZiAoYXJjaGl0ZWN0dXJlLmlzKEFyY2hpdGVjdHVyZS5YODZfNjQpKSB7XG4gICAgICBhcmNoVXJsID0gJ3g2NCc7XG4gICAgfSBlbHNlIGlmIChhcmNoaXRlY3R1cmUuaXMoQXJjaGl0ZWN0dXJlLkFSTTY0KSkge1xuICAgICAgYXJjaFVybCA9ICdhcm02NCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlIGZvciBHaXRIdWIgUnVubmVyOiAke2FyY2hpdGVjdHVyZS5uYW1lfWApO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1hZ2VCdWlsZGVyQ29tcG9uZW50KHNjb3BlLCBpZCwge1xuICAgICAgcGxhdGZvcm06ICdMaW51eCcsXG4gICAgICBkaXNwbGF5TmFtZTogJ0dpdEh1YiBBY3Rpb25zIFJ1bm5lcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgbGF0ZXN0IHZlcnNpb24gb2YgR2l0SHViIEFjdGlvbnMgUnVubmVyJyxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICdzZXQgLWV4JyxcbiAgICAgICAgdmVyc2lvbkNvbW1hbmQsXG4gICAgICAgIGBjdXJsIC1mc1NMTyBcImh0dHBzOi8vZ2l0aHViLmNvbS9hY3Rpb25zL3J1bm5lci9yZWxlYXNlcy9kb3dubG9hZC92XFwke1JVTk5FUl9WRVJTSU9OfS9hY3Rpb25zLXJ1bm5lci1saW51eC0ke2FyY2hVcmx9LVxcJHtSVU5ORVJfVkVSU0lPTn0udGFyLmd6XCJgLFxuICAgICAgICBgdGFyIHh6ZiBcImFjdGlvbnMtcnVubmVyLWxpbnV4LSR7YXJjaFVybH0tXFwke1JVTk5FUl9WRVJTSU9OfS50YXIuZ3pcImAsXG4gICAgICAgIGBybSBhY3Rpb25zLXJ1bm5lci1saW51eC0ke2FyY2hVcmx9LVxcJHtSVU5ORVJfVkVSU0lPTn0udGFyLmd6YCxcbiAgICAgICAgJy4vYmluL2luc3RhbGxkZXBlbmRlbmNpZXMuc2gnLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZG9ja2VyKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIF9hcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZSkge1xuICAgIHJldHVybiBuZXcgSW1hZ2VCdWlsZGVyQ29tcG9uZW50KHNjb3BlLCBpZCwge1xuICAgICAgcGxhdGZvcm06ICdMaW51eCcsXG4gICAgICBkaXNwbGF5TmFtZTogJ0RvY2tlcicsXG4gICAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgbGF0ZXN0IHZlcnNpb24gb2YgRG9ja2VyJyxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICdzZXQgLWV4JyxcbiAgICAgICAgJ2N1cmwgLWZzU0wgaHR0cHM6Ly9kb3dubG9hZC5kb2NrZXIuY29tL2xpbnV4L3VidW50dS9ncGcgfCBzdWRvIGdwZyAtLWRlYXJtb3IgLW8gL3Vzci9zaGFyZS9rZXlyaW5ncy9kb2NrZXIuZ3BnJyxcbiAgICAgICAgJ2VjaG8gJyArXG4gICAgICAgICcgIFwiZGViIFthcmNoPSQoZHBrZyAtLXByaW50LWFyY2hpdGVjdHVyZSkgc2lnbmVkLWJ5PS91c3Ivc2hhcmUva2V5cmluZ3MvZG9ja2VyLmdwZ10gaHR0cHM6Ly9kb3dubG9hZC5kb2NrZXIuY29tL2xpbnV4L3VidW50dSAnICtcbiAgICAgICAgJyAgJChsc2JfcmVsZWFzZSAtY3MpIHN0YWJsZVwiIHwgc3VkbyB0ZWUgL2V0Yy9hcHQvc291cmNlcy5saXN0LmQvZG9ja2VyLmxpc3QgPiAvZGV2L251bGwnLFxuICAgICAgICAnYXB0LWdldCB1cGRhdGUnLFxuICAgICAgICAnREVCSUFOX0ZST05URU5EPW5vbmludGVyYWN0aXZlIGFwdC1nZXQgaW5zdGFsbCAteSBkb2NrZXItY2UgZG9ja2VyLWNlLWNsaSBjb250YWluZXJkLmlvIGRvY2tlci1jb21wb3NlLXBsdWdpbicsXG4gICAgICAgICd1c2VybW9kIC1hRyBkb2NrZXIgcnVubmVyJyxcbiAgICAgICAgJ2xuIC1zIC91c3IvbGliZXhlYy9kb2NrZXIvY2xpLXBsdWdpbnMvZG9ja2VyLWNvbXBvc2UgL3Vzci9iaW4vZG9ja2VyLWNvbXBvc2UnLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZXh0cmFDZXJ0aWZpY2F0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBJbWFnZUJ1aWxkZXJDb21wb25lbnQoc2NvcGUsIGlkLCB7XG4gICAgICBwbGF0Zm9ybTogJ0xpbnV4JyxcbiAgICAgIGRpc3BsYXlOYW1lOiAnRXh0cmEgY2VydGlmaWNhdGVzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMgdG8gcHJvdmlkZSBhY2Nlc3MgdG8gR2l0SHViIEVudGVycHJpc2UgU2VydmVyJyxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICdzZXQgLWV4JyxcbiAgICAgICAgJ2NwIGNlcnRzL2NlcnRzLnBlbSAvdXNyL2xvY2FsL3NoYXJlL2NhLWNlcnRpZmljYXRlcy9naXRodWItZW50ZXJwcmlzZS1zZXJ2ZXIuY3J0JyxcbiAgICAgICAgJ3VwZGF0ZS1jYS1jZXJ0aWZpY2F0ZXMnLFxuICAgICAgXSxcbiAgICAgIGFzc2V0czogW1xuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogJ2NlcnRzJyxcbiAgICAgICAgICBhc3NldDogbmV3IHMzX2Fzc2V0cy5Bc3NldChzY29wZSwgYCR7aWR9IEFzc2V0YCwgeyBwYXRoIH0pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,139 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.WindowsComponents = void 0;
5
- const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const aws_cdk_lib_1 = require("aws-cdk-lib");
7
- const common_1 = require("./common");
8
- const common_2 = require("../common");
9
- /**
10
- * Components for Windows that can be used with AWS Image Builder based builders. These cannot be used by {@link CodeBuildImageBuilder}.
11
- */
12
- class WindowsComponents {
13
- static cloudwatchAgent(scope, id) {
14
- return new common_1.ImageBuilderComponent(scope, id, {
15
- platform: 'Windows',
16
- displayName: 'CloudWatch agent',
17
- description: 'Install latest version of CloudWatch agent for sending logs to CloudWatch',
18
- commands: [
19
- '$ErrorActionPreference = \'Stop\'',
20
- 'Start-Process msiexec.exe -Wait -ArgumentList \'/i https://s3.amazonaws.com/amazoncloudwatch-agent/windows/amd64/latest/amazon-cloudwatch-agent.msi /qn\'',
21
- ],
22
- });
23
- }
24
- static awsCli(scope, id) {
25
- return new common_1.ImageBuilderComponent(scope, id, {
26
- platform: 'Windows',
27
- displayName: 'AWS CLI',
28
- description: 'Install latest version of AWS CLI',
29
- commands: [
30
- '$ErrorActionPreference = \'Stop\'',
31
- 'Start-Process msiexec.exe -Wait -ArgumentList \'/i https://awscli.amazonaws.com/AWSCLIV2.msi /qn\'',
32
- ],
33
- });
34
- }
35
- static githubCli(scope, id) {
36
- return new common_1.ImageBuilderComponent(scope, id, {
37
- platform: 'Windows',
38
- displayName: 'GitHub CLI',
39
- description: 'Install latest version of gh',
40
- commands: [
41
- '$ErrorActionPreference = \'Stop\'',
42
- '$ProgressPreference = \'SilentlyContinue\'',
43
- 'cmd /c curl -w "%{redirect_url}" -fsS https://github.com/cli/cli/releases/latest > $Env:TEMP\\latest-gh',
44
- '$LatestUrl = Get-Content $Env:TEMP\\latest-gh',
45
- '$GH_VERSION = ($LatestUrl -Split \'/\')[-1].substring(1)',
46
- '$ProgressPreference = \'SilentlyContinue\'',
47
- 'Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_windows_amd64.msi" -OutFile gh.msi',
48
- 'Start-Process msiexec.exe -Wait -ArgumentList \'/i gh.msi /qn\'',
49
- 'del gh.msi',
50
- ],
51
- });
52
- }
53
- static git(scope, id) {
54
- return new common_1.ImageBuilderComponent(scope, id, {
55
- platform: 'Windows',
56
- displayName: 'Git',
57
- description: 'Install latest version of git',
58
- commands: [
59
- '$ErrorActionPreference = \'Stop\'',
60
- '$ProgressPreference = \'SilentlyContinue\'',
61
- 'cmd /c curl -w "%{redirect_url}" -fsS https://github.com/git-for-windows/git/releases/latest > $Env:TEMP\\latest-git',
62
- '$LatestUrl = Get-Content $Env:TEMP\\latest-git',
63
- '$GIT_VERSION = ($LatestUrl -Split \'/\')[-1].substring(1)',
64
- '$GIT_VERSION_SHORT = ($GIT_VERSION -Split \'.windows.\')[0]',
65
- '$GIT_REVISION = ($GIT_VERSION -Split \'.windows.\')[1]',
66
- 'If ($GIT_REVISION -gt 1) {$GIT_VERSION_SHORT = "$GIT_VERSION_SHORT.$GIT_REVISION"}',
67
- 'Invoke-WebRequest -UseBasicParsing -Uri https://github.com/git-for-windows/git/releases/download/v${GIT_VERSION}/Git-${GIT_VERSION_SHORT}-64-bit.exe -OutFile git-setup.exe',
68
- 'Start-Process git-setup.exe -Wait -ArgumentList \'/VERYSILENT\'',
69
- 'del git-setup.exe',
70
- ],
71
- });
72
- }
73
- static githubRunner(scope, id, runnerVersion) {
74
- let runnerCommands;
75
- if (runnerVersion.is(common_2.RunnerVersion.latest())) {
76
- runnerCommands = [
77
- 'cmd /c curl -w "%{redirect_url}" -fsS https://github.com/actions/runner/releases/latest > $Env:TEMP\\latest-gha',
78
- '$LatestUrl = Get-Content $Env:TEMP\\latest-gha',
79
- '$RUNNER_VERSION = ($LatestUrl -Split \'/\')[-1].substring(1)',
80
- ];
81
- }
82
- else {
83
- runnerCommands = [`$RUNNER_VERSION = '${runnerVersion.version}'`];
84
- }
85
- return new common_1.ImageBuilderComponent(scope, id, {
86
- platform: 'Windows',
87
- displayName: 'GitHub Actions Runner',
88
- description: 'Install latest version of GitHub Actions Runner',
89
- commands: [
90
- '$ErrorActionPreference = \'Stop\'',
91
- '$ProgressPreference = \'SilentlyContinue\'',
92
- ].concat(runnerCommands, [
93
- 'Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/actions/runner/releases/download/v${RUNNER_VERSION}/actions-runner-win-x64-${RUNNER_VERSION}.zip" -OutFile actions.zip',
94
- 'Expand-Archive actions.zip -DestinationPath C:\\actions',
95
- 'del actions.zip',
96
- ]),
97
- });
98
- }
99
- static docker(scope, id) {
100
- return new common_1.ImageBuilderComponent(scope, id, {
101
- platform: 'Windows',
102
- displayName: 'Docker',
103
- description: 'Install latest version of Docker',
104
- commands: [
105
- '$ErrorActionPreference = \'Stop\'',
106
- '$ProgressPreference = \'SilentlyContinue\'',
107
- 'Invoke-WebRequest -UseBasicParsing -Uri https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe -OutFile docker-setup.exe',
108
- 'Start-Process \'docker-setup.exe\' -Wait -ArgumentList \'/install --quiet --accept-license\'',
109
- 'del docker-setup.exe',
110
- 'cmd /c curl -w "%{redirect_url}" -fsS https://github.com/docker/compose/releases/latest > $Env:TEMP\\latest-docker-compose',
111
- '$LatestUrl = Get-Content $Env:TEMP\\latest-docker-compose',
112
- '$LatestDockerCompose = ($LatestUrl -Split \'/\')[-1]',
113
- 'Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/docker/compose/releases/download/${LatestDockerCompose}/docker-compose-Windows-x86_64.exe" -OutFile $Env:ProgramFiles\\Docker\\docker-compose.exe',
114
- 'copy $Env:ProgramFiles\\Docker\\docker-compose.exe $Env:ProgramFiles\\Docker\\cli-plugins\\docker-compose.exe',
115
- ],
116
- });
117
- }
118
- static extraCertificates(scope, id, path) {
119
- return new common_1.ImageBuilderComponent(scope, id, {
120
- platform: 'Windows',
121
- displayName: 'Extra certificates',
122
- description: 'Install self-signed certificates to provide access to GitHub Enterprise Server',
123
- commands: [
124
- '$ErrorActionPreference = \'Stop\'',
125
- 'Import-Certificate -FilePath certs\\certs.pem -CertStoreLocation Cert:\\LocalMachine\\Root',
126
- ],
127
- assets: [
128
- {
129
- path: 'certs',
130
- asset: new aws_cdk_lib_1.aws_s3_assets.Asset(scope, `${id} Asset`, { path }),
131
- },
132
- ],
133
- });
134
- }
135
- }
136
- exports.WindowsComponents = WindowsComponents;
137
- _a = JSII_RTTI_SYMBOL_1;
138
- WindowsComponents[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.WindowsComponents", version: "0.8.3" };
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93cy1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9pbWFnZS1idWlsZGVycy93aW5kb3dzLWNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBeUQ7QUFFekQscUNBQWlEO0FBQ2pELHNDQUEwQztBQUUxQzs7R0FFRztBQUNILE1BQWEsaUJBQWlCO0lBQ3JCLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBZ0IsRUFBRSxFQUFVO1FBQ3hELE9BQU8sSUFBSSw4QkFBcUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQzFDLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFdBQVcsRUFBRSxrQkFBa0I7WUFDL0IsV0FBVyxFQUFFLDJFQUEyRTtZQUN4RixRQUFRLEVBQUU7Z0JBQ1IsbUNBQW1DO2dCQUNuQywySkFBMko7YUFDNUo7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFnQixFQUFFLEVBQVU7UUFDL0MsT0FBTyxJQUFJLDhCQUFxQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUMsUUFBUSxFQUFFLFNBQVM7WUFDbkIsV0FBVyxFQUFFLFNBQVM7WUFDdEIsV0FBVyxFQUFFLG1DQUFtQztZQUNoRCxRQUFRLEVBQUU7Z0JBQ1IsbUNBQW1DO2dCQUNuQyxvR0FBb0c7YUFDckc7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFnQixFQUFFLEVBQVU7UUFDbEQsT0FBTyxJQUFJLDhCQUFxQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUMsUUFBUSxFQUFFLFNBQVM7WUFDbkIsV0FBVyxFQUFFLFlBQVk7WUFDekIsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyxRQUFRLEVBQUU7Z0JBQ1IsbUNBQW1DO2dCQUNuQyw0Q0FBNEM7Z0JBQzVDLHlHQUF5RztnQkFDekcsK0NBQStDO2dCQUMvQywwREFBMEQ7Z0JBQzFELDRDQUE0QztnQkFDNUMsMEpBQTBKO2dCQUMxSixpRUFBaUU7Z0JBQ2pFLFlBQVk7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBVTtRQUM1QyxPQUFPLElBQUksOEJBQXFCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUMxQyxRQUFRLEVBQUUsU0FBUztZQUNuQixXQUFXLEVBQUUsS0FBSztZQUNsQixXQUFXLEVBQUUsK0JBQStCO1lBQzVDLFFBQVEsRUFBRTtnQkFDUixtQ0FBbUM7Z0JBQ25DLDRDQUE0QztnQkFDNUMsc0hBQXNIO2dCQUN0SCxnREFBZ0Q7Z0JBQ2hELDJEQUEyRDtnQkFDM0QsNkRBQTZEO2dCQUM3RCx3REFBd0Q7Z0JBQ3hELG9GQUFvRjtnQkFDcEYsNktBQTZLO2dCQUM3SyxpRUFBaUU7Z0JBQ2pFLG1CQUFtQjthQUNwQjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLGFBQTRCO1FBQ25GLElBQUksY0FBd0IsQ0FBQztRQUM3QixJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUMsc0JBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQzVDLGNBQWMsR0FBRztnQkFDZixpSEFBaUg7Z0JBQ2pILGdEQUFnRDtnQkFDaEQsOERBQThEO2FBQy9ELENBQUM7U0FDSDthQUFNO1lBQ0wsY0FBYyxHQUFHLENBQUMsc0JBQXNCLGFBQWEsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1NBQ25FO1FBRUQsT0FBTyxJQUFJLDhCQUFxQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUMsUUFBUSxFQUFFLFNBQVM7WUFDbkIsV0FBVyxFQUFFLHVCQUF1QjtZQUNwQyxXQUFXLEVBQUUsaURBQWlEO1lBQzlELFFBQVEsRUFBRTtnQkFDUixtQ0FBbUM7Z0JBQ25DLDRDQUE0QzthQUM3QyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUU7Z0JBQ3ZCLG9MQUFvTDtnQkFDcEwseURBQXlEO2dCQUN6RCxpQkFBaUI7YUFDbEIsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWdCLEVBQUUsRUFBVTtRQUMvQyxPQUFPLElBQUksOEJBQXFCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUMxQyxRQUFRLEVBQUUsU0FBUztZQUNuQixXQUFXLEVBQUUsUUFBUTtZQUNyQixXQUFXLEVBQUUsa0NBQWtDO1lBQy9DLFFBQVEsRUFBRTtnQkFDUixtQ0FBbUM7Z0JBQ25DLDRDQUE0QztnQkFDNUMsOElBQThJO2dCQUM5SSw4RkFBOEY7Z0JBQzlGLHNCQUFzQjtnQkFDdEIsNEhBQTRIO2dCQUM1SCwyREFBMkQ7Z0JBQzNELHNEQUFzRDtnQkFDdEQsZ05BQWdOO2dCQUNoTiwrR0FBK0c7YUFDaEg7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQVk7UUFDeEUsT0FBTyxJQUFJLDhCQUFxQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUMsUUFBUSxFQUFFLFNBQVM7WUFDbkIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxXQUFXLEVBQUUsZ0ZBQWdGO1lBQzdGLFFBQVEsRUFBRTtnQkFDUixtQ0FBbUM7Z0JBQ25DLDRGQUE0RjthQUM3RjtZQUNELE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxJQUFJLEVBQUUsT0FBTztvQkFDYixLQUFLLEVBQUUsSUFBSSwyQkFBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO2lCQUMzRDthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoSUgsOENBaUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzX3MzX2Fzc2V0cyBhcyBzM19hc3NldHMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEltYWdlQnVpbGRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7IFJ1bm5lclZlcnNpb24gfSBmcm9tICcuLi9jb21tb24nO1xuXG4vKipcbiAqIENvbXBvbmVudHMgZm9yIFdpbmRvd3MgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIEFXUyBJbWFnZSBCdWlsZGVyIGJhc2VkIGJ1aWxkZXJzLiBUaGVzZSBjYW5ub3QgYmUgdXNlZCBieSB7QGxpbmsgQ29kZUJ1aWxkSW1hZ2VCdWlsZGVyfS5cbiAqL1xuZXhwb3J0IGNsYXNzIFdpbmRvd3NDb21wb25lbnRzIHtcbiAgcHVibGljIHN0YXRpYyBjbG91ZHdhdGNoQWdlbnQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgSW1hZ2VCdWlsZGVyQ29tcG9uZW50KHNjb3BlLCBpZCwge1xuICAgICAgcGxhdGZvcm06ICdXaW5kb3dzJyxcbiAgICAgIGRpc3BsYXlOYW1lOiAnQ2xvdWRXYXRjaCBhZ2VudCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgbGF0ZXN0IHZlcnNpb24gb2YgQ2xvdWRXYXRjaCBhZ2VudCBmb3Igc2VuZGluZyBsb2dzIHRvIENsb3VkV2F0Y2gnLFxuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgJyRFcnJvckFjdGlvblByZWZlcmVuY2UgPSBcXCdTdG9wXFwnJyxcbiAgICAgICAgJ1N0YXJ0LVByb2Nlc3MgbXNpZXhlYy5leGUgLVdhaXQgLUFyZ3VtZW50TGlzdCBcXCcvaSBodHRwczovL3MzLmFtYXpvbmF3cy5jb20vYW1hem9uY2xvdWR3YXRjaC1hZ2VudC93aW5kb3dzL2FtZDY0L2xhdGVzdC9hbWF6b24tY2xvdWR3YXRjaC1hZ2VudC5tc2kgL3FuXFwnJyxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGF3c0NsaShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBJbWFnZUJ1aWxkZXJDb21wb25lbnQoc2NvcGUsIGlkLCB7XG4gICAgICBwbGF0Zm9ybTogJ1dpbmRvd3MnLFxuICAgICAgZGlzcGxheU5hbWU6ICdBV1MgQ0xJJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBsYXRlc3QgdmVyc2lvbiBvZiBBV1MgQ0xJJyxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICckRXJyb3JBY3Rpb25QcmVmZXJlbmNlID0gXFwnU3RvcFxcJycsXG4gICAgICAgICdTdGFydC1Qcm9jZXNzIG1zaWV4ZWMuZXhlIC1XYWl0IC1Bcmd1bWVudExpc3QgXFwnL2kgaHR0cHM6Ly9hd3NjbGkuYW1hem9uYXdzLmNvbS9BV1NDTElWMi5tc2kgL3FuXFwnJyxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdpdGh1YkNsaShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBJbWFnZUJ1aWxkZXJDb21wb25lbnQoc2NvcGUsIGlkLCB7XG4gICAgICBwbGF0Zm9ybTogJ1dpbmRvd3MnLFxuICAgICAgZGlzcGxheU5hbWU6ICdHaXRIdWIgQ0xJJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBsYXRlc3QgdmVyc2lvbiBvZiBnaCcsXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICAnJEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9IFxcJ1N0b3BcXCcnLFxuICAgICAgICAnJFByb2dyZXNzUHJlZmVyZW5jZSA9IFxcJ1NpbGVudGx5Q29udGludWVcXCcnLFxuICAgICAgICAnY21kIC9jIGN1cmwgLXcgXCIle3JlZGlyZWN0X3VybH1cIiAtZnNTIGh0dHBzOi8vZ2l0aHViLmNvbS9jbGkvY2xpL3JlbGVhc2VzL2xhdGVzdCA+ICRFbnY6VEVNUFxcXFxsYXRlc3QtZ2gnLFxuICAgICAgICAnJExhdGVzdFVybCA9IEdldC1Db250ZW50ICRFbnY6VEVNUFxcXFxsYXRlc3QtZ2gnLFxuICAgICAgICAnJEdIX1ZFUlNJT04gPSAoJExhdGVzdFVybCAtU3BsaXQgXFwnL1xcJylbLTFdLnN1YnN0cmluZygxKScsXG4gICAgICAgICckUHJvZ3Jlc3NQcmVmZXJlbmNlID0gXFwnU2lsZW50bHlDb250aW51ZVxcJycsXG4gICAgICAgICdJbnZva2UtV2ViUmVxdWVzdCAtVXNlQmFzaWNQYXJzaW5nIC1VcmkgXCJodHRwczovL2dpdGh1Yi5jb20vY2xpL2NsaS9yZWxlYXNlcy9kb3dubG9hZC92JHtHSF9WRVJTSU9OfS9naF8ke0dIX1ZFUlNJT059X3dpbmRvd3NfYW1kNjQubXNpXCIgLU91dEZpbGUgZ2gubXNpJyxcbiAgICAgICAgJ1N0YXJ0LVByb2Nlc3MgbXNpZXhlYy5leGUgLVdhaXQgLUFyZ3VtZW50TGlzdCBcXCcvaSBnaC5tc2kgL3FuXFwnJyxcbiAgICAgICAgJ2RlbCBnaC5tc2knLFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2l0KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IEltYWdlQnVpbGRlckNvbXBvbmVudChzY29wZSwgaWQsIHtcbiAgICAgIHBsYXRmb3JtOiAnV2luZG93cycsXG4gICAgICBkaXNwbGF5TmFtZTogJ0dpdCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ0luc3RhbGwgbGF0ZXN0IHZlcnNpb24gb2YgZ2l0JyxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICckRXJyb3JBY3Rpb25QcmVmZXJlbmNlID0gXFwnU3RvcFxcJycsXG4gICAgICAgICckUHJvZ3Jlc3NQcmVmZXJlbmNlID0gXFwnU2lsZW50bHlDb250aW51ZVxcJycsXG4gICAgICAgICdjbWQgL2MgY3VybCAtdyBcIiV7cmVkaXJlY3RfdXJsfVwiIC1mc1MgaHR0cHM6Ly9naXRodWIuY29tL2dpdC1mb3Itd2luZG93cy9naXQvcmVsZWFzZXMvbGF0ZXN0ID4gJEVudjpURU1QXFxcXGxhdGVzdC1naXQnLFxuICAgICAgICAnJExhdGVzdFVybCA9IEdldC1Db250ZW50ICRFbnY6VEVNUFxcXFxsYXRlc3QtZ2l0JyxcbiAgICAgICAgJyRHSVRfVkVSU0lPTiA9ICgkTGF0ZXN0VXJsIC1TcGxpdCBcXCcvXFwnKVstMV0uc3Vic3RyaW5nKDEpJyxcbiAgICAgICAgJyRHSVRfVkVSU0lPTl9TSE9SVCA9ICgkR0lUX1ZFUlNJT04gLVNwbGl0IFxcJy53aW5kb3dzLlxcJylbMF0nLFxuICAgICAgICAnJEdJVF9SRVZJU0lPTiA9ICgkR0lUX1ZFUlNJT04gLVNwbGl0IFxcJy53aW5kb3dzLlxcJylbMV0nLFxuICAgICAgICAnSWYgKCRHSVRfUkVWSVNJT04gLWd0IDEpIHskR0lUX1ZFUlNJT05fU0hPUlQgPSBcIiRHSVRfVkVSU0lPTl9TSE9SVC4kR0lUX1JFVklTSU9OXCJ9JyxcbiAgICAgICAgJ0ludm9rZS1XZWJSZXF1ZXN0IC1Vc2VCYXNpY1BhcnNpbmcgLVVyaSBodHRwczovL2dpdGh1Yi5jb20vZ2l0LWZvci13aW5kb3dzL2dpdC9yZWxlYXNlcy9kb3dubG9hZC92JHtHSVRfVkVSU0lPTn0vR2l0LSR7R0lUX1ZFUlNJT05fU0hPUlR9LTY0LWJpdC5leGUgLU91dEZpbGUgZ2l0LXNldHVwLmV4ZScsXG4gICAgICAgICdTdGFydC1Qcm9jZXNzIGdpdC1zZXR1cC5leGUgLVdhaXQgLUFyZ3VtZW50TGlzdCBcXCcvVkVSWVNJTEVOVFxcJycsXG4gICAgICAgICdkZWwgZ2l0LXNldHVwLmV4ZScsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnaXRodWJSdW5uZXIoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcnVubmVyVmVyc2lvbjogUnVubmVyVmVyc2lvbikge1xuICAgIGxldCBydW5uZXJDb21tYW5kczogc3RyaW5nW107XG4gICAgaWYgKHJ1bm5lclZlcnNpb24uaXMoUnVubmVyVmVyc2lvbi5sYXRlc3QoKSkpIHtcbiAgICAgIHJ1bm5lckNvbW1hbmRzID0gW1xuICAgICAgICAnY21kIC9jIGN1cmwgLXcgXCIle3JlZGlyZWN0X3VybH1cIiAtZnNTIGh0dHBzOi8vZ2l0aHViLmNvbS9hY3Rpb25zL3J1bm5lci9yZWxlYXNlcy9sYXRlc3QgPiAkRW52OlRFTVBcXFxcbGF0ZXN0LWdoYScsXG4gICAgICAgICckTGF0ZXN0VXJsID0gR2V0LUNvbnRlbnQgJEVudjpURU1QXFxcXGxhdGVzdC1naGEnLFxuICAgICAgICAnJFJVTk5FUl9WRVJTSU9OID0gKCRMYXRlc3RVcmwgLVNwbGl0IFxcJy9cXCcpWy0xXS5zdWJzdHJpbmcoMSknLFxuICAgICAgXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcnVubmVyQ29tbWFuZHMgPSBbYCRSVU5ORVJfVkVSU0lPTiA9ICcke3J1bm5lclZlcnNpb24udmVyc2lvbn0nYF07XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbWFnZUJ1aWxkZXJDb21wb25lbnQoc2NvcGUsIGlkLCB7XG4gICAgICBwbGF0Zm9ybTogJ1dpbmRvd3MnLFxuICAgICAgZGlzcGxheU5hbWU6ICdHaXRIdWIgQWN0aW9ucyBSdW5uZXInLFxuICAgICAgZGVzY3JpcHRpb246ICdJbnN0YWxsIGxhdGVzdCB2ZXJzaW9uIG9mIEdpdEh1YiBBY3Rpb25zIFJ1bm5lcicsXG4gICAgICBjb21tYW5kczogW1xuICAgICAgICAnJEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9IFxcJ1N0b3BcXCcnLFxuICAgICAgICAnJFByb2dyZXNzUHJlZmVyZW5jZSA9IFxcJ1NpbGVudGx5Q29udGludWVcXCcnLFxuICAgICAgXS5jb25jYXQocnVubmVyQ29tbWFuZHMsIFtcbiAgICAgICAgJ0ludm9rZS1XZWJSZXF1ZXN0IC1Vc2VCYXNpY1BhcnNpbmcgLVVyaSBcImh0dHBzOi8vZ2l0aHViLmNvbS9hY3Rpb25zL3J1bm5lci9yZWxlYXNlcy9kb3dubG9hZC92JHtSVU5ORVJfVkVSU0lPTn0vYWN0aW9ucy1ydW5uZXItd2luLXg2NC0ke1JVTk5FUl9WRVJTSU9OfS56aXBcIiAtT3V0RmlsZSBhY3Rpb25zLnppcCcsXG4gICAgICAgICdFeHBhbmQtQXJjaGl2ZSBhY3Rpb25zLnppcCAtRGVzdGluYXRpb25QYXRoIEM6XFxcXGFjdGlvbnMnLFxuICAgICAgICAnZGVsIGFjdGlvbnMuemlwJyxcbiAgICAgIF0pLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBkb2NrZXIoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgSW1hZ2VCdWlsZGVyQ29tcG9uZW50KHNjb3BlLCBpZCwge1xuICAgICAgcGxhdGZvcm06ICdXaW5kb3dzJyxcbiAgICAgIGRpc3BsYXlOYW1lOiAnRG9ja2VyJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBsYXRlc3QgdmVyc2lvbiBvZiBEb2NrZXInLFxuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgJyRFcnJvckFjdGlvblByZWZlcmVuY2UgPSBcXCdTdG9wXFwnJyxcbiAgICAgICAgJyRQcm9ncmVzc1ByZWZlcmVuY2UgPSBcXCdTaWxlbnRseUNvbnRpbnVlXFwnJyxcbiAgICAgICAgJ0ludm9rZS1XZWJSZXF1ZXN0IC1Vc2VCYXNpY1BhcnNpbmcgLVVyaSBodHRwczovL2Rlc2t0b3AuZG9ja2VyLmNvbS93aW4vbWFpbi9hbWQ2NC9Eb2NrZXIlMjBEZXNrdG9wJTIwSW5zdGFsbGVyLmV4ZSAtT3V0RmlsZSBkb2NrZXItc2V0dXAuZXhlJyxcbiAgICAgICAgJ1N0YXJ0LVByb2Nlc3MgXFwnZG9ja2VyLXNldHVwLmV4ZVxcJyAtV2FpdCAtQXJndW1lbnRMaXN0IFxcJy9pbnN0YWxsIC0tcXVpZXQgLS1hY2NlcHQtbGljZW5zZVxcJycsXG4gICAgICAgICdkZWwgZG9ja2VyLXNldHVwLmV4ZScsXG4gICAgICAgICdjbWQgL2MgY3VybCAtdyBcIiV7cmVkaXJlY3RfdXJsfVwiIC1mc1MgaHR0cHM6Ly9naXRodWIuY29tL2RvY2tlci9jb21wb3NlL3JlbGVhc2VzL2xhdGVzdCA+ICRFbnY6VEVNUFxcXFxsYXRlc3QtZG9ja2VyLWNvbXBvc2UnLFxuICAgICAgICAnJExhdGVzdFVybCA9IEdldC1Db250ZW50ICRFbnY6VEVNUFxcXFxsYXRlc3QtZG9ja2VyLWNvbXBvc2UnLFxuICAgICAgICAnJExhdGVzdERvY2tlckNvbXBvc2UgPSAoJExhdGVzdFVybCAtU3BsaXQgXFwnL1xcJylbLTFdJyxcbiAgICAgICAgJ0ludm9rZS1XZWJSZXF1ZXN0IC1Vc2VCYXNpY1BhcnNpbmcgLVVyaSAgXCJodHRwczovL2dpdGh1Yi5jb20vZG9ja2VyL2NvbXBvc2UvcmVsZWFzZXMvZG93bmxvYWQvJHtMYXRlc3REb2NrZXJDb21wb3NlfS9kb2NrZXItY29tcG9zZS1XaW5kb3dzLXg4Nl82NC5leGVcIiAtT3V0RmlsZSAkRW52OlByb2dyYW1GaWxlc1xcXFxEb2NrZXJcXFxcZG9ja2VyLWNvbXBvc2UuZXhlJyxcbiAgICAgICAgJ2NvcHkgJEVudjpQcm9ncmFtRmlsZXNcXFxcRG9ja2VyXFxcXGRvY2tlci1jb21wb3NlLmV4ZSAkRW52OlByb2dyYW1GaWxlc1xcXFxEb2NrZXJcXFxcY2xpLXBsdWdpbnNcXFxcZG9ja2VyLWNvbXBvc2UuZXhlJyxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGV4dHJhQ2VydGlmaWNhdGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgSW1hZ2VCdWlsZGVyQ29tcG9uZW50KHNjb3BlLCBpZCwge1xuICAgICAgcGxhdGZvcm06ICdXaW5kb3dzJyxcbiAgICAgIGRpc3BsYXlOYW1lOiAnRXh0cmEgY2VydGlmaWNhdGVzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnSW5zdGFsbCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZXMgdG8gcHJvdmlkZSBhY2Nlc3MgdG8gR2l0SHViIEVudGVycHJpc2UgU2VydmVyJyxcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgICckRXJyb3JBY3Rpb25QcmVmZXJlbmNlID0gXFwnU3RvcFxcJycsXG4gICAgICAgICdJbXBvcnQtQ2VydGlmaWNhdGUgLUZpbGVQYXRoIGNlcnRzXFxcXGNlcnRzLnBlbSAtQ2VydFN0b3JlTG9jYXRpb24gQ2VydDpcXFxcTG9jYWxNYWNoaW5lXFxcXFJvb3QnLFxuICAgICAgXSxcbiAgICAgIGFzc2V0czogW1xuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogJ2NlcnRzJyxcbiAgICAgICAgICBhc3NldDogbmV3IHMzX2Fzc2V0cy5Bc3NldChzY29wZSwgYCR7aWR9IEFzc2V0YCwgeyBwYXRoIH0pLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIl19