awscdk-construct-mediaconnect-flow 0.0.6 → 0.0.7
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/LiveFeedFromFile.js +6 -2
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -4545,6 +4545,6 @@
|
|
|
4545
4545
|
"symbolId": "src/LiveFeedFromFile:VpcConfig"
|
|
4546
4546
|
}
|
|
4547
4547
|
},
|
|
4548
|
-
"version": "0.0.
|
|
4549
|
-
"fingerprint": "
|
|
4548
|
+
"version": "0.0.7",
|
|
4549
|
+
"fingerprint": "Sa8CgIwqk6grtrCKmTL7Pe11/phsTGPTL0D1Mo8xGRg="
|
|
4550
4550
|
}
|
package/lib/LiveFeedFromFile.js
CHANGED
|
@@ -31,6 +31,10 @@ class LiveFeedFromFile extends constructs_1.Construct {
|
|
|
31
31
|
protocol: 'SRT',
|
|
32
32
|
type: 'STANDARD-SOURCE',
|
|
33
33
|
}, vpcConfig, autoStart = true, } = props;
|
|
34
|
+
// Throw exception if vpcConfig is not specified when the source type is VPC-SOURCE
|
|
35
|
+
if (source.type === 'VPC-SOURCE' && !vpcConfig) {
|
|
36
|
+
throw new Error('VpcConfig is required when source type is VPC-SOURCE');
|
|
37
|
+
}
|
|
34
38
|
const uuid = `${crypto.randomUUID()}`;
|
|
35
39
|
const protocol = (() => {
|
|
36
40
|
switch (source.protocol) {
|
|
@@ -195,7 +199,7 @@ class LiveFeedFromFile extends constructs_1.Construct {
|
|
|
195
199
|
}
|
|
196
200
|
exports.LiveFeedFromFile = LiveFeedFromFile;
|
|
197
201
|
_a = JSII_RTTI_SYMBOL_1;
|
|
198
|
-
LiveFeedFromFile[_a] = { fqn: "awscdk-construct-mediaconnect-flow.LiveFeedFromFile", version: "0.0.
|
|
202
|
+
LiveFeedFromFile[_a] = { fqn: "awscdk-construct-mediaconnect-flow.LiveFeedFromFile", version: "0.0.7" };
|
|
199
203
|
function createNdiDiscoveryServer(scope, vpc) {
|
|
200
204
|
const description = 'Allow NDI Discovery Service';
|
|
201
205
|
const sg = new ec2.SecurityGroup(scope, 'NDISecurityGroup', {
|
|
@@ -312,4 +316,4 @@ function startFlow(scope, id, flowArn) {
|
|
|
312
316
|
});
|
|
313
317
|
return new Date();
|
|
314
318
|
}
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl2ZUZlZWRGcm9tRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaXZlRmVlZEZyb21GaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFvV0EsOEJBNkJDOztBQWpZRCxpQ0FBaUM7QUFDakMsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsbUVBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCxtRUFBOEc7QUFDOUcsMkZBQTZFO0FBQzdFLDJDQUF1QztBQXFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFDakMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztBQUU5QyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBSzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQ0osSUFBSSxFQUNKLFdBQVcsR0FBRztZQUNaLGtCQUFrQixFQUFFLENBQUM7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtTQUNiLEVBQ0QsTUFBTSxHQUFHO1lBQ1AsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsaUJBQWlCO1NBQ3hCLEVBQ0QsU0FBUyxFQUNULFNBQVMsR0FBRyxJQUFJLEdBQ2pCLEdBQUcsS0FBSyxDQUFDO1FBRVYsTUFBTSxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNyQixRQUFRLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FB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LENBQUM7U0FDbkM7UUFDRCxRQUFRLEVBQUU7WUFDUixPQUFPLEVBQUUsY0FBYztZQUN2QixNQUFNLEVBQUUsVUFBVTtZQUNsQixVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLE9BQU87YUFDakI7WUFDRCxrQkFBa0IsRUFBRSxxQ0FBa0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUNuRSxpQ0FBaUM7WUFDakMsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQztTQUNuQztRQUNELHlHQUF5RztRQUN6RyxNQUFNLEVBQUUsMENBQXVCLENBQUMsWUFBWSxDQUFDO1lBQzNDLFNBQVMsRUFBRSwwQ0FBdUIsQ0FBQyxZQUFZO1NBQ2hELENBQUM7S0FDSCxDQUFDLENBQUM7SUFDSCxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IENmbkZsb3cgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbWVkaWFjb25uZWN0JztcbmltcG9ydCAqIGFzIGFzbSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXInO1xuaW1wb3J0IHsgQXdzQ3VzdG9tUmVzb3VyY2UsIEF3c0N1c3RvbVJlc291cmNlUG9saWN5LCBQaHlzaWNhbFJlc291cmNlSWQgfSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzJztcbmltcG9ydCB7IE1lZGlhTGl2ZSwgc3RhcnRDaGFubmVsIH0gZnJvbSAnYXdzY2RrLWNvbnN0cnVjdC1tZWRpYWxpdmUtY2hhbm5lbCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWxlU3BlYyB7XG4gIHJlYWRvbmx5IHR5cGU/OiAnTVA0X0ZJTEUnIHwgJ1RTX0ZJTEUnOyAvLyBUeXBlIG9mIHRoZSBpbnB1dCBmaWxlXG4gIHJlYWRvbmx5IHVybDogc3RyaW5nOyAvLyBTMyBVUkwgb2YgdGhlIGlucHV0IGZpbGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXZlU291cmNlU3BlYyB7XG4gIHJlYWRvbmx5IHByb3RvY29sOiAnUlRQJyB8ICdSVFAtRkVDJyB8ICdTUlQnOyAvLyBQcm90b2NvbCBvZiB0aGUgbGl2ZSBzb3VyY2VcbiAgcmVhZG9ubHkgdHlwZTogJ1NUQU5EQVJELVNPVVJDRScgfCAnVlBDLVNPVVJDRSc7IC8vIFR5cGUgb2YgdGhlIGxpdmUgc291cmNlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnBjQ29uZmlnIHtcbiAgcmVhZG9ubHkgcHJvcHM6IGVjMi5WcGNQcm9wcztcbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc3VibmV0SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVuYWJsZU5EST86IGJvb2xlYW47IC8vIFNldHRpbmdzIGZvciBOREkgb3V0cHV0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5jb2RlclNldHRpbmdzIHtcbiAgcmVhZG9ubHkgZ29wTGVuZ3RoSW5TZWNvbmRzPzogbnVtYmVyOyAvLyBUaGUgbGVuZ3RoIG9mIHRoZSBHT1AgaW4gc2Vjb25kcy5cbiAgcmVhZG9ubHkgdGltZWNvZGVCdXJuaW5QcmVmaXg/OiBzdHJpbmc7IC8vIFRoZSBwcmVmaXggZm9yIHRoZSB0aW1lY29kZSBidXJuLWluLlxuICByZWFkb25seSBmcmFtZXJhdGVOdW1lcmF0b3I/OiBudW1iZXI7IC8vIFRoZSBudW1lcmF0b3IgZm9yIHRoZSBmcmFtZXJhdGUuXG4gIHJlYWRvbmx5IGZyYW1lcmF0ZURlbm9taW5hdG9yPzogbnVtYmVyOyAvLyBUaGUgZGVub21pbmF0b3IgZm9yIHRoZSBmcmFtZXJhdGUuXG4gIHJlYWRvbmx5IHNjYW5UeXBlPzogJ1BST0dSRVNTSVZFJyB8ICdJTlRFUkxBQ0VEJzsgLy8gVGhlIHNjYW4gdHlwZS5cbiAgcmVhZG9ubHkgd2lkdGg/OiBudW1iZXI7IC8vIFRoZSB3aWR0aCBvZiB0aGUgdmlkZW8uXG4gIHJlYWRvbmx5IGhlaWdodD86IG51bWJlcjsgLy8gVGhlIGhlaWdodCBvZiB0aGUgdmlkZW8uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGl2ZUZlZWRGcm9tRmlsZVByb3BzIHtcbiAgcmVhZG9ubHkgZmlsZTogRmlsZVNwZWM7IC8vIEZpbGUgc3BlY2lmaWNhdGlvblxuICByZWFkb25seSBlbmNvZGVyU3BlYz86IEVuY29kZXJTZXR0aW5nczsgLy8gT3B0aW9uYWwgZW5jb2RlciBzZXR0aW5ncyBmb3IgTWVkaWFMaXZlXG4gIHJlYWRvbmx5IHNvdXJjZT86IExpdmVTb3VyY2VTcGVjOyAvLyBPcHRpb25hbCBsaXZlIHNvdXJjZSBzcGVjaWZpY2F0aW9uXG4gIHJlYWRvbmx5IHZwY0NvbmZpZz86IFZwY0NvbmZpZzsgLy8gU2V0dGluZ3MgZm9yIFZQQy4gUmVxdWlyZWQgd2hlbiB0aGUgc291cmNlIHR5cGUgaXMgVlBDLVNPVVJDRSBhbmQvb3IgVlBDIG91dHB1dHMgd2lsbCBiZSBhZGRlZCB0byB0aGlzIGZsb3cuXG4gIHJlYWRvbmx5IGF1dG9TdGFydD86IGJvb2xlYW47IC8vIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBzdGFydCB0aGUgTWVkaWFMaXZlIGNoYW5uZWwgYW5kIE1lZGlhQ29ubmVjdCBmbG93XG59XG5cbmNvbnN0IHNvdXJjZUluZ2VzdFBvcnQgPSA1MDAwO1xuY29uc3QgZGlzY292ZXJ5U2VydmVyUG9ydCA9IDU5NTk7XG5jb25zdCBWUENfSU5URVJGQUNFX05BTUUgPSAndnBjSW50ZXJmYWNlTmFtZSc7XG5cbmV4cG9ydCBjbGFzcyBMaXZlRmVlZEZyb21GaWxlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGZsb3c6IENmbkZsb3c7XG4gIHB1YmxpYyByZWFkb25seSB2cGM/OiBlYzIuSVZwYztcbiAgcHVibGljIHJlYWRvbmx5IG5kaURpc2NvdmVyeVNlcnZlcj86IGVjMi5JbnN0YW5jZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTGl2ZUZlZWRGcm9tRmlsZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIGZpbGUsXG4gICAgICBlbmNvZGVyU3BlYyA9IHtcbiAgICAgICAgZ29wTGVuZ3RoSW5TZWNvbmRzOiAyLFxuICAgICAgICB0aW1lY29kZUJ1cm5pblByZWZpeDogJ0NoJyxcbiAgICAgICAgZnJhbWVyYXRlTnVtZXJhdG9yOiAzMCxcbiAgICAgICAgZnJhbWVyYXRlRGVub21pbmF0b3I6IDEsXG4gICAgICAgIHNjYW5UeXBlOiAnUFJPR1JFU1NJVkUnLFxuICAgICAgICB3aWR0aDogMTkyMCxcbiAgICAgICAgaGVpZ2h0OiAxMDgwLFxuICAgICAgfSxcbiAgICAgIHNvdXJjZSA9IHtcbiAgICAgICAgcHJvdG9jb2w6ICdTUlQnLFxuICAgICAgICB0eXBlOiAnU1RBTkRBUkQtU09VUkNFJyxcbiAgICAgIH0sXG4gICAgICB2cGNDb25maWcsXG4gICAgICBhdXRvU3RhcnQgPSB0cnVlLFxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IHV1aWQgPSBgJHtjcnlwdG8ucmFuZG9tVVVJRCgpfWA7XG4gICAgY29uc3QgcHJvdG9jb2wgPSAoKCkgPT4ge1xuICAgICAgc3dpdGNoIChzb3VyY2UucHJvdG9jb2wpIHtcbiAgICAgICAgY2FzZSAnUlRQJzpcbiAgICAgICAgICByZXR1cm4gJ3J0cCc7XG4gICAgICAgIGNhc2UgJ1JUUC1GRUMnOlxuICAgICAgICAgIHJldHVybiAncnRwLWZlYyc7XG4gICAgICAgIGNhc2UgJ1NSVCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdzcnQtbGlzdGVuZXInO1xuICAgICAgfVxuICAgIH0pKCk7XG5cbiAgICAvLyBDcmVhdGUgYSBWUENcbiAgICBjb25zdCB2cGMgPSB2cGNDb25maWcgPyBuZXcgZWMyLlZwYyh0aGlzLCAnVlBDJywgdnBjQ29uZmlnLnByb3BzKSA6IHVuZGVmaW5lZDtcbiAgICB2cGMgJiYgdnBjLmFwcGx5UmVtb3ZhbFBvbGljeShjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuICAgIC8vIEFsbG9jYXRlIGFuIEVsYXN0aWMgSVAgZm9yIHRoZSBWUEMgaW50ZXJmYWNlXG4gICAgY29uc3QgZWlwID0gdnBjID8gbmV3IGVjMi5DZm5FSVAodGhpcywgJ0VJUCcsIHtcbiAgICAgIGRvbWFpbjogJ3ZwYycsIC8vIEVuc3VyZSB0aGUgRUlQIGlzIGFsbG9jYXRlZCBpbiB0aGUgVlBDXG4gICAgfSkgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBDcmVhdGUgYSBzZWN1cml0eSBncm91cCB0byBhbGxvdyBwdXNoIGlucHV0XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSAnQWxsb3cgUHVzaCBpbnB1dCBmcm9tIE1lZGlhTGl2ZSc7XG4gICAgY29uc3Qgc2cgPSB2cGMgPyBuZXcgZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgJ1NlY3VyaXR5R3JvdXAnLCB7XG4gICAgICB2cGMsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk6IHVuZGVmaW5lZDtcbiAgICBzZyAmJiBzZy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgc2cgJiYgc2cuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBlYzIuUGVlci5hbnlJcHY0KCksXG4gICAgICBlYzIuUG9ydC51ZHAoc291cmNlSW5nZXN0UG9ydCksXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIGFuIE5ESSBkaXNjb3Zlcnkgc2VydmVyXG4gICAgbGV0IG5kaUNvbmZpZzogQ2ZuRmxvdy5OZGlDb25maWdQcm9wZXJ0eSB8IHVuZGVmaW5lZDtcbiAgICBpZiAodnBjICYmIHZwY0NvbmZpZz8uZW5hYmxlTkRJKSB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IGNyZWF0ZU5kaURpc2NvdmVyeVNlcnZlcih0aGlzLCB2cGMpO1xuICAgICAgbmRpQ29uZmlnID0ge1xuICAgICAgICBuZGlEaXNjb3ZlcnlTZXJ2ZXJzOiBbe1xuICAgICAgICAgIGRpc2NvdmVyeVNlcnZlckFkZHJlc3M6IGluc3RhbmNlLmluc3RhbmNlUHJpdmF0ZUlwLCAvLyBVc2UgdGhlIHByaXZhdGUgSVAgb2YgdGhlIE5ESSBEaXNjb3ZlcnkgU2VydmVyXG4gICAgICAgICAgdnBjSW50ZXJmYWNlQWRhcHRlcjogVlBDX0lOVEVSRkFDRV9OQU1FLFxuICAgICAgICAgIGRpc2NvdmVyeVNlcnZlclBvcnQsXG4gICAgICAgIH1dLFxuICAgICAgICBuZGlTdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgfTtcbiAgICAgIHNnICYmIHNnLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgICBlYzIuUGVlci5hbnlJcHY0KCksXG4gICAgICAgIGVjMi5Qb3J0LnRjcFJhbmdlKDU5NjEsIDY1NTM1KSxcbiAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICApO1xuICAgICAgdGhpcy5uZGlEaXNjb3ZlcnlTZXJ2ZXIgPSBpbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBzZWNyZXRcbiAgICBjb25zdCByYW5kb21zdHJpbmcgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgtOCk7XG4gICAgY29uc3Qgc291cmNlUGFzc3dvcmQgPSBuZXcgYXNtLlNlY3JldCh0aGlzLCAnU291cmNlUGFzc3dvcmQnLCB7XG4gICAgICBzZWNyZXROYW1lOiBgc2VjcmV0LSR7dXVpZH1gLFxuICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHsgcGFzc3dvcmQ6IHJhbmRvbXN0cmluZyB9KSxcbiAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6ICdwYXNzd29yZCcsXG4gICAgICAgIGV4Y2x1ZGVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGFuIElBTSByb2xlIGZvciBNZWRpYUNvbm5lY3QgdG8gYWNjZXNzIHRoZSBWUENcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdNZWRpYUNvbm5lY3RSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ21lZGlhY29ubmVjdC5hbWF6b25hd3MuY29tJyksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBwb2xpY3k6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbc291cmNlUGFzc3dvcmQuc2VjcmV0QXJuXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpHZXRSZXNvdXJjZVBvbGljeScsXG4gICAgICAgICAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlJyxcbiAgICAgICAgICAgICAgICAnc2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXQnLFxuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpMaXN0U2VjcmV0VmVyc2lvbklkcycsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBbWF6b25WUENGdWxsQWNjZXNzJyksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGEgTWVkaWFDb25uZWN0IGZsb3dcbiAgICBjb25zdCBmbG93ID0gbmV3IENmbkZsb3codGhpcywgJ015Q2ZuRmxvdycsIHtcbiAgICAgIG5hbWU6IGBsY3AtZGVtby0ke3V1aWR9YCxcbiAgICAgIHNvdXJjZToge1xuICAgICAgICBuYW1lOiBgbGNwLWRlbW8tc291cmNlLSR7dXVpZH1gLFxuICAgICAgICBwcm90b2NvbCxcbiAgICAgICAgLy8gbWF4TGF0ZW5jeTogMjAwMCxcbiAgICAgICAgLy8gbWluTGF0ZW5jeTogMTAwMCxcbiAgICAgICAgLy8gdnBjSW50ZXJmYWNlTmFtZTogVlBDX0lOVEVSRkFDRV9OQU1FLFxuICAgICAgICB3aGl0ZWxpc3RDaWRyOiBzb3VyY2UudHlwZSA9PT0gJ1NUQU5EQVJELVNPVVJDRScgPyAnMC4wLjAuMC8wJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVjcnlwdGlvbjoge1xuICAgICAgICAgIC8vIGFsZ29yaXRobTogJ2FlczEyOCcsXG4gICAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICAgIHNlY3JldEFybjogc291cmNlUGFzc3dvcmQuc2VjcmV0QXJuLFxuICAgICAgICB9LFxuICAgICAgICAvLyBzb3VyY2VJbmdlc3RQb3J0OiBgJHtzb3VyY2VJbmdlc3RQb3J0fWAsXG4gICAgICAgIHZwY0ludGVyZmFjZU5hbWU6IHNvdXJjZS50eXBlID09PSAnVlBDLVNPVVJDRScgPyBWUENfSU5URVJGQUNFX05BTUUgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogdnBjQ29uZmlnPy5hdmFpbGFiaWxpdHlab25lID8/IHZwYz8uYXZhaWxhYmlsaXR5Wm9uZXNbMF0sXG4gICAgICBmbG93U2l6ZTogdnBjQ29uZmlnPy5lbmFibGVOREkgPyAnTEFSR0UnIDogJ01FRElVTScsXG4gICAgICBuZGlDb25maWcsXG4gICAgICBzb3VyY2VNb25pdG9yaW5nQ29uZmlnOiB7XG4gICAgICAgIHRodW1ibmFpbFN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgIGNvbnRlbnRRdWFsaXR5QW5hbHlzaXNTdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgfSxcbiAgICAgIHZwY0ludGVyZmFjZXM6IHZwYyA/IFt7XG4gICAgICAgIG5hbWU6IFZQQ19JTlRFUkZBQ0VfTkFNRSxcbiAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBbc2chLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgICAgIHN1Ym5ldElkOiB2cGNDb25maWc/LnN1Ym5ldElkID8/IHZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZCxcbiAgICAgIH1dIDogW10sXG4gICAgfSk7XG4gICAgZmxvdy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAvLyBTdGFydCB0aGUgTWVkaWFDb25uZWN0IEZsb3dcbiAgICBhdXRvU3RhcnQgJiYgc3RhcnRGbG93KHRoaXMsICdTdGFydE1lZGlhQ29ubmVjdEZsb3cnLCBmbG93LmF0dHJGbG93QXJuKTtcblxuICAgIC8vIENyZWF0ZSBNZWRpYUxpdmUgY2hhbm5lbFxuICAgIGNvbnN0IGVtbCA9IG5ldyBNZWRpYUxpdmUodGhpcywgJ01lZGlhTGl2ZScsIHtcbiAgICAgIHNvdXJjZXM6IFt7IHVybDogZmlsZS51cmwucmVwbGFjZSgnczM6Ly8nLCAnczNzc2w6Ly8nKSwgdHlwZTogZmlsZS50eXBlID8/ICdNUDRfRklMRScgfV0sXG4gICAgICBkZXN0aW5hdGlvbnM6IFt7XG4gICAgICAgIGlkOiAnU1JUJyxcbiAgICAgICAgc3J0U2V0dGluZ3M6IFt7XG4gICAgICAgICAgdXJsOiBgc3J0Oi8vJHtmbG93LmF0dHJTb3VyY2VJbmdlc3RJcH06JHtmbG93LmF0dHJTb3VyY2VTb3VyY2VJbmdlc3RQb3J0fWAsIC8vIFVzZSB0aGUgTWVkaWFDb25uZWN0IEZsb3cgVVJMXG4gICAgICAgICAgZW5jcnlwdGlvblBhc3NwaHJhc2VTZWNyZXRBcm46IHNvdXJjZVBhc3N3b3JkLnNlY3JldEFybixcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICAgIGNoYW5uZWxDbGFzczogJ1NJTkdMRV9QSVBFTElORScsXG4gICAgICBlbmNvZGVyU3BlYzoge1xuICAgICAgICBvdXRwdXRHcm91cFNldHRpbmdzTGlzdDogW3tcbiAgICAgICAgICBzcnRHcm91cFNldHRpbmdzOiB7XG4gICAgICAgICAgICBpbnB1dExvc3NBY3Rpb246ICdEUk9QX1RTJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9XSxcbiAgICAgICAgb3V0cHV0U2V0dGluZ3NMaXN0OiBbe1xuICAgICAgICAgIC8vIEFkZCB2YWxpZCBPdXRwdXRTZXR0aW5nc1Byb3BlcnR5IGZpZWxkcyBoZXJlIGlmIG5lZWRlZFxuICAgICAgICAgIHNydE91dHB1dFNldHRpbmdzOiB7XG4gICAgICAgICAgICBsYXRlbmN5OiAyMDAwLCAvLyBMYXRlbmN5IGluIG1pbGxpc2Vjb25kc1xuICAgICAgICAgICAgZGVzdGluYXRpb246IHtcbiAgICAgICAgICAgICAgZGVzdGluYXRpb25SZWZJZDogJ1NSVCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5jcnlwdGlvblR5cGU6ICdBRVMxMjgnLCAvLyBFbmNyeXB0aW9uIHR5cGVcbiAgICAgICAgICAgIGNvbnRhaW5lclNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIG0yVHNTZXR0aW5nczoge30sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH1dLFxuICAgICAgICBnb3BMZW5ndGhJblNlY29uZHM6IGVuY29kZXJTcGVjLmdvcExlbmd0aEluU2Vjb25kcyA/PyAyLFxuICAgICAgICB0aW1lY29kZUJ1cm5pblByZWZpeDogZW5jb2RlclNwZWMudGltZWNvZGVCdXJuaW5QcmVmaXgsXG4gICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogZW5jb2RlclNwZWMuZnJhbWVyYXRlTnVtZXJhdG9yLFxuICAgICAgICBmcmFtZXJhdGVEZW5vbWluYXRvcjogZW5jb2RlclNwZWMuZnJhbWVyYXRlRGVub21pbmF0b3IsXG4gICAgICAgIHNjYW5UeXBlOiBlbmNvZGVyU3BlYy5zY2FuVHlwZSxcbiAgICAgICAgd2lkdGg6IGVuY29kZXJTcGVjLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IGVuY29kZXJTcGVjLmhlaWdodCxcbiAgICAgIH0sXG4gICAgICB2cGM6IHNvdXJjZS50eXBlID09PSAnVlBDLVNPVVJDRScgJiYgdnBjID8ge1xuICAgICAgICBwdWJsaWNBZGRyZXNzQWxsb2NhdGlvbklkczogW2VpcCEuYXR0ckFsbG9jYXRpb25JZF0sXG4gICAgICAgIHN1Ym5ldElkczogW3ZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZF0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IFtzZyEuc2VjdXJpdHlHcm91cElkXSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgICBzZWNyZXQ6IHNvdXJjZVBhc3N3b3JkLFxuICAgIH0pO1xuXG4gICAgLy8gU3RhcnQgdGhlIE1lZGlhTGl2ZSBjaGFubmVsXG4gICAgYXV0b1N0YXJ0ICYmIHN0YXJ0Q2hhbm5lbCh0aGlzLCAnU3RhcnRNZWRpYUxpdmVDaGFubmVsJywgZW1sLmNoYW5uZWwucmVmKTtcblxuICAgIHRoaXMuZmxvdyA9IGZsb3c7XG4gICAgdGhpcy52cGMgPSB2cGM7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlTmRpRGlzY292ZXJ5U2VydmVyKHNjb3BlOiBDb25zdHJ1Y3QsIHZwYzogZWMyLklWcGMpOiBlYzIuSW5zdGFuY2Uge1xuICBjb25zdCBkZXNjcmlwdGlvbiA9ICdBbGxvdyBOREkgRGlzY292ZXJ5IFNlcnZpY2UnO1xuICBjb25zdCBzZyA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cChzY29wZSwgJ05ESVNlY3VyaXR5R3JvdXAnLCB7XG4gICAgdnBjLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gIH0pO1xuICBzZy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gIHNnLmFkZEluZ3Jlc3NSdWxlKFxuICAgIGVjMi5QZWVyLmFueUlwdjQoKSxcbiAgICBlYzIuUG9ydC50Y3AoZGlzY292ZXJ5U2VydmVyUG9ydCksXG4gICAgZGVzY3JpcHRpb24sXG4gICk7XG4gIGNvbnN0IGluc3RhbmNlID0gbmV3IGVjMi5JbnN0YW5jZShzY29wZSwgJ0luc3RhbmNlJywge1xuICAgIHZwYyxcbiAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFMywgZWMyLkluc3RhbmNlU2l6ZS5NSUNSTyksXG4gICAgbWFjaGluZUltYWdlOiBlYzIuTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4MjAyMygpLFxuICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyB9LFxuICAgIHNlY3VyaXR5R3JvdXA6IHNnLFxuICB9KTtcbiAgaW5zdGFuY2UuYXBwbHlSZW1vdmFsUG9saWN5KGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAvLyBHZXQgdGhlIENsb3VkRm9ybWF0aW9uIGxvZ2ljYWwgSUQgZm9yIHRoZSBpbnN0YW5jZVxuICBjb25zdCBjZm5JbnN0YW5jZSA9IGluc3RhbmNlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGNkay5DZm5SZXNvdXJjZTtcbiAgY29uc3QgbG9naWNhbElkID0gY2ZuSW5zdGFuY2UubG9naWNhbElkO1xuICBpbnN0YW5jZS5hcHBseUNsb3VkRm9ybWF0aW9uSW5pdChlYzIuQ2xvdWRGb3JtYXRpb25Jbml0LmZyb21Db25maWdTZXRzKHtcbiAgICBjb25maWdTZXRzOiB7XG4gICAgICAvLyBBcHBsaWVzIHRoZSBjb25maWdzIGJlbG93IGluIHRoaXMgb3JkZXJcbiAgICAgIGRlZmF1bHQ6IFsnY29uZmlnSW5zdGFuY2UnLCAnZmluYWxpemUnXSxcbiAgICB9LFxuICAgIGNvbmZpZ3M6IHtcbiAgICAgIGNvbmZpZ0luc3RhbmNlOiBuZXcgZWMyLkluaXRDb25maWcoW1xuICAgICAgICAvLyBOREkgRGlzY292ZXJ5IFNlcnZpY2Ugc2NyaXB0XG4gICAgICAgIGVjMi5Jbml0RmlsZS5mcm9tU3RyaW5nKFxuICAgICAgICAgICcvZXRjL3N5c3RlbWQvbmRpLWRpc2NvdmVyeS5zZXJ2aWNlJyxcbiAgICAgICAgICBgW1VuaXRdXG4gICAgICAgICAgRGVzY3JpcHRpb249TkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgICAgXG4gICAgICAgICAgW1NlcnZpY2VdXG4gICAgICAgICAgRXhlY1N0YXJ0UHJlPS9iaW4vc2xlZXAgMzBcbiAgICAgICAgICBVc2VyPWVjMi11c2VyXG4gICAgICAgICAgV29ya2luZ0RpcmVjdG9yeT0vaG9tZS9lYzItdXNlci9iaW4veDg2XzY0LWxpbnV4LWdudVxuICAgICAgICAgIEV4ZWNTdGFydD0vaG9tZS9lYzItdXNlci9iaW4veDg2XzY0LWxpbnV4LWdudS9uZGktZGlzY292ZXJ5LXNlcnZlclxuICAgICAgICAgIFJlc3RhcnQ9YWx3YXlzXG5cbiAgICAgICAgICBbSW5zdGFsbF1cbiAgICAgICAgICBXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldFxuICAgICAgICBgKSxcbiAgICAgICAgLy8gTkRJIERpc2NvdmVyeSBTZXJ2ZXIgSW5zdGFsbGF0aW9uIHNjcmlwdFxuICAgICAgICBlYzIuSW5pdEZpbGUuZnJvbVN0cmluZyhcbiAgICAgICAgICAnL3RtcC9pbnN0YWxsLW5kaS1kaXNjb3Zlcnkuc2gnLFxuICAgICAgICAgIGAjIS9iaW4vYmFzaCAteGVcbiAgICAgICAgICBjZCAvaG9tZS9lYzItdXNlclxuXG4gICAgICAgICAgI0luc3RhbGwgdXBkYXRlc1xuICAgICAgICAgIHl1bSB1cGRhdGUgLXlcblxuICAgICAgICAgICNEb3dubG9hZCB0aGUgTkRJIExpbnV4IFNESyBhbmQgZXh0cmFjdCBpdCBhbmQgcnVuIHRoZSBpbnN0YWxsIHNjcmlwdFxuICAgICAgICAgIHdnZXQgaHR0cHM6Ly9kb3dubG9hZHMubmRpLnR2L1NESy9ORElfU0RLX0xpbnV4L0luc3RhbGxfTkRJX1NES192Nl9MaW51eC50YXIuZ3pcbiAgICAgICAgICB0YXIgLXh6ZiBJbnN0YWxsX05ESV9TREtfdjZfTGludXgudGFyLmd6XG4gICAgICAgICAgeWVzIHwgc3VkbyAuL0luc3RhbGxfTkRJX1NES192Nl9MaW51eC5zaFxuXG4gICAgICAgICAgI0NsZWFuIHVwIGFuZCBwcmVwYXJlIGRpcmVjdG9yaWVzXG4gICAgICAgICAgcm0gLWYgSW5zdGFsbF9ORElfU0RLX3Y2X0xpbnV4LnRhci5nelxuICAgICAgICAgIHJtIC1mIEluc3RhbGxfTkRJX1NES192Nl9MaW51eC5zaFxuICAgICAgICAgIGNwIC1yICdOREkgU0RLIGZvciBMaW51eCcvKiAuL1xuICAgICAgICAgIHJtIC1yICdOREkgU0RLIGZvciBMaW51eCcvXG4gICAgICAgIGApLFxuICAgICAgICAvLyBJbnN0YWxsIHRoZSBOREkgRGlzY292ZXJ5IFNlcnZpY2VcbiAgICAgICAgZWMyLkluaXRDb21tYW5kLnNoZWxsQ29tbWFuZCgnc3VkbyBiYXNoIC90bXAvaW5zdGFsbC1uZGktZGlzY292ZXJ5LnNoJyksXG4gICAgICAgIC8vIFJ1biB0aGUgTkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgIGVjMi5Jbml0Q29tbWFuZC5zaGVsbENvbW1hbmQoJ3N1ZG8gc3lzdGVtY3RsIGVuYWJsZSAvZXRjL3N5c3RlbWQvbmRpLWRpc2NvdmVyeS5zZXJ2aWNlJyksXG4gICAgICBdKSxcbiAgICAgIGZpbmFsaXplOiBuZXcgZWMyLkluaXRDb25maWcoW1xuICAgICAgICAvLyBTdGFydCB0aGUgTkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgIGVjMi5Jbml0Q29tbWFuZC5zaGVsbENvbW1hbmQoXG4gICAgICAgICAgY2RrLkZuLnN1YignL29wdC9hd3MvYmluL2Nmbi1zaWduYWwgLWUgJD8gLS1zdGFjayAke1N0YWNrTmFtZX0gLS1yZXNvdXJjZSAke1Jlc291cmNlfSAtLXJlZ2lvbiAke1JlZ2lvbn0nLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBTdGFja05hbWU6IGNkay5Bd3MuU1RBQ0tfTkFNRSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IGxvZ2ljYWxJZCxcbiAgICAgICAgICAgICAgUmVnaW9uOiBjZGsuQXdzLlJFR0lPTixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgfSxcbiAgfSkpO1xuICBpbnN0YW5jZS5hZGRVc2VyRGF0YShjZGsuRm4uc3ViKGBcbiAgICAjIS9iaW4vYmFzaCAteGVcbiAgICB5dW0gaW5zdGFsbCAteSBhd3MtY2ZuLWJvb3RzdHJhcFxuICAgIHN1ZG8gL29wdC9hd3MvYmluL2Nmbi1pbml0IC0tY29uZmlnc2V0cyBkZWZhdWx0IC12IC0tc3RhY2sgXFwke1N0YWNrTmFtZX0gLS1yZXNvdXJjZSBcXCR7UmVzb3VyY2V9IC0tcmVnaW9uIFxcJHtSZWdpb259XG4gICAgc3VkbyByZWJvb3RcbiAgYCwge1xuICAgIFN0YWNrTmFtZTogY2RrLkF3cy5TVEFDS19OQU1FLFxuICAgIFJlc291cmNlOiBsb2dpY2FsSWQsXG4gICAgUmVnaW9uOiBjZGsuQXdzLlJFR0lPTixcbiAgfSkpO1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydEZsb3coc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZmxvd0Fybjogc3RyaW5nKTogRGF0ZSB7XG4gIC8vIFN0YXJ0IGNoYW5uZWxcbiAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHNjb3BlLCBpZCwge1xuICAgIG9uQ3JlYXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnTWVkaWFDb25uZWN0JyxcbiAgICAgIGFjdGlvbjogJ1N0YXJ0RmxvdycsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIEZsb3dBcm46IGZsb3dBcm4sXG4gICAgICB9LFxuICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBQaHlzaWNhbFJlc291cmNlSWQub2YoYCR7Y3J5cHRvLnJhbmRvbVVVSUQoKX1gKSxcbiAgICAgIC8vIGlnbm9yZUVycm9yQ29kZXNNYXRjaGluZzogJyonLFxuICAgICAgb3V0cHV0UGF0aHM6IFsnRmxvd0FybicsICdTdGF0dXMnXSxcbiAgICB9LFxuICAgIG9uRGVsZXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnTWVkaWFDb25uZWN0JyxcbiAgICAgIGFjdGlvbjogJ1N0b3BGbG93JyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRmxvd0FybjogZmxvd0FybixcbiAgICAgIH0sXG4gICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihgJHtjcnlwdG8ucmFuZG9tVVVJRCgpfWApLFxuICAgICAgLy8gaWdub3JlRXJyb3JDb2Rlc01hdGNoaW5nOiAnKicsXG4gICAgICBvdXRwdXRQYXRoczogWydGbG93QXJuJywgJ1N0YXR1cyddLFxuICAgIH0sXG4gICAgLy9XaWxsIGlnbm9yZSBhbnkgcmVzb3VyY2UgYW5kIHVzZSB0aGUgYXNzdW1lZFJvbGVBcm4gYXMgcmVzb3VyY2UgYW5kICdzdHM6QXNzdW1lUm9sZScgZm9yIHNlcnZpY2U6YWN0aW9uXG4gICAgcG9saWN5OiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoe1xuICAgICAgcmVzb3VyY2VzOiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5BTllfUkVTT1VSQ0UsXG4gICAgfSksXG4gIH0pO1xuICByZXR1cm4gbmV3IERhdGUoKTtcbn1cbiJdfQ==
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGl2ZUZlZWRGcm9tRmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9MaXZlRmVlZEZyb21GaWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUF5V0EsOEJBNkJDOztBQXRZRCxpQ0FBaUM7QUFDakMsbUNBQW1DO0FBQ25DLDJDQUEyQztBQUMzQywyQ0FBMkM7QUFDM0MsbUVBQXVEO0FBQ3ZELHNEQUFzRDtBQUN0RCxtRUFBOEc7QUFDOUcsMkZBQTZFO0FBQzdFLDJDQUF1QztBQXFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDOUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFDakMsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztBQUU5QyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBSzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQ0osSUFBSSxFQUNKLFdBQVcsR0FBRztZQUNaLGtCQUFrQixFQUFFLENBQUM7WUFDckIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLG9CQUFvQixFQUFFLENBQUM7WUFDdkIsUUFBUSxFQUFFLGFBQWE7WUFDdkIsS0FBSyxFQUFFLElBQUk7WUFDWCxNQUFNLEVBQUUsSUFBSTtTQUNiLEVBQ0QsTUFBTSxHQUFHO1lBQ1AsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsaUJBQWlCO1NBQ3hCLEVBQ0QsU0FBUyxFQUNULFNBQVMsR0FBRyxJQUFJLEdBQ2pCLEdBQUcsS0FBSyxDQUFDO1FBRVYsbUZBQW1GO1FBQ25GLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDMUUsQ0FB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QUNqQjtZQUNELGtCQUFrQixFQUFFLHFDQUFrQixDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ25FLGlDQUFpQztZQUNqQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDO1NBQ25DO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsT0FBTyxFQUFFLGNBQWM7WUFDdkIsTUFBTSxFQUFFLFVBQVU7WUFDbEIsVUFBVSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxPQUFPO2FBQ2pCO1lBQ0Qsa0JBQWtCLEVBQUUscUNBQWtCLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDbkUsaUNBQWlDO1lBQ2pDLFdBQVcsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUM7U0FDbkM7UUFDRCx5R0FBeUc7UUFDekcsTUFBTSxFQUFFLDBDQUF1QixDQUFDLFlBQVksQ0FBQztZQUMzQyxTQUFTLEVBQUUsMENBQXVCLENBQUMsWUFBWTtTQUNoRCxDQUFDO0tBQ0gsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBDZm5GbG93IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgKiBhcyBhc20gZnJvbSAnYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyJztcbmltcG9ydCB7IEF3c0N1c3RvbVJlc291cmNlLCBBd3NDdXN0b21SZXNvdXJjZVBvbGljeSwgUGh5c2ljYWxSZXNvdXJjZUlkIH0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgeyBNZWRpYUxpdmUsIHN0YXJ0Q2hhbm5lbCB9IGZyb20gJ2F3c2Nkay1jb25zdHJ1Y3QtbWVkaWFsaXZlLWNoYW5uZWwnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZVNwZWMge1xuICByZWFkb25seSB0eXBlPzogJ01QNF9GSUxFJyB8ICdUU19GSUxFJzsgLy8gVHlwZSBvZiB0aGUgaW5wdXQgZmlsZVxuICByZWFkb25seSB1cmw6IHN0cmluZzsgLy8gUzMgVVJMIG9mIHRoZSBpbnB1dCBmaWxlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGl2ZVNvdXJjZVNwZWMge1xuICByZWFkb25seSBwcm90b2NvbDogJ1JUUCcgfCAnUlRQLUZFQycgfCAnU1JUJzsgLy8gUHJvdG9jb2wgb2YgdGhlIGxpdmUgc291cmNlXG4gIHJlYWRvbmx5IHR5cGU6ICdTVEFOREFSRC1TT1VSQ0UnIHwgJ1ZQQy1TT1VSQ0UnOyAvLyBUeXBlIG9mIHRoZSBsaXZlIHNvdXJjZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZwY0NvbmZpZyB7XG4gIHJlYWRvbmx5IHByb3BzOiBlYzIuVnBjUHJvcHM7XG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN1Ym5ldElkPzogc3RyaW5nO1xuICByZWFkb25seSBlbmFibGVOREk/OiBib29sZWFuOyAvLyBTZXR0aW5ncyBmb3IgTkRJIG91dHB1dFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVuY29kZXJTZXR0aW5ncyB7XG4gIHJlYWRvbmx5IGdvcExlbmd0aEluU2Vjb25kcz86IG51bWJlcjsgLy8gVGhlIGxlbmd0aCBvZiB0aGUgR09QIGluIHNlY29uZHMuXG4gIHJlYWRvbmx5IHRpbWVjb2RlQnVybmluUHJlZml4Pzogc3RyaW5nOyAvLyBUaGUgcHJlZml4IGZvciB0aGUgdGltZWNvZGUgYnVybi1pbi5cbiAgcmVhZG9ubHkgZnJhbWVyYXRlTnVtZXJhdG9yPzogbnVtYmVyOyAvLyBUaGUgbnVtZXJhdG9yIGZvciB0aGUgZnJhbWVyYXRlLlxuICByZWFkb25seSBmcmFtZXJhdGVEZW5vbWluYXRvcj86IG51bWJlcjsgLy8gVGhlIGRlbm9taW5hdG9yIGZvciB0aGUgZnJhbWVyYXRlLlxuICByZWFkb25seSBzY2FuVHlwZT86ICdQUk9HUkVTU0lWRScgfCAnSU5URVJMQUNFRCc7IC8vIFRoZSBzY2FuIHR5cGUuXG4gIHJlYWRvbmx5IHdpZHRoPzogbnVtYmVyOyAvLyBUaGUgd2lkdGggb2YgdGhlIHZpZGVvLlxuICByZWFkb25seSBoZWlnaHQ/OiBudW1iZXI7IC8vIFRoZSBoZWlnaHQgb2YgdGhlIHZpZGVvLlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpdmVGZWVkRnJvbUZpbGVQcm9wcyB7XG4gIHJlYWRvbmx5IGZpbGU6IEZpbGVTcGVjOyAvLyBGaWxlIHNwZWNpZmljYXRpb25cbiAgcmVhZG9ubHkgZW5jb2RlclNwZWM/OiBFbmNvZGVyU2V0dGluZ3M7IC8vIE9wdGlvbmFsIGVuY29kZXIgc2V0dGluZ3MgZm9yIE1lZGlhTGl2ZVxuICByZWFkb25seSBzb3VyY2U/OiBMaXZlU291cmNlU3BlYzsgLy8gT3B0aW9uYWwgbGl2ZSBzb3VyY2Ugc3BlY2lmaWNhdGlvblxuICByZWFkb25seSB2cGNDb25maWc/OiBWcGNDb25maWc7IC8vIFNldHRpbmdzIGZvciBWUEMuIFJlcXVpcmVkIHdoZW4gdGhlIHNvdXJjZSB0eXBlIGlzIFZQQy1TT1VSQ0UgYW5kL29yIFZQQyBvdXRwdXRzIHdpbGwgYmUgYWRkZWQgdG8gdGhpcyBmbG93LlxuICByZWFkb25seSBhdXRvU3RhcnQ/OiBib29sZWFuOyAvLyBXaGV0aGVyIHRvIGF1dG9tYXRpY2FsbHkgc3RhcnQgdGhlIE1lZGlhTGl2ZSBjaGFubmVsIGFuZCBNZWRpYUNvbm5lY3QgZmxvd1xufVxuXG5jb25zdCBzb3VyY2VJbmdlc3RQb3J0ID0gNTAwMDtcbmNvbnN0IGRpc2NvdmVyeVNlcnZlclBvcnQgPSA1OTU5O1xuY29uc3QgVlBDX0lOVEVSRkFDRV9OQU1FID0gJ3ZwY0ludGVyZmFjZU5hbWUnO1xuXG5leHBvcnQgY2xhc3MgTGl2ZUZlZWRGcm9tRmlsZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBmbG93OiBDZm5GbG93O1xuICBwdWJsaWMgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG4gIHB1YmxpYyByZWFkb25seSBuZGlEaXNjb3ZlcnlTZXJ2ZXI/OiBlYzIuSW5zdGFuY2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IExpdmVGZWVkRnJvbUZpbGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7XG4gICAgICBmaWxlLFxuICAgICAgZW5jb2RlclNwZWMgPSB7XG4gICAgICAgIGdvcExlbmd0aEluU2Vjb25kczogMixcbiAgICAgICAgdGltZWNvZGVCdXJuaW5QcmVmaXg6ICdDaCcsXG4gICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogMzAsXG4gICAgICAgIGZyYW1lcmF0ZURlbm9taW5hdG9yOiAxLFxuICAgICAgICBzY2FuVHlwZTogJ1BST0dSRVNTSVZFJyxcbiAgICAgICAgd2lkdGg6IDE5MjAsXG4gICAgICAgIGhlaWdodDogMTA4MCxcbiAgICAgIH0sXG4gICAgICBzb3VyY2UgPSB7XG4gICAgICAgIHByb3RvY29sOiAnU1JUJyxcbiAgICAgICAgdHlwZTogJ1NUQU5EQVJELVNPVVJDRScsXG4gICAgICB9LFxuICAgICAgdnBjQ29uZmlnLFxuICAgICAgYXV0b1N0YXJ0ID0gdHJ1ZSxcbiAgICB9ID0gcHJvcHM7XG5cbiAgICAvLyBUaHJvdyBleGNlcHRpb24gaWYgdnBjQ29uZmlnIGlzIG5vdCBzcGVjaWZpZWQgd2hlbiB0aGUgc291cmNlIHR5cGUgaXMgVlBDLVNPVVJDRVxuICAgIGlmIChzb3VyY2UudHlwZSA9PT0gJ1ZQQy1TT1VSQ0UnICYmICF2cGNDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVnBjQ29uZmlnIGlzIHJlcXVpcmVkIHdoZW4gc291cmNlIHR5cGUgaXMgVlBDLVNPVVJDRScpO1xuICAgIH1cblxuICAgIGNvbnN0IHV1aWQgPSBgJHtjcnlwdG8ucmFuZG9tVVVJRCgpfWA7XG4gICAgY29uc3QgcHJvdG9jb2wgPSAoKCkgPT4ge1xuICAgICAgc3dpdGNoIChzb3VyY2UucHJvdG9jb2wpIHtcbiAgICAgICAgY2FzZSAnUlRQJzpcbiAgICAgICAgICByZXR1cm4gJ3J0cCc7XG4gICAgICAgIGNhc2UgJ1JUUC1GRUMnOlxuICAgICAgICAgIHJldHVybiAncnRwLWZlYyc7XG4gICAgICAgIGNhc2UgJ1NSVCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdzcnQtbGlzdGVuZXInO1xuICAgICAgfVxuICAgIH0pKCk7XG5cbiAgICAvLyBDcmVhdGUgYSBWUENcbiAgICBjb25zdCB2cGMgPSB2cGNDb25maWcgPyBuZXcgZWMyLlZwYyh0aGlzLCAnVlBDJywgdnBjQ29uZmlnLnByb3BzKSA6IHVuZGVmaW5lZDtcbiAgICB2cGMgJiYgdnBjLmFwcGx5UmVtb3ZhbFBvbGljeShjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZKTtcblxuICAgIC8vIEFsbG9jYXRlIGFuIEVsYXN0aWMgSVAgZm9yIHRoZSBWUEMgaW50ZXJmYWNlXG4gICAgY29uc3QgZWlwID0gdnBjID8gbmV3IGVjMi5DZm5FSVAodGhpcywgJ0VJUCcsIHtcbiAgICAgIGRvbWFpbjogJ3ZwYycsIC8vIEVuc3VyZSB0aGUgRUlQIGlzIGFsbG9jYXRlZCBpbiB0aGUgVlBDXG4gICAgfSkgOiB1bmRlZmluZWQ7XG5cbiAgICAvLyBDcmVhdGUgYSBzZWN1cml0eSBncm91cCB0byBhbGxvdyBwdXNoIGlucHV0XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSAnQWxsb3cgUHVzaCBpbnB1dCBmcm9tIE1lZGlhTGl2ZSc7XG4gICAgY29uc3Qgc2cgPSB2cGMgPyBuZXcgZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgJ1NlY3VyaXR5R3JvdXAnLCB7XG4gICAgICB2cGMsXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk6IHVuZGVmaW5lZDtcbiAgICBzZyAmJiBzZy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gICAgc2cgJiYgc2cuYWRkSW5ncmVzc1J1bGUoXG4gICAgICBlYzIuUGVlci5hbnlJcHY0KCksXG4gICAgICBlYzIuUG9ydC51ZHAoc291cmNlSW5nZXN0UG9ydCksXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIGFuIE5ESSBkaXNjb3Zlcnkgc2VydmVyXG4gICAgbGV0IG5kaUNvbmZpZzogQ2ZuRmxvdy5OZGlDb25maWdQcm9wZXJ0eSB8IHVuZGVmaW5lZDtcbiAgICBpZiAodnBjICYmIHZwY0NvbmZpZz8uZW5hYmxlTkRJKSB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IGNyZWF0ZU5kaURpc2NvdmVyeVNlcnZlcih0aGlzLCB2cGMpO1xuICAgICAgbmRpQ29uZmlnID0ge1xuICAgICAgICBuZGlEaXNjb3ZlcnlTZXJ2ZXJzOiBbe1xuICAgICAgICAgIGRpc2NvdmVyeVNlcnZlckFkZHJlc3M6IGluc3RhbmNlLmluc3RhbmNlUHJpdmF0ZUlwLCAvLyBVc2UgdGhlIHByaXZhdGUgSVAgb2YgdGhlIE5ESSBEaXNjb3ZlcnkgU2VydmVyXG4gICAgICAgICAgdnBjSW50ZXJmYWNlQWRhcHRlcjogVlBDX0lOVEVSRkFDRV9OQU1FLFxuICAgICAgICAgIGRpc2NvdmVyeVNlcnZlclBvcnQsXG4gICAgICAgIH1dLFxuICAgICAgICBuZGlTdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgfTtcbiAgICAgIHNnICYmIHNnLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgICBlYzIuUGVlci5hbnlJcHY0KCksXG4gICAgICAgIGVjMi5Qb3J0LnRjcFJhbmdlKDU5NjEsIDY1NTM1KSxcbiAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICApO1xuICAgICAgdGhpcy5uZGlEaXNjb3ZlcnlTZXJ2ZXIgPSBpbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgYSBzZWNyZXRcbiAgICBjb25zdCByYW5kb21zdHJpbmcgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgtOCk7XG4gICAgY29uc3Qgc291cmNlUGFzc3dvcmQgPSBuZXcgYXNtLlNlY3JldCh0aGlzLCAnU291cmNlUGFzc3dvcmQnLCB7XG4gICAgICBzZWNyZXROYW1lOiBgc2VjcmV0LSR7dXVpZH1gLFxuICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHsgcGFzc3dvcmQ6IHJhbmRvbXN0cmluZyB9KSxcbiAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6ICdwYXNzd29yZCcsXG4gICAgICAgIGV4Y2x1ZGVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGFuIElBTSByb2xlIGZvciBNZWRpYUNvbm5lY3QgdG8gYWNjZXNzIHRoZSBWUENcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdNZWRpYUNvbm5lY3RSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ21lZGlhY29ubmVjdC5hbWF6b25hd3MuY29tJyksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBwb2xpY3k6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbc291cmNlUGFzc3dvcmQuc2VjcmV0QXJuXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpHZXRSZXNvdXJjZVBvbGljeScsXG4gICAgICAgICAgICAgICAgJ3NlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlJyxcbiAgICAgICAgICAgICAgICAnc2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXQnLFxuICAgICAgICAgICAgICAgICdzZWNyZXRzbWFuYWdlcjpMaXN0U2VjcmV0VmVyc2lvbklkcycsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBbWF6b25WUENGdWxsQWNjZXNzJyksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIGEgTWVkaWFDb25uZWN0IGZsb3dcbiAgICBjb25zdCBmbG93ID0gbmV3IENmbkZsb3codGhpcywgJ015Q2ZuRmxvdycsIHtcbiAgICAgIG5hbWU6IGBsY3AtZGVtby0ke3V1aWR9YCxcbiAgICAgIHNvdXJjZToge1xuICAgICAgICBuYW1lOiBgbGNwLWRlbW8tc291cmNlLSR7dXVpZH1gLFxuICAgICAgICBwcm90b2NvbCxcbiAgICAgICAgLy8gbWF4TGF0ZW5jeTogMjAwMCxcbiAgICAgICAgLy8gbWluTGF0ZW5jeTogMTAwMCxcbiAgICAgICAgLy8gdnBjSW50ZXJmYWNlTmFtZTogVlBDX0lOVEVSRkFDRV9OQU1FLFxuICAgICAgICB3aGl0ZWxpc3RDaWRyOiBzb3VyY2UudHlwZSA9PT0gJ1NUQU5EQVJELVNPVVJDRScgPyAnMC4wLjAuMC8wJyA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVjcnlwdGlvbjoge1xuICAgICAgICAgIC8vIGFsZ29yaXRobTogJ2FlczEyOCcsXG4gICAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICAgIHNlY3JldEFybjogc291cmNlUGFzc3dvcmQuc2VjcmV0QXJuLFxuICAgICAgICB9LFxuICAgICAgICAvLyBzb3VyY2VJbmdlc3RQb3J0OiBgJHtzb3VyY2VJbmdlc3RQb3J0fWAsXG4gICAgICAgIHZwY0ludGVyZmFjZU5hbWU6IHNvdXJjZS50eXBlID09PSAnVlBDLVNPVVJDRScgPyBWUENfSU5URVJGQUNFX05BTUUgOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogdnBjQ29uZmlnPy5hdmFpbGFiaWxpdHlab25lID8/IHZwYz8uYXZhaWxhYmlsaXR5Wm9uZXNbMF0sXG4gICAgICBmbG93U2l6ZTogdnBjQ29uZmlnPy5lbmFibGVOREkgPyAnTEFSR0UnIDogJ01FRElVTScsXG4gICAgICBuZGlDb25maWcsXG4gICAgICBzb3VyY2VNb25pdG9yaW5nQ29uZmlnOiB7XG4gICAgICAgIHRodW1ibmFpbFN0YXRlOiAnRU5BQkxFRCcsXG4gICAgICAgIGNvbnRlbnRRdWFsaXR5QW5hbHlzaXNTdGF0ZTogJ0VOQUJMRUQnLFxuICAgICAgfSxcbiAgICAgIHZwY0ludGVyZmFjZXM6IHZwYyA/IFt7XG4gICAgICAgIG5hbWU6IFZQQ19JTlRFUkZBQ0VfTkFNRSxcbiAgICAgICAgcm9sZUFybjogcm9sZS5yb2xlQXJuLFxuICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBbc2chLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgICAgIHN1Ym5ldElkOiB2cGNDb25maWc/LnN1Ym5ldElkID8/IHZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZCxcbiAgICAgIH1dIDogW10sXG4gICAgfSk7XG4gICAgZmxvdy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG5cbiAgICAvLyBTdGFydCB0aGUgTWVkaWFDb25uZWN0IEZsb3dcbiAgICBhdXRvU3RhcnQgJiYgc3RhcnRGbG93KHRoaXMsICdTdGFydE1lZGlhQ29ubmVjdEZsb3cnLCBmbG93LmF0dHJGbG93QXJuKTtcblxuICAgIC8vIENyZWF0ZSBNZWRpYUxpdmUgY2hhbm5lbFxuICAgIGNvbnN0IGVtbCA9IG5ldyBNZWRpYUxpdmUodGhpcywgJ01lZGlhTGl2ZScsIHtcbiAgICAgIHNvdXJjZXM6IFt7IHVybDogZmlsZS51cmwucmVwbGFjZSgnczM6Ly8nLCAnczNzc2w6Ly8nKSwgdHlwZTogZmlsZS50eXBlID8/ICdNUDRfRklMRScgfV0sXG4gICAgICBkZXN0aW5hdGlvbnM6IFt7XG4gICAgICAgIGlkOiAnU1JUJyxcbiAgICAgICAgc3J0U2V0dGluZ3M6IFt7XG4gICAgICAgICAgdXJsOiBgc3J0Oi8vJHtmbG93LmF0dHJTb3VyY2VJbmdlc3RJcH06JHtmbG93LmF0dHJTb3VyY2VTb3VyY2VJbmdlc3RQb3J0fWAsIC8vIFVzZSB0aGUgTWVkaWFDb25uZWN0IEZsb3cgVVJMXG4gICAgICAgICAgZW5jcnlwdGlvblBhc3NwaHJhc2VTZWNyZXRBcm46IHNvdXJjZVBhc3N3b3JkLnNlY3JldEFybixcbiAgICAgICAgfV0sXG4gICAgICB9XSxcbiAgICAgIGNoYW5uZWxDbGFzczogJ1NJTkdMRV9QSVBFTElORScsXG4gICAgICBlbmNvZGVyU3BlYzoge1xuICAgICAgICBvdXRwdXRHcm91cFNldHRpbmdzTGlzdDogW3tcbiAgICAgICAgICBzcnRHcm91cFNldHRpbmdzOiB7XG4gICAgICAgICAgICBpbnB1dExvc3NBY3Rpb246ICdEUk9QX1RTJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9XSxcbiAgICAgICAgb3V0cHV0U2V0dGluZ3NMaXN0OiBbe1xuICAgICAgICAgIC8vIEFkZCB2YWxpZCBPdXRwdXRTZXR0aW5nc1Byb3BlcnR5IGZpZWxkcyBoZXJlIGlmIG5lZWRlZFxuICAgICAgICAgIHNydE91dHB1dFNldHRpbmdzOiB7XG4gICAgICAgICAgICBsYXRlbmN5OiAyMDAwLCAvLyBMYXRlbmN5IGluIG1pbGxpc2Vjb25kc1xuICAgICAgICAgICAgZGVzdGluYXRpb246IHtcbiAgICAgICAgICAgICAgZGVzdGluYXRpb25SZWZJZDogJ1NSVCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZW5jcnlwdGlvblR5cGU6ICdBRVMxMjgnLCAvLyBFbmNyeXB0aW9uIHR5cGVcbiAgICAgICAgICAgIGNvbnRhaW5lclNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIG0yVHNTZXR0aW5nczoge30sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH1dLFxuICAgICAgICBnb3BMZW5ndGhJblNlY29uZHM6IGVuY29kZXJTcGVjLmdvcExlbmd0aEluU2Vjb25kcyA/PyAyLFxuICAgICAgICB0aW1lY29kZUJ1cm5pblByZWZpeDogZW5jb2RlclNwZWMudGltZWNvZGVCdXJuaW5QcmVmaXgsXG4gICAgICAgIGZyYW1lcmF0ZU51bWVyYXRvcjogZW5jb2RlclNwZWMuZnJhbWVyYXRlTnVtZXJhdG9yLFxuICAgICAgICBmcmFtZXJhdGVEZW5vbWluYXRvcjogZW5jb2RlclNwZWMuZnJhbWVyYXRlRGVub21pbmF0b3IsXG4gICAgICAgIHNjYW5UeXBlOiBlbmNvZGVyU3BlYy5zY2FuVHlwZSxcbiAgICAgICAgd2lkdGg6IGVuY29kZXJTcGVjLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IGVuY29kZXJTcGVjLmhlaWdodCxcbiAgICAgIH0sXG4gICAgICB2cGM6IHNvdXJjZS50eXBlID09PSAnVlBDLVNPVVJDRScgJiYgdnBjID8ge1xuICAgICAgICBwdWJsaWNBZGRyZXNzQWxsb2NhdGlvbklkczogW2VpcCEuYXR0ckFsbG9jYXRpb25JZF0sXG4gICAgICAgIHN1Ym5ldElkczogW3ZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZF0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IFtzZyEuc2VjdXJpdHlHcm91cElkXSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgICBzZWNyZXQ6IHNvdXJjZVBhc3N3b3JkLFxuICAgIH0pO1xuXG4gICAgLy8gU3RhcnQgdGhlIE1lZGlhTGl2ZSBjaGFubmVsXG4gICAgYXV0b1N0YXJ0ICYmIHN0YXJ0Q2hhbm5lbCh0aGlzLCAnU3RhcnRNZWRpYUxpdmVDaGFubmVsJywgZW1sLmNoYW5uZWwucmVmKTtcblxuICAgIHRoaXMuZmxvdyA9IGZsb3c7XG4gICAgdGhpcy52cGMgPSB2cGM7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlTmRpRGlzY292ZXJ5U2VydmVyKHNjb3BlOiBDb25zdHJ1Y3QsIHZwYzogZWMyLklWcGMpOiBlYzIuSW5zdGFuY2Uge1xuICBjb25zdCBkZXNjcmlwdGlvbiA9ICdBbGxvdyBOREkgRGlzY292ZXJ5IFNlcnZpY2UnO1xuICBjb25zdCBzZyA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cChzY29wZSwgJ05ESVNlY3VyaXR5R3JvdXAnLCB7XG4gICAgdnBjLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gIH0pO1xuICBzZy5hcHBseVJlbW92YWxQb2xpY3koY2RrLlJlbW92YWxQb2xpY3kuREVTVFJPWSk7XG4gIHNnLmFkZEluZ3Jlc3NSdWxlKFxuICAgIGVjMi5QZWVyLmFueUlwdjQoKSxcbiAgICBlYzIuUG9ydC50Y3AoZGlzY292ZXJ5U2VydmVyUG9ydCksXG4gICAgZGVzY3JpcHRpb24sXG4gICk7XG4gIGNvbnN0IGluc3RhbmNlID0gbmV3IGVjMi5JbnN0YW5jZShzY29wZSwgJ0luc3RhbmNlJywge1xuICAgIHZwYyxcbiAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoZWMyLkluc3RhbmNlQ2xhc3MuQlVSU1RBQkxFMywgZWMyLkluc3RhbmNlU2l6ZS5NSUNSTyksXG4gICAgbWFjaGluZUltYWdlOiBlYzIuTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4MjAyMygpLFxuICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyB9LFxuICAgIHNlY3VyaXR5R3JvdXA6IHNnLFxuICB9KTtcbiAgaW5zdGFuY2UuYXBwbHlSZW1vdmFsUG9saWN5KGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1kpO1xuICAvLyBHZXQgdGhlIENsb3VkRm9ybWF0aW9uIGxvZ2ljYWwgSUQgZm9yIHRoZSBpbnN0YW5jZVxuICBjb25zdCBjZm5JbnN0YW5jZSA9IGluc3RhbmNlLm5vZGUuZGVmYXVsdENoaWxkIGFzIGNkay5DZm5SZXNvdXJjZTtcbiAgY29uc3QgbG9naWNhbElkID0gY2ZuSW5zdGFuY2UubG9naWNhbElkO1xuICBpbnN0YW5jZS5hcHBseUNsb3VkRm9ybWF0aW9uSW5pdChlYzIuQ2xvdWRGb3JtYXRpb25Jbml0LmZyb21Db25maWdTZXRzKHtcbiAgICBjb25maWdTZXRzOiB7XG4gICAgICAvLyBBcHBsaWVzIHRoZSBjb25maWdzIGJlbG93IGluIHRoaXMgb3JkZXJcbiAgICAgIGRlZmF1bHQ6IFsnY29uZmlnSW5zdGFuY2UnLCAnZmluYWxpemUnXSxcbiAgICB9LFxuICAgIGNvbmZpZ3M6IHtcbiAgICAgIGNvbmZpZ0luc3RhbmNlOiBuZXcgZWMyLkluaXRDb25maWcoW1xuICAgICAgICAvLyBOREkgRGlzY292ZXJ5IFNlcnZpY2Ugc2NyaXB0XG4gICAgICAgIGVjMi5Jbml0RmlsZS5mcm9tU3RyaW5nKFxuICAgICAgICAgICcvZXRjL3N5c3RlbWQvbmRpLWRpc2NvdmVyeS5zZXJ2aWNlJyxcbiAgICAgICAgICBgW1VuaXRdXG4gICAgICAgICAgRGVzY3JpcHRpb249TkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgICAgXG4gICAgICAgICAgW1NlcnZpY2VdXG4gICAgICAgICAgRXhlY1N0YXJ0UHJlPS9iaW4vc2xlZXAgMzBcbiAgICAgICAgICBVc2VyPWVjMi11c2VyXG4gICAgICAgICAgV29ya2luZ0RpcmVjdG9yeT0vaG9tZS9lYzItdXNlci9iaW4veDg2XzY0LWxpbnV4LWdudVxuICAgICAgICAgIEV4ZWNTdGFydD0vaG9tZS9lYzItdXNlci9iaW4veDg2XzY0LWxpbnV4LWdudS9uZGktZGlzY292ZXJ5LXNlcnZlclxuICAgICAgICAgIFJlc3RhcnQ9YWx3YXlzXG5cbiAgICAgICAgICBbSW5zdGFsbF1cbiAgICAgICAgICBXYW50ZWRCeT1tdWx0aS11c2VyLnRhcmdldFxuICAgICAgICBgKSxcbiAgICAgICAgLy8gTkRJIERpc2NvdmVyeSBTZXJ2ZXIgSW5zdGFsbGF0aW9uIHNjcmlwdFxuICAgICAgICBlYzIuSW5pdEZpbGUuZnJvbVN0cmluZyhcbiAgICAgICAgICAnL3RtcC9pbnN0YWxsLW5kaS1kaXNjb3Zlcnkuc2gnLFxuICAgICAgICAgIGAjIS9iaW4vYmFzaCAteGVcbiAgICAgICAgICBjZCAvaG9tZS9lYzItdXNlclxuXG4gICAgICAgICAgI0luc3RhbGwgdXBkYXRlc1xuICAgICAgICAgIHl1bSB1cGRhdGUgLXlcblxuICAgICAgICAgICNEb3dubG9hZCB0aGUgTkRJIExpbnV4IFNESyBhbmQgZXh0cmFjdCBpdCBhbmQgcnVuIHRoZSBpbnN0YWxsIHNjcmlwdFxuICAgICAgICAgIHdnZXQgaHR0cHM6Ly9kb3dubG9hZHMubmRpLnR2L1NESy9ORElfU0RLX0xpbnV4L0luc3RhbGxfTkRJX1NES192Nl9MaW51eC50YXIuZ3pcbiAgICAgICAgICB0YXIgLXh6ZiBJbnN0YWxsX05ESV9TREtfdjZfTGludXgudGFyLmd6XG4gICAgICAgICAgeWVzIHwgc3VkbyAuL0luc3RhbGxfTkRJX1NES192Nl9MaW51eC5zaFxuXG4gICAgICAgICAgI0NsZWFuIHVwIGFuZCBwcmVwYXJlIGRpcmVjdG9yaWVzXG4gICAgICAgICAgcm0gLWYgSW5zdGFsbF9ORElfU0RLX3Y2X0xpbnV4LnRhci5nelxuICAgICAgICAgIHJtIC1mIEluc3RhbGxfTkRJX1NES192Nl9MaW51eC5zaFxuICAgICAgICAgIGNwIC1yICdOREkgU0RLIGZvciBMaW51eCcvKiAuL1xuICAgICAgICAgIHJtIC1yICdOREkgU0RLIGZvciBMaW51eCcvXG4gICAgICAgIGApLFxuICAgICAgICAvLyBJbnN0YWxsIHRoZSBOREkgRGlzY292ZXJ5IFNlcnZpY2VcbiAgICAgICAgZWMyLkluaXRDb21tYW5kLnNoZWxsQ29tbWFuZCgnc3VkbyBiYXNoIC90bXAvaW5zdGFsbC1uZGktZGlzY292ZXJ5LnNoJyksXG4gICAgICAgIC8vIFJ1biB0aGUgTkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgIGVjMi5Jbml0Q29tbWFuZC5zaGVsbENvbW1hbmQoJ3N1ZG8gc3lzdGVtY3RsIGVuYWJsZSAvZXRjL3N5c3RlbWQvbmRpLWRpc2NvdmVyeS5zZXJ2aWNlJyksXG4gICAgICBdKSxcbiAgICAgIGZpbmFsaXplOiBuZXcgZWMyLkluaXRDb25maWcoW1xuICAgICAgICAvLyBTdGFydCB0aGUgTkRJIERpc2NvdmVyeSBTZXJ2aWNlXG4gICAgICAgIGVjMi5Jbml0Q29tbWFuZC5zaGVsbENvbW1hbmQoXG4gICAgICAgICAgY2RrLkZuLnN1YignL29wdC9hd3MvYmluL2Nmbi1zaWduYWwgLWUgJD8gLS1zdGFjayAke1N0YWNrTmFtZX0gLS1yZXNvdXJjZSAke1Jlc291cmNlfSAtLXJlZ2lvbiAke1JlZ2lvbn0nLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBTdGFja05hbWU6IGNkay5Bd3MuU1RBQ0tfTkFNRSxcbiAgICAgICAgICAgICAgUmVzb3VyY2U6IGxvZ2ljYWxJZCxcbiAgICAgICAgICAgICAgUmVnaW9uOiBjZGsuQXdzLlJFR0lPTixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICAgXSksXG4gICAgfSxcbiAgfSkpO1xuICBpbnN0YW5jZS5hZGRVc2VyRGF0YShjZGsuRm4uc3ViKGBcbiAgICAjIS9iaW4vYmFzaCAteGVcbiAgICB5dW0gaW5zdGFsbCAteSBhd3MtY2ZuLWJvb3RzdHJhcFxuICAgIHN1ZG8gL29wdC9hd3MvYmluL2Nmbi1pbml0IC0tY29uZmlnc2V0cyBkZWZhdWx0IC12IC0tc3RhY2sgXFwke1N0YWNrTmFtZX0gLS1yZXNvdXJjZSBcXCR7UmVzb3VyY2V9IC0tcmVnaW9uIFxcJHtSZWdpb259XG4gICAgc3VkbyByZWJvb3RcbiAgYCwge1xuICAgIFN0YWNrTmFtZTogY2RrLkF3cy5TVEFDS19OQU1FLFxuICAgIFJlc291cmNlOiBsb2dpY2FsSWQsXG4gICAgUmVnaW9uOiBjZGsuQXdzLlJFR0lPTixcbiAgfSkpO1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydEZsb3coc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZmxvd0Fybjogc3RyaW5nKTogRGF0ZSB7XG4gIC8vIFN0YXJ0IGNoYW5uZWxcbiAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHNjb3BlLCBpZCwge1xuICAgIG9uQ3JlYXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnTWVkaWFDb25uZWN0JyxcbiAgICAgIGFjdGlvbjogJ1N0YXJ0RmxvdycsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIEZsb3dBcm46IGZsb3dBcm4sXG4gICAgICB9LFxuICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBQaHlzaWNhbFJlc291cmNlSWQub2YoYCR7Y3J5cHRvLnJhbmRvbVVVSUQoKX1gKSxcbiAgICAgIC8vIGlnbm9yZUVycm9yQ29kZXNNYXRjaGluZzogJyonLFxuICAgICAgb3V0cHV0UGF0aHM6IFsnRmxvd0FybicsICdTdGF0dXMnXSxcbiAgICB9LFxuICAgIG9uRGVsZXRlOiB7XG4gICAgICBzZXJ2aWNlOiAnTWVkaWFDb25uZWN0JyxcbiAgICAgIGFjdGlvbjogJ1N0b3BGbG93JyxcbiAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgRmxvd0FybjogZmxvd0FybixcbiAgICAgIH0sXG4gICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihgJHtjcnlwdG8ucmFuZG9tVVVJRCgpfWApLFxuICAgICAgLy8gaWdub3JlRXJyb3JDb2Rlc01hdGNoaW5nOiAnKicsXG4gICAgICBvdXRwdXRQYXRoczogWydGbG93QXJuJywgJ1N0YXR1cyddLFxuICAgIH0sXG4gICAgLy9XaWxsIGlnbm9yZSBhbnkgcmVzb3VyY2UgYW5kIHVzZSB0aGUgYXNzdW1lZFJvbGVBcm4gYXMgcmVzb3VyY2UgYW5kICdzdHM6QXNzdW1lUm9sZScgZm9yIHNlcnZpY2U6YWN0aW9uXG4gICAgcG9saWN5OiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoe1xuICAgICAgcmVzb3VyY2VzOiBBd3NDdXN0b21SZXNvdXJjZVBvbGljeS5BTllfUkVTT1VSQ0UsXG4gICAgfSksXG4gIH0pO1xuICByZXR1cm4gbmV3IERhdGUoKTtcbn1cbiJdfQ==
|