@bizdoc/core 1.11.1 → 1.12.0-next.1

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.
Files changed (42) hide show
  1. package/esm2020/lib/admin/positions/positions.component.mjs +16 -3
  2. package/esm2020/lib/compose/action/return-action.component.mjs +11 -5
  3. package/esm2020/lib/compose/compose.pane.component.mjs +3 -3
  4. package/esm2020/lib/compose/trace/flow.component.mjs +29 -10
  5. package/esm2020/lib/compose/trace/people.component.mjs +3 -2
  6. package/esm2020/lib/compose/trace/trace.component.mjs +12 -1
  7. package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
  8. package/esm2020/lib/core/controls/file.input.mjs +7 -4
  9. package/esm2020/lib/core/mailbox.service.mjs +4 -6
  10. package/esm2020/lib/core/models.mjs +1 -1
  11. package/esm2020/lib/core/slots/slots.component.mjs +4 -4
  12. package/esm2020/lib/core/translations.mjs +7 -5
  13. package/esm2020/lib/cube/accum/accum.component.mjs +2 -2
  14. package/esm2020/lib/cube/chart/chart.component.mjs +2 -2
  15. package/esm2020/lib/cube/explore/explore-items.component.mjs +4 -4
  16. package/esm2020/lib/cube/explore/explore.pane.component.mjs +6 -5
  17. package/esm2020/lib/cube/grid/grid.component.mjs +2 -2
  18. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +6 -6
  19. package/esm2020/lib/cube/matrix/matrix.base.mjs +2 -5
  20. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +6 -3
  21. package/esm2020/lib/cube/matrix/popup.component.mjs +5 -5
  22. package/esm2020/lib/cube/matrix/table.component.mjs +8 -7
  23. package/esm2020/lib/cube/parallel/parallel.component.mjs +2 -2
  24. package/esm2020/lib/cube/pivot/pivot.component.mjs +2 -2
  25. package/esm2020/lib/cube/view.mobile.component.mjs +2 -2
  26. package/esm2020/lib/dashboard/recents/recents.widget.mjs +24 -26
  27. package/esm2020/lib/home/options/options.component.mjs +4 -3
  28. package/esm2020/lib/views/cube/explore.component.mjs +8 -5
  29. package/fesm2015/bizdoc-core.mjs +168 -112
  30. package/fesm2015/bizdoc-core.mjs.map +1 -1
  31. package/fesm2020/bizdoc-core.mjs +167 -112
  32. package/fesm2020/bizdoc-core.mjs.map +1 -1
  33. package/lib/admin/positions/positions.component.d.ts +5 -0
  34. package/lib/compose/action/return-action.component.d.ts +3 -1
  35. package/lib/core/models.d.ts +1 -0
  36. package/lib/core/translations.d.ts +2 -0
  37. package/lib/cube/explore/explore-items.component.d.ts +1 -1
  38. package/lib/cube/matrix/matrix.base.d.ts +0 -1
  39. package/lib/dashboard/recents/recents.widget.d.ts +10 -9
  40. package/lib/home/options/options.component.d.ts +2 -1
  41. package/lib/views/cube/explore.component.d.ts +2 -0
  42. package/package.json +1 -1
@@ -108,7 +108,7 @@ export class CubeSpreadsheetComponent {
108
108
  this._draw();
109
109
  this.loadingChange.emit(false);
110
110
  }, (e) => {
111
- this._sb.error(e.status === 401 ? 'Unauthorized' : null);
111
+ this._sb.error(e.status === 406 ? 'Unauthorized' : null);
112
112
  this.loadingChange.emit(false);
113
113
  });
114
114
  else
@@ -120,7 +120,7 @@ export class CubeSpreadsheetComponent {
120
120
  this.loadingChange.emit(false);
121
121
  });
122
122
  }, (e) => {
123
- this._sb.error(e.status === 401 ? 'Unauthorized' : null);
123
+ this._sb.error(e.status === 406 ? 'Unauthorized' : null);
124
124
  this.loadingChange.emit(false);
125
125
  });
126
126
  }
