@bluedynamics/cdk8s-monitoring 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -88,6 +88,24 @@ new MonitoringChart(app, 'monitoring', mergeConfig({
88
88
 
89
89
  Both stay inert unless `enabled: true`, so the base stack and existing consumers are unaffected.
90
90
 
91
+ ### Embedding Grafana in an iframe (opt-in)
92
+
93
+ Grafana sends `X-Frame-Options: deny` by default, which blocks framing of the whole instance — including externally shared ("public") dashboards. `embedding` lifts that header and replaces it with a Content-Security-Policy that names the origins allowed to frame Grafana:
94
+
95
+ ```typescript
96
+ new MonitoringChart(app, 'monitoring', mergeConfig({
97
+ // ...required config...
98
+ embedding: {
99
+ enabled: true,
100
+ frameAncestors: ['https://console.example.com'],
101
+ },
102
+ }));
103
+ ```
104
+
105
+ - **`embedding`** (`EmbeddingConfig`): sets `allow_embedding`, `content_security_policy` and a `content_security_policy_template` in `grafana.ini`. `frameAncestors` are added to `frame-ancestors 'self' …`; the remaining directives are Grafana's own default policy. `mergeConfig` throws when `enabled: true` comes with an empty `frameAncestors` — an allow-all embed is never what you want.
106
+
107
+ Disabled by default. Enabling it turns CSP on for the whole instance, so verify the Grafana UI after rolling it out.
108
+
91
109
  ## Prerequisites
92
110
 
93
111
  The stack expects these to exist in the cluster:
@@ -26,5 +26,21 @@ export interface PrometheusStackProps {
26
26
  */
27
27
  export declare class PrometheusStackConstruct extends Construct {
28
28
  constructor(scope: Construct, id: string, props: PrometheusStackProps);
29
+ /**
30
+ * `[security]` section of grafana.ini, empty unless embedding is enabled.
31
+ *
32
+ * Grafana sends `X-Frame-Options: deny` unless `allow_embedding` is set, which
33
+ * blocks externally shared ("public") dashboards in an iframe just as much as
34
+ * the authenticated UI. Dropping that header alone would let any site frame
35
+ * Grafana, so it is paired with a Content-Security-Policy whose
36
+ * `frame-ancestors` names the allowed origins — browsers honour it in place of
37
+ * the removed header.
38
+ *
39
+ * The other directives are Grafana's own default template verbatim; `$NONCE`
40
+ * and `$ROOT_PATH` are expanded by Grafana per request. Only
41
+ * `$FORM_ACTION_ADDITIONAL_HOSTS` is dropped: it exists as a placeholder just
42
+ * in recent Grafanas, and older ones would emit it literally into the header.
43
+ */
44
+ private generateGrafanaSecurity;
29
45
  private generateHelmValues;
30
46
  }
@@ -56,6 +56,43 @@ class PrometheusStackConstruct extends constructs_1.Construct {
56
56
  },
57
57
  });
58
58
  }
59
+ /**
60
+ * `[security]` section of grafana.ini, empty unless embedding is enabled.
61
+ *
62
+ * Grafana sends `X-Frame-Options: deny` unless `allow_embedding` is set, which
63
+ * blocks externally shared ("public") dashboards in an iframe just as much as
64
+ * the authenticated UI. Dropping that header alone would let any site frame
65
+ * Grafana, so it is paired with a Content-Security-Policy whose
66
+ * `frame-ancestors` names the allowed origins — browsers honour it in place of
67
+ * the removed header.
68
+ *
69
+ * The other directives are Grafana's own default template verbatim; `$NONCE`
70
+ * and `$ROOT_PATH` are expanded by Grafana per request. Only
71
+ * `$FORM_ACTION_ADDITIONAL_HOSTS` is dropped: it exists as a placeholder just
72
+ * in recent Grafanas, and older ones would emit it literally into the header.
73
+ */
74
+ generateGrafanaSecurity(config) {
75
+ if (!config.embedding.enabled)
76
+ return '';
77
+ const policy = [
78
+ "script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE",
79
+ "object-src 'none'",
80
+ "font-src 'self'",
81
+ "style-src 'self' 'unsafe-inline' blob:",
82
+ 'img-src * data:',
83
+ "base-uri 'self'",
84
+ "connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH",
85
+ "manifest-src 'self'",
86
+ "media-src 'none'",
87
+ "form-action 'self'",
88
+ `frame-ancestors 'self' ${config.embedding.frameAncestors.join(' ')}`,
89
+ ].map((directive) => `${directive};`).join('');
90
+ return `
91
+ security:
92
+ allow_embedding: true
93
+ content_security_policy: true
94
+ content_security_policy_template: "${policy}"`;
95
+ }
59
96
  generateHelmValues(config) {
60
97
  // Tempo datasource is only provisioned when tracing is enabled. When
61
98
  // disabled this is empty, so the Grafana block is byte-identical to before.
@@ -330,6 +367,14 @@ grafana:
330
367
  userKey: "admin-user"
331
368
  passwordKey: "admin-password"
332
369
 
370
+ # Grafana runs http on :3000 behind the TLS-terminating ingress. Without an
371
+ # explicit root_url it builds share and public-dashboard links from the internal
372
+ # address (http://<pod>:3000); derive the external URL from the configured domain.
373
+ grafana.ini:
374
+ server:
375
+ domain: ${config.domains.grafana}
376
+ root_url: https://${config.domains.grafana}${this.generateGrafanaSecurity(config)}
377
+
333
378
  # Disable default Prometheus datasource (we provide our own pointing to Thanos Query)
334
379
  defaultDatasourceEnabled: false
335
380
 
@@ -473,4 +518,4 @@ kube-state-metrics:
473
518
  }
474
519
  }
475
520
  exports.PrometheusStackConstruct = PrometheusStackConstruct;
