valtech-components 2.0.1000 → 2.0.1002

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.
@@ -116,13 +116,21 @@ export class PermissionsViewComponent {
116
116
  }
117
117
  buildRoleView(role, byResource, currentAppId) {
118
118
  const appPerms = [];
119
- const platformPerms = [];
119
+ const orgPerms = [];
120
120
  const otherByApp = new Map();
121
121
  for (const perm of role.permissions) {
122
122
  const [resource, action] = perm.split(':');
123
- const label = this.permLabel(resource, action);
124
123
  const entry = byResource.get(resource);
125
- if (entry?.scope === 'app') {
124
+ // Sin entrada en el catálogo (el backend omite los recursos internal para
125
+ // no-platform-admins) o entrada internal → NUNCA se muestra a nivel de
126
+ // producto. Defensa en profundidad junto al filtro del backend (ADR-024).
127
+ // Nota: el rol puede traer el permiso aunque el recurso esté filtrado del
128
+ // catálogo (ej. admin tiene templates:*); por eso se descarta lo no resuelto.
129
+ if (!entry || entry.scope === 'internal') {
130
+ continue;
131
+ }
132
+ const label = this.permLabel(resource, action);
133
+ if (entry.scope === 'app') {
126
134
  if (entry.appId === currentAppId) {
127
135
  appPerms.push(label);
128
136
  }
@@ -134,19 +142,19 @@ export class PermissionsViewComponent {
134
142
  }
135
143
  }
136
144
  else {
137
- // global o desconocidoplataforma
138
- platformPerms.push(label);
145
+ // scope === 'org'gestión de la organización del cliente
146
+ orgPerms.push(label);
139
147
  }
140
148
  }
141
149
  const groups = [];
142
150
  if (appPerms.length) {
143
151
  groups.push({ key: 'app', label: this.tt('groupApp'), perms: appPerms });
144
152
  }
145
- if (platformPerms.length) {
153
+ if (orgPerms.length) {
146
154
  groups.push({
147
- key: 'platform',
148
- label: this.tt('groupPlatform'),
149
- perms: platformPerms,
155
+ key: 'org',
156
+ label: this.tt('groupOrg'),
157
+ perms: orgPerms,
150
158
  });
151
159
  }
152
160
  for (const [appId, perms] of otherByApp) {
@@ -508,4 +516,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
508
516
  }], ctorParameters: () => [], propDecorators: { config: [{
509
517
  type: Input
510
518
  }] } });