@@ -205,8 +205,8 @@ export class CubeSpreadsheetComponent {
205
205
  select: this.select.bind(this),
206
206
  sheets: [{
207
207
  columns: this.columns,
208
- //frozenColumns: this.series !== undefined ? 1 : 0,
209
- //frozenRows: 1,
208
+ frozenColumns: this._series !== undefined ? 1 : 0,
209
+ frozenRows: 1,
210
210
  rows: this.dataSource,
211
211
  }],
212
212
  width: this.width,
@@ -308,7 +308,7 @@ export class CubeSpreadsheetComponent {
308
308
  rows: rows.map((r, i) => ({
309
309
  index: i + 1,
310
310
  cells: r.cells.map((c, j) => {
311
- const header = i === 0 || (this.series && j === 0), isnumber = this.series ? !header : isNumber(c.value);
311
+ const header = i === 0 || (this._series !== undefined && j === 0), isnumber = !header && isNumber(c.value);
312
312
  return {
313
313
  type: isnumber ? 'number' : 'text',
314
314
  index: j + 1,
@@ -367,4 +367,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
367
367
  }], id: [{
368
368
  type: HostBinding
369
369
  }] } });
370
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByZWFkc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2dyaWQvc3ByZWFkc2hlZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxXQUFXLEVBQXlCLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFN0ksT0FBTyxFQUFvQyxXQUFXLEVBQTBELFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RLLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVd4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBU3pELE1BQU0sT0FBTyx3QkFBd0I7SUEyQ25DLDRFQUE0RTtJQUM1RSxZQUNVLFFBQXdCLEVBQ3hCLEdBQWtCLEVBQ2xCLFFBQXFCLEVBQ3JCLFVBQTRCLEVBQzVCLEdBQXNCLEVBQ3RCLFdBQXVCO1FBTHZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXpCZCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELE9BQUUsR0FBRyxvQkFBb0Isd0JBQXdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUU1RSxlQUFVLEdBQWUsRUFBRSxDQUFDO1FBRW5CLGdCQUFXLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFvQixDQUFDO1FBQ3ZELHFC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QUk7c0JBREgsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUdGLE1BQU07c0JBRFQsS0FBSztnQkFLRixPQUFPO3NCQURWLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUVhLE9BQU87c0JBQXpCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBQ1EsRUFBRTtzQkFBaEIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBDZWxsTW9kZWwsIENvbHVtbk1vZGVsLCBSb3dNb2RlbCwgU3ByZWFkc2hlZXQsIENlbGxTdHlsZU1vZGVsLCBTZWxlY3RFdmVudEFyZ3MsIEF1dG9GaWxsU2V0dGluZ3NNb2RlbCwgaXNOdW1iZXIgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItc3ByZWFkc2hlZXRcIjtcclxuaW1wb3J0IHsgV29ya2Jvb2sgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgV29ya3NoZWV0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvd29ya3NoZWV0JztcclxuaW1wb3J0IHsgUm93IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvcm93JztcclxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvY29sdW1uJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzLCBDdWJlSW5kZXgsIFlBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBTZXJpZXMgfSBmcm9tIFwiLi4vY3ViZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtc3ByZWFkc2hlZXQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlU3ByZWFkc2hlZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEN1YmVWaWV3ZXJDb21wb25lbnQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgQElucHV0KClcclxuICBzZXQgeEF4aXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgdGhpcy5feEF4aXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICB5QXhpcz86IFlBeGlzO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlcmllcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaW5kaWNlcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGxvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPEF4aXNDbGlja0V2ZW50PigpO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgY3ViZS1zcHJlYWRzaGVldC0ke0N1YmVTcHJlYWRzaGVldENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIHNwcmVhZHNoZWV0OiBTcHJlYWRzaGVldDtcclxuICBkYXRhU291cmNlOiBSb3dNb2RlbFtdID0gW107XHJcbiAgY29sdW1uczogQ29sdW1uTW9kZWxbXTtcclxuICByZWFkb25seSBudW1iZXJTdHlsZSA9IHsgdGV4dEFsaWduOiAncmlnaHQnIH0gYXMgQ2VsbFN0eWxlTW9kZWw7XHJcbiAgcmVhZG9ubHkgYXV0b0ZpbGxTZXR0aW5ncyA9IHsgc2hvd0ZpbGxPcHRpb25zOiBmYWxzZSB9IGFzIEF1dG9GaWxsU2V0dGluZ3NNb2RlbDtcclxuICBwcml2YXRlIF94QXhpczogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfc2VyaWVzPzogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfaW5kaWNlcz86IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX2F4ZXM6IEN1YmVBeGlzW107XHJcbiAgcHJpdmF0ZSBfY2luZGljZXM6IEN1YmVJbmRleFtdO1xyXG4gIHByaXZhdGUgX3lyb3dzOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3hjb2x1bW5zOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3ByZXBhcmU6IFByb21pc2U8YW55W10+O1xyXG4gIHByaXZhdGUgX251bWJlckZvcm1hdDogc3RyaW5nO1xyXG4gIC8vcHJpdmF0ZSByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuY3ViZSA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpIDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5fbnVtYmVyRm9ybWF0ID0gYCR7dGhpcy5fY3ViZS5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbid9JHt0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzfWBcclxuICAgIC8vdGhpcy5faW50bC5nZXROdW1iZXJQYXR0ZXJuKHtcclxuICAgIC8vICBjdXJyZW5jeTogdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGUsXHJcbiAgICAvLyAgZm9ybWF0OiB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZSA/ICdjJyA6ICduJyxcclxuICAgIC8vICB1c2VHcm91cGluZzogdHJ1ZSxcclxuICAgIC8vICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHMsXHJcbiAgICAvLyAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzXHJcbiAgICAvL30gYXMgTnVtYmVyRm9ybWF0T3B0aW9ucyk7XHJcbiAgICBpZiAoIXRoaXMuX3Nlcmllcykge1xyXG4gICAgICB0aGlzLl9heGVzID0gdGhpcy5feEF4aXMubWFwKGMgPT4gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT0gYykpO1xyXG4gICAgICBpZiAodGhpcy5faW5kaWNlcykgdGhpcy5fY2luZGljZXMgPSB0aGlzLl9jdWJlLmluZGljZXMuZmlsdGVyKGkgPT4gdGhpcy5faW5kaWNlcy5pbmRleE9mKGkubmFtZSkgPiAtMSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuX2F4ZXMubWFwKF8gPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB3aWR0aDogMTIwXHJcbiAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucy5wdXNoKHtcclxuICAgICAgICB3aWR0aDogOTBcclxuICAgICAgfSAvKiB2YWx1ZSAqLyk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKF8gPT4gdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICB9IGFzIENvbHVtbk1vZGVsXHJcbiAgICAgICkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IHlOYW1lID0gdGhpcy5fc2VyaWVzWzBdLCB4TmFtZSA9IHRoaXMuX3hBeGlzWzBdLFxyXG4gICAgICAgIHhBeGlzID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHhOYW1lKSxcclxuICAgICAgICB5QXhpcyA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB5TmFtZSk7XHJcbiAgICAgIGNvbnN0IHByb21pc2VzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xyXG4gICAgICB0aGlzLmNvbHVtbnMgPSBbe1xyXG4gICAgICAgIHdpZHRoOiAxMjBcclxuICAgICAgfV07XHJcbiAgICAgIC8vIGFjcXVpcmUgY29sdW1ucyBzb3VyY2VcclxuICAgICAgbGV0IG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeEF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLlxyXG4gICAgICAgIHRoZW4oYyA9PiB7XHJcbiAgICAgICAgICB0aGlzLl94Y29sdW1ucyA9IGM7XHJcbiAgICAgICAgICBjLmZvckVhY2goXyA9PiB0aGlzLmNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbFxyXG4gICAgICAgICAgKSk7XHJcbiAgICAgICAgfSkgYXMgUHJvbWlzZTxhbnk+O1xyXG4gICAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgICAvLyBhY3F1aXJlIHJvd3Mgc291cmNlXHJcbiAgICAgIG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeUF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLlxyXG4gICAgICAgIHRoZW4ociA9PiB0aGlzLl95cm93cyA9IHIpO1xyXG4gICAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG5cclxuICAgICAgdGhpcy5fcHJlcGFyZSA9IFByb21pc2UuYWxsKHByb21pc2VzKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmlsdGVycyddICYmICFjaGFuZ2VzWydmaWx0ZXJzJ10uZmlyc3RDaGFuZ2UpXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10gfHwgY2hhbmdlc1snd2lkdGgnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICByZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5zcHJlYWRzaGVldCkge1xyXG4gICAgICB0aGlzLnNwcmVhZHNoZWV0LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnNwcmVhZHNoZWV0LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgdGhpcy5zcHJlYWRzaGVldC5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBpZiAoIXRoaXMuX3NlcmllcylcclxuICAgICAgdGhpcy5fc2VydmljZS50YWJsZSh0aGlzLl9jdWJlLm5hbWUsIHRoaXMuX3hBeGlzLCB7IGZpbHRlcnM6IHRoaXMuZmlsdGVycywgaW5kaWNlczogdGhpcy5faW5kaWNlcyB9KS5cclxuICAgICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9kYXRhdGFibGUoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSwgKGU6IEh0dHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihlLnN0YXR1cyA9PT0gNDAxID8gJ1VuYXV0aG9yaXplZCcgOiBudWxsKTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9KTtcclxuICAgIGVsc2UgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5jdWJlLCB0aGlzLl94QXhpcywgeyBzZXJpZXM6IHRoaXMuX3NlcmllcywgZmlsdGVyczogdGhpcy5maWx0ZXJzIH0pLlxyXG4gICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2RhdGFzZXJpZXMoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlOiBIdHRwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDEgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RhdGF0YWJsZShkYXRhOiB7IHZhbHVlOiBudW1iZXI7IH1bXSkge1xyXG4gICAgY29uc3QgY2VsbHMgPSBbXSwgc3R5bGUgPSB7IGZvbnRXZWlnaHQ6ICdib2xkJywgdGV4dEFsaWduOiAnY2VudGVyJyB9IGFzIENlbGxTdHlsZU1vZGVsO1xyXG4gICAgdGhpcy5fYXhlcy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgIHZhbHVlOiBjLnRpdGxlLCBzdHlsZVxyXG4gICAgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5fY2luZGljZXMuZm9yRWFjaChpID0+IGNlbGxzLnB1c2goeyB2YWx1ZTogaS50aXRsZSwgc3R5bGUgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgIGNlbGxzLnB1c2goe1xyXG4gICAgICB2YWx1ZTogdGhpcy55QXhpcyA/IHRoaXMueUF4aXMudGl0bGUgOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpLFxyXG4gICAgICBzdHlsZVxyXG4gICAgfSBhcyBDZWxsTW9kZWwpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gW3tcclxuICAgICAgY2VsbHMsIGhlaWdodDogMjVcclxuICAgIH0gYXMgUm93TW9kZWxdO1xyXG4gICAgZGF0YS5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFtdO1xyXG4gICAgICB0aGlzLl94QXhpcy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgdmFsdWU6IGRbY10sXHJcbiAgICAgIH0gYXMgQ2VsbE1vZGVsKSk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKGkgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkW2ldIHx8IDApIGFzIGFueSxcclxuICAgICAgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgICAgY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkLnZhbHVlIHx8IDApIGFzIGFueSxcclxuICAgICAgfSBhcyBDZWxsTW9kZWwpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucHVzaCh7IGNlbGxzLCBzb3VyY2U6IGQsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RhdGFzZXJpZXMoZDogU2VyaWVzW10pIHtcclxuICAgIGNvbnN0IHN0eWxlID0geyBmb250V2VpZ2h0OiAnYm9sZCcsIHRleHRBbGlnbjogJ2NlbnRlcicgfSBhcyBDZWxsU3R5bGVNb2RlbDtcclxuICAgIGNvbnN0IGNlbGxzID0gW3sgdmFsdWU6ICcnIH0gYXMgQ2VsbE1vZGVsXTtcclxuICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHsgdmFsdWU6IGMudmFsdWUsIHN0eWxlIH0pKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IFt7IGNlbGxzLCBoZWlnaHQ6IDI1IH1dO1xyXG5cclxuICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5fY2luZGljZXMuXHJcbiAgICAgIGZvckVhY2goaSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2VsbHMgPSBbeyB2YWx1ZTogaS50aXRsZSwgc3R5bGUgfSBhcyBDZWxsTW9kZWxdLCBzZXJpZSA9IGQuZmluZChzID0+IHMuaW5kZXggPT09IGkubmFtZSksIG1hcCA9IHt9O1xyXG4gICAgICAgIGlmIChzZXJpZSkge1xyXG4gICAgICAgICAgc2VyaWUucG9pbnRzLmZvckVhY2gocCA9PiBtYXBbcC54XSA9IHAueSk7XHJcbiAgICAgICAgICB0aGlzLl94Y29sdW1ucy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgICAgIHZhbHVlOiAobWFwW2Mua2V5XSB8fCAwKSBhcyBhbnksXHJcbiAgICAgICAgICAgIGZvcm1hdDogdGhpcy5fbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICBzdHlsZTogdGhpcy5udW1iZXJTdHlsZVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UucHVzaCh7IGNlbGxzLCBoZWlnaHQ6IDI1IH0gYXMgUm93TW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB0aGlzLl95cm93cy5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFt7IHZhbHVlOiByLnZhbHVlLCBzdHlsZSB9IGFzIENlbGxNb2RlbF0sXHJcbiAgICAgICAgc2VyaWUgPSBkLmZpbmQocyA9PiBzLm5hbWUgPT09IHIua2V5KSwgbWFwID0ge307XHJcbiAgICAgIGlmIChzZXJpZSkge1xyXG4gICAgICAgIHNlcmllLnBvaW50cy5mb3JFYWNoKHAgPT4gbWFwW3AueF0gPSBwLnkpO1xyXG4gICAgICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHtcclxuICAgICAgICAgIHZhbHVlOiAobWFwW2Mua2V5XSB8fCAwKSBhcyBhbnksXHJcbiAgICAgICAgICBmb3JtYXQ6IHRoaXMuX251bWJlckZvcm1hdCxcclxuICAgICAgICAgIHN0eWxlOiB0aGlzLm51bWJlclN0eWxlXHJcbiAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl94Y29sdW1ucy5mb3JFYWNoKF8gPT4gY2VsbHMucHVzaCh7IHZhbHVlOiAwIGFzIGFueSB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wdXNoKHsgY2VsbHMsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLnNwcmVhZHNoZWV0ICYmIHRoaXMuc3ByZWFkc2hlZXQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5zcHJlYWRzaGVldCA9IG5ldyBTcHJlYWRzaGVldCh7XHJcbiAgICAgIGlzUHJvdGVjdGVkOiB0cnVlLFxyXG4gICAgICBhbGxvd0VkaXRpbmc6IGZhbHNlLFxyXG4gICAgICBhbGxvd0RlbGV0ZTogZmFsc2UsXHJcbiAgICAgIGFsbG93SW5zZXJ0OiBmYWxzZSxcclxuICAgICAgc2hvd1JpYmJvbjogZmFsc2UsXHJcbiAgICAgIGFsbG93QXV0b0ZpbGw6IGZhbHNlLFxyXG4gICAgICBhdXRvRmlsbFNldHRpbmdzOiB0aGlzLmF1dG9GaWxsU2V0dGluZ3MsXHJcbiAgICAgIGVuYWJsZUNsaXBib2FyZDogZmFsc2UsXHJcbiAgICAgIGVuYWJsZUNvbnRleHRNZW51OiBmYWxzZSxcclxuICAgICAgc2hvd0Zvcm11bGFCYXI6IGZhbHNlLFxyXG4gICAgICBzaG93U2hlZXRUYWJzOiBmYWxzZSxcclxuICAgICAgc2VsZWN0OiB0aGlzLnNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICBzaGVldHM6IFt7XHJcbiAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAgIC8vZnJvemVuQ29sdW1uczogdGhpcy5zZXJpZXMgIT09IHVuZGVmaW5lZCA/IDEgOiAwLFxyXG4gICAgICAgIC8vZnJvemVuUm93czogMSxcclxuICAgICAgICByb3dzOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgIH1dLFxyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIHNlbGVjdChldnQ6IFNlbGVjdEV2ZW50QXJncykge1xyXG4gICAgY29uc3QgYWRkcmVzcyA9IHRoaXMuc3ByZWFkc2hlZXQuZ2V0QWRkcmVzc0luZm8oZXZ0LnJhbmdlKTtcclxuICAgIGxldCBbeSwgeCwgeTEsIHgxXSA9IGFkZHJlc3MuaW5kaWNlcztcclxuICAgIGlmICh5MSA8IHkpIHtcclxuICAgICAgY29uc3QgcmFuZ2UgPSB5O1xyXG4gICAgICB5ID0geTEsIHkxID0gcmFuZ2U7XHJcbiAgICB9XHJcbiAgICBpZiAoeDEgPCB4KSB7XHJcbiAgICAgIGNvbnN0IHJhbmdlID0geDtcclxuICAgICAgeCA9IHgxLCB4MSA9IHJhbmdlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXhlczoge30gPSB7fTtcclxuICAgIGlmICghdGhpcy5fc2VyaWVzKSB7XHJcbiAgICAgIGlmICh5ID09PSAwKSByZXR1cm47XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5faW5kaWNlcyAmJiB5IDwgdGhpcy5faW5kaWNlcy5sZW5ndGggPyB0aGlzLl9jaW5kaWNlc1t5XS5uYW1lIDogbnVsbDtcclxuICAgICAgbGV0IGkgPSB5O1xyXG4gICAgICBkbyB7XHJcbiAgICAgICAgdGhpcy5fYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgY29uc3Qga2V5ID0gKHRoaXMuZGF0YVNvdXJjZVtpXSBhcyBhbnkpLnNvdXJjZVsnXycgKyBhLm5hbWVdO1xyXG4gICAgICAgICAgaWYgKCFheGVzW2EubmFtZV0pXHJcbiAgICAgICAgICAgIGF4ZXNbYS5uYW1lXSA9IGtleTtcclxuICAgICAgICAgIGVsc2UgaWYgKGlzU3RyaW5nKGF4ZXNbYS5uYW1lXSkpIHtcclxuICAgICAgICAgICAgaWYgKGF4ZXNbYS5uYW1lXSAhPT0ga2V5KSBheGVzW2EubmFtZV0gPSBbYXhlc1thLm5hbWVdLCBrZXldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAoKGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmdbXSkuaW5kZXhPZihrZXkpIDwgMCkgKGF4ZXNbYS5uYW1lXSBhcyBzdHJpbmdbXSkucHVzaChrZXkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGkrKztcclxuICAgICAgfVxyXG4gICAgICB3aGlsZSAoaSA8PSB5MSk7XHJcbiAgICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXggfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHkgPT09IDApIHtcclxuICAgICAgICBpZiAoeSA8IHkxKVxyXG4gICAgICAgICAgdGhpcy5fZmlsbHgoeCwgeDEsIGF4ZXMpO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHggPT09IDApIHtcclxuICAgICAgICBpZiAoeCA8IHgxKVxyXG4gICAgICAgICAgdGhpcy5fZmlsbHkoeSwgeTEsIGF4ZXMpO1xyXG4gICAgICAgIGVsc2UgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHkgPT09IHkxICYmIHggPT09IHgxICYmIHRoaXMuZGF0YVNvdXJjZVt5XS5jZWxsc1t4XS52YWx1ZSA9PT0gJzAnKSByZXR1cm47XHJcbiAgICAgIGVsc2UgaWYgKHkgPiB0aGlzLmRhdGFTb3VyY2UubGVuZ3RoIC0gMSB8fCB4ID4gdGhpcy5kYXRhU291cmNlW3ldLmNlbGxzLmxlbmd0aCAtIDEpIHJldHVybjtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fZmlsbHgoeCwgeDEsIGF4ZXMpO1xyXG4gICAgICAgIHRoaXMuX2ZpbGx5KHksIHkxLCBheGVzKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbGx5KHk6IG51bWJlciwgeTE6IG51bWJlciwgYXhlczoge30pIHtcclxuICAgIGNvbnN0IHlOYW1lID0gdGhpcy5fc2VyaWVzWzBdO1xyXG4gICAgbGV0IGkgPSB5IC0gMTtcclxuICAgIHdoaWxlIChpIDwgeTEpIHtcclxuICAgICAgbGV0IHsga2V5IH0gPSB0aGlzLl95cm93c1tpXTtcclxuICAgICAgaWYgKCFheGVzW3lOYW1lXSlcclxuICAgICAgICBheGVzW3lOYW1lXSA9IGtleTtcclxuICAgICAgZWxzZSBpZiAoaXNTdHJpbmcoYXhlc1t5TmFtZV0pKVxyXG4gICAgICAgIGF4ZXNbeU5hbWVdID0gW2F4ZXNbeU5hbWVdLCBrZXldO1xyXG4gICAgICBlbHNlIGlmICgoYXhlc1t5TmFtZV0gYXMgc3RyaW5nW10pLmluZGV4T2Yoa2V5KSA8IDApXHJcbiAgICAgICAgKGF4ZXNbeU5hbWVdIGFzIHN0cmluZ1tdKS5wdXNoKGtleSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2ZpbGx4KHg6IG51bWJlciwgeDE6IG51bWJlciwgYXhlczoge30pIHtcclxuICAgIGNvbnN0IHhOYW1lID0gdGhpcy5feEF4aXNbMF07XHJcbiAgICBsZXQgaSA9IHggLSAxO1xyXG4gICAgd2hpbGUgKGkgPCB4MSkge1xyXG4gICAgICBsZXQgeyBrZXkgfSA9IHRoaXMuX3hjb2x1bW5zW2ldO1xyXG4gICAgICBpZiAoIWF4ZXNbeE5hbWVdKVxyXG4gICAgICAgIGF4ZXNbeE5hbWVdID0ga2V5O1xyXG4gICAgICBlbHNlIGlmIChpc1N0cmluZyhheGVzW3hOYW1lXSkpXHJcbiAgICAgICAgYXhlc1t4TmFtZV0gPSBbYXhlc1t4TmFtZV0sIGtleV07XHJcbiAgICAgIGVsc2UgaWYgKChheGVzW3hOYW1lXSBhcyBzdHJpbmdbXSkuaW5kZXhPZihrZXkpIDwgMClcclxuICAgICAgICAoYXhlc1t4TmFtZV0gYXMgc3RyaW5nW10pLnB1c2goa2V5KTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0VG9FeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB7IHJvd3MgfSA9IHRoaXMuc3ByZWFkc2hlZXQuc2hlZXRzWzBdLFxyXG4gICAgICBudW1iZXJGb3JtYXQgPSB0aGlzLl9zZXJ2aWNlLm51bWJlckZvcm1hdCxcclxuICAgICAgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAgICB7XHJcbiAgICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgICBjb2x1bW5zOiByb3dzWzBdLmNlbGxzLm1hcCgoXywgaSkgPT4gKHsgaW5kZXg6IGkgKyAxLCB3aWR0aDogMTUwIH0gYXMgQ29sdW1uKSksXHJcbiAgICAgICAgICAgICAgcm93czogcm93cy5tYXAoKHIsIGkpID0+IChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgaW5kZXg6IGkgKyAxLFxyXG4gICAgICAgICAgICAgICAgICBjZWxsczogci5jZWxscy5tYXAoKGMsIGopID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoZWFkZXIgPSBpID09PSAwIHx8ICh0aGlzLnNlcmllcyAmJiBqID09PSAwKSxcclxuICAgICAgICAgICAgICAgICAgICAgIGlzbnVtYmVyID0gdGhpcy5zZXJpZXMgPyAhaGVhZGVyIDogaXNOdW1iZXIoYy52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGlzbnVtYmVyID8gJ251bWJlcicgOiAndGV4dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaiArIDEsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYy52YWx1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlckZvcm1hdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaEFsaWduOiBpc251bWJlciA/ICdyaWdodCcgOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9sZDogaGVhZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBDZWxsO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIH0gYXMgUm93KSksXHJcbiAgICAgICAgICAgIH0gYXMgV29ya3NoZWV0LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICd4bHN4J1xyXG4gICAgICApO1xyXG4gICAgYm9vay5zYXZlKGAke3RpdGxlfS54bHN4YCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zcHJlYWRzaGVldCAmJiB0aGlzLnNwcmVhZHNoZWV0LmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiJdfQ==
370
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ByZWFkc2hlZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2dyaWQvc3ByZWFkc2hlZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxXQUFXLEVBQXlCLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFN0ksT0FBTyxFQUFvQyxXQUFXLEVBQTBELFFBQVEsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RLLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVd4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBU3pELE1BQU0sT0FBTyx3QkFBd0I7SUEyQ25DLDRFQUE0RTtJQUM1RSxZQUNVLFFBQXdCLEVBQ3hCLEdBQWtCLEVBQ2xCLFFBQXFCLEVBQ3JCLFVBQTRCLEVBQzVCLEdBQXNCLEVBQ3RCLFdBQXVCO1FBTHZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQXpCZCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELE9BQUUsR0FBRyxvQkFBb0Isd0JBQXdCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUU1RSxlQUFVLEdBQWUsRUFBRSxDQUFDO1FBRW5CLGdCQUFXLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFvQixDQUFDO1FBQ3ZELHFC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QUFLO3NCQURKLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBS04sS0FBSztzQkFESixLQUFLO2dCQUdGLE1BQU07c0JBRFQsS0FBSztnQkFLRixPQUFPO3NCQURWLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUVhLE9BQU87c0JBQXpCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBQ1EsRUFBRTtzQkFBaEIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgQ29tcG9uZW50LCBPdXRwdXQsIE9uSW5pdCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBSZXNwb25zZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBDZWxsTW9kZWwsIENvbHVtbk1vZGVsLCBSb3dNb2RlbCwgU3ByZWFkc2hlZXQsIENlbGxTdHlsZU1vZGVsLCBTZWxlY3RFdmVudEFyZ3MsIEF1dG9GaWxsU2V0dGluZ3NNb2RlbCwgaXNOdW1iZXIgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItc3ByZWFkc2hlZXRcIjtcclxuaW1wb3J0IHsgV29ya2Jvb2sgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgV29ya3NoZWV0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvd29ya3NoZWV0JztcclxuaW1wb3J0IHsgUm93IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvcm93JztcclxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvY29sdW1uJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzLCBDdWJlSW5kZXgsIFlBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBTZXJpZXMgfSBmcm9tIFwiLi4vY3ViZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtc3ByZWFkc2hlZXQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlU3ByZWFkc2hlZXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEN1YmVWaWV3ZXJDb21wb25lbnQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgQElucHV0KClcclxuICBzZXQgeEF4aXModmFsOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgdGhpcy5feEF4aXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICB5QXhpcz86IFlBeGlzO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlcmllcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbCkgPyB2YWwgOiBbdmFsXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgaW5kaWNlcyh2YWw6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGxvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPEF4aXNDbGlja0V2ZW50PigpO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgY3ViZS1zcHJlYWRzaGVldC0ke0N1YmVTcHJlYWRzaGVldENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIHNwcmVhZHNoZWV0OiBTcHJlYWRzaGVldDtcclxuICBkYXRhU291cmNlOiBSb3dNb2RlbFtdID0gW107XHJcbiAgY29sdW1uczogQ29sdW1uTW9kZWxbXTtcclxuICByZWFkb25seSBudW1iZXJTdHlsZSA9IHsgdGV4dEFsaWduOiAncmlnaHQnIH0gYXMgQ2VsbFN0eWxlTW9kZWw7XHJcbiAgcmVhZG9ubHkgYXV0b0ZpbGxTZXR0aW5ncyA9IHsgc2hvd0ZpbGxPcHRpb25zOiBmYWxzZSB9IGFzIEF1dG9GaWxsU2V0dGluZ3NNb2RlbDtcclxuICBwcml2YXRlIF94QXhpczogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfc2VyaWVzPzogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfaW5kaWNlcz86IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX2F4ZXM6IEN1YmVBeGlzW107XHJcbiAgcHJpdmF0ZSBfY2luZGljZXM6IEN1YmVJbmRleFtdO1xyXG4gIHByaXZhdGUgX3lyb3dzOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3hjb2x1bW5zOiB7IGtleTogYW55OyB2YWx1ZTogYW55IH1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3ByZXBhcmU6IFByb21pc2U8YW55W10+O1xyXG4gIHByaXZhdGUgX251bWJlckZvcm1hdDogc3RyaW5nO1xyXG4gIC8vcHJpdmF0ZSByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuY3ViZSA/IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpIDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5fbnVtYmVyRm9ybWF0ID0gYCR7dGhpcy5fY3ViZS5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbid9JHt0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzfWBcclxuICAgIC8vdGhpcy5faW50bC5nZXROdW1iZXJQYXR0ZXJuKHtcclxuICAgIC8vICBjdXJyZW5jeTogdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGUsXHJcbiAgICAvLyAgZm9ybWF0OiB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZSA/ICdjJyA6ICduJyxcclxuICAgIC8vICB1c2VHcm91cGluZzogdHJ1ZSxcclxuICAgIC8vICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHMsXHJcbiAgICAvLyAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzXHJcbiAgICAvL30gYXMgTnVtYmVyRm9ybWF0T3B0aW9ucyk7XHJcbiAgICBpZiAoIXRoaXMuX3Nlcmllcykge1xyXG4gICAgICB0aGlzLl9heGVzID0gdGhpcy5feEF4aXMubWFwKGMgPT4gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT0gYykpO1xyXG4gICAgICBpZiAodGhpcy5faW5kaWNlcykgdGhpcy5fY2luZGljZXMgPSB0aGlzLl9jdWJlLmluZGljZXMuZmlsdGVyKGkgPT4gdGhpcy5faW5kaWNlcy5pbmRleE9mKGkubmFtZSkgPiAtMSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuX2F4ZXMubWFwKF8gPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB3aWR0aDogMTIwXHJcbiAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuY29sdW1ucy5wdXNoKHtcclxuICAgICAgICB3aWR0aDogOTBcclxuICAgICAgfSAvKiB2YWx1ZSAqLyk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKF8gPT4gdGhpcy5jb2x1bW5zLnB1c2goe1xyXG4gICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICB9IGFzIENvbHVtbk1vZGVsXHJcbiAgICAgICkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IHlOYW1lID0gdGhpcy5fc2VyaWVzWzBdLCB4TmFtZSA9IHRoaXMuX3hBeGlzWzBdLFxyXG4gICAgICAgIHhBeGlzID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHhOYW1lKSxcclxuICAgICAgICB5QXhpcyA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB5TmFtZSk7XHJcbiAgICAgIGNvbnN0IHByb21pc2VzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xyXG4gICAgICB0aGlzLmNvbHVtbnMgPSBbe1xyXG4gICAgICAgIHdpZHRoOiAxMjBcclxuICAgICAgfV07XHJcbiAgICAgIC8vIGFjcXVpcmUgY29sdW1ucyBzb3VyY2VcclxuICAgICAgbGV0IG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeEF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLlxyXG4gICAgICAgIHRoZW4oYyA9PiB7XHJcbiAgICAgICAgICB0aGlzLl94Y29sdW1ucyA9IGM7XHJcbiAgICAgICAgICBjLmZvckVhY2goXyA9PiB0aGlzLmNvbHVtbnMucHVzaCh7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MFxyXG4gICAgICAgICAgfSBhcyBDb2x1bW5Nb2RlbFxyXG4gICAgICAgICAgKSk7XHJcbiAgICAgICAgfSkgYXMgUHJvbWlzZTxhbnk+O1xyXG4gICAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG4gICAgICAvLyBhY3F1aXJlIHJvd3Mgc291cmNlXHJcbiAgICAgIG9ic2VydmUgPSB0aGlzLl9kcy5hbGwoeUF4aXMuZGF0YVR5cGUpLnRvUHJvbWlzZSgpLlxyXG4gICAgICAgIHRoZW4ociA9PiB0aGlzLl95cm93cyA9IHIpO1xyXG4gICAgICBwcm9taXNlcy5wdXNoKG9ic2VydmUpO1xyXG5cclxuICAgICAgdGhpcy5fcHJlcGFyZSA9IFByb21pc2UuYWxsKHByb21pc2VzKTtcclxuICAgIH1cclxuICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmlsdGVycyddICYmICFjaGFuZ2VzWydmaWx0ZXJzJ10uZmlyc3RDaGFuZ2UpXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10gfHwgY2hhbmdlc1snd2lkdGgnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICByZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5zcHJlYWRzaGVldCkge1xyXG4gICAgICB0aGlzLnNwcmVhZHNoZWV0LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnNwcmVhZHNoZWV0LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgdGhpcy5zcHJlYWRzaGVldC5yZWZyZXNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBpZiAoIXRoaXMuX3NlcmllcylcclxuICAgICAgdGhpcy5fc2VydmljZS50YWJsZSh0aGlzLl9jdWJlLm5hbWUsIHRoaXMuX3hBeGlzLCB7IGZpbHRlcnM6IHRoaXMuZmlsdGVycywgaW5kaWNlczogdGhpcy5faW5kaWNlcyB9KS5cclxuICAgICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9kYXRhdGFibGUoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSwgKGU6IEh0dHBSZXNwb25zZTxhbnk+KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihlLnN0YXR1cyA9PT0gNDA2ID8gJ1VuYXV0aG9yaXplZCcgOiBudWxsKTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9KTtcclxuICAgIGVsc2UgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5jdWJlLCB0aGlzLl94QXhpcywgeyBzZXJpZXM6IHRoaXMuX3NlcmllcywgZmlsdGVyczogdGhpcy5maWx0ZXJzIH0pLlxyXG4gICAgICBzdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2RhdGFzZXJpZXMoZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0sIChlOiBIdHRwUmVzcG9uc2U8YW55PikgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDYgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RhdGF0YWJsZShkYXRhOiB7IHZhbHVlOiBudW1iZXI7IH1bXSkge1xyXG4gICAgY29uc3QgY2VsbHMgPSBbXSwgc3R5bGUgPSB7IGZvbnRXZWlnaHQ6ICdib2xkJywgdGV4dEFsaWduOiAnY2VudGVyJyB9IGFzIENlbGxTdHlsZU1vZGVsO1xyXG4gICAgdGhpcy5fYXhlcy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgIHZhbHVlOiBjLnRpdGxlLCBzdHlsZVxyXG4gICAgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5fY2luZGljZXMuZm9yRWFjaChpID0+IGNlbGxzLnB1c2goeyB2YWx1ZTogaS50aXRsZSwgc3R5bGUgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgIGNlbGxzLnB1c2goe1xyXG4gICAgICB2YWx1ZTogdGhpcy55QXhpcyA/IHRoaXMueUF4aXMudGl0bGUgOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpLFxyXG4gICAgICBzdHlsZVxyXG4gICAgfSBhcyBDZWxsTW9kZWwpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gW3tcclxuICAgICAgY2VsbHMsIGhlaWdodDogMjVcclxuICAgIH0gYXMgUm93TW9kZWxdO1xyXG4gICAgZGF0YS5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFtdO1xyXG4gICAgICB0aGlzLl94QXhpcy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgdmFsdWU6IGRbY10sXHJcbiAgICAgIH0gYXMgQ2VsbE1vZGVsKSk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKGkgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkW2ldIHx8IDApIGFzIGFueSxcclxuICAgICAgfSBhcyBDZWxsTW9kZWwpKTtcclxuICAgICAgY2VsbHMucHVzaCh7XHJcbiAgICAgICAgc3R5bGU6IHRoaXMubnVtYmVyU3R5bGUsXHJcbiAgICAgICAgZm9ybWF0OiB0aGlzLl9udW1iZXJGb3JtYXQsXHJcbiAgICAgICAgdmFsdWU6IChkLnZhbHVlIHx8IDApIGFzIGFueSxcclxuICAgICAgfSBhcyBDZWxsTW9kZWwpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucHVzaCh7IGNlbGxzLCBzb3VyY2U6IGQsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RhdGFzZXJpZXMoZDogU2VyaWVzW10pIHtcclxuICAgIGNvbnN0IHN0eWxlID0geyBmb250V2VpZ2h0OiAnYm9sZCcsIHRleHRBbGlnbjogJ2NlbnRlcicgfSBhcyBDZWxsU3R5bGVNb2RlbDtcclxuICAgIGNvbnN0IGNlbGxzID0gW3sgdmFsdWU6ICcnIH0gYXMgQ2VsbE1vZGVsXTtcclxuICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHsgdmFsdWU6IGMudmFsdWUsIHN0eWxlIH0pKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IFt7IGNlbGxzLCBoZWlnaHQ6IDI1IH1dO1xyXG5cclxuICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5fY2luZGljZXMuXHJcbiAgICAgIGZvckVhY2goaSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2VsbHMgPSBbeyB2YWx1ZTogaS50aXRsZSwgc3R5bGUgfSBhcyBDZWxsTW9kZWxdLCBzZXJpZSA9IGQuZmluZChzID0+IHMuaW5kZXggPT09IGkubmFtZSksIG1hcCA9IHt9O1xyXG4gICAgICAgIGlmIChzZXJpZSkge1xyXG4gICAgICAgICAgc2VyaWUucG9pbnRzLmZvckVhY2gocCA9PiBtYXBbcC54XSA9IHAueSk7XHJcbiAgICAgICAgICB0aGlzLl94Y29sdW1ucy5mb3JFYWNoKGMgPT4gY2VsbHMucHVzaCh7XHJcbiAgICAgICAgICAgIHZhbHVlOiAobWFwW2Mua2V5XSB8fCAwKSBhcyBhbnksXHJcbiAgICAgICAgICAgIGZvcm1hdDogdGhpcy5fbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICBzdHlsZTogdGhpcy5udW1iZXJTdHlsZVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UucHVzaCh7IGNlbGxzLCBoZWlnaHQ6IDI1IH0gYXMgUm93TW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB0aGlzLl95cm93cy5mb3JFYWNoKHIgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IFt7IHZhbHVlOiByLnZhbHVlLCBzdHlsZSB9IGFzIENlbGxNb2RlbF0sXHJcbiAgICAgICAgc2VyaWUgPSBkLmZpbmQocyA9PiBzLm5hbWUgPT09IHIua2V5KSwgbWFwID0ge307XHJcbiAgICAgIGlmIChzZXJpZSkge1xyXG4gICAgICAgIHNlcmllLnBvaW50cy5mb3JFYWNoKHAgPT4gbWFwW3AueF0gPSBwLnkpO1xyXG4gICAgICAgIHRoaXMuX3hjb2x1bW5zLmZvckVhY2goYyA9PiBjZWxscy5wdXNoKHtcclxuICAgICAgICAgIHZhbHVlOiAobWFwW2Mua2V5XSB8fCAwKSBhcyBhbnksXHJcbiAgICAgICAgICBmb3JtYXQ6IHRoaXMuX251bWJlckZvcm1hdCxcclxuICAgICAgICAgIHN0eWxlOiB0aGlzLm51bWJlclN0eWxlXHJcbiAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl94Y29sdW1ucy5mb3JFYWNoKF8gPT4gY2VsbHMucHVzaCh7IHZhbHVlOiAwIGFzIGFueSB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5wdXNoKHsgY2VsbHMsIGhlaWdodDogMjUgfSBhcyBSb3dNb2RlbCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLnNwcmVhZHNoZWV0ICYmIHRoaXMuc3ByZWFkc2hlZXQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5zcHJlYWRzaGVldCA9IG5ldyBTcHJlYWRzaGVldCh7XHJcbiAgICAgIGlzUHJvdGVjdGVkOiB0cnVlLFxyXG4gICAgICBhbGxvd0VkaXRpbmc6IGZhbHNlLFxyXG4gICAgICBhbGxvd0RlbGV0ZTogZmFsc2UsXHJcbiAgICAgIGFsbG93SW5zZXJ0OiBmYWxzZSxcclxuICAgICAgc2hvd1JpYmJvbjogZmFsc2UsXHJcbiAgICAgIGFsbG93QXV0b0ZpbGw6IGZhbHNlLFxyXG4gICAgICBhdXRvRmlsbFNldHRpbmdzOiB0aGlzLmF1dG9GaWxsU2V0dGluZ3MsXHJcbiAgICAgIGVuYWJsZUNsaXBib2FyZDogZmFsc2UsXHJcbiAgICAgIGVuYWJsZUNvbnRleHRNZW51OiBmYWxzZSxcclxuICAgICAgc2hvd0Zvcm11bGFCYXI6IGZhbHNlLFxyXG4gICAgICBzaG93U2hlZXRUYWJzOiBmYWxzZSxcclxuICAgICAgc2VsZWN0OiB0aGlzLnNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICBzaGVldHM6IFt7XHJcbiAgICAgICAgY29sdW1uczogdGhpcy5jb2x1bW5zLFxyXG4gICAgICAgIGZyb3plbkNvbHVtbnM6IHRoaXMuX3NlcmllcyAhPT0gdW5kZWZpbmVkID8gMSA6IDAsXHJcbiAgICAgICAgZnJvemVuUm93czogMSxcclxuICAgICAgICByb3dzOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgIH1dLFxyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCwgXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBzZWxlY3QoZXZ0OiBTZWxlY3RFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLnNwcmVhZHNoZWV0LmdldEFkZHJlc3NJbmZvKGV2dC5yYW5nZSk7XHJcbiAgICBsZXQgW3ksIHgsIHkxLCB4MV0gPSBhZGRyZXNzLmluZGljZXM7XHJcbiAgICBpZiAoeTEgPCB5KSB7XHJcbiAgICAgIGNvbnN0IHJhbmdlID0geTtcclxuICAgICAgeSA9IHkxLCB5MSA9IHJhbmdlO1xyXG4gICAgfVxyXG4gICAgaWYgKHgxIDwgeCkge1xyXG4gICAgICBjb25zdCByYW5nZSA9IHg7XHJcbiAgICAgIHggPSB4MSwgeDEgPSByYW5nZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGF4ZXM6IHt9ID0ge307XHJcbiAgICBpZiAoIXRoaXMuX3Nlcmllcykge1xyXG4gICAgICBpZiAoeSA9PT0gMCkgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuX2luZGljZXMgJiYgeSA8IHRoaXMuX2luZGljZXMubGVuZ3RoID8gdGhpcy5fY2luZGljZXNbeV0ubmFtZSA6IG51bGw7XHJcbiAgICAgIGxldCBpID0geTtcclxuICAgICAgZG8ge1xyXG4gICAgICAgIHRoaXMuX2F4ZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgICAgIGNvbnN0IGtleSA9ICh0aGlzLmRhdGFTb3VyY2VbaV0gYXMgYW55KS5zb3VyY2VbJ18nICsgYS5uYW1lXTtcclxuICAgICAgICAgIGlmICghYXhlc1thLm5hbWVdKVxyXG4gICAgICAgICAgICBheGVzW2EubmFtZV0gPSBrZXk7XHJcbiAgICAgICAgICBlbHNlIGlmIChpc1N0cmluZyhheGVzW2EubmFtZV0pKSB7XHJcbiAgICAgICAgICAgIGlmIChheGVzW2EubmFtZV0gIT09IGtleSkgYXhlc1thLm5hbWVdID0gW2F4ZXNbYS5uYW1lXSwga2V5XTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKChheGVzW2EubmFtZV0gYXMgc3RyaW5nW10pLmluZGV4T2Yoa2V5KSA8IDApIChheGVzW2EubmFtZV0gYXMgc3RyaW5nW10pLnB1c2goa2V5KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpKys7XHJcbiAgICAgIH1cclxuICAgICAgd2hpbGUgKGkgPD0geTEpO1xyXG4gICAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMsIGluZGV4IH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmICh5ID09PSAwKSB7XHJcbiAgICAgICAgaWYgKHkgPCB5MSlcclxuICAgICAgICAgIHRoaXMuX2ZpbGx4KHgsIHgxLCBheGVzKTtcclxuICAgICAgICBlbHNlIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh4ID09PSAwKSB7XHJcbiAgICAgICAgaWYgKHggPCB4MSlcclxuICAgICAgICAgIHRoaXMuX2ZpbGx5KHksIHkxLCBheGVzKTtcclxuICAgICAgICBlbHNlIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh5ID09PSB5MSAmJiB4ID09PSB4MSAmJiB0aGlzLmRhdGFTb3VyY2VbeV0uY2VsbHNbeF0udmFsdWUgPT09ICcwJykgcmV0dXJuO1xyXG4gICAgICBlbHNlIGlmICh5ID4gdGhpcy5kYXRhU291cmNlLmxlbmd0aCAtIDEgfHwgeCA+IHRoaXMuZGF0YVNvdXJjZVt5XS5jZWxscy5sZW5ndGggLSAxKSByZXR1cm47XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2ZpbGx4KHgsIHgxLCBheGVzKTtcclxuICAgICAgICB0aGlzLl9maWxseSh5LCB5MSwgYXhlcyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5leHBsb3JlLmVtaXQoeyBheGVzIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9maWxseSh5OiBudW1iZXIsIHkxOiBudW1iZXIsIGF4ZXM6IHt9KSB7XHJcbiAgICBjb25zdCB5TmFtZSA9IHRoaXMuX3Nlcmllc1swXTtcclxuICAgIGxldCBpID0geSAtIDE7XHJcbiAgICB3aGlsZSAoaSA8IHkxKSB7XHJcbiAgICAgIGxldCB7IGtleSB9ID0gdGhpcy5feXJvd3NbaV07XHJcbiAgICAgIGlmICghYXhlc1t5TmFtZV0pXHJcbiAgICAgICAgYXhlc1t5TmFtZV0gPSBrZXk7XHJcbiAgICAgIGVsc2UgaWYgKGlzU3RyaW5nKGF4ZXNbeU5hbWVdKSlcclxuICAgICAgICBheGVzW3lOYW1lXSA9IFtheGVzW3lOYW1lXSwga2V5XTtcclxuICAgICAgZWxzZSBpZiAoKGF4ZXNbeU5hbWVdIGFzIHN0cmluZ1tdKS5pbmRleE9mKGtleSkgPCAwKVxyXG4gICAgICAgIChheGVzW3lOYW1lXSBhcyBzdHJpbmdbXSkucHVzaChrZXkpO1xyXG4gICAgICBpKys7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWxseCh4OiBudW1iZXIsIHgxOiBudW1iZXIsIGF4ZXM6IHt9KSB7XHJcbiAgICBjb25zdCB4TmFtZSA9IHRoaXMuX3hBeGlzWzBdO1xyXG4gICAgbGV0IGkgPSB4IC0gMTtcclxuICAgIHdoaWxlIChpIDwgeDEpIHtcclxuICAgICAgbGV0IHsga2V5IH0gPSB0aGlzLl94Y29sdW1uc1tpXTtcclxuICAgICAgaWYgKCFheGVzW3hOYW1lXSlcclxuICAgICAgICBheGVzW3hOYW1lXSA9IGtleTtcclxuICAgICAgZWxzZSBpZiAoaXNTdHJpbmcoYXhlc1t4TmFtZV0pKVxyXG4gICAgICAgIGF4ZXNbeE5hbWVdID0gW2F4ZXNbeE5hbWVdLCBrZXldO1xyXG4gICAgICBlbHNlIGlmICgoYXhlc1t4TmFtZV0gYXMgc3RyaW5nW10pLmluZGV4T2Yoa2V5KSA8IDApXHJcbiAgICAgICAgKGF4ZXNbeE5hbWVdIGFzIHN0cmluZ1tdKS5wdXNoKGtleSk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cG9ydFRvRXhjZWwodGl0bGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgeyByb3dzIH0gPSB0aGlzLnNwcmVhZHNoZWV0LnNoZWV0c1swXSxcclxuICAgICAgbnVtYmVyRm9ybWF0ID0gdGhpcy5fc2VydmljZS5udW1iZXJGb3JtYXQsXHJcbiAgICAgIGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgd29ya3NoZWV0czogW1xyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAgICAgICAgICAgbmFtZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnU2hlZXROJywgMSksXHJcbiAgICAgICAgICAgICAgY29sdW1uczogcm93c1swXS5jZWxscy5tYXAoKF8sIGkpID0+ICh7IGluZGV4OiBpICsgMSwgd2lkdGg6IDE1MCB9IGFzIENvbHVtbikpLFxyXG4gICAgICAgICAgICAgIHJvd3M6IHJvd3MubWFwKChyLCBpKSA9PiAoXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIGluZGV4OiBpICsgMSxcclxuICAgICAgICAgICAgICAgICAgY2VsbHM6IHIuY2VsbHMubWFwKChjLCBqKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gaSA9PT0gMCB8fCAodGhpcy5fc2VyaWVzICE9PSB1bmRlZmluZWQgJiYgaiA9PT0gMCksXHJcbiAgICAgICAgICAgICAgICAgICAgICBpc251bWJlciA9ICFoZWFkZXIgJiYgaXNOdW1iZXIoYy52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGlzbnVtYmVyID8gJ251bWJlcicgOiAndGV4dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbmRleDogaiArIDEsXHJcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYy52YWx1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlckZvcm1hdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaEFsaWduOiBpc251bWJlciA/ICdyaWdodCcgOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9sZDogaGVhZGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBDZWxsO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgIH0gYXMgUm93KSksXHJcbiAgICAgICAgICAgIH0gYXMgV29ya3NoZWV0LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICd4bHN4J1xyXG4gICAgICApO1xyXG4gICAgYm9vay5zYXZlKGAke3RpdGxlfS54bHN4YCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zcHJlYWRzaGVldCAmJiB0aGlzLnNwcmVhZHNoZWV0LmRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiJdfQ==
@@ -27,7 +27,7 @@ export class CubeMatrixBase {
27
27
  }
28
28
  set axes(value) {
29
29
  this._axes = value;
30
- this.filters && this.filters.forEach(f => this.values[f.name] = value[f.name]);
30
+ this.filters?.forEach(f => this.values[f.name] = value[f.name]);
31
31
  }
32
32
  get cube() {
33
33
  return this._cube;
@@ -105,9 +105,6 @@ export class CubeMatrixBase {
105
105
  this.pattern = pattern;
106
106
  });
107
107
  }
108
- _copyAxesToFilterValues() {
109
- this.filters && this.filters.forEach(f => this.values[f.name] = this.axes[f.name]);
110
- }
111
108
  reset() {
112
109
  this._populate();
113
110
  this._listen().then(() => {
@@ -127,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
127
124
  type: ViewChild,
128
125
  args: [CubeMatrixComponent, { static: true }]
129
126
  }] } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR3JFLE1BQU0sT0FBZ0IsY0FBYztJQWtFbEMsWUFDWSxRQUFxQixFQUN2QixHQUFzQixFQUNwQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBN0MzQixZQUFPLEdBQW9FLEVBQUUsQ0FBQztRQUN2RixjQUFjO1FBQ0wsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQTJDVSxDQUFDO0lBOUR6QyxJQUFXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8s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aGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQUNDT1VOVF9ERUxJTUlURVIsIEN1YmVTZXJ2aWNlLCBQYXR0ZXJuIH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhlc01hcCwgQ3ViZSwgQ3ViZUF4aXMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEN1YmVNYXRyaXhDb21wb25lbnQsIFN1bVNldHRpbmdzIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdWJlTWF0cml4QmFzZSB7XHJcbiAgQFZpZXdDaGlsZChDdWJlTWF0cml4Q29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZTogQ3ViZU1hdHJpeENvbXBvbmVudDtcclxuICBzZXJpZXNUb3RhbExhYmVsOiBzdHJpbmc7XHJcbiAgeEF4aXNUb3RhbExhYmVsOiBzdHJpbmc7XHJcbiAgbG9hZGluZzogYm9vbGVhbjtcclxuICBwcml2YXRlIF9heGVzOiBBeGVzTWFwO1xyXG4gIHByaXZhdGUgX29yaWdpbmFsQXhlczogQXhlc01hcDtcclxuICBwdWJsaWMgc2V0IG9yaWdpbmFsQXhlcyh2YWx1ZTogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxBeGVzID0geyAuLi52YWx1ZSB9O1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IG9yaWdpbmFsQXhlcygpOiBBeGVzTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9vcmlnaW5hbEF4ZXM7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgYXhlcygpOiBBeGVzTWFwIHtcclxuICAgIHJldHVybiB0aGlzLl9heGVzO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGF4ZXModmFsdWU6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX2F4ZXMgPSB2YWx1ZTtcclxuICAgIHRoaXMuZmlsdGVycyAmJiB0aGlzLmZpbHRlcnMuZm9yRWFjaChmID0+XHJcbiAgICAgIHRoaXMudmFsdWVzW2YubmFtZV0gPSB2YWx1ZVtmLm5hbWVdXHJcbiAgICApO1xyXG4gIH1cclxuICB0aXRsZTogc3RyaW5nO1xyXG5cclxuICByZWFkb25seSBzb3VyY2VzOiB7IFtheGlzOiBzdHJpbmddOiBPYnNlcnZhYmxlPHsga2V5OiBzdHJpbmc7IHZhbHVlOiBhbnk7IH1bXT47IH0gPSB7fTtcclxuICAvKiogZmlsdGVycyAqL1xyXG4gIHJlYWRvbmx5IHZhbHVlczogQXhlc01hcCA9IHt9O1xyXG4gIGZpbHRlcnM6IEN1YmVBeGlzW107XHJcbiAgcGF0dGVybnM6IFBhdHRlcm5bXTtcclxuICBwYXR0ZXJuOiBQYXR0ZXJuO1xyXG4gIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICB4QXhpczogc3RyaW5nO1xyXG4gIHNlcmllczogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2N1YmU6IHN0cmluZztcclxuICBwdWJsaWMgZ2V0IGN1YmUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9jdWJlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGN1YmUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHZhbHVlKTtcclxuICAgIGlmICghdGhpcy5jb25maWd1cmF0aW9uKSB7XHJcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgICAgdmFsdWUgPSB0aGlzLmNvbmZpZ3VyYXRpb24ubmFtZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlcnZpY2UucGF0dGVybnModmFsdWUpLlxyXG4gICAgICBzdWJzY3JpYmUocCA9PlxyXG4gICAgICAgIHRoaXMucGF0dGVybnMgPSBwKTtcclxuICAgIHRoaXMuX2N1YmUgPSB2YWx1ZTtcclxuICB9XHJcbiAgc3VtPzogU3VtU2V0dGluZ3MgfCBTdW1TZXR0aW5nc1tdO1xyXG4gIC8qKiBvbmUgb3IgbW9yZSBheGlzICovXHJcbiAgcHJvdGVjdGVkIGFnZ3JlZ2F0aW9uPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBwcm90ZWN0ZWQgZ2V0IHNlbGVjdGlvbigpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgc2V0IHNlbGVjdGlvbih2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcclxuICAgIC8qKiBvbmUgb3IgbW9yZSBheGlzICovXHJcbiAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYXhlcy5maWx0ZXIoYSA9PiBpc0FycmF5KHZhbHVlKSA/XHJcbiAgICAgIHZhbHVlLmluZGV4T2YoYS5uYW1lKSA+IC0xIDpcclxuICAgICAgYS5uYW1lID09PSB2YWx1ZSk7XHJcblxyXG4gICAgdGhpcy5maWx0ZXJzLmZvckVhY2goZiA9PiB0aGlzLnNvdXJjZXNbZi5uYW1lXSA9IHRoaXMuX2RzLmFsbChmLmRhdGFUeXBlKVxyXG4gICAgKTtcclxuICAgIHRoaXMuX3NlbGVjdGlvbiA9IHZhbHVlO1xyXG4gIH1cclxuICBjb25maWd1cmF0aW9uOiBDdWJlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHsgfVxyXG4gIHByaXZhdGUgX3BvcHVsYXRlKCkge1xyXG4gICAgY29uc3QgYXhlcyA9IHsgLi4udGhpcy5fb3JpZ2luYWxBeGVzIH07XHJcbiAgICBpZiAodGhpcy5hZ2dyZWdhdGlvbilcclxuICAgICAgKGlzQXJyYXkodGhpcy5hZ2dyZWdhdGlvbikgPyB0aGlzLmFnZ3JlZ2F0aW9uIDogW3RoaXMuYWdncmVnYXRpb24gYXMgc3RyaW5nXSkuXHJcbiAgICAgICAgZm9yRWFjaChnID0+IHtcclxuICAgICAgICAgIGlmIChheGVzW2ddKVxyXG4gICAgICAgICAgICBkZWxldGUgYXhlc1tnXTtcclxuICAgICAgICB9KTtcclxuICAgIHRoaXMuYXhlcyA9IGF4ZXM7XHJcbiAgICB0aGlzLl9saXN0ZW4oKS50aGVuKCgpID0+IHtcclxuICAgICAgY29uc3QgY29tYmluYXRpb24gPSB0aGlzLl9jb21iaW5lKGF4ZXMpO1xyXG4gICAgICB0aGlzLnRpdGxlID0gY29tYmluYXRpb24uam9pbihBQ0NPVU5UX0RFTElNSVRFUik7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gYXhlc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NvbWJpbmUoYXhlczogQXhlc01hcCk6IChzdHJpbmcgfCBudW1iZXIpW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5heGVzLlxyXG4gICAgICBmaWx0ZXIoYSA9PiBhLmNvbWJpbmF0aW9uKS5cclxuICAgICAgbWFwKGEgPT4gYXhlc1thLm5hbWVdIGFzIHN0cmluZyB8IG51bWJlcik7XHJcbiAgfVxyXG4gIC8qKlxyXG4gKlxyXG4gKiBAcGFyYW0gdmFsdWVcclxuICovXHJcbiAgZmlsdGVyKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bWJlciwgdGl0bGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYXhlcyA9IHsgLi4udGhpcy5heGVzIH07XHJcbiAgICBheGVzW25hbWVdID0gdmFsdWU7XHJcbiAgICB0aGlzLm9uRmlsdGVyKGF4ZXMpO1xyXG4gICAgdGhpcy5fbGlzdGVuKCkudGhlbigoKSA9PlxyXG4gICAgICB0aGlzLnZhbHVlc1tuYW1lXSA9IHZhbHVlXHJcbiAgICApO1xyXG4gIH1cclxuICBwcml2YXRlIF9saXN0ZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy50YWJsZS5sb2FkaW5nQ2hhbmdlLnBpcGUoZmlsdGVyKG9rID0+ICFvayksIGZpcnN0KCkpLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG5cclxuICBvbkZpbHRlcihheGVzOiBBeGVzTWFwKSB7XHJcbiAgICB0aGlzLmF4ZXMgPSBheGVzO1xyXG4gIH1cclxuICAvKipcclxuICAgICpcclxuICAgICogQHBhcmFtIHBhdHRlcm5cclxuICAgICovXHJcbiAgYWdncmVnYXRlKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB7IC4uLnBhdHRlcm4uYXhlcyB9O1xyXG4gICAgdGhpcy5fc2VydmljZS5iYXNlKHRoaXMuY3ViZSwgYXhlcywgdGhpcy5vcmlnaW5hbEF4ZXMpO1xyXG4gICAgdGhpcy5heGVzID0geyAuLi5heGVzLCAuLi50aGlzLnZhbHVlcyB9O1xyXG4gICAgdGhpcy5fbGlzdGVuKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBwYXR0ZXJuLnRpdGxlO1xyXG4gICAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb3B5QXhlc1RvRmlsdGVyVmFsdWVzKCkge1xyXG4gICAgdGhpcy5maWx0ZXJzICYmIHRoaXMuZmlsdGVycy5mb3JFYWNoKGYgPT5cclxuICAgICAgdGhpcy52YWx1ZXNbZi5uYW1lXSA9IHRoaXMuYXhlc1tmLm5hbWVdXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLl9wb3B1bGF0ZSgpO1xyXG4gICAgdGhpcy5fbGlzdGVuKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMucGF0dGVybiA9IG51bGw7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBudWxsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5heGVzID0geyAuLi50aGlzLmF4ZXMgfTtcclxuICB9XHJcbn1cclxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFlLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBR3JFLE1BQU0sT0FBZ0IsY0FBYztJQWlFbEMsWUFDWSxRQUFxQixFQUN2QixHQUFzQixFQUNwQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3BCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBNUMzQixZQUFPLEdBQW9FLEVBQUUsQ0FBQztRQUN2RixjQUFjO1FBQ0wsV0FBTSxHQUFZLEVBQUUsQ0FBQztJQTBDVSxDQUFDO0lBN0R6QyxJQUFXLFlBQVksQ0FBQyxLQUFjO1FBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQVcsSUFBSSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8s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RCxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMvQixDQUFDOzsyR0F2SW1CLGNBQWM7K0ZBQWQsY0FBYyxpRUFDdkIsbUJBQW1COzJGQURWLGNBQWM7a0JBRG5DLFNBQVM7K0pBRTBDLEtBQUs7c0JBQXRELFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFDQ09VTlRfREVMSU1JVEVSLCBDdWJlU2VydmljZSwgUGF0dGVybiB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBDdWJlTWF0cml4Q29tcG9uZW50LCBTdW1TZXR0aW5ncyB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3ViZU1hdHJpeEJhc2Uge1xyXG4gIEBWaWV3Q2hpbGQoQ3ViZU1hdHJpeENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgdGFibGU6IEN1YmVNYXRyaXhDb21wb25lbnQ7XHJcbiAgc2VyaWVzVG90YWxMYWJlbDogc3RyaW5nO1xyXG4gIHhBeGlzVG90YWxMYWJlbDogc3RyaW5nO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfYXhlczogQXhlc01hcDtcclxuICBwcml2YXRlIF9vcmlnaW5hbEF4ZXM6IEF4ZXNNYXA7XHJcbiAgcHVibGljIHNldCBvcmlnaW5hbEF4ZXModmFsdWU6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX29yaWdpbmFsQXhlcyA9IHsgLi4udmFsdWUgfTtcclxuICB9XHJcbiAgcHVibGljIGdldCBvcmlnaW5hbEF4ZXMoKTogQXhlc01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3JpZ2luYWxBeGVzO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGF4ZXMoKTogQXhlc01hcCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXhlcztcclxuICB9XHJcbiAgcHVibGljIHNldCBheGVzKHZhbHVlOiBBeGVzTWFwKSB7XHJcbiAgICB0aGlzLl9heGVzID0gdmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlcnM/LmZvckVhY2goZiA9PlxyXG4gICAgICB0aGlzLnZhbHVlc1tmLm5hbWVdID0gdmFsdWVbZi5uYW1lXVxyXG4gICAgKTtcclxuICB9XHJcbiAgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgcmVhZG9ubHkgc291cmNlczogeyBbYXhpczogc3RyaW5nXTogT2JzZXJ2YWJsZTx7IGtleTogc3RyaW5nOyB2YWx1ZTogYW55OyB9W10+OyB9ID0ge307XHJcbiAgLyoqIGZpbHRlcnMgKi9cclxuICByZWFkb25seSB2YWx1ZXM6IEF4ZXNNYXAgPSB7fTtcclxuICBmaWx0ZXJzOiBDdWJlQXhpc1tdO1xyXG4gIHBhdHRlcm5zOiBQYXR0ZXJuW107XHJcbiAgcGF0dGVybjogUGF0dGVybjtcclxuICBpbmRpY2VzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgeEF4aXM6IHN0cmluZztcclxuICBzZXJpZXM6IHN0cmluZztcclxuICBwcml2YXRlIF9jdWJlOiBzdHJpbmc7XHJcbiAgcHVibGljIGdldCBjdWJlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3ViZTtcclxuICB9XHJcbiAgcHVibGljIHNldCBjdWJlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB2YWx1ZSk7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbikge1xyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICAgIHZhbHVlID0gdGhpcy5jb25maWd1cmF0aW9uLm5hbWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnBhdHRlcm5zKHZhbHVlKS5cclxuICAgICAgc3Vic2NyaWJlKHAgPT5cclxuICAgICAgICB0aGlzLnBhdHRlcm5zID0gcCk7XHJcbiAgICB0aGlzLl9jdWJlID0gdmFsdWU7XHJcbiAgfVxyXG4gIHN1bT86IFN1bVNldHRpbmdzIHwgU3VtU2V0dGluZ3NbXTtcclxuICAvKiogb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gIHByb3RlY3RlZCBhZ2dyZWdhdGlvbj86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG4gIHByaXZhdGUgX3NlbGVjdGlvbjogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgcHJvdGVjdGVkIGdldCBzZWxlY3Rpb24oKTogc3RyaW5nIHwgc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbjtcclxuICB9XHJcbiAgcHJvdGVjdGVkIHNldCBzZWxlY3Rpb24odmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICAvKiogb25lIG9yIG1vcmUgYXhpcyAqL1xyXG4gICAgdGhpcy5maWx0ZXJzID0gdGhpcy5jb25maWd1cmF0aW9uLmF4ZXMuZmlsdGVyKGEgPT4gaXNBcnJheSh2YWx1ZSkgP1xyXG4gICAgICB2YWx1ZS5pbmRleE9mKGEubmFtZSkgPiAtMSA6XHJcbiAgICAgIGEubmFtZSA9PT0gdmFsdWUpO1xyXG5cclxuICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKGYgPT4gdGhpcy5zb3VyY2VzW2YubmFtZV0gPSB0aGlzLl9kcy5hbGwoZi5kYXRhVHlwZSkpO1xyXG4gICAgdGhpcy5fc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgfVxyXG4gIGNvbmZpZ3VyYXRpb246IEN1YmU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkgeyB9XHJcbiAgcHJpdmF0ZSBfcG9wdWxhdGUoKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi50aGlzLl9vcmlnaW5hbEF4ZXMgfTtcclxuICAgIGlmICh0aGlzLmFnZ3JlZ2F0aW9uKVxyXG4gICAgICAoaXNBcnJheSh0aGlzLmFnZ3JlZ2F0aW9uKSA/IHRoaXMuYWdncmVnYXRpb24gOiBbdGhpcy5hZ2dyZWdhdGlvbiBhcyBzdHJpbmddKS5cclxuICAgICAgICBmb3JFYWNoKGcgPT4ge1xyXG4gICAgICAgICAgaWYgKGF4ZXNbZ10pXHJcbiAgICAgICAgICAgIGRlbGV0ZSBheGVzW2ddO1xyXG4gICAgICAgIH0pO1xyXG4gICAgdGhpcy5heGVzID0gYXhlcztcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICBjb25zdCBjb21iaW5hdGlvbiA9IHRoaXMuX2NvbWJpbmUoYXhlcyk7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBjb21iaW5hdGlvbi5qb2luKEFDQ09VTlRfREVMSU1JVEVSKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBheGVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY29tYmluZShheGVzOiBBeGVzTWFwKTogKHN0cmluZyB8IG51bWJlcilbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmF0aW9uLmF4ZXMuXHJcbiAgICAgIGZpbHRlcihhID0+IGEuY29tYmluYXRpb24pLlxyXG4gICAgICBtYXAoYSA9PiBheGVzW2EubmFtZV0gYXMgc3RyaW5nIHwgbnVtYmVyKTtcclxuICB9XHJcbiAgLyoqXHJcbiAqXHJcbiAqIEBwYXJhbSB2YWx1ZVxyXG4gKi9cclxuICBmaWx0ZXIobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCB0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBheGVzID0geyAuLi50aGlzLmF4ZXMgfTtcclxuICAgIGF4ZXNbbmFtZV0gPSB2YWx1ZTtcclxuICAgIHRoaXMub25GaWx0ZXIoYXhlcyk7XHJcbiAgICB0aGlzLl9saXN0ZW4oKS50aGVuKCgpID0+XHJcbiAgICAgIHRoaXMudmFsdWVzW25hbWVdID0gdmFsdWVcclxuICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xpc3RlbigpIHtcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLmxvYWRpbmdDaGFuZ2UucGlwZShmaWx0ZXIob2sgPT4gIW9rKSwgZmlyc3QoKSkudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIG9uRmlsdGVyKGF4ZXM6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuYXhlcyA9IGF4ZXM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgKlxyXG4gICAgKiBAcGFyYW0gcGF0dGVyblxyXG4gICAgKi9cclxuICBhZ2dyZWdhdGUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgY29uc3QgYXhlcyA9IHsgLi4ucGF0dGVybi5heGVzIH07XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmJhc2UodGhpcy5jdWJlLCBheGVzLCB0aGlzLm9yaWdpbmFsQXhlcyk7XHJcbiAgICB0aGlzLmF4ZXMgPSB7IC4uLmF4ZXMsIC4uLnRoaXMudmFsdWVzIH07XHJcbiAgICB0aGlzLl9saXN0ZW4oKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy50aXRsZSA9IHBhdHRlcm4udGl0bGU7XHJcbiAgICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5fcG9wdWxhdGUoKTtcclxuICAgIHRoaXMuX2xpc3RlbigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnBhdHRlcm4gPSBudWxsO1xyXG4gICAgICB0aGlzLnRpdGxlID0gbnVsbDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuYXhlcyA9IHsgLi4udGhpcy5heGVzIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,6 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { CubeMatrixBase } from './matrix.base';
3
+ import { OpenPolicy } from '../../core/configuration';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "../../core/slots/pane-ref";
5
6
  import * as i2 from "../../core/slots/router.service";
@@ -49,12 +50,14 @@ export class CubeMatrixPaneComponent extends CubeMatrixBase {
49
50
  }
50
51
  onFilter(queryParams) {
51
52
  this._router.navigate([], {
52
- queryParams
53
+ queryParams,
54
+ policy: OpenPolicy.Tab
53
55
  });
54
56
  }
55
57
  explore(queryParams) {
56
58
  this._router.navigate(['cube', this.cube, 'explore'], {
57
- queryParams
59
+ queryParams,
60
+ policy: OpenPolicy.Tab | OpenPolicy.Dismissable
58
61
  });
59
62
  }
60
63
  }
@@ -66,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
66
69
  class: 'pane'
67
70
  }, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"table.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"matrix.export()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=sum\r\n [filters]=\"axes\" #matrix\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n (loadingChange)=\"loading = $event\" (explore)='explore($event)'></bizdoc-cube-matrix>\r\n", styles: [":host{min-width:450px}:host ::ng-deep .cube-table thead{position:sticky;top:0}\n"] }]