476
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWV0aGV1cy1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL3Byb21ldGhldXMtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWtDO0FBQ2xDLDJDQUF1QztBQVF2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsc0JBQVM7SUFDckQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXBDLDRCQUE0QjtRQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsa0RBQWtEO1FBQ2xELDJDQUEyQztRQUMzQyxJQUFJLGlCQUFTLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQzNDLFVBQVUsRUFBRSxtQkFBbUI7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixNQUFNLEVBQUU7b0JBQ04sd0JBQXdCLEVBQUUsdUJBQXVCO29CQUNqRCw2QkFBNkIsRUFBRSxZQUFZO29CQUMzQyw4QkFBOEIsRUFBRSxPQUFPO29CQUN2QywyQkFBMkIsRUFBRSxZQUFZO2lCQUMxQztnQkFDRCxXQUFXLEVBQUU7b0JBQ1gsOEJBQThCLEVBQUUsR0FBRztpQkFDcEM7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsb0RBQW9EO2dCQUMxRCxLQUFLLEVBQUUsdUJBQXVCO2dCQUM5QixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxT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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21CQXNDOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTs7VUFFNUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7Ozs7O1lBT3BCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTzs7OzthQUlyQixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRztnQkFDaEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU07O2FBRXpDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO2dCQUNsQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQXlCNUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21DQXNCQyxNQUFNLENBQUMsU0FBUzs7Ozs7Ozs7dURBUUksTUFBTSxDQUFDLFNBQVM7Ozs7Ozs7O21DQVFwQyxNQUFNLENBQUMsU0FBUzs7MEJBRXpCLGVBQWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXVDeEMsQ0FBQztJQUNBLENBQUM7Q0FDRjtBQXBjRCw0REFvY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlPYmplY3QgfSBmcm9tICdjZGs4cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE1vbml0b3JpbmdDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbWV0aGV1c1N0YWNrUHJvcHMge1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnO1xufVxuXG4vKipcbiAqIENyZWF0ZXMga3ViZS1wcm9tZXRoZXVzLXN0YWNrIEhlbG1DaGFydCB3aXRoIFByb21ldGhldXMsIEdyYWZhbmEsIGFuZCBBbGVydG1hbmFnZXIuXG4gKlxuICogVGhpcyBpcyB0aGUgY29yZSBtb25pdG9yaW5nIHN0YWNrIHRoYXQgaW5jbHVkZXM6XG4gKiAtIFByb21ldGhldXMgKG1ldHJpY3MgY29sbGVjdGlvbiwgMiByZXBsaWNhcywgM2QgcmV0ZW50aW9uKVxuICogLSBHcmFmYW5hICh2aXN1YWxpemF0aW9uLCBpbmdyZXNzIHdpdGggTGV0J3MgRW5jcnlwdClcbiAqIC0gQWxlcnRtYW5hZ2VyIChhbGVydCByb3V0aW5nLCBTTVRQIG5vdGlmaWNhdGlvbnMpXG4gKiAtIFByb21ldGhldXMgT3BlcmF0b3IgKG1hbmFnZXMgUHJvbWV0aGV1cyBDUkRzKVxuICogLSBOb2RlIEV4cG9ydGVyIChzeXN0ZW0gbWV0cmljcyBEYWVtb25TZXQpXG4gKiAtIGt1YmUtc3RhdGUtbWV0cmljcyAoS3ViZXJuZXRlcyByZXNvdXJjZSBtZXRyaWNzKVxuICpcbiAqIFByZXJlcXVpc2l0ZXM6XG4gKiAtIE5hbWVzcGFjZSBleGlzdHNcbiAqIC0gUHJpb3JpdHlDbGFzcyAnaGlnaC1wcmlvcml0eScgZXhpc3RzXG4gKiAtIExvbmdob3JuIHN0b3JhZ2UgY2xhc3MgYXZhaWxhYmxlXG4gKiAtIGNlcnQtbWFuYWdlciBDbHVzdGVySXNzdWVyIGNvbmZpZ3VyZWRcbiAqIC0gVGhhbm9zIFMzIHNlY3JldCBleGlzdHMgKHRoYW5vcy1vYmpzdG9yZS1jb25maWcpXG4gKlxuICogU3luYyBXYXZlOiAyIChjb3JlIHNlcnZpY2VzIC0gYWZ0ZXIgUzMgYnVja2V0cyBhbmQgc2VjcmV0cylcbiAqL1xuZXhwb3J0IGNsYXNzIFByb21ldGhldXNTdGFja0NvbnN0cnVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9tZXRoZXVzU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB7IG5hbWVzcGFjZSwgY29uZmlnIH0gPSBwcm9wcztcblxuICAgIC8vIEdlbmVyYXRlIEhlbG0gdmFsdWVzIFlBTUxcbiAgICBjb25zdCBoZWxtVmFsdWVzID0gdGhpcy5nZW5lcmF0ZUhlbG1WYWx1ZXMoY29uZmlnKTtcblxuICAgIC8vIENyZWF0ZSBIZWxtQ2hhcnQgcmVzb3VyY2UgKEszUyBIZWxtIGNvbnRyb2xsZXIpXG4gICAgLy8gV2F2ZSAyOiBDb3JlIFNlcnZpY2VzIC0gbW9uaXRvcmluZyBzdGFja1xuICAgIG5ldyBBcGlPYmplY3QodGhpcywgJ2t1YmUtcHJvbWV0aGV1cy1zdGFjaycsIHtcbiAgICAgIGFwaVZlcnNpb246ICdoZWxtLmNhdHRsZS5pby92MScsXG4gICAgICBraW5kOiAnSGVsbUNoYXJ0JyxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIG5hbWU6ICdrdWJlLXByb21ldGhldXMtc3RhY2snLFxuICAgICAgICBuYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL25hbWUnOiAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vY29tcG9uZW50JzogJ21vbml0b3JpbmcnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9tYW5hZ2VkLWJ5JzogJ2NkazhzJyxcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vcGFydC1vZic6ICdtb25pdG9yaW5nJyxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ub3RhdGlvbnM6IHtcbiAgICAgICAgICAnYXJnb2NkLmFyZ29wcm9qLmlvL3N5bmMtd2F2ZSc6ICcyJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzcGVjOiB7XG4gICAgICAgIHJlcG86ICdodHRwczovL3Byb21ldGhldXMtY29tbXVuaXR5LmdpdGh1Yi5pby9oZWxtLWNoYXJ0cycsXG4gICAgICAgIGNoYXJ0OiAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJyxcbiAgICAgICAgdmVyc2lvbjogY29uZmlnLnZlcnNpb25zLnByb21ldGhldXNTdGFjayA9PT0gJ2xhdGVzdCcgPyB1bmRlZmluZWQgOiBjb25maWcudmVyc2lvbnMucHJvbWV0aGV1c1N0YWNrLFxuICAgICAgICB0YXJnZXROYW1lc3BhY2U6IG5hbWVzcGFjZSxcbiAgICAgICAgdmFsdWVzQ29udGVudDogaGVsbVZhbHVlcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWc6IE1vbml0b3JpbmdDb25maWcpOiBzdHJpbmcge1xuICAgIC8vIFRlbXBvIGRhdGFzb3VyY2UgaXMgb25seSBwcm92aXNpb25lZCB3aGVuIHRyYWNpbmcgaXMgZW5hYmxlZC4gV2hlblxuICAgIC8vIGRpc2FibGVkIHRoaXMgaXMgZW1wdHksIHNvIHRoZSBHcmFmYW5hIGJsb2NrIGlzIGJ5dGUtaWRlbnRpY2FsIHRvIGJlZm9yZS5cbiAgICBjb25zdCB0ZW1wb0RhdGFzb3VyY2UgPSBjb25maWcudGVtcG8uZW5hYmxlZCA/IGBcbiAgICAgIC0gbmFtZTogVGVtcG9cbiAgICAgICAgdHlwZTogdGVtcG9cbiAgICAgICAgdWlkOiB0ZW1wb1xuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgIHVybDogaHR0cDovL3RlbXBvLiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWw6MzIwMFxuICAgICAgICBqc29uRGF0YTpcbiAgICAgICAgICB0aW1lb3V0OiA2MFxuICAgICAgICAgIHRyYWNlc1RvTG9nc1YyOlxuICAgICAgICAgICAgZGF0YXNvdXJjZVVpZDogbG9raVxuICAgICAgICAgICAgc3BhblN0YXJ0VGltZVNoaWZ0OiBcIi0xaFwiXG4gICAgICAgICAgICBzcGFuRW5kVGltZVNoaWZ0OiBcIjFoXCJcbiAgICAgICAgICAgIGZpbHRlckJ5VHJhY2VJRDogdHJ1ZVxuICAgICAgICAgIHRyYWNlc1RvTWV0cmljczpcbiAgICAgICAgICAgIGRhdGFzb3VyY2VVaWQ6IHRoYW5vc2AgOiAnJztcbiAgICByZXR1cm4gYGt1YmVFdGNkOlxuICBlbmFibGVkOiBmYWxzZVxuXG4jIERpc2FibGUga3ViZS1jb250cm9sbGVyLW1hbmFnZXIgYW5kIGt1YmUtc2NoZWR1bGVyIG1vbml0b3JpbmcuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2FibGVzcGFnaGV0dGkvazNzLW1vbml0b3JpbmcvaXNzdWVzLzJcbmt1YmVDb250cm9sbGVyTWFuYWdlcjpcbiAgZW5hYmxlZDogZmFsc2Vcbmt1YmVTY2hlZHVsZXI6XG4gIGVuYWJsZWQ6IGZhbHNlXG5cbiMgRGV0ZWN0IFBvZERpc3J1cHRpb25CdWRnZXRzIHRoYXQgd291bGQgYmxvY2sgYSBub2RlIGRyYWluIGR1cmluZyBrM3MgdXBncmFkZXMuXG4jIE9wZXJhdG9yLW1hbmFnZWQgUERCcyBzaXQgYXQgZGlzcnVwdGlvbnNBbGxvd2VkPTAgYnkgZGVzaWduIChMb25naG9ybiBpbnN0YW5jZS1tYW5hZ2VycyxcbiMgQ05QRyAqLXByaW1hcnkpIGFuZCBhcmUgZXhjbHVkZWQgc28gdGhlIGFsZXJ0IG9ubHkgZmlyZXMgb24gYW5vbWFsb3VzIGFwcCBQREJzLlxuYWRkaXRpb25hbFByb21ldGhldXNSdWxlc01hcDpcbiAgcGRiLWRyYWluLXNhZmV0eTpcbiAgICBncm91cHM6XG4gICAgICAtIG5hbWU6IHBkYi5ydWxlc1xuICAgICAgICBpbnRlcnZhbDogMW1cbiAgICAgICAgcnVsZXM6XG4gICAgICAgICAgLSBhbGVydDogUG9kRGlzcnVwdGlvbkJ1ZGdldFVuZHJhaW5hYmxlXG4gICAgICAgICAgICBleHByOiBrdWJlX3BvZGRpc3J1cHRpb25idWRnZXRfc3RhdHVzX3BvZF9kaXNydXB0aW9uc19hbGxvd2Vke25hbWVzcGFjZSE9XCJsb25naG9ybi1zeXN0ZW1cIiwgcG9kZGlzcnVwdGlvbmJ1ZGdldCF+XCIuKi1wcmltYXJ5XCJ9ID09IDBcbiAgICAgICAgICAgIGZvcjogMTVtXG4gICAgICAgICAgICBsYWJlbHM6XG4gICAgICAgICAgICAgIHNldmVyaXR5OiB3YXJuaW5nXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogY2x1c3Rlci11cGdyYWRlXG4gICAgICAgICAgICBhbm5vdGF0aW9uczpcbiAgICAgICAgICAgICAgc3VtbWFyeTogXCJQREIge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19IGFsbG93cyAwIHZvbHVudGFyeSBkaXNydXB0aW9uc1wiXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB8XG4gICAgICAgICAgICAgICAgVGhlIFBvZERpc3J1cHRpb25CdWRnZXQge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19XG4gICAgICAgICAgICAgICAgaGFzIGFsbG93ZWQgMCB2b2x1bnRhcnkgZGlzcnVwdGlvbnMgZm9yIG92ZXIgMTUgbWludXRlcy4gVGhpcyB3aWxsIGJsb2NrIGEgbm9kZVxuICAgICAgICAgICAgICAgIGRyYWluIGR1cmluZyBrM3MgdXBncmFkZXMuIE9wZXJhdG9yLW1hbmFnZWQgUERCcyAoTG9uZ2hvcm4sIENOUEcgcHJpbWFyaWVzKSBhcmVcbiAgICAgICAgICAgICAgICBleGNsdWRlZCBmcm9tIHRoaXMgYWxlcnQuIExpa2VseSBhIGRlZ3JhZGVkIGRlcGxveW1lbnQgKDAgaGVhbHRoeSBwb2RzKSBvciBhXG4gICAgICAgICAgICAgICAgc2luZ2xlLXJlcGxpY2EgZGVwbG95bWVudCB3aXRoIG1pbkF2YWlsYWJsZT0xLlxuICAgICAgICAgICAgICAgIENoZWNrOiBrdWJlY3RsIGdldCBwZGIgLW4ge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ge3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19XG4gICAgICAgICAgLSBhbGVydDogUG9kRGlzcnVwdGlvbkJ1ZGdldFVuZHJhaW5hYmxlQ3JpdGljYWxcbiAgICAgICAgICAgIGV4cHI6IGt1YmVfcG9kZGlzcnVwdGlvbmJ1ZGdldF9zdGF0dXNfcG9kX2Rpc3J1cHRpb25zX2FsbG93ZWR7bmFtZXNwYWNlIT1cImxvbmdob3JuLXN5c3RlbVwiLCBwb2RkaXNydXB0aW9uYnVkZ2V0IX5cIi4qLXByaW1hcnlcIn0gPT0gMFxuICAgICAgICAgICAgZm9yOiAxaFxuICAgICAgICAgICAgbGFiZWxzOlxuICAgICAgICAgICAgICBzZXZlcml0eTogY3JpdGljYWxcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBjbHVzdGVyLXVwZ3JhZGVcbiAgICAgICAgICAgIGFubm90YXRpb25zOlxuICAgICAgICAgICAgICBzdW1tYXJ5OiBcIlBEQiB7eyAkbGFiZWxzLm5hbWVzcGFjZSB9fS97eyAkbGFiZWxzLnBvZGRpc3J1cHRpb25idWRnZXQgfX0gdW5kcmFpbmFibGUgPjFoXCJcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHxcbiAgICAgICAgICAgICAgICBQREIge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19IGhhcyBibG9ja2VkXG4gICAgICAgICAgICAgICAgdm9sdW50YXJ5IGRpc3J1cHRpb25zIGZvciBvdmVyIGFuIGhvdXIuIEEgazNzIGFnZW50IHVwZ3JhZGUgd291bGQgc3RhbGwgb24gdGhpcyBub2RlLlxuIyBEcm9wIGhpZ2gtY2FyZGluYWxpdHkgQVBJIHNlcnZlciBhbmQgZXRjZCBoaXN0b2dyYW0gYnVja2V0cyB0byByZWR1Y2UgbWVtb3J5IHVzYWdlXG4jIFRoZXNlIG1ldHJpY3MgYWxvbmUgYWNjb3VudCBmb3IgfjIwMGsgc2VyaWVzICg0NyUgb2YgdG90YWwgY2FyZGluYWxpdHkpXG4jIFdlIGtlZXAgX3N1bSBhbmQgX2NvdW50IHN1ZmZpeGVzIHdoaWNoIGFyZSBzdWZmaWNpZW50IGZvciByYXRlIGNhbGN1bGF0aW9uc1xua3ViZUFwaVNlcnZlcjpcbiAgc2VydmljZU1vbml0b3I6XG4gICAgbWV0cmljUmVsYWJlbGluZ3M6XG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3Rfc2xpX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfYm9keV9zaXplX2J5dGVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXNwb25zZV9zaXplc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdldGNkX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuXG4jIEt1YmVsZXQgYWxzbyBleHBvc2VzIGFwaXNlcnZlciBtZXRyaWNzIC0gYXBwbHkgc2FtZSBmaWx0ZXJzXG5rdWJlbGV0OlxuICBzZXJ2aWNlTW9uaXRvcjpcbiAgICBtZXRyaWNSZWxhYmVsaW5nczpcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9zbGlfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9ib2R5X3NpemVfYnl0ZXNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3Jlc3BvbnNlX3NpemVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2V0Y2RfcmVxdWVzdF9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG5cbmFsZXJ0bWFuYWdlcjpcbiAgY29uZmlnOlxuICAgIGdsb2JhbDpcbiAgICAgIHNtdHBfZnJvbTogJHtjb25maWcuc210cC5mcm9tfVxuICAgICAgc210cF9zbWFydGhvc3Q6ICR7Y29uZmlnLnNtdHAuaG9zdH06JHtjb25maWcuc210cC5wb3J0fVxuICAgICAgc210cF9yZXF1aXJlX3RsczogJHtjb25maWcuc210cC5yZXF1aXJlVGxzfVxuICAgICAgc210cF9hdXRoX3VzZXJuYW1lOiAke2NvbmZpZy5zbXRwLnVzZXJuYW1lIHx8IGNvbmZpZy5zbXRwLmZyb219XG4gICAgICBzbXRwX2F1dGhfcGFzc3dvcmQ6ICR7Y29uZmlnLnNtdHAucGFzc3dvcmQgfHwgJyd9XG4gICAgcm91dGU6XG4gICAgICBncm91cF9ieTogWydqb2InXVxuICAgICAgZ3JvdXBfd2FpdDogMzBzXG4gICAgICBncm91cF9pbnRlcnZhbDogNW1cbiAgICAgIHJlcGVhdF9pbnRlcnZhbDogMWhcbiAgICAgIHJlY2VpdmVyOiBlbWFpbFxuICAgICAgcm91dGVzOlxuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IFdhdGNoZG9nXG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBDUFVUaHJvdHRsaW5nSGlnaFxuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogS3ViZU1lbW9yeU92ZXJjb21taXRcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IEt1YmVDUFVPdmVyY29tbWl0XG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBLdWJlbGV0VG9vTWFueVBvZHNcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuXG4gICAgcmVjZWl2ZXJzOlxuICAgIC0gbmFtZTogJ251bGwnXG4gICAgLSBuYW1lOiBlbWFpbFxuICAgICAgZW1haWxfY29uZmlnczpcbiAgICAgIC0gc2VuZF9yZXNvbHZlZDogdHJ1ZVxuICAgICAgICB0bzogJHtjb25maWcuc210cC5mcm9tfVxuXG4gICAgIyBJbmhpYml0aW9uIHJ1bGVzIGFsbG93IHRvIG11dGUgYSBzZXQgb2YgYWxlcnRzIGdpdmVuIHRoYXQgYW5vdGhlciBhbGVydCBpcyBmaXJpbmcuXG4gICAgIyBXZSB1c2UgdGhpcyB0byBtdXRlIGFueSB3YXJuaW5nLWxldmVsIG5vdGlmaWNhdGlvbnMgaWYgdGhlIHNhbWUgYWxlcnQgaXMgYWxyZWFkeSBjcml0aWNhbC5cbiAgICBpbmhpYml0X3J1bGVzOlxuICAgIC0gc291cmNlX21hdGNoOlxuICAgICAgICBzZXZlcml0eTogJ2NyaXRpY2FsJ1xuICAgICAgdGFyZ2V0X21hdGNoOlxuICAgICAgICBzZXZlcml0eTogJ3dhcm5pbmcnXG4gICAgICAjIEFwcGx5IGluaGliaXRpb24gaWYgdGhlIGFsZXJ0bmFtZSBpcyB0aGUgc2FtZS5cbiAgICAgIGVxdWFsOiBbJ2FsZXJ0bmFtZScsICduYW1lc3BhY2UnXVxuXG4gIGFsZXJ0bWFuYWdlclNwZWM6XG4gICAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLmFsZXJ0bWFuYWdlcn1cbiAgICBwb2RBbnRpQWZmaW5pdHk6IFwic29mdFwiXG4gICAgc3RvcmFnZTpcbiAgICAgIHZvbHVtZUNsYWltVGVtcGxhdGU6XG4gICAgICAgIHNwZWM6XG4gICAgICAgICAgYWNjZXNzTW9kZXM6IFtcIlJlYWRXcml0ZU9uY2VcIl1cbiAgICAgICAgICByZXNvdXJjZXM6XG4gICAgICAgICAgICByZXF1ZXN0czpcbiAgICAgICAgICAgICAgc3RvcmFnZTogJHtjb25maWcuc3RvcmFnZS5hbGVydG1hbmFnZXJ9XG4gICAgcmVzb3VyY2VzOlxuICAgICAgbGltaXRzOlxuICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5hbGVydG1hbmFnZXIubGltaXRzLmNwdX1cbiAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxlcnRtYW5hZ2VyLmxpbWl0cy5tZW1vcnl9XG4gICAgICByZXF1ZXN0czpcbiAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxlcnRtYW5hZ2VyLnJlcXVlc3RzLmNwdX1cbiAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxlcnRtYW5hZ2VyLnJlcXVlc3RzLm1lbW9yeX1cbiAgICBwcmlvcml0eUNsYXNzTmFtZTogaGlnaC1wcmlvcml0eVxuXG4gICAgIyBTaWRlY2FyIGNvbnRhaW5lcnMgcmVzb3VyY2UgcmVxdWVzdHMgKGFkZGVkIDIwMjUtMTEtMTgpXG4gICAgY29udGFpbmVyczpcbiAgICAtIG5hbWU6IGNvbmZpZy1yZWxvYWRlclxuICAgICAgcmVzb3VyY2VzOlxuICAgICAgICByZXF1ZXN0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMubWVtb3J5fVxuICAgICAgICBsaW1pdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMubWVtb3J5fVxuXG5cbnByb21ldGhldXM6XG4gICMgRW5hYmxlIFRoYW5vcyBzZXJ2aWNlIGZvciBnUlBDIGNvbW11bmljYXRpb25cbiAgIyBSZXF1aXJlZCBmb3IgSGVsbSBjaGFydCB0byBwcm9wZXJseSByZW5kZXIgVGhhbm9zIHNpZGVjYXIgY29uZmlndXJhdGlvblxuICB0aGFub3NTZXJ2aWNlOlxuICAgIGVuYWJsZWQ6IHRydWVcblxuICBwcm9tZXRoZXVzU3BlYzpcbiAgICByZXRlbnRpb246ICR7Y29uZmlnLnJldGVudGlvbi5wcm9tZXRoZXVzfSAgIyBSZWR1Y2VkIGZyb20gN2QgLSBUaGFub3MgcHJvdmlkZXMgbG9uZy10ZXJtIHN0b3JhZ2UgaW4gUzNcblxuICAgICMgRGlzY292ZXIgQUxMIFNlcnZpY2VNb25pdG9ycywgUG9kTW9uaXRvcnMgYW5kIFByb21ldGhldXNSdWxlcyBpbiBBTEwgbmFtZXNwYWNlc1xuICAgICMgU2V0dGluZyBOaWxVc2VzSGVsbVZhbHVlczogZmFsc2UgbWVhbnMgbmlsIHNlbGVjdG9ycyA9IFwic2VsZWN0IGFsbFwiXG4gICAgIyBFbXB0eSBuYW1lc3BhY2Ugc2VsZWN0b3JzIHt9IG1lYW4gXCJzZWFyY2ggYWxsIG5hbWVzcGFjZXNcIlxuICAgICMgV2l0aG91dCB0aGUgcnVsZSogc2V0dGluZ3MsIHJ1bGVTZWxlY3RvciBrZWVwcyB0aGUgY2hhcnQgZGVmYXVsdFxuICAgICMgKG1hdGNoTGFiZWxzOiB7cmVsZWFzZTogPG5hbWU+fSkgYW5kIGhhbmQtYXV0aG9yZWQgUHJvbWV0aGV1c1J1bGVzIHRoYXRcbiAgICAjIGxhY2sgdGhlIHJlbGVhc2UgbGFiZWwgYXJlIHNpbGVudGx5IGlnbm9yZWQuXG4gICAgIyBOb3RlOiBUaGlzIGRvZXMgTk9UIGFmZmVjdCBUaGFub3Mgc2lkZWNhciAtIGNvbnRyb2xsZWQgYnkgdGhhbm9zLm9iamVjdFN0b3JhZ2VDb25maWdcbiAgICBzZXJ2aWNlTW9uaXRvclNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgcG9kTW9uaXRvclNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgcnVsZVNlbGVjdG9yTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlXG4gICAgc2VydmljZU1vbml0b3JOYW1lc3BhY2VTZWxlY3Rvcjoge31cbiAgICBwb2RNb25pdG9yTmFtZXNwYWNlU2VsZWN0b3I6IHt9XG4gICAgcnVsZU5hbWVzcGFjZVNlbGVjdG9yOiB7fVxuXG4gICAgcmVwbGljYXM6ICR7Y29uZmlnLnJlcGxpY2FzLnByb21ldGhldXN9XG4gICAgcG9kQW50aUFmZmluaXR5OiBcImhhcmRcIlxuICAgIHN0b3JhZ2VTcGVjOlxuICAgICAgdm9sdW1lQ2xhaW1UZW1wbGF0ZTpcbiAgICAgICAgc3BlYzpcbiAgICAgICAgICBzdG9yYWdlQ2xhc3NOYW1lOiBsb25naG9yblxuICAgICAgICAgIGFjY2Vzc01vZGVzOiBbXCJSZWFkV3JpdGVPbmNlXCJdXG4gICAgICAgICAgcmVzb3VyY2VzOlxuICAgICAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgICAgIHN0b3JhZ2U6ICR7Y29uZmlnLnN0b3JhZ2UucHJvbWV0aGV1c30gICMgUmVkdWNlZCBmcm9tIDZHaSAoM2QgcmV0ZW50aW9uIG5lZWRzIGxlc3Mgc3BhY2UpXG5cbiAgICByZXNvdXJjZXM6XG4gICAgICBsaW1pdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMubGltaXRzLmNwdX1cbiAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMucHJvbWV0aGV1cy5saW1pdHMubWVtb3J5fVxuICAgICAgcmVxdWVzdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMucmVxdWVzdHMuY3B1fVxuICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5wcm9tZXRoZXVzLnJlcXVlc3RzLm1lbW9yeX1cbiAgICBwcmlvcml0eUNsYXNzTmFtZTogaGlnaC1wcmlvcml0eVxuXG4gICAgIyBFeHRlcm5hbCBsYWJlbHMgZm9yIG11bHRpLWNsdXN0ZXIgaWRlbnRpZmljYXRpb24gYW5kIFRoYW5vc1xuICAgIGV4dGVybmFsTGFiZWxzOlxuICAgICAgY2x1c3RlcjogJHtjb25maWcuY2x1c3Rlck5hbWV9XG4gICAgICByZXBsaWNhOiBcIiQoUE9EX05BTUUpXCJcblxuICAgICMgVGhhbm9zIHNpZGVjYXIgZm9yIGxvbmctdGVybSBtZXRyaWNzIHN0b3JhZ2UgaW4gUzNcbiAgICAjIE5PVEU6IGNoYXJ0ID49ODUueCByZXF1aXJlcyB0aGUgZXhpc3RpbmdTZWNyZXQgc2hhcGUuIFRoZSBsZWdhY3kgZmxhdFxuICAgICMge25hbWUsIGtleX0gZm9ybSBpcyBzaWxlbnRseSBkcm9wcGVkIGJ5IHRoZSBjaGFydCwgd2hpY2ggcmVtb3ZlcyB0aGVcbiAgICAjIHNpZGVjYXIgYW5kIHN0b3BzIGFsbCBTMyBibG9jayB1cGxvYWRzIChyZWdyZXNzaW9uIHNlZW4gMjAyNi0wMy0zMSkuXG4gICAgdGhhbm9zOlxuICAgICAgb2JqZWN0U3RvcmFnZUNvbmZpZzpcbiAgICAgICAgZXhpc3RpbmdTZWNyZXQ6XG4gICAgICAgICAgbmFtZTogdGhhbm9zLW9ianN0b3JlLWNvbmZpZyAgIyBFU08tbWFuYWdlZCBzZWNyZXRcbiAgICAgICAgICBrZXk6IG9ianN0b3JlLnltbFxuXG4gICAgIyBTaWRlY2FyIGNvbnRhaW5lcnMgcmVzb3VyY2UgcmVxdWVzdHMgKGFkZGVkIDIwMjUtMTEtMTgpXG4gICAgIyBOT1RFOiB0aGFub3Mtc2lkZWNhciBpcyBOT1QgbGlzdGVkIGhlcmUgLSBpdCdzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgUHJvbWV0aGV1cyBPcGVyYXRvclxuICAgICMgd2hlbiB0aGFub3Mub2JqZWN0U3RvcmFnZUNvbmZpZyBpcyBzZXQuIFNwZWNpZnlpbmcgaXQgaW4gY29udGFpbmVyc1tdIHdvdWxkIG92ZXJyaWRlXG4gICAgIyB0aGUgb3BlcmF0b3IncyBkZWZpbml0aW9uIGFuZCByZXF1aXJlIHVzIHRvIG1hbnVhbGx5IHNwZWNpZnkgdGhlIGltYWdlLCB3aGljaCBicmVha3NcbiAgICAjIHdoZW4gdGhlIG9wZXJhdG9yIHVwZGF0ZXMgdGhlIHRoYW5vcyB2ZXJzaW9uLlxuICAgIGNvbnRhaW5lcnM6XG4gICAgLSBuYW1lOiBjb25maWctcmVsb2FkZXJcbiAgICAgIHJlc291cmNlczpcbiAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMuY3B1fVxuICAgICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLnJlcXVlc3RzLm1lbW9yeX1cbiAgICAgICAgbGltaXRzOlxuICAgICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLmxpbWl0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLm1lbW9yeX1cblxuICAgIHNlcnZpY2U6XG4gICAgICBzZXNzaW9uQWZmaW5pdHk6IFwiQ2xpZW50SVBcIlxuXG5cbmdyYWZhbmE6XG4gICMgUmVjcmVhdGUgc3RyYXRlZ3kgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGUgc3RvcmFnZSBQVkMgaXMgUldPOlxuICAjIGEgUm9sbGluZ1VwZGF0ZSB3b3VsZCBzdXJnZSBhIHNlY29uZCBwb2QgdGhhdCBjYW5ub3QgbW91bnQgdGhlXG4gICMgdm9sdW1lIChGYWlsZWRBdHRhY2hWb2x1bWUpLCBibG9ja2luZyB0aGUgcm9sbG91dCBpbmRlZmluaXRlbHkuXG4gIGRlcGxveW1lbnRTdHJhdGVneTpcbiAgICB0eXBlOiBSZWNyZWF0ZVxuXG4gICMgVXNlIGV4aXN0aW5nIHNlY3JldCBmb3IgYWRtaW4gY3JlZGVudGlhbHMgKG1hbmFnZWQgYnkgRVNPKVxuICAjIFRoaXMgcHJldmVudHMgcGFzc3dvcmQgcmVnZW5lcmF0aW9uIG9uIEhlbG0gdXBncmFkZXNcbiAgYWRtaW46XG4gICAgZXhpc3RpbmdTZWNyZXQ6IFwiZ3JhZmFuYS1hZG1pbi1jcmVkZW50aWFsc1wiXG4gICAgdXNlcktleTogXCJhZG1pbi11c2VyXCJcbiAgICBwYXNzd29yZEtleTogXCJhZG1pbi1wYXNzd29yZFwiXG5cbiAgIyBEaXNhYmxlIGRlZmF1bHQgUHJvbWV0aGV1cyBkYXRhc291cmNlICh3ZSBwcm92aWRlIG91ciBvd24gcG9pbnRpbmcgdG8gVGhhbm9zIFF1ZXJ5KVxuICBkZWZhdWx0RGF0YXNvdXJjZUVuYWJsZWQ6IGZhbHNlXG5cbiAgIyBTaWRlY2FyIGNvbnRhaW5lcnMgZm9yIGRhc2hib2FyZC9kYXRhc291cmNlIHByb3Zpc2lvbmluZ1xuICBzaWRlY2FyOlxuICAgIHJlc291cmNlczpcbiAgICAgIHJlcXVlc3RzOlxuICAgICAgICBjcHU6IDEwbVxuICAgICAgICBtZW1vcnk6IDI1Nk1pXG4gICAgICBsaW1pdHM6XG4gICAgICAgIGNwdTogMTAwbVxuICAgICAgICBtZW1vcnk6IDUxMk1pXG4gICAgZGFzaGJvYXJkczpcbiAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICBkYXRhc291cmNlczpcbiAgICAgIGVuYWJsZWQ6IGZhbHNlICAjIFdlIG1hbnVhbGx5IHByb3Zpc2lvbiBkYXRhc291cmNlcyAoUHJvbWV0aGV1c+KGklRoYW5vcywgTG9raSlcblxuICBpbmdyZXNzOlxuICAgIGVuYWJsZWQ6IHRydWUke2NvbmZpZy5kb21haW5zLmluZ3Jlc3NDbGFzc05hbWUgPyBgXFxuICAgIGluZ3Jlc3NDbGFzc05hbWU6ICR7Y29uZmlnLmRvbWFpbnMuaW5ncmVzc0NsYXNzTmFtZX1gIDogJyd9XG4gICAgaG9zdHM6XG4gICAgICAtICR7Y29uZmlnLmRvbWFpbnMuZ3JhZmFuYX1cbiAgICBhbm5vdGF0aW9uczpcbiAgICAgIGNlcnQtbWFuYWdlci5pby9jbHVzdGVyLWlzc3VlcjogXCJsZXRzZW5jcnlwdC1jbHVzdGVyLWlzc3VlclwiXG4gICAgICB0cmFlZmlrLmluZ3Jlc3Mua3ViZXJuZXRlcy5pby9yb3V0ZXIuZW50cnlwb2ludHM6IHdlYnNlY3VyZVxuICAgIHRsczpcbiAgICAgIC0gc2VjcmV0TmFtZTogZ3JhZmFuYS1nZW5lcmFsLXRsc1xuICAgICAgICBob3N0czpcbiAgICAgICAgLSAke2NvbmZpZy5kb21haW5zLmdyYWZhbmF9XG5cbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEubGltaXRzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEubGltaXRzLm1lbW9yeX1cbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEucmVxdWVzdHMuY3B1fVxuICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuZ3JhZmFuYS5yZXF1ZXN0cy5tZW1vcnl9XG5cbiAgcmVhZGluZXNzUHJvYmU6XG4gICAgaHR0cEdldDpcbiAgICAgIHBhdGg6IC9hcGkvaGVhbHRoXG4gICAgICBwb3J0OiAzMDAwXG4gICAgaW5pdGlhbERlbGF5U2Vjb25kczogMzBcbiAgICBwZXJpb2RTZWNvbmRzOiAxMFxuICAgIHRpbWVvdXRTZWNvbmRzOiA1XG4gICAgZmFpbHVyZVRocmVzaG9sZDogM1xuXG4gIGxpdmVuZXNzUHJvYmU6XG4gICAgaHR0cEdldDpcbiAgICAgIHBhdGg6IC9hcGkvaGVhbHRoXG4gICAgICBwb3J0OiAzMDAwXG4gICAgaW5pdGlhbERlbGF5U2Vjb25kczogNjBcbiAgICBwZXJpb2RTZWNvbmRzOiAxMFxuICAgIHRpbWVvdXRTZWNvbmRzOiAzMFxuICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDEwXG5cbiAgcGVyc2lzdGVuY2U6XG4gICAgZW5hYmxlZDogdHJ1ZVxuICAgIHN0b3JhZ2VDbGFzc05hbWU6IGxvbmdob3JuXG4gICAgYWNjZXNzTW9kZXM6XG4gICAgICAtIFJlYWRXcml0ZU9uY2VcbiAgICBzaXplOiAke2NvbmZpZy5zdG9yYWdlLmdyYWZhbmF9XG5cbiAgIyBNYW51YWwgZGF0YXNvdXJjZSBwcm92aXNpb25pbmcgKHNpZGVjYXIgZGlzYWJsZWQpXG4gICMgVGhhbm9zIFF1ZXJ5IOKGkiBsb25nLXRlcm0vaGlzdG9yaWNhbCBtZXRyaWNzIChTMyB2aWEgU3RvcmUgKyBsaXZlIHNpZGVjYXIpLCBkZWZhdWx0XG4gICMgUHJvbWV0aGV1cyDihpIgbG9jYWwsIHJlY2VudC9oaWdoLXJlcyBvbmx5IChrZXB0IGZvciBsb3ctbGF0ZW5jeSByZWNlbnQgcXVlcmllcylcbiAgIyBMb2tpIGZvciBsb2cgYWdncmVnYXRpb25cbiAgZGF0YXNvdXJjZXM6XG4gICAgZGF0YXNvdXJjZXMueWFtbDpcbiAgICAgIGFwaVZlcnNpb246IDFcbiAgICAgICMgRGVsZXRlIGFueSBwcmUtZXhpc3RpbmcgTG9raSBkYXRhc291cmNlIChlLmcuIG9uZSBjcmVhdGVkIHdpdGggYVxuICAgICAgIyByYW5kb21seSBnZW5lcmF0ZWQgVUlEIGJlZm9yZSB3ZSBwaW5uZWQgdWlkOiBsb2tpKS4gV2l0aG91dCB0aGlzLFxuICAgICAgIyBHcmFmYW5hIGZhaWxzIHByb3Zpc2lvbmluZyB3aXRoIFwiZGF0YSBzb3VyY2Ugbm90IGZvdW5kXCIgYmVjYXVzZVxuICAgICAgIyB0aGUgdXBzZXJ0IGNvbGxpZGVzIHdpdGggdGhlIGV4aXN0aW5nIGVudHJ5LlxuICAgICAgZGVsZXRlRGF0YXNvdXJjZXM6XG4gICAgICAtIG5hbWU6IExva2lcbiAgICAgICAgb3JnSWQ6IDFcbiAgICAgIGRhdGFzb3VyY2VzOlxuICAgICAgLSBuYW1lOiBUaGFub3NcbiAgICAgICAgdHlwZTogcHJvbWV0aGV1c1xuICAgICAgICB1aWQ6IHRoYW5vc1xuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgICMgdGhhbm9zLXF1ZXJ5IFNlcnZpY2U6IGh0dHAgcG9ydCA5MDkwIC0+IGNvbnRhaW5lciBodHRwIDEwOTAyXG4gICAgICAgIHVybDogaHR0cDovL3RoYW5vcy1xdWVyeS4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTBcbiAgICAgICAgaXNEZWZhdWx0OiB0cnVlXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIHRpbWVJbnRlcnZhbDogMzBzXG4gICAgICAtIG5hbWU6IFByb21ldGhldXNcbiAgICAgICAgdHlwZTogcHJvbWV0aGV1c1xuICAgICAgICB1aWQ6IHByb21ldGhldXNcbiAgICAgICAgYWNjZXNzOiBwcm94eVxuICAgICAgICB1cmw6IGh0dHA6Ly9rdWJlLXByb21ldGhldXMtc3RhY2stcHJvbWV0aGV1cy4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjkwOTBcbiAgICAgICAgaXNEZWZhdWx0OiBmYWxzZVxuICAgICAgICBqc29uRGF0YTpcbiAgICAgICAgICB0aW1lSW50ZXJ2YWw6IDMwc1xuICAgICAgLSBuYW1lOiBMb2tpXG4gICAgICAgIHR5cGU6IGxva2lcbiAgICAgICAgdWlkOiBsb2tpXG4gICAgICAgIGFjY2VzczogcHJveHlcbiAgICAgICAgdXJsOiBodHRwOi8vbG9raS1nYXRld2F5LiR7Y29uZmlnLm5hbWVzcGFjZX0uc3ZjLmNsdXN0ZXIubG9jYWxcbiAgICAgICAganNvbkRhdGE6XG4gICAgICAgICAgbWF4TGluZXM6IDEwMDAke3RlbXBvRGF0YXNvdXJjZX1cblxucHJvbWV0aGV1c09wZXJhdG9yOlxuICByZXNvdXJjZXM6XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAxXG4gICAgICBtZW1vcnk6IDUxMk1pXG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6IDUwbVxuICAgICAgbWVtb3J5OiAxMjhNaVxuICBwcmlvcml0eUNsYXNzTmFtZTogaGlnaC1wcmlvcml0eVxuXG5wcm9tZXRoZXVzLW5vZGUtZXhwb3J0ZXI6XG4gICMgQmluZCA6OTEwMCB0byB0aGUgbm9kZSBJbnRlcm5hbElQIG9ubHksIG5vdCAwLjAuMC4wLiBXaXRoIGt1YmVSQkFDUHJveHlcbiAgIyBkaXNhYmxlZCB0aGUgc3ViLWNoYXJ0IHNldHMgSE9TVF9JUCBmcm9tIGZpZWxkUmVmIHN0YXR1cy5ob3N0SVAsIHdoaWNoIGlzXG4gICMgdGhlIG5vZGUncyBJbnRlcm5hbElQIChFWDogdlN3aXRjaCAxMC42LjAueCB2aWEgLS1ub2RlLWlwOyBjbG91ZDogaGNsb3VkXG4gICMgcHJpdmF0ZSBJUCkuIG5vZGUtZXhwb3J0ZXIgaXMgaG9zdE5ldHdvcmssIHNvIFByb21ldGhldXMgYWxyZWFkeSBzY3JhcGVzXG4gICMgdGhhdCBJbnRlcm5hbElQIGVuZHBvaW50IC0+IHNjcmFwaW5nIGlzIHVuYWZmZWN0ZWQsIG9ubHkgdGhlIHB1YmxpYy1OSUNcbiAgIyBleHBvc3VyZSBvZiB0aGUgdW5hdXRoZW50aWNhdGVkIG1ldHJpY3Mgb24gdGhlIEVYIHB1YmxpYyBJUHMgZ29lcyBhd2F5LlxuICBzZXJ2aWNlOlxuICAgIGxpc3Rlbk9uQWxsSW50ZXJmYWNlczogZmFsc2VcbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogNTBtXG4gICAgICBtZW1vcnk6IDUwTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNW1cbiAgICAgIG1lbW9yeTogMTZNaVxuICBwcmlvcml0eUNsYXNzTmFtZTogaGlnaC1wcmlvcml0eVxuXG5rdWJlLXN0YXRlLW1ldHJpY3M6XG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDFcbiAgICAgIG1lbW9yeTogNTEyTWlcbiAgICByZXF1ZXN0czpcbiAgICAgIGNwdTogNW1cbiAgICAgIG1lbW9yeTogMTI4TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6IGhpZ2gtcHJpb3JpdHlcbmA7XG4gIH1cbn1cbiJdfQ==
521
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWV0aGV1cy1zdGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdHJ1Y3RzL3Byb21ldGhldXMtc3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWtDO0FBQ2xDLDJDQUF1QztBQVF2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsc0JBQVM7SUFDckQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXBDLDRCQUE0QjtRQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsa0RBQWtEO1FBQ2xELDJDQUEyQztRQUMzQyxJQUFJLGlCQUFTLENBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFFO1lBQzNDLFVBQVUsRUFBRSxtQkFBbUI7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLFNBQVMsRUFBRSxTQUFTO2dCQUNwQixNQUFNLEVBQUU7b0JBQ04sd0JBQXdCLEVBQUUsdUJBQXVCO29CQUNqRCw2QkFBNkIsRUFBRSxZQUFZO29CQUMzQyw4QkFBOEIsRUFBRSxPQUFPO29CQUN2QywyQkFBMkIsRUFBRSxZQUFZO2lCQUMxQztnQkFDRCxXQUFXLEVBQUU7b0JBQ1gsOEJBQThCLEVBQUUsR0FBRztpQkFDcEM7YUFDRjtZQUNELElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsb0RBQW9EO2dCQUMxRCxLQUFLLEVBQUUsdUJBQXVCO2dCQUM5QixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxT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QVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUc7Z0JBQ2xDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1lBeUI1QyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUNBc0JDLE1BQU0sQ0FBQyxTQUFTOzs7Ozs7Ozt1REFRSSxNQUFNLENBQUMsU0FBUzs7Ozs7Ozs7bUNBUXBDLE1BQU0sQ0FBQyxTQUFTOzswQkFFekIsZUFBZTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBdUN4QyxDQUFDO0lBQ0EsQ0FBQztDQUNGO0FBamZELDREQWlmQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaU9iamVjdCB9IGZyb20gJ2NkazhzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgTW9uaXRvcmluZ0NvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9tZXRoZXVzU3RhY2tQcm9wcyB7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBjb25maWc6IE1vbml0b3JpbmdDb25maWc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBrdWJlLXByb21ldGhldXMtc3RhY2sgSGVsbUNoYXJ0IHdpdGggUHJvbWV0aGV1cywgR3JhZmFuYSwgYW5kIEFsZXJ0bWFuYWdlci5cbiAqXG4gKiBUaGlzIGlzIHRoZSBjb3JlIG1vbml0b3Jpbmcgc3RhY2sgdGhhdCBpbmNsdWRlczpcbiAqIC0gUHJvbWV0aGV1cyAobWV0cmljcyBjb2xsZWN0aW9uLCAyIHJlcGxpY2FzLCAzZCByZXRlbnRpb24pXG4gKiAtIEdyYWZhbmEgKHZpc3VhbGl6YXRpb24sIGluZ3Jlc3Mgd2l0aCBMZXQncyBFbmNyeXB0KVxuICogLSBBbGVydG1hbmFnZXIgKGFsZXJ0IHJvdXRpbmcsIFNNVFAgbm90aWZpY2F0aW9ucylcbiAqIC0gUHJvbWV0aGV1cyBPcGVyYXRvciAobWFuYWdlcyBQcm9tZXRoZXVzIENSRHMpXG4gKiAtIE5vZGUgRXhwb3J0ZXIgKHN5c3RlbSBtZXRyaWNzIERhZW1vblNldClcbiAqIC0ga3ViZS1zdGF0ZS1tZXRyaWNzIChLdWJlcm5ldGVzIHJlc291cmNlIG1ldHJpY3MpXG4gKlxuICogUHJlcmVxdWlzaXRlczpcbiAqIC0gTmFtZXNwYWNlIGV4aXN0c1xuICogLSBQcmlvcml0eUNsYXNzICdoaWdoLXByaW9yaXR5JyBleGlzdHNcbiAqIC0gTG9uZ2hvcm4gc3RvcmFnZSBjbGFzcyBhdmFpbGFibGVcbiAqIC0gY2VydC1tYW5hZ2VyIENsdXN0ZXJJc3N1ZXIgY29uZmlndXJlZFxuICogLSBUaGFub3MgUzMgc2VjcmV0IGV4aXN0cyAodGhhbm9zLW9ianN0b3JlLWNvbmZpZylcbiAqXG4gKiBTeW5jIFdhdmU6IDIgKGNvcmUgc2VydmljZXMgLSBhZnRlciBTMyBidWNrZXRzIGFuZCBzZWNyZXRzKVxuICovXG5leHBvcnQgY2xhc3MgUHJvbWV0aGV1c1N0YWNrQ29uc3RydWN0IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFByb21ldGhldXNTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgbmFtZXNwYWNlLCBjb25maWcgfSA9IHByb3BzO1xuXG4gICAgLy8gR2VuZXJhdGUgSGVsbSB2YWx1ZXMgWUFNTFxuICAgIGNvbnN0IGhlbG1WYWx1ZXMgPSB0aGlzLmdlbmVyYXRlSGVsbVZhbHVlcyhjb25maWcpO1xuXG4gICAgLy8gQ3JlYXRlIEhlbG1DaGFydCByZXNvdXJjZSAoSzNTIEhlbG0gY29udHJvbGxlcilcbiAgICAvLyBXYXZlIDI6IENvcmUgU2VydmljZXMgLSBtb25pdG9yaW5nIHN0YWNrXG4gICAgbmV3IEFwaU9iamVjdCh0aGlzLCAna3ViZS1wcm9tZXRoZXVzLXN0YWNrJywge1xuICAgICAgYXBpVmVyc2lvbjogJ2hlbG0uY2F0dGxlLmlvL3YxJyxcbiAgICAgIGtpbmQ6ICdIZWxtQ2hhcnQnLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgbmFtZTogJ2t1YmUtcHJvbWV0aGV1cy1zdGFjaycsXG4gICAgICAgIG5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICBsYWJlbHM6IHtcbiAgICAgICAgICAnYXBwLmt1YmVybmV0ZXMuaW8vbmFtZSc6ICdrdWJlLXByb21ldGhldXMtc3RhY2snLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9jb21wb25lbnQnOiAnbW9uaXRvcmluZycsXG4gICAgICAgICAgJ2FwcC5rdWJlcm5ldGVzLmlvL21hbmFnZWQtYnknOiAnY2RrOHMnLFxuICAgICAgICAgICdhcHAua3ViZXJuZXRlcy5pby9wYXJ0LW9mJzogJ21vbml0b3JpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBhbm5vdGF0aW9uczoge1xuICAgICAgICAgICdhcmdvY2QuYXJnb3Byb2ouaW8vc3luYy13YXZlJzogJzInLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNwZWM6IHtcbiAgICAgICAgcmVwbzogJ2h0dHBzOi8vcHJvbWV0aGV1cy1jb21tdW5pdHkuZ2l0aHViLmlvL2hlbG0tY2hhcnRzJyxcbiAgICAgICAgY2hhcnQ6ICdrdWJlLXByb21ldGhldXMtc3RhY2snLFxuICAgICAgICB2ZXJzaW9uOiBjb25maWcudmVyc2lvbnMucHJvbWV0aGV1c1N0YWNrID09PSAnbGF0ZXN0JyA/IHVuZGVmaW5lZCA6IGNvbmZpZy52ZXJzaW9ucy5wcm9tZXRoZXVzU3RhY2ssXG4gICAgICAgIHRhcmdldE5hbWVzcGFjZTogbmFtZXNwYWNlLFxuICAgICAgICB2YWx1ZXNDb250ZW50OiBoZWxtVmFsdWVzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBgW3NlY3VyaXR5XWAgc2VjdGlvbiBvZiBncmFmYW5hLmluaSwgZW1wdHkgdW5sZXNzIGVtYmVkZGluZyBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBHcmFmYW5hIHNlbmRzIGBYLUZyYW1lLU9wdGlvbnM6IGRlbnlgIHVubGVzcyBgYWxsb3dfZW1iZWRkaW5nYCBpcyBzZXQsIHdoaWNoXG4gICAqIGJsb2NrcyBleHRlcm5hbGx5IHNoYXJlZCAoXCJwdWJsaWNcIikgZGFzaGJvYXJkcyBpbiBhbiBpZnJhbWUganVzdCBhcyBtdWNoIGFzXG4gICAqIHRoZSBhdXRoZW50aWNhdGVkIFVJLiBEcm9wcGluZyB0aGF0IGhlYWRlciBhbG9uZSB3b3VsZCBsZXQgYW55IHNpdGUgZnJhbWVcbiAgICogR3JhZmFuYSwgc28gaXQgaXMgcGFpcmVkIHdpdGggYSBDb250ZW50LVNlY3VyaXR5LVBvbGljeSB3aG9zZVxuICAgKiBgZnJhbWUtYW5jZXN0b3JzYCBuYW1lcyB0aGUgYWxsb3dlZCBvcmlnaW5zIOKAlCBicm93c2VycyBob25vdXIgaXQgaW4gcGxhY2Ugb2ZcbiAgICogdGhlIHJlbW92ZWQgaGVhZGVyLlxuICAgKlxuICAgKiBUaGUgb3RoZXIgZGlyZWN0aXZlcyBhcmUgR3JhZmFuYSdzIG93biBkZWZhdWx0IHRlbXBsYXRlIHZlcmJhdGltOyBgJE5PTkNFYFxuICAgKiBhbmQgYCRST09UX1BBVEhgIGFyZSBleHBhbmRlZCBieSBHcmFmYW5hIHBlciByZXF1ZXN0LiBPbmx5XG4gICAqIGAkRk9STV9BQ1RJT05fQURESVRJT05BTF9IT1NUU2AgaXMgZHJvcHBlZDogaXQgZXhpc3RzIGFzIGEgcGxhY2Vob2xkZXIganVzdFxuICAgKiBpbiByZWNlbnQgR3JhZmFuYXMsIGFuZCBvbGRlciBvbmVzIHdvdWxkIGVtaXQgaXQgbGl0ZXJhbGx5IGludG8gdGhlIGhlYWRlci5cbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVHcmFmYW5hU2VjdXJpdHkoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbmZpZy5lbWJlZGRpbmcuZW5hYmxlZCkgcmV0dXJuICcnO1xuICAgIGNvbnN0IHBvbGljeSA9IFtcbiAgICAgIFwic2NyaXB0LXNyYyAnc2VsZicgJ3Vuc2FmZS1ldmFsJyAndW5zYWZlLWlubGluZScgJ3N0cmljdC1keW5hbWljJyAkTk9OQ0VcIixcbiAgICAgIFwib2JqZWN0LXNyYyAnbm9uZSdcIixcbiAgICAgIFwiZm9udC1zcmMgJ3NlbGYnXCIsXG4gICAgICBcInN0eWxlLXNyYyAnc2VsZicgJ3Vuc2FmZS1pbmxpbmUnIGJsb2I6XCIsXG4gICAgICAnaW1nLXNyYyAqIGRhdGE6JyxcbiAgICAgIFwiYmFzZS11cmkgJ3NlbGYnXCIsXG4gICAgICBcImNvbm5lY3Qtc3JjICdzZWxmJyBncmFmYW5hLmNvbSB3czovLyRST09UX1BBVEggd3NzOi8vJFJPT1RfUEFUSFwiLFxuICAgICAgXCJtYW5pZmVzdC1zcmMgJ3NlbGYnXCIsXG4gICAgICBcIm1lZGlhLXNyYyAnbm9uZSdcIixcbiAgICAgIFwiZm9ybS1hY3Rpb24gJ3NlbGYnXCIsXG4gICAgICBgZnJhbWUtYW5jZXN0b3JzICdzZWxmJyAke2NvbmZpZy5lbWJlZGRpbmcuZnJhbWVBbmNlc3RvcnMuam9pbignICcpfWAsXG4gICAgXS5tYXAoKGRpcmVjdGl2ZSkgPT4gYCR7ZGlyZWN0aXZlfTtgKS5qb2luKCcnKTtcbiAgICByZXR1cm4gYFxuICAgIHNlY3VyaXR5OlxuICAgICAgYWxsb3dfZW1iZWRkaW5nOiB0cnVlXG4gICAgICBjb250ZW50X3NlY3VyaXR5X3BvbGljeTogdHJ1ZVxuICAgICAgY29udGVudF9zZWN1cml0eV9wb2xpY3lfdGVtcGxhdGU6IFwiJHtwb2xpY3l9XCJgO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUhlbG1WYWx1ZXMoY29uZmlnOiBNb25pdG9yaW5nQ29uZmlnKTogc3RyaW5nIHtcbiAgICAvLyBUZW1wbyBkYXRhc291cmNlIGlzIG9ubHkgcHJvdmlzaW9uZWQgd2hlbiB0cmFjaW5nIGlzIGVuYWJsZWQuIFdoZW5cbiAgICAvLyBkaXNhYmxlZCB0aGlzIGlzIGVtcHR5LCBzbyB0aGUgR3JhZmFuYSBibG9jayBpcyBieXRlLWlkZW50aWNhbCB0byBiZWZvcmUuXG4gICAgY29uc3QgdGVtcG9EYXRhc291cmNlID0gY29uZmlnLnRlbXBvLmVuYWJsZWQgPyBgXG4gICAgICAtIG5hbWU6IFRlbXBvXG4gICAgICAgIHR5cGU6IHRlbXBvXG4gICAgICAgIHVpZDogdGVtcG9cbiAgICAgICAgYWNjZXNzOiBwcm94eVxuICAgICAgICB1cmw6IGh0dHA6Ly90ZW1wby4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsOjMyMDBcbiAgICAgICAganNvbkRhdGE6XG4gICAgICAgICAgdGltZW91dDogNjBcbiAgICAgICAgICB0cmFjZXNUb0xvZ3NWMjpcbiAgICAgICAgICAgIGRhdGFzb3VyY2VVaWQ6IGxva2lcbiAgICAgICAgICAgIHNwYW5TdGFydFRpbWVTaGlmdDogXCItMWhcIlxuICAgICAgICAgICAgc3BhbkVuZFRpbWVTaGlmdDogXCIxaFwiXG4gICAgICAgICAgICBmaWx0ZXJCeVRyYWNlSUQ6IHRydWVcbiAgICAgICAgICB0cmFjZXNUb01ldHJpY3M6XG4gICAgICAgICAgICBkYXRhc291cmNlVWlkOiB0aGFub3NgIDogJyc7XG4gICAgcmV0dXJuIGBrdWJlRXRjZDpcbiAgZW5hYmxlZDogZmFsc2VcblxuIyBEaXNhYmxlIGt1YmUtY29udHJvbGxlci1tYW5hZ2VyIGFuZCBrdWJlLXNjaGVkdWxlciBtb25pdG9yaW5nLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NhYmxlc3BhZ2hldHRpL2szcy1tb25pdG9yaW5nL2lzc3Vlcy8yXG5rdWJlQ29udHJvbGxlck1hbmFnZXI6XG4gIGVuYWJsZWQ6IGZhbHNlXG5rdWJlU2NoZWR1bGVyOlxuICBlbmFibGVkOiBmYWxzZVxuXG4jIERldGVjdCBQb2REaXNydXB0aW9uQnVkZ2V0cyB0aGF0IHdvdWxkIGJsb2NrIGEgbm9kZSBkcmFpbiBkdXJpbmcgazNzIHVwZ3JhZGVzLlxuIyBPcGVyYXRvci1tYW5hZ2VkIFBEQnMgc2l0IGF0IGRpc3J1cHRpb25zQWxsb3dlZD0wIGJ5IGRlc2lnbiAoTG9uZ2hvcm4gaW5zdGFuY2UtbWFuYWdlcnMsXG4jIENOUEcgKi1wcmltYXJ5KSBhbmQgYXJlIGV4Y2x1ZGVkIHNvIHRoZSBhbGVydCBvbmx5IGZpcmVzIG9uIGFub21hbG91cyBhcHAgUERCcy5cbmFkZGl0aW9uYWxQcm9tZXRoZXVzUnVsZXNNYXA6XG4gIHBkYi1kcmFpbi1zYWZldHk6XG4gICAgZ3JvdXBzOlxuICAgICAgLSBuYW1lOiBwZGIucnVsZXNcbiAgICAgICAgaW50ZXJ2YWw6IDFtXG4gICAgICAgIHJ1bGVzOlxuICAgICAgICAgIC0gYWxlcnQ6IFBvZERpc3J1cHRpb25CdWRnZXRVbmRyYWluYWJsZVxuICAgICAgICAgICAgZXhwcjoga3ViZV9wb2RkaXNydXB0aW9uYnVkZ2V0X3N0YXR1c19wb2RfZGlzcnVwdGlvbnNfYWxsb3dlZHtuYW1lc3BhY2UhPVwibG9uZ2hvcm4tc3lzdGVtXCIsIHBvZGRpc3J1cHRpb25idWRnZXQhflwiLiotcHJpbWFyeVwifSA9PSAwXG4gICAgICAgICAgICBmb3I6IDE1bVxuICAgICAgICAgICAgbGFiZWxzOlxuICAgICAgICAgICAgICBzZXZlcml0eTogd2FybmluZ1xuICAgICAgICAgICAgICBjb21wb25lbnQ6IGNsdXN0ZXItdXBncmFkZVxuICAgICAgICAgICAgYW5ub3RhdGlvbnM6XG4gICAgICAgICAgICAgIHN1bW1hcnk6IFwiUERCIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fSBhbGxvd3MgMCB2b2x1bnRhcnkgZGlzcnVwdGlvbnNcIlxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogfFxuICAgICAgICAgICAgICAgIFRoZSBQb2REaXNydXB0aW9uQnVkZ2V0IHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fVxuICAgICAgICAgICAgICAgIGhhcyBhbGxvd2VkIDAgdm9sdW50YXJ5IGRpc3J1cHRpb25zIGZvciBvdmVyIDE1IG1pbnV0ZXMuIFRoaXMgd2lsbCBibG9jayBhIG5vZGVcbiAgICAgICAgICAgICAgICBkcmFpbiBkdXJpbmcgazNzIHVwZ3JhZGVzLiBPcGVyYXRvci1tYW5hZ2VkIFBEQnMgKExvbmdob3JuLCBDTlBHIHByaW1hcmllcykgYXJlXG4gICAgICAgICAgICAgICAgZXhjbHVkZWQgZnJvbSB0aGlzIGFsZXJ0LiBMaWtlbHkgYSBkZWdyYWRlZCBkZXBsb3ltZW50ICgwIGhlYWx0aHkgcG9kcykgb3IgYVxuICAgICAgICAgICAgICAgIHNpbmdsZS1yZXBsaWNhIGRlcGxveW1lbnQgd2l0aCBtaW5BdmFpbGFibGU9MS5cbiAgICAgICAgICAgICAgICBDaGVjazoga3ViZWN0bCBnZXQgcGRiIC1uIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19IHt7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fVxuICAgICAgICAgIC0gYWxlcnQ6IFBvZERpc3J1cHRpb25CdWRnZXRVbmRyYWluYWJsZUNyaXRpY2FsXG4gICAgICAgICAgICBleHByOiBrdWJlX3BvZGRpc3J1cHRpb25idWRnZXRfc3RhdHVzX3BvZF9kaXNydXB0aW9uc19hbGxvd2Vke25hbWVzcGFjZSE9XCJsb25naG9ybi1zeXN0ZW1cIiwgcG9kZGlzcnVwdGlvbmJ1ZGdldCF+XCIuKi1wcmltYXJ5XCJ9ID09IDBcbiAgICAgICAgICAgIGZvcjogMWhcbiAgICAgICAgICAgIGxhYmVsczpcbiAgICAgICAgICAgICAgc2V2ZXJpdHk6IGNyaXRpY2FsXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogY2x1c3Rlci11cGdyYWRlXG4gICAgICAgICAgICBhbm5vdGF0aW9uczpcbiAgICAgICAgICAgICAgc3VtbWFyeTogXCJQREIge3sgJGxhYmVscy5uYW1lc3BhY2UgfX0ve3sgJGxhYmVscy5wb2RkaXNydXB0aW9uYnVkZ2V0IH19IHVuZHJhaW5hYmxlID4xaFwiXG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB8XG4gICAgICAgICAgICAgICAgUERCIHt7ICRsYWJlbHMubmFtZXNwYWNlIH19L3t7ICRsYWJlbHMucG9kZGlzcnVwdGlvbmJ1ZGdldCB9fSBoYXMgYmxvY2tlZFxuICAgICAgICAgICAgICAgIHZvbHVudGFyeSBkaXNydXB0aW9ucyBmb3Igb3ZlciBhbiBob3VyLiBBIGszcyBhZ2VudCB1cGdyYWRlIHdvdWxkIHN0YWxsIG9uIHRoaXMgbm9kZS5cbiMgRHJvcCBoaWdoLWNhcmRpbmFsaXR5IEFQSSBzZXJ2ZXIgYW5kIGV0Y2QgaGlzdG9ncmFtIGJ1Y2tldHMgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZVxuIyBUaGVzZSBtZXRyaWNzIGFsb25lIGFjY291bnQgZm9yIH4yMDBrIHNlcmllcyAoNDclIG9mIHRvdGFsIGNhcmRpbmFsaXR5KVxuIyBXZSBrZWVwIF9zdW0gYW5kIF9jb3VudCBzdWZmaXhlcyB3aGljaCBhcmUgc3VmZmljaWVudCBmb3IgcmF0ZSBjYWxjdWxhdGlvbnNcbmt1YmVBcGlTZXJ2ZXI6XG4gIHNlcnZpY2VNb25pdG9yOlxuICAgIG1ldHJpY1JlbGFiZWxpbmdzOlxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVxdWVzdF9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X3NsaV9kdXJhdGlvbl9zZWNvbmRzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X2JvZHlfc2l6ZV9ieXRlc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdhcGlzZXJ2ZXJfcmVzcG9uc2Vfc2l6ZXNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnZXRjZF9yZXF1ZXN0X2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcblxuIyBLdWJlbGV0IGFsc28gZXhwb3NlcyBhcGlzZXJ2ZXIgbWV0cmljcyAtIGFwcGx5IHNhbWUgZmlsdGVyc1xua3ViZWxldDpcbiAgc2VydmljZU1vbml0b3I6XG4gICAgbWV0cmljUmVsYWJlbGluZ3M6XG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXF1ZXN0X2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3Rfc2xpX2R1cmF0aW9uX3NlY29uZHNfYnVja2V0J1xuICAgICAgICBhY3Rpb246IGRyb3BcbiAgICAgIC0gc291cmNlTGFiZWxzOiBbX19uYW1lX19dXG4gICAgICAgIHJlZ2V4OiAnYXBpc2VydmVyX3JlcXVlc3RfYm9keV9zaXplX2J5dGVzX2J1Y2tldCdcbiAgICAgICAgYWN0aW9uOiBkcm9wXG4gICAgICAtIHNvdXJjZUxhYmVsczogW19fbmFtZV9fXVxuICAgICAgICByZWdleDogJ2FwaXNlcnZlcl9yZXNwb25zZV9zaXplc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuICAgICAgLSBzb3VyY2VMYWJlbHM6IFtfX25hbWVfX11cbiAgICAgICAgcmVnZXg6ICdldGNkX3JlcXVlc3RfZHVyYXRpb25fc2Vjb25kc19idWNrZXQnXG4gICAgICAgIGFjdGlvbjogZHJvcFxuXG5hbGVydG1hbmFnZXI6XG4gIGNvbmZpZzpcbiAgICBnbG9iYWw6XG4gICAgICBzbXRwX2Zyb206ICR7Y29uZmlnLnNtdHAuZnJvbX1cbiAgICAgIHNtdHBfc21hcnRob3N0OiAke2NvbmZpZy5zbXRwLmhvc3R9OiR7Y29uZmlnLnNtdHAucG9ydH1cbiAgICAgIHNtdHBfcmVxdWlyZV90bHM6ICR7Y29uZmlnLnNtdHAucmVxdWlyZVRsc31cbiAgICAgIHNtdHBfYXV0aF91c2VybmFtZTogJHtjb25maWcuc210cC51c2VybmFtZSB8fCBjb25maWcuc210cC5mcm9tfVxuICAgICAgc210cF9hdXRoX3Bhc3N3b3JkOiAke2NvbmZpZy5zbXRwLnBhc3N3b3JkIHx8ICcnfVxuICAgIHJvdXRlOlxuICAgICAgZ3JvdXBfYnk6IFsnam9iJ11cbiAgICAgIGdyb3VwX3dhaXQ6IDMwc1xuICAgICAgZ3JvdXBfaW50ZXJ2YWw6IDVtXG4gICAgICByZXBlYXRfaW50ZXJ2YWw6IDFoXG4gICAgICByZWNlaXZlcjogZW1haWxcbiAgICAgIHJvdXRlczpcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBXYXRjaGRvZ1xuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogQ1BVVGhyb3R0bGluZ0hpZ2hcbiAgICAgICAgcmVjZWl2ZXI6ICdudWxsJ1xuICAgICAgLSBtYXRjaDpcbiAgICAgICAgICBhbGVydG5hbWU6IEt1YmVNZW1vcnlPdmVyY29tbWl0XG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcbiAgICAgIC0gbWF0Y2g6XG4gICAgICAgICAgYWxlcnRuYW1lOiBLdWJlQ1BVT3ZlcmNvbW1pdFxuICAgICAgICByZWNlaXZlcjogJ251bGwnXG4gICAgICAtIG1hdGNoOlxuICAgICAgICAgIGFsZXJ0bmFtZTogS3ViZWxldFRvb01hbnlQb2RzXG4gICAgICAgIHJlY2VpdmVyOiAnbnVsbCdcblxuICAgIHJlY2VpdmVyczpcbiAgICAtIG5hbWU6ICdudWxsJ1xuICAgIC0gbmFtZTogZW1haWxcbiAgICAgIGVtYWlsX2NvbmZpZ3M6XG4gICAgICAtIHNlbmRfcmVzb2x2ZWQ6IHRydWVcbiAgICAgICAgdG86ICR7Y29uZmlnLnNtdHAuZnJvbX1cblxuICAgICMgSW5oaWJpdGlvbiBydWxlcyBhbGxvdyB0byBtdXRlIGEgc2V0IG9mIGFsZXJ0cyBnaXZlbiB0aGF0IGFub3RoZXIgYWxlcnQgaXMgZmlyaW5nLlxuICAgICMgV2UgdXNlIHRoaXMgdG8gbXV0ZSBhbnkgd2FybmluZy1sZXZlbCBub3RpZmljYXRpb25zIGlmIHRoZSBzYW1lIGFsZXJ0IGlzIGFscmVhZHkgY3JpdGljYWwuXG4gICAgaW5oaWJpdF9ydWxlczpcbiAgICAtIHNvdXJjZV9tYXRjaDpcbiAgICAgICAgc2V2ZXJpdHk6ICdjcml0aWNhbCdcbiAgICAgIHRhcmdldF9tYXRjaDpcbiAgICAgICAgc2V2ZXJpdHk6ICd3YXJuaW5nJ1xuICAgICAgIyBBcHBseSBpbmhpYml0aW9uIGlmIHRoZSBhbGVydG5hbWUgaXMgdGhlIHNhbWUuXG4gICAgICBlcXVhbDogWydhbGVydG5hbWUnLCAnbmFtZXNwYWNlJ11cblxuICBhbGVydG1hbmFnZXJTcGVjOlxuICAgIHJlcGxpY2FzOiAke2NvbmZpZy5yZXBsaWNhcy5hbGVydG1hbmFnZXJ9XG4gICAgcG9kQW50aUFmZmluaXR5OiBcInNvZnRcIlxuICAgIHN0b3JhZ2U6XG4gICAgICB2b2x1bWVDbGFpbVRlbXBsYXRlOlxuICAgICAgICBzcGVjOlxuICAgICAgICAgIGFjY2Vzc01vZGVzOiBbXCJSZWFkV3JpdGVPbmNlXCJdXG4gICAgICAgICAgcmVzb3VyY2VzOlxuICAgICAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgICAgIHN0b3JhZ2U6ICR7Y29uZmlnLnN0b3JhZ2UuYWxlcnRtYW5hZ2VyfVxuICAgIHJlc291cmNlczpcbiAgICAgIGxpbWl0czpcbiAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuYWxlcnRtYW5hZ2VyLmxpbWl0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5saW1pdHMubWVtb3J5fVxuICAgICAgcmVxdWVzdHM6XG4gICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5yZXF1ZXN0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmFsZXJ0bWFuYWdlci5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgcHJpb3JpdHlDbGFzc05hbWU6IGhpZ2gtcHJpb3JpdHlcblxuICAgICMgU2lkZWNhciBjb250YWluZXJzIHJlc291cmNlIHJlcXVlc3RzIChhZGRlZCAyMDI1LTExLTE4KVxuICAgIGNvbnRhaW5lcnM6XG4gICAgLSBuYW1lOiBjb25maWctcmVsb2FkZXJcbiAgICAgIHJlc291cmNlczpcbiAgICAgICAgcmVxdWVzdHM6XG4gICAgICAgICAgY3B1OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIucmVxdWVzdHMuY3B1fVxuICAgICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLnJlcXVlc3RzLm1lbW9yeX1cbiAgICAgICAgbGltaXRzOlxuICAgICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLmxpbWl0cy5jcHV9XG4gICAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMuY29uZmlnUmVsb2FkZXIubGltaXRzLm1lbW9yeX1cblxuXG5wcm9tZXRoZXVzOlxuICAjIEVuYWJsZSBUaGFub3Mgc2VydmljZSBmb3IgZ1JQQyBjb21tdW5pY2F0aW9uXG4gICMgUmVxdWlyZWQgZm9yIEhlbG0gY2hhcnQgdG8gcHJvcGVybHkgcmVuZGVyIFRoYW5vcyBzaWRlY2FyIGNvbmZpZ3VyYXRpb25cbiAgdGhhbm9zU2VydmljZTpcbiAgICBlbmFibGVkOiB0cnVlXG5cbiAgcHJvbWV0aGV1c1NwZWM6XG4gICAgcmV0ZW50aW9uOiAke2NvbmZpZy5yZXRlbnRpb24ucHJvbWV0aGV1c30gICMgUmVkdWNlZCBmcm9tIDdkIC0gVGhhbm9zIHByb3ZpZGVzIGxvbmctdGVybSBzdG9yYWdlIGluIFMzXG5cbiAgICAjIERpc2NvdmVyIEFMTCBTZXJ2aWNlTW9uaXRvcnMsIFBvZE1vbml0b3JzIGFuZCBQcm9tZXRoZXVzUnVsZXMgaW4gQUxMIG5hbWVzcGFjZXNcbiAgICAjIFNldHRpbmcgTmlsVXNlc0hlbG1WYWx1ZXM6IGZhbHNlIG1lYW5zIG5pbCBzZWxlY3RvcnMgPSBcInNlbGVjdCBhbGxcIlxuICAgICMgRW1wdHkgbmFtZXNwYWNlIHNlbGVjdG9ycyB7fSBtZWFuIFwic2VhcmNoIGFsbCBuYW1lc3BhY2VzXCJcbiAgICAjIFdpdGhvdXQgdGhlIHJ1bGUqIHNldHRpbmdzLCBydWxlU2VsZWN0b3Iga2VlcHMgdGhlIGNoYXJ0IGRlZmF1bHRcbiAgICAjIChtYXRjaExhYmVsczoge3JlbGVhc2U6IDxuYW1lPn0pIGFuZCBoYW5kLWF1dGhvcmVkIFByb21ldGhldXNSdWxlcyB0aGF0XG4gICAgIyBsYWNrIHRoZSByZWxlYXNlIGxhYmVsIGFyZSBzaWxlbnRseSBpZ25vcmVkLlxuICAgICMgTm90ZTogVGhpcyBkb2VzIE5PVCBhZmZlY3QgVGhhbm9zIHNpZGVjYXIgLSBjb250cm9sbGVkIGJ5IHRoYW5vcy5vYmplY3RTdG9yYWdlQ29uZmlnXG4gICAgc2VydmljZU1vbml0b3JTZWxlY3Rvck5pbFVzZXNIZWxtVmFsdWVzOiBmYWxzZVxuICAgIHBvZE1vbml0b3JTZWxlY3Rvck5pbFVzZXNIZWxtVmFsdWVzOiBmYWxzZVxuICAgIHJ1bGVTZWxlY3Rvck5pbFVzZXNIZWxtVmFsdWVzOiBmYWxzZVxuICAgIHNlcnZpY2VNb25pdG9yTmFtZXNwYWNlU2VsZWN0b3I6IHt9XG4gICAgcG9kTW9uaXRvck5hbWVzcGFjZVNlbGVjdG9yOiB7fVxuICAgIHJ1bGVOYW1lc3BhY2VTZWxlY3Rvcjoge31cblxuICAgIHJlcGxpY2FzOiAke2NvbmZpZy5yZXBsaWNhcy5wcm9tZXRoZXVzfVxuICAgIHBvZEFudGlBZmZpbml0eTogXCJoYXJkXCJcbiAgICBzdG9yYWdlU3BlYzpcbiAgICAgIHZvbHVtZUNsYWltVGVtcGxhdGU6XG4gICAgICAgIHNwZWM6XG4gICAgICAgICAgc3RvcmFnZUNsYXNzTmFtZTogbG9uZ2hvcm5cbiAgICAgICAgICBhY2Nlc3NNb2RlczogW1wiUmVhZFdyaXRlT25jZVwiXVxuICAgICAgICAgIHJlc291cmNlczpcbiAgICAgICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgICAgICBzdG9yYWdlOiAke2NvbmZpZy5zdG9yYWdlLnByb21ldGhldXN9ICAjIFJlZHVjZWQgZnJvbSA2R2kgKDNkIHJldGVudGlvbiBuZWVkcyBsZXNzIHNwYWNlKVxuXG4gICAgcmVzb3VyY2VzOlxuICAgICAgbGltaXRzOlxuICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5wcm9tZXRoZXVzLmxpbWl0cy5jcHV9XG4gICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLnByb21ldGhldXMubGltaXRzLm1lbW9yeX1cbiAgICAgIHJlcXVlc3RzOlxuICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5wcm9tZXRoZXVzLnJlcXVlc3RzLmNwdX1cbiAgICAgICAgbWVtb3J5OiAke2NvbmZpZy5yZXNvdXJjZXMucHJvbWV0aGV1cy5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgcHJpb3JpdHlDbGFzc05hbWU6IGhpZ2gtcHJpb3JpdHlcblxuICAgICMgRXh0ZXJuYWwgbGFiZWxzIGZvciBtdWx0aS1jbHVzdGVyIGlkZW50aWZpY2F0aW9uIGFuZCBUaGFub3NcbiAgICBleHRlcm5hbExhYmVsczpcbiAgICAgIGNsdXN0ZXI6ICR7Y29uZmlnLmNsdXN0ZXJOYW1lfVxuICAgICAgcmVwbGljYTogXCIkKFBPRF9OQU1FKVwiXG5cbiAgICAjIFRoYW5vcyBzaWRlY2FyIGZvciBsb25nLXRlcm0gbWV0cmljcyBzdG9yYWdlIGluIFMzXG4gICAgIyBOT1RFOiBjaGFydCA+PTg1LnggcmVxdWlyZXMgdGhlIGV4aXN0aW5nU2VjcmV0IHNoYXBlLiBUaGUgbGVnYWN5IGZsYXRcbiAgICAjIHtuYW1lLCBrZXl9IGZvcm0gaXMgc2lsZW50bHkgZHJvcHBlZCBieSB0aGUgY2hhcnQsIHdoaWNoIHJlbW92ZXMgdGhlXG4gICAgIyBzaWRlY2FyIGFuZCBzdG9wcyBhbGwgUzMgYmxvY2sgdXBsb2FkcyAocmVncmVzc2lvbiBzZWVuIDIwMjYtMDMtMzEpLlxuICAgIHRoYW5vczpcbiAgICAgIG9iamVjdFN0b3JhZ2VDb25maWc6XG4gICAgICAgIGV4aXN0aW5nU2VjcmV0OlxuICAgICAgICAgIG5hbWU6IHRoYW5vcy1vYmpzdG9yZS1jb25maWcgICMgRVNPLW1hbmFnZWQgc2VjcmV0XG4gICAgICAgICAga2V5OiBvYmpzdG9yZS55bWxcblxuICAgICMgU2lkZWNhciBjb250YWluZXJzIHJlc291cmNlIHJlcXVlc3RzIChhZGRlZCAyMDI1LTExLTE4KVxuICAgICMgTk9URTogdGhhbm9zLXNpZGVjYXIgaXMgTk9UIGxpc3RlZCBoZXJlIC0gaXQncyBhdXRvbWF0aWNhbGx5IGluamVjdGVkIGJ5IFByb21ldGhldXMgT3BlcmF0b3JcbiAgICAjIHdoZW4gdGhhbm9zLm9iamVjdFN0b3JhZ2VDb25maWcgaXMgc2V0LiBTcGVjaWZ5aW5nIGl0IGluIGNvbnRhaW5lcnNbXSB3b3VsZCBvdmVycmlkZVxuICAgICMgdGhlIG9wZXJhdG9yJ3MgZGVmaW5pdGlvbiBhbmQgcmVxdWlyZSB1cyB0byBtYW51YWxseSBzcGVjaWZ5IHRoZSBpbWFnZSwgd2hpY2ggYnJlYWtzXG4gICAgIyB3aGVuIHRoZSBvcGVyYXRvciB1cGRhdGVzIHRoZSB0aGFub3MgdmVyc2lvbi5cbiAgICBjb250YWluZXJzOlxuICAgIC0gbmFtZTogY29uZmlnLXJlbG9hZGVyXG4gICAgICByZXNvdXJjZXM6XG4gICAgICAgIHJlcXVlc3RzOlxuICAgICAgICAgIGNwdTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLnJlcXVlc3RzLmNwdX1cbiAgICAgICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5yZXF1ZXN0cy5tZW1vcnl9XG4gICAgICAgIGxpbWl0czpcbiAgICAgICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5jb25maWdSZWxvYWRlci5saW1pdHMuY3B1fVxuICAgICAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmNvbmZpZ1JlbG9hZGVyLmxpbWl0cy5tZW1vcnl9XG5cbiAgICBzZXJ2aWNlOlxuICAgICAgc2Vzc2lvbkFmZmluaXR5OiBcIkNsaWVudElQXCJcblxuXG5ncmFmYW5hOlxuICAjIFJlY3JlYXRlIHN0cmF0ZWd5IGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhlIHN0b3JhZ2UgUFZDIGlzIFJXTzpcbiAgIyBhIFJvbGxpbmdVcGRhdGUgd291bGQgc3VyZ2UgYSBzZWNvbmQgcG9kIHRoYXQgY2Fubm90IG1vdW50IHRoZVxuICAjIHZvbHVtZSAoRmFpbGVkQXR0YWNoVm9sdW1lKSwgYmxvY2tpbmcgdGhlIHJvbGxvdXQgaW5kZWZpbml0ZWx5LlxuICBkZXBsb3ltZW50U3RyYXRlZ3k6XG4gICAgdHlwZTogUmVjcmVhdGVcblxuICAjIFVzZSBleGlzdGluZyBzZWNyZXQgZm9yIGFkbWluIGNyZWRlbnRpYWxzIChtYW5hZ2VkIGJ5IEVTTylcbiAgIyBUaGlzIHByZXZlbnRzIHBhc3N3b3JkIHJlZ2VuZXJhdGlvbiBvbiBIZWxtIHVwZ3JhZGVzXG4gIGFkbWluOlxuICAgIGV4aXN0aW5nU2VjcmV0OiBcImdyYWZhbmEtYWRtaW4tY3JlZGVudGlhbHNcIlxuICAgIHVzZXJLZXk6IFwiYWRtaW4tdXNlclwiXG4gICAgcGFzc3dvcmRLZXk6IFwiYWRtaW4tcGFzc3dvcmRcIlxuXG4gICMgR3JhZmFuYSBydW5zIGh0dHAgb24gOjMwMDAgYmVoaW5kIHRoZSBUTFMtdGVybWluYXRpbmcgaW5ncmVzcy4gV2l0aG91dCBhblxuICAjIGV4cGxpY2l0IHJvb3RfdXJsIGl0IGJ1aWxkcyBzaGFyZSBhbmQgcHVibGljLWRhc2hib2FyZCBsaW5rcyBmcm9tIHRoZSBpbnRlcm5hbFxuICAjIGFkZHJlc3MgKGh0dHA6Ly88cG9kPjozMDAwKTsgZGVyaXZlIHRoZSBleHRlcm5hbCBVUkwgZnJvbSB0aGUgY29uZmlndXJlZCBkb21haW4uXG4gIGdyYWZhbmEuaW5pOlxuICAgIHNlcnZlcjpcbiAgICAgIGRvbWFpbjogJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfVxuICAgICAgcm9vdF91cmw6IGh0dHBzOi8vJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfSR7dGhpcy5nZW5lcmF0ZUdyYWZhbmFTZWN1cml0eShjb25maWcpfVxuXG4gICMgRGlzYWJsZSBkZWZhdWx0IFByb21ldGhldXMgZGF0YXNvdXJjZSAod2UgcHJvdmlkZSBvdXIgb3duIHBvaW50aW5nIHRvIFRoYW5vcyBRdWVyeSlcbiAgZGVmYXVsdERhdGFzb3VyY2VFbmFibGVkOiBmYWxzZVxuXG4gICMgU2lkZWNhciBjb250YWluZXJzIGZvciBkYXNoYm9hcmQvZGF0YXNvdXJjZSBwcm92aXNpb25pbmdcbiAgc2lkZWNhcjpcbiAgICByZXNvdXJjZXM6XG4gICAgICByZXF1ZXN0czpcbiAgICAgICAgY3B1OiAxMG1cbiAgICAgICAgbWVtb3J5OiAyNTZNaVxuICAgICAgbGltaXRzOlxuICAgICAgICBjcHU6IDEwMG1cbiAgICAgICAgbWVtb3J5OiA1MTJNaVxuICAgIGRhc2hib2FyZHM6XG4gICAgICBlbmFibGVkOiB0cnVlXG4gICAgZGF0YXNvdXJjZXM6XG4gICAgICBlbmFibGVkOiBmYWxzZSAgIyBXZSBtYW51YWxseSBwcm92aXNpb24gZGF0YXNvdXJjZXMgKFByb21ldGhldXPihpJUaGFub3MsIExva2kpXG5cbiAgaW5ncmVzczpcbiAgICBlbmFibGVkOiB0cnVlJHtjb25maWcuZG9tYWlucy5pbmdyZXNzQ2xhc3NOYW1lID8gYFxcbiAgICBpbmdyZXNzQ2xhc3NOYW1lOiAke2NvbmZpZy5kb21haW5zLmluZ3Jlc3NDbGFzc05hbWV9YCA6ICcnfVxuICAgIGhvc3RzOlxuICAgICAgLSAke2NvbmZpZy5kb21haW5zLmdyYWZhbmF9XG4gICAgYW5ub3RhdGlvbnM6XG4gICAgICBjZXJ0LW1hbmFnZXIuaW8vY2x1c3Rlci1pc3N1ZXI6IFwibGV0c2VuY3J5cHQtY2x1c3Rlci1pc3N1ZXJcIlxuICAgICAgdHJhZWZpay5pbmdyZXNzLmt1YmVybmV0ZXMuaW8vcm91dGVyLmVudHJ5cG9pbnRzOiB3ZWJzZWN1cmVcbiAgICB0bHM6XG4gICAgICAtIHNlY3JldE5hbWU6IGdyYWZhbmEtZ2VuZXJhbC10bHNcbiAgICAgICAgaG9zdHM6XG4gICAgICAgIC0gJHtjb25maWcuZG9tYWlucy5ncmFmYW5hfVxuXG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5ncmFmYW5hLmxpbWl0cy5jcHV9XG4gICAgICBtZW1vcnk6ICR7Y29uZmlnLnJlc291cmNlcy5ncmFmYW5hLmxpbWl0cy5tZW1vcnl9XG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6ICR7Y29uZmlnLnJlc291cmNlcy5ncmFmYW5hLnJlcXVlc3RzLmNwdX1cbiAgICAgIG1lbW9yeTogJHtjb25maWcucmVzb3VyY2VzLmdyYWZhbmEucmVxdWVzdHMubWVtb3J5fVxuXG4gIHJlYWRpbmVzc1Byb2JlOlxuICAgIGh0dHBHZXQ6XG4gICAgICBwYXRoOiAvYXBpL2hlYWx0aFxuICAgICAgcG9ydDogMzAwMFxuICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDMwXG4gICAgcGVyaW9kU2Vjb25kczogMTBcbiAgICB0aW1lb3V0U2Vjb25kczogNVxuICAgIGZhaWx1cmVUaHJlc2hvbGQ6IDNcblxuICBsaXZlbmVzc1Byb2JlOlxuICAgIGh0dHBHZXQ6XG4gICAgICBwYXRoOiAvYXBpL2hlYWx0aFxuICAgICAgcG9ydDogMzAwMFxuICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDYwXG4gICAgcGVyaW9kU2Vjb25kczogMTBcbiAgICB0aW1lb3V0U2Vjb25kczogMzBcbiAgICBmYWlsdXJlVGhyZXNob2xkOiAxMFxuXG4gIHBlcnNpc3RlbmNlOlxuICAgIGVuYWJsZWQ6IHRydWVcbiAgICBzdG9yYWdlQ2xhc3NOYW1lOiBsb25naG9yblxuICAgIGFjY2Vzc01vZGVzOlxuICAgICAgLSBSZWFkV3JpdGVPbmNlXG4gICAgc2l6ZTogJHtjb25maWcuc3RvcmFnZS5ncmFmYW5hfVxuXG4gICMgTWFudWFsIGRhdGFzb3VyY2UgcHJvdmlzaW9uaW5nIChzaWRlY2FyIGRpc2FibGVkKVxuICAjIFRoYW5vcyBRdWVyeSDihpIgbG9uZy10ZXJtL2hpc3RvcmljYWwgbWV0cmljcyAoUzMgdmlhIFN0b3JlICsgbGl2ZSBzaWRlY2FyKSwgZGVmYXVsdFxuICAjIFByb21ldGhldXMg4oaSIGxvY2FsLCByZWNlbnQvaGlnaC1yZXMgb25seSAoa2VwdCBmb3IgbG93LWxhdGVuY3kgcmVjZW50IHF1ZXJpZXMpXG4gICMgTG9raSBmb3IgbG9nIGFnZ3JlZ2F0aW9uXG4gIGRhdGFzb3VyY2VzOlxuICAgIGRhdGFzb3VyY2VzLnlhbWw6XG4gICAgICBhcGlWZXJzaW9uOiAxXG4gICAgICAjIERlbGV0ZSBhbnkgcHJlLWV4aXN0aW5nIExva2kgZGF0YXNvdXJjZSAoZS5nLiBvbmUgY3JlYXRlZCB3aXRoIGFcbiAgICAgICMgcmFuZG9tbHkgZ2VuZXJhdGVkIFVJRCBiZWZvcmUgd2UgcGlubmVkIHVpZDogbG9raSkuIFdpdGhvdXQgdGhpcyxcbiAgICAgICMgR3JhZmFuYSBmYWlscyBwcm92aXNpb25pbmcgd2l0aCBcImRhdGEgc291cmNlIG5vdCBmb3VuZFwiIGJlY2F1c2VcbiAgICAgICMgdGhlIHVwc2VydCBjb2xsaWRlcyB3aXRoIHRoZSBleGlzdGluZyBlbnRyeS5cbiAgICAgIGRlbGV0ZURhdGFzb3VyY2VzOlxuICAgICAgLSBuYW1lOiBMb2tpXG4gICAgICAgIG9yZ0lkOiAxXG4gICAgICBkYXRhc291cmNlczpcbiAgICAgIC0gbmFtZTogVGhhbm9zXG4gICAgICAgIHR5cGU6IHByb21ldGhldXNcbiAgICAgICAgdWlkOiB0aGFub3NcbiAgICAgICAgYWNjZXNzOiBwcm94eVxuICAgICAgICAjIHRoYW5vcy1xdWVyeSBTZXJ2aWNlOiBodHRwIHBvcnQgOTA5MCAtPiBjb250YWluZXIgaHR0cCAxMDkwMlxuICAgICAgICB1cmw6IGh0dHA6Ly90aGFub3MtcXVlcnkuJHtjb25maWcubmFtZXNwYWNlfS5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwXG4gICAgICAgIGlzRGVmYXVsdDogdHJ1ZVxuICAgICAgICBqc29uRGF0YTpcbiAgICAgICAgICB0aW1lSW50ZXJ2YWw6IDMwc1xuICAgICAgLSBuYW1lOiBQcm9tZXRoZXVzXG4gICAgICAgIHR5cGU6IHByb21ldGhldXNcbiAgICAgICAgdWlkOiBwcm9tZXRoZXVzXG4gICAgICAgIGFjY2VzczogcHJveHlcbiAgICAgICAgdXJsOiBodHRwOi8va3ViZS1wcm9tZXRoZXVzLXN0YWNrLXByb21ldGhldXMuJHtjb25maWcubmFtZXNwYWNlfS5zdmMuY2x1c3Rlci5sb2NhbDo5MDkwXG4gICAgICAgIGlzRGVmYXVsdDogZmFsc2VcbiAgICAgICAganNvbkRhdGE6XG4gICAgICAgICAgdGltZUludGVydmFsOiAzMHNcbiAgICAgIC0gbmFtZTogTG9raVxuICAgICAgICB0eXBlOiBsb2tpXG4gICAgICAgIHVpZDogbG9raVxuICAgICAgICBhY2Nlc3M6IHByb3h5XG4gICAgICAgIHVybDogaHR0cDovL2xva2ktZ2F0ZXdheS4ke2NvbmZpZy5uYW1lc3BhY2V9LnN2Yy5jbHVzdGVyLmxvY2FsXG4gICAgICAgIGpzb25EYXRhOlxuICAgICAgICAgIG1heExpbmVzOiAxMDAwJHt0ZW1wb0RhdGFzb3VyY2V9XG5cbnByb21ldGhldXNPcGVyYXRvcjpcbiAgcmVzb3VyY2VzOlxuICAgIGxpbWl0czpcbiAgICAgIGNwdTogMVxuICAgICAgbWVtb3J5OiA1MTJNaVxuICAgIHJlcXVlc3RzOlxuICAgICAgY3B1OiA1MG1cbiAgICAgIG1lbW9yeTogMTI4TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6IGhpZ2gtcHJpb3JpdHlcblxucHJvbWV0aGV1cy1ub2RlLWV4cG9ydGVyOlxuICAjIEJpbmQgOjkxMDAgdG8gdGhlIG5vZGUgSW50ZXJuYWxJUCBvbmx5LCBub3QgMC4wLjAuMC4gV2l0aCBrdWJlUkJBQ1Byb3h5XG4gICMgZGlzYWJsZWQgdGhlIHN1Yi1jaGFydCBzZXRzIEhPU1RfSVAgZnJvbSBmaWVsZFJlZiBzdGF0dXMuaG9zdElQLCB3aGljaCBpc1xuICAjIHRoZSBub2RlJ3MgSW50ZXJuYWxJUCAoRVg6IHZTd2l0Y2ggMTAuNi4wLnggdmlhIC0tbm9kZS1pcDsgY2xvdWQ6IGhjbG91ZFxuICAjIHByaXZhdGUgSVApLiBub2RlLWV4cG9ydGVyIGlzIGhvc3ROZXR3b3JrLCBzbyBQcm9tZXRoZXVzIGFscmVhZHkgc2NyYXBlc1xuICAjIHRoYXQgSW50ZXJuYWxJUCBlbmRwb2ludCAtPiBzY3JhcGluZyBpcyB1bmFmZmVjdGVkLCBvbmx5IHRoZSBwdWJsaWMtTklDXG4gICMgZXhwb3N1cmUgb2YgdGhlIHVuYXV0aGVudGljYXRlZCBtZXRyaWNzIG9uIHRoZSBFWCBwdWJsaWMgSVBzIGdvZXMgYXdheS5cbiAgc2VydmljZTpcbiAgICBsaXN0ZW5PbkFsbEludGVyZmFjZXM6IGZhbHNlXG4gIHJlc291cmNlczpcbiAgICBsaW1pdHM6XG4gICAgICBjcHU6IDUwbVxuICAgICAgbWVtb3J5OiA1ME1pXG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6IDVtXG4gICAgICBtZW1vcnk6IDE2TWlcbiAgcHJpb3JpdHlDbGFzc05hbWU6IGhpZ2gtcHJpb3JpdHlcblxua3ViZS1zdGF0ZS1tZXRyaWNzOlxuICByZXNvdXJjZXM6XG4gICAgbGltaXRzOlxuICAgICAgY3B1OiAxXG4gICAgICBtZW1vcnk6IDUxMk1pXG4gICAgcmVxdWVzdHM6XG4gICAgICBjcHU6IDVtXG4gICAgICBtZW1vcnk6IDEyOE1pXG4gIHByaW9yaXR5Q2xhc3NOYW1lOiBoaWdoLXByaW9yaXR5XG5gO1xuICB9XG59XG4iXX0=
@@ -77,6 +77,10 @@ exports.DEFAULT_CONFIG = {
77
77
  namespace: 'longhorn-system',
78
78
  alerts: true,
79
79
  },
