@bluedynamics/cdk8s-plone 0.1.41 → 0.1.43
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 +30 -22
- package/API.md +21 -9
- package/CLAUDE.md +1 -1
- package/README.md +4 -4
- package/documentation/sources/explanation/architecture.md +7 -6
- package/documentation/sources/explanation/features.md +9 -7
- package/documentation/sources/how-to/{deploy-classic-ui.md → deploy-blicca.md} +43 -39
- package/documentation/sources/how-to/deploy-production-volto.md +1 -1
- package/documentation/sources/how-to/index.md +1 -1
- package/documentation/sources/reference/api/index.md +1 -1
- package/documentation/sources/reference/configuration-options.md +16 -10
- package/documentation/sources/tutorials/01-quick-start.md +1 -1
- package/examples/{classic-ui → blicca}/README.md +24 -25
- package/examples/{classic-ui → blicca}/__snapshots__/main.test.ts.snap +3 -3
- package/examples/{classic-ui → blicca}/config/varnish.tpl.vcl +1 -1
- package/examples/{classic-ui → blicca}/main.test.ts +3 -3
- package/examples/{classic-ui → blicca}/main.ts +6 -6
- package/examples/{classic-ui → blicca}/package.json +2 -2
- package/lib/deployment.js +36 -3
- package/lib/httpcache.js +42 -6
- package/lib/imports/k8s.js +1075 -1073
- package/lib/imports/monitoring.coreos.com.js +10 -8
- package/lib/imports/vinyl.bluedynamics.eu.js +11 -8
- package/lib/pdb.js +35 -2
- package/lib/plone.d.ts +13 -5
- package/lib/plone.js +66 -9
- package/lib/service.js +44 -2
- package/lib/vinylcache.js +42 -6
- package/package.json +10 -12
- /package/examples/{classic-ui → blicca}/.env.example +0 -0
- /package/examples/{classic-ui → blicca}/cdk8s.yaml +0 -0
- /package/examples/{classic-ui → blicca}/ingress.ts +0 -0
- /package/examples/{classic-ui → blicca}/jest.config.js +0 -0
- /package/examples/{classic-ui → blicca}/postgres.bitnami.ts +0 -0
- /package/examples/{classic-ui → blicca}/postgres.cloudnativepg.ts +0 -0
package/lib/pdb.js
CHANGED
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.PlonePDB = void 0;
|
|
4
37
|
const constructs_1 = require("constructs");
|
|
5
|
-
const k8s = require("./imports/k8s");
|
|
38
|
+
const k8s = __importStar(require("./imports/k8s"));
|
|
6
39
|
/**
|
|
7
40
|
* PlonePDB creates a Kubernetes PodDisruptionBudget for high availability.
|
|
8
41
|
*
|
|
@@ -60,4 +93,4 @@ class PlonePDB extends constructs_1.Construct {
|
|
|
60
93
|
}
|
|
61
94
|
}
|
|
62
95
|
exports.PlonePDB = PlonePDB;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BkYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMsbURBQXFDO0FBK0JyQzs7Ozs7O0dBTUc7QUFDSCxNQUFhLFFBQVMsU0FBUSxzQkFBUztJQUVyQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLGFBQXlDLEVBQUUsT0FBd0I7UUFDM0csS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLElBQUksR0FBZ0MsRUFBRSxDQUFDO1FBQzNDLElBQUksT0FBTyxPQUFPLENBQUMsY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9DLElBQUksR0FBRztnQkFDTCxjQUFjLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGNBQXdCLENBQUM7YUFDN0UsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLE9BQU8sT0FBTyxDQUFDLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0RCxJQUFJLEdBQUc7Z0JBQ0wsY0FBYyxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxjQUF3QixDQUFDO2FBQzdFLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxZQUFZLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDN0MsSUFBSSxHQUFHO2dCQUNMLEdBQUcsSUFBSTtnQkFDUCxZQUFZLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQXNCLENBQUM7YUFDekUsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLE9BQU8sT0FBTyxDQUFDLFlBQVksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwRCxJQUFJLEdBQUc7Z0JBQ0wsR0FBRyxJQUFJO2dCQUNQLFlBQVksRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBc0IsQ0FBQzthQUN6RSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvRSxJQUFJLEdBQUc7Z0JBQ0wsWUFBWSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUM1QyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksR0FBRztZQUNMLEdBQUcsSUFBSTtZQUNQLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUU7WUFDeEMsMEJBQTBCLEVBQUUsYUFBYTtTQUMxQyxDQUFDO1FBQ0YsTUFBTSxVQUFVLEdBQUc7WUFDakIsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUU7WUFDdkIsMkJBQTJCLEVBQUUsT0FBTztZQUNwQyw4QkFBOEIsRUFBRSxhQUFhO1NBQzlDLENBQUM7UUFFRixJQUFJLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQzNDLFFBQVEsRUFBRTtnQkFDUixNQUFNLEVBQUUsVUFBVTthQUNuQjtZQUNELElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBbERELDRCQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgazhzIGZyb20gJy4vaW1wb3J0cy9rOHMnO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgUG9kRGlzcnVwdGlvbkJ1ZGdldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG9uZVBEQk9wdGlvbnMge1xuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb3IgcGVyY2VudGFnZSBvZiBwb2RzIHRoYXQgY2FuIGJlIHVuYXZhaWxhYmxlIGR1cmluZyB2b2x1bnRhcnkgZGlzcnVwdGlvbnMuXG4gICAqIENhbiBiZSBhbiBhYnNvbHV0ZSBudW1iZXIgKGUuZy4sIDEpIG9yIGEgcGVyY2VudGFnZSAoZS5nLiwgJzUwJScpLlxuICAgKiBDYW5ub3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIG1pbkF2YWlsYWJsZS5cbiAgICogQGV4YW1wbGUgMSBvciAnMjUlJ1xuICAgKiBAZGVmYXVsdCAtIG5vdCBzZXQgKGRlZmF1bHRzIHRvIG1pbkF2YWlsYWJsZT0xIGlmIG5laXRoZXIgaXMgc3BlY2lmaWVkKVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4VW5hdmFpbGFibGU/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gbnVtYmVyIG9yIHBlcmNlbnRhZ2Ugb2YgcG9kcyB0aGF0IG11c3QgcmVtYWluIGF2YWlsYWJsZSBkdXJpbmcgdm9sdW50YXJ5IGRpc3J1cHRpb25zLlxuICAgKiBDYW4gYmUgYW4gYWJzb2x1dGUgbnVtYmVyIChlLmcuLCAxKSBvciBhIHBlcmNlbnRhZ2UgKGUuZy4sICc1MCUnKS5cbiAgICogQ2Fubm90IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBtYXhVbmF2YWlsYWJsZS5cbiAgICogQGV4YW1wbGUgMiBvciAnNTAlJ1xuICAgKiBAZGVmYXVsdCAxIChpZiBtYXhVbmF2YWlsYWJsZSBpcyBub3Qgc2V0KVxuICAgKi9cbiAgcmVhZG9ubHkgbWluQXZhaWxhYmxlPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIEt1YmVybmV0ZXMgbGFiZWxzIGZvciB0aGUgUG9kRGlzcnVwdGlvbkJ1ZGdldC5cbiAgICogQGRlZmF1bHQgLSBzdGFuZGFyZCBQbG9uZSBsYWJlbHMgb25seVxuICAgKi9cbiAgcmVhZG9ubHkgbGFiZWxzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogUGxvbmVQREIgY3JlYXRlcyBhIEt1YmVybmV0ZXMgUG9kRGlzcnVwdGlvbkJ1ZGdldCBmb3IgaGlnaCBhdmFpbGFiaWxpdHkuXG4gKlxuICogVGhpcyBpcyBhbiBpbnRlcm5hbCBjb25zdHJ1Y3QgdXNlZCBieSBQbG9uZURlcGxveW1lbnQuXG4gKiBJdCBlbnN1cmVzIGEgbWluaW11bSBudW1iZXIgb2YgcG9kcyByZW1haW4gYXZhaWxhYmxlIGR1cmluZyB2b2x1bnRhcnlcbiAqIGRpc3J1cHRpb25zIGxpa2Ugbm9kZSBkcmFpbnMgb3IgY2x1c3RlciB1cGdyYWRlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsb25lUERCIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBzZWxlY3RvckxhYmVsOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSwgb3B0aW9uczogUGxvbmVQREJPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHZhciBzcGVjOiBrOHMuUG9kRGlzcnVwdGlvbkJ1ZGdldFNwZWMgPSB7fTtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMubWF4VW5hdmFpbGFibGUgPT09ICdudW1iZXInKSB7XG4gICAgICBzcGVjID0ge1xuICAgICAgICBtYXhVbmF2YWlsYWJsZTogazhzLkludE9yU3RyaW5nLmZyb21OdW1iZXIob3B0aW9ucy5tYXhVbmF2YWlsYWJsZSBhcyBudW1iZXIpLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBvcHRpb25zLm1heFVuYXZhaWxhYmxlID09PSAnc3RyaW5nJykge1xuICAgICAgc3BlYyA9IHtcbiAgICAgICAgbWF4VW5hdmFpbGFibGU6IGs4cy5JbnRPclN0cmluZy5mcm9tU3RyaW5nKG9wdGlvbnMubWF4VW5hdmFpbGFibGUgYXMgc3RyaW5nKSxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5taW5BdmFpbGFibGUgPT09ICdudW1iZXInKSB7XG4gICAgICBzcGVjID0ge1xuICAgICAgICAuLi5zcGVjLFxuICAgICAgICBtaW5BdmFpbGFibGU6IGs4cy5JbnRPclN0cmluZy5mcm9tTnVtYmVyKG9wdGlvbnMubWluQXZhaWxhYmxlIGFzIG51bWJlciksXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbnMubWluQXZhaWxhYmxlID09PSAnc3RyaW5nJykge1xuICAgICAgc3BlYyA9IHtcbiAgICAgICAgLi4uc3BlYyxcbiAgICAgICAgbWluQXZhaWxhYmxlOiBrOHMuSW50T3JTdHJpbmcuZnJvbVN0cmluZyhvcHRpb25zLm1pbkF2YWlsYWJsZSBhcyBzdHJpbmcpLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMubWF4VW5hdmFpbGFibGUgPT09IHVuZGVmaW5lZCAmJiBvcHRpb25zLm1pbkF2YWlsYWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBzcGVjID0ge1xuICAgICAgICBtaW5BdmFpbGFibGU6IGs4cy5JbnRPclN0cmluZy5mcm9tTnVtYmVyKDEpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBzcGVjID0ge1xuICAgICAgLi4uc3BlYyxcbiAgICAgIHNlbGVjdG9yOiB7IG1hdGNoTGFiZWxzOiBzZWxlY3RvckxhYmVsIH0sXG4gICAgICB1bmhlYWx0aHlQb2RFdmljdGlvblBvbGljeTogJ0Fsd2F5c0FsbG93JyxcbiAgICB9O1xuICAgIGNvbnN0IHBkYl9sYWJlbHMgPSB7XG4gICAgICAuLi5vcHRpb25zLmxhYmVscyA/PyB7fSxcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby9wYXJ0LW9mJzogJ3Bsb25lJyxcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5JzogJ2NkazhzLXBsb25lJyxcbiAgICB9O1xuXG4gICAgbmV3IGs4cy5LdWJlUG9kRGlzcnVwdGlvbkJ1ZGdldCh0aGlzLCAnUERCJywge1xuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbGFiZWxzOiBwZGJfbGFiZWxzLFxuICAgICAgfSxcbiAgICAgIHNwZWM6IHNwZWMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/plone.d.ts
CHANGED
|
@@ -263,14 +263,22 @@ export interface PloneBaseOptions {
|
|
|
263
263
|
*/
|
|
264
264
|
export declare enum PloneVariant {
|
|
265
265
|
/**
|
|
266
|
-
* Volto variant: ReactJS frontend (Volto)
|
|
266
|
+
* Volto variant: ReactJS single-page frontend (Volto) talking to the Plone REST API.
|
|
267
267
|
* Deploys both frontend and backend services.
|
|
268
268
|
*/
|
|
269
269
|
VOLTO = "volto",
|
|
270
270
|
/**
|
|
271
|
-
*
|
|
271
|
+
* Blicca variant: the Plone backend renders the UI server-side and serves the HTML directly.
|
|
272
272
|
* Deploys only the backend service.
|
|
273
273
|
*/
|
|
274
|
+
BLICCA = "blicca",
|
|
275
|
+
/**
|
|
276
|
+
* Deprecated alias for the Blicca variant (formerly "Classic UI").
|
|
277
|
+
*
|
|
278
|
+
* @deprecated Renamed to {@link BLICCA}. Kept for backward compatibility and selects the
|
|
279
|
+
* same backend-only deployment. Existing configuration using `CLASSICUI` (or the literal
|
|
280
|
+
* value `'classicui'`) keeps working unchanged. Will be removed in a future major release.
|
|
281
|
+
*/
|
|
274
282
|
CLASSICUI = "classicui"
|
|
275
283
|
}
|
|
276
284
|
/**
|
|
@@ -322,8 +330,8 @@ export interface PloneOptions {
|
|
|
322
330
|
* - Optional PodDisruptionBudget for high availability
|
|
323
331
|
*
|
|
324
332
|
* Supports two deployment variants:
|
|
325
|
-
* - VOLTO:
|
|
326
|
-
* -
|
|
333
|
+
* - VOLTO: React single-page frontend talking to the REST API backend (default)
|
|
334
|
+
* - BLICCA: the Plone backend renders the UI server-side and serves HTML directly
|
|
327
335
|
*
|
|
328
336
|
* @example
|
|
329
337
|
* new Plone(chart, 'my-plone', {
|
|
@@ -349,7 +357,7 @@ export declare class Plone extends Construct {
|
|
|
349
357
|
*/
|
|
350
358
|
readonly frontendServiceName: string | undefined;
|
|
351
359
|
/**
|
|
352
|
-
* The deployment variant being used (VOLTO or
|
|
360
|
+
* The deployment variant being used (VOLTO or BLICCA).
|
|
353
361
|
*/
|
|
354
362
|
readonly variant: PloneVariant;
|
|
355
363
|
/**
|
package/lib/plone.js
CHANGED
|
@@ -1,10 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
3
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
36
|
exports.Plone = exports.PloneVariant = void 0;
|
|
5
37
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
38
|
const cdk8s_1 = require("cdk8s");
|
|
7
|
-
const kplus = require("cdk8s-plus-30");
|
|
39
|
+
const kplus = __importStar(require("cdk8s-plus-30"));
|
|
8
40
|
const constructs_1 = require("constructs");
|
|
9
41
|
const deployment_1 = require("./deployment");
|
|
10
42
|
const k8s_1 = require("./imports/k8s");
|
|
@@ -16,14 +48,22 @@ const service_1 = require("./service");
|
|
|
16
48
|
var PloneVariant;
|
|
17
49
|
(function (PloneVariant) {
|
|
18
50
|
/**
|
|
19
|
-
* Volto variant: ReactJS frontend (Volto)
|
|
51
|
+
* Volto variant: ReactJS single-page frontend (Volto) talking to the Plone REST API.
|
|
20
52
|
* Deploys both frontend and backend services.
|
|
21
53
|
*/
|
|
22
54
|
PloneVariant["VOLTO"] = "volto";
|
|
23
55
|
/**
|
|
24
|
-
*
|
|
56
|
+
* Blicca variant: the Plone backend renders the UI server-side and serves the HTML directly.
|
|
25
57
|
* Deploys only the backend service.
|
|
26
58
|
*/
|
|
59
|
+
PloneVariant["BLICCA"] = "blicca";
|
|
60
|
+
/**
|
|
61
|
+
* Deprecated alias for the Blicca variant (formerly "Classic UI").
|
|
62
|
+
*
|
|
63
|
+
* @deprecated Renamed to {@link BLICCA}. Kept for backward compatibility and selects the
|
|
64
|
+
* same backend-only deployment. Existing configuration using `CLASSICUI` (or the literal
|
|
65
|
+
* value `'classicui'`) keeps working unchanged. Will be removed in a future major release.
|
|
66
|
+
*/
|
|
27
67
|
PloneVariant["CLASSICUI"] = "classicui";
|
|
28
68
|
})(PloneVariant || (exports.PloneVariant = PloneVariant = {}));
|
|
29
69
|
/**
|
|
@@ -35,8 +75,8 @@ var PloneVariant;
|
|
|
35
75
|
* - Optional PodDisruptionBudget for high availability
|
|
36
76
|
*
|
|
37
77
|
* Supports two deployment variants:
|
|
38
|
-
* - VOLTO:
|
|
39
|
-
* -
|
|
78
|
+
* - VOLTO: React single-page frontend talking to the REST API backend (default)
|
|
79
|
+
* - BLICCA: the Plone backend renders the UI server-side and serves HTML directly
|
|
40
80
|
*
|
|
41
81
|
* @example
|
|
42
82
|
* new Plone(chart, 'my-plone', {
|
|
@@ -51,6 +91,25 @@ var PloneVariant;
|
|
|
51
91
|
* });
|
|
52
92
|
*/
|
|
53
93
|
class Plone extends constructs_1.Construct {
|
|
94
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@bluedynamics/cdk8s-plone.Plone", version: "0.1.43" };
|
|
95
|
+
/**
|
|
96
|
+
* Name of the backend Kubernetes service.
|
|
97
|
+
* Use this to reference the backend service from other constructs.
|
|
98
|
+
*/
|
|
99
|
+
backendServiceName;
|
|
100
|
+
/**
|
|
101
|
+
* Name of the frontend Kubernetes service.
|
|
102
|
+
* Only set when variant is VOLTO, otherwise undefined.
|
|
103
|
+
*/
|
|
104
|
+
frontendServiceName;
|
|
105
|
+
/**
|
|
106
|
+
* The deployment variant being used (VOLTO or BLICCA).
|
|
107
|
+
*/
|
|
108
|
+
variant;
|
|
109
|
+
/**
|
|
110
|
+
* The Plone site ID in ZODB.
|
|
111
|
+
*/
|
|
112
|
+
siteId;
|
|
54
113
|
constructor(scope, id, options = {}) {
|
|
55
114
|
super(scope, id);
|
|
56
115
|
this.frontendServiceName = undefined;
|
|
@@ -267,6 +326,4 @@ class Plone extends constructs_1.Construct {
|
|
|
267
326
|
}
|
|
268
327
|
}
|
|
269
328
|
exports.Plone = Plone;
|
|
270
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
271
|
-
Plone[_a] = { fqn: "@bluedynamics/cdk8s-plone.Plone", version: "0.1.41" };
|
|
272
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGxvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBOEI7QUFDOUIsdUNBQXVDO0FBQ3ZDLDJDQUF1QztBQUN2Qyw2Q0FBdUU7QUFDdkUsdUNBQTRDO0FBRTVDLDJFQUF3RztBQUN4Ryx1Q0FBMkQ7QUFrUzNEOztHQUVHO0FBQ0gsSUFBWSxZQVlYO0FBWkQsV0FBWSxZQUFZO0lBQ3RCOzs7T0FHRztJQUNILCtCQUFlLENBQUE7SUFFZjs7O09BR0c7SUFDSCx1Q0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBWlcsWUFBWSw0QkFBWixZQUFZLFFBWXZCO0FBZ0REOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQWEsS0FBTSxTQUFRLHNCQUFTO0lBdUJsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFVBQXdCLEVBQUU7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFFckQsMkVBQTJFO1FBQzNFLFVBQVU7UUFDVixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxNQUFNLGFBQWEsR0FBRztZQUNwQix3QkFBd0IsRUFBRSxlQUFlO1lBQ3pDLDZCQUE2QixFQUFFLFNBQVM7WUFDeEMsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxXQUFXO1NBQzVELENBQUM7UUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFFekIsVUFBVTtRQUNWLElBQUksY0FBYyxHQUEyQjtZQUMz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QkFBa0IsRUFBRSxFQUFFLEVBQUU7WUFDL0MsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLFVBQVU7Z0JBQy9CLE1BQU0sRUFBRTtvQkFDTix3QkFBd0IsRUFBRSxPQUFPLENBQUMsSUFBSTtvQkFDdEMsNkJBQTZCLEVBQUUsZ0JBQWdCO2lCQUNoRDthQUNGO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRTtvQkFDUixXQUFXLEVBQUU7d0JBQ1gsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztxQkFDbkU7aUJBQ0Y7Z0JBQ0QsU0FBUyxFQUFFO29CQUNUO3dCQUNFLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7d0JBQ25DLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7d0JBQzdDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTt3QkFDakIsUUFBUSxFQUFFLEtBQUs7cUJBQ2hCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQS9QSCxzQkFnUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYW1lcyB9IGZyb20gJ2NkazhzJztcbmltcG9ydCAqIGFzIGtwbHVzIGZyb20gJ2NkazhzLXBsdXMtMzAnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBQbG9uZURlcGxveW1lbnQsIFBsb25lRGVwbG95bWVudE9wdGlvbnMgfSBmcm9tICcuL2RlcGxveW1lbnQnO1xuaW1wb3J0IHsgSW50T3JTdHJpbmcgfSBmcm9tICcuL2ltcG9ydHMvazhzJztcbmltcG9ydCAqIGFzIGs4cyBmcm9tICcuL2ltcG9ydHMvazhzJztcbmltcG9ydCB7IFNlcnZpY2VNb25pdG9yLCBTZXJ2aWNlTW9uaXRvclNwZWNFbmRwb2ludHNUYXJnZXRQb3J0IH0gZnJvbSAnLi9pbXBvcnRzL21vbml0b3JpbmcuY29yZW9zLmNvbSc7XG5pbXBvcnQgeyBQbG9uZVNlcnZpY2UsIFBsb25lU2VydmljZVNwZWMgfSBmcm9tICcuL3NlcnZpY2UnO1xuXG4vKipcbiAqIExpbnV4IGNhcGFiaWxpdGllcyB0byBhZGQgb3IgZHJvcCBvbiBhIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG9uZUNhcGFiaWxpdGllcyB7XG4gIC8qKlxuICAgKiBDYXBhYmlsaXRpZXMgdG8gYWRkIChlLmcuICdTWVNfUFRSQUNFJywgJ05FVF9BRE1JTicpLlxuICAgKiBAZGVmYXVsdCAtIG5vIGNhcGFiaWxpdGllcyBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgYWRkPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIENhcGFiaWxpdGllcyB0byBkcm9wIChlLmcuICdBTEwnLCAnTkVUX1JBVycpLlxuICAgKiBAZGVmYXVsdCAtIG5vIGNhcGFiaWxpdGllcyBkcm9wcGVkXG4gICAqL1xuICByZWFkb25seSBkcm9wPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogU2VjdXJpdHkgY29udGV4dCBmb3IgYSBQbG9uZSBjb250YWluZXIuXG4gKiBDb250cm9scyBwcml2aWxlZ2UgYW5kIGFjY2VzcyBzZXR0aW5ncy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG9uZVNlY3VyaXR5Q29udGV4dCB7XG4gIC8qKlxuICAgKiBMaW51eCBjYXBhYmlsaXRpZXMgdG8gYWRkIG9yIGRyb3AuXG4gICAqIEBleGFtcGxlIHsgYWRkOiBbJ1NZU19QVFJBQ0UnXSB9XG4gICAqIEBkZWZhdWx0IC0gbm8gY2FwYWJpbGl0eSBjaGFuZ2VzXG4gICAqL1xuICByZWFkb25seSBjYXBhYmlsaXRpZXM/OiBQbG9uZUNhcGFiaWxpdGllcztcblxuICAvKipcbiAgICogUnVuIHRoZSBjb250YWluZXIgYXMgYSBzcGVjaWZpYyB1c2VyIElELlxuICAgKiBAZGVmYXVsdCAtIGNvbnRhaW5lciBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBydW5Bc1VzZXI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJ1biB0aGUgY29udGFpbmVyIGFzIGEgc3BlY2lmaWMgZ3JvdXAgSUQuXG4gICAqIEBkZWZhdWx0IC0gY29udGFpbmVyIGRlZmF1bHRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bkFzR3JvdXA/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFJlcXVpcmUgdGhlIGNvbnRhaW5lciB0byBydW4gYXMgbm9uLXJvb3QuXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBydW5Bc05vblJvb3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNb3VudCB0aGUgcm9vdCBmaWxlc3lzdGVtIGFzIHJlYWQtb25seS5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRPbmx5Um9vdEZpbGVzeXN0ZW0/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbGxvdyBwcml2aWxlZ2UgZXNjYWxhdGlvbiBmb3IgdGhlIGNvbnRhaW5lciBwcm9jZXNzLlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dQcml2aWxlZ2VFc2NhbGF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUnVuIHRoZSBjb250YWluZXIgaW4gcHJpdmlsZWdlZCBtb2RlLlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmlsZWdlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQmFzZSBvcHRpb25zIGZvciBQbG9uZSBiYWNrZW5kIG9yIGZyb250ZW5kIGNvbmZpZ3VyYXRpb24uXG4gKiBUaGVzZSBvcHRpb25zIGNvbnRyb2wgY29udGFpbmVyIGltYWdlLCByZXBsaWNhIGNvdW50LCByZXNvdXJjZSBsaW1pdHMsXG4gKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIGFuZCBoZWFsdGggcHJvYmVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsb25lQmFzZU9wdGlvbnMge1xuICAvKipcbiAgICogQ29udGFpbmVyIGltYWdlIHRvIHVzZSBmb3IgdGhlIGRlcGxveW1lbnQuXG4gICAqIEBleGFtcGxlICdwbG9uZS9wbG9uZS1iYWNrZW5kOjYuMC4xMCcgb3IgJ3Bsb25lL3Bsb25lLWZyb250ZW5kOjE2LjAuMCdcbiAgICogQGRlZmF1bHQgLSAncGxvbmUvcGxvbmUtYmFja2VuZDpsYXRlc3QnIGZvciBiYWNrZW5kLCAncGxvbmUvcGxvbmUtZnJvbnRlbmQ6bGF0ZXN0JyBmb3IgZnJvbnRlbmRcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbWFnZSBwdWxsIHBvbGljeSBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgJ0lmTm90UHJlc2VudCdcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlUHVsbFBvbGljeT86IHN0cmluZztcblxuICAvKipcbiAgICogTnVtYmVyIG9mIHBvZCByZXBsaWNhcyB0byBydW4uXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxpY2FzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIG51bWJlciBvZiBwb2RzIHRoYXQgY2FuIGJlIHVuYXZhaWxhYmxlIGR1cmluZyB1cGRhdGVzLlxuICAgKiBDYW4gYmUgYW4gYWJzb2x1dGUgbnVtYmVyIChlLmcuLCAxKSBvciBhIHBlcmNlbnRhZ2UgKGUuZy4sICc1MCUnKS5cbiAgICogVXNlZCBpbiBQb2REaXNydXB0aW9uQnVkZ2V0IGlmIHNwZWNpZmllZC5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgKG5vdCBzZXQpXG4gICAqL1xuICByZWFkb25seSBtYXhVbmF2YWlsYWJsZT86IG51bWJlciB8IHN0cmluZztcblxuICAvKipcbiAgICogTWluaW11bSBudW1iZXIgb2YgcG9kcyB0aGF0IG11c3QgYmUgYXZhaWxhYmxlIGR1cmluZyB1cGRhdGVzLlxuICAgKiBDYW4gYmUgYW4gYWJzb2x1dGUgbnVtYmVyIChlLmcuLCAxKSBvciBhIHBlcmNlbnRhZ2UgKGUuZy4sICc1MCUnKS5cbiAgICogVXNlZCBpbiBQb2REaXNydXB0aW9uQnVkZ2V0IGlmIHNwZWNpZmllZC5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgKG5vdCBzZXQpXG4gICAqL1xuICByZWFkb25seSBtaW5BdmFpbGFibGU/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENQVSBsaW1pdCBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGV4YW1wbGUgJzUwMG0nIG9yICcxJyBvciAnMjAwMG0nXG4gICAqIEBkZWZhdWx0ICc1MDBtJyBmb3IgYm90aCBiYWNrZW5kIGFuZCBmcm9udGVuZFxuICAgKi9cbiAgcmVhZG9ubHkgbGltaXRDcHU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1lbW9yeSBsaW1pdCBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGV4YW1wbGUgJzUxMk1pJyBvciAnMUdpJ1xuICAgKiBAZGVmYXVsdCAnNTEyTWknIGZvciBiYWNrZW5kLCAnMUdpJyBmb3IgZnJvbnRlbmRcbiAgICovXG4gIHJlYWRvbmx5IGxpbWl0TWVtb3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDUFUgcmVxdWVzdCBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogQGV4YW1wbGUgJzIwMG0nIG9yICcwLjUnXG4gICAqIEBkZWZhdWx0ICcyMDBtJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdENwdT86IHN0cmluZztcblxuICAvKipcbiAgICogTWVtb3J5IHJlcXVlc3QgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBleGFtcGxlICcyNTZNaScgb3IgJzUxMk1pJ1xuICAgKiBAZGVmYXVsdCAnMjU2TWknXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0TWVtb3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IGluIHRoZSBjb250YWluZXIuXG4gICAqIFVzZSBjZGs4cy1wbHVzLTMwIEVudiBjbGFzcyB0byBkZWZpbmUgdmFyaWFibGVzIGFuZCBzb3VyY2VzLlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZCAobm8gYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMpXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IGtwbHVzLkVudjtcblxuICAvKipcbiAgICogRW5hYmxlIHJlYWRpbmVzcyBwcm9iZSBmb3IgdGhlIGNvbnRhaW5lci5cbiAgICogUmVhZGluZXNzIHByb2JlcyBkZXRlcm1pbmUgd2hlbiBhIGNvbnRhaW5lciBpcyByZWFkeSB0byBhY2NlcHQgdHJhZmZpYy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZGluZXNzRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBzZWNvbmRzIGFmdGVyIGNvbnRhaW5lciBzdGFydCBiZWZvcmUgcmVhZGluZXNzIHByb2JlIGlzIGluaXRpYXRlZC5cbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRpbmVzc0luaXRpYWxEZWxheVNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBzZWNvbmRzIGFmdGVyIHdoaWNoIHRoZSByZWFkaW5lc3MgcHJvYmUgdGltZXMgb3V0LlxuICAgKiBAZGVmYXVsdCAxNVxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZGluZXNzVGltZW91dFNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEhvdyBvZnRlbiAoaW4gc2Vjb25kcykgdG8gcGVyZm9ybSB0aGUgcmVhZGluZXNzIHByb2JlLlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZGluZXNzUGVyaW9kU2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWluaW11bSBjb25zZWN1dGl2ZSBzdWNjZXNzZXMgZm9yIHRoZSByZWFkaW5lc3MgcHJvYmUgdG8gYmUgY29uc2lkZXJlZCBzdWNjZXNzZnVsLlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSByZWFkaW5lc3NTdWNjZXNzVGhyZXNob2xkPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIGNvbnNlY3V0aXZlIGZhaWx1cmVzIGZvciB0aGUgcmVhZGluZXNzIHByb2JlIHRvIGJlIGNvbnNpZGVyZWQgZmFpbGVkLlxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICByZWFkb25seSByZWFkaW5lc3NGYWlsdXJlVGhyZXNob2xkPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgbGl2ZW5lc3MgcHJvYmUgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIExpdmVuZXNzIHByb2JlcyBkZXRlcm1pbmUgd2hlbiB0byByZXN0YXJ0IGEgY29udGFpbmVyLlxuICAgKiBSZWNvbW1lbmRlZDogdHJ1ZSBmb3IgZnJvbnRlbmQsIGZhbHNlIGZvciBiYWNrZW5kIChab3BlIGhhcyBpdHMgb3duIHJlY292ZXJ5KS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVuZXNzRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBzZWNvbmRzIGFmdGVyIGNvbnRhaW5lciBzdGFydCBiZWZvcmUgbGl2ZW5lc3MgcHJvYmUgaXMgaW5pdGlhdGVkLlxuICAgKiBAZGVmYXVsdCAzMFxuICAgKi9cbiAgcmVhZG9ubHkgbGl2ZW5lc3NJbml0aWFsRGVsYXlTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgbGl2ZW5lc3MgcHJvYmUgdGltZXMgb3V0LlxuICAgKiBAZGVmYXVsdCA1XG4gICAqL1xuICByZWFkb25seSBsaXZlbmVzc1RpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBIb3cgb2Z0ZW4gKGluIHNlY29uZHMpIHRvIHBlcmZvcm0gdGhlIGxpdmVuZXNzIHByb2JlLlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgbGl2ZW5lc3NQZXJpb2RTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIGNvbnNlY3V0aXZlIHN1Y2Nlc3NlcyBmb3IgdGhlIGxpdmVuZXNzIHByb2JlIHRvIGJlIGNvbnNpZGVyZWQgc3VjY2Vzc2Z1bC5cbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgbGl2ZW5lc3NTdWNjZXNzVGhyZXNob2xkPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIGNvbnNlY3V0aXZlIGZhaWx1cmVzIGZvciB0aGUgbGl2ZW5lc3MgcHJvYmUgdG8gYmUgY29uc2lkZXJlZCBmYWlsZWQuXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVuZXNzRmFpbHVyZVRocmVzaG9sZD86IG51bWJlcjtcblxuICAvKipcbiAgICogQW5ub3RhdGlvbnMgdG8gYWRkIHRvIHRoZSBEZXBsb3ltZW50IG1ldGFkYXRhLlxuICAgKiBAZXhhbXBsZSB7ICdkZXBsb3ltZW50Lmt1YmVybmV0ZXMuaW8vcmV2aXNpb24nOiAnMScgfVxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgYW5ub3RhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGFubm90YXRpb25zPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEFubm90YXRpb25zIHRvIGFkZCB0byB0aGUgUG9kIHRlbXBsYXRlIG1ldGFkYXRhLlxuICAgKiBDb21tb24gZm9yIFByb21ldGhldXMsIElzdGlvLCBiYWNrdXAgcG9saWNpZXMsIGV0Yy5cbiAgICogQGV4YW1wbGUgeyAncHJvbWV0aGV1cy5pby9zY3JhcGUnOiAndHJ1ZScsICdwcm9tZXRoZXVzLmlvL3BvcnQnOiAnODA4MCcgfVxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgYW5ub3RhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHBvZEFubm90YXRpb25zPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEFubm90YXRpb25zIHRvIGFkZCB0byB0aGUgU2VydmljZSBtZXRhZGF0YS5cbiAgICogQ29tbW9uIGZvciBleHRlcm5hbC1kbnMsIGxvYWQgYmFsYW5jZXJzLCBzZXJ2aWNlIG1lc2gsIGV0Yy5cbiAgICogQGV4YW1wbGUgeyAnZXh0ZXJuYWwtZG5zLmFscGhhLmt1YmVybmV0ZXMuaW8vaG9zdG5hbWUnOiAncGxvbmUuZXhhbXBsZS5jb20nIH1cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBzZXJ2aWNlLmFubm90YXRpb25zYCBpbnN0ZWFkXG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBhbm5vdGF0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZUFubm90YXRpb25zPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFNlcnZpY2UgY29uZmlndXJhdGlvbjogdHlwZSwgdHJhZmZpY0Rpc3RyaWJ1dGlvbiwgc2Vzc2lvbkFmZmluaXR5LFxuICAgKiBhbm5vdGF0aW9ucy9sYWJlbHMsIGFuZCBhIHJhdyBgb3ZlcnJpZGVzYCBlc2NhcGUgaGF0Y2ggZm9yIGFueSBvdGhlclxuICAgKiBTZXJ2aWNlU3BlYyBmaWVsZC4gQXBwbGllcyB0byB0aGlzIGNvbXBvbmVudCdzIFNlcnZpY2UuXG4gICAqIEBleGFtcGxlIHsgdHlwZTogJ0xvYWRCYWxhbmNlcicsIHRyYWZmaWNEaXN0cmlidXRpb246ICdQcmVmZXJDbG9zZScgfVxuICAgKiBAZGVmYXVsdCAtIGNvbnN0cnVjdC1tYW5hZ2VkIGRlZmF1bHRzIG9ubHlcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2U/OiBQbG9uZVNlcnZpY2VTcGVjO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgUHJvbWV0aGV1cyBTZXJ2aWNlTW9uaXRvciBmb3IgbWV0cmljcyBjb2xsZWN0aW9uLlxuICAgKiBSZXF1aXJlcyBQcm9tZXRoZXVzIE9wZXJhdG9yIHRvIGJlIGluc3RhbGxlZCBpbiB0aGUgY2x1c3Rlci5cbiAgICogV2hlbiBlbmFibGVkLCBhIFNlcnZpY2VNb25pdG9yIHJlc291cmNlIHdpbGwgYmUgY3JlYXRlZCB0byBzY3JhcGUgbWV0cmljcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2Vtb25pdG9yPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUG9ydCBuYW1lIG9yIG51bWJlciB0byBzY3JhcGUgbWV0cmljcyBmcm9tLlxuICAgKiBPbmx5IHVzZWQgd2hlbiBzZXJ2aWNlbW9uaXRvciBpcyBlbmFibGVkLlxuICAgKiBAZGVmYXVsdCAtIHVzZXMgdGhlIG1haW4gc2VydmljZSBwb3J0XG4gICAqL1xuICByZWFkb25seSBtZXRyaWNzUG9ydD86IHN0cmluZyB8IG51bWJlcjtcblxuICAvKipcbiAgICogUGF0aCB0byBzY3JhcGUgbWV0cmljcyBmcm9tLlxuICAgKiBPbmx5IHVzZWQgd2hlbiBzZXJ2aWNlbW9uaXRvciBpcyBlbmFibGVkLlxuICAgKiBAZGVmYXVsdCAnL21ldHJpY3MnXG4gICAqL1xuICByZWFkb25seSBtZXRyaWNzUGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogTm9kZSBzZWxlY3RvciBsYWJlbHMgZm9yIHBvZCBzY2hlZHVsaW5nLlxuICAgKiBVc2UgdG8gY29uc3RyYWluIHBvZHMgdG8gbm9kZXMgd2l0aCBtYXRjaGluZyBsYWJlbHMsIGUuZy4gZm9yIHJlZ2lvbiBhZmZpbml0eS5cbiAgICogQGV4YW1wbGUgeyAndG9wb2xvZ3kua3ViZXJuZXRlcy5pby9yZWdpb24nOiAnZnNuMScgfVxuICAgKiBAZGVmYXVsdCAtIG5vIG5vZGUgc2VsZWN0b3JcbiAgICovXG4gIHJlYWRvbmx5IG5vZGVTZWxlY3Rvcj86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IGNvbnRleHQgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIFVzZSB0byBzZXQgY2FwYWJpbGl0aWVzLCBydW4gYXMgbm9uLXJvb3QsIHJlYWQtb25seSBmaWxlc3lzdGVtLCBldGMuXG4gICAqIEBleGFtcGxlIHsgY2FwYWJpbGl0aWVzOiB7IGFkZDogWydTWVNfUFRSQUNFJ10gfSB9XG4gICAqIEBkZWZhdWx0IC0gbm8gc2VjdXJpdHkgY29udGV4dFxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlDb250ZXh0PzogUGxvbmVTZWN1cml0eUNvbnRleHQ7XG59XG4vKipcbiAqIFBsb25lIGRlcGxveW1lbnQgdmFyaWFudHMuXG4gKi9cbmV4cG9ydCBlbnVtIFBsb25lVmFyaWFudCB7XG4gIC8qKlxuICAgKiBWb2x0byB2YXJpYW50OiBSZWFjdEpTIGZyb250ZW5kIChWb2x0bykgd2l0aCBSRVNUIEFQSSBiYWNrZW5kLlxuICAgKiBEZXBsb3lzIGJvdGggZnJvbnRlbmQgYW5kIGJhY2tlbmQgc2VydmljZXMuXG4gICAqL1xuICBWT0xUTyA9ICd2b2x0bycsXG5cbiAgLyoqXG4gICAqIENsYXNzaWMgVUkgdmFyaWFudDogVHJhZGl0aW9uYWwgUGxvbmUgd2l0aCBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuXG4gICAqIERlcGxveXMgb25seSB0aGUgYmFja2VuZCBzZXJ2aWNlLlxuICAgKi9cbiAgQ0xBU1NJQ1VJID0gJ2NsYXNzaWN1aScsXG59XG5cbi8qKlxuICogTWFpbiBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFBsb25lIGRlcGxveW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxvbmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFZlcnNpb24gc3RyaW5nIGZvciBsYWJlbGluZyB0aGUgZGVwbG95bWVudC5cbiAgICogVGhpcyBpcyB1c2VkIGluIEt1YmVybmV0ZXMgbGFiZWxzIGFuZCBkb2Vzbid0IGFmZmVjdCB0aGUgYWN0dWFsIGltYWdlIHZlcnNpb25zLlxuICAgKiBAZGVmYXVsdCAndW5kZWZpbmVkJ1xuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUGxvbmUgc2l0ZSBJRCBpbiB0aGUgWk9EQi5cbiAgICogVGhpcyBpcyB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgaW50ZXJuYWwgQVBJIHBhdGggZm9yIFZvbHRvIGZyb250ZW5kLlxuICAgKiBAZGVmYXVsdCAnUGxvbmUnXG4gICAqL1xuICByZWFkb25seSBzaXRlSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBsb25lIGRlcGxveW1lbnQgdmFyaWFudCB0byB1c2UuXG4gICAqIEBkZWZhdWx0IFBsb25lVmFyaWFudC5WT0xUT1xuICAgKi9cbiAgcmVhZG9ubHkgdmFyaWFudD86IFBsb25lVmFyaWFudDtcblxuICAvKipcbiAgICogQmFja2VuZCAoUGxvbmUgQVBJKSBjb25maWd1cmF0aW9uLlxuICAgKiBAZGVmYXVsdCB7fSAodXNlcyBkZWZhdWx0IHZhbHVlcyBmcm9tIFBsb25lQmFzZU9wdGlvbnMpXG4gICAqL1xuICByZWFkb25seSBiYWNrZW5kPzogUGxvbmVCYXNlT3B0aW9ucztcblxuICAvKipcbiAgICogRnJvbnRlbmQgKFZvbHRvKSBjb25maWd1cmF0aW9uLlxuICAgKiBPbmx5IHVzZWQgd2hlbiB2YXJpYW50IGlzIFBsb25lVmFyaWFudC5WT0xUTy5cbiAgICogQGRlZmF1bHQge30gKHVzZXMgZGVmYXVsdCB2YWx1ZXMgZnJvbSBQbG9uZUJhc2VPcHRpb25zKVxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbnRlbmQ/OiBQbG9uZUJhc2VPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBOYW1lcyBvZiBLdWJlcm5ldGVzIHNlY3JldHMgdG8gdXNlIGZvciBwdWxsaW5nIHByaXZhdGUgY29udGFpbmVyIGltYWdlcy5cbiAgICogVGhlc2Ugc2VjcmV0cyBtdXN0IGV4aXN0IGluIHRoZSBzYW1lIG5hbWVzcGFjZSBhcyB0aGUgZGVwbG95bWVudC5cbiAgICogQGV4YW1wbGUgWydteS1yZWdpc3RyeS1zZWNyZXQnXVxuICAgKiBAZGVmYXVsdCBbXSAobm8gaW1hZ2UgcHVsbCBzZWNyZXRzKVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VQdWxsU2VjcmV0cz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFBsb25lIGNvbnN0cnVjdCBmb3IgZGVwbG95aW5nIFBsb25lIENNUyB0byBLdWJlcm5ldGVzLlxuICpcbiAqIFRoaXMgY29uc3RydWN0IGNyZWF0ZXMgYWxsIG5lY2Vzc2FyeSBLdWJlcm5ldGVzIHJlc291cmNlcyBmb3IgcnVubmluZyBQbG9uZTpcbiAqIC0gRGVwbG95bWVudChzKSBmb3IgYmFja2VuZCAoYW5kIG9wdGlvbmFsbHkgZnJvbnRlbmQpXG4gKiAtIFNlcnZpY2UocykgZm9yIG5ldHdvcmsgYWNjZXNzXG4gKiAtIE9wdGlvbmFsIFBvZERpc3J1cHRpb25CdWRnZXQgZm9yIGhpZ2ggYXZhaWxhYmlsaXR5XG4gKlxuICogU3VwcG9ydHMgdHdvIGRlcGxveW1lbnQgdmFyaWFudHM6XG4gKiAtIFZPTFRPOiBNb2Rlcm4gUmVhY3QgZnJvbnRlbmQgd2l0aCBSRVNUIEFQSSBiYWNrZW5kIChkZWZhdWx0KVxuICogLSBDTEFTU0lDVUk6IFRyYWRpdGlvbmFsIHNlcnZlci1zaWRlIHJlbmRlcmVkIFBsb25lXG4gKlxuICogQGV4YW1wbGVcbiAqIG5ldyBQbG9uZShjaGFydCwgJ215LXBsb25lJywge1xuICogICB2YXJpYW50OiBQbG9uZVZhcmlhbnQuVk9MVE8sXG4gKiAgIGJhY2tlbmQ6IHtcbiAqICAgICBpbWFnZTogJ3Bsb25lL3Bsb25lLWJhY2tlbmQ6Ni4wLjEwJyxcbiAqICAgICByZXBsaWNhczogMyxcbiAqICAgfSxcbiAqICAgZnJvbnRlbmQ6IHtcbiAqICAgICBpbWFnZTogJ3Bsb25lL3Bsb25lLWZyb250ZW5kOjE2LjAuMCcsXG4gKiAgIH0sXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIFBsb25lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGJhY2tlbmQgS3ViZXJuZXRlcyBzZXJ2aWNlLlxuICAgKiBVc2UgdGhpcyB0byByZWZlcmVuY2UgdGhlIGJhY2tlbmQgc2VydmljZSBmcm9tIG90aGVyIGNvbnN0cnVjdHMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYmFja2VuZFNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGZyb250ZW5kIEt1YmVybmV0ZXMgc2VydmljZS5cbiAgICogT25seSBzZXQgd2hlbiB2YXJpYW50IGlzIFZPTFRPLCBvdGhlcndpc2UgdW5kZWZpbmVkLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZyb250ZW5kU2VydmljZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGRlcGxveW1lbnQgdmFyaWFudCBiZWluZyB1c2VkIChWT0xUTyBvciBDTEFTU0lDVUkpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhcmlhbnQ6IFBsb25lVmFyaWFudDtcblxuICAvKipcbiAgICogVGhlIFBsb25lIHNpdGUgSUQgaW4gWk9EQi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzaXRlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBQbG9uZU9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5mcm9udGVuZFNlcnZpY2VOYW1lID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc2l0ZUlkID0gb3B0aW9ucy5zaXRlSWQgPz8gJ1Bsb25lJztcbiAgICB0aGlzLnZhcmlhbnQgPSBvcHRpb25zLnZhcmlhbnQgPz8gUGxvbmVWYXJpYW50LlZPTFRPO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQmFja2VuZFxuICAgIGNvbnN0IGJhY2tlbmQgPSBvcHRpb25zLmJhY2tlbmQgPz8ge307XG4gICAgY29uc3QgYmFja2VuZExhYmVscyA9IHtcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogJ3Bsb25lLWJhY2tlbmQnLFxuICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL2NvbXBvbmVudCc6ICdiYWNrZW5kJyxcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby92ZXJzaW9uJzogb3B0aW9ucy52ZXJzaW9uID8/ICd1bmRlZmluZWQnLFxuICAgIH07XG4gICAgY29uc3QgYmFja2VuZFBvcnQgPSA4MDgwO1xuXG4gICAgLy8gT3B0aW9uc1xuICAgIHZhciBiYWNrZW5kT3B0aW9uczogUGxvbmVEZXBsb3ltZW50T3B0aW9ucyA9IHtcbiAgICAgIGxhYmVsczogYmFja2VuZExhYmVscyxcbiAgICAgIGltYWdlOiB7XG4gICAgICAgIGltYWdlOiBiYWNrZW5kLmltYWdlID8/ICdwbG9uZS9wbG9uZS1iYWNrZW5kOmxhdGVzdCcsXG4gICAgICAgIGltYWdlUHVsbFNlY3JldHM6IG9wdGlvbnMuaW1hZ2VQdWxsU2VjcmV0cyA/PyBbXSxcbiAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBiYWNrZW5kLmltYWdlUHVsbFBvbGljeSA/PyAnSWZOb3RQcmVzZW50JyxcbiAgICAgIH0sXG4gICAgICByZXBsaWNhczogYmFja2VuZC5yZXBsaWNhcyxcbiAgICAgIGxpbWl0Q3B1OiBiYWNrZW5kLmxpbWl0Q3B1ID8/ICc1MDBtJyxcbiAgICAgIGxpbWl0TWVtb3J5OiBiYWNrZW5kLmxpbWl0TWVtb3J5ID8/ICc1MTJNaScsXG4gICAgICByZXF1ZXN0Q3B1OiBiYWNrZW5kLnJlcXVlc3RDcHUgPz8gJzIwMG0nLFxuICAgICAgcmVxdWVzdE1lbW9yeTogYmFja2VuZC5yZXF1ZXN0TWVtb3J5ID8/ICcyNTZNaScsXG4gICAgICBwZGI6IHtcbiAgICAgICAgbWF4VW5hdmFpbGFibGU6IGJhY2tlbmQubWF4VW5hdmFpbGFibGUgPz8gdW5kZWZpbmVkLFxuICAgICAgICBtaW5BdmFpbGFibGU6IGJhY2tlbmQubWluQXZhaWxhYmxlID8/IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgICBwb3J0OiBiYWNrZW5kUG9ydCxcbiAgICAgIGVudmlyb25tZW50OiBiYWNrZW5kLmVudmlyb25tZW50LFxuICAgICAgYW5ub3RhdGlvbnM6IGJhY2tlbmQuYW5ub3RhdGlvbnMsXG4gICAgICBwb2RBbm5vdGF0aW9uczogYmFja2VuZC5wb2RBbm5vdGF0aW9ucyxcbiAgICAgIG5vZGVTZWxlY3RvcjogYmFja2VuZC5ub2RlU2VsZWN0b3IsXG4gICAgICBzZWN1cml0eUNvbnRleHQ6IGJhY2tlbmQuc2VjdXJpdHlDb250ZXh0IGFzIGs4cy5TZWN1cml0eUNvbnRleHQsXG4gICAgfTtcblxuICAgIC8vIFByb2JpbmdcbiAgICBjb25zdCBiYWNrZW5kQWN0aW9uSHR0cEdldDogazhzLkh0dHBHZXRBY3Rpb24gPSB7XG4gICAgICBwYXRoOiAnLycsXG4gICAgICBwb3J0OiBJbnRPclN0cmluZy5mcm9tTnVtYmVyKGJhY2tlbmRQb3J0KSxcbiAgICB9O1xuICAgIGlmIChiYWNrZW5kLmxpdmVuZXNzRW5hYmxlZCA/PyBmYWxzZSkge1xuICAgICAgYmFja2VuZE9wdGlvbnMubGl2ZW5lc3NQcm9iZSA9IHtcbiAgICAgICAgaHR0cEdldDogYmFja2VuZEFjdGlvbkh0dHBHZXQsXG4gICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IGJhY2tlbmQubGl2ZW5lc3NJbml0aWFsRGVsYXlTZWNvbmRzID8/IDMwLFxuICAgICAgICB0aW1lb3V0U2Vjb25kczogYmFja2VuZC5saXZlbmVzc1RpbWVvdXRTZWNvbmRzID8/IDUsXG4gICAgICAgIHBlcmlvZFNlY29uZHM6IGJhY2tlbmQubGl2ZW5lc3NQZXJpb2RTZWNvbmRzID8/IDEwLFxuICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiBiYWNrZW5kLmxpdmVuZXNzU3VjY2Vzc1RocmVzaG9sZCA/PyAxLFxuICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiBiYWNrZW5kLmxpdmVuZXNzRmFpbHVyZVRocmVzaG9sZCA/PyAzLFxuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGJhY2tlbmQucmVhZGluZXNzRW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICBiYWNrZW5kT3B0aW9ucy5yZWFkaW5lc3NQcm9iZSA9IHtcbiAgICAgICAgaHR0cEdldDogYmFja2VuZEFjdGlvbkh0dHBHZXQsXG4gICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IGJhY2tlbmQucmVhZGluZXNzSW5pdGlhbERlbGF5U2Vjb25kcyA/PyAxMCxcbiAgICAgICAgdGltZW91dFNlY29uZHM6IGJhY2tlbmQucmVhZGluZXNzVGltZW91dFNlY29uZHMgPz8gMTUsXG4gICAgICAgIHBlcmlvZFNlY29uZHM6IGJhY2tlbmQucmVhZGluZXNzUGVyaW9kU2Vjb25kcyA/PyAxMCxcbiAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogYmFja2VuZC5yZWFkaW5lc3NTdWNjZXNzVGhyZXNob2xkID8/IDEsXG4gICAgICAgIGZhaWx1cmVUaHJlc2hvbGQ6IGJhY2tlbmQucmVhZGluZXNzRmFpbHVyZVRocmVzaG9sZCA/PyAzLFxuICAgICAgfTtcbiAgICB9XG4gICAgLy8gRGVwbG95bWVudFxuICAgIHZhciBiYWNrZW5kRGVwbG95bWVudCA9IG5ldyBQbG9uZURlcGxveW1lbnQodGhpcywgJ2JhY2tlbmQnLCBiYWNrZW5kT3B0aW9ucyk7XG5cbiAgICAvLyBTZXJ2aWNlXG4gICAgY29uc3QgYmFja2VuZFNlcnZpY2UgPSBuZXcgUGxvbmVTZXJ2aWNlKGJhY2tlbmREZXBsb3ltZW50LCAnc2VydmljZScsIHtcbiAgICAgIGxhYmVsczoge1xuICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdwbG9uZS1iYWNrZW5kLXNlcnZpY2UnLFxuICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ3NlcnZpY2UnLFxuICAgICAgfSxcbiAgICAgIHRhcmdldFBvcnQ6IGJhY2tlbmRQb3J0LFxuICAgICAgc2VsZWN0b3JMYWJlbDogeyBhcHA6IE5hbWVzLnRvTGFiZWxWYWx1ZShiYWNrZW5kRGVwbG95bWVudCkgfSxcbiAgICAgIHBvcnROYW1lOiAnYmFja2VuZC1odHRwJyxcbiAgICAgIHNwZWM6IHtcbiAgICAgICAgLi4uYmFja2VuZC5zZXJ2aWNlLFxuICAgICAgICBhbm5vdGF0aW9uczogeyAuLi5iYWNrZW5kLnNlcnZpY2VBbm5vdGF0aW9ucywgLi4uYmFja2VuZC5zZXJ2aWNlPy5hbm5vdGF0aW9ucyB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLmJhY2tlbmRTZXJ2aWNlTmFtZSA9IGJhY2tlbmRTZXJ2aWNlLm5hbWU7XG5cbiAgICAvLyBTZXJ2aWNlTW9uaXRvciBmb3IgYmFja2VuZFxuICAgIGlmIChiYWNrZW5kLnNlcnZpY2Vtb25pdG9yKSB7XG4gICAgICB0aGlzLmNyZWF0ZVNlcnZpY2VNb25pdG9yKGJhY2tlbmRTZXJ2aWNlLCAnYmFja2VuZCcsIHtcbiAgICAgICAgcG9ydDogYmFja2VuZC5tZXRyaWNzUG9ydCA/PyAnYmFja2VuZC1odHRwJyxcbiAgICAgICAgcGF0aDogYmFja2VuZC5tZXRyaWNzUGF0aCA/PyAnL21ldHJpY3MnLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gRnJvbnRlbmRcbiAgICBpZiAodGhpcy52YXJpYW50ID09IFBsb25lVmFyaWFudC5WT0xUTykge1xuICAgICAgY29uc3QgZnJvbnRlbmQgPSBvcHRpb25zLmZyb250ZW5kID8/IHt9O1xuICAgICAgY29uc3QgZnJvbnRlbmRQb3J0ID0gMzAwMDtcbiAgICAgIGNvbnN0IGZyb250ZW5kTGFiZWxzID0ge1xuICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdwbG9uZS1mcm9udGVuZCcsXG4gICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9jb21wb25lbnQnOiAnZnJvbnRlbmQnLFxuICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vdmVyc2lvbic6IG9wdGlvbnMudmVyc2lvbiA/PyAndW5kZWZpbmVkJyxcbiAgICAgIH07XG5cbiAgICAgIC8vIEVudmlyb25tZW50IGZvciBSQVpaTEVcbiAgICAgIHZhciBmcm9udGVuZEVudmlyb25tZW50ID0gZnJvbnRlbmQuZW52aXJvbm1lbnQgPz8gbmV3IGtwbHVzLkVudihbXSwge30pO1xuICAgICAgaWYgKGZyb250ZW5kRW52aXJvbm1lbnQudmFyaWFibGVzLlJBWlpMRV9JTlRFUk5BTF9BUElfUEFUSCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIGNvbm5lY3Qgd2l0aCBiYWNrZW5kIHNlcnZpY2VcbiAgICAgICAgZnJvbnRlbmRFbnZpcm9ubWVudD8uYWRkVmFyaWFibGUoJ1JBWlpMRV9JTlRFUk5BTF9BUElfUEFUSCcsIGtwbHVzLkVudlZhbHVlLmZyb21WYWx1ZShgaHR0cDovLyR7YmFja2VuZFNlcnZpY2UubmFtZX06JHtiYWNrZW5kUG9ydH0vJHt0aGlzLnNpdGVJZH1gKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9wdGlvbnNcbiAgICAgIHZhciBmcm9udGVuZE9wdGlvbnM6IFBsb25lRGVwbG95bWVudE9wdGlvbnMgPSB7XG4gICAgICAgIGxhYmVsczogZnJvbnRlbmRMYWJlbHMsXG4gICAgICAgIGltYWdlOiB7XG4gICAgICAgICAgaW1hZ2U6IGZyb250ZW5kLmltYWdlID8/ICdwbG9uZS9wbG9uZS1mcm9udGVuZDpsYXRlc3QnLFxuICAgICAgICAgIGltYWdlUHVsbFNlY3JldHM6IG9wdGlvbnMuaW1hZ2VQdWxsU2VjcmV0cyA/PyBbXSxcbiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IGZyb250ZW5kLmltYWdlUHVsbFBvbGljeSA/PyAnSWZOb3RQcmVzZW50JyxcbiAgICAgICAgfSxcbiAgICAgICAgcmVwbGljYXM6IGZyb250ZW5kLnJlcGxpY2FzLFxuICAgICAgICBsaW1pdENwdTogZnJvbnRlbmQubGltaXRDcHUgPz8gJzUwMG0nLFxuICAgICAgICBsaW1pdE1lbW9yeTogZnJvbnRlbmQubGltaXRNZW1vcnkgPz8gJzFHaScsXG4gICAgICAgIHJlcXVlc3RDcHU6IGZyb250ZW5kLnJlcXVlc3RDcHUgPz8gJzIwMG0nLFxuICAgICAgICByZXF1ZXN0TWVtb3J5OiBmcm9udGVuZC5yZXF1ZXN0TWVtb3J5ID8/ICcyNTZNaScsXG5cbiAgICAgICAgcGRiOiB7XG4gICAgICAgICAgbWF4VW5hdmFpbGFibGU6IGZyb250ZW5kLm1heFVuYXZhaWxhYmxlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICBtaW5BdmFpbGFibGU6IGZyb250ZW5kLm1pbkF2YWlsYWJsZSA/PyB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHBvcnQ6IGZyb250ZW5kUG9ydCxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGZyb250ZW5kRW52aXJvbm1lbnQsXG4gICAgICAgIGFubm90YXRpb25zOiBmcm9udGVuZC5hbm5vdGF0aW9ucyxcbiAgICAgICAgcG9kQW5ub3RhdGlvbnM6IGZyb250ZW5kLnBvZEFubm90YXRpb25zLFxuICAgICAgICBub2RlU2VsZWN0b3I6IGZyb250ZW5kLm5vZGVTZWxlY3RvcixcbiAgICAgICAgc2VjdXJpdHlDb250ZXh0OiBmcm9udGVuZC5zZWN1cml0eUNvbnRleHQgYXMgazhzLlNlY3VyaXR5Q29udGV4dCxcbiAgICAgIH07XG5cbiAgICAgIC8vIFByb2JpbmdcbiAgICAgIGNvbnN0IGZyb250ZW5kQWN0aW9uSHR0cEdldDogazhzLkh0dHBHZXRBY3Rpb24gPSB7XG4gICAgICAgIHBhdGg6ICcvJyxcbiAgICAgICAgcG9ydDogSW50T3JTdHJpbmcuZnJvbU51bWJlcihmcm9udGVuZFBvcnQpLFxuICAgICAgfTtcbiAgICAgIGlmIChmcm9udGVuZC5saXZlbmVzc0VuYWJsZWQgPz8gZmFsc2UpIHtcbiAgICAgICAgZnJvbnRlbmRPcHRpb25zLmxpdmVuZXNzUHJvYmUgPSB7XG4gICAgICAgICAgaHR0cEdldDogZnJvbnRlbmRBY3Rpb25IdHRwR2V0LFxuICAgICAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IGZyb250ZW5kLmxpdmVuZXNzSW5pdGlhbERlbGF5U2Vjb25kcyA/PyAzMCxcbiAgICAgICAgICB0aW1lb3V0U2Vjb25kczogZnJvbnRlbmQubGl2ZW5lc3NUaW1lb3V0U2Vjb25kcyA/PyA1LFxuICAgICAgICAgIHBlcmlvZFNlY29uZHM6IGZyb250ZW5kLmxpdmVuZXNzUGVyaW9kU2Vjb25kcyA/PyAxMCxcbiAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiBmcm9udGVuZC5saXZlbmVzc1N1Y2Nlc3NUaHJlc2hvbGQgPz8gMSxcbiAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiBmcm9udGVuZC5saXZlbmVzc0ZhaWx1cmVUaHJlc2hvbGQgPz8gMyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGlmIChmcm9udGVuZC5yZWFkaW5lc3NFbmFibGVkID8/IHRydWUpIHtcbiAgICAgICAgZnJvbnRlbmRPcHRpb25zLnJlYWRpbmVzc1Byb2JlID0ge1xuICAgICAgICAgIGh0dHBHZXQ6IGZyb250ZW5kQWN0aW9uSHR0cEdldCxcbiAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiBmcm9udGVuZC5yZWFkaW5lc3NJbml0aWFsRGVsYXlTZWNvbmRzID8/IDEwLFxuICAgICAgICAgIHRpbWVvdXRTZWNvbmRzOiBmcm9udGVuZC5yZWFkaW5lc3NUaW1lb3V0U2Vjb25kcyA/PyAxNSxcbiAgICAgICAgICBwZXJpb2RTZWNvbmRzOiBmcm9udGVuZC5yZWFkaW5lc3NQZXJpb2RTZWNvbmRzID8/IDEwLFxuICAgICAgICAgIHN1Y2Nlc3NUaHJlc2hvbGQ6IGZyb250ZW5kLnJlYWRpbmVzc1N1Y2Nlc3NUaHJlc2hvbGQgPz8gMSxcbiAgICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiBmcm9udGVuZC5yZWFkaW5lc3NGYWlsdXJlVGhyZXNob2xkID8/IDMsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIERlcGxveW1lbnRcbiAgICAgIGNvbnN0IGZyb250ZW5kRGVwbG95bWVudCA9IG5ldyBQbG9uZURlcGxveW1lbnQodGhpcywgJ2Zyb250ZW5kJywgZnJvbnRlbmRPcHRpb25zKTtcblxuICAgICAgLy8gU2VydmljZVxuICAgICAgY29uc3QgZnJvbnRlbmRTZXJ2aWNlID0gbmV3IFBsb25lU2VydmljZShmcm9udGVuZERlcGxveW1lbnQsICdzZXJ2aWNlJywge1xuICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdwbG9uZS1mcm9udGVuZC1zZXJ2aWNlJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ3NlcnZpY2UnLFxuICAgICAgICB9LFxuICAgICAgICB0YXJnZXRQb3J0OiBmcm9udGVuZFBvcnQsXG4gICAgICAgIHNlbGVjdG9yTGFiZWw6IHsgYXBwOiBOYW1lcy50b0xhYmVsVmFsdWUoZnJvbnRlbmREZXBsb3ltZW50KSB9LFxuICAgICAgICBwb3J0TmFtZTogJ2Zyb250ZW5kLWh0dHAnLFxuICAgICAgICBzcGVjOiB7XG4gICAgICAgICAgLi4uZnJvbnRlbmQuc2VydmljZSxcbiAgICAgICAgICBhbm5vdGF0aW9uczogeyAuLi5mcm9udGVuZC5zZXJ2aWNlQW5ub3RhdGlvbnMsIC4uLmZyb250ZW5kLnNlcnZpY2U/LmFubm90YXRpb25zIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZnJvbnRlbmRTZXJ2aWNlTmFtZSA9IGZyb250ZW5kU2VydmljZS5uYW1lO1xuXG4gICAgICAvLyBTZXJ2aWNlTW9uaXRvciBmb3IgZnJvbnRlbmRcbiAgICAgIGlmIChmcm9udGVuZC5zZXJ2aWNlbW9uaXRvcikge1xuICAgICAgICB0aGlzLmNyZWF0ZVNlcnZpY2VNb25pdG9yKGZyb250ZW5kU2VydmljZSwgJ2Zyb250ZW5kJywge1xuICAgICAgICAgIHBvcnQ6IGZyb250ZW5kLm1ldHJpY3NQb3J0ID8/ICdmcm9udGVuZC1odHRwJyxcbiAgICAgICAgICBwYXRoOiBmcm9udGVuZC5tZXRyaWNzUGF0aCA/PyAnL21ldHJpY3MnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFByb21ldGhldXMgU2VydmljZU1vbml0b3IgcmVzb3VyY2UgZm9yIHRoZSBnaXZlbiBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gc2VydmljZSBUaGUgUGxvbmVTZXJ2aWNlIHRvIG1vbml0b3JcbiAgICogQHBhcmFtIGlkIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgU2VydmljZU1vbml0b3JcbiAgICogQHBhcmFtIGNvbmZpZyBDb25maWd1cmF0aW9uIGZvciB0aGUgU2VydmljZU1vbml0b3JcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlU2VydmljZU1vbml0b3IoXG4gICAgc2VydmljZTogUGxvbmVTZXJ2aWNlLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgY29uZmlnOiB7IHBvcnQ6IHN0cmluZyB8IG51bWJlcjsgcGF0aDogc3RyaW5nIH0sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHBvcnROYW1lID0gdHlwZW9mIGNvbmZpZy5wb3J0ID09PSAnc3RyaW5nJyA/IGNvbmZpZy5wb3J0IDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IHBvcnROdW1iZXIgPSB0eXBlb2YgY29uZmlnLnBvcnQgPT09ICdudW1iZXInXG4gICAgICA/IFNlcnZpY2VNb25pdG9yU3BlY0VuZHBvaW50c1RhcmdldFBvcnQuZnJvbU51bWJlcihjb25maWcucG9ydClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgbmV3IFNlcnZpY2VNb25pdG9yKHRoaXMsIGBzZXJ2aWNlbW9uaXRvci0ke2lkfWAsIHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIG5hbWU6IGAke3NlcnZpY2UubmFtZX0tbW9uaXRvcmAsXG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogc2VydmljZS5uYW1lLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9jb21wb25lbnQnOiAnc2VydmljZW1vbml0b3InLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNwZWM6IHtcbiAgICAgICAgc2VsZWN0b3I6IHtcbiAgICAgICAgICBtYXRjaExhYmVsczoge1xuICAgICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL25hbWUnOiBzZXJ2aWNlLmxhYmVsc1snYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSddLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGVuZHBvaW50czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLihwb3J0TmFtZSAmJiB7IHBvcnQ6IHBvcnROYW1lIH0pLFxuICAgICAgICAgICAgLi4uKHBvcnROdW1iZXIgJiYgeyB0YXJnZXRQb3J0OiBwb3J0TnVtYmVyIH0pLFxuICAgICAgICAgICAgcGF0aDogY29uZmlnLnBhdGgsXG4gICAgICAgICAgICBpbnRlcnZhbDogJzMwcycsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn0iXX0=
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGxvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUE4QjtBQUM5QixxREFBdUM7QUFDdkMsMkNBQXVDO0FBQ3ZDLDZDQUF1RTtBQUN2RSx1Q0FBNEM7QUFFNUMsMkVBQXdHO0FBQ3hHLHVDQUEyRDtBQWtTM0Q7O0dBRUc7QUFDSCxJQUFZLFlBcUJYO0FBckJELFdBQVksWUFBWTtJQUN0Qjs7O09BR0c7SUFDSCwrQkFBZSxDQUFBO0lBRWY7OztPQUdHO0lBQ0gsaUNBQWlCLENBQUE7SUFFakI7Ozs7OztPQU1HO0lBQ0gsdUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQXJCVyxZQUFZLDRCQUFaLFlBQVksUUFxQnZCO0FBZ0REOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQWEsS0FBTSxTQUFRLHNCQUFTOztJQUNsQzs7O09BR0c7SUFDYSxrQkFBa0IsQ0FBUztJQUUzQzs7O09BR0c7SUFDYSxtQkFBbUIsQ0FBcUI7SUFFeEQ7O09BRUc7SUFDYSxPQUFPLENBQWU7SUFFdEM7O09BRUc7SUFDYSxNQUFNLENBQVM7SUFFL0IsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxVQUF3QixFQUFFO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDO1FBRXJELDJFQUEyRTtRQUMzRSxVQUFVO1FBQ1YsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFD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QyxDQUFDLFNBQVMsQ0FBQztRQUMzRSxNQUFNLFVBQVUsR0FBRyxPQUFPLE1BQU0sQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUNoRCxDQUFDLENBQUMsNkRBQXFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDL0QsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVkLElBQUksc0NBQWMsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxFQUFFO1lBQy9DLFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxVQUFVO2dCQUMvQixNQUFNLEVBQUU7b0JBQ04sd0JBQXdCLEVBQUUsT0FBTyxDQUFDLElBQUk7b0JBQ3RDLDZCQUE2QixFQUFFLGdCQUFnQjtpQkFDaEQ7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUU7b0JBQ1IsV0FBVyxFQUFFO3dCQUNYLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUM7cUJBQ25FO2lCQUNGO2dCQUNELFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO3dCQUNuQyxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO3dCQUM3QyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7d0JBQ2pCLFFBQVEsRUFBRSxLQUFLO3FCQUNoQjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEvUEgsc0JBZ1FDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmFtZXMgfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgKiBhcyBrcGx1cyBmcm9tICdjZGs4cy1wbHVzLTMwJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgUGxvbmVEZXBsb3ltZW50LCBQbG9uZURlcGxveW1lbnRPcHRpb25zIH0gZnJvbSAnLi9kZXBsb3ltZW50JztcbmltcG9ydCB7IEludE9yU3RyaW5nIH0gZnJvbSAnLi9pbXBvcnRzL2s4cyc7XG5pbXBvcnQgKiBhcyBrOHMgZnJvbSAnLi9pbXBvcnRzL2s4cyc7XG5pbXBvcnQgeyBTZXJ2aWNlTW9uaXRvciwgU2VydmljZU1vbml0b3JTcGVjRW5kcG9pbnRzVGFyZ2V0UG9ydCB9IGZyb20gJy4vaW1wb3J0cy9tb25pdG9yaW5nLmNvcmVvcy5jb20nO1xuaW1wb3J0IHsgUGxvbmVTZXJ2aWNlLCBQbG9uZVNlcnZpY2VTcGVjIH0gZnJvbSAnLi9zZXJ2aWNlJztcblxuLyoqXG4gKiBMaW51eCBjYXBhYmlsaXRpZXMgdG8gYWRkIG9yIGRyb3Agb24gYSBjb250YWluZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxvbmVDYXBhYmlsaXRpZXMge1xuICAvKipcbiAgICogQ2FwYWJpbGl0aWVzIHRvIGFkZCAoZS5nLiAnU1lTX1BUUkFDRScsICdORVRfQURNSU4nKS5cbiAgICogQGRlZmF1bHQgLSBubyBjYXBhYmlsaXRpZXMgYWRkZWRcbiAgICovXG4gIHJlYWRvbmx5IGFkZD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDYXBhYmlsaXRpZXMgdG8gZHJvcCAoZS5nLiAnQUxMJywgJ05FVF9SQVcnKS5cbiAgICogQGRlZmF1bHQgLSBubyBjYXBhYmlsaXRpZXMgZHJvcHBlZFxuICAgKi9cbiAgcmVhZG9ubHkgZHJvcD86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFNlY3VyaXR5IGNvbnRleHQgZm9yIGEgUGxvbmUgY29udGFpbmVyLlxuICogQ29udHJvbHMgcHJpdmlsZWdlIGFuZCBhY2Nlc3Mgc2V0dGluZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxvbmVTZWN1cml0eUNvbnRleHQge1xuICAvKipcbiAgICogTGludXggY2FwYWJpbGl0aWVzIHRvIGFkZCBvciBkcm9wLlxuICAgKiBAZXhhbXBsZSB7IGFkZDogWydTWVNfUFRSQUNFJ10gfVxuICAgKiBAZGVmYXVsdCAtIG5vIGNhcGFiaWxpdHkgY2hhbmdlc1xuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWJpbGl0aWVzPzogUGxvbmVDYXBhYmlsaXRpZXM7XG5cbiAgLyoqXG4gICAqIFJ1biB0aGUgY29udGFpbmVyIGFzIGEgc3BlY2lmaWMgdXNlciBJRC5cbiAgICogQGRlZmF1bHQgLSBjb250YWluZXIgZGVmYXVsdFxuICAgKi9cbiAgcmVhZG9ubHkgcnVuQXNVc2VyPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBSdW4gdGhlIGNvbnRhaW5lciBhcyBhIHNwZWNpZmljIGdyb3VwIElELlxuICAgKiBAZGVmYXVsdCAtIGNvbnRhaW5lciBkZWZhdWx0XG4gICAqL1xuICByZWFkb25seSBydW5Bc0dyb3VwPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBSZXF1aXJlIHRoZSBjb250YWluZXIgdG8gcnVuIGFzIG5vbi1yb290LlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcnVuQXNOb25Sb290PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTW91bnQgdGhlIHJvb3QgZmlsZXN5c3RlbSBhcyByZWFkLW9ubHkuXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSByZWFkT25seVJvb3RGaWxlc3lzdGVtPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWxsb3cgcHJpdmlsZWdlIGVzY2FsYXRpb24gZm9yIHRoZSBjb250YWluZXIgcHJvY2Vzcy5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93UHJpdmlsZWdlRXNjYWxhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJ1biB0aGUgY29udGFpbmVyIGluIHByaXZpbGVnZWQgbW9kZS5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHByaXZpbGVnZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEJhc2Ugb3B0aW9ucyBmb3IgUGxvbmUgYmFja2VuZCBvciBmcm9udGVuZCBjb25maWd1cmF0aW9uLlxuICogVGhlc2Ugb3B0aW9ucyBjb250cm9sIGNvbnRhaW5lciBpbWFnZSwgcmVwbGljYSBjb3VudCwgcmVzb3VyY2UgbGltaXRzLFxuICogZW52aXJvbm1lbnQgdmFyaWFibGVzLCBhbmQgaGVhbHRoIHByb2Jlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbG9uZUJhc2VPcHRpb25zIHtcbiAgLyoqXG4gICAqIENvbnRhaW5lciBpbWFnZSB0byB1c2UgZm9yIHRoZSBkZXBsb3ltZW50LlxuICAgKiBAZXhhbXBsZSAncGxvbmUvcGxvbmUtYmFja2VuZDo2LjAuMTAnIG9yICdwbG9uZS9wbG9uZS1mcm9udGVuZDoxNi4wLjAnXG4gICAqIEBkZWZhdWx0IC0gJ3Bsb25lL3Bsb25lLWJhY2tlbmQ6bGF0ZXN0JyBmb3IgYmFja2VuZCwgJ3Bsb25lL3Bsb25lLWZyb250ZW5kOmxhdGVzdCcgZm9yIGZyb250ZW5kXG4gICAqL1xuICByZWFkb25seSBpbWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogSW1hZ2UgcHVsbCBwb2xpY3kgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBkZWZhdWx0ICdJZk5vdFByZXNlbnQnXG4gICAqL1xuICByZWFkb25seSBpbWFnZVB1bGxQb2xpY3k/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiBwb2QgcmVwbGljYXMgdG8gcnVuLlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSByZXBsaWNhcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgcG9kcyB0aGF0IGNhbiBiZSB1bmF2YWlsYWJsZSBkdXJpbmcgdXBkYXRlcy5cbiAgICogQ2FuIGJlIGFuIGFic29sdXRlIG51bWJlciAoZS5nLiwgMSkgb3IgYSBwZXJjZW50YWdlIChlLmcuLCAnNTAlJykuXG4gICAqIFVzZWQgaW4gUG9kRGlzcnVwdGlvbkJ1ZGdldCBpZiBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkIChub3Qgc2V0KVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4VW5hdmFpbGFibGU/OiBudW1iZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gbnVtYmVyIG9mIHBvZHMgdGhhdCBtdXN0IGJlIGF2YWlsYWJsZSBkdXJpbmcgdXBkYXRlcy5cbiAgICogQ2FuIGJlIGFuIGFic29sdXRlIG51bWJlciAoZS5nLiwgMSkgb3IgYSBwZXJjZW50YWdlIChlLmcuLCAnNTAlJykuXG4gICAqIFVzZWQgaW4gUG9kRGlzcnVwdGlvbkJ1ZGdldCBpZiBzcGVjaWZpZWQuXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkIChub3Qgc2V0KVxuICAgKi9cbiAgcmVhZG9ubHkgbWluQXZhaWxhYmxlPzogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDUFUgbGltaXQgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBleGFtcGxlICc1MDBtJyBvciAnMScgb3IgJzIwMDBtJ1xuICAgKiBAZGVmYXVsdCAnNTAwbScgZm9yIGJvdGggYmFja2VuZCBhbmQgZnJvbnRlbmRcbiAgICovXG4gIHJlYWRvbmx5IGxpbWl0Q3B1Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNZW1vcnkgbGltaXQgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBleGFtcGxlICc1MTJNaScgb3IgJzFHaSdcbiAgICogQGRlZmF1bHQgJzUxMk1pJyBmb3IgYmFja2VuZCwgJzFHaScgZm9yIGZyb250ZW5kXG4gICAqL1xuICByZWFkb25seSBsaW1pdE1lbW9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogQ1BVIHJlcXVlc3QgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIEBleGFtcGxlICcyMDBtJyBvciAnMC41J1xuICAgKiBAZGVmYXVsdCAnMjAwbSdcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RDcHU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1lbW9yeSByZXF1ZXN0IGZvciB0aGUgY29udGFpbmVyLlxuICAgKiBAZXhhbXBsZSAnMjU2TWknIG9yICc1MTJNaSdcbiAgICogQGRlZmF1bHQgJzI1Nk1pJ1xuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdE1lbW9yeT86IHN0cmluZztcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBpbiB0aGUgY29udGFpbmVyLlxuICAgKiBVc2UgY2RrOHMtcGx1cy0zMCBFbnYgY2xhc3MgdG8gZGVmaW5lIHZhcmlhYmxlcyBhbmQgc291cmNlcy5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWQgKG5vIGFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzKVxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBrcGx1cy5FbnY7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSByZWFkaW5lc3MgcHJvYmUgZm9yIHRoZSBjb250YWluZXIuXG4gICAqIFJlYWRpbmVzcyBwcm9iZXMgZGV0ZXJtaW5lIHdoZW4gYSBjb250YWluZXIgaXMgcmVhZHkgdG8gYWNjZXB0IHRyYWZmaWMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRpbmVzc0VuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc2Vjb25kcyBhZnRlciBjb250YWluZXIgc3RhcnQgYmVmb3JlIHJlYWRpbmVzcyBwcm9iZSBpcyBpbml0aWF0ZWQuXG4gICAqIEBkZWZhdWx0IDEwXG4gICAqL1xuICByZWFkb25seSByZWFkaW5lc3NJbml0aWFsRGVsYXlTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc2Vjb25kcyBhZnRlciB3aGljaCB0aGUgcmVhZGluZXNzIHByb2JlIHRpbWVzIG91dC5cbiAgICogQGRlZmF1bHQgMTVcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRpbmVzc1RpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBIb3cgb2Z0ZW4gKGluIHNlY29uZHMpIHRvIHBlcmZvcm0gdGhlIHJlYWRpbmVzcyBwcm9iZS5cbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRpbmVzc1BlcmlvZFNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE1pbmltdW0gY29uc2VjdXRpdmUgc3VjY2Vzc2VzIGZvciB0aGUgcmVhZGluZXNzIHByb2JlIHRvIGJlIGNvbnNpZGVyZWQgc3VjY2Vzc2Z1bC5cbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZGluZXNzU3VjY2Vzc1RocmVzaG9sZD86IG51bWJlcjtcblxuICAvKipcbiAgICogTWluaW11bSBjb25zZWN1dGl2ZSBmYWlsdXJlcyBmb3IgdGhlIHJlYWRpbmVzcyBwcm9iZSB0byBiZSBjb25zaWRlcmVkIGZhaWxlZC5cbiAgICogQGRlZmF1bHQgM1xuICAgKi9cbiAgcmVhZG9ubHkgcmVhZGluZXNzRmFpbHVyZVRocmVzaG9sZD86IG51bWJlcjtcblxuICAvKipcbiAgICogRW5hYmxlIGxpdmVuZXNzIHByb2JlIGZvciB0aGUgY29udGFpbmVyLlxuICAgKiBMaXZlbmVzcyBwcm9iZXMgZGV0ZXJtaW5lIHdoZW4gdG8gcmVzdGFydCBhIGNvbnRhaW5lci5cbiAgICogUmVjb21tZW5kZWQ6IHRydWUgZm9yIGZyb250ZW5kLCBmYWxzZSBmb3IgYmFja2VuZCAoWm9wZSBoYXMgaXRzIG93biByZWNvdmVyeSkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBsaXZlbmVzc0VuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2Ygc2Vjb25kcyBhZnRlciBjb250YWluZXIgc3RhcnQgYmVmb3JlIGxpdmVuZXNzIHByb2JlIGlzIGluaXRpYXRlZC5cbiAgICogQGRlZmF1bHQgMzBcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVuZXNzSW5pdGlhbERlbGF5U2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgd2hpY2ggdGhlIGxpdmVuZXNzIHByb2JlIHRpbWVzIG91dC5cbiAgICogQGRlZmF1bHQgNVxuICAgKi9cbiAgcmVhZG9ubHkgbGl2ZW5lc3NUaW1lb3V0U2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogSG93IG9mdGVuIChpbiBzZWNvbmRzKSB0byBwZXJmb3JtIHRoZSBsaXZlbmVzcyBwcm9iZS5cbiAgICogQGRlZmF1bHQgMTBcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVuZXNzUGVyaW9kU2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWluaW11bSBjb25zZWN1dGl2ZSBzdWNjZXNzZXMgZm9yIHRoZSBsaXZlbmVzcyBwcm9iZSB0byBiZSBjb25zaWRlcmVkIHN1Y2Nlc3NmdWwuXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IGxpdmVuZXNzU3VjY2Vzc1RocmVzaG9sZD86IG51bWJlcjtcblxuICAvKipcbiAgICogTWluaW11bSBjb25zZWN1dGl2ZSBmYWlsdXJlcyBmb3IgdGhlIGxpdmVuZXNzIHByb2JlIHRvIGJlIGNvbnNpZGVyZWQgZmFpbGVkLlxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICByZWFkb25seSBsaXZlbmVzc0ZhaWx1cmVUaHJlc2hvbGQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEFubm90YXRpb25zIHRvIGFkZCB0byB0aGUgRGVwbG95bWVudCBtZXRhZGF0YS5cbiAgICogQGV4YW1wbGUgeyAnZGVwbG95bWVudC5rdWJlcm5ldGVzLmlvL3JldmlzaW9uJzogJzEnIH1cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGFubm90YXRpb25zXG4gICAqL1xuICByZWFkb25seSBhbm5vdGF0aW9ucz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBbm5vdGF0aW9ucyB0byBhZGQgdG8gdGhlIFBvZCB0ZW1wbGF0ZSBtZXRhZGF0YS5cbiAgICogQ29tbW9uIGZvciBQcm9tZXRoZXVzLCBJc3RpbywgYmFja3VwIHBvbGljaWVzLCBldGMuXG4gICAqIEBleGFtcGxlIHsgJ3Byb21ldGhldXMuaW8vc2NyYXBlJzogJ3RydWUnLCAncHJvbWV0aGV1cy5pby9wb3J0JzogJzgwODAnIH1cbiAgICogQGRlZmF1bHQgLSBubyBhZGRpdGlvbmFsIGFubm90YXRpb25zXG4gICAqL1xuICByZWFkb25seSBwb2RBbm5vdGF0aW9ucz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBbm5vdGF0aW9ucyB0byBhZGQgdG8gdGhlIFNlcnZpY2UgbWV0YWRhdGEuXG4gICAqIENvbW1vbiBmb3IgZXh0ZXJuYWwtZG5zLCBsb2FkIGJhbGFuY2Vycywgc2VydmljZSBtZXNoLCBldGMuXG4gICAqIEBleGFtcGxlIHsgJ2V4dGVybmFsLWRucy5hbHBoYS5rdWJlcm5ldGVzLmlvL2hvc3RuYW1lJzogJ3Bsb25lLmV4YW1wbGUuY29tJyB9XG4gICAqIEBkZXByZWNhdGVkIHVzZSBgc2VydmljZS5hbm5vdGF0aW9uc2AgaW5zdGVhZFxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgYW5ub3RhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VBbm5vdGF0aW9ucz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBTZXJ2aWNlIGNvbmZpZ3VyYXRpb246IHR5cGUsIHRyYWZmaWNEaXN0cmlidXRpb24sIHNlc3Npb25BZmZpbml0eSxcbiAgICogYW5ub3RhdGlvbnMvbGFiZWxzLCBhbmQgYSByYXcgYG92ZXJyaWRlc2AgZXNjYXBlIGhhdGNoIGZvciBhbnkgb3RoZXJcbiAgICogU2VydmljZVNwZWMgZmllbGQuIEFwcGxpZXMgdG8gdGhpcyBjb21wb25lbnQncyBTZXJ2aWNlLlxuICAgKiBAZXhhbXBsZSB7IHR5cGU6ICdMb2FkQmFsYW5jZXInLCB0cmFmZmljRGlzdHJpYnV0aW9uOiAnUHJlZmVyQ2xvc2UnIH1cbiAgICogQGRlZmF1bHQgLSBjb25zdHJ1Y3QtbWFuYWdlZCBkZWZhdWx0cyBvbmx5XG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlPzogUGxvbmVTZXJ2aWNlU3BlYztcblxuICAvKipcbiAgICogRW5hYmxlIFByb21ldGhldXMgU2VydmljZU1vbml0b3IgZm9yIG1ldHJpY3MgY29sbGVjdGlvbi5cbiAgICogUmVxdWlyZXMgUHJvbWV0aGV1cyBPcGVyYXRvciB0byBiZSBpbnN0YWxsZWQgaW4gdGhlIGNsdXN0ZXIuXG4gICAqIFdoZW4gZW5hYmxlZCwgYSBTZXJ2aWNlTW9uaXRvciByZXNvdXJjZSB3aWxsIGJlIGNyZWF0ZWQgdG8gc2NyYXBlIG1ldHJpY3MuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlbW9uaXRvcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBvcnQgbmFtZSBvciBudW1iZXIgdG8gc2NyYXBlIG1ldHJpY3MgZnJvbS5cbiAgICogT25seSB1c2VkIHdoZW4gc2VydmljZW1vbml0b3IgaXMgZW5hYmxlZC5cbiAgICogQGRlZmF1bHQgLSB1c2VzIHRoZSBtYWluIHNlcnZpY2UgcG9ydFxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljc1BvcnQ/OiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gc2NyYXBlIG1ldHJpY3MgZnJvbS5cbiAgICogT25seSB1c2VkIHdoZW4gc2VydmljZW1vbml0b3IgaXMgZW5hYmxlZC5cbiAgICogQGRlZmF1bHQgJy9tZXRyaWNzJ1xuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljc1BhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5vZGUgc2VsZWN0b3IgbGFiZWxzIGZvciBwb2Qgc2NoZWR1bGluZy5cbiAgICogVXNlIHRvIGNvbnN0cmFpbiBwb2RzIHRvIG5vZGVzIHdpdGggbWF0Y2hpbmcgbGFiZWxzLCBlLmcuIGZvciByZWdpb24gYWZmaW5pdHkuXG4gICAqIEBleGFtcGxlIHsgJ3RvcG9sb2d5Lmt1YmVybmV0ZXMuaW8vcmVnaW9uJzogJ2ZzbjEnIH1cbiAgICogQGRlZmF1bHQgLSBubyBub2RlIHNlbGVjdG9yXG4gICAqL1xuICByZWFkb25seSBub2RlU2VsZWN0b3I/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBjb250ZXh0IGZvciB0aGUgY29udGFpbmVyLlxuICAgKiBVc2UgdG8gc2V0IGNhcGFiaWxpdGllcywgcnVuIGFzIG5vbi1yb290LCByZWFkLW9ubHkgZmlsZXN5c3RlbSwgZXRjLlxuICAgKiBAZXhhbXBsZSB7IGNhcGFiaWxpdGllczogeyBhZGQ6IFsnU1lTX1BUUkFDRSddIH0gfVxuICAgKiBAZGVmYXVsdCAtIG5vIHNlY3VyaXR5IGNvbnRleHRcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5Q29udGV4dD86IFBsb25lU2VjdXJpdHlDb250ZXh0O1xufVxuLyoqXG4gKiBQbG9uZSBkZXBsb3ltZW50IHZhcmlhbnRzLlxuICovXG5leHBvcnQgZW51bSBQbG9uZVZhcmlhbnQge1xuICAvKipcbiAgICogVm9sdG8gdmFyaWFudDogUmVhY3RKUyBzaW5nbGUtcGFnZSBmcm9udGVuZCAoVm9sdG8pIHRhbGtpbmcgdG8gdGhlIFBsb25lIFJFU1QgQVBJLlxuICAgKiBEZXBsb3lzIGJvdGggZnJvbnRlbmQgYW5kIGJhY2tlbmQgc2VydmljZXMuXG4gICAqL1xuICBWT0xUTyA9ICd2b2x0bycsXG5cbiAgLyoqXG4gICAqIEJsaWNjYSB2YXJpYW50OiB0aGUgUGxvbmUgYmFja2VuZCByZW5kZXJzIHRoZSBVSSBzZXJ2ZXItc2lkZSBhbmQgc2VydmVzIHRoZSBIVE1MIGRpcmVjdGx5LlxuICAgKiBEZXBsb3lzIG9ubHkgdGhlIGJhY2tlbmQgc2VydmljZS5cbiAgICovXG4gIEJMSUNDQSA9ICdibGljY2EnLFxuXG4gIC8qKlxuICAgKiBEZXByZWNhdGVkIGFsaWFzIGZvciB0aGUgQmxpY2NhIHZhcmlhbnQgKGZvcm1lcmx5IFwiQ2xhc3NpYyBVSVwiKS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgUmVuYW1lZCB0byB7QGxpbmsgQkxJQ0NBfS4gS2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBhbmQgc2VsZWN0cyB0aGVcbiAgICogc2FtZSBiYWNrZW5kLW9ubHkgZGVwbG95bWVudC4gRXhpc3RpbmcgY29uZmlndXJhdGlvbiB1c2luZyBgQ0xBU1NJQ1VJYCAob3IgdGhlIGxpdGVyYWxcbiAgICogdmFsdWUgYCdjbGFzc2ljdWknYCkga2VlcHMgd29ya2luZyB1bmNoYW5nZWQuIFdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSBtYWpvciByZWxlYXNlLlxuICAgKi9cbiAgQ0xBU1NJQ1VJID0gJ2NsYXNzaWN1aScsXG59XG5cbi8qKlxuICogTWFpbiBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIFBsb25lIGRlcGxveW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxvbmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFZlcnNpb24gc3RyaW5nIGZvciBsYWJlbGluZyB0aGUgZGVwbG95bWVudC5cbiAgICogVGhpcyBpcyB1c2VkIGluIEt1YmVybmV0ZXMgbGFiZWxzIGFuZCBkb2Vzbid0IGFmZmVjdCB0aGUgYWN0dWFsIGltYWdlIHZlcnNpb25zLlxuICAgKiBAZGVmYXVsdCAndW5kZWZpbmVkJ1xuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUGxvbmUgc2l0ZSBJRCBpbiB0aGUgWk9EQi5cbiAgICogVGhpcyBpcyB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgaW50ZXJuYWwgQVBJIHBhdGggZm9yIFZvbHRvIGZyb250ZW5kLlxuICAgKiBAZGVmYXVsdCAnUGxvbmUnXG4gICAqL1xuICByZWFkb25seSBzaXRlSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBsb25lIGRlcGxveW1lbnQgdmFyaWFudCB0byB1c2UuXG4gICAqIEBkZWZhdWx0IFBsb25lVmFyaWFudC5WT0xUT1xuICAgKi9cbiAgcmVhZG9ubHkgdmFyaWFudD86IFBsb25lVmFyaWFudDtcblxuICAvKipcbiAgICogQmFja2VuZCAoUGxvbmUgQVBJKSBjb25maWd1cmF0aW9uLlxuICAgKiBAZGVmYXVsdCB7fSAodXNlcyBkZWZhdWx0IHZhbHVlcyBmcm9tIFBsb25lQmFzZU9wdGlvbnMpXG4gICAqL1xuICByZWFkb25seSBiYWNrZW5kPzogUGxvbmVCYXNlT3B0aW9ucztcblxuICAvKipcbiAgICogRnJvbnRlbmQgKFZvbHRvKSBjb25maWd1cmF0aW9uLlxuICAgKiBPbmx5IHVzZWQgd2hlbiB2YXJpYW50IGlzIFBsb25lVmFyaWFudC5WT0xUTy5cbiAgICogQGRlZmF1bHQge30gKHVzZXMgZGVmYXVsdCB2YWx1ZXMgZnJvbSBQbG9uZUJhc2VPcHRpb25zKVxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbnRlbmQ/OiBQbG9uZUJhc2VPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBOYW1lcyBvZiBLdWJlcm5ldGVzIHNlY3JldHMgdG8gdXNlIGZvciBwdWxsaW5nIHByaXZhdGUgY29udGFpbmVyIGltYWdlcy5cbiAgICogVGhlc2Ugc2VjcmV0cyBtdXN0IGV4aXN0IGluIHRoZSBzYW1lIG5hbWVzcGFjZSBhcyB0aGUgZGVwbG95bWVudC5cbiAgICogQGV4YW1wbGUgWydteS1yZWdpc3RyeS1zZWNyZXQnXVxuICAgKiBAZGVmYXVsdCBbXSAobm8gaW1hZ2UgcHVsbCBzZWNyZXRzKVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VQdWxsU2VjcmV0cz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFBsb25lIGNvbnN0cnVjdCBmb3IgZGVwbG95aW5nIFBsb25lIENNUyB0byBLdWJlcm5ldGVzLlxuICpcbiAqIFRoaXMgY29uc3RydWN0IGNyZWF0ZXMgYWxsIG5lY2Vzc2FyeSBLdWJlcm5ldGVzIHJlc291cmNlcyBmb3IgcnVubmluZyBQbG9uZTpcbiAqIC0gRGVwbG95bWVudChzKSBmb3IgYmFja2VuZCAoYW5kIG9wdGlvbmFsbHkgZnJvbnRlbmQpXG4gKiAtIFNlcnZpY2UocykgZm9yIG5ldHdvcmsgYWNjZXNzXG4gKiAtIE9wdGlvbmFsIFBvZERpc3J1cHRpb25CdWRnZXQgZm9yIGhpZ2ggYXZhaWxhYmlsaXR5XG4gKlxuICogU3VwcG9ydHMgdHdvIGRlcGxveW1lbnQgdmFyaWFudHM6XG4gKiAtIFZPTFRPOiBSZWFjdCBzaW5nbGUtcGFnZSBmcm9udGVuZCB0YWxraW5nIHRvIHRoZSBSRVNUIEFQSSBiYWNrZW5kIChkZWZhdWx0KVxuICogLSBCTElDQ0E6IHRoZSBQbG9uZSBiYWNrZW5kIHJlbmRlcnMgdGhlIFVJIHNlcnZlci1zaWRlIGFuZCBzZXJ2ZXMgSFRNTCBkaXJlY3RseVxuICpcbiAqIEBleGFtcGxlXG4gKiBuZXcgUGxvbmUoY2hhcnQsICdteS1wbG9uZScsIHtcbiAqICAgdmFyaWFudDogUGxvbmVWYXJpYW50LlZPTFRPLFxuICogICBiYWNrZW5kOiB7XG4gKiAgICAgaW1hZ2U6ICdwbG9uZS9wbG9uZS1iYWNrZW5kOjYuMC4xMCcsXG4gKiAgICAgcmVwbGljYXM6IDMsXG4gKiAgIH0sXG4gKiAgIGZyb250ZW5kOiB7XG4gKiAgICAgaW1hZ2U6ICdwbG9uZS9wbG9uZS1mcm9udGVuZDoxNi4wLjAnLFxuICogICB9LFxuICogfSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBQbG9uZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBiYWNrZW5kIEt1YmVybmV0ZXMgc2VydmljZS5cbiAgICogVXNlIHRoaXMgdG8gcmVmZXJlbmNlIHRoZSBiYWNrZW5kIHNlcnZpY2UgZnJvbSBvdGhlciBjb25zdHJ1Y3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJhY2tlbmRTZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBmcm9udGVuZCBLdWJlcm5ldGVzIHNlcnZpY2UuXG4gICAqIE9ubHkgc2V0IHdoZW4gdmFyaWFudCBpcyBWT0xUTywgb3RoZXJ3aXNlIHVuZGVmaW5lZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmcm9udGVuZFNlcnZpY2VOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXBsb3ltZW50IHZhcmlhbnQgYmVpbmcgdXNlZCAoVk9MVE8gb3IgQkxJQ0NBKS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB2YXJpYW50OiBQbG9uZVZhcmlhbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBQbG9uZSBzaXRlIElEIGluIFpPREIuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2l0ZUlkOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogUGxvbmVPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuZnJvbnRlbmRTZXJ2aWNlTmFtZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnNpdGVJZCA9IG9wdGlvbnMuc2l0ZUlkID8/ICdQbG9uZSc7XG4gICAgdGhpcy52YXJpYW50ID0gb3B0aW9ucy52YXJpYW50ID8/IFBsb25lVmFyaWFudC5WT0xUTztcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEJhY2tlbmRcbiAgICBjb25zdCBiYWNrZW5kID0gb3B0aW9ucy5iYWNrZW5kID8/IHt9O1xuICAgIGNvbnN0IGJhY2tlbmRMYWJlbHMgPSB7XG4gICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdwbG9uZS1iYWNrZW5kJyxcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby9jb21wb25lbnQnOiAnYmFja2VuZCcsXG4gICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vdmVyc2lvbic6IG9wdGlvbnMudmVyc2lvbiA/PyAndW5kZWZpbmVkJyxcbiAgICB9O1xuICAgIGNvbnN0IGJhY2tlbmRQb3J0ID0gODA4MDtcblxuICAgIC8vIE9wdGlvbnNcbiAgICB2YXIgYmFja2VuZE9wdGlvbnM6IFBsb25lRGVwbG95bWVudE9wdGlvbnMgPSB7XG4gICAgICBsYWJlbHM6IGJhY2tlbmRMYWJlbHMsXG4gICAgICBpbWFnZToge1xuICAgICAgICBpbWFnZTogYmFja2VuZC5pbWFnZSA/PyAncGxvbmUvcGxvbmUtYmFja2VuZDpsYXRlc3QnLFxuICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOiBvcHRpb25zLmltYWdlUHVsbFNlY3JldHMgPz8gW10sXG4gICAgICAgIGltYWdlUHVsbFBvbGljeTogYmFja2VuZC5pbWFnZVB1bGxQb2xpY3kgPz8gJ0lmTm90UHJlc2VudCcsXG4gICAgICB9LFxuICAgICAgcmVwbGljYXM6IGJhY2tlbmQucmVwbGljYXMsXG4gICAgICBsaW1pdENwdTogYmFja2VuZC5saW1pdENwdSA/PyAnNTAwbScsXG4gICAgICBsaW1pdE1lbW9yeTogYmFja2VuZC5saW1pdE1lbW9yeSA/PyAnNTEyTWknLFxuICAgICAgcmVxdWVzdENwdTogYmFja2VuZC5yZXF1ZXN0Q3B1ID8/ICcyMDBtJyxcbiAgICAgIHJlcXVlc3RNZW1vcnk6IGJhY2tlbmQucmVxdWVzdE1lbW9yeSA/PyAnMjU2TWknLFxuICAgICAgcGRiOiB7XG4gICAgICAgIG1heFVuYXZhaWxhYmxlOiBiYWNrZW5kLm1heFVuYXZhaWxhYmxlID8/IHVuZGVmaW5lZCxcbiAgICAgICAgbWluQXZhaWxhYmxlOiBiYWNrZW5kLm1pbkF2YWlsYWJsZSA/PyB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgcG9ydDogYmFja2VuZFBvcnQsXG4gICAgICBlbnZpcm9ubWVudDogYmFja2VuZC5lbnZpcm9ubWVudCxcbiAgICAgIGFubm90YXRpb25zOiBiYWNrZW5kLmFubm90YXRpb25zLFxuICAgICAgcG9kQW5ub3RhdGlvbnM6IGJhY2tlbmQucG9kQW5ub3RhdGlvbnMsXG4gICAgICBub2RlU2VsZWN0b3I6IGJhY2tlbmQubm9kZVNlbGVjdG9yLFxuICAgICAgc2VjdXJpdHlDb250ZXh0OiBiYWNrZW5kLnNlY3VyaXR5Q29udGV4dCBhcyBrOHMuU2VjdXJpdHlDb250ZXh0LFxuICAgIH07XG5cbiAgICAvLyBQcm9iaW5nXG4gICAgY29uc3QgYmFja2VuZEFjdGlvbkh0dHBHZXQ6IGs4cy5IdHRwR2V0QWN0aW9uID0ge1xuICAgICAgcGF0aDogJy8nLFxuICAgICAgcG9ydDogSW50T3JTdHJpbmcuZnJvbU51bWJlcihiYWNrZW5kUG9ydCksXG4gICAgfTtcbiAgICBpZiAoYmFja2VuZC5saXZlbmVzc0VuYWJsZWQgPz8gZmFsc2UpIHtcbiAgICAgIGJhY2tlbmRPcHRpb25zLmxpdmVuZXNzUHJvYmUgPSB7XG4gICAgICAgIGh0dHBHZXQ6IGJhY2tlbmRBY3Rpb25IdHRwR2V0LFxuICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiBiYWNrZW5kLmxpdmVuZXNzSW5pdGlhbERlbGF5U2Vjb25kcyA/PyAzMCxcbiAgICAgICAgdGltZW91dFNlY29uZHM6IGJhY2tlbmQubGl2ZW5lc3NUaW1lb3V0U2Vjb25kcyA/PyA1LFxuICAgICAgICBwZXJpb2RTZWNvbmRzOiBiYWNrZW5kLmxpdmVuZXNzUGVyaW9kU2Vjb25kcyA/PyAxMCxcbiAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogYmFja2VuZC5saXZlbmVzc1N1Y2Nlc3NUaHJlc2hvbGQgPz8gMSxcbiAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogYmFja2VuZC5saXZlbmVzc0ZhaWx1cmVUaHJlc2hvbGQgPz8gMyxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChiYWNrZW5kLnJlYWRpbmVzc0VuYWJsZWQgPz8gdHJ1ZSkge1xuICAgICAgYmFja2VuZE9wdGlvbnMucmVhZGluZXNzUHJvYmUgPSB7XG4gICAgICAgIGh0dHBHZXQ6IGJhY2tlbmRBY3Rpb25IdHRwR2V0LFxuICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiBiYWNrZW5kLnJlYWRpbmVzc0luaXRpYWxEZWxheVNlY29uZHMgPz8gMTAsXG4gICAgICAgIHRpbWVvdXRTZWNvbmRzOiBiYWNrZW5kLnJlYWRpbmVzc1RpbWVvdXRTZWNvbmRzID8/IDE1LFxuICAgICAgICBwZXJpb2RTZWNvbmRzOiBiYWNrZW5kLnJlYWRpbmVzc1BlcmlvZFNlY29uZHMgPz8gMTAsXG4gICAgICAgIHN1Y2Nlc3NUaHJlc2hvbGQ6IGJhY2tlbmQucmVhZGluZXNzU3VjY2Vzc1RocmVzaG9sZCA/PyAxLFxuICAgICAgICBmYWlsdXJlVGhyZXNob2xkOiBiYWNrZW5kLnJlYWRpbmVzc0ZhaWx1cmVUaHJlc2hvbGQgPz8gMyxcbiAgICAgIH07XG4gICAgfVxuICAgIC8vIERlcGxveW1lbnRcbiAgICB2YXIgYmFja2VuZERlcGxveW1lbnQgPSBuZXcgUGxvbmVEZXBsb3ltZW50KHRoaXMsICdiYWNrZW5kJywgYmFja2VuZE9wdGlvbnMpO1xuXG4gICAgLy8gU2VydmljZVxuICAgIGNvbnN0IGJhY2tlbmRTZXJ2aWNlID0gbmV3IFBsb25lU2VydmljZShiYWNrZW5kRGVwbG95bWVudCwgJ3NlcnZpY2UnLCB7XG4gICAgICBsYWJlbHM6IHtcbiAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL25hbWUnOiAncGxvbmUtYmFja2VuZC1zZXJ2aWNlJyxcbiAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL2NvbXBvbmVudCc6ICdzZXJ2aWNlJyxcbiAgICAgIH0sXG4gICAgICB0YXJnZXRQb3J0OiBiYWNrZW5kUG9ydCxcbiAgICAgIHNlbGVjdG9yTGFiZWw6IHsgYXBwOiBOYW1lcy50b0xhYmVsVmFsdWUoYmFja2VuZERlcGxveW1lbnQpIH0sXG4gICAgICBwb3J0TmFtZTogJ2JhY2tlbmQtaHR0cCcsXG4gICAgICBzcGVjOiB7XG4gICAgICAgIC4uLmJhY2tlbmQuc2VydmljZSxcbiAgICAgICAgYW5ub3RhdGlvbnM6IHsgLi4uYmFja2VuZC5zZXJ2aWNlQW5ub3RhdGlvbnMsIC4uLmJhY2tlbmQuc2VydmljZT8uYW5ub3RhdGlvbnMgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5iYWNrZW5kU2VydmljZU5hbWUgPSBiYWNrZW5kU2VydmljZS5uYW1lO1xuXG4gICAgLy8gU2VydmljZU1vbml0b3IgZm9yIGJhY2tlbmRcbiAgICBpZiAoYmFja2VuZC5zZXJ2aWNlbW9uaXRvcikge1xuICAgICAgdGhpcy5jcmVhdGVTZXJ2aWNlTW9uaXRvcihiYWNrZW5kU2VydmljZSwgJ2JhY2tlbmQnLCB7XG4gICAgICAgIHBvcnQ6IGJhY2tlbmQubWV0cmljc1BvcnQgPz8gJ2JhY2tlbmQtaHR0cCcsXG4gICAgICAgIHBhdGg6IGJhY2tlbmQubWV0cmljc1BhdGggPz8gJy9tZXRyaWNzJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEZyb250ZW5kXG4gICAgaWYgKHRoaXMudmFyaWFudCA9PSBQbG9uZVZhcmlhbnQuVk9MVE8pIHtcbiAgICAgIGNvbnN0IGZyb250ZW5kID0gb3B0aW9ucy5mcm9udGVuZCA/PyB7fTtcbiAgICAgIGNvbnN0IGZyb250ZW5kUG9ydCA9IDMwMDA7XG4gICAgICBjb25zdCBmcm9udGVuZExhYmVscyA9IHtcbiAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL25hbWUnOiAncGxvbmUtZnJvbnRlbmQnLFxuICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ2Zyb250ZW5kJyxcbiAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL3ZlcnNpb24nOiBvcHRpb25zLnZlcnNpb24gPz8gJ3VuZGVmaW5lZCcsXG4gICAgICB9O1xuXG4gICAgICAvLyBFbnZpcm9ubWVudCBmb3IgUkFaWkxFXG4gICAgICB2YXIgZnJvbnRlbmRFbnZpcm9ubWVudCA9IGZyb250ZW5kLmVudmlyb25tZW50ID8/IG5ldyBrcGx1cy5FbnYoW10sIHt9KTtcbiAgICAgIGlmIChmcm9udGVuZEVudmlyb25tZW50LnZhcmlhYmxlcy5SQVpaTEVfSU5URVJOQUxfQVBJX1BBVEggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBjb25uZWN0IHdpdGggYmFja2VuZCBzZXJ2aWNlXG4gICAgICAgIGZyb250ZW5kRW52aXJvbm1lbnQ/LmFkZFZhcmlhYmxlKCdSQVpaTEVfSU5URVJOQUxfQVBJX1BBVEgnLCBrcGx1cy5FbnZWYWx1ZS5mcm9tVmFsdWUoYGh0dHA6Ly8ke2JhY2tlbmRTZXJ2aWNlLm5hbWV9OiR7YmFja2VuZFBvcnR9LyR7dGhpcy5zaXRlSWR9YCkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPcHRpb25zXG4gICAgICB2YXIgZnJvbnRlbmRPcHRpb25zOiBQbG9uZURlcGxveW1lbnRPcHRpb25zID0ge1xuICAgICAgICBsYWJlbHM6IGZyb250ZW5kTGFiZWxzLFxuICAgICAgICBpbWFnZToge1xuICAgICAgICAgIGltYWdlOiBmcm9udGVuZC5pbWFnZSA/PyAncGxvbmUvcGxvbmUtZnJvbnRlbmQ6bGF0ZXN0JyxcbiAgICAgICAgICBpbWFnZVB1bGxTZWNyZXRzOiBvcHRpb25zLmltYWdlUHVsbFNlY3JldHMgPz8gW10sXG4gICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBmcm9udGVuZC5pbWFnZVB1bGxQb2xpY3kgPz8gJ0lmTm90UHJlc2VudCcsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcGxpY2FzOiBmcm9udGVuZC5yZXBsaWNhcyxcbiAgICAgICAgbGltaXRDcHU6IGZyb250ZW5kLmxpbWl0Q3B1ID8/ICc1MDBtJyxcbiAgICAgICAgbGltaXRNZW1vcnk6IGZyb250ZW5kLmxpbWl0TWVtb3J5ID8/ICcxR2knLFxuICAgICAgICByZXF1ZXN0Q3B1OiBmcm9udGVuZC5yZXF1ZXN0Q3B1ID8/ICcyMDBtJyxcbiAgICAgICAgcmVxdWVzdE1lbW9yeTogZnJvbnRlbmQucmVxdWVzdE1lbW9yeSA/PyAnMjU2TWknLFxuXG4gICAgICAgIHBkYjoge1xuICAgICAgICAgIG1heFVuYXZhaWxhYmxlOiBmcm9udGVuZC5tYXhVbmF2YWlsYWJsZSA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgbWluQXZhaWxhYmxlOiBmcm9udGVuZC5taW5BdmFpbGFibGUgPz8gdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICBwb3J0OiBmcm9udGVuZFBvcnQsXG4gICAgICAgIGVudmlyb25tZW50OiBmcm9udGVuZEVudmlyb25tZW50LFxuICAgICAgICBhbm5vdGF0aW9uczogZnJvbnRlbmQuYW5ub3RhdGlvbnMsXG4gICAgICAgIHBvZEFubm90YXRpb25zOiBmcm9udGVuZC5wb2RBbm5vdGF0aW9ucyxcbiAgICAgICAgbm9kZVNlbGVjdG9yOiBmcm9udGVuZC5ub2RlU2VsZWN0b3IsXG4gICAgICAgIHNlY3VyaXR5Q29udGV4dDogZnJvbnRlbmQuc2VjdXJpdHlDb250ZXh0IGFzIGs4cy5TZWN1cml0eUNvbnRleHQsXG4gICAgICB9O1xuXG4gICAgICAvLyBQcm9iaW5nXG4gICAgICBjb25zdCBmcm9udGVuZEFjdGlvbkh0dHBHZXQ6IGs4cy5IdHRwR2V0QWN0aW9uID0ge1xuICAgICAgICBwYXRoOiAnLycsXG4gICAgICAgIHBvcnQ6IEludE9yU3RyaW5nLmZyb21OdW1iZXIoZnJvbnRlbmRQb3J0KSxcbiAgICAgIH07XG4gICAgICBpZiAoZnJvbnRlbmQubGl2ZW5lc3NFbmFibGVkID8/IGZhbHNlKSB7XG4gICAgICAgIGZyb250ZW5kT3B0aW9ucy5saXZlbmVzc1Byb2JlID0ge1xuICAgICAgICAgIGh0dHBHZXQ6IGZyb250ZW5kQWN0aW9uSHR0cEdldCxcbiAgICAgICAgICBpbml0aWFsRGVsYXlTZWNvbmRzOiBmcm9udGVuZC5saXZlbmVzc0luaXRpYWxEZWxheVNlY29uZHMgPz8gMzAsXG4gICAgICAgICAgdGltZW91dFNlY29uZHM6IGZyb250ZW5kLmxpdmVuZXNzVGltZW91dFNlY29uZHMgPz8gNSxcbiAgICAgICAgICBwZXJpb2RTZWNvbmRzOiBmcm9udGVuZC5saXZlbmVzc1BlcmlvZFNlY29uZHMgPz8gMTAsXG4gICAgICAgICAgc3VjY2Vzc1RocmVzaG9sZDogZnJvbnRlbmQubGl2ZW5lc3NTdWNjZXNzVGhyZXNob2xkID8/IDEsXG4gICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogZnJvbnRlbmQubGl2ZW5lc3NGYWlsdXJlVGhyZXNob2xkID8/IDMsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoZnJvbnRlbmQucmVhZGluZXNzRW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICAgIGZyb250ZW5kT3B0aW9ucy5yZWFkaW5lc3NQcm9iZSA9IHtcbiAgICAgICAgICBodHRwR2V0OiBmcm9udGVuZEFjdGlvbkh0dHBHZXQsXG4gICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczogZnJvbnRlbmQucmVhZGluZXNzSW5pdGlhbERlbGF5U2Vjb25kcyA/PyAxMCxcbiAgICAgICAgICB0aW1lb3V0U2Vjb25kczogZnJvbnRlbmQucmVhZGluZXNzVGltZW91dFNlY29uZHMgPz8gMTUsXG4gICAgICAgICAgcGVyaW9kU2Vjb25kczogZnJvbnRlbmQucmVhZGluZXNzUGVyaW9kU2Vjb25kcyA/PyAxMCxcbiAgICAgICAgICBzdWNjZXNzVGhyZXNob2xkOiBmcm9udGVuZC5yZWFkaW5lc3NTdWNjZXNzVGhyZXNob2xkID8/IDEsXG4gICAgICAgICAgZmFpbHVyZVRocmVzaG9sZDogZnJvbnRlbmQucmVhZGluZXNzRmFpbHVyZVRocmVzaG9sZCA/PyAzLFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBEZXBsb3ltZW50XG4gICAgICBjb25zdCBmcm9udGVuZERlcGxveW1lbnQgPSBuZXcgUGxvbmVEZXBsb3ltZW50KHRoaXMsICdmcm9udGVuZCcsIGZyb250ZW5kT3B0aW9ucyk7XG5cbiAgICAgIC8vIFNlcnZpY2VcbiAgICAgIGNvbnN0IGZyb250ZW5kU2VydmljZSA9IG5ldyBQbG9uZVNlcnZpY2UoZnJvbnRlbmREZXBsb3ltZW50LCAnc2VydmljZScsIHtcbiAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL25hbWUnOiAncGxvbmUtZnJvbnRlbmQtc2VydmljZScsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL2NvbXBvbmVudCc6ICdzZXJ2aWNlJyxcbiAgICAgICAgfSxcbiAgICAgICAgdGFyZ2V0UG9ydDogZnJvbnRlbmRQb3J0LFxuICAgICAgICBzZWxlY3RvckxhYmVsOiB7IGFwcDogTmFtZXMudG9MYWJlbFZhbHVlKGZyb250ZW5kRGVwbG95bWVudCkgfSxcbiAgICAgICAgcG9ydE5hbWU6ICdmcm9udGVuZC1odHRwJyxcbiAgICAgICAgc3BlYzoge1xuICAgICAgICAgIC4uLmZyb250ZW5kLnNlcnZpY2UsXG4gICAgICAgICAgYW5ub3RhdGlvbnM6IHsgLi4uZnJvbnRlbmQuc2VydmljZUFubm90YXRpb25zLCAuLi5mcm9udGVuZC5zZXJ2aWNlPy5hbm5vdGF0aW9ucyB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICB0aGlzLmZyb250ZW5kU2VydmljZU5hbWUgPSBmcm9udGVuZFNlcnZpY2UubmFtZTtcblxuICAgICAgLy8gU2VydmljZU1vbml0b3IgZm9yIGZyb250ZW5kXG4gICAgICBpZiAoZnJvbnRlbmQuc2VydmljZW1vbml0b3IpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVTZXJ2aWNlTW9uaXRvcihmcm9udGVuZFNlcnZpY2UsICdmcm9udGVuZCcsIHtcbiAgICAgICAgICBwb3J0OiBmcm9udGVuZC5tZXRyaWNzUG9ydCA/PyAnZnJvbnRlbmQtaHR0cCcsXG4gICAgICAgICAgcGF0aDogZnJvbnRlbmQubWV0cmljc1BhdGggPz8gJy9tZXRyaWNzJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBQcm9tZXRoZXVzIFNlcnZpY2VNb25pdG9yIHJlc291cmNlIGZvciB0aGUgZ2l2ZW4gc2VydmljZS5cbiAgICogQHBhcmFtIHNlcnZpY2UgVGhlIFBsb25lU2VydmljZSB0byBtb25pdG9yXG4gICAqIEBwYXJhbSBpZCBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIFNlcnZpY2VNb25pdG9yXG4gICAqIEBwYXJhbSBjb25maWcgQ29uZmlndXJhdGlvbiBmb3IgdGhlIFNlcnZpY2VNb25pdG9yXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZVNlcnZpY2VNb25pdG9yKFxuICAgIHNlcnZpY2U6IFBsb25lU2VydmljZSxcbiAgICBpZDogc3RyaW5nLFxuICAgIGNvbmZpZzogeyBwb3J0OiBzdHJpbmcgfCBudW1iZXI7IHBhdGg6IHN0cmluZyB9LFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBwb3J0TmFtZSA9IHR5cGVvZiBjb25maWcucG9ydCA9PT0gJ3N0cmluZycgPyBjb25maWcucG9ydCA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwb3J0TnVtYmVyID0gdHlwZW9mIGNvbmZpZy5wb3J0ID09PSAnbnVtYmVyJ1xuICAgICAgPyBTZXJ2aWNlTW9uaXRvclNwZWNFbmRwb2ludHNUYXJnZXRQb3J0LmZyb21OdW1iZXIoY29uZmlnLnBvcnQpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIG5ldyBTZXJ2aWNlTW9uaXRvcih0aGlzLCBgc2VydmljZW1vbml0b3ItJHtpZH1gLCB7XG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBuYW1lOiBgJHtzZXJ2aWNlLm5hbWV9LW1vbml0b3JgLFxuICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6IHNlcnZpY2UubmFtZSxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ3NlcnZpY2Vtb25pdG9yJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzcGVjOiB7XG4gICAgICAgIHNlbGVjdG9yOiB7XG4gICAgICAgICAgbWF0Y2hMYWJlbHM6IHtcbiAgICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9uYW1lJzogc2VydmljZS5sYWJlbHNbJ2FwcC5rdWJlcm5ldGVzLmlvL25hbWUnXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBlbmRwb2ludHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi4ocG9ydE5hbWUgJiYgeyBwb3J0OiBwb3J0TmFtZSB9KSxcbiAgICAgICAgICAgIC4uLihwb3J0TnVtYmVyICYmIHsgdGFyZ2V0UG9ydDogcG9ydE51bWJlciB9KSxcbiAgICAgICAgICAgIHBhdGg6IGNvbmZpZy5wYXRoLFxuICAgICAgICAgICAgaW50ZXJ2YWw6ICczMHMnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59Il19
|
package/lib/service.js
CHANGED
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.PloneService = void 0;
|
|
4
37
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
5
38
|
const constructs_1 = require("constructs");
|
|
6
|
-
const k8s = require("./imports/k8s");
|
|
39
|
+
const k8s = __importStar(require("./imports/k8s"));
|
|
7
40
|
/**
|
|
8
41
|
* PloneService creates a Kubernetes Service for accessing Plone pods.
|
|
9
42
|
*
|
|
@@ -12,6 +45,15 @@ const k8s = require("./imports/k8s");
|
|
|
12
45
|
* or frontend deployment pods.
|
|
13
46
|
*/
|
|
14
47
|
class PloneService extends constructs_1.Construct {
|
|
48
|
+
/**
|
|
49
|
+
* The name of the created Kubernetes service.
|
|
50
|
+
* Can be used to reference this service from other resources.
|
|
51
|
+
*/
|
|
52
|
+
name;
|
|
53
|
+
/**
|
|
54
|
+
* The labels applied to this service.
|
|
55
|
+
*/
|
|
56
|
+
labels;
|
|
15
57
|
constructor(scope, id, options) {
|
|
16
58
|
super(scope, id);
|
|
17
59
|
const targetPort = k8s.IntOrString.fromNumber(options.targetPort);
|
|
@@ -55,4 +97,4 @@ class PloneService extends constructs_1.Construct {
|
|
|
55
97
|
}
|
|
56
98
|
}
|
|
57
99
|
exports.PloneService = PloneService;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZEQUE2RDtBQUM3RCwyQ0FBdUM7QUFDdkMscUNBQXFDO0FBMkhyQzs7Ozs7O0dBTUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxzQkFBUztJQVl6QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE9BQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDNUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFFcEMsTUFBTSxjQUFjLEdBQUc7WUFDckIsR0FBRyxRQUFRLENBQUMsTUFBTSxJQUFJLEVBQUU7WUFDeEIsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUU7WUFDdkIsMkJBQTJCLEVBQUUsT0FBTztZQUNwQyw4QkFBOEIsRUFBRSxhQUFhO1NBQzlDLENBQUM7UUFFRixNQUFNLGlCQUFpQixHQUFHO1lBQ3hCLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFO1lBQzVCLEdBQUcsUUFBUSxDQUFDLFdBQVcsSUFBSSxFQUFFO1NBQzlCLENBQUM7UUFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUU5RixNQUFNLElBQUksR0FBb0I7WUFDNUIsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQy9GLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtZQUNuQixtQkFBbUIsRUFBRSxRQUFRLENBQUMsbUJBQW1CO1lBQ2pELGVBQWUsRUFBRSxRQUFRLENBQUMsZUFBZTtZQUN6QyxxQkFBcUIsRUFBRSxRQUFRLENBQUMscUJBQXFCO1lBQ3JELHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxxQkFBcUI7WUFDckQsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLHdCQUF3QjtZQUMzRCxpQkFBaUIsRUFBRSxRQUFRLENBQUMsaUJBQWlCO1lBQzdDLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyx3QkFBd0I7WUFDM0QsMERBQTBEO1lBQzFELEdBQUcsUUFBUSxDQUFDLFNBQVMsSUFBSSxFQUFFO1NBQzVCLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBeUI7WUFDeEMsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxjQUFjO2dCQUN0QixXQUFXLEVBQUUsV0FBVzthQUN6QjtZQUNELElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQztRQUNGLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUExREQsb0NBMERDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgKiBhcyBrOHMgZnJvbSAnLi9pbXBvcnRzL2s4cyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGdlbmVyYXRlZCBLdWJlcm5ldGVzIFNlcnZpY2Ugc3BlYy5cbiAqXG4gKiBDdXJhdGVkIGZpZWxkcyBjb3ZlciB0aGUgY29tbW9uIGNhc2VzOyB1c2UgYG92ZXJyaWRlc2AgYXMgYW4gZXNjYXBlIGhhdGNoXG4gKiBmb3IgYW55IG90aGVyIGBTZXJ2aWNlU3BlY2AgZmllbGQuIGBvdmVycmlkZXNgIGhhcyB0aGUgaGlnaGVzdCBwcmVjZWRlbmNlIGFuZFxuICogY2FuIG92ZXJyaWRlIGV2ZXJ5IGZpZWxkLCBpbmNsdWRpbmcgdGhlIGNvbnN0cnVjdC1tYW5hZ2VkIGBwb3J0c2AvYHNlbGVjdG9yYFxuICogKGF0IHlvdXIgb3duIHJpc2spLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsb25lU2VydmljZVNwZWMge1xuICAvKipcbiAgICogU2VydmljZSB0eXBlLCBlLmcuIENsdXN0ZXJJUCB8IE5vZGVQb3J0IHwgTG9hZEJhbGFuY2VyIHwgRXh0ZXJuYWxOYW1lLlxuICAgKiBAZGVmYXVsdCAtIENsdXN0ZXJJUCAoS3ViZXJuZXRlcyBkZWZhdWx0KVxuICAgKi9cbiAgcmVhZG9ubHkgdHlwZT86IHN0cmluZztcblxuICAvKipcbiAgICogVHJhZmZpYyBkaXN0cmlidXRpb24gcHJlZmVyZW5jZSwgZS5nLiAnUHJlZmVyQ2xvc2UnIGZvciB0b3BvbG9neS1hd2FyZSByb3V0aW5nLlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHRyYWZmaWNEaXN0cmlidXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlc3Npb24gYWZmaW5pdHksICdDbGllbnRJUCcgfCAnTm9uZScuXG4gICAqIEBkZWZhdWx0IC0gTm9uZSAoS3ViZXJuZXRlcyBkZWZhdWx0KVxuICAgKi9cbiAgcmVhZG9ubHkgc2Vzc2lvbkFmZmluaXR5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHRlcm5hbCB0cmFmZmljIHBvbGljeSwgJ0NsdXN0ZXInIHwgJ0xvY2FsJy5cbiAgICogQGRlZmF1bHQgLSBDbHVzdGVyIChLdWJlcm5ldGVzIGRlZmF1bHQpXG4gICAqL1xuICByZWFkb25seSBleHRlcm5hbFRyYWZmaWNQb2xpY3k/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHRyYWZmaWMgcG9saWN5LCAnQ2x1c3RlcicgfCAnTG9jYWwnLlxuICAgKiBAZGVmYXVsdCAtIENsdXN0ZXIgKEt1YmVybmV0ZXMgZGVmYXVsdClcbiAgICovXG4gIHJlYWRvbmx5IGludGVybmFsVHJhZmZpY1BvbGljeT86IHN0cmluZztcblxuICAvKipcbiAgICogUHVibGlzaCBub3QtcmVhZHkgYWRkcmVzc2VzIChlLmcuIGZvciBoZWFkbGVzcyBzZXJ2aWNlcyB3aXRoIFN0YXRlZnVsU2V0cykuXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHB1Ymxpc2hOb3RSZWFkeUFkZHJlc3Nlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIExvYWQgYmFsYW5jZXIgaW1wbGVtZW50YXRpb24gY2xhc3MuXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyQ2xhc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNvdXJjZSBJUCByYW5nZXMgYWxsb3dlZCB0byBhY2Nlc3MgYSBMb2FkQmFsYW5jZXIgc2VydmljZS5cbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXJTb3VyY2VSYW5nZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW5ub3RhdGlvbnMgdG8gYWRkIHRvIHRoZSBTZXJ2aWNlIG1ldGFkYXRhLlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGFubm90YXRpb25zPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEV4dHJhIGxhYmVscyB0byBhZGQgdG8gdGhlIFNlcnZpY2UgbWV0YWRhdGEuXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbGFiZWxzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFJhdyBTZXJ2aWNlU3BlYyBvdmVycmlkZXMgYXMgYSBmcmVlLWZvcm0gbWFwIChlLmcuIGB7IGlwRmFtaWx5UG9saWN5OlxuICAgKiAnUHJlZmVyRHVhbFN0YWNrJyB9YCkuIEhpZ2hlc3QgcHJlY2VkZW5jZSDigJQgbWVyZ2VkIG9uIHRvcCBvZiBhbGwgY3VyYXRlZFxuICAgKiBmaWVsZHMgYW5kIHRoZSBjb25zdHJ1Y3QtbWFuYWdlZCBiYXNlLiBVc2UgZm9yIGFueSBTZXJ2aWNlU3BlYyBmaWVsZCBub3RcbiAgICogY292ZXJlZCBhYm92ZS4gS2V5cyBhbmQgdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCB0byB0aGUgU2VydmljZSBzcGVjXG4gICAqIHZlcmJhdGltIGFuZCBhcmUgbm90IHZhbGlkYXRlZCBieSB0aGlzIGNvbnN0cnVjdC5cbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsb25lU2VydmljZU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiB0YXJnZXRQb3J0IG51bWJlci5cbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFBvcnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogU2VsZWN0b3IgbGFiZWwuXG4gICAqL1xuICByZWFkb25seSBzZWxlY3RvckxhYmVsOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogRXh0cmEgbGFiZWxzIHRvIGFzc29jaWF0ZSB3aXRoIHJlc291cmNlcy5cbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBsYWJlbHM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogUG9ydCBuYW1lIGZvciB0aGUgc2VydmljZS5cbiAgICogQGRlZmF1bHQgLSAnaHR0cCdcbiAgICovXG4gIHJlYWRvbmx5IHBvcnROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbm5vdGF0aW9ucyB0byBhZGQgdG8gdGhlIFNlcnZpY2UgbWV0YWRhdGEuXG4gICAqIENvbW1vbiBhbm5vdGF0aW9ucyBpbmNsdWRlOiBleHRlcm5hbC1kbnMgY29uZmlnLCBsb2FkIGJhbGFuY2VyIHNldHRpbmdzLFxuICAgKiBzZXJ2aWNlIG1lc2ggY29uZmlndXJhdGlvbiwgZXRjLlxuICAgKiBAZXhhbXBsZSB7ICdleHRlcm5hbC1kbnMuYWxwaGEua3ViZXJuZXRlcy5pby9ob3N0bmFtZSc6ICdwbG9uZS5leGFtcGxlLmNvbScgfVxuICAgKiBAZGVmYXVsdCAtIG5vIGFkZGl0aW9uYWwgYW5ub3RhdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGFubm90YXRpb25zPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFNlcnZpY2Ugc3BlYyBjb25maWd1cmF0aW9uICh0eXBlLCB0cmFmZmljRGlzdHJpYnV0aW9uLCBzZXNzaW9uQWZmaW5pdHksXG4gICAqIHJhdyBvdmVycmlkZXMsIC4uLikuXG4gICAqIEBkZWZhdWx0IC0gY29uc3RydWN0LW1hbmFnZWQgZGVmYXVsdHMgb25seVxuICAgKi9cbiAgcmVhZG9ubHkgc3BlYz86IFBsb25lU2VydmljZVNwZWM7XG59XG5cbi8qKlxuICogUGxvbmVTZXJ2aWNlIGNyZWF0ZXMgYSBLdWJlcm5ldGVzIFNlcnZpY2UgZm9yIGFjY2Vzc2luZyBQbG9uZSBwb2RzLlxuICpcbiAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgY29uc3RydWN0IHVzZWQgYnkgdGhlIFBsb25lIGNsYXNzLlxuICogSXQgY3JlYXRlcyBhIENsdXN0ZXJJUCBzZXJ2aWNlIHRoYXQgcm91dGVzIHRyYWZmaWMgdG8gdGhlIGJhY2tlbmRcbiAqIG9yIGZyb250ZW5kIGRlcGxveW1lbnQgcG9kcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsb25lU2VydmljZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgY3JlYXRlZCBLdWJlcm5ldGVzIHNlcnZpY2UuXG4gICAqIENhbiBiZSB1c2VkIHRvIHJlZmVyZW5jZSB0aGlzIHNlcnZpY2UgZnJvbSBvdGhlciByZXNvdXJjZXMuXG4gICAqL1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWxzIGFwcGxpZWQgdG8gdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcHVibGljIGxhYmVsczogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogUGxvbmVTZXJ2aWNlT3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB0YXJnZXRQb3J0ID0gazhzLkludE9yU3RyaW5nLmZyb21OdW1iZXIob3B0aW9ucy50YXJnZXRQb3J0KTtcbiAgICBjb25zdCBzZWxlY3RvckxhYmVsID0gb3B0aW9ucy5zZWxlY3RvckxhYmVsO1xuICAgIGNvbnN0IHVzZXJTcGVjID0gb3B0aW9ucy5zcGVjID8/IHt9O1xuXG4gICAgY29uc3Qgc2VydmljZV9sYWJlbHMgPSB7XG4gICAgICAuLi51c2VyU3BlYy5sYWJlbHMgPz8ge30sXG4gICAgICAuLi5vcHRpb25zLmxhYmVscyA/PyB7fSxcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby9wYXJ0LW9mJzogJ3Bsb25lJyxcbiAgICAgICdhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5JzogJ2NkazhzLXBsb25lJyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWVyZ2VkQW5ub3RhdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLmFubm90YXRpb25zID8/IHt9LFxuICAgICAgLi4udXNlclNwZWMuYW5ub3RhdGlvbnMgPz8ge30sXG4gICAgfTtcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IE9iamVjdC5rZXlzKG1lcmdlZEFubm90YXRpb25zKS5sZW5ndGggPiAwID8gbWVyZ2VkQW5ub3RhdGlvbnMgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBzcGVjOiBrOHMuU2VydmljZVNwZWMgPSB7XG4gICAgICBwb3J0czogW3sgcG9ydDogb3B0aW9ucy50YXJnZXRQb3J0LCB0YXJnZXRQb3J0OiB0YXJnZXRQb3J0LCBuYW1lOiBvcHRpb25zLnBvcnROYW1lID8/ICdodHRwJyB9XSxcbiAgICAgIHNlbGVjdG9yOiBzZWxlY3RvckxhYmVsLFxuICAgICAgdHlwZTogdXNlclNwZWMudHlwZSxcbiAgICAgIHRyYWZmaWNEaXN0cmlidXRpb246IHVzZXJTcGVjLnRyYWZmaWNEaXN0cmlidXRpb24sXG4gICAgICBzZXNzaW9uQWZmaW5pdHk6IHVzZXJTcGVjLnNlc3Npb25BZmZpbml0eSxcbiAgICAgIGV4dGVybmFsVHJhZmZpY1BvbGljeTogdXNlclNwZWMuZXh0ZXJuYWxUcmFmZmljUG9saWN5LFxuICAgICAgaW50ZXJuYWxUcmFmZmljUG9saWN5OiB1c2VyU3BlYy5pbnRlcm5hbFRyYWZmaWNQb2xpY3ksXG4gICAgICBwdWJsaXNoTm90UmVhZHlBZGRyZXNzZXM6IHVzZXJTcGVjLnB1Ymxpc2hOb3RSZWFkeUFkZHJlc3NlcyxcbiAgICAgIGxvYWRCYWxhbmNlckNsYXNzOiB1c2VyU3BlYy5sb2FkQmFsYW5jZXJDbGFzcyxcbiAgICAgIGxvYWRCYWxhbmNlclNvdXJjZVJhbmdlczogdXNlclNwZWMubG9hZEJhbGFuY2VyU291cmNlUmFuZ2VzLFxuICAgICAgLy8gb3ZlcnJpZGVzIHdpbiBvdmVyIGV2ZXJ5dGhpbmcsIGluY2x1ZGluZyBwb3J0cy9zZWxlY3RvclxuICAgICAgLi4udXNlclNwZWMub3ZlcnJpZGVzID8/IHt9LFxuICAgIH07XG5cbiAgICBjb25zdCBzZXJ2aWNlT3B0czogazhzLkt1YmVTZXJ2aWNlUHJvcHMgPSB7XG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBsYWJlbHM6IHNlcnZpY2VfbGFiZWxzLFxuICAgICAgICBhbm5vdGF0aW9uczogYW5ub3RhdGlvbnMsXG4gICAgICB9LFxuICAgICAgc3BlYzogc3BlYyxcbiAgICB9O1xuICAgIGNvbnN0IHNlcnZpY2UgPSBuZXcgazhzLkt1YmVTZXJ2aWNlKHRoaXMsICdzZXJ2aWNlJywgc2VydmljZU9wdHMpO1xuICAgIHRoaXMubmFtZSA9IHNlcnZpY2UubmFtZTtcbiAgICB0aGlzLmxhYmVscyA9IHNlcnZpY2VfbGFiZWxzO1xuICB9XG59XG4iXX0=
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZEQUE2RDtBQUM3RCwyQ0FBdUM7QUFDdkMsbURBQXFDO0FBMkhyQzs7Ozs7O0dBTUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxzQkFBUztJQUN6Qzs7O09BR0c7SUFDSSxJQUFJLENBQVM7SUFFcEI7O09BRUc7SUFDSSxNQUFNLENBQTZCO0lBRTFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsT0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM1QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVwQyxNQUFNLGNBQWMsR0FBRztZQUNyQixHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksRUFBRTtZQUN4QixHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRTtZQUN2QiwyQkFBMkIsRUFBRSxPQUFPO1lBQ3BDLDhCQUE4QixFQUFFLGFBQWE7U0FDOUMsQ0FBQztRQUVGLE1BQU0saUJBQWlCLEdBQUc7WUFDeEIsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUU7WUFDNUIsR0FBRyxRQUFRLENBQUMsV0FBVyxJQUFJLEVBQUU7U0FDOUIsQ0FBQztRQUNGLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRTlGLE1BQU0sSUFBSSxHQUFvQjtZQUM1QixLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7WUFDL0YsUUFBUSxFQUFFLGFBQWE7WUFDdkIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQ25CLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxtQkFBbUI7WUFDakQsZUFBZSxFQUFFLFFBQVEsQ0FBQyxlQUFlO1lBQ3pDLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxxQkFBcUI7WUFDckQscUJBQXFCLEVBQUUsUUFBUSxDQUFDLHFCQUFxQjtZQUNyRCx3QkFBd0IsRUFBRSxRQUFRLENBQUMsd0JBQXdCO1lBQzNELGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxpQkFBaUI7WUFDN0Msd0JBQXdCLEVBQUUsUUFBUSxDQUFDLHdCQUF3QjtZQUMzRCwwREFBMEQ7WUFDMUQsR0FBRyxRQUFRLENBQUMsU0FBUyxJQUFJLEVBQUU7U0FDNUIsQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUF5QjtZQUN4QyxRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLFdBQVcsRUFBRSxXQUFXO2FBQ3pCO1lBQ0QsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDO0lBQy9CLENBQUM7Q0FDRjtBQTFERCxvQ0EwREMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGs4cyBmcm9tICcuL2ltcG9ydHMvazhzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgZ2VuZXJhdGVkIEt1YmVybmV0ZXMgU2VydmljZSBzcGVjLlxuICpcbiAqIEN1cmF0ZWQgZmllbGRzIGNvdmVyIHRoZSBjb21tb24gY2FzZXM7IHVzZSBgb3ZlcnJpZGVzYCBhcyBhbiBlc2NhcGUgaGF0Y2hcbiAqIGZvciBhbnkgb3RoZXIgYFNlcnZpY2VTcGVjYCBmaWVsZC4gYG92ZXJyaWRlc2AgaGFzIHRoZSBoaWdoZXN0IHByZWNlZGVuY2UgYW5kXG4gKiBjYW4gb3ZlcnJpZGUgZXZlcnkgZmllbGQsIGluY2x1ZGluZyB0aGUgY29uc3RydWN0LW1hbmFnZWQgYHBvcnRzYC9gc2VsZWN0b3JgXG4gKiAoYXQgeW91ciBvd24gcmlzaykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGxvbmVTZXJ2aWNlU3BlYyB7XG4gIC8qKlxuICAgKiBTZXJ2aWNlIHR5cGUsIGUuZy4gQ2x1c3RlcklQIHwgTm9kZVBvcnQgfCBMb2FkQmFsYW5jZXIgfCBFeHRlcm5hbE5hbWUuXG4gICAqIEBkZWZhdWx0IC0gQ2x1c3RlcklQIChLdWJlcm5ldGVzIGRlZmF1bHQpXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUcmFmZmljIGRpc3RyaWJ1dGlvbiBwcmVmZXJlbmNlLCBlLmcuICdQcmVmZXJDbG9zZScgZm9yIHRvcG9sb2d5LWF3YXJlIHJvdXRpbmcuXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJhZmZpY0Rpc3RyaWJ1dGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogU2Vzc2lvbiBhZmZpbml0eSwgJ0NsaWVudElQJyB8ICdOb25lJy5cbiAgICogQGRlZmF1bHQgLSBOb25lIChLdWJlcm5ldGVzIGRlZmF1bHQpXG4gICAqL1xuICByZWFkb25seSBzZXNzaW9uQWZmaW5pdHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4dGVybmFsIHRyYWZmaWMgcG9saWN5LCAnQ2x1c3RlcicgfCAnTG9jYWwnLlxuICAgKiBAZGVmYXVsdCAtIENsdXN0ZXIgKEt1YmVybmV0ZXMgZGVmYXVsdClcbiAgICovXG4gIHJlYWRvbmx5IGV4dGVybmFsVHJhZmZpY1BvbGljeT86IHN0cmluZztcblxuICAvKipcbiAgICogSW50ZXJuYWwgdHJhZmZpYyBwb2xpY3ksICdDbHVzdGVyJyB8ICdMb2NhbCcuXG4gICAqIEBkZWZhdWx0IC0gQ2x1c3RlciAoS3ViZXJuZXRlcyBkZWZhdWx0KVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJuYWxUcmFmZmljUG9saWN5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIG5vdC1yZWFkeSBhZGRyZXNzZXMgKGUuZy4gZm9yIGhlYWRsZXNzIHNlcnZpY2VzIHdpdGggU3RhdGVmdWxTZXRzKS5cbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHVibGlzaE5vdFJlYWR5QWRkcmVzc2VzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogTG9hZCBiYWxhbmNlciBpbXBsZW1lbnRhdGlvbiBjbGFzcy5cbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXJDbGFzcz86IHN0cmluZztcblxuICAvKipcbiAgICogU291cmNlIElQIHJhbmdlcyBhbGxvd2VkIHRvIGFjY2VzcyBhIExvYWRCYWxhbmNlciBzZXJ2aWNlLlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlclNvdXJjZVJhbmdlcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBbm5vdGF0aW9ucyB0byBhZGQgdG8gdGhlIFNlcnZpY2UgbWV0YWRhdGEuXG4gICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgYW5ub3RhdGlvbnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogRXh0cmEgbGFiZWxzIHRvIGFkZCB0byB0aGUgU2VydmljZSBtZXRhZGF0YS5cbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBsYWJlbHM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogUmF3IFNlcnZpY2VTcGVjIG92ZXJyaWRlcyBhcyBhIGZyZWUtZm9ybSBtYXAgKGUuZy4gYHsgaXBGYW1pbHlQb2xpY3k6XG4gICAqICdQcmVmZXJEdWFsU3RhY2snIH1gKS4gSGlnaGVzdCBwcmVjZWRlbmNlIOKAlCBtZXJnZWQgb24gdG9wIG9mIGFsbCBjdXJhdGVkXG4gICAqIGZpZWxkcyBhbmQgdGhlIGNvbnN0cnVjdC1tYW5hZ2VkIGJhc2UuIFVzZSBmb3IgYW55IFNlcnZpY2VTcGVjIGZpZWxkIG5vdFxuICAgKiBjb3ZlcmVkIGFib3ZlLiBLZXlzIGFuZCB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBTZXJ2aWNlIHNwZWNcbiAgICogdmVyYmF0aW0gYW5kIGFyZSBub3QgdmFsaWRhdGVkIGJ5IHRoaXMgY29uc3RydWN0LlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxvbmVTZXJ2aWNlT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIHRhcmdldFBvcnQgbnVtYmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0UG9ydDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTZWxlY3RvciBsYWJlbC5cbiAgICovXG4gIHJlYWRvbmx5IHNlbGVjdG9yTGFiZWw6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYSBsYWJlbHMgdG8gYXNzb2NpYXRlIHdpdGggcmVzb3VyY2VzLlxuICAgKiBAZGVmYXVsdCAtIG5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVscz86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBQb3J0IG5hbWUgZm9yIHRoZSBzZXJ2aWNlLlxuICAgKiBAZGVmYXVsdCAtICdodHRwJ1xuICAgKi9cbiAgcmVhZG9ubHkgcG9ydE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFubm90YXRpb25zIHRvIGFkZCB0byB0aGUgU2VydmljZSBtZXRhZGF0YS5cbiAgICogQ29tbW9uIGFubm90YXRpb25zIGluY2x1ZGU6IGV4dGVybmFsLWRucyBjb25maWcsIGxvYWQgYmFsYW5jZXIgc2V0dGluZ3MsXG4gICAqIHNlcnZpY2UgbWVzaCBjb25maWd1cmF0aW9uLCBldGMuXG4gICAqIEBleGFtcGxlIHsgJ2V4dGVybmFsLWRucy5hbHBoYS5rdWJlcm5ldGVzLmlvL2hvc3RuYW1lJzogJ3Bsb25lLmV4YW1wbGUuY29tJyB9XG4gICAqIEBkZWZhdWx0IC0gbm8gYWRkaXRpb25hbCBhbm5vdGF0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgYW5ub3RhdGlvbnM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogU2VydmljZSBzcGVjIGNvbmZpZ3VyYXRpb24gKHR5cGUsIHRyYWZmaWNEaXN0cmlidXRpb24sIHNlc3Npb25BZmZpbml0eSxcbiAgICogcmF3IG92ZXJyaWRlcywgLi4uKS5cbiAgICogQGRlZmF1bHQgLSBjb25zdHJ1Y3QtbWFuYWdlZCBkZWZhdWx0cyBvbmx5XG4gICAqL1xuICByZWFkb25seSBzcGVjPzogUGxvbmVTZXJ2aWNlU3BlYztcbn1cblxuLyoqXG4gKiBQbG9uZVNlcnZpY2UgY3JlYXRlcyBhIEt1YmVybmV0ZXMgU2VydmljZSBmb3IgYWNjZXNzaW5nIFBsb25lIHBvZHMuXG4gKlxuICogVGhpcyBpcyBhbiBpbnRlcm5hbCBjb25zdHJ1Y3QgdXNlZCBieSB0aGUgUGxvbmUgY2xhc3MuXG4gKiBJdCBjcmVhdGVzIGEgQ2x1c3RlcklQIHNlcnZpY2UgdGhhdCByb3V0ZXMgdHJhZmZpYyB0byB0aGUgYmFja2VuZFxuICogb3IgZnJvbnRlbmQgZGVwbG95bWVudCBwb2RzLlxuICovXG5leHBvcnQgY2xhc3MgUGxvbmVTZXJ2aWNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjcmVhdGVkIEt1YmVybmV0ZXMgc2VydmljZS5cbiAgICogQ2FuIGJlIHVzZWQgdG8gcmVmZXJlbmNlIHRoaXMgc2VydmljZSBmcm9tIG90aGVyIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYWJlbHMgYXBwbGllZCB0byB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBwdWJsaWMgbGFiZWxzOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBvcHRpb25zOiBQbG9uZVNlcnZpY2VPcHRpb25zKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHRhcmdldFBvcnQgPSBrOHMuSW50T3JTdHJpbmcuZnJvbU51bWJlcihvcHRpb25zLnRhcmdldFBvcnQpO1xuICAgIGNvbnN0IHNlbGVjdG9yTGFiZWwgPSBvcHRpb25zLnNlbGVjdG9yTGFiZWw7XG4gICAgY29uc3QgdXNlclNwZWMgPSBvcHRpb25zLnNwZWMgPz8ge307XG5cbiAgICBjb25zdCBzZXJ2aWNlX2xhYmVscyA9IHtcbiAgICAgIC4uLnVzZXJTcGVjLmxhYmVscyA/PyB7fSxcbiAgICAgIC4uLm9wdGlvbnMubGFiZWxzID8/IHt9LFxuICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL3BhcnQtb2YnOiAncGxvbmUnLFxuICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL21hbmFnZWQtYnknOiAnY2RrOHMtcGxvbmUnLFxuICAgIH07XG5cbiAgICBjb25zdCBtZXJnZWRBbm5vdGF0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMuYW5ub3RhdGlvbnMgPz8ge30sXG4gICAgICAuLi51c2VyU3BlYy5hbm5vdGF0aW9ucyA/PyB7fSxcbiAgICB9O1xuICAgIGNvbnN0IGFubm90YXRpb25zID0gT2JqZWN0LmtleXMobWVyZ2VkQW5ub3RhdGlvbnMpLmxlbmd0aCA+IDAgPyBtZXJnZWRBbm5vdGF0aW9ucyA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHNwZWM6IGs4cy5TZXJ2aWNlU3BlYyA9IHtcbiAgICAgIHBvcnRzOiBbeyBwb3J0OiBvcHRpb25zLnRhcmdldFBvcnQsIHRhcmdldFBvcnQ6IHRhcmdldFBvcnQsIG5hbWU6IG9wdGlvbnMucG9ydE5hbWUgPz8gJ2h0dHAnIH1dLFxuICAgICAgc2VsZWN0b3I6IHNlbGVjdG9yTGFiZWwsXG4gICAgICB0eXBlOiB1c2VyU3BlYy50eXBlLFxuICAgICAgdHJhZmZpY0Rpc3RyaWJ1dGlvbjogdXNlclNwZWMudHJhZmZpY0Rpc3RyaWJ1dGlvbixcbiAgICAgIHNlc3Npb25BZmZpbml0eTogdXNlclNwZWMuc2Vzc2lvbkFmZmluaXR5LFxuICAgICAgZXh0ZXJuYWxUcmFmZmljUG9saWN5OiB1c2VyU3BlYy5leHRlcm5hbFRyYWZmaWNQb2xpY3ksXG4gICAgICBpbnRlcm5hbFRyYWZmaWNQb2xpY3k6IHVzZXJTcGVjLmludGVybmFsVHJhZmZpY1BvbGljeSxcbiAgICAgIHB1Ymxpc2hOb3RSZWFkeUFkZHJlc3NlczogdXNlclNwZWMucHVibGlzaE5vdFJlYWR5QWRkcmVzc2VzLFxuICAgICAgbG9hZEJhbGFuY2VyQ2xhc3M6IHVzZXJTcGVjLmxvYWRCYWxhbmNlckNsYXNzLFxuICAgICAgbG9hZEJhbGFuY2VyU291cmNlUmFuZ2VzOiB1c2VyU3BlYy5sb2FkQmFsYW5jZXJTb3VyY2VSYW5nZXMsXG4gICAgICAvLyBvdmVycmlkZXMgd2luIG92ZXIgZXZlcnl0aGluZywgaW5jbHVkaW5nIHBvcnRzL3NlbGVjdG9yXG4gICAgICAuLi51c2VyU3BlYy5vdmVycmlkZXMgPz8ge30sXG4gICAgfTtcblxuICAgIGNvbnN0IHNlcnZpY2VPcHRzOiBrOHMuS3ViZVNlcnZpY2VQcm9wcyA9IHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIGxhYmVsczogc2VydmljZV9sYWJlbHMsXG4gICAgICAgIGFubm90YXRpb25zOiBhbm5vdGF0aW9ucyxcbiAgICAgIH0sXG4gICAgICBzcGVjOiBzcGVjLFxuICAgIH07XG4gICAgY29uc3Qgc2VydmljZSA9IG5ldyBrOHMuS3ViZVNlcnZpY2UodGhpcywgJ3NlcnZpY2UnLCBzZXJ2aWNlT3B0cyk7XG4gICAgdGhpcy5uYW1lID0gc2VydmljZS5uYW1lO1xuICAgIHRoaXMubGFiZWxzID0gc2VydmljZV9sYWJlbHM7XG4gIH1cbn1cbiJdfQ==
|