68
71
  }], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.PanesRouter }, { type: i3.TranslateService }, { type: i4.CubeService }, { type: i5.DatasourceService }, { type: i6.SessionService }]; } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL21hdHJpeC9tYXRyaXgucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVcvQyxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsY0FBYztJQUN6RCxxQkFBcUI7SUFDckIsWUFDVSxLQUF1QyxFQUN2QyxPQUFvQixFQUNwQixVQUE0QixFQUNwQyxPQUFvQixFQUNwQixFQUFxQixFQUNyQixPQUF1QjtRQUN2QixLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQU5wQixVQUFLLEdBQUwsS0FBSyxDQUFrQztRQUN2QyxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQWtCO0lBS3RDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQzVDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1QixNQUFNO1lBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUNELFFBQVEsQ0FBQyxXQUFvQjtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLENBQUMsV0FBb0I7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNwRCxXQUFXO1NBQ1osQ0FBQyxDQUFDO0lBRUwsQ0FBQzs7b0hBN0NVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDZHQ2xCcEMsbzdEQWdDQTsyRkRkYSx1QkFBdUI7a0JBUG5DLFNBQVM7MkJBR0Y7d0JBQ0osS0FBSyxFQUFFLE1BQU07cUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlIH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBBeGVzTWFwIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBDdWJlTWF0cml4QmFzZSB9IGZyb20gJy4vbWF0cml4LmJhc2UnO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tYXRyaXgucGFuZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncGFuZSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlTWF0cml4UGFuZUNvbXBvbmVudCBleHRlbmRzIEN1YmVNYXRyaXhCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogY3ViZS1pbmZvIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8Q3ViZU1hdHJpeFBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcixcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHNlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHNlcnZpY2UsIGRzLCBzZXNzaW9uKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5wYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICB0aGlzLmN1YmUgPSBwWydjdWJlJ107XHJcbiAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdNYXRyaXgnKTtcclxuICAgICAgdGhpcy5fcGFuZS5ncm91cCA9IHRoaXMuY29uZmlndXJhdGlvbi50aXRsZTtcclxuICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pY29uKVxyXG4gICAgICAgIHRoaXMuX3BhbmUuaWNvbiA9IHRoaXMuY29uZmlndXJhdGlvbi5pY29uO1xyXG4gICAgICB0aGlzLnhBeGlzID0gcFsneEF4aXMnXTtcclxuICAgICAgdGhpcy5zZXJpZXMgPSBwWydzZXJpZXMnXTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgdGhpcy5pbmRpY2VzID0gZFsnaW5kaWNlcyddO1xyXG4gICAgICAvKiogKi9cclxuICAgICAgdGhpcy5hZ2dyZWdhdGlvbiA9IGRbJ2FnZ3JlZ2F0ZSddO1xyXG4gICAgICB0aGlzLnN1bSA9IGRbJ3N1bSddO1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IGRbJ2ZpbHRlcnMnXTtcclxuICAgICAgdGhpcy54QXhpc1RvdGFsTGFiZWwgPSBkWyd4QXhpc1RvdGFsTGFiZWwnXTtcclxuICAgICAgdGhpcy5zZXJpZXNUb3RhbExhYmVsID0gZFsnc2VyaWVzVG90YWxMYWJlbCddO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLnF1ZXJ5UGFyYW1zQ2hhbmdlLnN1YnNjcmliZShwID0+XHJcbiAgICAgIHRoaXMub3JpZ2luYWxBeGVzID0gdGhpcy5heGVzID0gcFxyXG4gICAgKTtcclxuICB9XHJcbiAgb25GaWx0ZXIocXVlcnlQYXJhbXM6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbXSwge1xyXG4gICAgICBxdWVyeVBhcmFtc1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGV4cGxvcmUocXVlcnlQYXJhbXM6IEF4ZXNNYXApIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2N1YmUnLCB0aGlzLmN1YmUsICdleHBsb3JlJ10sIHtcclxuICAgICAgcXVlcnlQYXJhbXNcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyIGNsYXNzPVwibmF2LXRvb2xiYXJcIj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidGFibGUucmVmcmVzaCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlZnJlc2gnIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uIG1hdEFuaW1hdGU9XCJyb3RhdGVcIj5hdXRvcmVuZXc8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFtiaXpkb2NUb29sdGlwXT1cIidEb3dubG9hZCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgZGF0YS1oZWxwPVwiZG93bmxvYWRcIiAoY2xpY2spPVwibWF0cml4LmV4cG9ydCgpXCI+XHJcbiAgICA8bWF0LWljb24+c2F2ZV9hbHQ8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc1wiICpuZ0lmPVwicGF0dGVybnMgJiYgcGF0dGVybnMubGVuZ3RoXCI+PG1hdC1pY29uIFtjbGFzcy5maWxsZWRdPVwicGF0dGVyblwiPmZpbHRlcl9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSAjb3B0aW9ucyB4UG9zaXRpb249XCJiZWZvcmVcIj5cclxuICAgIDwhLS0gcGF0dGVybnMgLS0+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHAgb2YgcGF0dGVybnNcIiAoY2xpY2spPVwiYWdncmVnYXRlKHApXCI+e3twLnRpdGxlfX08L2J1dHRvbj5cclxuICA8L21hdC1tZW51PlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZXNldCgpXCIgW2Rpc2FibGVkXT1cIiFwYXR0ZXJuXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NsZWFyJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgPG1hdC1pY29uPmNsZWFyX2FsbDwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPCEtLSBmaWx0ZXJzIC0tPlxyXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGYgb2YgZmlsdGVyc1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJmbWVudVwiPnt7dmFsdWVzW2YubmFtZV18IHR5cGVWYWx1ZSA6IGYuZGF0YVR5cGUgfCBhc3luY319IDxtYXQtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPG1hdC1tZW51ICNmbWVudSB4UG9zaXRpb249XCJiZWZvcmVcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBrdiBvZiBzb3VyY2VzW2YubmFtZV0gfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlcihmLm5hbWUsIGt2LmtleSwga3YudmFsdWUpXCI+XHJcbiAgICAgICAge3trdi52YWx1ZX19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9tYXQtdG9vbGJhcj5cclxuPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cInF1ZXJ5XCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGJpemRvYy1jdWJlLW1hdHJpeCBbY3ViZV09XCJjdWJlXCIgW3hBeGlzXT1cInhBeGlzXCIgW3Nlcmllc109XCJzZXJpZXNcIiBbaW5kaWNlc109XCJpbmRpY2VzXCIgW3N1bV09c3VtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJzXT1cImF4ZXNcIiAjbWF0cml4XHJcbiAgICAgICAgICAgICAgICAgICAgW3hBeGlzVG90YWxMYWJlbF09XCJ4QXhpc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZXJpZXNUb3RhbExhYmVsXT1cInNlcmllc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAobG9hZGluZ0NoYW5nZSk9XCJsb2FkaW5nID0gJGV2ZW50XCIgKGV4cGxvcmUpPSdleHBsb3JlKCRldmVudCknPjwvYml6ZG9jLWN1YmUtbWF0cml4PlxyXG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL21hdHJpeC9tYXRyaXgucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVdEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFDekQscUJBQXFCO0lBQ3JCLFlBQ1UsS0FBdUMsRUFDdkMsT0FBb0IsRUFDcEIsVUFBNEIsRUFDcEMsT0FBb0IsRUFDcEIsRUFBcUIsRUFDckIsT0FBdUI7UUFDdkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFOcEIsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUt0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsTUFBTTtZQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFDRCxRQUFRLENBQUMsV0FBb0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3hCLFdBQVc7WUFDWCxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUc7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sQ0FBQyxXQUFvQjtRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3BELFdBQVc7WUFDWCxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsV0FBVztTQUNoRCxDQUFDLENBQUM7SUFDTCxDQUFDOztvSEE5Q1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsNkdDbEJwQyxvN0RBZ0NBOzJGRGRhLHVCQUF1QjtrQkFQbkMsU0FBUzsyQkFHRjt3QkFDSixLQUFLLEVBQUUsTUFBTTtxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEN1YmVNYXRyaXhCYXNlIH0gZnJvbSAnLi9tYXRyaXguYmFzZSc7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vbWF0cml4LnBhbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21hdHJpeC5wYW5lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1YmVNYXRyaXhQYW5lQ29tcG9uZW50IGV4dGVuZHMgQ3ViZU1hdHJpeEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBjdWJlLWluZm8gY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxDdWJlTWF0cml4UGFuZUNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBkczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIoc2VydmljZSwgZHMsIHNlc3Npb24pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wYW5lLnBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIHRoaXMuY3ViZSA9IHBbJ2N1YmUnXTtcclxuICAgICAgdGhpcy5fcGFuZS50aXRsZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ01hdHJpeCcpO1xyXG4gICAgICB0aGlzLl9wYW5lLmdyb3VwID0gdGhpcy5jb25maWd1cmF0aW9uLnRpdGxlO1xyXG4gICAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uLmljb24pXHJcbiAgICAgICAgdGhpcy5fcGFuZS5pY29uID0gdGhpcy5jb25maWd1cmF0aW9uLmljb247XHJcbiAgICAgIHRoaXMueEF4aXMgPSBwWyd4QXhpcyddO1xyXG4gICAgICB0aGlzLnNlcmllcyA9IHBbJ3NlcmllcyddO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLmRhdGFDaGFuZ2Uuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLmluZGljZXMgPSBkWydpbmRpY2VzJ107XHJcbiAgICAgIC8qKiAqL1xyXG4gICAgICB0aGlzLmFnZ3JlZ2F0aW9uID0gZFsnYWdncmVnYXRlJ107XHJcbiAgICAgIHRoaXMuc3VtID0gZFsnc3VtJ107XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gZFsnZmlsdGVycyddO1xyXG4gICAgICB0aGlzLnhBeGlzVG90YWxMYWJlbCA9IGRbJ3hBeGlzVG90YWxMYWJlbCddO1xyXG4gICAgICB0aGlzLnNlcmllc1RvdGFsTGFiZWwgPSBkWydzZXJpZXNUb3RhbExhYmVsJ107XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucXVlcnlQYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT5cclxuICAgICAgdGhpcy5vcmlnaW5hbEF4ZXMgPSB0aGlzLmF4ZXMgPSBwXHJcbiAgICApO1xyXG4gIH1cclxuICBvbkZpbHRlcihxdWVyeVBhcmFtczogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtdLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zLFxyXG4gICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZXhwbG9yZShxdWVyeVBhcmFtczogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY3ViZScsIHRoaXMuY3ViZSwgJ2V4cGxvcmUnXSwge1xyXG4gICAgICBxdWVyeVBhcmFtcyxcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LlRhYiB8IE9wZW5Qb2xpY3kuRGlzbWlzc2FibGVcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJuYXYtdG9vbGJhclwiPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0YWJsZS5yZWZyZXNoKClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVmcmVzaCcgfCB0cmFuc2xhdGVcIj48bWF0LWljb24gbWF0QW5pbWF0ZT1cInJvdGF0ZVwiPmF1dG9yZW5ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2JpemRvY1Rvb2x0aXBdPVwiJ0Rvd25sb2FkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICBkYXRhLWhlbHA9XCJkb3dubG9hZFwiIChjbGljayk9XCJtYXRyaXguZXhwb3J0KClcIj5cclxuICAgIDxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCIgKm5nSWY9XCJwYXR0ZXJucyAmJiBwYXR0ZXJucy5sZW5ndGhcIj48bWF0LWljb24gW2NsYXNzLmZpbGxlZF09XCJwYXR0ZXJuXCI+ZmlsdGVyX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNvcHRpb25zIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxyXG4gICAgPCEtLSBwYXR0ZXJucyAtLT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgcCBvZiBwYXR0ZXJuc1wiIChjbGljayk9XCJhZ2dyZWdhdGUocClcIj57e3AudGl0bGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlc2V0KClcIiBbZGlzYWJsZWRdPVwiIXBhdHRlcm5cIiBbYml6ZG9jVG9vbHRpcF09XCInQ2xlYXInIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8bWF0LWljb24+Y2xlYXJfYWxsPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8IS0tIGZpbHRlcnMgLS0+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZiBvZiBmaWx0ZXJzXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImZtZW51XCI+e3t2YWx1ZXNbZi5uYW1lXXwgdHlwZVZhbHVlIDogZi5kYXRhVHlwZSB8IGFzeW5jfX0gPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI2ZtZW51IHhQb3NpdGlvbj1cImJlZm9yZVwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGt2IG9mIHNvdXJjZXNbZi5uYW1lXSB8IGFzeW5jXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsdGVyKGYubmFtZSwga3Yua2V5LCBrdi52YWx1ZSlcIj5cclxuICAgICAgICB7e2t2LnZhbHVlfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXByb2dyZXNzLWJhciBtb2RlPVwicXVlcnlcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48Yml6ZG9jLWN1YmUtbWF0cml4IFtjdWJlXT1cImN1YmVcIiBbeEF4aXNdPVwieEF4aXNcIiBbc2VyaWVzXT1cInNlcmllc1wiIFtpbmRpY2VzXT1cImluZGljZXNcIiBbc3VtXT1zdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcnNdPVwiYXhlc1wiICNtYXRyaXhcclxuICAgICAgICAgICAgICAgICAgICBbeEF4aXNUb3RhbExhYmVsXT1cInhBeGlzVG90YWxMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3Nlcmllc1RvdGFsTGFiZWxdPVwic2VyaWVzVG90YWxMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChsb2FkaW5nQ2hhbmdlKT1cImxvYWRpbmcgPSAkZXZlbnRcIiAoZXhwbG9yZSk9J2V4cGxvcmUoJGV2ZW50KSc+PC9iaXpkb2MtY3ViZS1tYXRyaXg+XHJcbiJdfQ==
