projalf 0.0.18 → 0.0.20
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 +4 -4
- package/lib/Projalf.js +52 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
},
|
|
120
120
|
"locationInModule": {
|
|
121
121
|
"filename": "src/Projalf.ts",
|
|
122
|
-
"line":
|
|
122
|
+
"line": 20
|
|
123
123
|
},
|
|
124
124
|
"parameters": [
|
|
125
125
|
{
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
"kind": "class",
|
|
134
134
|
"locationInModule": {
|
|
135
135
|
"filename": "src/Projalf.ts",
|
|
136
|
-
"line":
|
|
136
|
+
"line": 19
|
|
137
137
|
},
|
|
138
138
|
"name": "Projalf",
|
|
139
139
|
"symbolId": "src/Projalf:Projalf"
|
|
@@ -151,12 +151,12 @@
|
|
|
151
151
|
"kind": "interface",
|
|
152
152
|
"locationInModule": {
|
|
153
153
|
"filename": "src/Projalf.ts",
|
|
154
|
-
"line":
|
|
154
|
+
"line": 17
|
|
155
155
|
},
|
|
156
156
|
"name": "ProjalfOptions",
|
|
157
157
|
"symbolId": "src/Projalf:ProjalfOptions"
|
|
158
158
|
}
|
|
159
159
|
},
|
|
160
160
|
"version": "0.0.0",
|
|
161
|
-
"fingerprint": "
|
|
161
|
+
"fingerprint": "OYvVzk0E2eiCLBUA7FOXxjFTtXraRXLA3drom8k7kgg="
|
|
162
162
|
}
|
package/lib/Projalf.js
CHANGED
|
@@ -8,6 +8,15 @@ const path = require("path");
|
|
|
8
8
|
const projen_1 = require("projen");
|
|
9
9
|
const files_1 = require("./files");
|
|
10
10
|
const workflows_1 = require("./workflows");
|
|
11
|
+
const defaultJestConfig = {
|
|
12
|
+
preset: "ts-jest",
|
|
13
|
+
transform: {
|
|
14
|
+
"^.+\\.tsx?$": new projen_1.javascript.Transform("ts-jest", {
|
|
15
|
+
tsconfig: "tsconfig.dev.json",
|
|
16
|
+
}),
|
|
17
|
+
},
|
|
18
|
+
setupFilesAfterEnv: ["<rootDir>/test/setup.ts"],
|
|
19
|
+
};
|
|
11
20
|
class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
12
21
|
constructor(options) {
|
|
13
22
|
const inferredName = options.name ?? inferNameFromGit() ?? inferNameFromCwd();
|
|
@@ -43,6 +52,17 @@ class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
|
43
52
|
...options.prettierOptions?.settings,
|
|
44
53
|
},
|
|
45
54
|
},
|
|
55
|
+
jestOptions: {
|
|
56
|
+
configFilePath: "jest.config.json",
|
|
57
|
+
jestConfig: {
|
|
58
|
+
testMatch: ["<rootDir>/(test/unit|src)/**/*(*.)@(spec|test).ts?(x)"],
|
|
59
|
+
transform: {
|
|
60
|
+
"^.+\\.tsx?$": new projen_1.javascript.Transform("ts-jest", {
|
|
61
|
+
tsconfig: "tsconfig.dev.json",
|
|
62
|
+
}),
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
46
66
|
});
|
|
47
67
|
new files_1.Files(this, className, fileBase, inferredName);
|
|
48
68
|
// Enforce ESLint style: double quotes and no semicolons
|
|
@@ -50,12 +70,43 @@ class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
|
50
70
|
"@stylistic/quotes": ["error", "double", { avoidEscape: true }],
|
|
51
71
|
"@stylistic/semi": ["error", "never"],
|
|
52
72
|
"@stylistic/consistent-quotes": ["off"],
|
|
73
|
+
"@stylistic/member-delimiter-style": ["off"],
|
|
74
|
+
"@stylistic/comma-dangle": ["error", "always-multiline"],
|
|
53
75
|
});
|
|
54
76
|
(0, workflows_1.workflow)(this);
|
|
55
77
|
this.addTask("deploy:watch", {
|
|
56
78
|
exec: "cdk deploy --all --method=direct --outputs-file=test.output.json --watch --hotswap-fallback --require-approval=never",
|
|
57
79
|
receiveArgs: true,
|
|
58
80
|
});
|
|
81
|
+
this.addTask("test:e2e", {
|
|
82
|
+
exec: "jest --config jest.e2e.config.json --runInBand --passWithNoTests",
|
|
83
|
+
});
|
|
84
|
+
new projen_1.javascript.Jest(this, {
|
|
85
|
+
configFilePath: "jest.integ.config.json",
|
|
86
|
+
jestConfig: {
|
|
87
|
+
collectCoverage: false,
|
|
88
|
+
testMatch: [
|
|
89
|
+
"<rootDir>/test/integ/**/*(*.)@(spec|test).ts?(x)",
|
|
90
|
+
"<rootDir>/(test|src)/**/*(*.)@(integ).ts?(x)",
|
|
91
|
+
],
|
|
92
|
+
...defaultJestConfig,
|
|
93
|
+
},
|
|
94
|
+
});
|
|
95
|
+
new projen_1.javascript.Jest(this, {
|
|
96
|
+
configFilePath: "jest.e2e.config.json",
|
|
97
|
+
jestConfig: {
|
|
98
|
+
collectCoverage: false,
|
|
99
|
+
testMatch: [
|
|
100
|
+
"<rootDir>/test/e2e/**/*(*.)@(spec|test).ts?(x)",
|
|
101
|
+
"<rootDir>/(test|src)/**/*(*.)@(e2e).ts?(x)",
|
|
102
|
+
],
|
|
103
|
+
...defaultJestConfig,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
new projen_1.SampleFile(this, "test/setup.ts", {
|
|
107
|
+
contents: `jest.setTimeout(10000)
|
|
108
|
+
`,
|
|
109
|
+
});
|
|
59
110
|
}
|
|
60
111
|
}
|
|
61
112
|
exports.Projalf = Projalf;
|
|
@@ -89,4 +140,4 @@ function toPascalCase(input) {
|
|
|
89
140
|
.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
|
|
90
141
|
.join("");
|
|
91
142
|
}
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW1DO0FBQ25DLDZCQUE0QjtBQUM1QixtQ0FBMkM7QUFDM0MsbUNBQStCO0FBQy9CLDJDQUFzQztBQUl0QyxNQUFhLE9BQVEsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBQ3JELFlBQVksT0FBdUI7UUFDakMsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0JBQWdCLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBQzFELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFM0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBeUIsQ0FBQTtRQUMzRSxJQUFJLGFBQWEsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUE7UUFDMUMsQ0FBQztRQUVELEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxZQUFZO1lBQ2xCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELGNBQWMsRUFDWixPQUFPLENBQUMsY0FBYyxJQUFJLG1CQUFVLENBQUMsa0JBQWtCLENBQUMsR0FBRztZQUM3RCxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxJQUFJO1lBQ3RDLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxJQUFJLFNBQVM7WUFDM0MsT0FBTyxFQUFFLGFBQWE7WUFDdEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRTtZQUN4QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO1lBQzlCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsV0FBVyxFQUFFLEtBQUs7WUFDbEIsYUFBYSxFQUFFO2dCQUNiLGVBQWUsRUFBRSxLQUFLO2FBQ3ZCO1lBQ0QsYUFBYSxFQUFFLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQztZQUU5QyxlQUFlLEVBQUU7Z0JBQ2YsR0FBRyxPQUFPLENBQUMsZUFBZTtnQkFDMUIsUUFBUSxFQUFFO29CQUNSLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxHQUFHO29CQUNmLFdBQVcsRUFBRSxLQUFLO29CQUNsQixHQUFHLE9BQU8sQ0FBQyxlQUFlLEVBQUUsUUFBUTtpQkFDckM7YUFDRjtTQUNGLENBQUMsQ0FBQTtRQUVGLElBQUksYUFBSyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRWxELHdEQUF3RDtRQUN4RCxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUNwQixtQkFBbUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDL0QsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQ3JDLDhCQUE4QixFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ3hDLENBQUMsQ0FBQTtRQUVGLElBQUEsb0JBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQTtRQUVkLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1lBQzNCLElBQUksRUFBRSxzSEFBc0g7WUFDNUgsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7QUF6REgsMEJBMERDOzs7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixJQUFJLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBRyxFQUFFO2FBQ2QsUUFBUSxDQUFDLG9DQUFvQyxFQUFFO1lBQzlDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDO1NBQ3BDLENBQUM7YUFDRCxRQUFRLEVBQUU7YUFDVixJQUFJLEVBQUUsQ0FBQTtRQUNULElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxTQUFTLENBQUE7UUFDN0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQ3BELE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDbkIsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0I7SUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0FBQ3JDLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxLQUFhO0lBQ2pDLE9BQU8sS0FBSztTQUNULE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUM7U0FDOUIsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNWLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN6RSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3AgZnJvbSBcImNoaWxkX3Byb2Nlc3NcIlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiXG5pbXBvcnQgeyBhd3NjZGssIGphdmFzY3JpcHQgfSBmcm9tIFwicHJvamVuXCJcbmltcG9ydCB7IEZpbGVzIH0gZnJvbSBcIi4vZmlsZXNcIlxuaW1wb3J0IHsgd29ya2Zsb3cgfSBmcm9tIFwiLi93b3JrZmxvd3NcIlxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2phbGZPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHt9XG5cbmV4cG9ydCBjbGFzcyBQcm9qYWxmIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQcm9qYWxmT3B0aW9ucykge1xuICAgIGNvbnN0IGluZmVycmVkTmFtZSA9XG4gICAgICBvcHRpb25zLm5hbWUgPz8gaW5mZXJOYW1lRnJvbUdpdCgpID8/IGluZmVyTmFtZUZyb21Dd2QoKVxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRvUGFzY2FsQ2FzZShpbmZlcnJlZE5hbWUpXG4gICAgY29uc3QgZmlsZUJhc2UgPSBpbmZlcnJlZE5hbWUudG9Mb3dlckNhc2UoKVxuXG4gICAgY29uc3QgbWVyZ2VkQ29udGV4dCA9IHsgLi4uKG9wdGlvbnMuY29udGV4dCA/PyB7fSkgfSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgaWYgKG1lcmdlZENvbnRleHQuc2VydmljZU5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9IGluZmVycmVkTmFtZVxuICAgIH1cblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBpbmZlcnJlZE5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCA/PyBcIm1haW5cIixcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOlxuICAgICAgICBvcHRpb25zLnBhY2thZ2VNYW5hZ2VyID8/IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIHByb2plbnJjVHM6IG9wdGlvbnMucHJvamVucmNUcyA/PyB0cnVlLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uID8/IFwiMi4xNTYuMFwiLFxuICAgICAgY29udGV4dDogbWVyZ2VkQ29udGV4dCxcbiAgICAgIGRlcHM6IG9wdGlvbnMuZGVwcyA/PyBbXSxcbiAgICAgIGRldkRlcHM6IG9wdGlvbnMuZGV2RGVwcyA/PyBbXSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgcmVsZWFzZTogZmFsc2UsXG4gICAgICBkZXBzVXBncmFkZTogZmFsc2UsXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIHB1bGxSZXF1ZXN0TGludDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgd2F0Y2hJbmNsdWRlczogW1wic3JjLyoqLyoudHNcIiwgXCJzcmMvKiovKi50c3hcIl0sXG5cbiAgICAgIHByZXR0aWVyT3B0aW9uczoge1xuICAgICAgICAuLi5vcHRpb25zLnByZXR0aWVyT3B0aW9ucyxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBzZW1pOiBmYWxzZSxcbiAgICAgICAgICBwcmludFdpZHRoOiAxMDAsXG4gICAgICAgICAgc2luZ2xlUXVvdGU6IGZhbHNlLFxuICAgICAgICAgIC4uLm9wdGlvbnMucHJldHRpZXJPcHRpb25zPy5zZXR0aW5ncyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIG5ldyBGaWxlcyh0aGlzLCBjbGFzc05hbWUsIGZpbGVCYXNlLCBpbmZlcnJlZE5hbWUpXG5cbiAgICAvLyBFbmZvcmNlIEVTTGludCBzdHlsZTogZG91YmxlIHF1b3RlcyBhbmQgbm8gc2VtaWNvbG9uc1xuICAgIHRoaXMuZXNsaW50Py5hZGRSdWxlcyh7XG4gICAgICBcIkBzdHlsaXN0aWMvcXVvdGVzXCI6IFtcImVycm9yXCIsIFwiZG91YmxlXCIsIHsgYXZvaWRFc2NhcGU6IHRydWUgfV0sXG4gICAgICBcIkBzdHlsaXN0aWMvc2VtaVwiOiBbXCJlcnJvclwiLCBcIm5ldmVyXCJdLFxuICAgICAgXCJAc3R5bGlzdGljL2NvbnNpc3RlbnQtcXVvdGVzXCI6IFtcIm9mZlwiXSxcbiAgICB9KVxuXG4gICAgd29ya2Zsb3codGhpcylcblxuICAgIHRoaXMuYWRkVGFzayhcImRlcGxveTp3YXRjaFwiLCB7XG4gICAgICBleGVjOiBcImNkayBkZXBsb3kgLS1hbGwgLS1tZXRob2Q9ZGlyZWN0IC0tb3V0cHV0cy1maWxlPXRlc3Qub3V0cHV0Lmpzb24gLS13YXRjaCAtLWhvdHN3YXAtZmFsbGJhY2sgLS1yZXF1aXJlLWFwcHJvdmFsPW5ldmVyXCIsXG4gICAgICByZWNlaXZlQXJnczogdHJ1ZSxcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21HaXQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZW1vdGUgPSBjcFxuICAgICAgLmV4ZWNTeW5jKFwiZ2l0IGNvbmZpZyAtLWdldCByZW1vdGUub3JpZ2luLnVybFwiLCB7XG4gICAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJwaXBlXCIsIFwiaWdub3JlXCJdLFxuICAgICAgfSlcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAudHJpbSgpXG4gICAgaWYgKCFyZW1vdGUpIHJldHVybiB1bmRlZmluZWRcbiAgICBjb25zdCBtYXRjaCA9IHJlbW90ZS5tYXRjaCgvXFwvKFteXFwvXSs/KSg/OlxcLmdpdCk/JC8pXG4gICAgcmV0dXJuIG1hdGNoPy5bMV1cbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21Dd2QoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSlcbn1cblxuZnVuY3Rpb24gdG9QYXNjYWxDYXNlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gaW5wdXRcbiAgICAucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCBcIiBcIilcbiAgICAuc3BsaXQoXCIgXCIpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5tYXAoKHBhcnQpID0+IHBhcnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkpXG4gICAgLmpvaW4oXCJcIilcbn1cbiJdfQ==
|
|
143
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW1DO0FBQ25DLDZCQUE0QjtBQUM1QixtQ0FBdUQ7QUFDdkQsbUNBQStCO0FBQy9CLDJDQUFzQztBQUV0QyxNQUFNLGlCQUFpQixHQUFpQztJQUN0RCxNQUFNLEVBQUUsU0FBUztJQUNqQixTQUFTLEVBQUU7UUFDVCxhQUFhLEVBQUUsSUFBSSxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDakQsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0tBQ0g7SUFDRCxrQkFBa0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0NBQ2hELENBQUE7QUFJRCxNQUFhLE9BQVEsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBQ3JELFlBQVksT0FBdUI7UUFDakMsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0JBQWdCLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBQzFELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFM0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBeUIsQ0FBQTtRQUMzRSxJQUFJLGFBQWEsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUE7UUFDMUMsQ0FBQztRQUVELEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxZQUFZO1lBQ2xCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELGNBQWMsRUFDWixPQUFPLENBQUMsY0FBYyxJQUFJLG1CQUFVLENB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QVMsZ0JBQWdCO0lBQ3ZCLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEVBQUU7YUFDZCxRQUFRLENBQUMsb0NBQW9DLEVBQUU7WUFDOUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDcEMsQ0FBQzthQUNELFFBQVEsRUFBRTthQUNWLElBQUksRUFBRSxDQUFBO1FBQ1QsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDcEQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLO1NBQ1QsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztTQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcCBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IGF3c2NkaywgamF2YXNjcmlwdCwgU2FtcGxlRmlsZSB9IGZyb20gXCJwcm9qZW5cIlxuaW1wb3J0IHsgRmlsZXMgfSBmcm9tIFwiLi9maWxlc1wiXG5pbXBvcnQgeyB3b3JrZmxvdyB9IGZyb20gXCIuL3dvcmtmbG93c1wiXG5cbmNvbnN0IGRlZmF1bHRKZXN0Q29uZmlnOiBqYXZhc2NyaXB0Lkplc3RDb25maWdPcHRpb25zID0ge1xuICBwcmVzZXQ6IFwidHMtamVzdFwiLFxuICB0cmFuc2Zvcm06IHtcbiAgICBcIl4uK1xcXFwudHN4PyRcIjogbmV3IGphdmFzY3JpcHQuVHJhbnNmb3JtKFwidHMtamVzdFwiLCB7XG4gICAgICB0c2NvbmZpZzogXCJ0c2NvbmZpZy5kZXYuanNvblwiLFxuICAgIH0pLFxuICB9LFxuICBzZXR1cEZpbGVzQWZ0ZXJFbnY6IFtcIjxyb290RGlyPi90ZXN0L3NldHVwLnRzXCJdLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2phbGZPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHt9XG5cbmV4cG9ydCBjbGFzcyBQcm9qYWxmIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQcm9qYWxmT3B0aW9ucykge1xuICAgIGNvbnN0IGluZmVycmVkTmFtZSA9XG4gICAgICBvcHRpb25zLm5hbWUgPz8gaW5mZXJOYW1lRnJvbUdpdCgpID8/IGluZmVyTmFtZUZyb21Dd2QoKVxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRvUGFzY2FsQ2FzZShpbmZlcnJlZE5hbWUpXG4gICAgY29uc3QgZmlsZUJhc2UgPSBpbmZlcnJlZE5hbWUudG9Mb3dlckNhc2UoKVxuXG4gICAgY29uc3QgbWVyZ2VkQ29udGV4dCA9IHsgLi4uKG9wdGlvbnMuY29udGV4dCA/PyB7fSkgfSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgaWYgKG1lcmdlZENvbnRleHQuc2VydmljZU5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9IGluZmVycmVkTmFtZVxuICAgIH1cblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBpbmZlcnJlZE5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCA/PyBcIm1haW5cIixcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOlxuICAgICAgICBvcHRpb25zLnBhY2thZ2VNYW5hZ2VyID8/IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIHByb2plbnJjVHM6IG9wdGlvbnMucHJvamVucmNUcyA/PyB0cnVlLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uID8/IFwiMi4xNTYuMFwiLFxuICAgICAgY29udGV4dDogbWVyZ2VkQ29udGV4dCxcbiAgICAgIGRlcHM6IG9wdGlvbnMuZGVwcyA/PyBbXSxcbiAgICAgIGRldkRlcHM6IG9wdGlvbnMuZGV2RGVwcyA/PyBbXSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgcmVsZWFzZTogZmFsc2UsXG4gICAgICBkZXBzVXBncmFkZTogZmFsc2UsXG4gICAgICBnaXRodWJPcHRpb25zOiB7XG4gICAgICAgIHB1bGxSZXF1ZXN0TGludDogZmFsc2UsXG4gICAgICB9LFxuICAgICAgd2F0Y2hJbmNsdWRlczogW1wic3JjLyoqLyoudHNcIiwgXCJzcmMvKiovKi50c3hcIl0sXG5cbiAgICAgIHByZXR0aWVyT3B0aW9uczoge1xuICAgICAgICAuLi5vcHRpb25zLnByZXR0aWVyT3B0aW9ucyxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBzZW1pOiBmYWxzZSxcbiAgICAgICAgICBwcmludFdpZHRoOiAxMDAsXG4gICAgICAgICAgc2luZ2xlUXVvdGU6IGZhbHNlLFxuICAgICAgICAgIC4uLm9wdGlvbnMucHJldHRpZXJPcHRpb25zPy5zZXR0aW5ncyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG5cbiAgICAgIGplc3RPcHRpb25zOiB7XG4gICAgICAgIGNvbmZpZ0ZpbGVQYXRoOiBcImplc3QuY29uZmlnLmpzb25cIixcbiAgICAgICAgamVzdENvbmZpZzoge1xuICAgICAgICAgIHRlc3RNYXRjaDogW1wiPHJvb3REaXI+Lyh0ZXN0L3VuaXR8c3JjKS8qKi8qKCouKUAoc3BlY3x0ZXN0KS50cz8oeClcIl0sXG4gICAgICAgICAgdHJhbnNmb3JtOiB7XG4gICAgICAgICAgICBcIl4uK1xcXFwudHN4PyRcIjogbmV3IGphdmFzY3JpcHQuVHJhbnNmb3JtKFwidHMtamVzdFwiLCB7XG4gICAgICAgICAgICAgIHRzY29uZmlnOiBcInRzY29uZmlnLmRldi5qc29uXCIsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgbmV3IEZpbGVzKHRoaXMsIGNsYXNzTmFtZSwgZmlsZUJhc2UsIGluZmVycmVkTmFtZSlcblxuICAgIC8vIEVuZm9yY2UgRVNMaW50IHN0eWxlOiBkb3VibGUgcXVvdGVzIGFuZCBubyBzZW1pY29sb25zXG4gICAgdGhpcy5lc2xpbnQ/LmFkZFJ1bGVzKHtcbiAgICAgIFwiQHN0eWxpc3RpYy9xdW90ZXNcIjogW1wiZXJyb3JcIiwgXCJkb3VibGVcIiwgeyBhdm9pZEVzY2FwZTogdHJ1ZSB9XSxcbiAgICAgIFwiQHN0eWxpc3RpYy9zZW1pXCI6IFtcImVycm9yXCIsIFwibmV2ZXJcIl0sXG4gICAgICBcIkBzdHlsaXN0aWMvY29uc2lzdGVudC1xdW90ZXNcIjogW1wib2ZmXCJdLFxuICAgICAgXCJAc3R5bGlzdGljL21lbWJlci1kZWxpbWl0ZXItc3R5bGVcIjogW1wib2ZmXCJdLFxuICAgICAgXCJAc3R5bGlzdGljL2NvbW1hLWRhbmdsZVwiOiBbXCJlcnJvclwiLCBcImFsd2F5cy1tdWx0aWxpbmVcIl0sXG4gICAgfSlcblxuICAgIHdvcmtmbG93KHRoaXMpXG5cbiAgICB0aGlzLmFkZFRhc2soXCJkZXBsb3k6d2F0Y2hcIiwge1xuICAgICAgZXhlYzogXCJjZGsgZGVwbG95IC0tYWxsIC0tbWV0aG9kPWRpcmVjdCAtLW91dHB1dHMtZmlsZT10ZXN0Lm91dHB1dC5qc29uIC0td2F0Y2ggLS1ob3Rzd2FwLWZhbGxiYWNrIC0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlclwiLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSlcbiAgICB0aGlzLmFkZFRhc2soXCJ0ZXN0OmUyZVwiLCB7XG4gICAgICBleGVjOiBcImplc3QgLS1jb25maWcgamVzdC5lMmUuY29uZmlnLmpzb24gLS1ydW5JbkJhbmQgLS1wYXNzV2l0aE5vVGVzdHNcIixcbiAgICB9KVxuXG4gICAgbmV3IGphdmFzY3JpcHQuSmVzdCh0aGlzLCB7XG4gICAgICBjb25maWdGaWxlUGF0aDogXCJqZXN0LmludGVnLmNvbmZpZy5qc29uXCIsXG4gICAgICBqZXN0Q29uZmlnOiB7XG4gICAgICAgIGNvbGxlY3RDb3ZlcmFnZTogZmFsc2UsXG4gICAgICAgIHRlc3RNYXRjaDogW1xuICAgICAgICAgIFwiPHJvb3REaXI+L3Rlc3QvaW50ZWcvKiovKigqLilAKHNwZWN8dGVzdCkudHM/KHgpXCIsXG4gICAgICAgICAgXCI8cm9vdERpcj4vKHRlc3R8c3JjKS8qKi8qKCouKUAoaW50ZWcpLnRzPyh4KVwiLFxuICAgICAgICBdLFxuICAgICAgICAuLi5kZWZhdWx0SmVzdENvbmZpZyxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIG5ldyBqYXZhc2NyaXB0Lkplc3QodGhpcywge1xuICAgICAgY29uZmlnRmlsZVBhdGg6IFwiamVzdC5lMmUuY29uZmlnLmpzb25cIixcbiAgICAgIGplc3RDb25maWc6IHtcbiAgICAgICAgY29sbGVjdENvdmVyYWdlOiBmYWxzZSxcbiAgICAgICAgdGVzdE1hdGNoOiBbXG4gICAgICAgICAgXCI8cm9vdERpcj4vdGVzdC9lMmUvKiovKigqLilAKHNwZWN8dGVzdCkudHM/KHgpXCIsXG4gICAgICAgICAgXCI8cm9vdERpcj4vKHRlc3R8c3JjKS8qKi8qKCouKUAoZTJlKS50cz8oeClcIixcbiAgICAgICAgXSxcbiAgICAgICAgLi4uZGVmYXVsdEplc3RDb25maWcsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICBuZXcgU2FtcGxlRmlsZSh0aGlzLCBcInRlc3Qvc2V0dXAudHNcIiwge1xuICAgICAgY29udGVudHM6IGBqZXN0LnNldFRpbWVvdXQoMTAwMDApXG5gLFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUdpdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIGNvbnN0IHJlbW90ZSA9IGNwXG4gICAgICAuZXhlY1N5bmMoXCJnaXQgY29uZmlnIC0tZ2V0IHJlbW90ZS5vcmlnaW4udXJsXCIsIHtcbiAgICAgICAgc3RkaW86IFtcImlnbm9yZVwiLCBcInBpcGVcIiwgXCJpZ25vcmVcIl0sXG4gICAgICB9KVxuICAgICAgLnRvU3RyaW5nKClcbiAgICAgIC50cmltKClcbiAgICBpZiAoIXJlbW90ZSkgcmV0dXJuIHVuZGVmaW5lZFxuICAgIGNvbnN0IG1hdGNoID0gcmVtb3RlLm1hdGNoKC9cXC8oW15cXC9dKz8pKD86XFwuZ2l0KT8kLylcbiAgICByZXR1cm4gbWF0Y2g/LlsxXVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuZnVuY3Rpb24gaW5mZXJOYW1lRnJvbUN3ZCgpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5iYXNlbmFtZShwcm9jZXNzLmN3ZCgpKVxufVxuXG5mdW5jdGlvbiB0b1Bhc2NhbENhc2UoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBpbnB1dFxuICAgIC5yZXBsYWNlKC9bXmEtekEtWjAtOV0rL2csIFwiIFwiKVxuICAgIC5zcGxpdChcIiBcIilcbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLm1hcCgocGFydCkgPT4gcGFydC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHBhcnQuc2xpY2UoMSkudG9Mb3dlckNhc2UoKSlcbiAgICAuam9pbihcIlwiKVxufVxuIl19
|