511
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Blcm1pc3Npb25zLXZpZXcvcGVybWlzc2lvbnMtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQWtCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN6RixPQUFPLEVB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d0IsOEdBOU96Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3SlQsdXFDQXpKUyxVQUFVLHlHQUFFLGdCQUFnQiwyRUFBRSxhQUFhLHdIQUFFLGNBQWMseUVBQUUsYUFBYSx3RUFBRSxlQUFlOzs0RkErTzFGLHdCQUF3QjtrQkFsUHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsWUFDNUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0pUO3dEQW1HUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvblNwaW5uZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFBpbGxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcGlsbC9waWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvb3JnLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29ubmVjdFBhZ2VSZWZyZXNoIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcGFnZS1yZWZyZXNoL3BhZ2UtcmVmcmVzaC5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSwgUGVybWlzc2lvblJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL3Blcm1pc3Npb24tY2F0YWxvZy5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUGVybWlzc2lvbnNWaWV3Q29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBQRVJNSVNTSU9OU19WSUVXX0kxOE4gfSBmcm9tICcuL3Blcm1pc3Npb25zLXZpZXcuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ1NldHRpbmdzLlBlcm1pc3Npb25zJztcblxuaW50ZXJmYWNlIFBlcm1Hcm91cFZpZXcge1xuICBrZXk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgcGVybXM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgUm9sZVZpZXcge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpc1N5c3RlbTogYm9vbGVhbjtcbiAgZ3JvdXBzOiBQZXJtR3JvdXBWaWV3W107XG4gIGhhc1Blcm1zOiBib29sZWFuO1xufVxuXG4vKipcbiAqIGB2YWwtcGVybWlzc2lvbnMtdmlld2Ag4oCUIHZpc3RhIFBlcm1pc29zIGZ1bGwtZmVhdHVyZSBhdXRvY29udGVuaWRhIChvcmdhbmlzbSkuXG4gKiBWaXNvciBSQkFDIGRlIHNvbG8gbGVjdHVyYTogbXVlc3RyYSBsb3Mgcm9sZXMgZGVsIHNpc3RlbWEgKFZpc29yL0VkaXRvci9BZG1pbiArXG4gKiByb2xlcyBkZSBwbGF0YWZvcm1hKSB5IGxvcyByb2xlcyBwZXJzb25hbGl6YWRvcyBkZSBsYSBvcmcgYWN0aXZhLCBjb24gZWxcbiAqIGNhdMOhbG9nbyBkZSBwZXJtaXNvcyBhZ3J1cGFkbyBwb3IgYWxjYW5jZSAoYXBwIGFjdHVhbCAvIHBsYXRhZm9ybWEgLyBvdHJhcyBhcHBzKS5cbiAqIFByb21vdmlkYSBkZXNkZSBgc2hvd2Nhc2VgIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLlxuICpcbiAqICoqUkJBQyBpbnRlcm5vKiogKGNvbW8gYG9yZ2FuaXphdGlvbi12aWV3YCk6IGxlZSBsYSBvcmcgYWN0aXZhIHbDrWFcbiAqIGBBdXRoU2VydmljZS51c2VyKCkuYWN0aXZlT3JnSWRgLiBMYSB2aXN0YSBOTyBtdXRhIG5hZGEg4oCUIGVsIGNvbnRyb2wgZGUgcXVpw6luXG4gKiBwdWVkZSB2ZXJsYSBlcyByZXNwb25zYWJpbGlkYWQgZGVsIGd1YXJkIGRlIHJ1dGEgZGVsIGNvbnN1bWVyOyBubyBoYXkgZ2F0aW5nXG4gKiBmaW5vIGludGVybm8gbmkgc2UgZXhwb25lIGNvbW8gY29uZmlnLlxuICpcbiAqIERhdG9zOiBgZm9ya0pvaW5gIGRlIGBPcmdTZXJ2aWNlLmxpc3RPcmdSb2xlcyhvcmdJZClgIChyb2xlcyBkZSBsYSBvcmcpICtcbiAqIGBQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2UuZ2V0Q2F0YWxvZyhvcmdJZClgIChjYXTDoWxvZ28gKyBhcHBJZCBhY3R1YWwpLiBFbFxuICogY2F0w6Fsb2dvIGRlZmluZSBlbCBhbGNhbmNlIChgc2NvcGVgL2BhcHBJZGApIGRlIGNhZGEgcmVjdXJzbyBwYXJhIGFncnVwYXIuXG4gKlxuICogTk8gcmVuZGVyaXphIGlvbi1jb250ZW50IOKAlCB2aXZlIGRlbnRybyBkZSB2YWwtcGFnZS13cmFwcGVyLiBgQWN0aXZhdGVkUm91dGVgIHNlXG4gKiBpbnllY3RhIGB7IG9wdGlvbmFsOiB0cnVlIH1gIHNvbG8gcGFyYSBsZWVyIGVsIHJvdXRlIGRhdGEgZGUgY29uZmlnLiBBdXRvLXJlZ2lzdHJhXG4gKiBzdXMgZGVmYXVsdHMgaTE4biAoZXMvZW4pIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsIG5hbWVzcGFjZSAoZGVmYXVsdFxuICogYFNldHRpbmdzLlBlcm1pc3Npb25zYCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wZXJtaXNzaW9ucy12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvblNwaW5uZXIsIERpc3BsYXlDb21wb25lbnQsIFBpbGxDb21wb25lbnQsIFRpdGxlQ29tcG9uZW50LCBUZXh0Q29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwicGFnZS1oZWFkZXJcIj5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycsIGNvbnRlbnQ6IHR0KCdwYWdlVGl0bGUnKSB9XCIgLz5cbiAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgY29udGVudDogdHQoJ3BhZ2VEZXNjcmlwdGlvbicpLFxuICAgICAgICAgIH1cIlxuICAgICAgICAvPlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLXJvd1wiPlxuICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2UgaWYgKGxvYWRFcnJvcigpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1yb3dcIj5cbiAgICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdlcnJvclRpdGxlJyksXG4gICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmV0cnlCdXR0b25Qcm9wcygpXCIgKGNsaWNrKT1cImxvYWQoKVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93U3lzdGVtUm9sZXMpIHtcbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInBlcm0tc2VjdGlvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tc2VjdGlvbl9faGVhZGVyXCI+XG4gICAgICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdzeXN0ZW1Sb2xlc1RpdGxlJyksXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiB0dCgnc3lzdGVtUm9sZXNIaW50JyksXG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm9sZS1saXN0XCI+XG4gICAgICAgICAgICAgIEBmb3IgKHJvbGUgb2Ygc3lzdGVtUm9sZXMoKTsgdHJhY2sgcm9sZS5pZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRfX2hlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvbGUtY2FyZF9fbmFtZVwiPnt7IHJvbGVMYWJlbChyb2xlLm5hbWUpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8dmFsLXBpbGxcbiAgICAgICAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHR0KCdzeXN0ZW1CYWRnZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogJ2JvbGQnLFxuICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJvbGUuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyb2xlLWNhcmRfX2Rlc2NcIj57eyByb2xlLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGlmICghcm9sZS5oYXNQZXJtcykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1jaGlwc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1jaGlwIHBlcm0tY2hpcC0tZW1wdHlcIj57eyB0dCgnbm9QZXJtaXNzaW9ucycpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAZm9yIChnIG9mIHJvbGUuZ3JvdXBzOyB0cmFjayBnLmtleSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tZ3JvdXBfX2xhYmVsXCI+e3sgZy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWNoaXBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHAgb2YgZy5wZXJtczsgdHJhY2sgcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1jaGlwXCI+e3sgcCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChyZXNvbHZlZENvbmZpZygpLnNob3dDdXN0b21Sb2xlcykge1xuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwicGVybS1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY29udGVudDogdHQoJ2N1c3RvbVJvbGVzVGl0bGUnKSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdjdXN0b21Sb2xlc0hpbnQnKSxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoY3VzdG9tUm9sZXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdub0N1c3RvbVJvbGVzJyksXG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWxpc3RcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChyb2xlIG9mIGN1c3RvbVJvbGVzKCk7IHRyYWNrIHJvbGUuaWQpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtY2FyZF9faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyb2xlLWNhcmRfX25hbWVcIj57eyByb2xlLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHJvbGUuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvbGUtY2FyZF9fZGVzY1wiPnt7IHJvbGUuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmICghcm9sZS5oYXNQZXJtcykge1xuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWNoaXBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tY2hpcCBwZXJtLWNoaXAtLWVtcHR5XCI+e3sgdHQoJ25vUGVybWlzc2lvbnMnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGZvciAoZyBvZiByb2xlLmdyb3VwczsgdHJhY2sgZy5rZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1ncm91cF9fbGFiZWxcIj57eyBnLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1jaGlwc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHAgb2YgZy5wZXJtczsgdHJhY2sgcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJtLWNoaXBcIj57eyBwIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5wYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG4gICAgICAuc3Bpbm5lci1yb3csXG4gICAgICAuZXJyb3Itcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgICB9XG4gICAgICAucGVybS1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLXNlY3Rpb25fX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAucm9sZS1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuICAgICAgLnJvbGUtY2FyZCB7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0taW9uLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAucm9sZS1jYXJkX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgICAgLnJvbGUtY2FyZF9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5yb2xlLWNhcmRfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWNoaXBzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWNoaXAge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQpO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLnBlcm0tY2hpcC0tZW1wdHkge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNWaWV3Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBvcmdTZXJ2aWNlID0gaW5qZWN0KE9yZ1NlcnZpY2UpO1xuICBwcml2YXRlIGNhdGFsb2cgPSBpbmplY3QoUGVybWlzc2lvbkNhdGFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBuYXYgPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBDb25maWcgdsOtYSBASW5wdXQgKG9iamVjdC1maXJzdCkuIFNpIG5vIHNlIHBhc2EsIHNlIGNhZSBhbCByb3V0ZSBkYXRhXG4gICAqIGBwZXJtaXNzaW9uc0NvbmZpZ2AgKHBvYmxhZG8gcG9yIGBwcm92aWRlVmFsdGVjaFBlcm1pc3Npb25zUm91dGVzYCkuXG4gICAqIGByZXNvbHZlZENvbmZpZ2AgbWVyZ2VhIGNvbiBsb3MgZGVmYXVsdHMg4oCUIGBASW5wdXRgIGdhbmEgc29icmUgcm91dGUgZGF0YS5cbiAgICovXG4gIEBJbnB1dCgpIGNvbmZpZz86IFBlcm1pc3Npb25zVmlld0NvbmZpZztcblxuICByZWFkb25seSByZXNvbHZlZENvbmZpZyA9IGNvbXB1dGVkPFJlcXVpcmVkPFBlcm1pc3Npb25zVmlld0NvbmZpZz4+KCgpID0+IHtcbiAgICBjb25zdCBmcm9tUm91dGUgPSAodGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YVsncGVybWlzc2lvbnNDb25maWcnXSA/PyB7fSkgYXMgUGVybWlzc2lvbnNWaWV3Q29uZmlnO1xuICAgIGNvbnN0IG1lcmdlZDogUGVybWlzc2lvbnNWaWV3Q29uZmlnID0geyAuLi5mcm9tUm91dGUsIC4uLih0aGlzLmNvbmZpZyA/PyB7fSkgfTtcbiAgICByZXR1cm4ge1xuICAgICAgc2hvd1N5c3RlbVJvbGVzOiBtZXJnZWQuc2hvd1N5c3RlbVJvbGVzID8/IHRydWUsXG4gICAgICBzaG93Q3VzdG9tUm9sZXM6IG1lcmdlZC5zaG93Q3VzdG9tUm9sZXMgPz8gdHJ1ZSxcbiAgICAgIGkxOG5OYW1lc3BhY2U6IG1lcmdlZC5pMThuTmFtZXNwYWNlID8/IERFRkFVTFRfTkFNRVNQQUNFLFxuICAgIH07XG4gIH0pO1xuXG4gIC8qKiBOYW1lc3BhY2UgaTE4biByZXN1ZWx0byAoY2FwdHVyYWRvIHBhcmEgbGxhbWFkYXMgbm8tcmVhY3RpdmFzKS4gKi9cbiAgcHJpdmF0ZSBnZXQgbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmkxOG5OYW1lc3BhY2U7XG4gIH1cblxuICByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgbG9hZEVycm9yID0gc2lnbmFsPHVua25vd24gfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb2xlcyA9IHNpZ25hbDxSb2xlVmlld1tdPihbXSk7XG5cbiAgcmVhZG9ubHkgc3lzdGVtUm9sZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJvbGVzKCkuZmlsdGVyKHIgPT4gci5pc1N5c3RlbSkpO1xuICByZWFkb25seSBjdXN0b21Sb2xlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucm9sZXMoKS5maWx0ZXIociA9PiAhci5pc1N5c3RlbSkpO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZU9yZ0lkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHUgPSB0aGlzLmF1dGgudXNlcigpIGFzIHtcbiAgICAgIGFjdGl2ZU9yZ0lkPzogc3RyaW5nO1xuICAgICAgYWN0aXZlT3JnPzogc3RyaW5nO1xuICAgIH0gfCBudWxsO1xuICAgIHJldHVybiB1Py5hY3RpdmVPcmdJZCA/PyB1Py5hY3RpdmVPcmcgPz8gJyc7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJldHJ5QnV0dG9uUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICB0ZXh0OiB0aGlzLnR0KCdyZXRyeScpLFxuICAgIGNvbG9yOiAnZGFyaycsXG4gICAgZmlsbDogJ291dGxpbmUnLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICBzdGF0ZTogdGhpcy5sb2FkaW5nKCkgPyBDb21wb25lbnRTdGF0ZXMuRElTQUJMRUQgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgfSkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IG5zID0gdGhpcy5ucztcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UobnMpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KG5zLCBQRVJNSVNTSU9OU19WSUVXX0kxOE4pO1xuICAgIH1cbiAgICB0aGlzLm5hdi5zZXRCYWNrSGVhZGVyKCdwYWdlVGl0bGUnLCBucywgeyB3aXRoTWVudTogdHJ1ZSB9KTtcbiAgICB0aGlzLmxvYWQoKTtcbiAgICBjb25uZWN0UGFnZVJlZnJlc2goKCkgPT4gdGhpcy5sb2FkKCkpO1xuICB9XG5cbiAgbG9hZCgpOiB2b2lkIHtcbiAgICBjb25zdCBvcmdJZCA9IHRoaXMuYWN0aXZlT3JnSWQoKTtcbiAgICBpZiAoIW9yZ0lkKSByZXR1cm47XG4gICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmxvYWRFcnJvci5zZXQobnVsbCk7XG4gICAgZm9ya0pvaW4oe1xuICAgICAgcm9sZXM6IHRoaXMub3JnU2VydmljZS5saXN0T3JnUm9sZXMob3JnSWQpLFxuICAgICAgY2F0YWxvZzogdGhpcy5jYXRhbG9nLmdldENhdGFsb2cob3JnSWQpLFxuICAgIH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoeyByb2xlczogcmF3Um9sZXMsIGNhdGFsb2cgfSkgPT4ge1xuICAgICAgICBjb25zdCBieVJlc291cmNlID0gbmV3IE1hcDxzdHJpbmcsIFBlcm1pc3Npb25SZXNvdXJjZT4oKTtcbiAgICAgICAgZm9yIChjb25zdCByIG9mIGNhdGFsb2cucGVybWlzc2lvbnMpIGJ5UmVzb3VyY2Uuc2V0KHIucmVzb3VyY2UsIHIpO1xuICAgICAgICBjb25zdCBjdXJyZW50QXBwSWQgPSBjYXRhbG9nLmFwcElkO1xuICAgICAgICB0aGlzLnJvbGVzLnNldChcbiAgICAgICAgICAocmF3Um9sZXMgPz8gW10pLm1hcCgocjogYW55KSA9PlxuICAgICAgICAgICAgdGhpcy5idWlsZFJvbGVWaWV3KFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IHIuaWQsXG4gICAgICAgICAgICAgICAgbmFtZTogci5uYW1lLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiByLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zOiByLnBlcm1pc3Npb25zID8/IFtdLFxuICAgICAgICAgICAgICAgIGlzU3lzdGVtOiByLmlzU3lzdGVtID8/IGZhbHNlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBieVJlc291cmNlLFxuICAgICAgICAgICAgICBjdXJyZW50QXBwSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICB0aGlzLmxvYWRFcnJvci5zZXQoZXJyKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFJvbGVWaWV3KFxuICAgIHJvbGU6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgICAgIGlzU3lzdGVtOiBib29sZWFuO1xuICAgIH0sXG4gICAgYnlSZXNvdXJjZTogTWFwPHN0cmluZywgUGVybWlzc2lvblJlc291cmNlPixcbiAgICBjdXJyZW50QXBwSWQ6IHN0cmluZ1xuICApOiBSb2xlVmlldyB7XG4gICAgY29uc3QgYXBwUGVybXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3QgcGxhdGZvcm1QZXJtczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBvdGhlckJ5QXBwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZ1tdPigpO1xuXG4gICAgZm9yIChjb25zdCBwZXJtIG9mIHJvbGUucGVybWlzc2lvbnMpIHtcbiAgICAgIGNvbnN0IFtyZXNvdXJjZSwgYWN0aW9uXSA9IHBlcm0uc3BsaXQoJzonKTtcbiAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5wZXJtTGFiZWwocmVzb3VyY2UsIGFjdGlvbik7XG4gICAgICBjb25zdCBlbnRyeSA9IGJ5UmVzb3VyY2UuZ2V0KHJlc291cmNlKTtcbiAgICAgIGlmIChlbnRyeT8uc2NvcGUgPT09ICdhcHAnKSB7XG4gICAgICAgIGlmIChlbnRyeS5hcHBJZCA9PT0gY3VycmVudEFwcElkKSB7XG4gICAgICAgICAgYXBwUGVybXMucHVzaChsYWJlbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgYXBwSWQgPSBlbnRyeS5hcHBJZCA/PyAnPyc7XG4gICAgICAgICAgY29uc3QgYXJyID0gb3RoZXJCeUFwcC5nZXQoYXBwSWQpID8/IFtdO1xuICAgICAgICAgIGFyci5wdXNoKGxhYmVsKTtcbiAgICAgICAgICBvdGhlckJ5QXBwLnNldChhcHBJZCwgYXJyKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZ2xvYmFsIG8gZGVzY29ub2NpZG8g4oaSIHBsYXRhZm9ybWFcbiAgICAgICAgcGxhdGZvcm1QZXJtcy5wdXNoKGxhYmVsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBncm91cHM6IFBlcm1Hcm91cFZpZXdbXSA9IFtdO1xuICAgIGlmIChhcHBQZXJtcy5sZW5ndGgpIHtcbiAgICAgIGdyb3Vwcy5wdXNoKHsga2V5OiAnYXBwJywgbGFiZWw6IHRoaXMudHQoJ2dyb3VwQXBwJyksIHBlcm1zOiBhcHBQZXJtcyB9KTtcbiAgICB9XG4gICAgaWYgKHBsYXRmb3JtUGVybXMubGVuZ3RoKSB7XG4gICAgICBncm91cHMucHVzaCh7XG4gICAgICAgIGtleTogJ3BsYXRmb3JtJyxcbiAgICAgICAgbGFiZWw6IHRoaXMudHQoJ2dyb3VwUGxhdGZvcm0nKSxcbiAgICAgICAgcGVybXM6IHBsYXRmb3JtUGVybXMsXG4gICAgICB9KTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBbYXBwSWQsIHBlcm1zXSBvZiBvdGhlckJ5QXBwKSB7XG4gICAgICBncm91cHMucHVzaCh7XG4gICAgICAgIGtleTogYG90aGVyOiR7YXBwSWR9YCxcbiAgICAgICAgbGFiZWw6IGAke3RoaXMudHQoJ2dyb3VwT3RoZXInKX06ICR7dGhpcy5hcHBMYWJlbChhcHBJZCl9YCxcbiAgICAgICAgcGVybXMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHJvbGUuaWQsXG4gICAgICBuYW1lOiByb2xlLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcm9sZS5kZXNjcmlwdGlvbixcbiAgICAgIGlzU3lzdGVtOiByb2xlLmlzU3lzdGVtLFxuICAgICAgZ3JvdXBzLFxuICAgICAgaGFzUGVybXM6IGdyb3Vwcy5sZW5ndGggPiAwLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMubnMpO1xuICB9XG5cbiAgYXBwTGFiZWwoYXBwSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5ID0gYGFwcF8ke2FwcElkfWA7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLnR0KGtleSk7XG4gICAgcmV0dXJuIGxhYmVsID09PSBrZXkgPyBhcHBJZCA6IGxhYmVsO1xuICB9XG5cbiAgcm9sZUxhYmVsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgdmlld2VyOiAncm9sZVZpZXdlcicsXG4gICAgICBlZGl0b3I6ICdyb2xlRWRpdG9yJyxcbiAgICAgIGFkbWluOiAncm9sZUFkbWluJyxcbiAgICAgIHN1cGVyX2FkbWluOiAncm9sZVN1cGVyQWRtaW4nLFxuICAgICAgYmluZ29fYWRtaW46ICdyb2xlQmluZ29BZG1pbicsXG4gICAgICBiaW5nb190ZXNvcmVybzogJ3JvbGVCaW5nb1Rlc29yZXJvJyxcbiAgICAgIGJpbmdvX3RhcXVpbGxhOiAncm9sZUJpbmdvVGFxdWlsbGEnLFxuICAgICAgYmluZ29fb3BlcmF0b3I6ICdyb2xlQmluZ29PcGVyYXRvcicsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy50dChtYXBbbmFtZV0gPz8gbmFtZSk7XG4gIH1cblxuICBwZXJtTGFiZWwocmVzb3VyY2U6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChyZXNvdXJjZSA9PT0gJyonICYmIGFjdGlvbiA9PT0gJyonKSByZXR1cm4gdGhpcy50dCgncGVybUFsbCcpO1xuICAgIGNvbnN0IHJlc0tleSA9IHJlc291cmNlID09PSAnKicgPyAncGVybUFsbCcgOiBgcGVybSR7cmVzb3VyY2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtyZXNvdXJjZS5zbGljZSgxKX1gO1xuICAgIGNvbnN0IGFjdEtleSA9IGFjdGlvbiA9PT0gJyonID8gJ3Blcm1BbGwnIDogYHBlcm0ke2FjdGlvbi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2FjdGlvbi5zbGljZSgxKX1gO1xuICAgIGNvbnN0IHJlcyA9IHRoaXMudHQocmVzS2V5KTtcbiAgICBjb25zdCBhY3QgPSB0aGlzLnR0KGFjdEtleSk7XG4gICAgcmV0dXJuIGAke3Jlc306ICR7YWN0fWA7XG4gIH1cbn1cbiJdfQ==
519
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Blcm1pc3Npb25zLXZpZXcvcGVybWlzc2lvbnMtdmlldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQWtCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN6RixPQUFPLEVB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QUFNLENBQUMsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLE9BQU8sR0FBRyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0EzTVUsd0JBQXdCO21HQUF4Qix3QkFBd0IsOEdBOU96Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3SlQsdXFDQXpKUyxVQUFVLHlHQUFFLGdCQUFnQiwyRUFBRSxhQUFhLHdIQUFFLGNBQWMseUVBQUUsYUFBYSx3RUFBRSxlQUFlOzs0RkErTzFGLHdCQUF3QjtrQkFsUHBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBQ3BCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUMsWUFDNUY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0pUO3dEQW1HUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIElucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvblNwaW5uZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmltcG9ydCB7IFBpbGxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvcGlsbC9waWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgQ29tcG9uZW50U3RhdGVzIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGgvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IE9yZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmcvb3JnLnNlcnZpY2UnO1xuaW1wb3J0IHsgY29ubmVjdFBhZ2VSZWZyZXNoIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcGFnZS1yZWZyZXNoL3BhZ2UtcmVmcmVzaC5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSwgUGVybWlzc2lvblJlc291cmNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL3Blcm1pc3Npb24tY2F0YWxvZy5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUGVybWlzc2lvbnNWaWV3Q29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBQRVJNSVNTSU9OU19WSUVXX0kxOE4gfSBmcm9tICcuL3Blcm1pc3Npb25zLXZpZXcuaTE4bic7XG5cbmNvbnN0IERFRkFVTFRfTkFNRVNQQUNFID0gJ1NldHRpbmdzLlBlcm1pc3Npb25zJztcblxuaW50ZXJmYWNlIFBlcm1Hcm91cFZpZXcge1xuICBrZXk6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgcGVybXM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgUm9sZVZpZXcge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpc1N5c3RlbTogYm9vbGVhbjtcbiAgZ3JvdXBzOiBQZXJtR3JvdXBWaWV3W107XG4gIGhhc1Blcm1zOiBib29sZWFuO1xufVxuXG4vKipcbiAqIGB2YWwtcGVybWlzc2lvbnMtdmlld2Ag4oCUIHZpc3RhIFBlcm1pc29zIGZ1bGwtZmVhdHVyZSBhdXRvY29udGVuaWRhIChvcmdhbmlzbSkuXG4gKiBWaXNvciBSQkFDIGRlIHNvbG8gbGVjdHVyYTogbXVlc3RyYSBsb3Mgcm9sZXMgZGVsIHNpc3RlbWEgKFZpc29yL0VkaXRvci9BZG1pbiArXG4gKiByb2xlcyBkZSBwbGF0YWZvcm1hKSB5IGxvcyByb2xlcyBwZXJzb25hbGl6YWRvcyBkZSBsYSBvcmcgYWN0aXZhLCBjb24gZWxcbiAqIGNhdMOhbG9nbyBkZSBwZXJtaXNvcyBhZ3J1cGFkbyBwb3IgYWxjYW5jZSAoYXBwIGFjdHVhbCAvIHBsYXRhZm9ybWEgLyBvdHJhcyBhcHBzKS5cbiAqIFByb21vdmlkYSBkZXNkZSBgc2hvd2Nhc2VgIGJham8gZWwgcHJvY2VzbyBkZSBBRFItMDIxLlxuICpcbiAqICoqUkJBQyBpbnRlcm5vKiogKGNvbW8gYG9yZ2FuaXphdGlvbi12aWV3YCk6IGxlZSBsYSBvcmcgYWN0aXZhIHbDrWFcbiAqIGBBdXRoU2VydmljZS51c2VyKCkuYWN0aXZlT3JnSWRgLiBMYSB2aXN0YSBOTyBtdXRhIG5hZGEg4oCUIGVsIGNvbnRyb2wgZGUgcXVpw6luXG4gKiBwdWVkZSB2ZXJsYSBlcyByZXNwb25zYWJpbGlkYWQgZGVsIGd1YXJkIGRlIHJ1dGEgZGVsIGNvbnN1bWVyOyBubyBoYXkgZ2F0aW5nXG4gKiBmaW5vIGludGVybm8gbmkgc2UgZXhwb25lIGNvbW8gY29uZmlnLlxuICpcbiAqIERhdG9zOiBgZm9ya0pvaW5gIGRlIGBPcmdTZXJ2aWNlLmxpc3RPcmdSb2xlcyhvcmdJZClgIChyb2xlcyBkZSBsYSBvcmcpICtcbiAqIGBQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2UuZ2V0Q2F0YWxvZyhvcmdJZClgIChjYXTDoWxvZ28gKyBhcHBJZCBhY3R1YWwpLiBFbFxuICogY2F0w6Fsb2dvIGRlZmluZSBlbCBhbGNhbmNlIChgc2NvcGVgL2BhcHBJZGApIGRlIGNhZGEgcmVjdXJzbyBwYXJhIGFncnVwYXIuXG4gKlxuICogTk8gcmVuZGVyaXphIGlvbi1jb250ZW50IOKAlCB2aXZlIGRlbnRybyBkZSB2YWwtcGFnZS13cmFwcGVyLiBgQWN0aXZhdGVkUm91dGVgIHNlXG4gKiBpbnllY3RhIGB7IG9wdGlvbmFsOiB0cnVlIH1gIHNvbG8gcGFyYSBsZWVyIGVsIHJvdXRlIGRhdGEgZGUgY29uZmlnLiBBdXRvLXJlZ2lzdHJhXG4gKiBzdXMgZGVmYXVsdHMgaTE4biAoZXMvZW4pIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsIG5hbWVzcGFjZSAoZGVmYXVsdFxuICogYFNldHRpbmdzLlBlcm1pc3Npb25zYCkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1wZXJtaXNzaW9ucy12aWV3JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0lvblNwaW5uZXIsIERpc3BsYXlDb21wb25lbnQsIFBpbGxDb21wb25lbnQsIFRpdGxlQ29tcG9uZW50LCBUZXh0Q29tcG9uZW50LCBCdXR0b25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJwYWdlXCI+XG4gICAgICA8aGVhZGVyIGNsYXNzPVwicGFnZS1oZWFkZXJcIj5cbiAgICAgICAgPHZhbC1kaXNwbGF5IFtwcm9wc109XCJ7IHNpemU6ICdzbWFsbCcsIGNvbG9yOiAnZGFyaycsIGNvbnRlbnQ6IHR0KCdwYWdlVGl0bGUnKSB9XCIgLz5cbiAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICBzaXplOiAnbGFyZ2UnLFxuICAgICAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgY29udGVudDogdHQoJ3BhZ2VEZXNjcmlwdGlvbicpLFxuICAgICAgICAgIH1cIlxuICAgICAgICAvPlxuICAgICAgPC9oZWFkZXI+XG5cbiAgICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLXJvd1wiPlxuICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2UgaWYgKGxvYWRFcnJvcigpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1yb3dcIj5cbiAgICAgICAgICA8dmFsLXRleHRcbiAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdlcnJvclRpdGxlJyksXG4gICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICBjb2xvcjogJ21lZGl1bScsXG4gICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwicmV0cnlCdXR0b25Qcm9wcygpXCIgKGNsaWNrKT1cImxvYWQoKVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpZiAocmVzb2x2ZWRDb25maWcoKS5zaG93U3lzdGVtUm9sZXMpIHtcbiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz1cInBlcm0tc2VjdGlvblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBlcm0tc2VjdGlvbl9faGVhZGVyXCI+XG4gICAgICAgICAgICAgIDx2YWwtdGl0bGVcbiAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgc2l6ZTogJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJ2RhcmsnLFxuICAgICAgICAgICAgICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdzeXN0ZW1Sb2xlc1RpdGxlJyksXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDx2YWwtdGV4dFxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiB0dCgnc3lzdGVtUm9sZXNIaW50JyksXG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm9sZS1saXN0XCI+XG4gICAgICAgICAgICAgIEBmb3IgKHJvbGUgb2Ygc3lzdGVtUm9sZXMoKTsgdHJhY2sgcm9sZS5pZCkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRfX2hlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvbGUtY2FyZF9fbmFtZVwiPnt7IHJvbGVMYWJlbChyb2xlLm5hbWUpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8dmFsLXBpbGxcbiAgICAgICAgICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHR0KCdzeXN0ZW1CYWRnZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdlaWdodDogJ2JvbGQnLFxuICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJvbGUuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyb2xlLWNhcmRfX2Rlc2NcIj57eyByb2xlLmRlc2NyaXB0aW9uIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGlmICghcm9sZS5oYXNQZXJtcykge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1jaGlwc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1jaGlwIHBlcm0tY2hpcC0tZW1wdHlcIj57eyB0dCgnbm9QZXJtaXNzaW9ucycpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAZm9yIChnIG9mIHJvbGUuZ3JvdXBzOyB0cmFjayBnLmtleSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tZ3JvdXBfX2xhYmVsXCI+e3sgZy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWNoaXBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHAgb2YgZy5wZXJtczsgdHJhY2sgcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1jaGlwXCI+e3sgcCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChyZXNvbHZlZENvbmZpZygpLnNob3dDdXN0b21Sb2xlcykge1xuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwicGVybS1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPHZhbC10aXRsZVxuICAgICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgICAgICAgICAgICBib2xkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY29udGVudDogdHQoJ2N1c3RvbVJvbGVzVGl0bGUnKSxcbiAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdjdXN0b21Sb2xlc0hpbnQnKSxcbiAgICAgICAgICAgICAgICAgIHNpemU6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgY29sb3I6ICdtZWRpdW0nLFxuICAgICAgICAgICAgICAgICAgYm9sZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIEBpZiAoY3VzdG9tUm9sZXMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgPHZhbC10ZXh0XG4gICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHR0KCdub0N1c3RvbVJvbGVzJyksXG4gICAgICAgICAgICAgICAgICBzaXplOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAnbWVkaXVtJyxcbiAgICAgICAgICAgICAgICAgIGJvbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWxpc3RcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChyb2xlIG9mIGN1c3RvbVJvbGVzKCk7IHRyYWNrIHJvbGUuaWQpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb2xlLWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvbGUtY2FyZF9faGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyb2xlLWNhcmRfX25hbWVcIj57eyByb2xlLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKHJvbGUuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvbGUtY2FyZF9fZGVzY1wiPnt7IHJvbGUuZGVzY3JpcHRpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmICghcm9sZS5oYXNQZXJtcykge1xuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWNoaXBzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBlcm0tY2hpcCBwZXJtLWNoaXAtLWVtcHR5XCI+e3sgdHQoJ25vUGVybWlzc2lvbnMnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgQGZvciAoZyBvZiByb2xlLmdyb3VwczsgdHJhY2sgZy5rZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZXJtLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGVybS1ncm91cF9fbGFiZWxcIj57eyBnLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGVybS1jaGlwc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHAgb2YgZy5wZXJtczsgdHJhY2sgcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJtLWNoaXBcIj57eyBwIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICB9XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5wYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICAgIC5wYWdlLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG4gICAgICAuc3Bpbm5lci1yb3csXG4gICAgICAuZXJyb3Itcm93IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDA7XG4gICAgICB9XG4gICAgICAucGVybS1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLXNlY3Rpb25fX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG4gICAgICAucm9sZS1saXN0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgfVxuICAgICAgLnJvbGUtY2FyZCB7XG4gICAgICAgIGJvcmRlcjogMS41cHggc29saWQgdmFyKC0taW9uLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICB9XG4gICAgICAucm9sZS1jYXJkX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDhweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgICAgLnJvbGUtY2FyZF9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5yb2xlLWNhcmRfX2Rlc2Mge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWdyb3VwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgICB9XG4gICAgICAucGVybS1ncm91cF9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtKTtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWNoaXBzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgIH1cbiAgICAgIC5wZXJtLWNoaXAge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbGlnaHQpO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgfVxuICAgICAgLnBlcm0tY2hpcC0tZW1wdHkge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLW1lZGl1bSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNWaWV3Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KEkxOG5TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBvcmdTZXJ2aWNlID0gaW5qZWN0KE9yZ1NlcnZpY2UpO1xuICBwcml2YXRlIGNhdGFsb2cgPSBpbmplY3QoUGVybWlzc2lvbkNhdGFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBhdXRoID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBuYXYgPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBDb25maWcgdsOtYSBASW5wdXQgKG9iamVjdC1maXJzdCkuIFNpIG5vIHNlIHBhc2EsIHNlIGNhZSBhbCByb3V0ZSBkYXRhXG4gICAqIGBwZXJtaXNzaW9uc0NvbmZpZ2AgKHBvYmxhZG8gcG9yIGBwcm92aWRlVmFsdGVjaFBlcm1pc3Npb25zUm91dGVzYCkuXG4gICAqIGByZXNvbHZlZENvbmZpZ2AgbWVyZ2VhIGNvbiBsb3MgZGVmYXVsdHMg4oCUIGBASW5wdXRgIGdhbmEgc29icmUgcm91dGUgZGF0YS5cbiAgICovXG4gIEBJbnB1dCgpIGNvbmZpZz86IFBlcm1pc3Npb25zVmlld0NvbmZpZztcblxuICByZWFkb25seSByZXNvbHZlZENvbmZpZyA9IGNvbXB1dGVkPFJlcXVpcmVkPFBlcm1pc3Npb25zVmlld0NvbmZpZz4+KCgpID0+IHtcbiAgICBjb25zdCBmcm9tUm91dGUgPSAodGhpcy5yb3V0ZT8uc25hcHNob3QuZGF0YVsncGVybWlzc2lvbnNDb25maWcnXSA/PyB7fSkgYXMgUGVybWlzc2lvbnNWaWV3Q29uZmlnO1xuICAgIGNvbnN0IG1lcmdlZDogUGVybWlzc2lvbnNWaWV3Q29uZmlnID0geyAuLi5mcm9tUm91dGUsIC4uLih0aGlzLmNvbmZpZyA/PyB7fSkgfTtcbiAgICByZXR1cm4ge1xuICAgICAgc2hvd1N5c3RlbVJvbGVzOiBtZXJnZWQuc2hvd1N5c3RlbVJvbGVzID8/IHRydWUsXG4gICAgICBzaG93Q3VzdG9tUm9sZXM6IG1lcmdlZC5zaG93Q3VzdG9tUm9sZXMgPz8gdHJ1ZSxcbiAgICAgIGkxOG5OYW1lc3BhY2U6IG1lcmdlZC5pMThuTmFtZXNwYWNlID8/IERFRkFVTFRfTkFNRVNQQUNFLFxuICAgIH07XG4gIH0pO1xuXG4gIC8qKiBOYW1lc3BhY2UgaTE4biByZXN1ZWx0byAoY2FwdHVyYWRvIHBhcmEgbGxhbWFkYXMgbm8tcmVhY3RpdmFzKS4gKi9cbiAgcHJpdmF0ZSBnZXQgbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZENvbmZpZygpLmkxOG5OYW1lc3BhY2U7XG4gIH1cblxuICByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgbG9hZEVycm9yID0gc2lnbmFsPHVua25vd24gfCBudWxsPihudWxsKTtcbiAgcHJpdmF0ZSByZWFkb25seSByb2xlcyA9IHNpZ25hbDxSb2xlVmlld1tdPihbXSk7XG5cbiAgcmVhZG9ubHkgc3lzdGVtUm9sZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnJvbGVzKCkuZmlsdGVyKHIgPT4gci5pc1N5c3RlbSkpO1xuICByZWFkb25seSBjdXN0b21Sb2xlcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMucm9sZXMoKS5maWx0ZXIociA9PiAhci5pc1N5c3RlbSkpO1xuXG4gIHJlYWRvbmx5IGFjdGl2ZU9yZ0lkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHUgPSB0aGlzLmF1dGgudXNlcigpIGFzIHtcbiAgICAgIGFjdGl2ZU9yZ0lkPzogc3RyaW5nO1xuICAgICAgYWN0aXZlT3JnPzogc3RyaW5nO1xuICAgIH0gfCBudWxsO1xuICAgIHJldHVybiB1Py5hY3RpdmVPcmdJZCA/PyB1Py5hY3RpdmVPcmcgPz8gJyc7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJldHJ5QnV0dG9uUHJvcHMgPSBjb21wdXRlZDxQYXJ0aWFsPEJ1dHRvbk1ldGFkYXRhPj4oKCkgPT4gKHtcbiAgICB0ZXh0OiB0aGlzLnR0KCdyZXRyeScpLFxuICAgIGNvbG9yOiAnZGFyaycsXG4gICAgZmlsbDogJ291dGxpbmUnLFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICBzdGF0ZTogdGhpcy5sb2FkaW5nKCkgPyBDb21wb25lbnRTdGF0ZXMuRElTQUJMRUQgOiBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgfSkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IG5zID0gdGhpcy5ucztcbiAgICBpZiAoIXRoaXMuaTE4bi5oYXNOYW1lc3BhY2UobnMpKSB7XG4gICAgICB0aGlzLmkxOG4ucmVnaXN0ZXJDb250ZW50KG5zLCBQRVJNSVNTSU9OU19WSUVXX0kxOE4pO1xuICAgIH1cbiAgICB0aGlzLm5hdi5zZXRCYWNrSGVhZGVyKCdwYWdlVGl0bGUnLCBucywgeyB3aXRoTWVudTogdHJ1ZSB9KTtcbiAgICB0aGlzLmxvYWQoKTtcbiAgICBjb25uZWN0UGFnZVJlZnJlc2goKCkgPT4gdGhpcy5sb2FkKCkpO1xuICB9XG5cbiAgbG9hZCgpOiB2b2lkIHtcbiAgICBjb25zdCBvcmdJZCA9IHRoaXMuYWN0aXZlT3JnSWQoKTtcbiAgICBpZiAoIW9yZ0lkKSByZXR1cm47XG4gICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLmxvYWRFcnJvci5zZXQobnVsbCk7XG4gICAgZm9ya0pvaW4oe1xuICAgICAgcm9sZXM6IHRoaXMub3JnU2VydmljZS5saXN0T3JnUm9sZXMob3JnSWQpLFxuICAgICAgY2F0YWxvZzogdGhpcy5jYXRhbG9nLmdldENhdGFsb2cob3JnSWQpLFxuICAgIH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoeyByb2xlczogcmF3Um9sZXMsIGNhdGFsb2cgfSkgPT4ge1xuICAgICAgICBjb25zdCBieVJlc291cmNlID0gbmV3IE1hcDxzdHJpbmcsIFBlcm1pc3Npb25SZXNvdXJjZT4oKTtcbiAgICAgICAgZm9yIChjb25zdCByIG9mIGNhdGFsb2cucGVybWlzc2lvbnMpIGJ5UmVzb3VyY2Uuc2V0KHIucmVzb3VyY2UsIHIpO1xuICAgICAgICBjb25zdCBjdXJyZW50QXBwSWQgPSBjYXRhbG9nLmFwcElkO1xuICAgICAgICB0aGlzLnJvbGVzLnNldChcbiAgICAgICAgICAocmF3Um9sZXMgPz8gW10pLm1hcCgocjogYW55KSA9PlxuICAgICAgICAgICAgdGhpcy5idWlsZFJvbGVWaWV3KFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IHIuaWQsXG4gICAgICAgICAgICAgICAgbmFtZTogci5uYW1lLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiByLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zOiByLnBlcm1pc3Npb25zID8/IFtdLFxuICAgICAgICAgICAgICAgIGlzU3lzdGVtOiByLmlzU3lzdGVtID8/IGZhbHNlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBieVJlc291cmNlLFxuICAgICAgICAgICAgICBjdXJyZW50QXBwSWRcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICB0aGlzLmxvYWRFcnJvci5zZXQoZXJyKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldChmYWxzZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFJvbGVWaWV3KFxuICAgIHJvbGU6IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICAgIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgICAgIGlzU3lzdGVtOiBib29sZWFuO1xuICAgIH0sXG4gICAgYnlSZXNvdXJjZTogTWFwPHN0cmluZywgUGVybWlzc2lvblJlc291cmNlPixcbiAgICBjdXJyZW50QXBwSWQ6IHN0cmluZ1xuICApOiBSb2xlVmlldyB7XG4gICAgY29uc3QgYXBwUGVybXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgb3JnUGVybXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgb3RoZXJCeUFwcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmdbXT4oKTtcblxuICAgIGZvciAoY29uc3QgcGVybSBvZiByb2xlLnBlcm1pc3Npb25zKSB7XG4gICAgICBjb25zdCBbcmVzb3VyY2UsIGFjdGlvbl0gPSBwZXJtLnNwbGl0KCc6Jyk7XG4gICAgICBjb25zdCBlbnRyeSA9IGJ5UmVzb3VyY2UuZ2V0KHJlc291cmNlKTtcbiAgICAgIC8vIFNpbiBlbnRyYWRhIGVuIGVsIGNhdMOhbG9nbyAoZWwgYmFja2VuZCBvbWl0ZSBsb3MgcmVjdXJzb3MgaW50ZXJuYWwgcGFyYVxuICAgICAgLy8gbm8tcGxhdGZvcm0tYWRtaW5zKSBvIGVudHJhZGEgaW50ZXJuYWwg4oaSIE5VTkNBIHNlIG11ZXN0cmEgYSBuaXZlbCBkZVxuICAgICAgLy8gcHJvZHVjdG8uIERlZmVuc2EgZW4gcHJvZnVuZGlkYWQganVudG8gYWwgZmlsdHJvIGRlbCBiYWNrZW5kIChBRFItMDI0KS5cbiAgICAgIC8vIE5vdGE6IGVsIHJvbCBwdWVkZSB0cmFlciBlbCBwZXJtaXNvIGF1bnF1ZSBlbCByZWN1cnNvIGVzdMOpIGZpbHRyYWRvIGRlbFxuICAgICAgLy8gY2F0w6Fsb2dvIChlai4gYWRtaW4gdGllbmUgdGVtcGxhdGVzOiopOyBwb3IgZXNvIHNlIGRlc2NhcnRhIGxvIG5vIHJlc3VlbHRvLlxuICAgICAgaWYgKCFlbnRyeSB8fCBlbnRyeS5zY29wZSA9PT0gJ2ludGVybmFsJykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5wZXJtTGFiZWwocmVzb3VyY2UsIGFjdGlvbik7XG4gICAgICBpZiAoZW50cnkuc2NvcGUgPT09ICdhcHAnKSB7XG4gICAgICAgIGlmIChlbnRyeS5hcHBJZCA9PT0gY3VycmVudEFwcElkKSB7XG4gICAgICAgICAgYXBwUGVybXMucHVzaChsYWJlbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgYXBwSWQgPSBlbnRyeS5hcHBJZCA/PyAnPyc7XG4gICAgICAgICAgY29uc3QgYXJyID0gb3RoZXJCeUFwcC5nZXQoYXBwSWQpID8/IFtdO1xuICAgICAgICAgIGFyci5wdXNoKGxhYmVsKTtcbiAgICAgICAgICBvdGhlckJ5QXBwLnNldChhcHBJZCwgYXJyKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2NvcGUgPT09ICdvcmcnIOKGkiBnZXN0acOzbiBkZSBsYSBvcmdhbml6YWNpw7NuIGRlbCBjbGllbnRlXG4gICAgICAgIG9yZ1Blcm1zLnB1c2gobGFiZWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGdyb3VwczogUGVybUdyb3VwVmlld1tdID0gW107XG4gICAgaWYgKGFwcFBlcm1zLmxlbmd0aCkge1xuICAgICAgZ3JvdXBzLnB1c2goeyBrZXk6ICdhcHAnLCBsYWJlbDogdGhpcy50dCgnZ3JvdXBBcHAnKSwgcGVybXM6IGFwcFBlcm1zIH0pO1xuICAgIH1cbiAgICBpZiAob3JnUGVybXMubGVuZ3RoKSB7XG4gICAgICBncm91cHMucHVzaCh7XG4gICAgICAgIGtleTogJ29yZycsXG4gICAgICAgIGxhYmVsOiB0aGlzLnR0KCdncm91cE9yZycpLFxuICAgICAgICBwZXJtczogb3JnUGVybXMsXG4gICAgICB9KTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBbYXBwSWQsIHBlcm1zXSBvZiBvdGhlckJ5QXBwKSB7XG4gICAgICBncm91cHMucHVzaCh7XG4gICAgICAgIGtleTogYG90aGVyOiR7YXBwSWR9YCxcbiAgICAgICAgbGFiZWw6IGAke3RoaXMudHQoJ2dyb3VwT3RoZXInKX06ICR7dGhpcy5hcHBMYWJlbChhcHBJZCl9YCxcbiAgICAgICAgcGVybXMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHJvbGUuaWQsXG4gICAgICBuYW1lOiByb2xlLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcm9sZS5kZXNjcmlwdGlvbixcbiAgICAgIGlzU3lzdGVtOiByb2xlLmlzU3lzdGVtLFxuICAgICAgZ3JvdXBzLFxuICAgICAgaGFzUGVybXM6IGdyb3Vwcy5sZW5ndGggPiAwLFxuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgdHQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmkxOG4udChrZXksIHRoaXMubnMpO1xuICB9XG5cbiAgYXBwTGFiZWwoYXBwSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qga2V5ID0gYGFwcF8ke2FwcElkfWA7XG4gICAgY29uc3QgbGFiZWwgPSB0aGlzLnR0KGtleSk7XG4gICAgcmV0dXJuIGxhYmVsID09PSBrZXkgPyBhcHBJZCA6IGxhYmVsO1xuICB9XG5cbiAgcm9sZUxhYmVsKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgdmlld2VyOiAncm9sZVZpZXdlcicsXG4gICAgICBlZGl0b3I6ICdyb2xlRWRpdG9yJyxcbiAgICAgIGFkbWluOiAncm9sZUFkbWluJyxcbiAgICAgIHN1cGVyX2FkbWluOiAncm9sZVN1cGVyQWRtaW4nLFxuICAgICAgYmluZ29fYWRtaW46ICdyb2xlQmluZ29BZG1pbicsXG4gICAgICBiaW5nb190ZXNvcmVybzogJ3JvbGVCaW5nb1Rlc29yZXJvJyxcbiAgICAgIGJpbmdvX3RhcXVpbGxhOiAncm9sZUJpbmdvVGFxdWlsbGEnLFxuICAgICAgYmluZ29fb3BlcmF0b3I6ICdyb2xlQmluZ29PcGVyYXRvcicsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy50dChtYXBbbmFtZV0gPz8gbmFtZSk7XG4gIH1cblxuICBwZXJtTGFiZWwocmVzb3VyY2U6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChyZXNvdXJjZSA9PT0gJyonICYmIGFjdGlvbiA9PT0gJyonKSByZXR1cm4gdGhpcy50dCgncGVybUFsbCcpO1xuICAgIGNvbnN0IHJlc0tleSA9IHJlc291cmNlID09PSAnKicgPyAncGVybUFsbCcgOiBgcGVybSR7cmVzb3VyY2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtyZXNvdXJjZS5zbGljZSgxKX1gO1xuICAgIGNvbnN0IGFjdEtleSA9IGFjdGlvbiA9PT0gJyonID8gJ3Blcm1BbGwnIDogYHBlcm0ke2FjdGlvbi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2FjdGlvbi5zbGljZSgxKX1gO1xuICAgIGNvbnN0IHJlcyA9IHRoaXMudHQocmVzS2V5KTtcbiAgICBjb25zdCBhY3QgPSB0aGlzLnR0KGFjdEtleSk7XG4gICAgcmV0dXJuIGAke3Jlc306ICR7YWN0fWA7XG4gIH1cbn1cbiJdfQ==
@@ -18,6 +18,7 @@ export const PERMISSIONS_VIEW_I18N = {
18
18
  noPermissions: 'Sin permisos asignados.',
19
19
  // Grupos de alcance
20
20
  groupApp: 'Permisos de la app',
21
+ groupOrg: 'Permisos de la organización',
21
22
  groupPlatform: 'Permisos de plataforma',
22
23
  groupOther: 'Otras apps',
23
24
  // Roles del sistema
@@ -73,6 +74,7 @@ export const PERMISSIONS_VIEW_I18N = {
73
74
  noCustomRoles: 'This organization has no custom roles.',
74
75
  noPermissions: 'No permissions assigned.',
75
76
  groupApp: 'App permissions',
77
+ groupOrg: 'Organization permissions',
76
78
  groupPlatform: 'Platform permissions',
77
79
  groupOther: 'Other apps',
78
80
  roleViewer: 'Viewer',
@@ -113,4 +115,4 @@ export const PERMISSIONS_VIEW_I18N = {
113
115
  retry: 'Retry',
114
116
  },
115
117
  };
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdmlldy5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9wZXJtaXNzaW9ucy12aWV3L3Blcm1pc3Npb25zLXZpZXcuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBcUI7SUFDckQsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLFVBQVU7UUFDckIsZUFBZSxFQUFFLHdEQUF3RDtRQUN6RSxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDckMsZUFBZSxFQUFFLCtDQUErQztRQUNoRSxnQkFBZ0IsRUFBRSxzQkFBc0I7UUFDeEMsZUFBZSxFQUFFLGdDQUFnQztRQUNqRCxXQUFXLEVBQUUsU0FBUztRQUN0QixhQUFhLEVBQUUsa0RBQWtEO1FBQ2pFLGFBQWEsRUFBRSx5QkFBeUI7UUFDeEMsb0JBQW9CO1FBQ3BCLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsYUFBYSxFQUFFLHdCQUF3QjtRQUN2QyxVQUFVLEVBQUUsWUFBWTtRQUN4QixvQkFBb0I7UUFDcEIsVUFBVSxFQUFFLE9BQU87UUFDbkIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsY0FBYyxFQUFFLHFCQUFxQjtRQUNyQyxjQUFjLEVBQUUsdUJBQXVCO1FBQ3ZDLGlCQUFpQixFQUFFLGtCQUFrQjtRQUNyQyxpQkFBaUIsRUFBRSxrQkFBa0I7UUFDckMsaUJBQWlCLEVBQUUsa0JBQWtCO1FBQ3JDLE9BQU87UUFDUCxZQUFZLEVBQUUsVUFBVTtRQUN4QixTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXO1FBQ1gsU0FBUyxFQUFFLFVBQVU7UUFDckIsU0FBUyxFQUFFLE9BQU87UUFDbEIsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixRQUFRLEVBQUUsTUFBTTtRQUNoQixjQUFjLEVBQUUsVUFBVTtRQUMxQixnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDbEMsY0FBYyxFQUFFLGFBQWE7UUFDN0IsYUFBYSxFQUFFLFlBQVk7UUFDM0IsU0FBUyxFQUFFLE9BQU87UUFDbEIsYUFBYSxFQUFFLFlBQVk7UUFDM0IsWUFBWSxFQUFFLGFBQWE7UUFDM0IsU0FBUyxFQUFFLE9BQU87UUFDbEIsV0FBVztRQUNYLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLFVBQVUsRUFBRSxXQUFXO1FBQ3ZCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxVQUFVO1FBQ3RCLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLE9BQU8sRUFBRSxNQUFNO1FBQ2Ysa0JBQWtCO1FBQ2xCLFVBQVUsRUFBRSwwQkFBMEI7UUFDdEMsS0FBSyxFQUFFLFlBQVk7S0FDcEI7SUFDRCxFQUFFLEVBQUU7UUFDRixTQUFTLEVBQUUsYUFBYTtRQUN4QixlQUFlLEVBQUUsOERBQThEO1FBQy9FLGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsZUFBZSxFQUFFLHdDQUF3QztRQUN6RCxnQkFBZ0IsRUFBRSxjQUFjO1FBQ2hDLGVBQWUsRUFBRSwrQkFBK0I7UUFDaEQsV0FBVyxFQUFFLFFBQVE7UUFDckIsYUFBYSxFQUFFLHdDQUF3QztRQUN2RCxhQUFhLEVBQUUsMEJBQTBCO1FBQ3pDLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsYUFBYSxFQUFFLHNCQUFzQjtRQUNyQyxVQUFVLEVBQUUsWUFBWTtRQUN4QixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsUUFBUTtRQUNwQixTQUFTLEVBQUUsZUFBZTtRQUMxQixjQUFjLEVBQUUscUJBQXFCO1FBQ3JDLGNBQWMsRUFBRSx1QkFBdUI7UUFDdkMsaUJBQWlCLEVBQUUsbUJBQW1CO1FBQ3RDLGlCQUFpQixFQUFFLG9CQUFvQjtRQUN2QyxpQkFBaUIsRUFBRSxrQkFBa0I7UUFDckMsWUFBWSxFQUFFLFVBQVU7UUFDeEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsU0FBUyxFQUFFLE9BQU87UUFDbEIsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixRQUFRLEVBQUUsTUFBTTtRQUNoQixjQUFjLEVBQUUsVUFBVTtRQUMxQixnQkFBZ0IsRUFBRSxZQUFZO1FBQzlCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxXQUFXO1FBQzFCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLGFBQWEsRUFBRSxXQUFXO1FBQzFCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFdBQVcsRUFBRSxVQUFVO1FBQ3ZCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsVUFBVSxFQUFFLDJCQUEyQjtRQUN2QyxLQUFLLEVBQUUsT0FBTztLQUNmO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL3R5cGVzJztcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikgZW1iZWJpZG9zIGVuIGB2YWwtcGVybWlzc2lvbnMtdmlld2AuIEF1dG8tcmVnaXN0cmFkb3MgZW5cbiAqIGVsIGNvbnN0cnVjdG9yIGRlbCBjb21wb25lbnRlIHNpIGVsIGNvbnN1bWVyIG5vIHByb3ZlecOzIGVsIG5hbWVzcGFjZVxuICogKGBTZXR0aW5ncy5QZXJtaXNzaW9uc2AgcG9yIGRlZmF1bHQpLiBTT0xPIGluY2x1eWUgbGFzIGtleXMgcXVlIGxhIHZpc3RhIHVzYS5cbiAqXG4gKiBQb3J0YWRvIEVYQUNUTyBkZSBgUEVSTUlTU0lPTlNfSTE4TmAgKHNob3djYXNlKSBiYWpvIGVsIHByb2Nlc28gZGUgQURSLTAyMS5cbiAqL1xuZXhwb3J0IGNvbnN0IFBFUk1JU1NJT05TX1ZJRVdfSTE4TjogTGFuZ3VhZ2VzQ29udGVudCA9IHtcbiAgZXM6IHtcbiAgICBwYWdlVGl0bGU6ICdQZXJtaXNvcycsXG4gICAgcGFnZURlc2NyaXB0aW9uOiAnUm9sZXMgeSBwZXJtaXNvcyBkZSBlc3RhIGFwcCBlbiBsYSBvcmdhbml6YWNpw7NuIGFjdGl2YScsXG4gICAgc3lzdGVtUm9sZXNUaXRsZTogJ1JvbGVzIGRlbCBzaXN0ZW1hJyxcbiAgICBzeXN0ZW1Sb2xlc0hpbnQ6ICdQcmVkZWZpbmlkb3MgcG9yIGxhIHBsYXRhZm9ybWEuIE5vIGVkaXRhYmxlcy4nLFxuICAgIGN1c3RvbVJvbGVzVGl0bGU6ICdSb2xlcyBwZXJzb25hbGl6YWRvcycsXG4gICAgY3VzdG9tUm9sZXNIaW50OiAnRGVmaW5pZG9zIHBvciB0dSBvcmdhbml6YWNpw7NuLicsXG4gICAgc3lzdGVtQmFkZ2U6ICdTaXN0ZW1hJyxcbiAgICBub0N1c3RvbVJvbGVzOiAnRXN0YSBvcmdhbml6YWNpw7NuIG5vIHRpZW5lIHJvbGVzIHBlcnNvbmFsaXphZG9zLicsXG4gICAgbm9QZXJtaXNzaW9uczogJ1NpbiBwZXJtaXNvcyBhc2lnbmFkb3MuJyxcbiAgICAvLyBHcnVwb3MgZGUgYWxjYW5jZVxuICAgIGdyb3VwQXBwOiAnUGVybWlzb3MgZGUgbGEgYXBwJyxcbiAgICBncm91cFBsYXRmb3JtOiAnUGVybWlzb3MgZGUgcGxhdGFmb3JtYScsXG4gICAgZ3JvdXBPdGhlcjogJ090cmFzIGFwcHMnLFxuICAgIC8vIFJvbGVzIGRlbCBzaXN0ZW1hXG4gICAgcm9sZVZpZXdlcjogJ1Zpc29yJyxcbiAgICByb2xlRWRpdG9yOiAnRWRpdG9yJyxcbiAgICByb2xlQWRtaW46ICdBZG1pbmlzdHJhZG9yJyxcbiAgICByb2xlU3VwZXJBZG1pbjogJ1N1cGVyIEFkbWluaXN0cmFkb3InLFxuICAgIHJvbGVCaW5nb0FkbWluOiAnQmluZ28gwrcgQWRtaW5pc3RyYWRvcicsXG4gICAgcm9sZUJpbmdvVGVzb3Jlcm86ICdCaW5nbyDCtyBUZXNvcmVybycsXG4gICAgcm9sZUJpbmdvVGFxdWlsbGE6ICdCaW5nbyDCtyBUYXF1aWxsYScsXG4gICAgcm9sZUJpbmdvT3BlcmF0b3I6ICdCaW5nbyDCtyBPcGVyYWRvcicsXG4gICAgLy8gQXBwc1xuICAgIGFwcF9zaG93Y2FzZTogJ1Nob3djYXNlJyxcbiAgICBhcHBfYmluZ286ICdCaW5nbycsXG4gICAgLy8gUmVjdXJzb3NcbiAgICBwZXJtVXNlcnM6ICdVc3VhcmlvcycsXG4gICAgcGVybVJvbGVzOiAnUm9sZXMnLFxuICAgIHBlcm1SYmFjOiAnQ29udHJvbCBkZSBhY2Nlc28nLFxuICAgIHBlcm1BcHBzOiAnQXBwcycsXG4gICAgJ3Blcm1BcGkta2V5cyc6ICdBUEkga2V5cycsXG4gICAgJ3Blcm1FbWFpbC1sb2dzJzogJ0xvZ3MgZGUgY29ycmVvJyxcbiAgICAncGVybVNtcy1sb2dzJzogJ0xvZ3MgZGUgU01TJyxcbiAgICBwZXJtRG9jdW1lbnRzOiAnRG9jdW1lbnRvcycsXG4gICAgcGVybU1lZGlhOiAnTWVkaWEnLFxuICAgIHBlcm1UZW1wbGF0ZXM6ICdQbGFudGlsbGFzJyxcbiAgICBwZXJtUmVxdWVzdHM6ICdTb2xpY2l0dWRlcycsXG4gICAgcGVybUJpbmdvOiAnQmluZ28nLFxuICAgIC8vIEFjY2lvbmVzXG4gICAgcGVybVJlYWQ6ICdMZWVyJyxcbiAgICBwZXJtV3JpdGU6ICdFc2NyaWJpcicsXG4gICAgcGVybUNyZWF0ZTogJ0NyZWFyJyxcbiAgICBwZXJtRGVsZXRlOiAnRWxpbWluYXInLFxuICAgIHBlcm1NYW5hZ2U6ICdHZXN0aW9uYXInLFxuICAgIHBlcm1FZGl0OiAnRWRpdGFyJyxcbiAgICBwZXJtU2VsbDogJ1ZlbmRlcicsXG4gICAgcGVybUNoZWNraW46ICdDYW5qZWFyJyxcbiAgICBwZXJtU2V0dGxlOiAnUmVuZGlyJyxcbiAgICBwZXJtRXhwb3J0OiAnRXhwb3J0YXInLFxuICAgIHBlcm1PcGVyYXRlOiAnT3BlcmFyJyxcbiAgICBwZXJtQWxsOiAnVG9kbycsXG4gICAgLy8gTG9hZGluZyAvIGVycm9yXG4gICAgZXJyb3JUaXRsZTogJ0Vycm9yIGFsIGNhcmdhciBwZXJtaXNvcycsXG4gICAgcmV0cnk6ICdSZWludGVudGFyJyxcbiAgfSxcbiAgZW46IHtcbiAgICBwYWdlVGl0bGU6ICdQZXJtaXNzaW9ucycsXG4gICAgcGFnZURlc2NyaXB0aW9uOiAnUm9sZXMgYW5kIHBlcm1pc3Npb25zIG9mIHRoaXMgYXBwIGluIHRoZSBhY3RpdmUgb3JnYW5pemF0aW9uJyxcbiAgICBzeXN0ZW1Sb2xlc1RpdGxlOiAnU3lzdGVtIHJvbGVzJyxcbiAgICBzeXN0ZW1Sb2xlc0hpbnQ6ICdEZWZpbmVkIGJ5IHRoZSBwbGF0Zm9ybS4gTm90IGVkaXRhYmxlLicsXG4gICAgY3VzdG9tUm9sZXNUaXRsZTogJ0N1c3RvbSByb2xlcycsXG4gICAgY3VzdG9tUm9sZXNIaW50OiAnRGVmaW5lZCBieSB5b3VyIG9yZ2FuaXphdGlvbi4nLFxuICAgIHN5c3RlbUJhZGdlOiAnU3lzdGVtJyxcbiAgICBub0N1c3RvbVJvbGVzOiAnVGhpcyBvcmdhbml6YXRpb24gaGFzIG5vIGN1c3RvbSByb2xlcy4nLFxuICAgIG5vUGVybWlzc2lvbnM6ICdObyBwZXJtaXNzaW9ucyBhc3NpZ25lZC4nLFxuICAgIGdyb3VwQXBwOiAnQXBwIHBlcm1pc3Npb25zJyxcbiAgICBncm91cFBsYXRmb3JtOiAnUGxhdGZvcm0gcGVybWlzc2lvbnMnLFxuICAgIGdyb3VwT3RoZXI6ICdPdGhlciBhcHBzJyxcbiAgICByb2xlVmlld2VyOiAnVmlld2VyJyxcbiAgICByb2xlRWRpdG9yOiAnRWRpdG9yJyxcbiAgICByb2xlQWRtaW46ICdBZG1pbmlzdHJhdG9yJyxcbiAgICByb2xlU3VwZXJBZG1pbjogJ1N1cGVyIEFkbWluaXN0cmF0b3InLFxuICAgIHJvbGVCaW5nb0FkbWluOiAnQmluZ28gwrcgQWRtaW5pc3RyYXRvcicsXG4gICAgcm9sZUJpbmdvVGVzb3Jlcm86ICdCaW5nbyDCtyBUcmVhc3VyZXInLFxuICAgIHJvbGVCaW5nb1RhcXVpbGxhOiAnQmluZ28gwrcgQm94IG9mZmljZScsXG4gICAgcm9sZUJpbmdvT3BlcmF0b3I6ICdCaW5nbyDCtyBPcGVyYXRvcicsXG4gICAgYXBwX3Nob3djYXNlOiAnU2hvd2Nhc2UnLFxuICAgIGFwcF9iaW5nbzogJ0JpbmdvJyxcbiAgICBwZXJtVXNlcnM6ICdVc2VycycsXG4gICAgcGVybVJvbGVzOiAnUm9sZXMnLFxuICAgIHBlcm1SYmFjOiAnQWNjZXNzIGNvbnRyb2wnLFxuICAgIHBlcm1BcHBzOiAnQXBwcycsXG4gICAgJ3Blcm1BcGkta2V5cyc6ICdBUEkga2V5cycsXG4gICAgJ3Blcm1FbWFpbC1sb2dzJzogJ0VtYWlsIGxvZ3MnLFxuICAgICdwZXJtU21zLWxvZ3MnOiAnU01TIGxvZ3MnLFxuICAgIHBlcm1Eb2N1bWVudHM6ICdEb2N1bWVudHMnLFxuICAgIHBlcm1NZWRpYTogJ01lZGlhJyxcbiAgICBwZXJtVGVtcGxhdGVzOiAnVGVtcGxhdGVzJyxcbiAgICBwZXJtUmVxdWVzdHM6ICdSZXF1ZXN0cycsXG4gICAgcGVybUJpbmdvOiAnQmluZ28nLFxuICAgIHBlcm1SZWFkOiAnUmVhZCcsXG4gICAgcGVybVdyaXRlOiAnV3JpdGUnLFxuICAgIHBlcm1DcmVhdGU6ICdDcmVhdGUnLFxuICAgIHBlcm1EZWxldGU6ICdEZWxldGUnLFxuICAgIHBlcm1NYW5hZ2U6ICdNYW5hZ2UnLFxuICAgIHBlcm1FZGl0OiAnRWRpdCcsXG4gICAgcGVybVNlbGw6ICdTZWxsJyxcbiAgICBwZXJtQ2hlY2tpbjogJ0NoZWNrLWluJyxcbiAgICBwZXJtU2V0dGxlOiAnU2V0dGxlJyxcbiAgICBwZXJtRXhwb3J0OiAnRXhwb3J0JyxcbiAgICBwZXJtT3BlcmF0ZTogJ09wZXJhdGUnLFxuICAgIHBlcm1BbGw6ICdBbGwnLFxuICAgIGVycm9yVGl0bGU6ICdFcnJvciBsb2FkaW5nIHBlcm1pc3Npb25zJyxcbiAgICByZXRyeTogJ1JldHJ5JyxcbiAgfSxcbn07XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMtdmlldy5pMThuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9wZXJtaXNzaW9ucy12aWV3L3Blcm1pc3Npb25zLXZpZXcuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBcUI7SUFDckQsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLFVBQVU7UUFDckIsZUFBZSxFQUFFLHdEQUF3RDtRQUN6RSxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDckMsZUFBZSxFQUFFLCtDQUErQztRQUNoRSxnQkFBZ0IsRUFBRSxzQkFBc0I7UUFDeEMsZUFBZSxFQUFFLGdDQUFnQztRQUNqRCxXQUFXLEVBQUUsU0FBUztRQUN0QixhQUFhLEVBQUUsa0RBQWtEO1FBQ2pFLGFBQWEsRUFBRSx5QkFBeUI7UUFDeEMsb0JBQW9CO1FBQ3BCLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsUUFBUSxFQUFFLDZCQUE2QjtRQUN2QyxhQUFhLEVBQUUsd0JBQXdCO1FBQ3ZDLFVBQVUsRUFBRSxZQUFZO1FBQ3hCLG9CQUFvQjtRQUNwQixVQUFVLEVBQUUsT0FBTztRQUNuQixVQUFVLEVBQUUsUUFBUTtRQUNwQixTQUFTLEVBQUUsZUFBZTtRQUMxQixjQUFjLEVBQUUscUJBQXFCO1FBQ3JDLGNBQWMsRUFBRSx1QkFBdUI7UUFDdkMsaUJBQWlCLEVBQUUsa0JBQWtCO1FBQ3JDLGlCQUFpQixFQUFFLGtCQUFrQjtRQUNyQyxpQkFBaUIsRUFBRSxrQkFBa0I7UUFDckMsT0FBTztRQUNQLFlBQVksRUFBRSxVQUFVO1FBQ3hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFdBQVc7UUFDWCxTQUFTLEVBQUUsVUFBVTtRQUNyQixTQUFTLEVBQUUsT0FBTztRQUNsQixRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGdCQUFnQixFQUFFLGdCQUFnQjtRQUNsQyxjQUFjLEVBQUUsYUFBYTtRQUM3QixhQUFhLEVBQUUsWUFBWTtRQUMzQixTQUFTLEVBQUUsT0FBTztRQUNsQixhQUFhLEVBQUUsWUFBWTtRQUMzQixZQUFZLEVBQUUsYUFBYTtRQUMzQixTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXO1FBQ1gsUUFBUSxFQUFFLE1BQU07UUFDaEIsU0FBUyxFQUFFLFVBQVU7UUFDckIsVUFBVSxFQUFFLE9BQU87UUFDbkIsVUFBVSxFQUFFLFVBQVU7UUFDdEIsVUFBVSxFQUFFLFdBQVc7UUFDdkIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsVUFBVSxFQUFFLFVBQVU7UUFDdEIsV0FBVyxFQUFFLFFBQVE7UUFDckIsT0FBTyxFQUFFLE1BQU07UUFDZixrQkFBa0I7UUFDbEIsVUFBVSxFQUFFLDBCQUEwQjtRQUN0QyxLQUFLLEVBQUUsWUFBWTtLQUNwQjtJQUNELEVBQUUsRUFBRTtRQUNGLFNBQVMsRUFBRSxhQUFhO1FBQ3hCLGVBQWUsRUFBRSw4REFBOEQ7UUFDL0UsZ0JBQWdCLEVBQUUsY0FBYztRQUNoQyxlQUFlLEVBQUUsd0NBQXdDO1FBQ3pELGdCQUFnQixFQUFFLGNBQWM7UUFDaEMsZUFBZSxFQUFFLCtCQUErQjtRQUNoRCxXQUFXLEVBQUUsUUFBUTtRQUNyQixhQUFhLEVBQUUsd0NBQXdDO1FBQ3ZELGFBQWEsRUFBRSwwQkFBMEI7UUFDekMsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLGFBQWEsRUFBRSxzQkFBc0I7UUFDckMsVUFBVSxFQUFFLFlBQVk7UUFDeEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsU0FBUyxFQUFFLGVBQWU7UUFDMUIsY0FBYyxFQUFFLHFCQUFxQjtRQUNyQyxjQUFjLEVBQUUsdUJBQXVCO1FBQ3ZDLGlCQUFpQixFQUFFLG1CQUFtQjtRQUN0QyxpQkFBaUIsRUFBRSxvQkFBb0I7UUFDdkMsaUJBQWlCLEVBQUUsa0JBQWtCO1FBQ3JDLFlBQVksRUFBRSxVQUFVO1FBQ3hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsUUFBUSxFQUFFLE1BQU07UUFDaEIsY0FBYyxFQUFFLFVBQVU7UUFDMUIsZ0JBQWdCLEVBQUUsWUFBWTtRQUM5QixjQUFjLEVBQUUsVUFBVTtRQUMxQixhQUFhLEVBQUUsV0FBVztRQUMxQixTQUFTLEVBQUUsT0FBTztRQUNsQixhQUFhLEVBQUUsV0FBVztRQUMxQixZQUFZLEVBQUUsVUFBVTtRQUN4QixTQUFTLEVBQUUsT0FBTztRQUNsQixRQUFRLEVBQUUsTUFBTTtRQUNoQixTQUFTLEVBQUUsT0FBTztRQUNsQixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsUUFBUTtRQUNwQixRQUFRLEVBQUUsTUFBTTtRQUNoQixRQUFRLEVBQUUsTUFBTTtRQUNoQixXQUFXLEVBQUUsVUFBVTtRQUN2QixVQUFVLEVBQUUsUUFBUTtRQUNwQixVQUFVLEVBQUUsUUFBUTtRQUNwQixXQUFXLEVBQUUsU0FBUztRQUN0QixPQUFPLEVBQUUsS0FBSztRQUNkLFVBQVUsRUFBRSwyQkFBMkI7UUFDdkMsS0FBSyxFQUFFLE9BQU87S0FDZjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYW5ndWFnZXNDb250ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaTE4bi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdHMgaTE4biAoZXMvZW4pIGVtYmViaWRvcyBlbiBgdmFsLXBlcm1pc3Npb25zLXZpZXdgLiBBdXRvLXJlZ2lzdHJhZG9zIGVuXG4gKiBlbCBjb25zdHJ1Y3RvciBkZWwgY29tcG9uZW50ZSBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2VcbiAqIChgU2V0dGluZ3MuUGVybWlzc2lvbnNgIHBvciBkZWZhdWx0KS4gU09MTyBpbmNsdXllIGxhcyBrZXlzIHF1ZSBsYSB2aXN0YSB1c2EuXG4gKlxuICogUG9ydGFkbyBFWEFDVE8gZGUgYFBFUk1JU1NJT05TX0kxOE5gIChzaG93Y2FzZSkgYmFqbyBlbCBwcm9jZXNvIGRlIEFEUi0wMjEuXG4gKi9cbmV4cG9ydCBjb25zdCBQRVJNSVNTSU9OU19WSUVXX0kxOE46IExhbmd1YWdlc0NvbnRlbnQgPSB7XG4gIGVzOiB7XG4gICAgcGFnZVRpdGxlOiAnUGVybWlzb3MnLFxuICAgIHBhZ2VEZXNjcmlwdGlvbjogJ1JvbGVzIHkgcGVybWlzb3MgZGUgZXN0YSBhcHAgZW4gbGEgb3JnYW5pemFjacOzbiBhY3RpdmEnLFxuICAgIHN5c3RlbVJvbGVzVGl0bGU6ICdSb2xlcyBkZWwgc2lzdGVtYScsXG4gICAgc3lzdGVtUm9sZXNIaW50OiAnUHJlZGVmaW5pZG9zIHBvciBsYSBwbGF0YWZvcm1hLiBObyBlZGl0YWJsZXMuJyxcbiAgICBjdXN0b21Sb2xlc1RpdGxlOiAnUm9sZXMgcGVyc29uYWxpemFkb3MnLFxuICAgIGN1c3RvbVJvbGVzSGludDogJ0RlZmluaWRvcyBwb3IgdHUgb3JnYW5pemFjacOzbi4nLFxuICAgIHN5c3RlbUJhZGdlOiAnU2lzdGVtYScsXG4gICAgbm9DdXN0b21Sb2xlczogJ0VzdGEgb3JnYW5pemFjacOzbiBubyB0aWVuZSByb2xlcyBwZXJzb25hbGl6YWRvcy4nLFxuICAgIG5vUGVybWlzc2lvbnM6ICdTaW4gcGVybWlzb3MgYXNpZ25hZG9zLicsXG4gICAgLy8gR3J1cG9zIGRlIGFsY2FuY2VcbiAgICBncm91cEFwcDogJ1Blcm1pc29zIGRlIGxhIGFwcCcsXG4gICAgZ3JvdXBPcmc6ICdQZXJtaXNvcyBkZSBsYSBvcmdhbml6YWNpw7NuJyxcbiAgICBncm91cFBsYXRmb3JtOiAnUGVybWlzb3MgZGUgcGxhdGFmb3JtYScsXG4gICAgZ3JvdXBPdGhlcjogJ090cmFzIGFwcHMnLFxuICAgIC8vIFJvbGVzIGRlbCBzaXN0ZW1hXG4gICAgcm9sZVZpZXdlcjogJ1Zpc29yJyxcbiAgICByb2xlRWRpdG9yOiAnRWRpdG9yJyxcbiAgICByb2xlQWRtaW46ICdBZG1pbmlzdHJhZG9yJyxcbiAgICByb2xlU3VwZXJBZG1pbjogJ1N1cGVyIEFkbWluaXN0cmFkb3InLFxuICAgIHJvbGVCaW5nb0FkbWluOiAnQmluZ28gwrcgQWRtaW5pc3RyYWRvcicsXG4gICAgcm9sZUJpbmdvVGVzb3Jlcm86ICdCaW5nbyDCtyBUZXNvcmVybycsXG4gICAgcm9sZUJpbmdvVGFxdWlsbGE6ICdCaW5nbyDCtyBUYXF1aWxsYScsXG4gICAgcm9sZUJpbmdvT3BlcmF0b3I6ICdCaW5nbyDCtyBPcGVyYWRvcicsXG4gICAgLy8gQXBwc1xuICAgIGFwcF9zaG93Y2FzZTogJ1Nob3djYXNlJyxcbiAgICBhcHBfYmluZ286ICdCaW5nbycsXG4gICAgLy8gUmVjdXJzb3NcbiAgICBwZXJtVXNlcnM6ICdVc3VhcmlvcycsXG4gICAgcGVybVJvbGVzOiAnUm9sZXMnLFxuICAgIHBlcm1SYmFjOiAnQ29udHJvbCBkZSBhY2Nlc28nLFxuICAgIHBlcm1BcHBzOiAnQXBwcycsXG4gICAgJ3Blcm1BcGkta2V5cyc6ICdBUEkga2V5cycsXG4gICAgJ3Blcm1FbWFpbC1sb2dzJzogJ0xvZ3MgZGUgY29ycmVvJyxcbiAgICAncGVybVNtcy1sb2dzJzogJ0xvZ3MgZGUgU01TJyxcbiAgICBwZXJtRG9jdW1lbnRzOiAnRG9jdW1lbnRvcycsXG4gICAgcGVybU1lZGlhOiAnTWVkaWEnLFxuICAgIHBlcm1UZW1wbGF0ZXM6ICdQbGFudGlsbGFzJyxcbiAgICBwZXJtUmVxdWVzdHM6ICdTb2xpY2l0dWRlcycsXG4gICAgcGVybUJpbmdvOiAnQmluZ28nLFxuICAgIC8vIEFjY2lvbmVzXG4gICAgcGVybVJlYWQ6ICdMZWVyJyxcbiAgICBwZXJtV3JpdGU6ICdFc2NyaWJpcicsXG4gICAgcGVybUNyZWF0ZTogJ0NyZWFyJyxcbiAgICBwZXJtRGVsZXRlOiAnRWxpbWluYXInLFxuICAgIHBlcm1NYW5hZ2U6ICdHZXN0aW9uYXInLFxuICAgIHBlcm1FZGl0OiAnRWRpdGFyJyxcbiAgICBwZXJtU2VsbDogJ1ZlbmRlcicsXG4gICAgcGVybUNoZWNraW46ICdDYW5qZWFyJyxcbiAgICBwZXJtU2V0dGxlOiAnUmVuZGlyJyxcbiAgICBwZXJtRXhwb3J0OiAnRXhwb3J0YXInLFxuICAgIHBlcm1PcGVyYXRlOiAnT3BlcmFyJyxcbiAgICBwZXJtQWxsOiAnVG9kbycsXG4gICAgLy8gTG9hZGluZyAvIGVycm9yXG4gICAgZXJyb3JUaXRsZTogJ0Vycm9yIGFsIGNhcmdhciBwZXJtaXNvcycsXG4gICAgcmV0cnk6ICdSZWludGVudGFyJyxcbiAgfSxcbiAgZW46IHtcbiAgICBwYWdlVGl0bGU6ICdQZXJtaXNzaW9ucycsXG4gICAgcGFnZURlc2NyaXB0aW9uOiAnUm9sZXMgYW5kIHBlcm1pc3Npb25zIG9mIHRoaXMgYXBwIGluIHRoZSBhY3RpdmUgb3JnYW5pemF0aW9uJyxcbiAgICBzeXN0ZW1Sb2xlc1RpdGxlOiAnU3lzdGVtIHJvbGVzJyxcbiAgICBzeXN0ZW1Sb2xlc0hpbnQ6ICdEZWZpbmVkIGJ5IHRoZSBwbGF0Zm9ybS4gTm90IGVkaXRhYmxlLicsXG4gICAgY3VzdG9tUm9sZXNUaXRsZTogJ0N1c3RvbSByb2xlcycsXG4gICAgY3VzdG9tUm9sZXNIaW50OiAnRGVmaW5lZCBieSB5b3VyIG9yZ2FuaXphdGlvbi4nLFxuICAgIHN5c3RlbUJhZGdlOiAnU3lzdGVtJyxcbiAgICBub0N1c3RvbVJvbGVzOiAnVGhpcyBvcmdhbml6YXRpb24gaGFzIG5vIGN1c3RvbSByb2xlcy4nLFxuICAgIG5vUGVybWlzc2lvbnM6ICdObyBwZXJtaXNzaW9ucyBhc3NpZ25lZC4nLFxuICAgIGdyb3VwQXBwOiAnQXBwIHBlcm1pc3Npb25zJyxcbiAgICBncm91cE9yZzogJ09yZ2FuaXphdGlvbiBwZXJtaXNzaW9ucycsXG4gICAgZ3JvdXBQbGF0Zm9ybTogJ1BsYXRmb3JtIHBlcm1pc3Npb25zJyxcbiAgICBncm91cE90aGVyOiAnT3RoZXIgYXBwcycsXG4gICAgcm9sZVZpZXdlcjogJ1ZpZXdlcicsXG4gICAgcm9sZUVkaXRvcjogJ0VkaXRvcicsXG4gICAgcm9sZUFkbWluOiAnQWRtaW5pc3RyYXRvcicsXG4gICAgcm9sZVN1cGVyQWRtaW46ICdTdXBlciBBZG1pbmlzdHJhdG9yJyxcbiAgICByb2xlQmluZ29BZG1pbjogJ0JpbmdvIMK3IEFkbWluaXN0cmF0b3InLFxuICAgIHJvbGVCaW5nb1Rlc29yZXJvOiAnQmluZ28gwrcgVHJlYXN1cmVyJyxcbiAgICByb2xlQmluZ29UYXF1aWxsYTogJ0JpbmdvIMK3IEJveCBvZmZpY2UnLFxuICAgIHJvbGVCaW5nb09wZXJhdG9yOiAnQmluZ28gwrcgT3BlcmF0b3InLFxuICAgIGFwcF9zaG93Y2FzZTogJ1Nob3djYXNlJyxcbiAgICBhcHBfYmluZ286ICdCaW5nbycsXG4gICAgcGVybVVzZXJzOiAnVXNlcnMnLFxuICAgIHBlcm1Sb2xlczogJ1JvbGVzJyxcbiAgICBwZXJtUmJhYzogJ0FjY2VzcyBjb250cm9sJyxcbiAgICBwZXJtQXBwczogJ0FwcHMnLFxuICAgICdwZXJtQXBpLWtleXMnOiAnQVBJIGtleXMnLFxuICAgICdwZXJtRW1haWwtbG9ncyc6ICdFbWFpbCBsb2dzJyxcbiAgICAncGVybVNtcy1sb2dzJzogJ1NNUyBsb2dzJyxcbiAgICBwZXJtRG9jdW1lbnRzOiAnRG9jdW1lbnRzJyxcbiAgICBwZXJtTWVkaWE6ICdNZWRpYScsXG4gICAgcGVybVRlbXBsYXRlczogJ1RlbXBsYXRlcycsXG4gICAgcGVybVJlcXVlc3RzOiAnUmVxdWVzdHMnLFxuICAgIHBlcm1CaW5nbzogJ0JpbmdvJyxcbiAgICBwZXJtUmVhZDogJ1JlYWQnLFxuICAgIHBlcm1Xcml0ZTogJ1dyaXRlJyxcbiAgICBwZXJtQ3JlYXRlOiAnQ3JlYXRlJyxcbiAgICBwZXJtRGVsZXRlOiAnRGVsZXRlJyxcbiAgICBwZXJtTWFuYWdlOiAnTWFuYWdlJyxcbiAgICBwZXJtRWRpdDogJ0VkaXQnLFxuICAgIHBlcm1TZWxsOiAnU2VsbCcsXG4gICAgcGVybUNoZWNraW46ICdDaGVjay1pbicsXG4gICAgcGVybVNldHRsZTogJ1NldHRsZScsXG4gICAgcGVybUV4cG9ydDogJ0V4cG9ydCcsXG4gICAgcGVybU9wZXJhdGU6ICdPcGVyYXRlJyxcbiAgICBwZXJtQWxsOiAnQWxsJyxcbiAgICBlcnJvclRpdGxlOiAnRXJyb3IgbG9hZGluZyBwZXJtaXNzaW9ucycsXG4gICAgcmV0cnk6ICdSZXRyeScsXG4gIH0sXG59O1xuIl19
@@ -3,19 +3,16 @@ import { provideValtechPreferencesRoutes } from '../preferences-view/preferences
3
3
  import { provideValtechSecurityRoutes } from '../security-view/security.routes';
4
4
  import { provideValtechAccountRoutes } from '../account-view/account.routes';
5
5
  import { provideValtechOrganizationRoutes } from '../organization-view/organization.routes';
6
- import { provideValtechNotificationPreferencesRoutes } from '../notification-preferences-view/notification-preferences.routes';
7
- import { provideValtechPermissionsRoutes } from '../permissions-view/permissions.routes';
8
6
  import { SettingsHubComponent } from './settings-hub.component';
9
7
  /**
10
8
  * Helper para montar el bloque completo de Settings en una app del factory: el
11
- * HUB de navegación (`val-settings-hub`) + TODAS las vistas promovidas (Perfil,
12
- * Preferencias, Seguridad, Cuenta, Gestión org, Preferencias de notificaciones,
13
- * Permisos) + las rutas propias de la app (`extraRoutes`). Cada `include*` permite
14
- * apagar una sección; `hubPath`/`indexRedirectTo`/`*Path` permiten reubicar el hub
15
- * y las vistas para preservar URLs existentes.
9
+ * HUB de navegación (`val-settings-hub`) en el index + las vistas promovidas
10
+ * (Perfil, Preferencias) + las rutas propias de la app (`extraRoutes`).
16
11
  *
17
- * showcase lo consume (ver `settings.routes.ts` de showcase): hub en `preferences`,
18
- * preferences-view en `general`, index→redirect, `organization/new` por `extraRoutes`.
12
+ * Pensado para apps nuevas (greenfield) que adoptan el set entero. showcase NO
13
+ * lo usa hoy (preserva su `settings.routes.ts` por la semántica de sus muchas
14
+ * secciones no promovidas — ver guía de promoción), pero el provider debe
15
+ * existir y compilar para el resto de apps.
19
16
  *
20
17
  * @example
21
18
  * ```ts
@@ -39,23 +36,17 @@ import { SettingsHubComponent } from './settings-hub.component';
39
36
  */
40
37
  export function provideValtechSettingsRoutes(opts) {
41
38
  const basePath = opts?.basePath ?? 'settings';
42
- const hubPath = opts?.hubPath ?? '';
43
39
  const includeProfile = opts?.includeProfile ?? true;
44
40
  const includePreferences = opts?.includePreferences ?? true;
45
41
  const includeSecurity = opts?.includeSecurity ?? true;
46
42
  const includeAccount = opts?.includeAccount ?? true;
47
43
  const includeOrganization = opts?.includeOrganization ?? true;
48
- const includeNotificationPreferences = opts?.includeNotificationPreferences ?? true;
49
- const includePermissions = opts?.includePermissions ?? true;
50
44
  return [
51
45
  {
52
46
  path: basePath,
53
47
  children: [
54
- ...(opts?.indexRedirectTo
55
- ? [{ path: '', redirectTo: opts.indexRedirectTo, pathMatch: 'full' }]
56
- : []),
57
48
  {
58
- path: hubPath,
49
+ path: '',
59
50
  component: SettingsHubComponent,
60
51
  data: { settingsHubConfig: opts?.hubConfig },
61
52
  },
@@ -71,18 +62,9 @@ export function provideValtechSettingsRoutes(opts) {
71
62
  ...(includeOrganization
72
63
  ? provideValtechOrganizationRoutes({ config: opts?.organizationConfig })
73
64
  : []),
74
- ...(includeNotificationPreferences
75
- ? provideValtechNotificationPreferencesRoutes({
76
- path: opts?.notificationPreferencesPath ?? 'notifications',
77
- config: opts?.notificationPreferencesConfig,
78
- })
79
- : []),
80
- ...(includePermissions
81
- ? provideValtechPermissionsRoutes({ config: opts?.permissionsConfig })
82
- : []),
83
65
  ...(opts?.extraRoutes ?? []),
84
66
  ],
85
67
  },
86
68
  ];
87
69
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9zZXR0aW5ncy1odWIvc2V0dGluZ3Mucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTVGLE9BQU8sRUFBRSwyQ0FBMkMsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBRS9ILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBR3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBOERoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFDLElBQW1DO0lBQzlFLE1BQU0sUUFBUSxHQUFHLElBQUksRUFBRSxRQUFRLElBQUksVUFBVSxDQUFDO0lBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ3BDLE1BQU0sY0FBYyxHQUFHLElBQUksRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQztJQUM1RCxNQUFNLGVBQWUsR0FBRyxJQUFJLEVBQUUsZUFBZSxJQUFJLElBQUksQ0FBQztJQUN0RCxNQUFNLGNBQWMsR0FBRyxJQUFJLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQztJQUNwRCxNQUFNLG1CQUFtQixHQUFHLElBQUksRUFBRSxtQkFBbUIsSUFBSSxJQUFJLENBQUM7SUFDOUQsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLEVBQUUsOEJBQThCLElBQUksSUFBSSxDQUFDO0lBQ3BGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQztJQUU1RCxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDUixHQUFHLENBQUMsSUFBSSxFQUFFLGVBQWU7b0JBQ3ZCLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBZSxFQUFFLENBQUM7b0JBQzlFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1A7b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsU0FBUyxFQUFFLG9CQUFvQjtvQkFDL0IsSUFBSSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtpQkFDN0M7Z0JBQ0QsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkYsR0FBRyxDQUFDLGtCQUFrQjtvQkFDcEIsQ0FBQyxDQUFDLCtCQUErQixDQUFDO3dCQUM5QixJQUFJLEVBQUUsSUFBSSxFQUFFLGVBQWUsSUFBSSxhQUFhO3dCQUM1QyxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQjtxQkFDaEMsQ0FBQztvQkFDSixDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFGLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZGLEdBQUcsQ0FBQyxtQkFBbUI7b0JBQ3JCLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztvQkFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxHQUFHLENBQUMsOEJBQThCO29CQUNoQyxDQUFDLENBQUMsMkNBQTJDLENBQUM7d0JBQzFDLElBQUksRUFBRSxJQUFJLEVBQUUsMkJBQTJCLElBQUksZUFBZTt3QkFDMUQsTUFBTSxFQUFFLElBQUksRUFBRSw2QkFBNkI7cUJBQzVDLENBQUM7b0JBQ0osQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxHQUFHLENBQUMsa0JBQWtCO29CQUNwQixDQUFDLENBQUMsK0JBQStCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUM7b0JBQ3RFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO2FBQzdCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoUHJvZmlsZVJvdXRlcyB9IGZyb20gJy4uL3Byb2ZpbGUtdmlldy9wcm9maWxlLnJvdXRlcyc7XG5pbXBvcnQgeyBQcm9maWxlVmlld0NvbmZpZyB9IGZyb20gJy4uL3Byb2ZpbGUtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFByZWZlcmVuY2VzUm91dGVzIH0gZnJvbSAnLi4vcHJlZmVyZW5jZXMtdmlldy9wcmVmZXJlbmNlcy5yb3V0ZXMnO1xuaW1wb3J0IHsgUHJlZmVyZW5jZXNWaWV3Q29uZmlnIH0gZnJvbSAnLi4vcHJlZmVyZW5jZXMtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzIH0gZnJvbSAnLi4vc2VjdXJpdHktdmlldy9zZWN1cml0eS5yb3V0ZXMnO1xuaW1wb3J0IHsgU2VjdXJpdHlWaWV3Q29uZmlnIH0gZnJvbSAnLi4vc2VjdXJpdHktdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaEFjY291bnRSb3V0ZXMgfSBmcm9tICcuLi9hY2NvdW50LXZpZXcvYWNjb3VudC5yb3V0ZXMnO1xuaW1wb3J0IHsgQWNjb3VudFZpZXdDb25maWcgfSBmcm9tICcuLi9hY2NvdW50LXZpZXcvdHlwZXMnO1xuaW1wb3J0IHsgcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXMgfSBmcm9tICcuLi9vcmdhbml6YXRpb24tdmlldy9vcmdhbml6YXRpb24ucm91dGVzJztcbmltcG9ydCB7IE9yZ2FuaXphdGlvblZpZXdDb25maWcgfSBmcm9tICcuLi9vcmdhbml6YXRpb24tdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUm91dGVzIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uLXByZWZlcmVuY2VzLXZpZXcvbm90aWZpY2F0aW9uLXByZWZlcmVuY2VzLnJvdXRlcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25QcmVmZXJlbmNlc1ZpZXdDb25maWcgfSBmcm9tICcuLi9ub3RpZmljYXRpb24tcHJlZmVyZW5jZXMtdmlldy90eXBlcyc7XG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFBlcm1pc3Npb25zUm91dGVzIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMtdmlldy9wZXJtaXNzaW9ucy5yb3V0ZXMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnNWaWV3Q29uZmlnIH0gZnJvbSAnLi4vcGVybWlzc2lvbnMtdmlldy90eXBlcyc7XG5cbmltcG9ydCB7IFNldHRpbmdzSHViQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5ncy1odWIuY29tcG9uZW50JztcbmltcG9ydCB7IFNldHRpbmdzSHViQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogT3BjaW9uZXMgZGUgYHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXNgLiBBZ3J1cGEgZWwgSFVCIChgdmFsLXNldHRpbmdzLWh1YmApXG4gKiBjb24gbGFzIHZpc3RhcyB5YSBwcm9tb3ZpZGFzIChQZXJmaWwgKyBQcmVmZXJlbmNpYXMpIGJham8gdW4gw7puaWNvIGBwYXRoYFxuICogYmFzZSwgeSBkZWphIGBleHRyYVJvdXRlc2AgcGFyYSBsYXMgc2VjY2lvbmVzIGRlIGxhIGFwcCBhw7puIG5vIHByb21vdmlkYXNcbiAqIChzZWN1cml0eSwgYWNjb3VudCwgbm90aWZpY2F0aW9ucywgb3JnYW5pemF0aW9uLCDigKYpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hTZXR0aW5nc1JvdXRlc09wdGlvbnMge1xuICAvKiogUGF0aCBiYXNlIGRlbCBibG9xdWUgZGUgc2V0dGluZ3MuIERlZmF1bHQgYCdzZXR0aW5ncydgLiAqL1xuICBiYXNlUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhdGggZG9uZGUgc2UgbW9udGEgZWwgSFVCIGRlbnRybyBkZWwgYmxvcXVlLiBEZWZhdWx0IGAnJ2AgKMOtbmRpY2UpLiBQYXJhXG4gICAqIGFwcHMgcXVlIHF1aWVyZW4gZWwgaHViIGVuIHVuYSBzdWItcnV0YSAoZWouIHNob3djYXNlIGxvIHRpZW5lIGVuXG4gICAqIGBwcmVmZXJlbmNlc2ApLCBzZXRlYXIgZXN0byArIGBpbmRleFJlZGlyZWN0VG9gLlxuICAgKi9cbiAgaHViUGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNpIHNlIHNldGVhLCBhZ3JlZ2EgYHsgcGF0aDogJycsIHJlZGlyZWN0VG8sIHBhdGhNYXRjaDogJ2Z1bGwnIH1gIGFsIMOtbmRpY2UuXG4gICAqIFBlbnNhZG8gcGFyYSBjdWFuZG8gYGh1YlBhdGhgIE5PIGVzIGAnJ2AgKGVsIMOtbmRpY2UgcXVlZGEgbGlicmUgeSBzZSByZWRpcmlnZVxuICAgKiBhbCBodWIgdSBvdHJhIHNlY2Npw7NuKS4gTm8gdXNhciBqdW50byBjb24gYGh1YlBhdGg6ICcnYCAoY29saXNpb25hcsOtYW4pLlxuICAgKi9cbiAgaW5kZXhSZWRpcmVjdFRvPzogc3RyaW5nO1xuICAvKiogQ29uZmlnIGRlbCBIVUIgKHBhc2FkYSBwb3Igcm91dGUgZGF0YSBgc2V0dGluZ3NIdWJDb25maWdgKS4gKi9cbiAgaHViQ29uZmlnPzogU2V0dGluZ3NIdWJDb25maWc7XG4gIC8qKiBDb25maWcgZGUgbGEgdmlzdGEgUGVyZmlsIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hQcm9maWxlUm91dGVzYCkuICovXG4gIHByb2ZpbGVDb25maWc/OiBQcm9maWxlVmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBsYSB2aXN0YSBQcmVmZXJlbmNpYXMgKHBhc3MtdGhyb3VnaCBhIGBwcm92aWRlVmFsdGVjaFByZWZlcmVuY2VzUm91dGVzYCkuICovXG4gIHByZWZlcmVuY2VzQ29uZmlnPzogUHJlZmVyZW5jZXNWaWV3Q29uZmlnO1xuICAvKiogQ29uZmlnIGRlIGxhIHZpc3RhIFNlZ3VyaWRhZCAocGFzcy10aHJvdWdoIGEgYHByb3ZpZGVWYWx0ZWNoU2VjdXJpdHlSb3V0ZXNgKS4gKi9cbiAgc2VjdXJpdHlDb25maWc/OiBTZWN1cml0eVZpZXdDb25maWc7XG4gIC8qKiBDb25maWcgZGUgbGEgdmlzdGEgQ3VlbnRhIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzYCkuICovXG4gIGFjY291bnRDb25maWc/OiBBY2NvdW50Vmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBsYSB2aXN0YSBHZXN0acOzbiBkZSBvcmdhbml6YWNpw7NuIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXNgKS4gKi9cbiAgb3JnYW5pemF0aW9uQ29uZmlnPzogT3JnYW5pemF0aW9uVmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBQcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMgcHVzaCAocGFzcy10aHJvdWdoKS4gKi9cbiAgbm90aWZpY2F0aW9uUHJlZmVyZW5jZXNDb25maWc/OiBOb3RpZmljYXRpb25QcmVmZXJlbmNlc1ZpZXdDb25maWc7XG4gIC8qKiBDb25maWcgZGVsIHZpc29yIGRlIFBlcm1pc29zIChwYXNzLXRocm91Z2gpLiAqL1xuICBwZXJtaXNzaW9uc0NvbmZpZz86IFBlcm1pc3Npb25zVmlld0NvbmZpZztcbiAgLyoqIE1vbnRhIGxhIHJ1dGEgYHByb2ZpbGVgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZVByb2ZpbGU/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBkZSBwcmVmZXJlbmNpYXMuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlUHJlZmVyZW5jZXM/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBgc2VjdXJpdHlgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZVNlY3VyaXR5PzogYm9vbGVhbjtcbiAgLyoqIE1vbnRhIGxhIHJ1dGEgYGFjY291bnRgLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZUFjY291bnQ/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBgb3JnYW5pemF0aW9uYC4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIGluY2x1ZGVPcmdhbml6YXRpb24/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBkZSBwcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMgcHVzaC4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIGluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcz86IGJvb2xlYW47XG4gIC8qKiBNb250YSBsYSBydXRhIGBwZXJtaXNzaW9uc2AuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlUGVybWlzc2lvbnM/OiBib29sZWFuO1xuICAvKiogUGF0aCBkZSBsYSB2aXN0YSBQcmVmZXJlbmNpYXMuIERlZmF1bHQgYCdwcmVmZXJlbmNlcydgLiAqL1xuICBwcmVmZXJlbmNlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBQYXRoIGRlIGxhIHZpc3RhIFByZWZlcmVuY2lhcyBkZSBub3RpZmljYWNpb25lcyBwdXNoLiBEZWZhdWx0IGAnbm90aWZpY2F0aW9ucydgLiAqL1xuICBub3RpZmljYXRpb25QcmVmZXJlbmNlc1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBSdXRhcyBleHRyYSBhIHN1bWFyIGNvbW8gaGlqYXMgKHNlY2Npb25lcyBkZSBsYSBhcHAgbm8gcHJvbW92aWRhcykuICovXG4gIGV4dHJhUm91dGVzPzogUm91dGVzO1xufVxuXG4vKipcbiAqIEhlbHBlciBwYXJhIG1vbnRhciBlbCBibG9xdWUgY29tcGxldG8gZGUgU2V0dGluZ3MgZW4gdW5hIGFwcCBkZWwgZmFjdG9yeTogZWxcbiAqIEhVQiBkZSBuYXZlZ2FjacOzbiAoYHZhbC1zZXR0aW5ncy1odWJgKSArIFRPREFTIGxhcyB2aXN0YXMgcHJvbW92aWRhcyAoUGVyZmlsLFxuICogUHJlZmVyZW5jaWFzLCBTZWd1cmlkYWQsIEN1ZW50YSwgR2VzdGnDs24gb3JnLCBQcmVmZXJlbmNpYXMgZGUgbm90aWZpY2FjaW9uZXMsXG4gKiBQZXJtaXNvcykgKyBsYXMgcnV0YXMgcHJvcGlhcyBkZSBsYSBhcHAgKGBleHRyYVJvdXRlc2ApLiBDYWRhIGBpbmNsdWRlKmAgcGVybWl0ZVxuICogYXBhZ2FyIHVuYSBzZWNjacOzbjsgYGh1YlBhdGhgL2BpbmRleFJlZGlyZWN0VG9gL2AqUGF0aGAgcGVybWl0ZW4gcmV1YmljYXIgZWwgaHViXG4gKiB5IGxhcyB2aXN0YXMgcGFyYSBwcmVzZXJ2YXIgVVJMcyBleGlzdGVudGVzLlxuICpcbiAqIHNob3djYXNlIGxvIGNvbnN1bWUgKHZlciBgc2V0dGluZ3Mucm91dGVzLnRzYCBkZSBzaG93Y2FzZSk6IGh1YiBlbiBgcHJlZmVyZW5jZXNgLFxuICogcHJlZmVyZW5jZXMtdmlldyBlbiBgZ2VuZXJhbGAsIGluZGV44oaScmVkaXJlY3QsIGBvcmdhbml6YXRpb24vbmV3YCBwb3IgYGV4dHJhUm91dGVzYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIC8vIGFwcC5yb3V0ZXMudHNcbiAqIGltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXMgfSBmcm9tICd2YWx0ZWNoLWNvbXBvbmVudHMnO1xuICpcbiAqIGV4cG9ydCBjb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAqICAge1xuICogICAgIHBhdGg6ICdhcHAnLFxuICogICAgIGNoaWxkcmVuOiBbXG4gKiAgICAgICAuLi5wcm92aWRlVmFsdGVjaFNldHRpbmdzUm91dGVzKHtcbiAqICAgICAgICAgaHViQ29uZmlnOiB7IG9uTG9nb3V0OiAoKSA9PiBhdXRoLmxvZ291dFdpdGhDb25maXJtYXRpb24oKSB9LFxuICogICAgICAgICBleHRyYVJvdXRlczogW1xuICogICAgICAgICAgIHsgcGF0aDogJ3NlY3VyaXR5JywgbG9hZENvbXBvbmVudDogKCkgPT4gLi4uIH0sXG4gKiAgICAgICAgIF0sXG4gKiAgICAgICB9KSxcbiAqICAgICBdLFxuICogICB9LFxuICogXTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVZhbHRlY2hTZXR0aW5nc1JvdXRlcyhvcHRzPzogVmFsdGVjaFNldHRpbmdzUm91dGVzT3B0aW9ucyk6IFJvdXRlcyB7XG4gIGNvbnN0IGJhc2VQYXRoID0gb3B0cz8uYmFzZVBhdGggPz8gJ3NldHRpbmdzJztcbiAgY29uc3QgaHViUGF0aCA9IG9wdHM/Lmh1YlBhdGggPz8gJyc7XG4gIGNvbnN0IGluY2x1ZGVQcm9maWxlID0gb3B0cz8uaW5jbHVkZVByb2ZpbGUgPz8gdHJ1ZTtcbiAgY29uc3QgaW5jbHVkZVByZWZlcmVuY2VzID0gb3B0cz8uaW5jbHVkZVByZWZlcmVuY2VzID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVTZWN1cml0eSA9IG9wdHM/LmluY2x1ZGVTZWN1cml0eSA/PyB0cnVlO1xuICBjb25zdCBpbmNsdWRlQWNjb3VudCA9IG9wdHM/LmluY2x1ZGVBY2NvdW50ID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVPcmdhbml6YXRpb24gPSBvcHRzPy5pbmNsdWRlT3JnYW5pemF0aW9uID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcyA9IG9wdHM/LmluY2x1ZGVOb3RpZmljYXRpb25QcmVmZXJlbmNlcyA/PyB0cnVlO1xuICBjb25zdCBpbmNsdWRlUGVybWlzc2lvbnMgPSBvcHRzPy5pbmNsdWRlUGVybWlzc2lvbnMgPz8gdHJ1ZTtcblxuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHBhdGg6IGJhc2VQYXRoLFxuICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgLi4uKG9wdHM/LmluZGV4UmVkaXJlY3RUb1xuICAgICAgICAgID8gW3sgcGF0aDogJycsIHJlZGlyZWN0VG86IG9wdHMuaW5kZXhSZWRpcmVjdFRvLCBwYXRoTWF0Y2g6ICdmdWxsJyBhcyBjb25zdCB9XVxuICAgICAgICAgIDogW10pLFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogaHViUGF0aCxcbiAgICAgICAgICBjb21wb25lbnQ6IFNldHRpbmdzSHViQ29tcG9uZW50LFxuICAgICAgICAgIGRhdGE6IHsgc2V0dGluZ3NIdWJDb25maWc6IG9wdHM/Lmh1YkNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICAuLi4oaW5jbHVkZVByb2ZpbGUgPyBwcm92aWRlVmFsdGVjaFByb2ZpbGVSb3V0ZXMoeyBjb25maWc6IG9wdHM/LnByb2ZpbGVDb25maWcgfSkgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlUHJlZmVyZW5jZXNcbiAgICAgICAgICA/IHByb3ZpZGVWYWx0ZWNoUHJlZmVyZW5jZXNSb3V0ZXMoe1xuICAgICAgICAgICAgICBwYXRoOiBvcHRzPy5wcmVmZXJlbmNlc1BhdGggPz8gJ3ByZWZlcmVuY2VzJyxcbiAgICAgICAgICAgICAgY29uZmlnOiBvcHRzPy5wcmVmZXJlbmNlc0NvbmZpZyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlU2VjdXJpdHkgPyBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzKHsgY29uZmlnOiBvcHRzPy5zZWN1cml0eUNvbmZpZyB9KSA6IFtdKSxcbiAgICAgICAgLi4uKGluY2x1ZGVBY2NvdW50ID8gcHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzKHsgY29uZmlnOiBvcHRzPy5hY2NvdW50Q29uZmlnIH0pIDogW10pLFxuICAgICAgICAuLi4oaW5jbHVkZU9yZ2FuaXphdGlvblxuICAgICAgICAgID8gcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXMoeyBjb25maWc6IG9wdHM/Lm9yZ2FuaXphdGlvbkNvbmZpZyB9KVxuICAgICAgICAgIDogW10pLFxuICAgICAgICAuLi4oaW5jbHVkZU5vdGlmaWNhdGlvblByZWZlcmVuY2VzXG4gICAgICAgICAgPyBwcm92aWRlVmFsdGVjaE5vdGlmaWNhdGlvblByZWZlcmVuY2VzUm91dGVzKHtcbiAgICAgICAgICAgICAgcGF0aDogb3B0cz8ubm90aWZpY2F0aW9uUHJlZmVyZW5jZXNQYXRoID8/ICdub3RpZmljYXRpb25zJyxcbiAgICAgICAgICAgICAgY29uZmlnOiBvcHRzPy5ub3RpZmljYXRpb25QcmVmZXJlbmNlc0NvbmZpZyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlUGVybWlzc2lvbnNcbiAgICAgICAgICA/IHByb3ZpZGVWYWx0ZWNoUGVybWlzc2lvbnNSb3V0ZXMoeyBjb25maWc6IG9wdHM/LnBlcm1pc3Npb25zQ29uZmlnIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihvcHRzPy5leHRyYVJvdXRlcyA/PyBbXSksXG4gICAgICBdLFxuICAgIH0sXG4gIF07XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Mucm91dGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9zZXR0aW5ncy1odWIvc2V0dGluZ3Mucm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWhGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRzVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBd0NoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsSUFBbUM7SUFDOUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLFFBQVEsSUFBSSxVQUFVLENBQUM7SUFDOUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxFQUFFLGNBQWMsSUFBSSxJQUFJLENBQUM7SUFDcEQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEVBQUUsa0JBQWtCLElBQUksSUFBSSxDQUFDO0lBQzVELE1BQU0sZUFBZSxHQUFHLElBQUksRUFBRSxlQUFlLElBQUksSUFBSSxDQUFDO0lBQ3RELE1BQU0sY0FBYyxHQUFHLElBQUksRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDO0lBQ3BELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQztJQUU5RCxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsUUFBUTtZQUNkLFFBQVEsRUFBRTtnQkFDUjtvQkFDRSxJQUFJLEVBQUUsRUFBRTtvQkFDUixTQUFTLEVBQUUsb0JBQW9CO29CQUMvQixJQUFJLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO2lCQUM3QztnQkFDRCxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN2RixHQUFHLENBQUMsa0JBQWtCO29CQUNwQixDQUFDLENBQUMsK0JBQStCLENBQUM7d0JBQzlCLElBQUksRUFBRSxJQUFJLEVBQUUsZUFBZSxJQUFJLGFBQWE7d0JBQzVDLE1BQU0sRUFBRSxJQUFJLEVBQUUsaUJBQWlCO3FCQUNoQyxDQUFDO29CQUNKLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ1AsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDMUYsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDdkYsR0FBRyxDQUFDLG1CQUFtQjtvQkFDckIsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDO29CQUN4RSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNQLEdBQUcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQzthQUM3QjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBwcm92aWRlVmFsdGVjaFByb2ZpbGVSb3V0ZXMgfSBmcm9tICcuLi9wcm9maWxlLXZpZXcvcHJvZmlsZS5yb3V0ZXMnO1xuaW1wb3J0IHsgUHJvZmlsZVZpZXdDb25maWcgfSBmcm9tICcuLi9wcm9maWxlLXZpZXcvdHlwZXMnO1xuaW1wb3J0IHsgcHJvdmlkZVZhbHRlY2hQcmVmZXJlbmNlc1JvdXRlcyB9IGZyb20gJy4uL3ByZWZlcmVuY2VzLXZpZXcvcHJlZmVyZW5jZXMucm91dGVzJztcbmltcG9ydCB7IFByZWZlcmVuY2VzVmlld0NvbmZpZyB9IGZyb20gJy4uL3ByZWZlcmVuY2VzLXZpZXcvdHlwZXMnO1xuaW1wb3J0IHsgcHJvdmlkZVZhbHRlY2hTZWN1cml0eVJvdXRlcyB9IGZyb20gJy4uL3NlY3VyaXR5LXZpZXcvc2VjdXJpdHkucm91dGVzJztcbmltcG9ydCB7IFNlY3VyaXR5Vmlld0NvbmZpZyB9IGZyb20gJy4uL3NlY3VyaXR5LXZpZXcvdHlwZXMnO1xuaW1wb3J0IHsgcHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzIH0gZnJvbSAnLi4vYWNjb3VudC12aWV3L2FjY291bnQucm91dGVzJztcbmltcG9ydCB7IEFjY291bnRWaWV3Q29uZmlnIH0gZnJvbSAnLi4vYWNjb3VudC12aWV3L3R5cGVzJztcbmltcG9ydCB7IHByb3ZpZGVWYWx0ZWNoT3JnYW5pemF0aW9uUm91dGVzIH0gZnJvbSAnLi4vb3JnYW5pemF0aW9uLXZpZXcvb3JnYW5pemF0aW9uLnJvdXRlcyc7XG5pbXBvcnQgeyBPcmdhbml6YXRpb25WaWV3Q29uZmlnIH0gZnJvbSAnLi4vb3JnYW5pemF0aW9uLXZpZXcvdHlwZXMnO1xuXG5pbXBvcnQgeyBTZXR0aW5nc0h1YkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZ3MtaHViLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZXR0aW5nc0h1YkNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIE9wY2lvbmVzIGRlIGBwcm92aWRlVmFsdGVjaFNldHRpbmdzUm91dGVzYC4gQWdydXBhIGVsIEhVQiAoYHZhbC1zZXR0aW5ncy1odWJgKVxuICogY29uIGxhcyB2aXN0YXMgeWEgcHJvbW92aWRhcyAoUGVyZmlsICsgUHJlZmVyZW5jaWFzKSBiYWpvIHVuIMO6bmljbyBgcGF0aGBcbiAqIGJhc2UsIHkgZGVqYSBgZXh0cmFSb3V0ZXNgIHBhcmEgbGFzIHNlY2Npb25lcyBkZSBsYSBhcHAgYcO6biBubyBwcm9tb3ZpZGFzXG4gKiAoc2VjdXJpdHksIGFjY291bnQsIG5vdGlmaWNhdGlvbnMsIG9yZ2FuaXphdGlvbiwg4oCmKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWx0ZWNoU2V0dGluZ3NSb3V0ZXNPcHRpb25zIHtcbiAgLyoqIFBhdGggYmFzZSBkZWwgYmxvcXVlIGRlIHNldHRpbmdzLiBEZWZhdWx0IGAnc2V0dGluZ3MnYC4gKi9cbiAgYmFzZVBhdGg/OiBzdHJpbmc7XG4gIC8qKiBDb25maWcgZGVsIEhVQiAocGFzYWRhIHBvciByb3V0ZSBkYXRhIGBzZXR0aW5nc0h1YkNvbmZpZ2ApLiAqL1xuICBodWJDb25maWc/OiBTZXR0aW5nc0h1YkNvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBsYSB2aXN0YSBQZXJmaWwgKHBhc3MtdGhyb3VnaCBhIGBwcm92aWRlVmFsdGVjaFByb2ZpbGVSb3V0ZXNgKS4gKi9cbiAgcHJvZmlsZUNvbmZpZz86IFByb2ZpbGVWaWV3Q29uZmlnO1xuICAvKiogQ29uZmlnIGRlIGxhIHZpc3RhIFByZWZlcmVuY2lhcyAocGFzcy10aHJvdWdoIGEgYHByb3ZpZGVWYWx0ZWNoUHJlZmVyZW5jZXNSb3V0ZXNgKS4gKi9cbiAgcHJlZmVyZW5jZXNDb25maWc/OiBQcmVmZXJlbmNlc1ZpZXdDb25maWc7XG4gIC8qKiBDb25maWcgZGUgbGEgdmlzdGEgU2VndXJpZGFkIChwYXNzLXRocm91Z2ggYSBgcHJvdmlkZVZhbHRlY2hTZWN1cml0eVJvdXRlc2ApLiAqL1xuICBzZWN1cml0eUNvbmZpZz86IFNlY3VyaXR5Vmlld0NvbmZpZztcbiAgLyoqIENvbmZpZyBkZSBsYSB2aXN0YSBDdWVudGEgKHBhc3MtdGhyb3VnaCBhIGBwcm92aWRlVmFsdGVjaEFjY291bnRSb3V0ZXNgKS4gKi9cbiAgYWNjb3VudENvbmZpZz86IEFjY291bnRWaWV3Q29uZmlnO1xuICAvKiogQ29uZmlnIGRlIGxhIHZpc3RhIEdlc3Rpw7NuIGRlIG9yZ2FuaXphY2nDs24gKHBhc3MtdGhyb3VnaCBhIGBwcm92aWRlVmFsdGVjaE9yZ2FuaXphdGlvblJvdXRlc2ApLiAqL1xuICBvcmdhbml6YXRpb25Db25maWc/OiBPcmdhbml6YXRpb25WaWV3Q29uZmlnO1xuICAvKiogTW9udGEgbGEgcnV0YSBgcHJvZmlsZWAuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlUHJvZmlsZT86IGJvb2xlYW47XG4gIC8qKiBNb250YSBsYSBydXRhIGRlIHByZWZlcmVuY2lhcy4gRGVmYXVsdCBgdHJ1ZWAuICovXG4gIGluY2x1ZGVQcmVmZXJlbmNlcz86IGJvb2xlYW47XG4gIC8qKiBNb250YSBsYSBydXRhIGBzZWN1cml0eWAuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlU2VjdXJpdHk/OiBib29sZWFuO1xuICAvKiogTW9udGEgbGEgcnV0YSBgYWNjb3VudGAuIERlZmF1bHQgYHRydWVgLiAqL1xuICBpbmNsdWRlQWNjb3VudD86IGJvb2xlYW47XG4gIC8qKiBNb250YSBsYSBydXRhIGBvcmdhbml6YXRpb25gLiBEZWZhdWx0IGB0cnVlYC4gKi9cbiAgaW5jbHVkZU9yZ2FuaXphdGlvbj86IGJvb2xlYW47XG4gIC8qKiBQYXRoIGRlIGxhIHZpc3RhIFByZWZlcmVuY2lhcy4gRGVmYXVsdCBgJ3ByZWZlcmVuY2VzJ2AuICovXG4gIHByZWZlcmVuY2VzUGF0aD86IHN0cmluZztcbiAgLyoqIFJ1dGFzIGV4dHJhIGEgc3VtYXIgY29tbyBoaWphcyAoc2VjY2lvbmVzIGRlIGxhIGFwcCBubyBwcm9tb3ZpZGFzKS4gKi9cbiAgZXh0cmFSb3V0ZXM/OiBSb3V0ZXM7XG59XG5cbi8qKlxuICogSGVscGVyIHBhcmEgbW9udGFyIGVsIGJsb3F1ZSBjb21wbGV0byBkZSBTZXR0aW5ncyBlbiB1bmEgYXBwIGRlbCBmYWN0b3J5OiBlbFxuICogSFVCIGRlIG5hdmVnYWNpw7NuIChgdmFsLXNldHRpbmdzLWh1YmApIGVuIGVsIGluZGV4ICsgbGFzIHZpc3RhcyBwcm9tb3ZpZGFzXG4gKiAoUGVyZmlsLCBQcmVmZXJlbmNpYXMpICsgbGFzIHJ1dGFzIHByb3BpYXMgZGUgbGEgYXBwIChgZXh0cmFSb3V0ZXNgKS5cbiAqXG4gKiBQZW5zYWRvIHBhcmEgYXBwcyBudWV2YXMgKGdyZWVuZmllbGQpIHF1ZSBhZG9wdGFuIGVsIHNldCBlbnRlcm8uIHNob3djYXNlIE5PXG4gKiBsbyB1c2EgaG95IChwcmVzZXJ2YSBzdSBgc2V0dGluZ3Mucm91dGVzLnRzYCBwb3IgbGEgc2Vtw6FudGljYSBkZSBzdXMgbXVjaGFzXG4gKiBzZWNjaW9uZXMgbm8gcHJvbW92aWRhcyDigJQgdmVyIGd1w61hIGRlIHByb21vY2nDs24pLCBwZXJvIGVsIHByb3ZpZGVyIGRlYmVcbiAqIGV4aXN0aXIgeSBjb21waWxhciBwYXJhIGVsIHJlc3RvIGRlIGFwcHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAvLyBhcHAucm91dGVzLnRzXG4gKiBpbXBvcnQgeyBwcm92aWRlVmFsdGVjaFNldHRpbmdzUm91dGVzIH0gZnJvbSAndmFsdGVjaC1jb21wb25lbnRzJztcbiAqXG4gKiBleHBvcnQgY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gKiAgIHtcbiAqICAgICBwYXRoOiAnYXBwJyxcbiAqICAgICBjaGlsZHJlbjogW1xuICogICAgICAgLi4ucHJvdmlkZVZhbHRlY2hTZXR0aW5nc1JvdXRlcyh7XG4gKiAgICAgICAgIGh1YkNvbmZpZzogeyBvbkxvZ291dDogKCkgPT4gYXV0aC5sb2dvdXRXaXRoQ29uZmlybWF0aW9uKCkgfSxcbiAqICAgICAgICAgZXh0cmFSb3V0ZXM6IFtcbiAqICAgICAgICAgICB7IHBhdGg6ICdzZWN1cml0eScsIGxvYWRDb21wb25lbnQ6ICgpID0+IC4uLiB9LFxuICogICAgICAgICBdLFxuICogICAgICAgfSksXG4gKiAgICAgXSxcbiAqICAgfSxcbiAqIF07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVWYWx0ZWNoU2V0dGluZ3NSb3V0ZXMob3B0cz86IFZhbHRlY2hTZXR0aW5nc1JvdXRlc09wdGlvbnMpOiBSb3V0ZXMge1xuICBjb25zdCBiYXNlUGF0aCA9IG9wdHM/LmJhc2VQYXRoID8/ICdzZXR0aW5ncyc7XG4gIGNvbnN0IGluY2x1ZGVQcm9maWxlID0gb3B0cz8uaW5jbHVkZVByb2ZpbGUgPz8gdHJ1ZTtcbiAgY29uc3QgaW5jbHVkZVByZWZlcmVuY2VzID0gb3B0cz8uaW5jbHVkZVByZWZlcmVuY2VzID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVTZWN1cml0eSA9IG9wdHM/LmluY2x1ZGVTZWN1cml0eSA/PyB0cnVlO1xuICBjb25zdCBpbmNsdWRlQWNjb3VudCA9IG9wdHM/LmluY2x1ZGVBY2NvdW50ID8/IHRydWU7XG4gIGNvbnN0IGluY2x1ZGVPcmdhbml6YXRpb24gPSBvcHRzPy5pbmNsdWRlT3JnYW5pemF0aW9uID8/IHRydWU7XG5cbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwYXRoOiBiYXNlUGF0aCxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiAnJyxcbiAgICAgICAgICBjb21wb25lbnQ6IFNldHRpbmdzSHViQ29tcG9uZW50LFxuICAgICAgICAgIGRhdGE6IHsgc2V0dGluZ3NIdWJDb25maWc6IG9wdHM/Lmh1YkNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICAuLi4oaW5jbHVkZVByb2ZpbGUgPyBwcm92aWRlVmFsdGVjaFByb2ZpbGVSb3V0ZXMoeyBjb25maWc6IG9wdHM/LnByb2ZpbGVDb25maWcgfSkgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlUHJlZmVyZW5jZXNcbiAgICAgICAgICA/IHByb3ZpZGVWYWx0ZWNoUHJlZmVyZW5jZXNSb3V0ZXMoe1xuICAgICAgICAgICAgICBwYXRoOiBvcHRzPy5wcmVmZXJlbmNlc1BhdGggPz8gJ3ByZWZlcmVuY2VzJyxcbiAgICAgICAgICAgICAgY29uZmlnOiBvcHRzPy5wcmVmZXJlbmNlc0NvbmZpZyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgOiBbXSksXG4gICAgICAgIC4uLihpbmNsdWRlU2VjdXJpdHkgPyBwcm92aWRlVmFsdGVjaFNlY3VyaXR5Um91dGVzKHsgY29uZmlnOiBvcHRzPy5zZWN1cml0eUNvbmZpZyB9KSA6IFtdKSxcbiAgICAgICAgLi4uKGluY2x1ZGVBY2NvdW50ID8gcHJvdmlkZVZhbHRlY2hBY2NvdW50Um91dGVzKHsgY29uZmlnOiBvcHRzPy5hY2NvdW50Q29uZmlnIH0pIDogW10pLFxuICAgICAgICAuLi4oaW5jbHVkZU9yZ2FuaXphdGlvblxuICAgICAgICAgID8gcHJvdmlkZVZhbHRlY2hPcmdhbml6YXRpb25Sb3V0ZXMoeyBjb25maWc6IG9wdHM/Lm9yZ2FuaXphdGlvbkNvbmZpZyB9KVxuICAgICAgICAgIDogW10pLFxuICAgICAgICAuLi4ob3B0cz8uZXh0cmFSb3V0ZXMgPz8gW10pLFxuICAgICAgXSxcbiAgICB9LFxuICBdO1xufVxuIl19
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
30
30
  type: Inject,
31
31
  args: [VALTECH_AUTH_CONFIG]
32
32
  }] }, { type: i1.HttpClient }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1jYXRhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL29yZy9wZXJtaXNzaW9uLWNhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBa0JyRDs7Ozs7Ozs7O0dBU0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQ3VDLE1BQXlCLEVBQ3RELElBQWdCO1FBRGEsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDdEQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUosVUFBVSxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sUUFBUSxLQUFLLHNCQUFzQixDQUN6RCxDQUFDO0lBQ0osQ0FBQzsrR0FWVSx3QkFBd0Isa0JBRXpCLG1CQUFtQjttSEFGbEIsd0JBQXdCLGNBRFgsTUFBTTs7NEZBQ25CLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUc3QixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVkFMVEVDSF9BVVRIX0NPTkZJRyB9IGZyb20gJy4uL2F1dGgvY29uZmlnJztcbmltcG9ydCB7IFZhbHRlY2hBdXRoQ29uZmlnIH0gZnJvbSAnLi4vYXV0aC90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFBlcm1pc3Npb25TY29wZSA9ICdnbG9iYWwnIHwgJ2FwcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVybWlzc2lvblJlc291cmNlIHtcbiAgcmVzb3VyY2U6IHN0cmluZztcbiAgc2NvcGU6IFBlcm1pc3Npb25TY29wZTtcbiAgYXBwSWQ/OiBzdHJpbmc7XG4gIGFjdGlvbnM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb25DYXRhbG9nUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhcHBJZDogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogUGVybWlzc2lvblJlc291cmNlW107XG59XG5cbi8qKlxuICogQ29uc3VtZSBlbCBjYXTDoWxvZ28gZGUgcGVybWlzb3MgZGVsIGJhY2tlbmQgKGBHRVQgL29yZy97b3JnSWR9L3Blcm1pc3Npb25zLWNhdGFsb2dgKS5cbiAqIEVsIGJhY2tlbmQgZXMgbGEgZnVlbnRlIGRlIHZlcmRhZCBkZSBxdcOpIHBlcm1pc29zIGV4aXN0ZW4geSBkZSBzdSBhbGNhbmNlXG4gKiAoZ2xvYmFsZXMgZGUgcGxhdGFmb3JtYSB2cy4gcHJvcGlvcyBkZSB1bmEgYXBwKS4gTGEgcmVzcHVlc3RhIGluY2x1eWUgZWxcbiAqIGBhcHBJZGAgZGVsIHJlcXVlc3QgcGFyYSBxdWUgbGEgdmlzdGEgZGlzdGluZ2EgbGEgYXBwIGFjdHVhbC5cbiAqXG4gKiBQcm9tb3ZpZG8gZGVzZGUgYHNob3djYXNlYCBhIGxhIGxpYiBiYWpvIGVsIHByb2Nlc28gZGUgQURSLTAyMS4gVXNhXG4gKiBgVkFMVEVDSF9BVVRIX0NPTkZJRy5hcGlVcmxgIChjb21vIGBPcmdTZXJ2aWNlYCkgZW4gdmV6IGRlbCBgZW52aXJvbm1lbnRgIGRlIGxhXG4gKiBhcHAg4oCUIGxhIGxpYiBubyBpbXBvcnRhIGVsIGVudmlyb25tZW50IGRlbCBjb25zdW1lci5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uQ2F0YWxvZ1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KFZBTFRFQ0hfQVVUSF9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBWYWx0ZWNoQXV0aENvbmZpZyxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnRcbiAgKSB7fVxuXG4gIGdldENhdGFsb2cob3JnSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8UGVybWlzc2lvbkNhdGFsb2dSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFBlcm1pc3Npb25DYXRhbG9nUmVzcG9uc2U+KFxuICAgICAgYCR7dGhpcy5jb25maWcuYXBpVXJsfS9vcmcvJHtvcmdJZH0vcGVybWlzc2lvbnMtY2F0YWxvZ2BcbiAgICApO1xuICB9XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1jYXRhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL29yZy9wZXJtaXNzaW9uLWNhdGFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUluRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBa0JyRDs7Ozs7Ozs7O0dBU0c7QUFFSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQ3VDLE1BQXlCLEVBQ3RELElBQWdCO1FBRGEsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDdEQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUosVUFBVSxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sUUFBUSxLQUFLLHNCQUFzQixDQUN6RCxDQUFDO0lBQ0osQ0FBQzsrR0FWVSx3QkFBd0Isa0JBRXpCLG1CQUFtQjttSEFGbEIsd0JBQXdCLGNBRFgsTUFBTTs7NEZBQ25CLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUc3QixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVkFMVEVDSF9BVVRIX0NPTkZJRyB9IGZyb20gJy4uL2F1dGgvY29uZmlnJztcbmltcG9ydCB7IFZhbHRlY2hBdXRoQ29uZmlnIH0gZnJvbSAnLi4vYXV0aC90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFBlcm1pc3Npb25TY29wZSA9ICdhcHAnIHwgJ29yZycgfCAnaW50ZXJuYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBlcm1pc3Npb25SZXNvdXJjZSB7XG4gIHJlc291cmNlOiBzdHJpbmc7XG4gIHNjb3BlOiBQZXJtaXNzaW9uU2NvcGU7XG4gIGFwcElkPzogc3RyaW5nO1xuICBhY3Rpb25zOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZXJtaXNzaW9uQ2F0YWxvZ1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgYXBwSWQ6IHN0cmluZztcbiAgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25SZXNvdXJjZVtdO1xufVxuXG4vKipcbiAqIENvbnN1bWUgZWwgY2F0w6Fsb2dvIGRlIHBlcm1pc29zIGRlbCBiYWNrZW5kIChgR0VUIC9vcmcve29yZ0lkfS9wZXJtaXNzaW9ucy1jYXRhbG9nYCkuXG4gKiBFbCBiYWNrZW5kIGVzIGxhIGZ1ZW50ZSBkZSB2ZXJkYWQgZGUgcXXDqSBwZXJtaXNvcyBleGlzdGVuIHkgZGUgc3UgYWxjYW5jZVxuICogKGdsb2JhbGVzIGRlIHBsYXRhZm9ybWEgdnMuIHByb3Bpb3MgZGUgdW5hIGFwcCkuIExhIHJlc3B1ZXN0YSBpbmNsdXllIGVsXG4gKiBgYXBwSWRgIGRlbCByZXF1ZXN0IHBhcmEgcXVlIGxhIHZpc3RhIGRpc3RpbmdhIGxhIGFwcCBhY3R1YWwuXG4gKlxuICogUHJvbW92aWRvIGRlc2RlIGBzaG93Y2FzZWAgYSBsYSBsaWIgYmFqbyBlbCBwcm9jZXNvIGRlIEFEUi0wMjEuIFVzYVxuICogYFZBTFRFQ0hfQVVUSF9DT05GSUcuYXBpVXJsYCAoY29tbyBgT3JnU2VydmljZWApIGVuIHZleiBkZWwgYGVudmlyb25tZW50YCBkZSBsYVxuICogYXBwIOKAlCBsYSBsaWIgbm8gaW1wb3J0YSBlbCBlbnZpcm9ubWVudCBkZWwgY29uc3VtZXIuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbkNhdGFsb2dTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogVmFsdGVjaEF1dGhDb25maWcsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XG4gICkge31cblxuICBnZXRDYXRhbG9nKG9yZ0lkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25DYXRhbG9nUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQZXJtaXNzaW9uQ2F0YWxvZ1Jlc3BvbnNlPihcbiAgICAgIGAke3RoaXMuY29uZmlnLmFwaVVybH0vb3JnLyR7b3JnSWR9L3Blcm1pc3Npb25zLWNhdGFsb2dgXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -2,5 +2,5 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export const VERSION = '2.0.1000';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC4xMDAwJztcbiJdfQ==
5
+ export const VERSION = '2.0.1002';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzIuMC4xMDAyJztcbiJdfQ==