@@ -44,17 +44,17 @@ export class CubeMatrixPopupComponent extends CubeMatrixBase {
44
44
  }
45
45
  ngOnInit() {
46
46
  this.table.loadingChange.pipe(filter(ok => !ok), first()).subscribe(() => this.preloading = false, (e) => {
47
- if (e.status === 401)
47
+ if (e.status === 406)
48
48
  this._ref.close();
49
- this._sb.error(e.status === 401 ? 'Unauthorized' : null);
49
+ this._sb.error(e.status === 406 ? 'Unauthorized' : null);
50
50
  });
51
51
  }
52
52
  }
53
53
  CubeMatrixPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeMatrixPopupComponent, deps: [{ token: PopupRef }, { token: POPUP_DATA }, { token: i1.CubeService }, { token: i2.DatasourceService }, { token: i3.SessionService }, { token: i4.PromptService }], target: i0.ɵɵFactoryTarget.Component });
54
- CubeMatrixPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CubeMatrixPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\r\n [sum]=sum [interactive]=\"false\"\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n [filters]=\"axes\" (loadingChange)=\"loading=$event\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}::ng-deep .cube-table{width:100%;display:inline-table}\n"], components: [{ type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i9.CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": i12.TranslatePipe, "async": i10.AsyncPipe, "typeValue": i13.TypeValuePipe } });
54
+ CubeMatrixPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: CubeMatrixPopupComponent, selector: "ng-component", viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading && (patterns?.length || filters?.length)\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\r\n [sum]=sum [interactive]=\"false\"\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n [filters]=\"axes\" (loadingChange)=\"loading=$event\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}::ng-deep .cube-table{display:inline}\n"], components: [{ type: i5.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i9.CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": i12.TranslatePipe, "async": i10.AsyncPipe, "typeValue": i13.TypeValuePipe } });
55
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: CubeMatrixPopupComponent, decorators: [{
56
56
  type: Component,
57
- args: [{ template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\r\n [sum]=sum [interactive]=\"false\"\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n [filters]=\"axes\" (loadingChange)=\"loading=$event\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}::ng-deep .cube-table{width:100%;display:inline-table}\n"] }]
57
+ args: [{ template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <div class=\"row\" *ngIf=\"!preloading && (patterns?.length || filters?.length)\">\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"aggregate(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{values[f.name]| typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\"\r\n [sum]=sum [interactive]=\"false\"\r\n [xAxisTotalLabel]=\"xAxisTotalLabel\"\r\n [seriesTotalLabel]=\"seriesTotalLabel\"\r\n [filters]=\"axes\" (loadingChange)=\"loading=$event\"></bizdoc-cube-matrix>\r\n</div>\r\n", styles: [".container{padding:8px}::ng-deep .cube-table{display:inline}\n"] }]
58
58
  }], ctorParameters: function () { return [{ type: i14.PopupRef, decorators: [{
59
59
  type: Inject,
60
60
  args: [PopupRef]
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
65
65
  type: ViewChild,
66
66
  args: [CubeMatrixComponent, { static: true }]
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL21hdHJpeC9wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L3BvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU1yQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0MsMkJBQTJCO0FBSzNCLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxjQUFjO0lBRzFELGNBQWM7SUFFZCxxQkFBcUI7SUFDckIsWUFDNEIsSUFBYyxFQUNwQixJQUFjLEVBQ2xDLE9BQW9CLEVBQ3BCLEVBQXFCLEVBQ3JCLE9BQXVCLEVBQ2YsR0FBa0I7UUFDMUIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFORixTQUFJLEdBQUosSUFBSSxDQUFVO1FBS2hDLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFWNUIsZUFBVSxHQUFZLElBQUksQ0FBQztRQVl6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDZixNQUFNLGlCQUFpQixDQUFDO1FBQzFCLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdkcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLGdCQUFnQixDQUFDO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQW9CLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssR0FBRztnQkFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQW5DVSx3QkFBd0Isa0JBT3pCLFFBQVEsYUFDUixVQUFVO3lHQVJULHdCQUF3QiwyRkFDeEIsbUJBQW1CLHFGQ25CaEMsbXJEQThCQTsyRkRaYSx3QkFBd0I7a0JBSnBDLFNBQVM7OzswQkFXTCxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsVUFBVTsrSkFQOEIsS0FBSztzQkFBdEQsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1YmVEYXRhIH0gZnJvbSAnLi4vY3ViZS1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUE9QVVBfREFUQSB9IGZyb20gJy4uLy4uL2NvcmUvcG9wdXAvcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9wdXBSZWYgfSBmcm9tIFwiLi4vLi4vY29yZS9wb3B1cC9wb3B1cC1yZWZcIjtcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeEJhc2UgfSBmcm9tICcuL21hdHJpeC5iYXNlJztcclxuXHJcbi8qKiBjdWJlIG1hdHJpeCBjb21wb25lbnQqL1xyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BvcHVwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1YmVNYXRyaXhQb3B1cENvbXBvbmVudCBleHRlbmRzIEN1YmVNYXRyaXhCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKEN1YmVNYXRyaXhDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlOiBDdWJlTWF0cml4Q29tcG9uZW50O1xyXG4gIHByZWxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKiBmaWx0ZXJzICovXHJcblxyXG4gIC8qKiBjdWJlLWluZm8gY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChQb3B1cFJlZikgcHJpdmF0ZSBfcmVmOiBQb3B1cFJlZixcclxuICAgIEBJbmplY3QoUE9QVVBfREFUQSkgZGF0YTogQ3ViZURhdGEsXHJcbiAgICBzZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIGRzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHNlcnZpY2UsIGRzLCBzZXNzaW9uKTtcclxuICAgIGlmICghZGF0YS5vcHRpb25zKVxyXG4gICAgICB0aHJvdyAnbm8gZGF0YSBvcHRpb25zJztcclxuICAgIGNvbnN0IHsgYXhlczogYmFzZSwgb3B0aW9uczogeyBzZXJpZXNUb3RhbExhYmVsLCBpbmRpY2VzLCB4QXhpcywgc2VyaWVzLCBmaWx0ZXJzLCBjdWJlLCBzdW0gfSB9ID0gZGF0YTtcclxuICAgIHRoaXMuY3ViZSA9IGN1YmU7XHJcbiAgICB0aGlzLnNlcmllcyA9IHNlcmllcztcclxuICAgIHRoaXMueEF4aXMgPSB4QXhpcztcclxuICAgIHRoaXMuc3VtID0gc3VtO1xyXG4gICAgdGhpcy5pbmRpY2VzID0gaW5kaWNlcztcclxuICAgIHRoaXMuc2VsZWN0aW9uID0gZmlsdGVycztcclxuICAgIHRoaXMuYXhlcyA9IGJhc2U7XHJcbiAgICB0aGlzLnhBeGlzVG90YWxMYWJlbCA9IHNlcmllc1RvdGFsTGFiZWw7XHJcbiAgICB0aGlzLnNlcmllc1RvdGFsTGFiZWwgPSBzZXJpZXNUb3RhbExhYmVsO1xyXG4gICAgdGhpcy5vcmlnaW5hbEF4ZXMgPSBiYXNlO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFibGUubG9hZGluZ0NoYW5nZS5waXBlKGZpbHRlcihvayA9PiAhb2spLCBmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5wcmVsb2FkaW5nID0gZmFsc2UsIChlOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlLnN0YXR1cyA9PT0gNDAxKVxyXG4gICAgICAgICAgdGhpcy5fcmVmLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoZS5zdGF0dXMgPT09IDQwMSA/ICdVbmF1dGhvcml6ZWQnIDogbnVsbCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwicXVlcnlcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiIXByZWxvYWRpbmdcIj5cclxuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgIDwhLS0gdGl0bGUgLS0+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc1wiICpuZ0lmPVwicGF0dGVybnMgJiYgcGF0dGVybnMubGVuZ3RoXCI+PG1hdC1pY29uIFtjbGFzcy5maWxsZWRdPVwicGF0dGVyblwiPmZpbHRlcl9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPG1hdC1tZW51ICNvcHRpb25zIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxyXG4gICAgICA8IS0tIHBhdHRlcm5zIC0tPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHAgb2YgcGF0dGVybnNcIiAoY2xpY2spPVwiYWdncmVnYXRlKHApXCI+e3twLnRpdGxlfX08L2J1dHRvbj5cclxuICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVzZXQoKVwiIFtkaXNhYmxlZF09XCIhcGF0dGVyblwiIFtiaXpkb2NUb29sdGlwXT1cIidDbGVhcicgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgPG1hdC1pY29uPmNsZWFyX2FsbDwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDwhLS0gZmlsdGVycyAtLT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGYgb2YgZmlsdGVyc1wiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImZtZW51XCI+e3t2YWx1ZXNbZi5uYW1lXXwgdHlwZVZhbHVlIDogZi5kYXRhVHlwZSB8IGFzeW5jfX0gPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxtYXQtbWVudSAjZm1lbnUgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBrdiBvZiBzb3VyY2VzW2YubmFtZV0gfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsdGVyKGYubmFtZSwga3Yua2V5LCBrdi52YWx1ZSlcIj5cclxuICAgICAgICAgIHt7a3YudmFsdWV9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGJpemRvYy1jdWJlLW1hdHJpeCBbY3ViZV09XCJjdWJlXCIgW3hBeGlzXT1cInhBeGlzXCIgW3Nlcmllc109XCJzZXJpZXNcIiBbaW5kaWNlc109XCJpbmRpY2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzdW1dPXN1bSBbaW50ZXJhY3RpdmVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt4QXhpc1RvdGFsTGFiZWxdPVwieEF4aXNUb3RhbExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzZXJpZXNUb3RhbExhYmVsXT1cInNlcmllc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcnNdPVwiYXhlc1wiIChsb2FkaW5nQ2hhbmdlKT1cImxvYWRpbmc9JGV2ZW50XCI+PC9iaXpkb2MtY3ViZS1tYXRyaXg+XHJcbjwvZGl2PlxyXG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL21hdHJpeC9wb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L3BvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQU1yQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFL0MsMkJBQTJCO0FBSzNCLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxjQUFjO0lBRzFELGNBQWM7SUFFZCxxQkFBcUI7SUFDckIsWUFDNEIsSUFBYyxFQUNwQixJQUFjLEVBQ2xDLE9BQW9CLEVBQ3BCLEVBQXFCLEVBQ3JCLE9BQXVCLEVBQ2YsR0FBa0I7UUFDMUIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFORixTQUFJLEdBQUosSUFBSSxDQUFVO1FBS2hDLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFWNUIsZUFBVSxHQUFHLElBQUksQ0FBQztRQVloQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87WUFDZixNQUFNLGlCQUFpQixDQUFDO1FBQzFCLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDdkcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLGdCQUFnQixDQUFDO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUN2RSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQW9CLEVBQUUsRUFBRTtZQUNoRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssR0FBRztnQkFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQW5DVSx3QkFBd0Isa0JBT3pCLFFBQVEsYUFDUixVQUFVO3lHQVJULHdCQUF3QiwyRkFDeEIsbUJBQW1CLHFGQ25CaEMsNHREQThCQTsyRkRaYSx3QkFBd0I7a0JBSnBDLFNBQVM7OzswQkFXTCxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsVUFBVTsrSkFQOEIsS0FBSztzQkFBdEQsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGZpbHRlciwgZmlyc3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEN1YmVEYXRhIH0gZnJvbSAnLi4vY3ViZS1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUE9QVVBfREFUQSB9IGZyb20gJy4uLy4uL2NvcmUvcG9wdXAvcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9wdXBSZWYgfSBmcm9tIFwiLi4vLi4vY29yZS9wb3B1cC9wb3B1cC1yZWZcIjtcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeEJhc2UgfSBmcm9tICcuL21hdHJpeC5iYXNlJztcclxuXHJcbi8qKiBjdWJlIG1hdHJpeCBjb21wb25lbnQqL1xyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BvcHVwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEN1YmVNYXRyaXhQb3B1cENvbXBvbmVudCBleHRlbmRzIEN1YmVNYXRyaXhCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkKEN1YmVNYXRyaXhDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHRhYmxlOiBDdWJlTWF0cml4Q29tcG9uZW50O1xyXG4gIHByZWxvYWRpbmcgPSB0cnVlO1xyXG4gIC8qKiBmaWx0ZXJzICovXHJcblxyXG4gIC8qKiBjdWJlLWluZm8gY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChQb3B1cFJlZikgcHJpdmF0ZSBfcmVmOiBQb3B1cFJlZixcclxuICAgIEBJbmplY3QoUE9QVVBfREFUQSkgZGF0YTogQ3ViZURhdGEsXHJcbiAgICBzZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIGRzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHNlcnZpY2UsIGRzLCBzZXNzaW9uKTtcclxuICAgIGlmICghZGF0YS5vcHRpb25zKVxyXG4gICAgICB0aHJvdyAnbm8gZGF0YSBvcHRpb25zJztcclxuICAgIGNvbnN0IHsgYXhlczogYmFzZSwgb3B0aW9uczogeyBzZXJpZXNUb3RhbExhYmVsLCBpbmRpY2VzLCB4QXhpcywgc2VyaWVzLCBmaWx0ZXJzLCBjdWJlLCBzdW0gfSB9ID0gZGF0YTtcclxuICAgIHRoaXMuY3ViZSA9IGN1YmU7XHJcbiAgICB0aGlzLnNlcmllcyA9IHNlcmllcztcclxuICAgIHRoaXMueEF4aXMgPSB4QXhpcztcclxuICAgIHRoaXMuc3VtID0gc3VtO1xyXG4gICAgdGhpcy5pbmRpY2VzID0gaW5kaWNlcztcclxuICAgIHRoaXMuc2VsZWN0aW9uID0gZmlsdGVycztcclxuICAgIHRoaXMuYXhlcyA9IGJhc2U7XHJcbiAgICB0aGlzLnhBeGlzVG90YWxMYWJlbCA9IHNlcmllc1RvdGFsTGFiZWw7XHJcbiAgICB0aGlzLnNlcmllc1RvdGFsTGFiZWwgPSBzZXJpZXNUb3RhbExhYmVsO1xyXG4gICAgdGhpcy5vcmlnaW5hbEF4ZXMgPSBiYXNlO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGFibGUubG9hZGluZ0NoYW5nZS5waXBlKGZpbHRlcihvayA9PiAhb2spLCBmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5wcmVsb2FkaW5nID0gZmFsc2UsIChlOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlLnN0YXR1cyA9PT0gNDA2KVxyXG4gICAgICAgICAgdGhpcy5fcmVmLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoZS5zdGF0dXMgPT09IDQwNiA/ICdVbmF1dGhvcml6ZWQnIDogbnVsbCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwicXVlcnlcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiICpuZ0lmPVwiIXByZWxvYWRpbmcgJiYgKHBhdHRlcm5zPy5sZW5ndGggfHwgZmlsdGVycz8ubGVuZ3RoKVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgPCEtLSB0aXRsZSAtLT5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCIgKm5nSWY9XCJwYXR0ZXJucyAmJiBwYXR0ZXJucy5sZW5ndGhcIj48bWF0LWljb24gW2NsYXNzLmZpbGxlZF09XCJwYXR0ZXJuXCI+ZmlsdGVyX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI29wdGlvbnMgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgICAgIDwhLS0gcGF0dGVybnMgLS0+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgcCBvZiBwYXR0ZXJuc1wiIChjbGljayk9XCJhZ2dyZWdhdGUocClcIj57e3AudGl0bGV9fTwvYnV0dG9uPlxyXG4gICAgPC9tYXQtbWVudT5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZXNldCgpXCIgW2Rpc2FibGVkXT1cIiFwYXR0ZXJuXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NsZWFyJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICA8bWF0LWljb24+Y2xlYXJfYWxsPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPCEtLSBmaWx0ZXJzIC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZiBvZiBmaWx0ZXJzXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZm1lbnVcIj57e3ZhbHVlc1tmLm5hbWVdfCB0eXBlVmFsdWUgOiBmLmRhdGFUeXBlIHwgYXN5bmN9fSA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICNmbWVudSB4UG9zaXRpb249XCJiZWZvcmVcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGt2IG9mIHNvdXJjZXNbZi5uYW1lXSB8IGFzeW5jXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJmaWx0ZXIoZi5uYW1lLCBrdi5rZXksIGt2LnZhbHVlKVwiPlxyXG4gICAgICAgICAge3trdi52YWx1ZX19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8Yml6ZG9jLWN1YmUtbWF0cml4IFtjdWJlXT1cImN1YmVcIiBbeEF4aXNdPVwieEF4aXNcIiBbc2VyaWVzXT1cInNlcmllc1wiIFtpbmRpY2VzXT1cImluZGljZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3N1bV09c3VtIFtpbnRlcmFjdGl2ZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3hBeGlzVG90YWxMYWJlbF09XCJ4QXhpc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Nlcmllc1RvdGFsTGFiZWxdPVwic2VyaWVzVG90YWxMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyc109XCJheGVzXCIgKGxvYWRpbmdDaGFuZ2UpPVwibG9hZGluZz0kZXZlbnRcIj48L2JpemRvYy1jdWJlLW1hdHJpeD5cclxuPC9kaXY+XHJcbiJdfQ==