80
+ embedding: {
81
+ enabled: false,
82
+ frameAncestors: [],
83
+ },
80
84
  };
81
85
  /**
82
86
  * Resolve a full MonitoringConfig by deep-merging the caller's overrides over
@@ -95,6 +99,10 @@ function mergeConfig(input) {
95
99
  if (longhorn.enabled && !longhorn.namespace) {
96
100
  throw new Error('longhorn.namespace is required when longhorn.enabled is true');
97
101
  }
102
+ const embedding = (0, deepmerge_ts_1.deepmerge)(exports.DEFAULT_CONFIG.embedding, input.embedding ?? {});
103
+ if (embedding.enabled && embedding.frameAncestors.length === 0) {
104
+ throw new Error('embedding.frameAncestors must name at least one origin when embedding.enabled is true');
105
+ }
98
106
  return {
99
107
  namespace: input.namespace,
100
108
  clusterName: input.clusterName,
@@ -110,6 +118,7 @@ function mergeConfig(input) {
110
118
  tempo,
111
119
  traefik,
112
120
  longhorn,
121
+ embedding,
113
122
  };
114
123
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBdUZBLGtDQTZCQztBQXBIRCwrQ0FBeUM7QUFPekM7Ozs7R0FJRztBQUNVLFFBQUEsY0FBYyxHQUFzQjtJQUMvQyxRQUFRLEVBQUU7UUFDUixlQUFlLEVBQUUsUUFBUTtRQUN6QixJQUFJLEVBQUUsT0FBTztRQUNiLEtBQUssRUFBRSxRQUFRO1FBQ2YsTUFBTSxFQUFFLFNBQVM7UUFDakIsS0FBSyxFQUFFLFFBQVEsRUFBRSx3Q0FBd0M7S0FDMUQ7SUFDRCxTQUFTLEVBQUU7UUFDVCxVQUFVLEVBQUUsSUFBSTtRQUNoQixlQUFlLEVBQUUsRUFBRTtRQUNuQixjQUFjLEVBQUUsR0FBRztRQUNuQixjQUFjLEVBQUUsR0FBRztRQUNuQixJQUFJLEVBQUUsTUFBTTtLQUNiO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsVUFBVSxFQUFFLE1BQU07UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxZQUFZLEVBQUUsS0FBSztRQUNuQixXQUFXLEVBQUUsTUFBTTtRQUNuQixTQUFTLEVBQUUsS0FBSztRQUNoQixXQUFXLEVBQUUsTUFBTTtRQUNuQixlQUFlLEVBQUUsTUFBTTtRQUN2QixLQUFLLEVBQUUsS0FBSztLQUNiO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsVUFBVSxFQUFFLENBQUM7UUFDYixZQUFZLEVBQUUsQ0FBQztRQUNmLE9BQU8sRUFBRSxDQUFDO1FBQ1YsV0FBVyxFQUFFLENBQUM7UUFDZCxRQUFRLEVBQUUsQ0FBQztRQUNYLFNBQVMsRUFBRSxDQUFDO1FBQ1osV0FBVyxFQUFFLENBQUM7UUFDZCxXQUFXLEVBQUUsQ0FBQztRQUNkLEtBQUssRUFBRSxDQUFDO0tBQ1Q7SUFDRCxTQUFTLEVBQUU7UUFDVCxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUNuRyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM5RixZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyRyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyRyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNsRyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM5RixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNwRyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMvRixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNwRyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNsRyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN0RyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyRyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyRyxLQUFLLEVBQUUsRUFBRSxRQUFR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QkFBUyxFQUFDLHNCQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFtQjtRQUN2RixLQUFLO1FBQ0wsT0FBTztRQUNQLFFBQVE7S0FDVCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJ2RlZXBtZXJnZS10cyc7XG5pbXBvcnQge1xuICBEZWZhdWx0YWJsZUNvbmZpZywgTW9uaXRvcmluZ0NvbmZpZywgTW9uaXRvcmluZ0NvbmZpZ0lucHV0LFxuICBWZXJzaW9uQ29uZmlnLCBSZXRlbnRpb25Db25maWcsIFN0b3JhZ2VDb25maWcsIFJlcGxpY2FDb25maWcsIFJlc291cmNlQ29uZmlnLCBUZW1wb0NvbmZpZyxcbiAgVHJhZWZpa0NvbmZpZywgTG9uZ2hvcm5Db25maWcsXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFBhY2thZ2Utc2hpcHBlZCBkZWZhdWx0cyBmb3IgZXZlcnl0aGluZyB0aGF0IGhhcyBhIHNlbnNpYmxlIHVuaXZlcnNhbCB2YWx1ZS5cbiAqIFZhbHVlcyBtaXJyb3IgdGhlIGt1cDZzIHByb2R1Y3Rpb24gY29uZmlnIGF0IHRoZSB0aW1lIG9mIGV4dHJhY3Rpb247IGludGVncmF0aW9uXG4gKiBjaGFydHMgb3ZlcnJpZGUgb25seSB3aGF0IHRoZXkgbmVlZCB2aWEge0BsaW5rIG1lcmdlQ29uZmlnfS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09ORklHOiBEZWZhdWx0YWJsZUNvbmZpZyA9IHtcbiAgdmVyc2lvbnM6IHtcbiAgICBwcm9tZXRoZXVzU3RhY2s6ICc4Ny4wLjAnLFxuICAgIGxva2k6ICc3LjAuMCcsXG4gICAgYWxsb3k6ICcxLjEwLjAnLFxuICAgIHRoYW5vczogJ3YwLjQxLjAnLFxuICAgIHRlbXBvOiAnMS4yNC40JywgLy8gZ3JhZmFuYS90ZW1wbyBjaGFydCAoVGVtcG8gYXBwIDIuOS4wKVxuICB9LFxuICByZXRlbnRpb246IHtcbiAgICBwcm9tZXRoZXVzOiAnMmQnLFxuICAgIHByb21ldGhldXNTM1JhdzogMzAsXG4gICAgcHJvbWV0aGV1c1MzNW06IDE4MCxcbiAgICBwcm9tZXRoZXVzUzMxaDogNzMwLFxuICAgIGxva2k6ICc3NDRoJyxcbiAgfSxcbiAgc3RvcmFnZToge1xuICAgIHByb21ldGhldXM6ICcxNUdpJyxcbiAgICBncmFmYW5hOiAnNUdpJyxcbiAgICBhbGVydG1hbmFnZXI6ICcxR2knLFxuICAgIGxva2lCYWNrZW5kOiAnMTBHaScsXG4gICAgbG9raVdyaXRlOiAnM0dpJyxcbiAgICB0aGFub3NTdG9yZTogJzEwR2knLFxuICAgIHRoYW5vc0NvbXBhY3RvcjogJzIwR2knLFxuICAgIHRlbXBvOiAnNUdpJyxcbiAgfSxcbiAgcmVwbGljYXM6IHtcbiAgICBwcm9tZXRoZXVzOiAyLFxuICAgIGFsZXJ0bWFuYWdlcjogMixcbiAgICBncmFmYW5hOiAxLFxuICAgIGxva2lCYWNrZW5kOiAyLFxuICAgIGxva2lSZWFkOiAyLFxuICAgIGxva2lXcml0ZTogMixcbiAgICB0aGFub3NRdWVyeTogMixcbiAgICB0aGFub3NTdG9yZTogMixcbiAgICB0ZW1wbzogMSxcbiAgfSxcbiAgcmVzb3VyY2VzOiB7XG4gICAgcHJvbWV0aGV1czogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMTUwME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMicsIG1lbW9yeTogJzMwMDBNaScgfSB9LFxuICAgIGdyYWZhbmE6IHsgcmVxdWVzdHM6IHsgY3B1OiAnNTBtJywgbWVtb3J5OiAnNTEyTWknIH0sIGxpbWl0czogeyBjcHU6ICcyMDBtJywgbWVtb3J5OiAnMUdpJyB9IH0sXG4gICAgYWxlcnRtYW5hZ2VyOiB7IHJlcXVlc3RzOiB7IGNwdTogJzI1bScsIG1lbW9yeTogJzEwME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzIwME1pJyB9IH0sXG4gICAgbG9raUJhY2tlbmQ6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzI1Nk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzUxMk1pJyB9IH0sXG4gICAgbG9raVJlYWQ6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzI1Nk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzUxMk1pJyB9IH0sXG4gICAgbG9raVdyaXRlOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEnLCBtZW1vcnk6ICcxR2knIH0gfSxcbiAgICBsb2tpR2F0ZXdheTogeyByZXF1ZXN0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICcxMjhNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSB9LFxuICAgIGFsbG95OiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxMjhNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSB9LFxuICAgIHRoYW5vc1F1ZXJ5OiB7IHJlcXVlc3RzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMDBtJywgbWVtb3J5OiAnMUdpJyB9IH0sXG4gICAgdGhhbm9zU3RvcmU6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMjAwbScsIG1lbW9yeTogJzFHaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMDBtJywgbWVtb3J5OiAnMkdpJyB9IH0sXG4gICAgdGhhbm9zQ29tcGFjdG9yOiB7IHJlcXVlc3RzOiB7IGNwdTogJzUwMG0nLCBtZW1vcnk6ICcyR2knIH0sIGxpbWl0czogeyBjcHU6ICcyMDAwbScsIG1lbW9yeTogJzRHaScgfSB9LFxuICAgIGNvbmZpZ1JlbG9hZGVyOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwbScsIG1lbW9yeTogJzUwTWknIH0sIGxpbWl0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICcxMDBNaScgfSB9LFxuICAgIHRoYW5vc1NpZGVjYXI6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTBtJywgbWVtb3J5OiAnNTBNaScgfSwgbGltaXRzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxMDBNaScgfSB9LFxuICAgIHRlbXBvOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzEnLCBtZW1vcnk6ICcyR2knIH0gfSxcbiAgICBhbGxveVRyYWNlczogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMjU2TWknIH0sIGxpbWl0czogeyBjcHU6ICc1MDBtJywgbWVtb3J5OiAnNTEyTWknIH0gfSxcbiAgfSxcbiAgdGVtcG86IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBidWNrZXQ6ICcnLFxuICAgIHJldGVudGlvbjogJzMzNmgnLFxuICAgIHRhaWxTYW1wbGluZzogeyBsYXRlbmN5VGhyZXNob2xkTXM6IDEwMDAsIHByb2JhYmlsaXN0aWNQZXJjZW50OiAxMCB9LFxuICB9LFxuICB0cmFlZmlrOiB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gICAgbmFtZXNwYWNlOiAndHJhZWZpaycsXG4gICAgZGFzaGJvYXJkOiB0cnVlLFxuICB9LFxuICBsb25naG9ybjoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIG5hbWVzcGFjZTogJ2xvbmdob3JuLXN5c3RlbScsXG4gICAgYWxlcnRzOiB0cnVlLFxuICB9LFxufTtcblxuLyoqXG4gKiBSZXNvbHZlIGEgZnVsbCBNb25pdG9yaW5nQ29uZmlnIGJ5IGRlZXAtbWVyZ2luZyB0aGUgY2FsbGVyJ3Mgb3ZlcnJpZGVzIG92ZXJcbiAqIERFRkFVTFRfQ09ORklHLiBSZXF1aXJlZCBjbHVzdGVyIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggdmVyYmF0aW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUNvbmZpZyhpbnB1dDogTW9uaXRvcmluZ0NvbmZpZ0lucHV0KTogTW9uaXRvcmluZ0NvbmZpZyB7XG4gIGNvbnN0IHRlbXBvID0gZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnRlbXBvLCBpbnB1dC50ZW1wbyA/PyB7fSkgYXMgVGVtcG9Db25maWc7XG4gIGlmICh0ZW1wby5lbmFibGVkICYmICF0ZW1wby5idWNrZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RlbXBvLmJ1Y2tldCBpcyByZXF1aXJlZCB3aGVuIHRlbXBvLmVuYWJsZWQgaXMgdHJ1ZScpO1xuICB9XG4gIGNvbnN0IHRyYWVmaWsgPSBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcudHJhZWZpaywgaW5wdXQudHJhZWZpayA/PyB7fSkgYXMgVHJhZWZpa0NvbmZpZztcbiAgaWYgKHRyYWVmaWsuZW5hYmxlZCAmJiAhdHJhZWZpay5uYW1lc3BhY2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3RyYWVmaWsubmFtZXNwYWNlIGlzIHJlcXVpcmVkIHdoZW4gdHJhZWZpay5lbmFibGVkIGlzIHRydWUnKTtcbiAgfVxuICBjb25zdCBsb25naG9ybiA9IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5sb25naG9ybiwgaW5wdXQubG9uZ2hvcm4gPz8ge30pIGFzIExvbmdob3JuQ29uZmlnO1xuICBpZiAobG9uZ2hvcm4uZW5hYmxlZCAmJiAhbG9uZ2hvcm4ubmFtZXNwYWNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdsb25naG9ybi5uYW1lc3BhY2UgaXMgcmVxdWlyZWQgd2hlbiBsb25naG9ybi5lbmFibGVkIGlzIHRydWUnKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIG5hbWVzcGFjZTogaW5wdXQubmFtZXNwYWNlLFxuICAgIGNsdXN0ZXJOYW1lOiBpbnB1dC5jbHVzdGVyTmFtZSxcbiAgICBkb21haW5zOiBpbnB1dC5kb21haW5zLFxuICAgIHMzOiBpbnB1dC5zMyxcbiAgICBzbXRwOiBpbnB1dC5zbXRwLFxuICAgIGludGVncmF0aW9uczogaW5wdXQuaW50ZWdyYXRpb25zLFxuICAgIHZlcnNpb25zOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcudmVyc2lvbnMsIGlucHV0LnZlcnNpb25zID8/IHt9KSBhcyBWZXJzaW9uQ29uZmlnLFxuICAgIHJldGVudGlvbjogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnJldGVudGlvbiwgaW5wdXQucmV0ZW50aW9uID8/IHt9KSBhcyBSZXRlbnRpb25Db25maWcsXG4gICAgc3RvcmFnZTogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnN0b3JhZ2UsIGlucHV0LnN0b3JhZ2UgPz8ge30pIGFzIFN0b3JhZ2VDb25maWcsXG4gICAgcmVwbGljYXM6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5yZXBsaWNhcywgaW5wdXQucmVwbGljYXMgPz8ge30pIGFzIFJlcGxpY2FDb25maWcsXG4gICAgcmVzb3VyY2VzOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcucmVzb3VyY2VzLCBpbnB1dC5yZXNvdXJjZXMgPz8ge30pIGFzIFJlc291cmNlQ29uZmlnLFxuICAgIHRlbXBvLFxuICAgIHRyYWVmaWssXG4gICAgbG9uZ2hvcm4sXG4gIH07XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVmYXVsdC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMkZBLGtDQWtDQztBQTdIRCwrQ0FBeUM7QUFPekM7Ozs7R0FJRztBQUNVLFFBQUEsY0FBYyxHQUFzQjtJQUMvQyxRQUFRLEVBQUU7UUFDUixlQUFlLEVBQUUsUUFBUTtRQUN6QixJQUFJLEVBQUUsT0FBTztRQUNiLEtBQUssRUFBRSxRQUFRO1FBQ2YsTUFBTSxFQUFFLFNBQVM7UUFDakIsS0FBSyxFQUFFLFFBQVEsRUFBRSx3Q0FBd0M7S0FDMUQ7SUFDRCxTQUFTLEVBQUU7UUFDVCxVQUFVLEVBQUUsSUFBSTtRQUNoQixlQUFlLEVBQUUsRUFBRTtRQUNuQixjQUFjLEVBQUUsR0FBRztRQUNuQixjQUFjLEVBQUUsR0FBRztRQUNuQixJQUFJLEVBQUUsTUFBTTtLQUNiO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsVUFBVSxFQUFFLE1BQU07UUFDbEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxZQUFZLEVBQUUsS0FBSztRQUNuQixXQUFXLEVBQUUsTUFBTTtRQUNuQixTQUFTLEVBQUUsS0FBSztRQUNoQixXQUFXLEVBQUUsTUFBTTtRQUNuQixlQUFlLEVBQUUsTUFBTTtRQUN2QixLQUFLLEVBQUUsS0FBSztLQUNiO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsVUFBVSxFQUFFLENBQUM7UUFDYixZQUFZLEVBQUUsQ0FBQztRQUNmLE9BQU8sRUFBRSxDQUFDO1FBQ1YsV0FBVyxFQUFFLENBQUM7UUFDZCxRQUFRLEVBQUUsQ0FBQztRQUNYLFNBQVMsRUFBRSxDQUFDO1FBQ1osV0FBVyxFQUFFLENBQUM7UUFDZCxXQUFXLEVBQUUsQ0FBQztRQUNkLEtBQUssRUFBRSxDQUFDO0tBQ1Q7SUFDRCxTQUFTLEVBQUU7UUFDVCxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUNuRyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM5RixZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyRyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyRyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNsRyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM5RixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNwRyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMvRixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNwRyxXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNsRyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN0RyxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyRyxhQUFhLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyRyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUMxRixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtLQUN0RztJQUNELEtBQUssRUFBRTtRQUNMLE9BQU8sRUFBRSxLQUFLO1FBQ2QsTUFBTSxFQUFFLEVBQUU7UUFDVixTQUFTLEVBQUUsTUFBTTtRQUNqQixZQUFZLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxFQUFFO0tBQ3JFO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsT0FBTyxFQUFFLEtBQUs7UUFDZCxTQUFTLEVBQUUsU0FBUztRQUNwQixTQUFTLEVBQUUsSUFBSTtLQUNoQjtJQUNELFFBQVEsRUFBRTtRQUNSLE9BQU8sRUFBRSxLQUFLO1FBQ2QsU0FBUyxFQUFFLGlCQUFpQjtRQUM1QixNQUFNLEVBQUUsSUFBSTtLQUNiO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsT0FBTyxFQUFFLEtBQUs7UUFDZCxjQUFjLEVBQUUsRUFBRTtLQUNuQjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxTQUFnQixXQUFXLENBQUMsS0FBNEI7SUFDdEQsTUFBTSxLQUFLLEdBQUcsSUFBQSx3QkFBUyxFQUFDLHNCQUFjLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFnQixDQUFDO0lBQ2hGLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELE1BQU0sT0FBTyxHQUFHLElBQUEsd0JBQVMsRUFBQyxzQkFBYyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBa0IsQ0FBQztJQUN4RixJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFBLHdCQUFTLEVBQUMsc0JBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQW1CLENBQUM7SUFDNUYsSUFBSSxRQUFRLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztJQUNsRixDQUFDO0lBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBQSx3QkFBUyxFQUFDLHNCQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFvQixDQUFDO0lBQ2hHLElBQUksU0FBUyxDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLHVGQUF1RixDQUFDLENBQUM7SUFDM0csQ0FBQztJQUNELE9BQU87UUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1FBQzlCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztRQUN0QixFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDWixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7UUFDaEIsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1FBQ2hDLFFBQVEsRUFBRSxJQUFBLHdCQUFTLEVBQUMsc0JBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQWtCO1FBQ25GLFNBQVMsRUFBRSxJQUFBLHdCQUFTLEVBQUMsc0JBQWMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQW9CO1FBQ3hGLE9BQU8sRUFBRSxJQUFBLHdCQUFTLEVBQUMsc0JBQWMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQWtCO1FBQ2hGLFFBQVEsRUFBRSxJQUFBLHdCQUFTLEVBQUMsc0JBQWMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQWtCO1FBQ25GLFNBQVMsRUFBRSxJQUFBLHdCQUFTLEVBQUMsc0JBQWMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQW1CO1FBQ3ZGLEtBQUs7UUFDTCxPQUFPO1FBQ1AsUUFBUTtRQUNSLFNBQVM7S0FDVixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZXBtZXJnZSB9IGZyb20gJ2RlZXBtZXJnZS10cyc7XG5pbXBvcnQge1xuICBEZWZhdWx0YWJsZUNvbmZpZywgTW9uaXRvcmluZ0NvbmZpZywgTW9uaXRvcmluZ0NvbmZpZ0lucHV0LFxuICBWZXJzaW9uQ29uZmlnLCBSZXRlbnRpb25Db25maWcsIFN0b3JhZ2VDb25maWcsIFJlcGxpY2FDb25maWcsIFJlc291cmNlQ29uZmlnLCBUZW1wb0NvbmZpZyxcbiAgVHJhZWZpa0NvbmZpZywgTG9uZ2hvcm5Db25maWcsIEVtYmVkZGluZ0NvbmZpZyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogUGFja2FnZS1zaGlwcGVkIGRlZmF1bHRzIGZvciBldmVyeXRoaW5nIHRoYXQgaGFzIGEgc2Vuc2libGUgdW5pdmVyc2FsIHZhbHVlLlxuICogVmFsdWVzIG1pcnJvciB0aGUga3VwNnMgcHJvZHVjdGlvbiBjb25maWcgYXQgdGhlIHRpbWUgb2YgZXh0cmFjdGlvbjsgaW50ZWdyYXRpb25cbiAqIGNoYXJ0cyBvdmVycmlkZSBvbmx5IHdoYXQgdGhleSBuZWVkIHZpYSB7QGxpbmsgbWVyZ2VDb25maWd9LlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05GSUc6IERlZmF1bHRhYmxlQ29uZmlnID0ge1xuICB2ZXJzaW9uczoge1xuICAgIHByb21ldGhldXNTdGFjazogJzg3LjAuMCcsXG4gICAgbG9raTogJzcuMC4wJyxcbiAgICBhbGxveTogJzEuMTAuMCcsXG4gICAgdGhhbm9zOiAndjAuNDEuMCcsXG4gICAgdGVtcG86ICcxLjI0LjQnLCAvLyBncmFmYW5hL3RlbXBvIGNoYXJ0IChUZW1wbyBhcHAgMi45LjApXG4gIH0sXG4gIHJldGVudGlvbjoge1xuICAgIHByb21ldGhldXM6ICcyZCcsXG4gICAgcHJvbWV0aGV1c1MzUmF3OiAzMCxcbiAgICBwcm9tZXRoZXVzUzM1bTogMTgwLFxuICAgIHByb21ldGhldXNTMzFoOiA3MzAsXG4gICAgbG9raTogJzc0NGgnLFxuICB9LFxuICBzdG9yYWdlOiB7XG4gICAgcHJvbWV0aGV1czogJzE1R2knLFxuICAgIGdyYWZhbmE6ICc1R2knLFxuICAgIGFsZXJ0bWFuYWdlcjogJzFHaScsXG4gICAgbG9raUJhY2tlbmQ6ICcxMEdpJyxcbiAgICBsb2tpV3JpdGU6ICczR2knLFxuICAgIHRoYW5vc1N0b3JlOiAnMTBHaScsXG4gICAgdGhhbm9zQ29tcGFjdG9yOiAnMjBHaScsXG4gICAgdGVtcG86ICc1R2knLFxuICB9LFxuICByZXBsaWNhczoge1xuICAgIHByb21ldGhldXM6IDIsXG4gICAgYWxlcnRtYW5hZ2VyOiAyLFxuICAgIGdyYWZhbmE6IDEsXG4gICAgbG9raUJhY2tlbmQ6IDIsXG4gICAgbG9raVJlYWQ6IDIsXG4gICAgbG9raVdyaXRlOiAyLFxuICAgIHRoYW5vc1F1ZXJ5OiAyLFxuICAgIHRoYW5vc1N0b3JlOiAyLFxuICAgIHRlbXBvOiAxLFxuICB9LFxuICByZXNvdXJjZXM6IHtcbiAgICBwcm9tZXRoZXVzOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcxNTAwTWknIH0sIGxpbWl0czogeyBjcHU6ICcyJywgbWVtb3J5OiAnMzAwME1pJyB9IH0sXG4gICAgZ3JhZmFuYTogeyByZXF1ZXN0czogeyBjcHU6ICc1MG0nLCBtZW1vcnk6ICc1MTJNaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMG0nLCBtZW1vcnk6ICcxR2knIH0gfSxcbiAgICBhbGVydG1hbmFnZXI6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMjVtJywgbWVtb3J5OiAnMTAwTWknIH0sIGxpbWl0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMjAwTWknIH0gfSxcbiAgICBsb2tpQmFja2VuZDogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMjU2TWknIH0sIGxpbWl0czogeyBjcHU6ICc1MDBtJywgbWVtb3J5OiAnNTEyTWknIH0gfSxcbiAgICBsb2tpUmVhZDogeyByZXF1ZXN0czogeyBjcHU6ICcxMDBtJywgbWVtb3J5OiAnMjU2TWknIH0sIGxpbWl0czogeyBjcHU6ICc1MDBtJywgbWVtb3J5OiAnNTEyTWknIH0gfSxcbiAgICBsb2tpV3JpdGU6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzUxMk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMScsIG1lbW9yeTogJzFHaScgfSB9LFxuICAgIGxva2lHYXRld2F5OiB7IHJlcXVlc3RzOiB7IGNwdTogJzUwbScsIG1lbW9yeTogJzEyOE1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMjAwbScsIG1lbW9yeTogJzI1Nk1pJyB9IH0sXG4gICAgYWxsb3k6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzEyOE1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMjAwbScsIG1lbW9yeTogJzI1Nk1pJyB9IH0sXG4gICAgdGhhbm9zUXVlcnk6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMjAwbScsIG1lbW9yeTogJzUxMk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMTAwMG0nLCBtZW1vcnk6ICcxR2knIH0gfSxcbiAgICB0aGFub3NTdG9yZTogeyByZXF1ZXN0czogeyBjcHU6ICcyMDBtJywgbWVtb3J5OiAnMUdpJyB9LCBsaW1pdHM6IHsgY3B1OiAnMTAwMG0nLCBtZW1vcnk6ICcyR2knIH0gfSxcbiAgICB0aGFub3NDb21wYWN0b3I6IHsgcmVxdWVzdHM6IHsgY3B1OiAnNTAwbScsIG1lbW9yeTogJzJHaScgfSwgbGltaXRzOiB7IGNwdTogJzIwMDBtJywgbWVtb3J5OiAnNEdpJyB9IH0sXG4gICAgY29uZmlnUmVsb2FkZXI6IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTBtJywgbWVtb3J5OiAnNTBNaScgfSwgbGltaXRzOiB7IGNwdTogJzUwbScsIG1lbW9yeTogJzEwME1pJyB9IH0sXG4gICAgdGhhbm9zU2lkZWNhcjogeyByZXF1ZXN0czogeyBjcHU6ICcxMG0nLCBtZW1vcnk6ICc1ME1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzEwME1pJyB9IH0sXG4gICAgdGVtcG86IHsgcmVxdWVzdHM6IHsgY3B1OiAnMTAwbScsIG1lbW9yeTogJzUxMk1pJyB9LCBsaW1pdHM6IHsgY3B1OiAnMScsIG1lbW9yeTogJzJHaScgfSB9LFxuICAgIGFsbG95VHJhY2VzOiB7IHJlcXVlc3RzOiB7IGNwdTogJzEwMG0nLCBtZW1vcnk6ICcyNTZNaScgfSwgbGltaXRzOiB7IGNwdTogJzUwMG0nLCBtZW1vcnk6ICc1MTJNaScgfSB9LFxuICB9LFxuICB0ZW1wbzoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIGJ1Y2tldDogJycsXG4gICAgcmV0ZW50aW9uOiAnMzM2aCcsXG4gICAgdGFpbFNhbXBsaW5nOiB7IGxhdGVuY3lUaHJlc2hvbGRNczogMTAwMCwgcHJvYmFiaWxpc3RpY1BlcmNlbnQ6IDEwIH0sXG4gIH0sXG4gIHRyYWVmaWs6IHtcbiAgICBlbmFibGVkOiBmYWxzZSxcbiAgICBuYW1lc3BhY2U6ICd0cmFlZmlrJyxcbiAgICBkYXNoYm9hcmQ6IHRydWUsXG4gIH0sXG4gIGxvbmdob3JuOiB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gICAgbmFtZXNwYWNlOiAnbG9uZ2hvcm4tc3lzdGVtJyxcbiAgICBhbGVydHM6IHRydWUsXG4gIH0sXG4gIGVtYmVkZGluZzoge1xuICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIGZyYW1lQW5jZXN0b3JzOiBbXSxcbiAgfSxcbn07XG5cbi8qKlxuICogUmVzb2x2ZSBhIGZ1bGwgTW9uaXRvcmluZ0NvbmZpZyBieSBkZWVwLW1lcmdpbmcgdGhlIGNhbGxlcidzIG92ZXJyaWRlcyBvdmVyXG4gKiBERUZBVUxUX0NPTkZJRy4gUmVxdWlyZWQgY2x1c3RlciB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIHZlcmJhdGltLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDb25maWcoaW5wdXQ6IE1vbml0b3JpbmdDb25maWdJbnB1dCk6IE1vbml0b3JpbmdDb25maWcge1xuICBjb25zdCB0ZW1wbyA9IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy50ZW1wbywgaW5wdXQudGVtcG8gPz8ge30pIGFzIFRlbXBvQ29uZmlnO1xuICBpZiAodGVtcG8uZW5hYmxlZCAmJiAhdGVtcG8uYnVja2V0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0ZW1wby5idWNrZXQgaXMgcmVxdWlyZWQgd2hlbiB0ZW1wby5lbmFibGVkIGlzIHRydWUnKTtcbiAgfVxuICBjb25zdCB0cmFlZmlrID0gZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnRyYWVmaWssIGlucHV0LnRyYWVmaWsgPz8ge30pIGFzIFRyYWVmaWtDb25maWc7XG4gIGlmICh0cmFlZmlrLmVuYWJsZWQgJiYgIXRyYWVmaWsubmFtZXNwYWNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0cmFlZmlrLm5hbWVzcGFjZSBpcyByZXF1aXJlZCB3aGVuIHRyYWVmaWsuZW5hYmxlZCBpcyB0cnVlJyk7XG4gIH1cbiAgY29uc3QgbG9uZ2hvcm4gPSBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcubG9uZ2hvcm4sIGlucHV0Lmxvbmdob3JuID8/IHt9KSBhcyBMb25naG9ybkNvbmZpZztcbiAgaWYgKGxvbmdob3JuLmVuYWJsZWQgJiYgIWxvbmdob3JuLm5hbWVzcGFjZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignbG9uZ2hvcm4ubmFtZXNwYWNlIGlzIHJlcXVpcmVkIHdoZW4gbG9uZ2hvcm4uZW5hYmxlZCBpcyB0cnVlJyk7XG4gIH1cbiAgY29uc3QgZW1iZWRkaW5nID0gZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLmVtYmVkZGluZywgaW5wdXQuZW1iZWRkaW5nID8/IHt9KSBhcyBFbWJlZGRpbmdDb25maWc7XG4gIGlmIChlbWJlZGRpbmcuZW5hYmxlZCAmJiBlbWJlZGRpbmcuZnJhbWVBbmNlc3RvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdlbWJlZGRpbmcuZnJhbWVBbmNlc3RvcnMgbXVzdCBuYW1lIGF0IGxlYXN0IG9uZSBvcmlnaW4gd2hlbiBlbWJlZGRpbmcuZW5hYmxlZCBpcyB0cnVlJyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBuYW1lc3BhY2U6IGlucHV0Lm5hbWVzcGFjZSxcbiAgICBjbHVzdGVyTmFtZTogaW5wdXQuY2x1c3Rlck5hbWUsXG4gICAgZG9tYWluczogaW5wdXQuZG9tYWlucyxcbiAgICBzMzogaW5wdXQuczMsXG4gICAgc210cDogaW5wdXQuc210cCxcbiAgICBpbnRlZ3JhdGlvbnM6IGlucHV0LmludGVncmF0aW9ucyxcbiAgICB2ZXJzaW9uczogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnZlcnNpb25zLCBpbnB1dC52ZXJzaW9ucyA/PyB7fSkgYXMgVmVyc2lvbkNvbmZpZyxcbiAgICByZXRlbnRpb246IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5yZXRlbnRpb24sIGlucHV0LnJldGVudGlvbiA/PyB7fSkgYXMgUmV0ZW50aW9uQ29uZmlnLFxuICAgIHN0b3JhZ2U6IGRlZXBtZXJnZShERUZBVUxUX0NPTkZJRy5zdG9yYWdlLCBpbnB1dC5zdG9yYWdlID8/IHt9KSBhcyBTdG9yYWdlQ29uZmlnLFxuICAgIHJlcGxpY2FzOiBkZWVwbWVyZ2UoREVGQVVMVF9DT05GSUcucmVwbGljYXMsIGlucHV0LnJlcGxpY2FzID8/IHt9KSBhcyBSZXBsaWNhQ29uZmlnLFxuICAgIHJlc291cmNlczogZGVlcG1lcmdlKERFRkFVTFRfQ09ORklHLnJlc291cmNlcywgaW5wdXQucmVzb3VyY2VzID8/IHt9KSBhcyBSZXNvdXJjZUNvbmZpZyxcbiAgICB0ZW1wbyxcbiAgICB0cmFlZmlrLFxuICAgIGxvbmdob3JuLFxuICAgIGVtYmVkZGluZyxcbiAgfTtcbn1cbiJdfQ==
package/lib/types.d.ts CHANGED
@@ -156,6 +156,19 @@ export interface LonghornConfig {
156
156
  namespace: string;
157
157
  alerts: boolean;
158
158
  }
159
+ /**
160
+ * Browser embedding of Grafana in an <iframe> (opt-in).
161
+ *
162
+ * Grafana refuses framing by default (`X-Frame-Options: deny`), which also
163
+ * blocks externally shared ("public") dashboards. Enabling this drops that
164
+ * header and replaces it with a Content-Security-Policy whose `frame-ancestors`
165
+ * names exactly the origins allowed to frame Grafana — the whole instance,
166
+ * including the authenticated UI, so keep the list tight.
167
+ */
168
+ export interface EmbeddingConfig {
169
+ enabled: boolean;
170
+ frameAncestors: string[];
171
+ }
159
172
  /**
160
173
  * Configuration the package ships sensible defaults for.
161
174
  * Integration charts may override any of these (deep-merged over DEFAULT_CONFIG).
@@ -169,6 +182,7 @@ export interface DefaultableConfig {
169
182
  tempo: TempoConfig;
170
183
  traefik: TraefikConfig;
171
184
  longhorn: LonghornConfig;
185
+ embedding: EmbeddingConfig;
172
186
  }
173
187
  /**
174
188
  * Cluster-specific configuration with no sensible universal default.
package/lib/types.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb3VyY2UgYWxsb2NhdGlvbiBmb3IgYSBjb21wb25lbnQgKENQVSBhbmQgbWVtb3J5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlQWxsb2NhdGlvbiB7XG4gIGNwdTogc3RyaW5nO1xuICBtZW1vcnk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNvdXJjZSByZXF1ZXN0cyBhbmQgbGltaXRzIGZvciBhIGNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUmVxdWlyZW1lbnRzIHtcbiAgcmVxdWVzdHM6IFJlc291cmNlQWxsb2NhdGlvbjtcbiAgbGltaXRzOiBSZXNvdXJjZUFsbG9jYXRpb247XG59XG5cbi8qKlxuICogUzMgY29uZmlndXJhdGlvbiBmb3Igb2JqZWN0IHN0b3JhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0NvbmZpZyB7XG4gIGVuZHBvaW50OiBzdHJpbmc7IC8vIEZ1bGwgZW5kcG9pbnQgd2l0aCBwcm90b2NvbCAoZS5nLiwgaHR0cHM6Ly9mc24xLnlvdXItb2JqZWN0c3RvcmFnZS5jb20pXG4gIGVuZHBvaW50Tm9Qcm90b2NvbDogc3RyaW5nOyAvLyBFbmRwb2ludCB3aXRob3V0IHByb3RvY29sIChmb3IgVGhhbm9zKVxuICByZWdpb246IHN0cmluZzsgLy8gUzMgcmVnaW9uIChlLmcuLCBmc24xKVxuICBidWNrZXRzOiB7XG4gICAgdGhhbm9zOiBzdHJpbmc7IC8vIFRoYW5vcyBtZXRyaWNzIGJ1Y2tldFxuICAgIGxva2k6IHN0cmluZzsgLy8gTG9raSBsb2dzIGJ1Y2tldFxuICB9O1xufVxuXG4vKipcbiAqIFNNVFAgY29uZmlndXJhdGlvbiBmb3IgYWxlcnRpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbXRwQ29uZmlnIHtcbiAgaG9zdDogc3RyaW5nOyAvLyBTTVRQIHNlcnZlciBob3N0bmFtZVxuICBwb3J0OiBudW1iZXI7IC8vIFNNVFAgc2VydmVyIHBvcnRcbiAgZnJvbTogc3RyaW5nOyAvLyBGcm9tIGVtYWlsIGFkZHJlc3NcbiAgdXNlcm5hbWU/OiBzdHJpbmc7IC8vIFNNVFAgdXNlcm5hbWUgKG9wdGlvbmFsKVxuICBwYXNzd29yZD86IHN0cmluZzsgLy8gU01UUCBwYXNzd29yZCAob3B0aW9uYWwpXG4gIHJlcXVpcmVUbHM6IGJvb2xlYW47IC8vIFJlcXVpcmUgVExTIGZvciBTTVRQXG59XG5cbi8qKlxuICogRG9tYWluIGNvbmZpZ3VyYXRpb24gZm9yIGluZ3Jlc3Nlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERvbWFpbkNvbmZpZyB7XG4gIGdyYWZhbmE6IHN0cmluZzsgLy8gR3JhZmFuYSBkb21haW4gKGUuZy4sIGdyYWZhbmEub3BzLmt1cDZzLm5ldClcbiAgaW5ncmVzc0NsYXNzTmFtZT86IHN0cmluZzsgLy8gSW5ncmVzc0NsYXNzIGZvciB0aGUgR3JhZmFuYSBpbmdyZXNzOyBvbWl0IHRvIHJlbHkgb24gdGhlIGNsdXN0ZXIncyBkZWZhdWx0IEluZ3Jlc3NDbGFzc1xufVxuXG4vKipcbiAqIE5hbWVzIG9mIHRoZSBleHRlcm5hbCBDcm9zc3BsYW5lIGFuZCBFeHRlcm5hbCBTZWNyZXRzIE9wZXJhdG9yIHJlc291cmNlcyB0aGlzXG4gKiBzdGFjayByZWZlcmVuY2VzLiBUaGVzZSBhcmUgbm90IGNyZWF0ZWQgYnkgdGhlIGxpYnJhcnk7IHRoZXkgbXVzdCBhbHJlYWR5IGV4aXN0XG4gKiBpbiB5b3VyIGNsdXN0ZXIuIFRoZXJlIGFyZSBubyBkZWZhdWx0cyDigJQgZXZlcnkgY29uc3VtZXIgd2lyZXMgaXRzIG93biBuYW1lcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvbnNDb25maWcge1xuICBzM1Byb3ZpZGVyQ29uZmlnOiBzdHJpbmc7IC8vIENyb3NzcGxhbmUgUHJvdmlkZXJDb25maWcgbmFtZSB0aGUgQnVja2V0IHJlc291cmNlcyByZWNvbmNpbGUgYWdhaW5zdFxuICBzM1NlY3JldFN0b3JlOiBzdHJpbmc7IC8vIEVTTyBDbHVzdGVyU2VjcmV0U3RvcmUgbmFtZSBob2xkaW5nIHRoZSBTMyBjcmVkZW50aWFsc1xuICBzM0NyZWRlbnRpYWxzS2V5OiBzdHJpbmc7IC8vIFJlbW90ZSBrZXkgaW4gdGhlIHN0b3JlIHRvIGV4dHJhY3QgUzMgY3JlZGVudGlhbHMgZnJvbSAocHJvdmlkZXMgQVdTX0FDQ0VTU19LRVlfSUQgLyBBV1NfU0VDUkVUX0FDQ0VTU19LRVkpXG4gIGdyYWZhbmFTZWNyZXRTdG9yZTogc3RyaW5nOyAvLyBFU08gQ2x1c3RlclNlY3JldFN0b3JlIG5hbWUgaG9sZGluZyB0aGUgR3JhZmFuYSBhZG1pbiBjcmVkZW50aWFsc1xuICBncmFmYW5hQ3JlZGVudGlhbHNLZXk6IHN0cmluZzsgLy8gUmVtb3RlIGtleSBpbiB0aGUgc3RvcmUgdG8gZXh0cmFjdCB0aGUgR3JhZmFuYSBhZG1pbiBjcmVkZW50aWFscyBmcm9tXG59XG5cbi8qKlxuICogUmV0ZW50aW9uIHBvbGljaWVzIGZvciBtZXRyaWNzIGFuZCBsb2dzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV0ZW50aW9uQ29uZmlnIHtcbiAgcHJvbWV0aGV1czogc3RyaW5nOyAvLyBQcm9tZXRoZXVzIGxvY2FsIHJldGVudGlvbiAoZS5nLiwgXCIzZFwiKVxuICBwcm9tZXRoZXVzUzNSYXc6IG51bWJlcjsgLy8gVGhhbm9zIHJhdyBkYXRhIHJldGVudGlvbiAoZGF5cylcbiAgcHJvbWV0aGV1c1MzNW06IG51bWJlcjsgLy8gVGhhbm9zIDUtbWludXRlIGRvd25zYW1wbGVkIHJldGVudGlvbiAoZGF5cylcbiAgcHJvbWV0aGV1c1MzMWg6IG51bWJlcjsgLy8gVGhhbm9zIDEtaG91ciBkb3duc2FtcGxlZCByZXRlbnRpb24gKGRheXMpXG4gIGxva2k6IHN0cmluZzsgLy8gTG9raSByZXRlbnRpb24gKGUuZy4sIFwiNzQ0aFwiIGZvciAzMSBkYXlzKVxufVxuXG4vKipcbiAqIFN0b3JhZ2Ugc2l6ZXMgZm9yIHBlcnNpc3RlbnQgdm9sdW1lc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VDb25maWcge1xuICBwcm9tZXRoZXVzOiBzdHJpbmc7IC8vIFByb21ldGhldXMgUFZDIHNpemVcbiAgZ3JhZmFuYTogc3RyaW5nOyAvLyBHcmFmYW5hIFBWQyBzaXplXG4gIGFsZXJ0bWFuYWdlcjogc3RyaW5nOyAvLyBBbGVydG1hbmFnZXIgUFZDIHNpemVcbiAgbG9raUJhY2tlbmQ6IHN0cmluZzsgLy8gTG9raSBiYWNrZW5kIFBWQyBzaXplXG4gIGxva2lXcml0ZTogc3RyaW5nOyAvLyBMb2tpIHdyaXRlIFBWQyBzaXplXG4gIHRoYW5vc1N0b3JlOiBzdHJpbmc7IC8vIFRoYW5vcyBzdG9yZSBQVkMgc2l6ZSAocGVyIHJlcGxpY2EpXG4gIHRoYW5vc0NvbXBhY3Rvcjogc3RyaW5nOyAvLyBUaGFub3MgY29tcGFjdG9yIFBWQyBzaXplXG4gIHRlbXBvOiBzdHJpbmc7IC8vIFRlbXBvIFdBTC9sb2NhbC1ibG9ja3MgUFZDIHNpemVcbn1cblxuLyoqXG4gKiBSZXBsaWNhIGNvdW50cyBmb3IgaGlnaCBhdmFpbGFiaWxpdHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXBsaWNhQ29uZmlnIHtcbiAgcHJvbWV0aGV1czogbnVtYmVyOyAvLyBQcm9tZXRoZXVzIHJlcGxpY2FzXG4gIGFsZXJ0bWFuYWdlcjogbnVtYmVyOyAvLyBBbGVydG1hbmFnZXIgcmVwbGljYXNcbiAgZ3JhZmFuYTogbnVtYmVyOyAvLyBHcmFmYW5hIHJlcGxpY2FzICh1c3VhbGx5IDEpXG4gIGxva2lCYWNrZW5kOiBudW1iZXI7IC8vIExva2kgYmFja2VuZCByZXBsaWNhc1xuICBsb2tpUmVhZDogbnVtYmVyOyAvLyBMb2tpIHJlYWQgcmVwbGljYXNcbiAgbG9raVdyaXRlOiBudW1iZXI7IC8vIExva2kgd3JpdGUgcmVwbGljYXNcbiAgdGhhbm9zUXVlcnk6IG51bWJlcjsgLy8gVGhhbm9zIFF1ZXJ5IHJlcGxpY2FzXG4gIHRoYW5vc1N0b3JlOiBudW1iZXI7IC8vIFRoYW5vcyBTdG9yZSByZXBsaWNhc1xuICB0ZW1wbzogbnVtYmVyOyAvLyBUZW1wbyByZXBsaWNhc1xufVxuXG4vKipcbiAqIFJlc291cmNlIHJlcXVpcmVtZW50cyBmb3IgYWxsIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUNvbmZpZyB7XG4gIHByb21ldGhldXM6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICBncmFmYW5hOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgYWxlcnRtYW5hZ2VyOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgbG9raUJhY2tlbmQ6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICBsb2tpUmVhZDogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGxva2lXcml0ZTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGxva2lHYXRld2F5OiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgYWxsb3k6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICB0aGFub3NRdWVyeTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIHRoYW5vc1N0b3JlOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgdGhhbm9zQ29tcGFjdG9yOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgLy8gU2lkZWNhciBjb250YWluZXJzIChhZGRlZCAyMDI1LTExLTE4KVxuICBjb25maWdSZWxvYWRlcjogUmVzb3VyY2VSZXF1aXJlbWVudHM7IC8vIGNvbmZpZy1yZWxvYWRlciBzaWRlY2FyIChQcm9tZXRoZXVzLCBBbGVydG1hbmFnZXIsIEFsbG95KVxuICB0aGFub3NTaWRlY2FyOiBSZXNvdXJjZVJlcXVpcmVtZW50czsgLy8gdGhhbm9zLXNpZGVjYXIgZm9yIFByb21ldGhldXNcbiAgdGVtcG86IFJlc291cmNlUmVxdWlyZW1lbnRzOyAvLyBUZW1wbyAobW9ub2xpdGhpYylcbiAgYWxsb3lUcmFjZXM6IFJlc291cmNlUmVxdWlyZW1lbnRzOyAvLyBBbGxveSB0cmFjZXMgT1RMUCBnYXRld2F5XG59XG5cbi8qKlxuICogSGVsbSBjaGFydCB2ZXJzaW9uIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZXJzaW9uQ29uZmlnIHtcbiAgcHJvbWV0aGV1c1N0YWNrOiBzdHJpbmc7IC8vIGt1YmUtcHJvbWV0aGV1cy1zdGFjayBjaGFydCB2ZXJzaW9uIChlLmcuLCBcImxhdGVzdFwiIG9yIFwiNjUuMC4wXCIpXG4gIGxva2k6IHN0cmluZzsgLy8gTG9raSBjaGFydCB2ZXJzaW9uXG4gIGFsbG95OiBzdHJpbmc7IC8vIEFsbG95IGNoYXJ0IHZlcnNpb25cbiAgdGhhbm9zOiBzdHJpbmc7IC8vIFRoYW5vcyBpbWFnZSB2ZXJzaW9uIChlLmcuLCBcInYwLjM2LjFcIilcbiAgdGVtcG86IHN0cmluZzsgLy8gZ3JhZmFuYS90ZW1wbyBjaGFydCB2ZXJzaW9uXG59XG5cbi8qKlxuICogVGFpbC1zYW1wbGluZyBwb2xpY3kgZm9yIHRoZSBBbGxveSB0cmFjZXMgZ2F0ZXdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZW1wb1RhaWxTYW1wbGluZ0NvbmZpZyB7XG4gIGxhdGVuY3lUaHJlc2hvbGRNczogbnVtYmVyOyAvLyBrZWVwIHRyYWNlcyBzbG93ZXIgdGhhbiB0aGlzXG4gIHByb2JhYmlsaXN0aWNQZXJjZW50OiBudW1iZXI7IC8vIGtlZXAgdGhpcyAlIG9mIHRoZSByZW1haW5pbmcgKFwibm9ybWFsXCIpIHRyYWNlc1xufVxuXG4vKipcbiAqIEdyYWZhbmEgVGVtcG8gdHJhY2luZyBjb25maWd1cmF0aW9uIChvcHQtaW4pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBvQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjsgLy8gZGVmYXVsdCBmYWxzZSDigJQgd2hlbiBmYWxzZSwgbm8gVGVtcG8gcmVzb3VyY2VzIGFyZSBjcmVhdGVkXG4gIGJ1Y2tldDogc3RyaW5nOyAvLyBTMyBidWNrZXQgZm9yIHRyYWNlcyAocmVxdWlyZWQgd2hlbiBlbmFibGVkKVxuICByZXRlbnRpb246IHN0cmluZzsgLy8gYmxvY2sgcmV0ZW50aW9uLCBlLmcuICczMzZoJyAoMTQgZGF5cylcbiAgdGFpbFNhbXBsaW5nOiBUZW1wb1RhaWxTYW1wbGluZ0NvbmZpZztcbn1cblxuLyoqXG4gKiBUcmFlZmlrIGluZ3Jlc3MtY29udHJvbGxlciBtb25pdG9yaW5nIChnZW5lcmljIGluZnJhLCBvcHQtaW4pLlxuICogUG9kTW9uaXRvciAobm90IFNlcnZpY2VNb25pdG9yOiB0aGUgazNzLWJ1bmRsZWQgVHJhZWZpayBleHBvc2VzIHRoZSBtZXRyaWNzXG4gKiBwb3J0IG9uIHRoZSBQb2QsIG5vdCB0aGUgU2VydmljZSkgcGx1cyBhbiBvcHRpb25hbCBHcmFmYW5hIGRhc2hib2FyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFlZmlrQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjsgLy8gZGVmYXVsdCBmYWxzZSDigJQgd2hlbiBmYWxzZSwgbm8gVHJhZWZpayBtb25pdG9yaW5nIHJlc291cmNlcyBhcmUgY3JlYXRlZFxuICBuYW1lc3BhY2U6IHN0cmluZzsgLy8gbmFtZXNwYWNlIFRyYWVmaWsgcnVucyBpbiAoUG9kTW9uaXRvciBuYW1lc3BhY2VTZWxlY3Rvcik7IGRlZmF1bHQgJ3RyYWVmaWsnXG4gIGRhc2hib2FyZDogYm9vbGVhbjsgLy8gc2hpcCB0aGUgVHJhZWZpayBHcmFmYW5hIGRhc2hib2FyZCBDb25maWdNYXA7IGRlZmF1bHQgdHJ1ZVxufVxuXG4vKipcbiAqIExvbmdob3JuIHN0b3JhZ2UgbW9uaXRvcmluZyAoZ2VuZXJpYyBpbmZyYSwgb3B0LWluKS5cbiAqIFNlcnZpY2VNb25pdG9yIGZvciBsb25naG9ybi1tYW5hZ2VyIG1ldHJpY3MgcGx1cyBvcHRpb25hbCB2b2x1bWUtaGVhbHRoIGFsZXJ0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb25naG9ybkNvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47IC8vIGRlZmF1bHQgZmFsc2Ug4oCUIHdoZW4gZmFsc2UsIG5vIExvbmdob3JuIG1vbml0b3JpbmcgcmVzb3VyY2VzIGFyZSBjcmVhdGVkXG4gIG5hbWVzcGFjZTogc3RyaW5nOyAvLyBuYW1lc3BhY2UgTG9uZ2hvcm4gcnVucyBpbiAoU2VydmljZU1vbml0b3IgbmFtZXNwYWNlU2VsZWN0b3IpOyBkZWZhdWx0ICdsb25naG9ybi1zeXN0ZW0nXG4gIGFsZXJ0czogYm9vbGVhbjsgLy8gc2hpcCB0aGUgdm9sdW1lLWhlYWx0aCBQcm9tZXRoZXVzUnVsZTsgZGVmYXVsdCB0cnVlXG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiB0aGUgcGFja2FnZSBzaGlwcyBzZW5zaWJsZSBkZWZhdWx0cyBmb3IuXG4gKiBJbnRlZ3JhdGlvbiBjaGFydHMgbWF5IG92ZXJyaWRlIGFueSBvZiB0aGVzZSAoZGVlcC1tZXJnZWQgb3ZlciBERUZBVUxUX0NPTkZJRykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdGFibGVDb25maWcge1xuICB2ZXJzaW9uczogVmVyc2lvbkNvbmZpZzsgLy8gQ2hhcnQgYW5kIGltYWdlIHZlcnNpb25zXG4gIHJldGVudGlvbjogUmV0ZW50aW9uQ29uZmlnOyAvLyBEYXRhIHJldGVudGlvbiBwb2xpY2llc1xuICBzdG9yYWdlOiBTdG9yYWdlQ29uZmlnOyAvLyBQVkMgc3RvcmFnZSBzaXplc1xuICByZXBsaWNhczogUmVwbGljYUNvbmZpZzsgLy8gUmVwbGljYSBjb3VudHNcbiAgcmVzb3VyY2VzOiBSZXNvdXJjZUNvbmZpZzsgLy8gUmVzb3VyY2UgcmVxdWVzdHMgYW5kIGxpbWl0c1xuICB0ZW1wbzogVGVtcG9Db25maWc7IC8vIEdyYWZhbmEgVGVtcG8gdHJhY2luZyAob3B0LWluKVxuICB0cmFlZmlrOiBUcmFlZmlrQ29uZmlnOyAvLyBUcmFlZmlrIGluZ3Jlc3MgbW9uaXRvcmluZyAob3B0LWluKVxuICBsb25naG9ybjogTG9uZ2hvcm5Db25maWc7IC8vIExvbmdob3JuIHN0b3JhZ2UgbW9uaXRvcmluZyAob3B0LWluKVxufVxuXG4vKipcbiAqIENsdXN0ZXItc3BlY2lmaWMgY29uZmlndXJhdGlvbiB3aXRoIG5vIHNlbnNpYmxlIHVuaXZlcnNhbCBkZWZhdWx0LlxuICogSW50ZWdyYXRpb24gY2hhcnRzIG11c3QgcHJvdmlkZSB0aGVzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlZENsdXN0ZXJDb25maWcge1xuICBuYW1lc3BhY2U6IHN0cmluZzsgLy8gS3ViZXJuZXRlcyBuYW1lc3BhY2VcbiAgY2x1c3Rlck5hbWU6IHN0cmluZzsgLy8gdmFsdWUgb2YgdGhlIGBjbHVzdGVyYCBleHRlcm5hbCBsYWJlbCBvbiBtZXRyaWNzIGFuZCBsb2dzXG4gIGRvbWFpbnM6IERvbWFpbkNvbmZpZzsgLy8gRG9tYWluIG5hbWVzIGZvciBpbmdyZXNzZXNcbiAgczM6IFMzQ29uZmlnOyAvLyBTMyBvYmplY3Qgc3RvcmFnZSBjb25maWd1cmF0aW9uXG4gIHNtdHA6IFNtdHBDb25maWc7IC8vIFNNVFAgYWxlcnRpbmcgY29uZmlndXJhdGlvblxuICBpbnRlZ3JhdGlvbnM6IEludGVncmF0aW9uc0NvbmZpZzsgLy8gTmFtZXMgb2YgZXh0ZXJuYWwgQ3Jvc3NwbGFuZS9FU08gcmVzb3VyY2VzIHRvIHJlZmVyZW5jZVxufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZSBwYXJ0aWFsIOKAlCBldmVyeSBwcm9wZXJ0eSAoaW5jbHVkaW5nIG5lc3RlZCBvbmVzKSBiZWNvbWVzIG9wdGlvbmFsLlxuICovXG5leHBvcnQgdHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgb2JqZWN0ID8gRGVlcFBhcnRpYWw8VFtQXT4gOiBUW1BdO1xufTtcblxuLyoqXG4gKiBJbnB1dCBhY2NlcHRlZCBieSBtZXJnZUNvbmZpZzogcmVxdWlyZWQgY2x1c3RlciB2YWx1ZXMgcGx1cyBvcHRpb25hbCxcbiAqIGRlZXBseS1wYXJ0aWFsIG92ZXJyaWRlcyBvZiB0aGUgcGFja2FnZSBkZWZhdWx0cy5cbiAqL1xuZXhwb3J0IHR5cGUgTW9uaXRvcmluZ0NvbmZpZ0lucHV0ID0gUmVxdWlyZWRDbHVzdGVyQ29uZmlnICYgRGVlcFBhcnRpYWw8RGVmYXVsdGFibGVDb25maWc+O1xuXG4vKipcbiAqIENvbXBsZXRlLCByZXNvbHZlZCBtb25pdG9yaW5nIHN0YWNrIGNvbmZpZ3VyYXRpb24gY29uc3VtZWQgYnkgTW9uaXRvcmluZ0NoYXJ0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbml0b3JpbmdDb25maWcgZXh0ZW5kcyBSZXF1aXJlZENsdXN0ZXJDb25maWcsIERlZmF1bHRhYmxlQ29uZmlnIHt9XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzb3VyY2UgYWxsb2NhdGlvbiBmb3IgYSBjb21wb25lbnQgKENQVSBhbmQgbWVtb3J5KVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlQWxsb2NhdGlvbiB7XG4gIGNwdTogc3RyaW5nO1xuICBtZW1vcnk6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNvdXJjZSByZXF1ZXN0cyBhbmQgbGltaXRzIGZvciBhIGNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlUmVxdWlyZW1lbnRzIHtcbiAgcmVxdWVzdHM6IFJlc291cmNlQWxsb2NhdGlvbjtcbiAgbGltaXRzOiBSZXNvdXJjZUFsbG9jYXRpb247XG59XG5cbi8qKlxuICogUzMgY29uZmlndXJhdGlvbiBmb3Igb2JqZWN0IHN0b3JhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0NvbmZpZyB7XG4gIGVuZHBvaW50OiBzdHJpbmc7IC8vIEZ1bGwgZW5kcG9pbnQgd2l0aCBwcm90b2NvbCAoZS5nLiwgaHR0cHM6Ly9mc24xLnlvdXItb2JqZWN0c3RvcmFnZS5jb20pXG4gIGVuZHBvaW50Tm9Qcm90b2NvbDogc3RyaW5nOyAvLyBFbmRwb2ludCB3aXRob3V0IHByb3RvY29sIChmb3IgVGhhbm9zKVxuICByZWdpb246IHN0cmluZzsgLy8gUzMgcmVnaW9uIChlLmcuLCBmc24xKVxuICBidWNrZXRzOiB7XG4gICAgdGhhbm9zOiBzdHJpbmc7IC8vIFRoYW5vcyBtZXRyaWNzIGJ1Y2tldFxuICAgIGxva2k6IHN0cmluZzsgLy8gTG9raSBsb2dzIGJ1Y2tldFxuICB9O1xufVxuXG4vKipcbiAqIFNNVFAgY29uZmlndXJhdGlvbiBmb3IgYWxlcnRpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbXRwQ29uZmlnIHtcbiAgaG9zdDogc3RyaW5nOyAvLyBTTVRQIHNlcnZlciBob3N0bmFtZVxuICBwb3J0OiBudW1iZXI7IC8vIFNNVFAgc2VydmVyIHBvcnRcbiAgZnJvbTogc3RyaW5nOyAvLyBGcm9tIGVtYWlsIGFkZHJlc3NcbiAgdXNlcm5hbWU/OiBzdHJpbmc7IC8vIFNNVFAgdXNlcm5hbWUgKG9wdGlvbmFsKVxuICBwYXNzd29yZD86IHN0cmluZzsgLy8gU01UUCBwYXNzd29yZCAob3B0aW9uYWwpXG4gIHJlcXVpcmVUbHM6IGJvb2xlYW47IC8vIFJlcXVpcmUgVExTIGZvciBTTVRQXG59XG5cbi8qKlxuICogRG9tYWluIGNvbmZpZ3VyYXRpb24gZm9yIGluZ3Jlc3Nlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERvbWFpbkNvbmZpZyB7XG4gIGdyYWZhbmE6IHN0cmluZzsgLy8gR3JhZmFuYSBkb21haW4gKGUuZy4sIGdyYWZhbmEub3BzLmt1cDZzLm5ldClcbiAgaW5ncmVzc0NsYXNzTmFtZT86IHN0cmluZzsgLy8gSW5ncmVzc0NsYXNzIGZvciB0aGUgR3JhZmFuYSBpbmdyZXNzOyBvbWl0IHRvIHJlbHkgb24gdGhlIGNsdXN0ZXIncyBkZWZhdWx0IEluZ3Jlc3NDbGFzc1xufVxuXG4vKipcbiAqIE5hbWVzIG9mIHRoZSBleHRlcm5hbCBDcm9zc3BsYW5lIGFuZCBFeHRlcm5hbCBTZWNyZXRzIE9wZXJhdG9yIHJlc291cmNlcyB0aGlzXG4gKiBzdGFjayByZWZlcmVuY2VzLiBUaGVzZSBhcmUgbm90IGNyZWF0ZWQgYnkgdGhlIGxpYnJhcnk7IHRoZXkgbXVzdCBhbHJlYWR5IGV4aXN0XG4gKiBpbiB5b3VyIGNsdXN0ZXIuIFRoZXJlIGFyZSBubyBkZWZhdWx0cyDigJQgZXZlcnkgY29uc3VtZXIgd2lyZXMgaXRzIG93biBuYW1lcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvbnNDb25maWcge1xuICBzM1Byb3ZpZGVyQ29uZmlnOiBzdHJpbmc7IC8vIENyb3NzcGxhbmUgUHJvdmlkZXJDb25maWcgbmFtZSB0aGUgQnVja2V0IHJlc291cmNlcyByZWNvbmNpbGUgYWdhaW5zdFxuICBzM1NlY3JldFN0b3JlOiBzdHJpbmc7IC8vIEVTTyBDbHVzdGVyU2VjcmV0U3RvcmUgbmFtZSBob2xkaW5nIHRoZSBTMyBjcmVkZW50aWFsc1xuICBzM0NyZWRlbnRpYWxzS2V5OiBzdHJpbmc7IC8vIFJlbW90ZSBrZXkgaW4gdGhlIHN0b3JlIHRvIGV4dHJhY3QgUzMgY3JlZGVudGlhbHMgZnJvbSAocHJvdmlkZXMgQVdTX0FDQ0VTU19LRVlfSUQgLyBBV1NfU0VDUkVUX0FDQ0VTU19LRVkpXG4gIGdyYWZhbmFTZWNyZXRTdG9yZTogc3RyaW5nOyAvLyBFU08gQ2x1c3RlclNlY3JldFN0b3JlIG5hbWUgaG9sZGluZyB0aGUgR3JhZmFuYSBhZG1pbiBjcmVkZW50aWFsc1xuICBncmFmYW5hQ3JlZGVudGlhbHNLZXk6IHN0cmluZzsgLy8gUmVtb3RlIGtleSBpbiB0aGUgc3RvcmUgdG8gZXh0cmFjdCB0aGUgR3JhZmFuYSBhZG1pbiBjcmVkZW50aWFscyBmcm9tXG59XG5cbi8qKlxuICogUmV0ZW50aW9uIHBvbGljaWVzIGZvciBtZXRyaWNzIGFuZCBsb2dzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV0ZW50aW9uQ29uZmlnIHtcbiAgcHJvbWV0aGV1czogc3RyaW5nOyAvLyBQcm9tZXRoZXVzIGxvY2FsIHJldGVudGlvbiAoZS5nLiwgXCIzZFwiKVxuICBwcm9tZXRoZXVzUzNSYXc6IG51bWJlcjsgLy8gVGhhbm9zIHJhdyBkYXRhIHJldGVudGlvbiAoZGF5cylcbiAgcHJvbWV0aGV1c1MzNW06IG51bWJlcjsgLy8gVGhhbm9zIDUtbWludXRlIGRvd25zYW1wbGVkIHJldGVudGlvbiAoZGF5cylcbiAgcHJvbWV0aGV1c1MzMWg6IG51bWJlcjsgLy8gVGhhbm9zIDEtaG91ciBkb3duc2FtcGxlZCByZXRlbnRpb24gKGRheXMpXG4gIGxva2k6IHN0cmluZzsgLy8gTG9raSByZXRlbnRpb24gKGUuZy4sIFwiNzQ0aFwiIGZvciAzMSBkYXlzKVxufVxuXG4vKipcbiAqIFN0b3JhZ2Ugc2l6ZXMgZm9yIHBlcnNpc3RlbnQgdm9sdW1lc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VDb25maWcge1xuICBwcm9tZXRoZXVzOiBzdHJpbmc7IC8vIFByb21ldGhldXMgUFZDIHNpemVcbiAgZ3JhZmFuYTogc3RyaW5nOyAvLyBHcmFmYW5hIFBWQyBzaXplXG4gIGFsZXJ0bWFuYWdlcjogc3RyaW5nOyAvLyBBbGVydG1hbmFnZXIgUFZDIHNpemVcbiAgbG9raUJhY2tlbmQ6IHN0cmluZzsgLy8gTG9raSBiYWNrZW5kIFBWQyBzaXplXG4gIGxva2lXcml0ZTogc3RyaW5nOyAvLyBMb2tpIHdyaXRlIFBWQyBzaXplXG4gIHRoYW5vc1N0b3JlOiBzdHJpbmc7IC8vIFRoYW5vcyBzdG9yZSBQVkMgc2l6ZSAocGVyIHJlcGxpY2EpXG4gIHRoYW5vc0NvbXBhY3Rvcjogc3RyaW5nOyAvLyBUaGFub3MgY29tcGFjdG9yIFBWQyBzaXplXG4gIHRlbXBvOiBzdHJpbmc7IC8vIFRlbXBvIFdBTC9sb2NhbC1ibG9ja3MgUFZDIHNpemVcbn1cblxuLyoqXG4gKiBSZXBsaWNhIGNvdW50cyBmb3IgaGlnaCBhdmFpbGFiaWxpdHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXBsaWNhQ29uZmlnIHtcbiAgcHJvbWV0aGV1czogbnVtYmVyOyAvLyBQcm9tZXRoZXVzIHJlcGxpY2FzXG4gIGFsZXJ0bWFuYWdlcjogbnVtYmVyOyAvLyBBbGVydG1hbmFnZXIgcmVwbGljYXNcbiAgZ3JhZmFuYTogbnVtYmVyOyAvLyBHcmFmYW5hIHJlcGxpY2FzICh1c3VhbGx5IDEpXG4gIGxva2lCYWNrZW5kOiBudW1iZXI7IC8vIExva2kgYmFja2VuZCByZXBsaWNhc1xuICBsb2tpUmVhZDogbnVtYmVyOyAvLyBMb2tpIHJlYWQgcmVwbGljYXNcbiAgbG9raVdyaXRlOiBudW1iZXI7IC8vIExva2kgd3JpdGUgcmVwbGljYXNcbiAgdGhhbm9zUXVlcnk6IG51bWJlcjsgLy8gVGhhbm9zIFF1ZXJ5IHJlcGxpY2FzXG4gIHRoYW5vc1N0b3JlOiBudW1iZXI7IC8vIFRoYW5vcyBTdG9yZSByZXBsaWNhc1xuICB0ZW1wbzogbnVtYmVyOyAvLyBUZW1wbyByZXBsaWNhc1xufVxuXG4vKipcbiAqIFJlc291cmNlIHJlcXVpcmVtZW50cyBmb3IgYWxsIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZUNvbmZpZyB7XG4gIHByb21ldGhldXM6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICBncmFmYW5hOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgYWxlcnRtYW5hZ2VyOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgbG9raUJhY2tlbmQ6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICBsb2tpUmVhZDogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGxva2lXcml0ZTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIGxva2lHYXRld2F5OiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgYWxsb3k6IFJlc291cmNlUmVxdWlyZW1lbnRzO1xuICB0aGFub3NRdWVyeTogUmVzb3VyY2VSZXF1aXJlbWVudHM7XG4gIHRoYW5vc1N0b3JlOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgdGhhbm9zQ29tcGFjdG9yOiBSZXNvdXJjZVJlcXVpcmVtZW50cztcbiAgLy8gU2lkZWNhciBjb250YWluZXJzIChhZGRlZCAyMDI1LTExLTE4KVxuICBjb25maWdSZWxvYWRlcjogUmVzb3VyY2VSZXF1aXJlbWVudHM7IC8vIGNvbmZpZy1yZWxvYWRlciBzaWRlY2FyIChQcm9tZXRoZXVzLCBBbGVydG1hbmFnZXIsIEFsbG95KVxuICB0aGFub3NTaWRlY2FyOiBSZXNvdXJjZVJlcXVpcmVtZW50czsgLy8gdGhhbm9zLXNpZGVjYXIgZm9yIFByb21ldGhldXNcbiAgdGVtcG86IFJlc291cmNlUmVxdWlyZW1lbnRzOyAvLyBUZW1wbyAobW9ub2xpdGhpYylcbiAgYWxsb3lUcmFjZXM6IFJlc291cmNlUmVxdWlyZW1lbnRzOyAvLyBBbGxveSB0cmFjZXMgT1RMUCBnYXRld2F5XG59XG5cbi8qKlxuICogSGVsbSBjaGFydCB2ZXJzaW9uIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWZXJzaW9uQ29uZmlnIHtcbiAgcHJvbWV0aGV1c1N0YWNrOiBzdHJpbmc7IC8vIGt1YmUtcHJvbWV0aGV1cy1zdGFjayBjaGFydCB2ZXJzaW9uIChlLmcuLCBcImxhdGVzdFwiIG9yIFwiNjUuMC4wXCIpXG4gIGxva2k6IHN0cmluZzsgLy8gTG9raSBjaGFydCB2ZXJzaW9uXG4gIGFsbG95OiBzdHJpbmc7IC8vIEFsbG95IGNoYXJ0IHZlcnNpb25cbiAgdGhhbm9zOiBzdHJpbmc7IC8vIFRoYW5vcyBpbWFnZSB2ZXJzaW9uIChlLmcuLCBcInYwLjM2LjFcIilcbiAgdGVtcG86IHN0cmluZzsgLy8gZ3JhZmFuYS90ZW1wbyBjaGFydCB2ZXJzaW9uXG59XG5cbi8qKlxuICogVGFpbC1zYW1wbGluZyBwb2xpY3kgZm9yIHRoZSBBbGxveSB0cmFjZXMgZ2F0ZXdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZW1wb1RhaWxTYW1wbGluZ0NvbmZpZyB7XG4gIGxhdGVuY3lUaHJlc2hvbGRNczogbnVtYmVyOyAvLyBrZWVwIHRyYWNlcyBzbG93ZXIgdGhhbiB0aGlzXG4gIHByb2JhYmlsaXN0aWNQZXJjZW50OiBudW1iZXI7IC8vIGtlZXAgdGhpcyAlIG9mIHRoZSByZW1haW5pbmcgKFwibm9ybWFsXCIpIHRyYWNlc1xufVxuXG4vKipcbiAqIEdyYWZhbmEgVGVtcG8gdHJhY2luZyBjb25maWd1cmF0aW9uIChvcHQtaW4pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlbXBvQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjsgLy8gZGVmYXVsdCBmYWxzZSDigJQgd2hlbiBmYWxzZSwgbm8gVGVtcG8gcmVzb3VyY2VzIGFyZSBjcmVhdGVkXG4gIGJ1Y2tldDogc3RyaW5nOyAvLyBTMyBidWNrZXQgZm9yIHRyYWNlcyAocmVxdWlyZWQgd2hlbiBlbmFibGVkKVxuICByZXRlbnRpb246IHN0cmluZzsgLy8gYmxvY2sgcmV0ZW50aW9uLCBlLmcuICczMzZoJyAoMTQgZGF5cylcbiAgdGFpbFNhbXBsaW5nOiBUZW1wb1RhaWxTYW1wbGluZ0NvbmZpZztcbn1cblxuLyoqXG4gKiBUcmFlZmlrIGluZ3Jlc3MtY29udHJvbGxlciBtb25pdG9yaW5nIChnZW5lcmljIGluZnJhLCBvcHQtaW4pLlxuICogUG9kTW9uaXRvciAobm90IFNlcnZpY2VNb25pdG9yOiB0aGUgazNzLWJ1bmRsZWQgVHJhZWZpayBleHBvc2VzIHRoZSBtZXRyaWNzXG4gKiBwb3J0IG9uIHRoZSBQb2QsIG5vdCB0aGUgU2VydmljZSkgcGx1cyBhbiBvcHRpb25hbCBHcmFmYW5hIGRhc2hib2FyZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFlZmlrQ29uZmlnIHtcbiAgZW5hYmxlZDogYm9vbGVhbjsgLy8gZGVmYXVsdCBmYWxzZSDigJQgd2hlbiBmYWxzZSwgbm8gVHJhZWZpayBtb25pdG9yaW5nIHJlc291cmNlcyBhcmUgY3JlYXRlZFxuICBuYW1lc3BhY2U6IHN0cmluZzsgLy8gbmFtZXNwYWNlIFRyYWVmaWsgcnVucyBpbiAoUG9kTW9uaXRvciBuYW1lc3BhY2VTZWxlY3Rvcik7IGRlZmF1bHQgJ3RyYWVmaWsnXG4gIGRhc2hib2FyZDogYm9vbGVhbjsgLy8gc2hpcCB0aGUgVHJhZWZpayBHcmFmYW5hIGRhc2hib2FyZCBDb25maWdNYXA7IGRlZmF1bHQgdHJ1ZVxufVxuXG4vKipcbiAqIExvbmdob3JuIHN0b3JhZ2UgbW9uaXRvcmluZyAoZ2VuZXJpYyBpbmZyYSwgb3B0LWluKS5cbiAqIFNlcnZpY2VNb25pdG9yIGZvciBsb25naG9ybi1tYW5hZ2VyIG1ldHJpY3MgcGx1cyBvcHRpb25hbCB2b2x1bWUtaGVhbHRoIGFsZXJ0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb25naG9ybkNvbmZpZyB7XG4gIGVuYWJsZWQ6IGJvb2xlYW47IC8vIGRlZmF1bHQgZmFsc2Ug4oCUIHdoZW4gZmFsc2UsIG5vIExvbmdob3JuIG1vbml0b3JpbmcgcmVzb3VyY2VzIGFyZSBjcmVhdGVkXG4gIG5hbWVzcGFjZTogc3RyaW5nOyAvLyBuYW1lc3BhY2UgTG9uZ2hvcm4gcnVucyBpbiAoU2VydmljZU1vbml0b3IgbmFtZXNwYWNlU2VsZWN0b3IpOyBkZWZhdWx0ICdsb25naG9ybi1zeXN0ZW0nXG4gIGFsZXJ0czogYm9vbGVhbjsgLy8gc2hpcCB0aGUgdm9sdW1lLWhlYWx0aCBQcm9tZXRoZXVzUnVsZTsgZGVmYXVsdCB0cnVlXG59XG5cbi8qKlxuICogQnJvd3NlciBlbWJlZGRpbmcgb2YgR3JhZmFuYSBpbiBhbiA8aWZyYW1lPiAob3B0LWluKS5cbiAqXG4gKiBHcmFmYW5hIHJlZnVzZXMgZnJhbWluZyBieSBkZWZhdWx0IChgWC1GcmFtZS1PcHRpb25zOiBkZW55YCksIHdoaWNoIGFsc29cbiAqIGJsb2NrcyBleHRlcm5hbGx5IHNoYXJlZCAoXCJwdWJsaWNcIikgZGFzaGJvYXJkcy4gRW5hYmxpbmcgdGhpcyBkcm9wcyB0aGF0XG4gKiBoZWFkZXIgYW5kIHJlcGxhY2VzIGl0IHdpdGggYSBDb250ZW50LVNlY3VyaXR5LVBvbGljeSB3aG9zZSBgZnJhbWUtYW5jZXN0b3JzYFxuICogbmFtZXMgZXhhY3RseSB0aGUgb3JpZ2lucyBhbGxvd2VkIHRvIGZyYW1lIEdyYWZhbmEg4oCUIHRoZSB3aG9sZSBpbnN0YW5jZSxcbiAqIGluY2x1ZGluZyB0aGUgYXV0aGVudGljYXRlZCBVSSwgc28ga2VlcCB0aGUgbGlzdCB0aWdodC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbWJlZGRpbmdDb25maWcge1xuICBlbmFibGVkOiBib29sZWFuOyAvLyBkZWZhdWx0IGZhbHNlIOKAlCB3aGVuIGZhbHNlLCBHcmFmYW5hIGtlZXBzIGl0cyBYLUZyYW1lLU9wdGlvbnM6IGRlbnlcbiAgZnJhbWVBbmNlc3RvcnM6IHN0cmluZ1tdOyAvLyBvcmlnaW5zIGFsbG93ZWQgdG8gZnJhbWUgR3JhZmFuYSwgZS5nLiAnaHR0cHM6Ly9jb25zb2xlLmV4YW1wbGUuY29tJzsgJ3NlbGYnIGlzIGFsd2F5cyBpbmNsdWRlZFxufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gdGhlIHBhY2thZ2Ugc2hpcHMgc2Vuc2libGUgZGVmYXVsdHMgZm9yLlxuICogSW50ZWdyYXRpb24gY2hhcnRzIG1heSBvdmVycmlkZSBhbnkgb2YgdGhlc2UgKGRlZXAtbWVyZ2VkIG92ZXIgREVGQVVMVF9DT05GSUcpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRhYmxlQ29uZmlnIHtcbiAgdmVyc2lvbnM6IFZlcnNpb25Db25maWc7IC8vIENoYXJ0IGFuZCBpbWFnZSB2ZXJzaW9uc1xuICByZXRlbnRpb246IFJldGVudGlvbkNvbmZpZzsgLy8gRGF0YSByZXRlbnRpb24gcG9saWNpZXNcbiAgc3RvcmFnZTogU3RvcmFnZUNvbmZpZzsgLy8gUFZDIHN0b3JhZ2Ugc2l6ZXNcbiAgcmVwbGljYXM6IFJlcGxpY2FDb25maWc7IC8vIFJlcGxpY2EgY291bnRzXG4gIHJlc291cmNlczogUmVzb3VyY2VDb25maWc7IC8vIFJlc291cmNlIHJlcXVlc3RzIGFuZCBsaW1pdHNcbiAgdGVtcG86IFRlbXBvQ29uZmlnOyAvLyBHcmFmYW5hIFRlbXBvIHRyYWNpbmcgKG9wdC1pbilcbiAgdHJhZWZpazogVHJhZWZpa0NvbmZpZzsgLy8gVHJhZWZpayBpbmdyZXNzIG1vbml0b3JpbmcgKG9wdC1pbilcbiAgbG9uZ2hvcm46IExvbmdob3JuQ29uZmlnOyAvLyBMb25naG9ybiBzdG9yYWdlIG1vbml0b3JpbmcgKG9wdC1pbilcbiAgZW1iZWRkaW5nOiBFbWJlZGRpbmdDb25maWc7IC8vIEdyYWZhbmEgaWZyYW1lIGVtYmVkZGluZyAob3B0LWluKVxufVxuXG4vKipcbiAqIENsdXN0ZXItc3BlY2lmaWMgY29uZmlndXJhdGlvbiB3aXRoIG5vIHNlbnNpYmxlIHVuaXZlcnNhbCBkZWZhdWx0LlxuICogSW50ZWdyYXRpb24gY2hhcnRzIG11c3QgcHJvdmlkZSB0aGVzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1aXJlZENsdXN0ZXJDb25maWcge1xuICBuYW1lc3BhY2U6IHN0cmluZzsgLy8gS3ViZXJuZXRlcyBuYW1lc3BhY2VcbiAgY2x1c3Rlck5hbWU6IHN0cmluZzsgLy8gdmFsdWUgb2YgdGhlIGBjbHVzdGVyYCBleHRlcm5hbCBsYWJlbCBvbiBtZXRyaWNzIGFuZCBsb2dzXG4gIGRvbWFpbnM6IERvbWFpbkNvbmZpZzsgLy8gRG9tYWluIG5hbWVzIGZvciBpbmdyZXNzZXNcbiAgczM6IFMzQ29uZmlnOyAvLyBTMyBvYmplY3Qgc3RvcmFnZSBjb25maWd1cmF0aW9uXG4gIHNtdHA6IFNtdHBDb25maWc7IC8vIFNNVFAgYWxlcnRpbmcgY29uZmlndXJhdGlvblxuICBpbnRlZ3JhdGlvbnM6IEludGVncmF0aW9uc0NvbmZpZzsgLy8gTmFtZXMgb2YgZXh0ZXJuYWwgQ3Jvc3NwbGFuZS9FU08gcmVzb3VyY2VzIHRvIHJlZmVyZW5jZVxufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZSBwYXJ0aWFsIOKAlCBldmVyeSBwcm9wZXJ0eSAoaW5jbHVkaW5nIG5lc3RlZCBvbmVzKSBiZWNvbWVzIG9wdGlvbmFsLlxuICovXG5leHBvcnQgdHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgb2JqZWN0ID8gRGVlcFBhcnRpYWw8VFtQXT4gOiBUW1BdO1xufTtcblxuLyoqXG4gKiBJbnB1dCBhY2NlcHRlZCBieSBtZXJnZUNvbmZpZzogcmVxdWlyZWQgY2x1c3RlciB2YWx1ZXMgcGx1cyBvcHRpb25hbCxcbiAqIGRlZXBseS1wYXJ0aWFsIG92ZXJyaWRlcyBvZiB0aGUgcGFja2FnZSBkZWZhdWx0cy5cbiAqL1xuZXhwb3J0IHR5cGUgTW9uaXRvcmluZ0NvbmZpZ0lucHV0ID0gUmVxdWlyZWRDbHVzdGVyQ29uZmlnICYgRGVlcFBhcnRpYWw8RGVmYXVsdGFibGVDb25maWc+O1xuXG4vKipcbiAqIENvbXBsZXRlLCByZXNvbHZlZCBtb25pdG9yaW5nIHN0YWNrIGNvbmZpZ3VyYXRpb24gY29uc3VtZWQgYnkgTW9uaXRvcmluZ0NoYXJ0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vbml0b3JpbmdDb25maWcgZXh0ZW5kcyBSZXF1aXJlZENsdXN0ZXJDb25maWcsIERlZmF1bHRhYmxlQ29uZmlnIHt9XG4iXX0=
package/package.json CHANGED
@@ -66,7 +66,7 @@
66
66
  "publishConfig": {
67
67
  "access": "public"
68
68
  },
69
- "version": "1.1.0",
69
+ "version": "1.2.0",
70
70
  "jest": {
71
71
  "coverageProvider": "v8",
72
72
  "testMatch": [