@macedon-technologies/batman 1.24.1 → 1.24.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2 -2
- package/lib/BatmanProject.js +1 -1
- package/lib/BootcampProject.js +1 -1
- package/lib/CodeOwnersFile.js +1 -1
- package/lib/ProductionDeployWorkflow.js +1 -1
- package/lib/SoftwareFactoryFiles.js +1 -1
- package/lib/SoftwareFactoryModels.js +17 -3
- package/lib/StagingDeployWorkflow.js +1 -1
- package/lib/WorkflowAutoDiscover.js +1 -1
- package/models/@swamp/software-factory/platform-common-factory.yaml +16 -2
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -1283,6 +1283,6 @@
|
|
|
1283
1283
|
"symbolId": "src/WorkflowAutoDiscover:WorkflowAutoDiscover"
|
|
1284
1284
|
}
|
|
1285
1285
|
},
|
|
1286
|
-
"version": "1.24.
|
|
1287
|
-
"fingerprint": "
|
|
1286
|
+
"version": "1.24.2",
|
|
1287
|
+
"fingerprint": "sFp7ZrQrJJb11FaUQc/GxMRUFHD1UgQNfu8HQP7LoGM="
|
|
1288
1288
|
}
|
package/lib/BatmanProject.js
CHANGED
|
@@ -12,7 +12,7 @@ const SoftwareFactoryFiles_1 = require("./SoftwareFactoryFiles");
|
|
|
12
12
|
const utils_1 = require("./utils");
|
|
13
13
|
const ViteReactProject_1 = require("./ViteReactProject");
|
|
14
14
|
class BatmanProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.BatmanProject", version: "1.24.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.BatmanProject", version: "1.24.2" };
|
|
16
16
|
constructor(options) {
|
|
17
17
|
super({
|
|
18
18
|
...options,
|
package/lib/BootcampProject.js
CHANGED
|
@@ -12,7 +12,7 @@ const SoftwareFactoryFiles_1 = require("./SoftwareFactoryFiles");
|
|
|
12
12
|
const utils_1 = require("./utils");
|
|
13
13
|
const ViteReactProject_1 = require("./ViteReactProject");
|
|
14
14
|
class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.24.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.24.2" };
|
|
16
16
|
constructor(options) {
|
|
17
17
|
super({
|
|
18
18
|
...options,
|
package/lib/CodeOwnersFile.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.CodeOwnersFile = void 0;
|
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
5
|
const projen_1 = require("projen");
|
|
6
6
|
class CodeOwnersFile extends projen_1.TextFile {
|
|
7
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.24.
|
|
7
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.24.2" };
|
|
8
8
|
constructor(project, options = {}) {
|
|
9
9
|
const defaultOwners = ['* @macedon-technologies/platform', '* @macedon-technologies/ai-development-team'];
|
|
10
10
|
const allOwners = [...defaultOwners, ...(options.additionalOwners || [])];
|
|
@@ -7,7 +7,7 @@ const javascript_1 = require("projen/lib/javascript");
|
|
|
7
7
|
const utils_1 = require("./utils");
|
|
8
8
|
const WorkflowActionVersions_1 = require("./WorkflowActionVersions");
|
|
9
9
|
class ProductionDeployWorkflow extends projen_1.YamlFile {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.24.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.24.2" };
|
|
11
11
|
constructor(project, options) {
|
|
12
12
|
const packageManager = project.package.packageManager;
|
|
13
13
|
const actionVersions = (0, WorkflowActionVersions_1.resolveActionVersions)(options.actionVersions);
|
|
@@ -31,7 +31,7 @@ const DEFAULT_GITHUB_OWNER = 'macedon-technologies';
|
|
|
31
31
|
* workflows that wire them together) is templated.
|
|
32
32
|
*/
|
|
33
33
|
class SoftwareFactoryFiles {
|
|
34
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.SoftwareFactoryFiles", version: "1.24.
|
|
34
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.SoftwareFactoryFiles", version: "1.24.2" };
|
|
35
35
|
constructor(project, options) {
|
|
36
36
|
const { repoName, actionVersions } = options;
|
|
37
37
|
const githubOwner = options.githubOwner || DEFAULT_GITHUB_OWNER;
|
|
@@ -298,8 +298,22 @@ globalArguments:
|
|
|
298
298
|
change-request evidence>, base=${baseBranch}, dryRun=false), with
|
|
299
299
|
title/body referencing the intake stage's issue number, the
|
|
300
300
|
OpenSpec change(s), the attestation block, and the manifest
|
|
301
|
-
comment
|
|
302
|
-
|
|
301
|
+
comment. If openPr fails specifically because the vault can't
|
|
302
|
+
resolve GITHUB_TOKEN (an error naming \`GITHUB_TOKEN\` as not
|
|
303
|
+
found), don't treat that as terminal — fall back to opening the
|
|
304
|
+
PR via the \`gh\` CLI instead: push the branch recorded in
|
|
305
|
+
change-request evidence with \`git push -u origin <branch>\` if it
|
|
306
|
+
isn't already pushed, write the exact same title and body
|
|
307
|
+
(attestation block, manifest comment, and OpenSpec change
|
|
308
|
+
line(s) included) to a temp file, and run \`gh pr create --title
|
|
309
|
+
"<title>" --body-file <path> --base ${baseBranch} --head <branch> --repo
|
|
310
|
+
${repo}\`. Any other openPr failure
|
|
311
|
+
(bad arguments, network, permissions) MUST still be surfaced as
|
|
312
|
+
a real failure, not papered over with this fallback. Then record
|
|
313
|
+
the pr-opened evidence with the returned PR url and number —
|
|
314
|
+
from openPr's response on the primary path, or by parsing \`gh pr
|
|
315
|
+
create\`'s output (or a follow-up \`gh pr view <branch> --json
|
|
316
|
+
number,url\`) on the fallback path.
|
|
303
317
|
evidence:
|
|
304
318
|
- name: pr-opened
|
|
305
319
|
schema:
|
|
@@ -338,4 +352,4 @@ methods: {}
|
|
|
338
352
|
}
|
|
339
353
|
}
|
|
340
354
|
exports.SoftwareFactoryModels = SoftwareFactoryModels;
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29mdHdhcmVGYWN0b3J5TW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NvZnR3YXJlRmFjdG9yeU1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBb0M7QUFDcEMsbUNBQW9DO0FBcUJwQzs7Ozs7R0FLRztBQUNILE1BQWEscUJBQXFCO0lBQ2hDLFlBQVksT0FBb0IsRUFBRSxPQUFxQztRQUNyRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDdEQsTUFBTSxJQUFJLEdBQUcsR0FBRyxXQUFXLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsTUFBTSxXQUFXLEdBQUcsR0FBRyxRQUFRLFNBQVMsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxHQUFHLFFBQVEsS0FBSyxDQUFDO1FBQ2pDLE1BQU0sVUFBVSxHQUFHLEdBQUcsUUFBUSxRQUFRLENBQUM7UUFDdkMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLFFBQVEscUJBQXFCLENBQUM7UUFDaEUsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLFFBQVEsaUJBQWlCLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQUcsR0FBRyxRQUFRLFVBQVUsQ0FBQztRQUMzQyxNQUFNLFlBQVksR0FBRyxHQUFHLFFBQVEsVUFBVSxDQUFDO1FBRTNDLElBQUksbUJBQVUsQ0FBQyxPQUFPLEVBQUUsNEJBQTRCLE9BQU8sT0FBTyxFQUFFO1lBQ2xFLFFBQVEsRUFBRTs7TUFFVixJQUFBLG1CQUFVLEdBQUU7UUFDVixPQUFPOzs7OzJCQUlZLFlBQVk7V0FDNUIsV0FBVzs7Q0FFckI7U0FDSSxDQUFDLENBQUM7UUFFSCxJQUFJLG1CQUFVLENBQUMsT0FBTyxFQUFFLDJCQUEyQixXQUFXLE9BQU8sRUFBRTtZQUNyRSxRQUFRLEVBQUU7O01BRVYsSUFBQSxtQkFBVSxHQUFFO1FBQ1YsV0FBVzs7Ozs7Q0FLbEI7U0FDSSxDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUM1RSxJQUFJLG1CQUFVLENBQUMsT0FBTyxFQUFFLHdCQUF3QixJQUFJLE9BQU8sRUFBRTtnQkFDM0QsUUFBUSxFQUFFOztNQUVaLElBQUEsbUJBQVUsR0FBRTtRQUNWLElBQUk7Ozs7O0NBS1g7YUFDTSxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxtQkFBVSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsWUFBWSxPQUFPLEVBQUU7WUFDN0UsUUFBUSxFQUFFOztNQUVWLElBQUEsbUJBQVUsR0FBRTtRQUNWLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQWtCUixJQUFJLGNBQWMsV0FBVzs7WUFFN0IsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0RBNEwrQixrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQkF3QmxELE9BQU87a0JBQ1gsSUFBSTsyQ0FDcUIsVUFBVTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzQ3BEO1NBQ0ksQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBM1VELHNEQTJVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgU2FtcGxlRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29mdHdhcmVGYWN0b3J5TW9kZWxzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYmFyZSByZXBvIG5hbWUgKGUuZy4gYGV4cGVuc2UtdHJhY2tlcmApLCB1c2VkIHRvIGRlcml2ZSBtb2RlbCBuYW1lc1xuICAgKiBsaWtlIGA8cmVwb05hbWU+LWZhY3RvcnlgLCBgPHJlcG9OYW1lPi1zaGVsbGAsIGA8cmVwb05hbWU+LXNlY3JldHNgLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBvcmcgdGhlIHJlcG8gbGl2ZXMgaW4uXG4gICAqL1xuICByZWFkb25seSBnaXRodWJPd25lcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnJhbmNoIHRoZSBmYWN0b3J5IG9wZW5zIHB1bGwgcmVxdWVzdHMgYWdhaW5zdC5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VCcmFuY2g6IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZWVkIHN3YW1wIG1vZGVsIGluc3RhbmNlcyB3aXJpbmcgdGhlIGBAc3dhbXAvc29mdHdhcmUtZmFjdG9yeWAgc3RhdGVcbiAqIG1hY2hpbmUgdG8gdGhpcyByZXBvJ3MgR2l0SHViIGlzc3Vlcy9QUnMgYW5kIHNoZWxsIHN0ZXBzLiBUaGVzZSBhcmVcbiAqIGBTYW1wbGVGaWxlYHMgKHdyaXR0ZW4gb25jZSwgdGhlbiBvd25lZCBieSB0aGUgdGVhbSkgc2luY2UgdGhlIGZhY3Rvcnknc1xuICogc3RhZ2VzL2dhdGVzIGFyZSB0aGUga2luZCBvZiB0aGluZyBhIHRlYW0gdHVuZXMgZm9yIGl0cyBvd24gd29ya2Zsb3cuXG4gKi9cbmV4cG9ydCBjbGFzcyBTb2Z0d2FyZUZhY3RvcnlNb2RlbHMge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogU29mdHdhcmVGYWN0b3J5TW9kZWxzT3B0aW9ucykge1xuICAgIGNvbnN0IHsgcmVwb05hbWUsIGdpdGh1Yk93bmVyLCBiYXNlQnJhbmNoIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHJlcG8gPSBgJHtnaXRodWJPd25lcn0vJHtyZXBvTmFtZX1gO1xuICAgIGNvbnN0IGlzc3Vlc01vZGVsID0gYCR7cmVwb05hbWV9LWlzc3Vlc2A7XG4gICAgY29uc3QgcHJNb2RlbCA9IGAke3JlcG9OYW1lfS1wcmA7XG4gICAgY29uc3Qgc2hlbGxNb2RlbCA9IGAke3JlcG9OYW1lfS1zaGVsbGA7XG4gICAgY29uc3Qgc2hlbGxBcmNoaXRlY3R1cmVNb2RlbCA9IGAke3JlcG9OYW1lfS1zaGVsbC1hcmNoaXRlY3R1cmVgO1xuICAgIGNvbnN0IHNoZWxsTWFuaWZlc3RNb2RlbCA9IGAke3JlcG9OYW1lfS1zaGVsbC1tYW5pZmVzdGA7XG4gICAgY29uc3Qgc2VjcmV0c1ZhdWx0ID0gYCR7cmVwb05hbWV9LXNlY3JldHNgO1xuICAgIGNvbnN0IGZhY3RvcnlNb2RlbCA9IGAke3JlcG9OYW1lfS1mYWN0b3J5YDtcblxuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGBtb2RlbHMvQGdvb2RjcmFmdC9naXRodWIvJHtwck1vZGVsfS55YW1sYCwge1xuICAgICAgY29udGVudHM6IGB0eXBlOiAnQGdvb2RjcmFmdC9naXRodWInXG50eXBlVmVyc2lvbjogMjAyNi4wNi4xNC4xXG5pZDogJHtyYW5kb21VVUlEKCl9XG5uYW1lOiAke3ByTW9kZWx9XG52ZXJzaW9uOiAxXG50YWdzOiB7fVxuZ2xvYmFsQXJndW1lbnRzOlxuICB0b2tlbjogJ1xcJHt7IHZhdWx0LmdldCgke3NlY3JldHNWYXVsdH0sIEdJVEhVQl9UT0tFTikgfX0nXG4gIG93bmVyOiAke2dpdGh1Yk93bmVyfVxubWV0aG9kczoge31cbmAsXG4gICAgfSk7XG5cbiAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCBgbW9kZWxzL0B3ZWJmcmFtcC9naXRodWIvJHtpc3N1ZXNNb2RlbH0ueWFtbGAsIHtcbiAgICAgIGNvbnRlbnRzOiBgdHlwZTogJ0B3ZWJmcmFtcC9naXRodWInXG50eXBlVmVyc2lvbjogMjAyNi4wOC4yOC4xXG5pZDogJHtyYW5kb21VVUlEKCl9XG5uYW1lOiAke2lzc3Vlc01vZGVsfVxudmVyc2lvbjogMVxudGFnczoge31cbmdsb2JhbEFyZ3VtZW50czoge31cbm1ldGhvZHM6IHt9XG5gLFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIFtzaGVsbE1vZGVsLCBzaGVsbEFyY2hpdGVjdHVyZU1vZGVsLCBzaGVsbE1hbmlmZXN0TW9kZWxdKSB7XG4gICAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCBgbW9kZWxzL2NvbW1hbmQvc2hlbGwvJHtuYW1lfS55YW1sYCwge1xuICAgICAgICBjb250ZW50czogYHR5cGU6IGNvbW1hbmQvc2hlbGxcbnR5cGVWZXJzaW9uOiAyMDI2LjAyLjA5LjFcbmlkOiAke3JhbmRvbVVVSUQoKX1cbm5hbWU6ICR7bmFtZX1cbnZlcnNpb246IDFcbnRhZ3M6IHt9XG5nbG9iYWxBcmd1bWVudHM6IHt9XG5tZXRob2RzOiB7fVxuYCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGBtb2RlbHMvQHN3YW1wL3NvZnR3YXJlLWZhY3RvcnkvJHtmYWN0b3J5TW9kZWx9LnlhbWxgLCB7XG4gICAgICBjb250ZW50czogYHR5cGU6ICdAc3dhbXAvc29mdHdhcmUtZmFjdG9yeSdcbnR5cGVWZXJzaW9uOiAyMDI2LjA2LjI0LjFcbmlkOiAke3JhbmRvbVVVSUQoKX1cbm5hbWU6ICR7ZmFjdG9yeU1vZGVsfVxudmVyc2lvbjogMVxudGFnczoge31cbnJlcG9ydHM6XG4gIHJlcXVpcmU6XG4gICAgLSBuYW1lOiBcIkBzd2FtcC9zb2Z0d2FyZS1mYWN0b3J5L3dvcmstaXRlbS1zdW1tYXJ5XCJcbiAgICAgIG1ldGhvZHM6IFtzdW1tYXJ5XVxuZ2xvYmFsQXJndW1lbnRzOlxuICBzdGFnZXM6XG4gICAgLSBpZDogaW50YWtlXG4gICAgICBpbml0aWFsOiB0cnVlXG4gICAgICBkZXNjcmlwdGlvbjogPi1cbiAgICAgICAgRmV0Y2ggdGhlIEdpdEh1YiBpc3N1ZSBmb3IgdGhpcyB3b3JrIGl0ZW0gKHdvcmtJdGVtIGlzIHRoZSBiYXJlXG4gICAgICAgIGlzc3VlIG51bWJlcikgYW5kIHJlY29yZCBpdHMgY29udGV4dC5cbiAgICAgIHdvcms6XG4gICAgICAgIG1vZGU6IGludGVyYWN0aXZlXG4gICAgICAgIHN5c3RlbVByb21wdDogPi1cbiAgICAgICAgICBGZXRjaCB0aGUgR2l0SHViIGlzc3VlIG51bWJlcmVkIFxcJHt7IHNlbGYud29ya0l0ZW0gfX0gZm9yXG4gICAgICAgICAgJHtyZXBvfSB1c2luZyB0aGUgJHtpc3N1ZXNNb2RlbH0gbW9kZWxcbiAgICAgICAgICAobGlzdF9pc3N1ZXMsIHRoZW4gc3dhbXAgZGF0YSBxdWVyeSBmaWx0ZXJlZCBieSBudW1iZXIg4oCUIHNlZSB0aGVcbiAgICAgICAgICAke2lzc3Vlc01vZGVsfSBkYXRhKSwgYW5kIHJlY29yZCB0aGUgaXNzdWUtY29udGV4dCBhcnRpZmFjdC5cbiAgICAgIGFydGlmYWN0czpcbiAgICAgICAgLSBuYW1lOiBpc3N1ZS1jb250ZXh0XG4gICAgICAgICAgc2NoZW1hOlxuICAgICAgICAgICAgdHlwZTogb2JqZWN0XG4gICAgICAgICAgICByZXF1aXJlZDogW251bWJlciwgdGl0bGUsIHVybF1cbiAgICAgICAgICAgIHByb3BlcnRpZXM6XG4gICAgICAgICAgICAgIG51bWJlcjogeyB0eXBlOiBpbnRlZ2VyIH1cbiAgICAgICAgICAgICAgdGl0bGU6IHsgdHlwZTogc3RyaW5nLCBtaW5MZW5ndGg6IDEgfVxuICAgICAgICAgICAgICBib2R5OiB7IHR5cGU6IHN0cmluZyB9XG4gICAgICAgICAgICAgIHVybDogeyB0eXBlOiBzdHJpbmcsIG1pbkxlbmd0aDogMSB9XG4gICAgICAgICAgICAgIGxhYmVsczogeyB0eXBlOiBhcnJheSwgaXRlbXM6IHsgdHlwZTogc3RyaW5nIH0gfVxuICAgICAgdHJhbnNpdGlvbnM6XG4gICAgICAgIC0gbmFtZTogc3VibWl0XG4gICAgICAgICAgdG86IHBsYW5uaW5nXG4gICAgICAgICAgZ2F0ZXM6XG4gICAgICAgICAgICAtIHR5cGU6IGFydGlmYWN0LWV4aXN0c1xuICAgICAgICAgICAgICBjb25maWc6IHsgYXJ0aWZhY3Q6IGlzc3VlLWNvbnRleHQgfVxuXG4gICAgLSBpZDogcGxhbm5pbmdcbiAgICAgIGRlc2NyaXB0aW9uOiA+LVxuICAgICAgICBUdXJuIHRoZSBpc3N1ZSBpbnRvIGEgcmVhbCBPcGVuU3BlYyBjaGFuZ2UgKHByb3Bvc2FsLCBkZXNpZ24sXG4gICAgICAgIHNwZWNzLCB0YXNrcykg4oCUIE9wZW5TcGVjJ3MgdGFzayBsaXN0IGlzIHRoZSBwbGFuLCBub3QgYVxuICAgICAgICBmcmVlZm9ybSBhcnRpZmFjdC5cbiAgICAgIHdvcms6XG4gICAgICAgIG1vZGU6IGludGVyYWN0aXZlXG4gICAgICAgIHN5c3RlbVByb21wdDogPi1cbiAgICAgICAgICBVc2luZyB0aGUgcmVjb3JkZWQgaXNzdWUtY29udGV4dCBhcnRpZmFjdCwgdXNlIHRoZVxuICAgICAgICAgIG9wZW5zcGVjLXByb3Bvc2Ugc2tpbGwgdG8gY3JlYXRlIGEgY29tcGxldGUgT3BlblNwZWMgY2hhbmdlXG4gICAgICAgICAgKHByb3Bvc2FsLm1kLCBkZXNpZ24ubWQsIHNwZWNzIHdpdGggZGVsdGFzLCB0YXNrcy5tZCkgZm9yIHRoaXNcbiAgICAgICAgICB3b3JrIGl0ZW0gdW5kZXIgb3BlbnNwZWMvY2hhbmdlcy88Y2hhbmdlU2x1Zz4vIOKAlCBkbyBub3Qgd3JpdGUgYVxuICAgICAgICAgIGZyZWVmb3JtIHBsYW4gaW5zdGVhZCBvZiB0aGlzLiBUaGVuIHJlY29yZCB0aGUgcGxhbiBhcnRpZmFjdFxuICAgICAgICAgIHdpdGggdGhlIGNoYW5nZSdzIHNsdWcgYW5kIGEgb25lLWxpbmUgc3VtbWFyeS5cbiAgICAgIGFydGlmYWN0czpcbiAgICAgICAgLSBuYW1lOiBwbGFuXG4gICAgICAgICAgc2NoZW1hOlxuICAgICAgICAgICAgdHlwZTogb2JqZWN0XG4gICAgICAgICAgICByZXF1aXJlZDogW2NoYW5nZVNsdWcsIHN1bW1hcnldXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOlxuICAgICAgICAgICAgICBjaGFuZ2VTbHVnOiB7IHR5cGU6IHN0cmluZywgbWluTGVuZ3RoOiAxIH1cbiAgICAgICAgICAgICAgc3VtbWFyeTogeyB0eXBlOiBzdHJpbmcsIG1pbkxlbmd0aDogMSB9XG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBzdWJtaXRcbiAgICAgICAgICB0bzogb3BlbnNwZWMtcGxhbi12ZXJpZnlcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogYXJ0aWZhY3QtZXhpc3RzXG4gICAgICAgICAgICAgIGNvbmZpZzogeyBhcnRpZmFjdDogcGxhbiB9XG5cbiAgICAtIGlkOiBvcGVuc3BlYy1wbGFuLXZlcmlmeVxuICAgICAgZGVzY3JpcHRpb246ID4tXG4gICAgICAgIFZlcmlmeSB0aGUgT3BlblNwZWMgY2hhbmdlIGlzIHJlYWwgYW5kIHdlbGwtZm9ybWVkIChub3QganVzdCBhblxuICAgICAgICBhcnRpZmFjdCBjbGFpbWluZyBvbmUgZXhpc3RzKSBiZWZvcmUgaW1wbGVtZW50YXRpb24gc3RhcnRzLiBSZXF1aXJlc1xuICAgICAgICBhIGh1bWFuIHRvIGFwcHJvdmUgdGhlICdpbXBsZW1lbnRhdGlvbi1hcHByb3ZhbCcgZ2F0ZSBiZWZvcmVcbiAgICAgICAgYWR2YW5jaW5nIHRvIGltcGxlbWVudGluZy4gQSByZWplY3Qgb24gdGhhdCBnYXRlIGRvZXNuJ3QgZGVhZC1lbmRcbiAgICAgICAgdGhlIHJ1biDigJQgdGFrZSB0aGUgdW5nYXRlZCAncmV3b3JrJyB0cmFuc2l0aW9uIGJhY2sgdG8gcGxhbm5pbmcgdG9cbiAgICAgICAgcHJvZHVjZSBhIHJldmlzZWQgcGxhbiBhbmQgYXNrIGFnYWluLlxuICAgICAgd29yazpcbiAgICAgICAgbW9kZTogd29ya2Zsb3dcbiAgICAgICAgd29ya2Zsb3c6XG4gICAgICAgICAgbmFtZTogb3BlbnNwZWMtcGxhbi12ZXJpZnlcbiAgICAgICAgICBpbnB1dHM6XG4gICAgICAgICAgICBjaGFuZ2VTbHVnOiAnXFwke3sgZGF0YS5sYXRlc3Qoc2VsZi5uYW1lLCBcImFydGlmYWN0LXBsYW5cIikucGF5bG9hZC5jaGFuZ2VTbHVnIH19J1xuICAgICAgICByZXN1bHRFdmlkZW5jZTogcGxhbi12ZXJpZnktcnVuXG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBwYXNzXG4gICAgICAgICAgdG86IGltcGxlbWVudGluZ1xuICAgICAgICAgIGdhdGVzOlxuICAgICAgICAgICAgLSB0eXBlOiB3b3JrZmxvdy1zdWNjZWVkZWRcbiAgICAgICAgICAgICAgY29uZmlnOiB7IHdvcmtmbG93OiBvcGVuc3BlYy1wbGFuLXZlcmlmeSB9XG4gICAgICAgICAgICAtIHR5cGU6IGh1bWFuLWFwcHJvdmFsXG4gICAgICAgICAgICAgIGNvbmZpZzogeyBpZDogaW1wbGVtZW50YXRpb24tYXBwcm92YWwgfVxuICAgICAgICAtIG5hbWU6IGZhaWxcbiAgICAgICAgICB0bzogcGxhbm5pbmdcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogZXZpZGVuY2UtcmVjb3JkZWRcbiAgICAgICAgICAgICAgY29uZmlnOiB7IG5hbWU6IHBsYW4tdmVyaWZ5LXJ1biwgcmVxdWlyZUZpZWxkOiB7IHN0YXR1czogZmFpbGVkIH0gfVxuICAgICAgICAtIG5hbWU6IHJld29ya1xuICAgICAgICAgIHRvOiBwbGFubmluZ1xuICAgICAgICAgIGdhdGVzOiBbXVxuXG4gICAgLSBpZDogaW1wbGVtZW50aW5nXG4gICAgICBkZXNjcmlwdGlvbjogSW1wbGVtZW50IHRoZSBPcGVuU3BlYyBjaGFuZ2UncyB0YXNrcyBvbiBhIGJyYW5jaC5cbiAgICAgIHdvcms6XG4gICAgICAgIG1vZGU6IGludGVyYWN0aXZlXG4gICAgICAgIHN5c3RlbVByb21wdDogPi1cbiAgICAgICAgICBVc2UgdGhlIG9wZW5zcGVjLWFwcGx5LWNoYW5nZSBza2lsbCBhZ2FpbnN0IHRoZSBjaGFuZ2UgcmVjb3JkZWRcbiAgICAgICAgICBpbiB0aGUgcGxhbiBhcnRpZmFjdCdzIGNoYW5nZVNsdWcg4oCUIHdvcmsgdGhyb3VnaCBpdHMgdGFza3MubWRcbiAgICAgICAgICBvbmUgdGFzayBhdCBhIHRpbWUsIGNoZWNraW5nIGVhY2ggb2ZmIChcXGAtIFsgXVxcYCAtPiBcXGAtIFt4XVxcYCkgYXNcbiAgICAgICAgICB5b3UgY29tcGxldGUgaXQsIHVudGlsIGV2ZXJ5IHRhc2sgaXMgZG9uZS4gQ29tbWl0IHRoZSB3b3JrIG9uIGFcbiAgICAgICAgICBmZWF0dXJlIGJyYW5jaC4gUmVjb3JkIHRoZSBjaGFuZ2Utc3VtbWFyeSBhcnRpZmFjdCBhbmQgdGhlXG4gICAgICAgICAgY2hhbmdlLXJlcXVlc3QgZXZpZGVuY2UgKGJyYW5jaCBuYW1lIGFuZCBoZWFkIGNvbW1pdCBzaGEg4oCUIG5vXG4gICAgICAgICAgUFIgeWV0LCB0aGF0IGhhcHBlbnMgYWZ0ZXIgcHJlLVBSIHZlcmlmaWNhdGlvbiBwYXNzZXMpLlxuICAgICAgYXJ0aWZhY3RzOlxuICAgICAgICAtIG5hbWU6IGNoYW5nZS1zdW1tYXJ5XG4gICAgICAgICAgc2NoZW1hOlxuICAgICAgICAgICAgdHlwZTogb2JqZWN0XG4gICAgICAgICAgICByZXF1aXJlZDogW3N1bW1hcnksIGhlYWRTaGFdXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOlxuICAgICAgICAgICAgICBzdW1tYXJ5OiB7IHR5cGU6IHN0cmluZywgbWluTGVuZ3RoOiAxIH1cbiAgICAgICAgICAgICAgaGVhZFNoYTogeyB0eXBlOiBzdHJpbmcsIG1pbkxlbmd0aDogNyB9XG4gICAgICBldmlkZW5jZTpcbiAgICAgICAgLSBuYW1lOiBjaGFuZ2UtcmVxdWVzdFxuICAgICAgICAgIHNjaGVtYTpcbiAgICAgICAgICAgIHR5cGU6IG9iamVjdFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFticmFuY2gsIGhlYWRTaGFdXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOlxuICAgICAgICAgICAgICBicmFuY2g6IHsgdHlwZTogc3RyaW5nLCBtaW5MZW5ndGg6IDEgfVxuICAgICAgICAgICAgICBoZWFkU2hhOiB7IHR5cGU6IHN0cmluZywgbWluTGVuZ3RoOiA3IH1cbiAgICAgICAgICAgICAgdXJsOiB7IHR5cGU6IHN0cmluZyB9XG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBzdWJtaXRcbiAgICAgICAgICB0bzogb3BlbnNwZWMtdGFza3MtdmVyaWZ5XG4gICAgICAgICAgZ2F0ZXM6XG4gICAgICAgICAgICAtIHR5cGU6IGFydGlmYWN0LWV4aXN0c1xuICAgICAgICAgICAgICBjb25maWc6IHsgYXJ0aWZhY3Q6IGNoYW5nZS1zdW1tYXJ5IH1cbiAgICAgICAgICAgIC0gdHlwZTogZXZpZGVuY2UtcmVjb3JkZWRcbiAgICAgICAgICAgICAgY29uZmlnOiB7IG5hbWU6IGNoYW5nZS1yZXF1ZXN0IH1cblxuICAgIC0gaWQ6IG9wZW5zcGVjLXRhc2tzLXZlcmlmeVxuICAgICAgZGVzY3JpcHRpb246ID4tXG4gICAgICAgIFZlcmlmeSBldmVyeSB0YXNrIGluIHRoZSBPcGVuU3BlYyBjaGFuZ2UgaXMgYWN0dWFsbHkgY2hlY2tlZCBvZmZcbiAgICAgICAgYmVmb3JlIHByZS1QUiB2ZXJpZmljYXRpb24gcnVucy5cbiAgICAgIHdvcms6XG4gICAgICAgIG1vZGU6IHdvcmtmbG93XG4gICAgICAgIHdvcmtmbG93OlxuICAgICAgICAgIG5hbWU6IG9wZW5zcGVjLXRhc2tzLXZlcmlmeVxuICAgICAgICAgIGlucHV0czpcbiAgICAgICAgICAgIGNoYW5nZVNsdWc6ICdcXCR7eyBkYXRhLmxhdGVzdChzZWxmLm5hbWUsIFwiYXJ0aWZhY3QtcGxhblwiKS5wYXlsb2FkLmNoYW5nZVNsdWcgfX0nXG4gICAgICAgIHJlc3VsdEV2aWRlbmNlOiB0YXNrcy12ZXJpZnktcnVuXG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBwYXNzXG4gICAgICAgICAgdG86IHByZS1wci12ZXJpZnlcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogd29ya2Zsb3ctc3VjY2VlZGVkXG4gICAgICAgICAgICAgIGNvbmZpZzogeyB3b3JrZmxvdzogb3BlbnNwZWMtdGFza3MtdmVyaWZ5IH1cbiAgICAgICAgLSBuYW1lOiBmYWlsXG4gICAgICAgICAgdG86IGltcGxlbWVudGluZ1xuICAgICAgICAgIGdhdGVzOlxuICAgICAgICAgICAgLSB0eXBlOiBldmlkZW5jZS1yZWNvcmRlZFxuICAgICAgICAgICAgICBjb25maWc6IHsgbmFtZTogdGFza3MtdmVyaWZ5LXJ1biwgcmVxdWlyZUZpZWxkOiB7IHN0YXR1czogZmFpbGVkIH0gfVxuXG4gICAgLSBpZDogcHJlLXByLXZlcmlmeVxuICAgICAgZGVzY3JpcHRpb246ID4tXG4gICAgICAgIFByZS1QUiB2ZXJpZmljYXRpb246IGJ1aWxkL3N5bnRoL3Rlc3QvbGludCBwbHVzIHRoZSBhcmNoaXRlY3R1cmVcbiAgICAgICAgcnVsZSByZWdpc3RyeSwgcnVuIGJlZm9yZSB0aGUgUFIgaXMgb3BlbmVkIHJhdGhlciB0aGFuIHJlbHlpbmcgb25cbiAgICAgICAgQ0kgYWZ0ZXIgdGhlIGZhY3QuIElmIHRoZSBib3VuZCBjb21taXQgbmVlZHMgdG8gY2hhbmdlIChyZWJhc2UsXG4gICAgICAgIGZpeHVwLCBodW1hbi1yZXF1ZXN0ZWQgZWRpdCkgd2l0aG91dCBhIHJlYWwgdmVyaWZpY2F0aW9uIGZhaWx1cmUsXG4gICAgICAgIHRha2UgdGhlIHVuZ2F0ZWQgJ3Jld29yaycgdHJhbnNpdGlvbiBiYWNrIHRvIGltcGxlbWVudGluZyBpbnN0ZWFkXG4gICAgICAgIG9mIHJlY29yZGluZyBhIGZhYnJpY2F0ZWQgJ2ZhaWwnLlxuICAgICAgd29yazpcbiAgICAgICAgbW9kZTogd29ya2Zsb3dcbiAgICAgICAgd29ya2Zsb3c6XG4gICAgICAgICAgbmFtZTogcHJlLXByLXZlcmlmeVxuICAgICAgICAgIGlucHV0czpcbiAgICAgICAgICAgIGNvbW1pdDogJ1xcJHt7IGRhdGEubGF0ZXN0KHNlbGYubmFtZSwgXCJldmlkZW5jZS1jaGFuZ2UtcmVxdWVzdFwiKS5wYXlsb2FkLmhlYWRTaGEgfX0nXG4gICAgICAgICAgICBicmFuY2g6ICdcXCR7eyBkYXRhLmxhdGVzdChzZWxmLm5hbWUsIFwiZXZpZGVuY2UtY2hhbmdlLXJlcXVlc3RcIikucGF5bG9hZC5icmFuY2ggfX0nXG4gICAgICAgIHJlc3VsdEV2aWRlbmNlOiB2ZXJpZnktcnVuXG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBwYXNzXG4gICAgICAgICAgdG86IG9wZW4tcHJcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogd29ya2Zsb3ctc3VjY2VlZGVkXG4gICAgICAgICAgICAgIGNvbmZpZzogeyB3b3JrZmxvdzogcHJlLXByLXZlcmlmeSB9XG4gICAgICAgIC0gbmFtZTogZmFpbFxuICAgICAgICAgIHRvOiBpbXBsZW1lbnRpbmdcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogZXZpZGVuY2UtcmVjb3JkZWRcbiAgICAgICAgICAgICAgY29uZmlnOiB7IG5hbWU6IHZlcmlmeS1ydW4sIHJlcXVpcmVGaWVsZDogeyBzdGF0dXM6IGZhaWxlZCB9IH1cbiAgICAgICAgLSBuYW1lOiByZXdvcmtcbiAgICAgICAgICB0bzogaW1wbGVtZW50aW5nXG4gICAgICAgICAgZ2F0ZXM6IFtdXG5cbiAgICAtIGlkOiBvcGVuLXByXG4gICAgICBkZXNjcmlwdGlvbjogPi1cbiAgICAgICAgT3BlbiB0aGUgcHVsbCByZXF1ZXN0IG5vdyB0aGF0IHByZS1QUiB2ZXJpZmljYXRpb24gaGFzIHBhc3NlZC4gSWZcbiAgICAgICAgdGhlIGJvdW5kIGNvbW1pdCBuZWVkcyB0byBjaGFuZ2UgYWZ0ZXIgZW50ZXJpbmcgdGhpcyBzdGFnZSAoZS5nLlxuICAgICAgICBtYWluIG1vdmVkIGFuZCB0aGUgYnJhbmNoIG5lZWRzIGEgcmViYXNlKSwgYSBodW1hbiBjYW4gYXBwcm92ZSB0aGVcbiAgICAgICAgJ3Jld29yay1hcHByb3ZhbCcgZ2F0ZSB0byB0YWtlIHRoZSAncmV3b3JrJyB0cmFuc2l0aW9uIGJhY2sgdG9cbiAgICAgICAgaW1wbGVtZW50aW5nIHJhdGhlciB0aGFuIGFib3J0aW5nIHRoZSBydW4uXG4gICAgICB3b3JrOlxuICAgICAgICBtb2RlOiBpbnRlcmFjdGl2ZVxuICAgICAgICBzeXN0ZW1Qcm9tcHQ6ID4tXG4gICAgICAgICAgQmVmb3JlIG9wZW5pbmcgdGhlIFBSLCBmZXRjaCB0aGUgcmVhbCBwcmUtcHItdmVyaWZ5IGF0dGVzdGF0aW9uXG4gICAgICAgICAgd2l0aCBcXGBzd2FtcCBkYXRhIGdldCAtLXdvcmtmbG93IHByZS1wci12ZXJpZnlcbiAgICAgICAgICByZXBvcnQtc3dhbXAtdmVyaWZpY2F0aW9uLWF0dGVzdGF0aW9uIC0tanNvblxcYCBhbmQgaW5jbHVkZSBpdHNcbiAgICAgICAgICBcXGBjb250ZW50XFxgIHZlcmJhdGltIChhcyBhIG1hcmtkb3duIGJsb2NrLCBlLmcuIHVuZGVyIGEgXCJQcmUtUFJcbiAgICAgICAgICB2ZXJpZmljYXRpb25cIiBoZWFkaW5nKSBpbiB0aGUgUFIgYm9keSDigJQgbmV2ZXIganVzdCBhc3NlcnQgaW5cbiAgICAgICAgICBwcm9zZSB0aGF0IGNoZWNrcyBwYXNzZWQuIEFsc28gZmV0Y2ggdGhpcyBzYW1lIHJ1bidzIG1hbmlmZXN0IHN0ZXBcbiAgICAgICAgICBvdXRwdXQgKFxcYHN3YW1wIGRhdGEgcXVlcnkgJ21vZGVsTmFtZSA9PSBcIiR7c2hlbGxNYW5pZmVzdE1vZGVsfVwiICYmXG4gICAgICAgICAgbmFtZSA9PSBcInJlc3VsdFwiJyAtLXNlbGVjdCBhdHRyaWJ1dGVzLnN0ZG91dCAtLWpzb25cXGAsIHRha2UgdGhlXG4gICAgICAgICAgbGF0ZXN0KSBhbmQgYXBwZW5kIGl0IHRvIHRoZSBQUiBib2R5IGFzXG4gICAgICAgICAgXFxgPCEtLSBhdHRlc3RhdGlvbi1tYW5pZmVzdCB7XCJjb21taXRcIjogXCI8aGVhZFNoYT5cIiwgXCJzdGF0dXNcIjpcbiAgICAgICAgICBcInN1Y2NlZWRlZFwiLCAuLi50aGUgbWFuaWZlc3Qgc3RlcCdzIEpTT04sIHNwcmVhZCBpbi4uLn0gLS0+XFxgIOKAlCBhblxuICAgICAgICAgIEhUTUwgY29tbWVudCBzbyBpdCdzIGludmlzaWJsZSB3aGVuIHJlbmRlcmVkIGJ1dCBzdGlsbCBwcmVzZW50IGluXG4gICAgICAgICAgdGhlIHJhdyBib2R5IHRleHQgdmVyaWZ5LWF0dGVzdGF0aW9uLnltbCByZWFkcyB2aWEgdGhlIEdpdEh1YiBBUEkuXG4gICAgICAgICAgQWxzbyBmZXRjaCB0aGUgcGxhbiBhcnRpZmFjdCdzIGNoYW5nZVNsdWcgYW5kIGluY2x1ZGUgYW4gZXhwbGljaXRcbiAgICAgICAgICBcIk9wZW5TcGVjIGNoYW5nZVwiIGxpbmUgaW4gdGhlIFBSIGJvZHkgbmFtaW5nIGl0IGFuZCBpdHMgcGF0aFxuICAgICAgICAgIChcXGBvcGVuc3BlYy9jaGFuZ2VzLzxjaGFuZ2VTbHVnPi9cXGApIOKAlCBldmVyeSBQUiB0aGUgZmFjdG9yeSBvcGVuc1xuICAgICAgICAgIG11c3QgY2FsbCBvdXQgd2hpY2ggT3BlblNwZWMgY2hhbmdlKHMpIGRyb3ZlIHRoZSBzZXNzaW9uLCBub3RcbiAgICAgICAgICBqdXN0IGltcGx5IGl0LiBJZiBwbGFubmluZyBjeWNsZWQgdGhyb3VnaCBtb3JlIHRoYW4gb25lIGNoYW5nZVxuICAgICAgICAgIChhIHJld29yayBsb29wIHByb2R1Y2VkIGEgbmV3IGNoYW5nZVNsdWcpLCBsaXN0IGV2ZXJ5IGRpc3RpbmN0XG4gICAgICAgICAgY2hhbmdlU2x1ZyByZWNvcmRlZCBhY3Jvc3MgdGhlIHJ1bidzIHBsYW4gYXJ0aWZhY3QgdmVyc2lvbnMsIG5vdFxuICAgICAgICAgIG9ubHkgdGhlIGxhdGVzdC4gVGhlIFBSIHRpdGxlIE1VU1Qgc3RhcnQgd2l0aCBhIENvbnZlbnRpb25hbFxuICAgICAgICAgIENvbW1pdHMgcHJlZml4IGluIHRoZSBmb3JtIFxcYHR5cGUoc2NvcGUpOiBzdW1tYXJ5XFxgIOKAlCBcXGB0eXBlXFxgIGlzXG4gICAgICAgICAgXFxgZmVhdFxcYCBmb3IgbmV3IGNhcGFiaWxpdGllcywgXFxgZml4XFxgIGZvciBidWcgZml4ZXMsIG9yIFxcYGNob3JlXFxgXG4gICAgICAgICAgZm9yIHRvb2xpbmcvbWFpbnRlbmFuY2Ugd2l0aCBubyBiZWhhdmlvciBjaGFuZ2UgKGZhbGwgYmFjayB0b1xuICAgICAgICAgIFxcYHJlZmFjdG9yXFxgL1xcYGRvY3NcXGAvXFxgdGVzdFxcYCBvbmx5IGlmIG5vbmUgb2YgdGhvc2UgZml0KSwgY2hvc2VuXG4gICAgICAgICAgZnJvbSB0aGUgaW50YWtlIGlzc3VlIGFuZCBPcGVuU3BlYyBjaGFuZ2Uocyk7IFxcYHNjb3BlXFxgIG5hbWVzIHRoZVxuICAgICAgICAgIGFmZmVjdGVkIHBhY2thZ2UgKGUuZy4gXFxgcHJvamVuXFxgLCBcXGBjbGVyay1hdXRob3JpemVyXFxgKS4gVGhpc1xuICAgICAgICAgIHJlcG8ncyBQUi1kZXBsb3kgYW5kIFBSLWNsZWFudXAgYXV0b21hdGlvbiBvbmx5IHRyaWdnZXIgZm9yXG4gICAgICAgICAgdGl0bGVzIHN0YXJ0aW5nIHdpdGggXFxgZml4XFxgIG9yIFxcYGZlYXRcXGAsIGFuZCBldmVyeSBtZXJnZWQgUFIgaW5cbiAgICAgICAgICB0aGlzIHJlcG8gZm9sbG93cyB0aGlzIGNvbnZlbnRpb24g4oCUIGFuIHVudHlwZWQgdGl0bGUgYnJlYWtzIGJvdGguXG4gICAgICAgICAgVGhlbiBjYWxsICR7cHJNb2RlbH0ncyBvcGVuUHIgbWV0aG9kXG4gICAgICAgICAgKHJlcG89JHtyZXBvfSwgaGVhZD08dGhlIGJyYW5jaCByZWNvcmRlZCBpblxuICAgICAgICAgIGNoYW5nZS1yZXF1ZXN0IGV2aWRlbmNlPiwgYmFzZT0ke2Jhc2VCcmFuY2h9LCBkcnlSdW49ZmFsc2UpLCB3aXRoXG4gICAgICAgICAgdGl0bGUvYm9keSByZWZlcmVuY2luZyB0aGUgaW50YWtlIHN0YWdlJ3MgaXNzdWUgbnVtYmVyLCB0aGVcbiAgICAgICAgICBPcGVuU3BlYyBjaGFuZ2UocyksIHRoZSBhdHRlc3RhdGlvbiBibG9jaywgYW5kIHRoZSBtYW5pZmVzdFxuICAgICAgICAgIGNvbW1lbnQsIHRoZW4gcmVjb3JkIHRoZSBwci1vcGVuZWQgZXZpZGVuY2Ugd2l0aCB0aGUgcmV0dXJuZWQgUFJcbiAgICAgICAgICB1cmwgYW5kIG51bWJlci5cbiAgICAgIGV2aWRlbmNlOlxuICAgICAgICAtIG5hbWU6IHByLW9wZW5lZFxuICAgICAgICAgIHNjaGVtYTpcbiAgICAgICAgICAgIHR5cGU6IG9iamVjdFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFt1cmwsIG51bWJlcl1cbiAgICAgICAgICAgIHByb3BlcnRpZXM6XG4gICAgICAgICAgICAgIHVybDogeyB0eXBlOiBzdHJpbmcsIG1pbkxlbmd0aDogMSB9XG4gICAgICAgICAgICAgIG51bWJlcjogeyB0eXBlOiBpbnRlZ2VyIH1cbiAgICAgIHRyYW5zaXRpb25zOlxuICAgICAgICAtIG5hbWU6IHN1Ym1pdFxuICAgICAgICAgIHRvOiBkb25lXG4gICAgICAgICAgZ2F0ZXM6XG4gICAgICAgICAgICAtIHR5cGU6IGV2aWRlbmNlLXJlY29yZGVkXG4gICAgICAgICAgICAgIGNvbmZpZzogeyBuYW1lOiBwci1vcGVuZWQgfVxuICAgICAgICAtIG5hbWU6IHJld29ya1xuICAgICAgICAgIHRvOiBpbXBsZW1lbnRpbmdcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogaHVtYW4tYXBwcm92YWxcbiAgICAgICAgICAgICAgY29uZmlnOiB7IGlkOiByZXdvcmstYXBwcm92YWwgfVxuXG4gICAgLSBpZDogZG9uZVxuICAgICAgdGVybWluYWw6IHRydWVcblxuICAgIC0gaWQ6IGFib3J0ZWRcbiAgICAgIHRlcm1pbmFsOiB0cnVlXG5cbiAgZ2xvYmFsVHJhbnNpdGlvbnM6XG4gICAgLSBuYW1lOiBhYm9ydFxuICAgICAgdG86IGFib3J0ZWRcbiAgICAgIGdhdGVzOlxuICAgICAgICAtIHR5cGU6IGh1bWFuLWFwcHJvdmFsXG4gICAgICAgICAgY29uZmlnOiB7IGlkOiBhYm9ydC1jb25maXJtYXRpb24gfVxubWV0aG9kczoge31cbmAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
355
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29mdHdhcmVGYWN0b3J5TW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NvZnR3YXJlRmFjdG9yeU1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBb0M7QUFDcEMsbUNBQW9DO0FBcUJwQzs7Ozs7R0FLRztBQUNILE1BQWEscUJBQXFCO0lBQ2hDLFlBQVksT0FBb0IsRUFBRSxPQUFxQztRQUNyRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDdEQsTUFBTSxJQUFJLEdBQUcsR0FBRyxXQUFXLElBQUksUUFBUSxFQUFFLENBQUM7UUFDMUMsTUFBTSxXQUFXLEdBQUcsR0FBRyxRQUFRLFNBQVMsQ0FBQztRQUN6QyxNQUFNLE9BQU8sR0FBRyxHQUFHLFFBQVEsS0FBSyxDQUFDO1FBQ2pDLE1BQU0sVUFBVSxHQUFHLEdBQUcsUUFBUSxRQUFRLENBQUM7UUFDdkMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLFFBQVEscUJBQXFCLENBQUM7UUFDaEUsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLFFBQVEsaUJBQWlCLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQUcsR0FBRyxRQUFRLFVBQVUsQ0FBQztRQUMzQyxNQUFNLFlBQVksR0FBRyxHQUFHLFFBQVEsVUFBVSxDQUFDO1FBRTNDLElBQUksbUJBQVUsQ0FBQyxPQUFPLEVBQUUsNEJBQTRCLE9BQU8sT0FBTyxFQUFFO1lBQ2xFLFFBQVEsRUFBRTs7TUFFVixJQUFBLG1CQUFVLEdBQUU7UUFDVixPQUFPOzs7OzJCQUlZLFlBQVk7V0FDNUIsV0FBVzs7Q0FFckI7U0FDSSxDQUFDLENBQUM7UUFFSCxJQUFJLG1CQUFVLENBQUMsT0FBTyxFQUFFLDJCQUEyQixXQUFXLE9BQU8sRUFBRTtZQUNyRSxRQUFRLEVBQUU7O01BRVYsSUFBQSxtQkFBVSxHQUFFO1FBQ1YsV0FBVzs7Ozs7Q0FLbEI7U0FDSSxDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUM1RSxJQUFJLG1CQUFVLENBQUMsT0FBTyxFQUFFLHdCQUF3QixJQUFJLE9BQU8sRUFBRTtnQkFDM0QsUUFBUSxFQUFFOztNQUVaLElBQUEsbUJBQVUsR0FBRTtRQUNWLElBQUk7Ozs7O0NBS1g7YUFDTSxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxtQkFBVSxDQUFDLE9BQU8sRUFBRSxrQ0FBa0MsWUFBWSxPQUFPLEVBQUU7WUFDN0UsUUFBUSxFQUFFOztNQUVWLElBQUEsbUJBQVUsR0FBRTtRQUNWLFlBQVk7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQWtCUixJQUFJLGNBQWMsV0FBVzs7WUFFN0IsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0RBNEwrQixrQkFBa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQkF3QmxELE9BQU87a0JBQ1gsSUFBSTsyQ0FDcUIsVUFBVTs7Ozs7Ozs7Ozs7Z0RBV0wsVUFBVTtZQUM5QyxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0NmO1NBQ0ksQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBelZELHNEQXlWQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJhbmRvbVVVSUQgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgU2FtcGxlRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29mdHdhcmVGYWN0b3J5TW9kZWxzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYmFyZSByZXBvIG5hbWUgKGUuZy4gYGV4cGVuc2UtdHJhY2tlcmApLCB1c2VkIHRvIGRlcml2ZSBtb2RlbCBuYW1lc1xuICAgKiBsaWtlIGA8cmVwb05hbWU+LWZhY3RvcnlgLCBgPHJlcG9OYW1lPi1zaGVsbGAsIGA8cmVwb05hbWU+LXNlY3JldHNgLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBvcmcgdGhlIHJlcG8gbGl2ZXMgaW4uXG4gICAqL1xuICByZWFkb25seSBnaXRodWJPd25lcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYnJhbmNoIHRoZSBmYWN0b3J5IG9wZW5zIHB1bGwgcmVxdWVzdHMgYWdhaW5zdC5cbiAgICovXG4gIHJlYWRvbmx5IGJhc2VCcmFuY2g6IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZWVkIHN3YW1wIG1vZGVsIGluc3RhbmNlcyB3aXJpbmcgdGhlIGBAc3dhbXAvc29mdHdhcmUtZmFjdG9yeWAgc3RhdGVcbiAqIG1hY2hpbmUgdG8gdGhpcyByZXBvJ3MgR2l0SHViIGlzc3Vlcy9QUnMgYW5kIHNoZWxsIHN0ZXBzLiBUaGVzZSBhcmVcbiAqIGBTYW1wbGVGaWxlYHMgKHdyaXR0ZW4gb25jZSwgdGhlbiBvd25lZCBieSB0aGUgdGVhbSkgc2luY2UgdGhlIGZhY3Rvcnknc1xuICogc3RhZ2VzL2dhdGVzIGFyZSB0aGUga2luZCBvZiB0aGluZyBhIHRlYW0gdHVuZXMgZm9yIGl0cyBvd24gd29ya2Zsb3cuXG4gKi9cbmV4cG9ydCBjbGFzcyBTb2Z0d2FyZUZhY3RvcnlNb2RlbHMge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogU29mdHdhcmVGYWN0b3J5TW9kZWxzT3B0aW9ucykge1xuICAgIGNvbnN0IHsgcmVwb05hbWUsIGdpdGh1Yk93bmVyLCBiYXNlQnJhbmNoIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHJlcG8gPSBgJHtnaXRodWJPd25lcn0vJHtyZXBvTmFtZX1gO1xuICAgIGNvbnN0IGlzc3Vlc01vZGVsID0gYCR7cmVwb05hbWV9LWlzc3Vlc2A7XG4gICAgY29uc3QgcHJNb2RlbCA9IGAke3JlcG9OYW1lfS1wcmA7XG4gICAgY29uc3Qgc2hlbGxNb2RlbCA9IGAke3JlcG9OYW1lfS1zaGVsbGA7XG4gICAgY29uc3Qgc2hlbGxBcmNoaXRlY3R1cmVNb2RlbCA9IGAke3JlcG9OYW1lfS1zaGVsbC1hcmNoaXRlY3R1cmVgO1xuICAgIGNvbnN0IHNoZWxsTWFuaWZlc3RNb2RlbCA9IGAke3JlcG9OYW1lfS1zaGVsbC1tYW5pZmVzdGA7XG4gICAgY29uc3Qgc2VjcmV0c1ZhdWx0ID0gYCR7cmVwb05hbWV9LXNlY3JldHNgO1xuICAgIGNvbnN0IGZhY3RvcnlNb2RlbCA9IGAke3JlcG9OYW1lfS1mYWN0b3J5YDtcblxuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGBtb2RlbHMvQGdvb2RjcmFmdC9naXRodWIvJHtwck1vZGVsfS55YW1sYCwge1xuICAgICAgY29udGVudHM6IGB0eXBlOiAnQGdvb2RjcmFmdC9naXRodWInXG50eXBlVmVyc2lvbjogMjAyNi4wNi4xNC4xXG5pZDogJHtyYW5kb21VVUlEKCl9XG5uYW1lOiAke3ByTW9kZWx9XG52ZXJzaW9uOiAxXG50YWdzOiB7fVxuZ2xvYmFsQXJndW1lbnRzOlxuICB0b2tlbjogJ1xcJHt7IHZhdWx0LmdldCgke3NlY3JldHNWYXVsdH0sIEdJVEhVQl9UT0tFTikgfX0nXG4gIG93bmVyOiAke2dpdGh1Yk93bmVyfVxubWV0aG9kczoge31cbmAsXG4gICAgfSk7XG5cbiAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCBgbW9kZWxzL0B3ZWJmcmFtcC9naXRodWIvJHtpc3N1ZXNNb2RlbH0ueWFtbGAsIHtcbiAgICAgIGNvbnRlbnRzOiBgdHlwZTogJ0B3ZWJmcmFtcC9naXRodWInXG50eXBlVmVyc2lvbjogMjAyNi4wOC4yOC4xXG5pZDogJHtyYW5kb21VVUlEKCl9XG5uYW1lOiAke2lzc3Vlc01vZGVsfVxudmVyc2lvbjogMVxudGFnczoge31cbmdsb2JhbEFyZ3VtZW50czoge31cbm1ldGhvZHM6IHt9XG5gLFxuICAgIH0pO1xuXG4gICAgZm9yIChjb25zdCBuYW1lIG9mIFtzaGVsbE1vZGVsLCBzaGVsbEFyY2hpdGVjdHVyZU1vZGVsLCBzaGVsbE1hbmlmZXN0TW9kZWxdKSB7XG4gICAgICBuZXcgU2FtcGxlRmlsZShwcm9qZWN0LCBgbW9kZWxzL2NvbW1hbmQvc2hlbGwvJHtuYW1lfS55YW1sYCwge1xuICAgICAgICBjb250ZW50czogYHR5cGU6IGNvbW1hbmQvc2hlbGxcbnR5cGVWZXJzaW9uOiAyMDI2LjAyLjA5LjFcbmlkOiAke3JhbmRvbVVVSUQoKX1cbm5hbWU6ICR7bmFtZX1cbnZlcnNpb246IDFcbnRhZ3M6IHt9XG5nbG9iYWxBcmd1bWVudHM6IHt9XG5tZXRob2RzOiB7fVxuYCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG5ldyBTYW1wbGVGaWxlKHByb2plY3QsIGBtb2RlbHMvQHN3YW1wL3NvZnR3YXJlLWZhY3RvcnkvJHtmYWN0b3J5TW9kZWx9LnlhbWxgLCB7XG4gICAgICBjb250ZW50czogYHR5cGU6ICdAc3dhbXAvc29mdHdhcmUtZmFjdG9yeSdcbnR5cGVWZXJzaW9uOiAyMDI2LjA2LjI0LjFcbmlkOiAke3JhbmRvbVVVSUQoKX1cbm5hbWU6ICR7ZmFjdG9yeU1vZGVsfVxudmVyc2lvbjogMVxudGFnczoge31cbnJlcG9ydHM6XG4gIHJlcXVpcmU6XG4gICAgLSBuYW1lOiBcIkBzd2FtcC9zb2Z0d2FyZS1mYWN0b3J5L3dvcmstaXRlbS1zdW1tYXJ5XCJcbiAgICAgIG1ldGhvZHM6IFtzdW1tYXJ5XVxuZ2xvYmFsQXJndW1lbnRzOlxuICBzdGFnZXM6XG4gICAgLSBpZDogaW50YWtlXG4gICAgICBpbml0aWFsOiB0cnVlXG4gICAgICBkZXNjcmlwdGlvbjogPi1cbiAgICAgICAgRmV0Y2ggdGhlIEdpdEh1YiBpc3N1ZSBmb3IgdGhpcyB3b3JrIGl0ZW0gKHdvcmtJdGVtIGlzIHRoZSBiYXJlXG4gICAgICAgIGlzc3VlIG51bWJlcikgYW5kIHJlY29yZCBpdHMgY29udGV4dC5cbiAgICAgIHdvcms6XG4gICAgICAgIG1vZGU6IGludGVyYWN0aXZlXG4gICAgICAgIHN5c3RlbVByb21wdDogPi1cbiAgICAgICAgICBGZXRjaCB0aGUgR2l0SHViIGlzc3VlIG51bWJlcmVkIFxcJHt7IHNlbGYud29ya0l0ZW0gfX0gZm9yXG4gICAgICAgICAgJHtyZXBvfSB1c2luZyB0aGUgJHtpc3N1ZXNNb2RlbH0gbW9kZWxcbiAgICAgICAgICAobGlzdF9pc3N1ZXMsIHRoZW4gc3dhbXAgZGF0YSBxdWVyeSBmaWx0ZXJlZCBieSBudW1iZXIg4oCUIHNlZSB0aGVcbiAgICAgICAgICAke2lzc3Vlc01vZGVsfSBkYXRhKSwgYW5kIHJlY29yZCB0aGUgaXNzdWUtY29udGV4dCBhcnRpZmFjdC5cbiAgICAgIGFydGlmYWN0czpcbiAgICAgICAgLSBuYW1lOiBpc3N1ZS1jb250ZXh0XG4gICAgICAgICAgc2NoZW1hOlxuICAgICAgICAgICAgdHlwZTogb2JqZWN0XG4gICAgICAgICAgICByZXF1aXJlZDogW251bWJlciwgdGl0bGUsIHVybF1cbiAgICAgICAgICAgIHByb3BlcnRpZXM6XG4gICAgICAgICAgICAgIG51bWJlcjogeyB0eXBlOiBpbnRlZ2VyIH1cbiAgICAgICAgICAgICAgdGl0bGU6IHsgdHlwZTogc3RyaW5nLCBtaW5MZW5ndGg6IDEgfVxuICAgICAgICAgICAgICBib2R5OiB7IHR5cGU6IHN0cmluZyB9XG4gICAgICAgICAgICAgIHVybDogeyB0eXBlOiBzdHJpbmcsIG1pbkxlbmd0aDogMSB9XG4gICAgICAgICAgICAgIGxhYmVsczogeyB0eXBlOiBhcnJheSwgaXRlbXM6IHsgdHlwZTogc3RyaW5nIH0gfVxuICAgICAgdHJhbnNpdGlvbnM6XG4gICAgICAgIC0gbmFtZTogc3VibWl0XG4gICAgICAgICAgdG86IHBsYW5uaW5nXG4gICAgICAgICAgZ2F0ZXM6XG4gICAgICAgICAgICAtIHR5cGU6IGFydGlmYWN0LWV4aXN0c1xuICAgICAgICAgICAgICBjb25maWc6IHsgYXJ0aWZhY3Q6IGlzc3VlLWNvbnRleHQgfVxuXG4gICAgLSBpZDogcGxhbm5pbmdcbiAgICAgIGRlc2NyaXB0aW9uOiA+LVxuICAgICAgICBUdXJuIHRoZSBpc3N1ZSBpbnRvIGEgcmVhbCBPcGVuU3BlYyBjaGFuZ2UgKHByb3Bvc2FsLCBkZXNpZ24sXG4gICAgICAgIHNwZWNzLCB0YXNrcykg4oCUIE9wZW5TcGVjJ3MgdGFzayBsaXN0IGlzIHRoZSBwbGFuLCBub3QgYVxuICAgICAgICBmcmVlZm9ybSBhcnRpZmFjdC5cbiAgICAgIHdvcms6XG4gICAgICAgIG1vZGU6IGludGVyYWN0aXZlXG4gICAgICAgIHN5c3RlbVByb21wdDogPi1cbiAgICAgICAgICBVc2luZyB0aGUgcmVjb3JkZWQgaXNzdWUtY29udGV4dCBhcnRpZmFjdCwgdXNlIHRoZVxuICAgICAgICAgIG9wZW5zcGVjLXByb3Bvc2Ugc2tpbGwgdG8gY3JlYXRlIGEgY29tcGxldGUgT3BlblNwZWMgY2hhbmdlXG4gICAgICAgICAgKHByb3Bvc2FsLm1kLCBkZXNpZ24ubWQsIHNwZWNzIHdpdGggZGVsdGFzLCB0YXNrcy5tZCkgZm9yIHRoaXNcbiAgICAgICAgICB3b3JrIGl0ZW0gdW5kZXIgb3BlbnNwZWMvY2hhbmdlcy88Y2hhbmdlU2x1Zz4vIOKAlCBkbyBub3Qgd3JpdGUgYVxuICAgICAgICAgIGZyZWVmb3JtIHBsYW4gaW5zdGVhZCBvZiB0aGlzLiBUaGVuIHJlY29yZCB0aGUgcGxhbiBhcnRpZmFjdFxuICAgICAgICAgIHdpdGggdGhlIGNoYW5nZSdzIHNsdWcgYW5kIGEgb25lLWxpbmUgc3VtbWFyeS5cbiAgICAgIGFydGlmYWN0czpcbiAgICAgICAgLSBuYW1lOiBwbGFuXG4gICAgICAgICAgc2NoZW1hOlxuICAgICAgICAgICAgdHlwZTogb2JqZWN0XG4gICAgICAgICAgICByZXF1aXJlZDogW2NoYW5nZVNsdWcsIHN1bW1hcnldXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOlxuICAgICAgICAgICAgICBjaGFuZ2VTbHVnOiB7IHR5cGU6IHN0cmluZywgbWluTGVuZ3RoOiAxIH1cbiAgICAgICAgICAgICAgc3VtbWFyeTogeyB0eXBlOiBzdHJpbmcsIG1pbkxlbmd0aDogMSB9XG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBzdWJtaXRcbiAgICAgICAgICB0bzogb3BlbnNwZWMtcGxhbi12ZXJpZnlcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogYXJ0aWZhY3QtZXhpc3RzXG4gICAgICAgICAgICAgIGNvbmZpZzogeyBhcnRpZmFjdDogcGxhbiB9XG5cbiAgICAtIGlkOiBvcGVuc3BlYy1wbGFuLXZlcmlmeVxuICAgICAgZGVzY3JpcHRpb246ID4tXG4gICAgICAgIFZlcmlmeSB0aGUgT3BlblNwZWMgY2hhbmdlIGlzIHJlYWwgYW5kIHdlbGwtZm9ybWVkIChub3QganVzdCBhblxuICAgICAgICBhcnRpZmFjdCBjbGFpbWluZyBvbmUgZXhpc3RzKSBiZWZvcmUgaW1wbGVtZW50YXRpb24gc3RhcnRzLiBSZXF1aXJlc1xuICAgICAgICBhIGh1bWFuIHRvIGFwcHJvdmUgdGhlICdpbXBsZW1lbnRhdGlvbi1hcHByb3ZhbCcgZ2F0ZSBiZWZvcmVcbiAgICAgICAgYWR2YW5jaW5nIHRvIGltcGxlbWVudGluZy4gQSByZWplY3Qgb24gdGhhdCBnYXRlIGRvZXNuJ3QgZGVhZC1lbmRcbiAgICAgICAgdGhlIHJ1biDigJQgdGFrZSB0aGUgdW5nYXRlZCAncmV3b3JrJyB0cmFuc2l0aW9uIGJhY2sgdG8gcGxhbm5pbmcgdG9cbiAgICAgICAgcHJvZHVjZSBhIHJldmlzZWQgcGxhbiBhbmQgYXNrIGFnYWluLlxuICAgICAgd29yazpcbiAgICAgICAgbW9kZTogd29ya2Zsb3dcbiAgICAgICAgd29ya2Zsb3c6XG4gICAgICAgICAgbmFtZTogb3BlbnNwZWMtcGxhbi12ZXJpZnlcbiAgICAgICAgICBpbnB1dHM6XG4gICAgICAgICAgICBjaGFuZ2VTbHVnOiAnXFwke3sgZGF0YS5sYXRlc3Qoc2VsZi5uYW1lLCBcImFydGlmYWN0LXBsYW5cIikucGF5bG9hZC5jaGFuZ2VTbHVnIH19J1xuICAgICAgICByZXN1bHRFdmlkZW5jZTogcGxhbi12ZXJpZnktcnVuXG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBwYXNzXG4gICAgICAgICAgdG86IGltcGxlbWVudGluZ1xuICAgICAgICAgIGdhdGVzOlxuICAgICAgICAgICAgLSB0eXBlOiB3b3JrZmxvdy1zdWNjZWVkZWRcbiAgICAgICAgICAgICAgY29uZmlnOiB7IHdvcmtmbG93OiBvcGVuc3BlYy1wbGFuLXZlcmlmeSB9XG4gICAgICAgICAgICAtIHR5cGU6IGh1bWFuLWFwcHJvdmFsXG4gICAgICAgICAgICAgIGNvbmZpZzogeyBpZDogaW1wbGVtZW50YXRpb24tYXBwcm92YWwgfVxuICAgICAgICAtIG5hbWU6IGZhaWxcbiAgICAgICAgICB0bzogcGxhbm5pbmdcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogZXZpZGVuY2UtcmVjb3JkZWRcbiAgICAgICAgICAgICAgY29uZmlnOiB7IG5hbWU6IHBsYW4tdmVyaWZ5LXJ1biwgcmVxdWlyZUZpZWxkOiB7IHN0YXR1czogZmFpbGVkIH0gfVxuICAgICAgICAtIG5hbWU6IHJld29ya1xuICAgICAgICAgIHRvOiBwbGFubmluZ1xuICAgICAgICAgIGdhdGVzOiBbXVxuXG4gICAgLSBpZDogaW1wbGVtZW50aW5nXG4gICAgICBkZXNjcmlwdGlvbjogSW1wbGVtZW50IHRoZSBPcGVuU3BlYyBjaGFuZ2UncyB0YXNrcyBvbiBhIGJyYW5jaC5cbiAgICAgIHdvcms6XG4gICAgICAgIG1vZGU6IGludGVyYWN0aXZlXG4gICAgICAgIHN5c3RlbVByb21wdDogPi1cbiAgICAgICAgICBVc2UgdGhlIG9wZW5zcGVjLWFwcGx5LWNoYW5nZSBza2lsbCBhZ2FpbnN0IHRoZSBjaGFuZ2UgcmVjb3JkZWRcbiAgICAgICAgICBpbiB0aGUgcGxhbiBhcnRpZmFjdCdzIGNoYW5nZVNsdWcg4oCUIHdvcmsgdGhyb3VnaCBpdHMgdGFza3MubWRcbiAgICAgICAgICBvbmUgdGFzayBhdCBhIHRpbWUsIGNoZWNraW5nIGVhY2ggb2ZmIChcXGAtIFsgXVxcYCAtPiBcXGAtIFt4XVxcYCkgYXNcbiAgICAgICAgICB5b3UgY29tcGxldGUgaXQsIHVudGlsIGV2ZXJ5IHRhc2sgaXMgZG9uZS4gQ29tbWl0IHRoZSB3b3JrIG9uIGFcbiAgICAgICAgICBmZWF0dXJlIGJyYW5jaC4gUmVjb3JkIHRoZSBjaGFuZ2Utc3VtbWFyeSBhcnRpZmFjdCBhbmQgdGhlXG4gICAgICAgICAgY2hhbmdlLXJlcXVlc3QgZXZpZGVuY2UgKGJyYW5jaCBuYW1lIGFuZCBoZWFkIGNvbW1pdCBzaGEg4oCUIG5vXG4gICAgICAgICAgUFIgeWV0LCB0aGF0IGhhcHBlbnMgYWZ0ZXIgcHJlLVBSIHZlcmlmaWNhdGlvbiBwYXNzZXMpLlxuICAgICAgYXJ0aWZhY3RzOlxuICAgICAgICAtIG5hbWU6IGNoYW5nZS1zdW1tYXJ5XG4gICAgICAgICAgc2NoZW1hOlxuICAgICAgICAgICAgdHlwZTogb2JqZWN0XG4gICAgICAgICAgICByZXF1aXJlZDogW3N1bW1hcnksIGhlYWRTaGFdXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOlxuICAgICAgICAgICAgICBzdW1tYXJ5OiB7IHR5cGU6IHN0cmluZywgbWluTGVuZ3RoOiAxIH1cbiAgICAgICAgICAgICAgaGVhZFNoYTogeyB0eXBlOiBzdHJpbmcsIG1pbkxlbmd0aDogNyB9XG4gICAgICBldmlkZW5jZTpcbiAgICAgICAgLSBuYW1lOiBjaGFuZ2UtcmVxdWVzdFxuICAgICAgICAgIHNjaGVtYTpcbiAgICAgICAgICAgIHR5cGU6IG9iamVjdFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFticmFuY2gsIGhlYWRTaGFdXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOlxuICAgICAgICAgICAgICBicmFuY2g6IHsgdHlwZTogc3RyaW5nLCBtaW5MZW5ndGg6IDEgfVxuICAgICAgICAgICAgICBoZWFkU2hhOiB7IHR5cGU6IHN0cmluZywgbWluTGVuZ3RoOiA3IH1cbiAgICAgICAgICAgICAgdXJsOiB7IHR5cGU6IHN0cmluZyB9XG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBzdWJtaXRcbiAgICAgICAgICB0bzogb3BlbnNwZWMtdGFza3MtdmVyaWZ5XG4gICAgICAgICAgZ2F0ZXM6XG4gICAgICAgICAgICAtIHR5cGU6IGFydGlmYWN0LWV4aXN0c1xuICAgICAgICAgICAgICBjb25maWc6IHsgYXJ0aWZhY3Q6IGNoYW5nZS1zdW1tYXJ5IH1cbiAgICAgICAgICAgIC0gdHlwZTogZXZpZGVuY2UtcmVjb3JkZWRcbiAgICAgICAgICAgICAgY29uZmlnOiB7IG5hbWU6IGNoYW5nZS1yZXF1ZXN0IH1cblxuICAgIC0gaWQ6IG9wZW5zcGVjLXRhc2tzLXZlcmlmeVxuICAgICAgZGVzY3JpcHRpb246ID4tXG4gICAgICAgIFZlcmlmeSBldmVyeSB0YXNrIGluIHRoZSBPcGVuU3BlYyBjaGFuZ2UgaXMgYWN0dWFsbHkgY2hlY2tlZCBvZmZcbiAgICAgICAgYmVmb3JlIHByZS1QUiB2ZXJpZmljYXRpb24gcnVucy5cbiAgICAgIHdvcms6XG4gICAgICAgIG1vZGU6IHdvcmtmbG93XG4gICAgICAgIHdvcmtmbG93OlxuICAgICAgICAgIG5hbWU6IG9wZW5zcGVjLXRhc2tzLXZlcmlmeVxuICAgICAgICAgIGlucHV0czpcbiAgICAgICAgICAgIGNoYW5nZVNsdWc6ICdcXCR7eyBkYXRhLmxhdGVzdChzZWxmLm5hbWUsIFwiYXJ0aWZhY3QtcGxhblwiKS5wYXlsb2FkLmNoYW5nZVNsdWcgfX0nXG4gICAgICAgIHJlc3VsdEV2aWRlbmNlOiB0YXNrcy12ZXJpZnktcnVuXG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBwYXNzXG4gICAgICAgICAgdG86IHByZS1wci12ZXJpZnlcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogd29ya2Zsb3ctc3VjY2VlZGVkXG4gICAgICAgICAgICAgIGNvbmZpZzogeyB3b3JrZmxvdzogb3BlbnNwZWMtdGFza3MtdmVyaWZ5IH1cbiAgICAgICAgLSBuYW1lOiBmYWlsXG4gICAgICAgICAgdG86IGltcGxlbWVudGluZ1xuICAgICAgICAgIGdhdGVzOlxuICAgICAgICAgICAgLSB0eXBlOiBldmlkZW5jZS1yZWNvcmRlZFxuICAgICAgICAgICAgICBjb25maWc6IHsgbmFtZTogdGFza3MtdmVyaWZ5LXJ1biwgcmVxdWlyZUZpZWxkOiB7IHN0YXR1czogZmFpbGVkIH0gfVxuXG4gICAgLSBpZDogcHJlLXByLXZlcmlmeVxuICAgICAgZGVzY3JpcHRpb246ID4tXG4gICAgICAgIFByZS1QUiB2ZXJpZmljYXRpb246IGJ1aWxkL3N5bnRoL3Rlc3QvbGludCBwbHVzIHRoZSBhcmNoaXRlY3R1cmVcbiAgICAgICAgcnVsZSByZWdpc3RyeSwgcnVuIGJlZm9yZSB0aGUgUFIgaXMgb3BlbmVkIHJhdGhlciB0aGFuIHJlbHlpbmcgb25cbiAgICAgICAgQ0kgYWZ0ZXIgdGhlIGZhY3QuIElmIHRoZSBib3VuZCBjb21taXQgbmVlZHMgdG8gY2hhbmdlIChyZWJhc2UsXG4gICAgICAgIGZpeHVwLCBodW1hbi1yZXF1ZXN0ZWQgZWRpdCkgd2l0aG91dCBhIHJlYWwgdmVyaWZpY2F0aW9uIGZhaWx1cmUsXG4gICAgICAgIHRha2UgdGhlIHVuZ2F0ZWQgJ3Jld29yaycgdHJhbnNpdGlvbiBiYWNrIHRvIGltcGxlbWVudGluZyBpbnN0ZWFkXG4gICAgICAgIG9mIHJlY29yZGluZyBhIGZhYnJpY2F0ZWQgJ2ZhaWwnLlxuICAgICAgd29yazpcbiAgICAgICAgbW9kZTogd29ya2Zsb3dcbiAgICAgICAgd29ya2Zsb3c6XG4gICAgICAgICAgbmFtZTogcHJlLXByLXZlcmlmeVxuICAgICAgICAgIGlucHV0czpcbiAgICAgICAgICAgIGNvbW1pdDogJ1xcJHt7IGRhdGEubGF0ZXN0KHNlbGYubmFtZSwgXCJldmlkZW5jZS1jaGFuZ2UtcmVxdWVzdFwiKS5wYXlsb2FkLmhlYWRTaGEgfX0nXG4gICAgICAgICAgICBicmFuY2g6ICdcXCR7eyBkYXRhLmxhdGVzdChzZWxmLm5hbWUsIFwiZXZpZGVuY2UtY2hhbmdlLXJlcXVlc3RcIikucGF5bG9hZC5icmFuY2ggfX0nXG4gICAgICAgIHJlc3VsdEV2aWRlbmNlOiB2ZXJpZnktcnVuXG4gICAgICB0cmFuc2l0aW9uczpcbiAgICAgICAgLSBuYW1lOiBwYXNzXG4gICAgICAgICAgdG86IG9wZW4tcHJcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogd29ya2Zsb3ctc3VjY2VlZGVkXG4gICAgICAgICAgICAgIGNvbmZpZzogeyB3b3JrZmxvdzogcHJlLXByLXZlcmlmeSB9XG4gICAgICAgIC0gbmFtZTogZmFpbFxuICAgICAgICAgIHRvOiBpbXBsZW1lbnRpbmdcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogZXZpZGVuY2UtcmVjb3JkZWRcbiAgICAgICAgICAgICAgY29uZmlnOiB7IG5hbWU6IHZlcmlmeS1ydW4sIHJlcXVpcmVGaWVsZDogeyBzdGF0dXM6IGZhaWxlZCB9IH1cbiAgICAgICAgLSBuYW1lOiByZXdvcmtcbiAgICAgICAgICB0bzogaW1wbGVtZW50aW5nXG4gICAgICAgICAgZ2F0ZXM6IFtdXG5cbiAgICAtIGlkOiBvcGVuLXByXG4gICAgICBkZXNjcmlwdGlvbjogPi1cbiAgICAgICAgT3BlbiB0aGUgcHVsbCByZXF1ZXN0IG5vdyB0aGF0IHByZS1QUiB2ZXJpZmljYXRpb24gaGFzIHBhc3NlZC4gSWZcbiAgICAgICAgdGhlIGJvdW5kIGNvbW1pdCBuZWVkcyB0byBjaGFuZ2UgYWZ0ZXIgZW50ZXJpbmcgdGhpcyBzdGFnZSAoZS5nLlxuICAgICAgICBtYWluIG1vdmVkIGFuZCB0aGUgYnJhbmNoIG5lZWRzIGEgcmViYXNlKSwgYSBodW1hbiBjYW4gYXBwcm92ZSB0aGVcbiAgICAgICAgJ3Jld29yay1hcHByb3ZhbCcgZ2F0ZSB0byB0YWtlIHRoZSAncmV3b3JrJyB0cmFuc2l0aW9uIGJhY2sgdG9cbiAgICAgICAgaW1wbGVtZW50aW5nIHJhdGhlciB0aGFuIGFib3J0aW5nIHRoZSBydW4uXG4gICAgICB3b3JrOlxuICAgICAgICBtb2RlOiBpbnRlcmFjdGl2ZVxuICAgICAgICBzeXN0ZW1Qcm9tcHQ6ID4tXG4gICAgICAgICAgQmVmb3JlIG9wZW5pbmcgdGhlIFBSLCBmZXRjaCB0aGUgcmVhbCBwcmUtcHItdmVyaWZ5IGF0dGVzdGF0aW9uXG4gICAgICAgICAgd2l0aCBcXGBzd2FtcCBkYXRhIGdldCAtLXdvcmtmbG93IHByZS1wci12ZXJpZnlcbiAgICAgICAgICByZXBvcnQtc3dhbXAtdmVyaWZpY2F0aW9uLWF0dGVzdGF0aW9uIC0tanNvblxcYCBhbmQgaW5jbHVkZSBpdHNcbiAgICAgICAgICBcXGBjb250ZW50XFxgIHZlcmJhdGltIChhcyBhIG1hcmtkb3duIGJsb2NrLCBlLmcuIHVuZGVyIGEgXCJQcmUtUFJcbiAgICAgICAgICB2ZXJpZmljYXRpb25cIiBoZWFkaW5nKSBpbiB0aGUgUFIgYm9keSDigJQgbmV2ZXIganVzdCBhc3NlcnQgaW5cbiAgICAgICAgICBwcm9zZSB0aGF0IGNoZWNrcyBwYXNzZWQuIEFsc28gZmV0Y2ggdGhpcyBzYW1lIHJ1bidzIG1hbmlmZXN0IHN0ZXBcbiAgICAgICAgICBvdXRwdXQgKFxcYHN3YW1wIGRhdGEgcXVlcnkgJ21vZGVsTmFtZSA9PSBcIiR7c2hlbGxNYW5pZmVzdE1vZGVsfVwiICYmXG4gICAgICAgICAgbmFtZSA9PSBcInJlc3VsdFwiJyAtLXNlbGVjdCBhdHRyaWJ1dGVzLnN0ZG91dCAtLWpzb25cXGAsIHRha2UgdGhlXG4gICAgICAgICAgbGF0ZXN0KSBhbmQgYXBwZW5kIGl0IHRvIHRoZSBQUiBib2R5IGFzXG4gICAgICAgICAgXFxgPCEtLSBhdHRlc3RhdGlvbi1tYW5pZmVzdCB7XCJjb21taXRcIjogXCI8aGVhZFNoYT5cIiwgXCJzdGF0dXNcIjpcbiAgICAgICAgICBcInN1Y2NlZWRlZFwiLCAuLi50aGUgbWFuaWZlc3Qgc3RlcCdzIEpTT04sIHNwcmVhZCBpbi4uLn0gLS0+XFxgIOKAlCBhblxuICAgICAgICAgIEhUTUwgY29tbWVudCBzbyBpdCdzIGludmlzaWJsZSB3aGVuIHJlbmRlcmVkIGJ1dCBzdGlsbCBwcmVzZW50IGluXG4gICAgICAgICAgdGhlIHJhdyBib2R5IHRleHQgdmVyaWZ5LWF0dGVzdGF0aW9uLnltbCByZWFkcyB2aWEgdGhlIEdpdEh1YiBBUEkuXG4gICAgICAgICAgQWxzbyBmZXRjaCB0aGUgcGxhbiBhcnRpZmFjdCdzIGNoYW5nZVNsdWcgYW5kIGluY2x1ZGUgYW4gZXhwbGljaXRcbiAgICAgICAgICBcIk9wZW5TcGVjIGNoYW5nZVwiIGxpbmUgaW4gdGhlIFBSIGJvZHkgbmFtaW5nIGl0IGFuZCBpdHMgcGF0aFxuICAgICAgICAgIChcXGBvcGVuc3BlYy9jaGFuZ2VzLzxjaGFuZ2VTbHVnPi9cXGApIOKAlCBldmVyeSBQUiB0aGUgZmFjdG9yeSBvcGVuc1xuICAgICAgICAgIG11c3QgY2FsbCBvdXQgd2hpY2ggT3BlblNwZWMgY2hhbmdlKHMpIGRyb3ZlIHRoZSBzZXNzaW9uLCBub3RcbiAgICAgICAgICBqdXN0IGltcGx5IGl0LiBJZiBwbGFubmluZyBjeWNsZWQgdGhyb3VnaCBtb3JlIHRoYW4gb25lIGNoYW5nZVxuICAgICAgICAgIChhIHJld29yayBsb29wIHByb2R1Y2VkIGEgbmV3IGNoYW5nZVNsdWcpLCBsaXN0IGV2ZXJ5IGRpc3RpbmN0XG4gICAgICAgICAgY2hhbmdlU2x1ZyByZWNvcmRlZCBhY3Jvc3MgdGhlIHJ1bidzIHBsYW4gYXJ0aWZhY3QgdmVyc2lvbnMsIG5vdFxuICAgICAgICAgIG9ubHkgdGhlIGxhdGVzdC4gVGhlIFBSIHRpdGxlIE1VU1Qgc3RhcnQgd2l0aCBhIENvbnZlbnRpb25hbFxuICAgICAgICAgIENvbW1pdHMgcHJlZml4IGluIHRoZSBmb3JtIFxcYHR5cGUoc2NvcGUpOiBzdW1tYXJ5XFxgIOKAlCBcXGB0eXBlXFxgIGlzXG4gICAgICAgICAgXFxgZmVhdFxcYCBmb3IgbmV3IGNhcGFiaWxpdGllcywgXFxgZml4XFxgIGZvciBidWcgZml4ZXMsIG9yIFxcYGNob3JlXFxgXG4gICAgICAgICAgZm9yIHRvb2xpbmcvbWFpbnRlbmFuY2Ugd2l0aCBubyBiZWhhdmlvciBjaGFuZ2UgKGZhbGwgYmFjayB0b1xuICAgICAgICAgIFxcYHJlZmFjdG9yXFxgL1xcYGRvY3NcXGAvXFxgdGVzdFxcYCBvbmx5IGlmIG5vbmUgb2YgdGhvc2UgZml0KSwgY2hvc2VuXG4gICAgICAgICAgZnJvbSB0aGUgaW50YWtlIGlzc3VlIGFuZCBPcGVuU3BlYyBjaGFuZ2Uocyk7IFxcYHNjb3BlXFxgIG5hbWVzIHRoZVxuICAgICAgICAgIGFmZmVjdGVkIHBhY2thZ2UgKGUuZy4gXFxgcHJvamVuXFxgLCBcXGBjbGVyay1hdXRob3JpemVyXFxgKS4gVGhpc1xuICAgICAgICAgIHJlcG8ncyBQUi1kZXBsb3kgYW5kIFBSLWNsZWFudXAgYXV0b21hdGlvbiBvbmx5IHRyaWdnZXIgZm9yXG4gICAgICAgICAgdGl0bGVzIHN0YXJ0aW5nIHdpdGggXFxgZml4XFxgIG9yIFxcYGZlYXRcXGAsIGFuZCBldmVyeSBtZXJnZWQgUFIgaW5cbiAgICAgICAgICB0aGlzIHJlcG8gZm9sbG93cyB0aGlzIGNvbnZlbnRpb24g4oCUIGFuIHVudHlwZWQgdGl0bGUgYnJlYWtzIGJvdGguXG4gICAgICAgICAgVGhlbiBjYWxsICR7cHJNb2RlbH0ncyBvcGVuUHIgbWV0aG9kXG4gICAgICAgICAgKHJlcG89JHtyZXBvfSwgaGVhZD08dGhlIGJyYW5jaCByZWNvcmRlZCBpblxuICAgICAgICAgIGNoYW5nZS1yZXF1ZXN0IGV2aWRlbmNlPiwgYmFzZT0ke2Jhc2VCcmFuY2h9LCBkcnlSdW49ZmFsc2UpLCB3aXRoXG4gICAgICAgICAgdGl0bGUvYm9keSByZWZlcmVuY2luZyB0aGUgaW50YWtlIHN0YWdlJ3MgaXNzdWUgbnVtYmVyLCB0aGVcbiAgICAgICAgICBPcGVuU3BlYyBjaGFuZ2UocyksIHRoZSBhdHRlc3RhdGlvbiBibG9jaywgYW5kIHRoZSBtYW5pZmVzdFxuICAgICAgICAgIGNvbW1lbnQuIElmIG9wZW5QciBmYWlscyBzcGVjaWZpY2FsbHkgYmVjYXVzZSB0aGUgdmF1bHQgY2FuJ3RcbiAgICAgICAgICByZXNvbHZlIEdJVEhVQl9UT0tFTiAoYW4gZXJyb3IgbmFtaW5nIFxcYEdJVEhVQl9UT0tFTlxcYCBhcyBub3RcbiAgICAgICAgICBmb3VuZCksIGRvbid0IHRyZWF0IHRoYXQgYXMgdGVybWluYWwg4oCUIGZhbGwgYmFjayB0byBvcGVuaW5nIHRoZVxuICAgICAgICAgIFBSIHZpYSB0aGUgXFxgZ2hcXGAgQ0xJIGluc3RlYWQ6IHB1c2ggdGhlIGJyYW5jaCByZWNvcmRlZCBpblxuICAgICAgICAgIGNoYW5nZS1yZXF1ZXN0IGV2aWRlbmNlIHdpdGggXFxgZ2l0IHB1c2ggLXUgb3JpZ2luIDxicmFuY2g+XFxgIGlmIGl0XG4gICAgICAgICAgaXNuJ3QgYWxyZWFkeSBwdXNoZWQsIHdyaXRlIHRoZSBleGFjdCBzYW1lIHRpdGxlIGFuZCBib2R5XG4gICAgICAgICAgKGF0dGVzdGF0aW9uIGJsb2NrLCBtYW5pZmVzdCBjb21tZW50LCBhbmQgT3BlblNwZWMgY2hhbmdlXG4gICAgICAgICAgbGluZShzKSBpbmNsdWRlZCkgdG8gYSB0ZW1wIGZpbGUsIGFuZCBydW4gXFxgZ2ggcHIgY3JlYXRlIC0tdGl0bGVcbiAgICAgICAgICBcIjx0aXRsZT5cIiAtLWJvZHktZmlsZSA8cGF0aD4gLS1iYXNlICR7YmFzZUJyYW5jaH0gLS1oZWFkIDxicmFuY2g+IC0tcmVwb1xuICAgICAgICAgICR7cmVwb31cXGAuIEFueSBvdGhlciBvcGVuUHIgZmFpbHVyZVxuICAgICAgICAgIChiYWQgYXJndW1lbnRzLCBuZXR3b3JrLCBwZXJtaXNzaW9ucykgTVVTVCBzdGlsbCBiZSBzdXJmYWNlZCBhc1xuICAgICAgICAgIGEgcmVhbCBmYWlsdXJlLCBub3QgcGFwZXJlZCBvdmVyIHdpdGggdGhpcyBmYWxsYmFjay4gVGhlbiByZWNvcmRcbiAgICAgICAgICB0aGUgcHItb3BlbmVkIGV2aWRlbmNlIHdpdGggdGhlIHJldHVybmVkIFBSIHVybCBhbmQgbnVtYmVyIOKAlFxuICAgICAgICAgIGZyb20gb3BlblByJ3MgcmVzcG9uc2Ugb24gdGhlIHByaW1hcnkgcGF0aCwgb3IgYnkgcGFyc2luZyBcXGBnaCBwclxuICAgICAgICAgIGNyZWF0ZVxcYCdzIG91dHB1dCAob3IgYSBmb2xsb3ctdXAgXFxgZ2ggcHIgdmlldyA8YnJhbmNoPiAtLWpzb25cbiAgICAgICAgICBudW1iZXIsdXJsXFxgKSBvbiB0aGUgZmFsbGJhY2sgcGF0aC5cbiAgICAgIGV2aWRlbmNlOlxuICAgICAgICAtIG5hbWU6IHByLW9wZW5lZFxuICAgICAgICAgIHNjaGVtYTpcbiAgICAgICAgICAgIHR5cGU6IG9iamVjdFxuICAgICAgICAgICAgcmVxdWlyZWQ6IFt1cmwsIG51bWJlcl1cbiAgICAgICAgICAgIHByb3BlcnRpZXM6XG4gICAgICAgICAgICAgIHVybDogeyB0eXBlOiBzdHJpbmcsIG1pbkxlbmd0aDogMSB9XG4gICAgICAgICAgICAgIG51bWJlcjogeyB0eXBlOiBpbnRlZ2VyIH1cbiAgICAgIHRyYW5zaXRpb25zOlxuICAgICAgICAtIG5hbWU6IHN1Ym1pdFxuICAgICAgICAgIHRvOiBkb25lXG4gICAgICAgICAgZ2F0ZXM6XG4gICAgICAgICAgICAtIHR5cGU6IGV2aWRlbmNlLXJlY29yZGVkXG4gICAgICAgICAgICAgIGNvbmZpZzogeyBuYW1lOiBwci1vcGVuZWQgfVxuICAgICAgICAtIG5hbWU6IHJld29ya1xuICAgICAgICAgIHRvOiBpbXBsZW1lbnRpbmdcbiAgICAgICAgICBnYXRlczpcbiAgICAgICAgICAgIC0gdHlwZTogaHVtYW4tYXBwcm92YWxcbiAgICAgICAgICAgICAgY29uZmlnOiB7IGlkOiByZXdvcmstYXBwcm92YWwgfVxuXG4gICAgLSBpZDogZG9uZVxuICAgICAgdGVybWluYWw6IHRydWVcblxuICAgIC0gaWQ6IGFib3J0ZWRcbiAgICAgIHRlcm1pbmFsOiB0cnVlXG5cbiAgZ2xvYmFsVHJhbnNpdGlvbnM6XG4gICAgLSBuYW1lOiBhYm9ydFxuICAgICAgdG86IGFib3J0ZWRcbiAgICAgIGdhdGVzOlxuICAgICAgICAtIHR5cGU6IGh1bWFuLWFwcHJvdmFsXG4gICAgICAgICAgY29uZmlnOiB7IGlkOiBhYm9ydC1jb25maXJtYXRpb24gfVxubWV0aG9kczoge31cbmAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,7 +7,7 @@ const javascript_1 = require("projen/lib/javascript");
|
|
|
7
7
|
const utils_1 = require("./utils");
|
|
8
8
|
const WorkflowActionVersions_1 = require("./WorkflowActionVersions");
|
|
9
9
|
class StagingDeployWorkflow extends projen_1.YamlFile {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.StagingDeployWorkflow", version: "1.24.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.StagingDeployWorkflow", version: "1.24.2" };
|
|
11
11
|
constructor(project, options) {
|
|
12
12
|
const packageManager = project.package.packageManager;
|
|
13
13
|
const actionVersions = (0, WorkflowActionVersions_1.resolveActionVersions)(options.actionVersions);
|
|
@@ -39,7 +39,7 @@ const fs = __importStar(require("fs"));
|
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
40
|
const projen_1 = require("projen");
|
|
41
41
|
class WorkflowAutoDiscover extends projen_1.Component {
|
|
42
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.WorkflowAutoDiscover", version: "1.24.
|
|
42
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.WorkflowAutoDiscover", version: "1.24.2" };
|
|
43
43
|
constructor(project) {
|
|
44
44
|
super(project);
|
|
45
45
|
}
|
|
@@ -238,8 +238,22 @@ globalArguments:
|
|
|
238
238
|
change-request evidence>, base=main, dryRun=false), with
|
|
239
239
|
title/body referencing the intake stage's issue number, the
|
|
240
240
|
OpenSpec change(s), the attestation block, and the manifest
|
|
241
|
-
comment
|
|
242
|
-
|
|
241
|
+
comment. If openPr fails specifically because the vault can't
|
|
242
|
+
resolve GITHUB_TOKEN (an error naming `GITHUB_TOKEN` as not
|
|
243
|
+
found), don't treat that as terminal — fall back to opening the
|
|
244
|
+
PR via the `gh` CLI instead: push the branch recorded in
|
|
245
|
+
change-request evidence with `git push -u origin <branch>` if it
|
|
246
|
+
isn't already pushed, write the exact same title and body
|
|
247
|
+
(attestation block, manifest comment, and OpenSpec change
|
|
248
|
+
line(s) included) to a temp file, and run `gh pr create --title
|
|
249
|
+
"<title>" --body-file <path> --base main --head <branch> --repo
|
|
250
|
+
macedon-technologies/platform-common`. Any other openPr failure
|
|
251
|
+
(bad arguments, network, permissions) MUST still be surfaced as
|
|
252
|
+
a real failure, not papered over with this fallback. Then record
|
|
253
|
+
the pr-opened evidence with the returned PR url and number —
|
|
254
|
+
from openPr's response on the primary path, or by parsing `gh pr
|
|
255
|
+
create`'s output (or a follow-up `gh pr view <branch> --json
|
|
256
|
+
number,url`) on the fallback path.
|
|
243
257
|
evidence:
|
|
244
258
|
- name: pr-opened
|
|
245
259
|
schema:
|