@bizdoc/core 1.14.0-next.9 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +78 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +1 -1
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo.min.css +1 -1
  8. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +2 -2
  9. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +120 -59
  10. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +52 -34
  11. package/esm2020/lib/admin/form/form.service.mjs +20 -3
  12. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
  13. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +4 -2
  14. package/esm2020/lib/admin/positions/positions.component.mjs +19 -17
  15. package/esm2020/lib/bizdoc.module.mjs +10 -4
  16. package/esm2020/lib/browse/browse-items.component.mjs +8 -1
  17. package/esm2020/lib/chat/conversation.component.mjs +2 -2
  18. package/esm2020/lib/compose/compose.mobile.component.mjs +2 -2
  19. package/esm2020/lib/compose/trace/trace.component.mjs +3 -3
  20. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
  21. package/esm2020/lib/core/component-factory-resolver.mjs +1 -1
  22. package/esm2020/lib/core/configuration.mjs +6 -6
  23. package/esm2020/lib/core/controls/address.input.mjs +18 -5
  24. package/esm2020/lib/core/controls/combination-picker-body.mjs +2 -2
  25. package/esm2020/lib/core/slots/router.service.mjs +1 -4
  26. package/esm2020/lib/core/slots/slots.component.mjs +60 -35
  27. package/esm2020/lib/core/translate.service.mjs +5 -5
  28. package/esm2020/lib/core/translations.mjs +9 -3
  29. package/esm2020/lib/cube/accum/accum.component.mjs +1 -1
  30. package/esm2020/lib/cube/chart/chart.component.mjs +1 -1
  31. package/esm2020/lib/cube/explore/explore.pane.component.mjs +6 -4
  32. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  33. package/esm2020/lib/cube/matrix/table.component.mjs +3 -3
  34. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -4
  35. package/esm2020/lib/cube/pivot/pivot.component.mjs +15 -19
  36. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  37. package/esm2020/lib/dashboard/recents/recents.widget.mjs +2 -2
  38. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
  39. package/esm2020/lib/home/home.desktop.component.mjs +7 -13
  40. package/esm2020/lib/modules/chart.module.mjs +12 -10
  41. package/esm2020/lib/modules/dayjs.module.mjs +2 -2
  42. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  43. package/esm2020/lib/modules/pivot.module.mjs +3 -2
  44. package/esm2020/lib/modules/spreadsheet.module.mjs +5 -3
  45. package/esm2020/lib/modules/texteditor.module.mjs +4 -4
  46. package/esm2020/lib/notifications/types/notification-base.mjs +2 -2
  47. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +2 -3
  48. package/esm2020/lib/routes.desktop.mjs +17 -17
  49. package/esm2020/lib/shared.module.mjs +3 -3
  50. package/esm2020/lib/views/cube/cube-base.mjs +2 -2
  51. package/esm2020/lib/views/cube/parallel.component.mjs +3 -2
  52. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  53. package/esm2020/public-api.mjs +1 -1
  54. package/fesm2015/bizdoc-core.mjs +421 -281
  55. package/fesm2015/bizdoc-core.mjs.map +1 -1
  56. package/fesm2020/bizdoc-core.mjs +392 -256
  57. package/fesm2020/bizdoc-core.mjs.map +1 -1
  58. package/lib/admin/document-trace/document-trace.component.d.ts +33 -18
  59. package/lib/admin/document-trace/trace-element.component.d.ts +22 -8
  60. package/lib/admin/form/form.service.d.ts +19 -2
  61. package/lib/admin/form/workflow/workflow.component.d.ts +2 -1
  62. package/lib/core/component-factory-resolver.d.ts +1 -1
  63. package/lib/core/configuration.d.ts +6 -5
  64. package/lib/core/controls/address.input.d.ts +5 -3
  65. package/lib/core/slots/router.service.d.ts +2 -1
  66. package/lib/core/slots/slots.component.d.ts +11 -4
  67. package/lib/core/translations.d.ts +6 -0
  68. package/lib/cube/explore/explore.pane.component.d.ts +1 -0
  69. package/lib/home/home.desktop.component.d.ts +4 -3
  70. package/lib/modules/chart.module.d.ts +1 -1
  71. package/lib/views/cube/cube-base.d.ts +1 -1
  72. package/lib/views/cube/sum.component.d.ts +1 -1
  73. package/package.json +1 -2
  74. package/public-api.d.ts +1 -1
@@ -255,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
255
255
  }], explore: [{
256
256
  type: Output
257
257
  }] } });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjdW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2FjY3VtL2FjY3VtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWlDLFdBQVcsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBaUYsaUJBQWlCLEVBQXdFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeE4sT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBTXhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQWUsV0FBVyxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFJekcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFVL0MscUJBQXFCO0FBQ3JCLE1BQU0sT0FBTyw4QkFBOEI7SUFnRXpDLGlCQUFpQjtJQUNqQixZQUFvQixRQUFxQixFQUMvQixHQUFrQixFQUNsQixVQUE0QixFQUM1QixXQUF1QixFQUN2QixRQUF3QjtRQUpkLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQWxFekIsT0FBRSxHQUFHLG9CQUFvQiw4QkFB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M0IsQ0FBQzs7QUExT00scUNBQU0sR0FBRyxDQUFDLENBQUM7MkhBRFAsOEJBQThCOytHQUE5Qiw4QkFBOEIseVlBTi9CLEVBQUU7MkZBTUQsOEJBQThCO2tCQVIxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsV0FBVztxQkFDbkI7aUJBQ0Y7bU5BS1UsRUFBRTtzQkFEVixXQUFXO2dCQW1DQyxRQUFRO3NCQURwQixLQUFLO2dCQUtOLE1BQU07c0JBREwsS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUlGLEtBQUs7c0JBRFIsS0FBSztnQkFLTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdHLEtBQUs7c0JBRGIsS0FBSzs7c0JBQ0wsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ2EsYUFBYTtzQkFBL0IsTUFBTTtnQkFDWSxPQUFPO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBY2N1bXVsYXRpb25EYXRhTGFiZWxTZXR0aW5nc01vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgTGVnZW5kU2V0dGluZ3NNb2RlbCwgQWNjdW11bGF0aW9uQ2hhcnQsIElQb2ludEV2ZW50QXJncywgSUFjY1RleHRSZW5kZXJFdmVudEFyZ3MsIElBY2NUb29sdGlwUmVuZGVyRXZlbnRBcmdzIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb24gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYmFzZSc7XHJcbmltcG9ydCB7IFdvcmtib29rIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IFdvcmtzaGVldCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL3dvcmtzaGVldCc7XHJcbmltcG9ydCB7IFJvdyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL3Jvdyc7XHJcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL2NvbHVtbic7XHJcbmltcG9ydCB7IEF4aXNDbGlja0V2ZW50LCBDdWJlVmlld2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RlY2xhcmF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDaGFydFR5cGUsIEN1YmUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG5pbXBvcnQgeyBBWEVTX0NPREVfRElWSURFUiwgQVhFU19MQUJFTF9ESVZJREVSLCBDdWJlU2VydmljZSwgZXJyUmVzb3VyY2UsIFBvaW50IH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBTY29wZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1hY2N1bScsXHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnY3ViZS12aWV3J1xyXG4gIH1cclxufSlcclxuLyoqIGNoYXJ0IGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBDdWJlQWNjdW11bGF0aW9uQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBDdWJlVmlld2VyQ29tcG9uZW50IHtcclxuICBzdGF0aWMgbmV4dElkID0gMDtcclxuICBASG9zdEJpbmRpbmcoKVxyXG4gIHJlYWRvbmx5IGlkID0gYGN1YmUtYWNjdW0tY2hhcnQtJHtDdWJlQWNjdW11bGF0aW9uQ2hhcnRDb21wb25lbnQubmV4dElkKyt9YDtcclxuICB0aGVtZTogJ01hdGVyaWFsJyB8ICdNYXRlcmlhbERhcmsnID0gdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnO1xyXG4gIGFjY3VtY2hhcnQ6IEFjY3VtdWxhdGlvbkNoYXJ0O1xyXG4gIHN0YXJ0QW5nbGU6IG51bWJlcjtcclxuICBlbmRBbmdsZTogbnVtYmVyO1xyXG4gIGlubmVyUmFkaXVzOiBzdHJpbmc7XHJcbiAgZGF0YVNvdXJjZTogUG9pbnRbXTtcclxuICByZWFkb25seSBkYXRhTGFiZWw6IEFjY3VtdWxhdGlvbkRhdGFMYWJlbFNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICB2aXNpYmxlOiB0cnVlLFxyXG4gICAgbmFtZTogJ3RleHQnLFxyXG4gICAgcG9zaXRpb246ICdPdXRzaWRlJyxcclxuICAgIGZvbnQ6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IGxlZ2VuZFNldHRpbmdzOiBMZWdlbmRTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICBpc0ludmVyc2VkOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IHRvb2x0aXA6IFRvb2x0aXBTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgZW5hYmxlQW5pbWF0aW9uOiB0cnVlLFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfTtcclxuICBwcml2YXRlIF9wYWxldHRlcyA9IHRoaXMuX3Nlc3Npb24uYWNjZW50UGFsZXR0ZTtcclxuICAgIHB1YmxpYyBnZXQgcGFsZXR0ZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3BhbGV0dGVzO1xyXG4gICAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHBhbGV0dGVzKHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5fcGFsZXR0ZXMgPSB2YWx1ZTtcclxuICAgIH1cclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZyB8IG51bWJlcjtcclxuICBASW5wdXQoKVxyXG4gIGN1YmUhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfeEF4aXMhOiBzdHJpbmdbXTtcclxuICBASW5wdXQoKVxyXG4gIHNldCB4QXhpcyh2YWw6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl94QXhpcyA9IGlzQXJyYXkodmFsKSA/IHZhbCA6IFt2YWxdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gIEBJbnB1dCgpXHJcbiAgY2hhcnRUeXBlPzogQ2hhcnRUeXBlO1xyXG4gIEBJbnB1dCgpXHJcbiAgQElucHV0KCkgc2NvcGU6IFNjb3BlVHlwZTtcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBsb2FkaW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBleHBsb3JlOiBFdmVudEVtaXR0ZXI8QXhpc0NsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogY2hhcnQgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgICAgdGhpcy5wYWxldHRlcyA9IF9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuX2N1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gdGhpcy5jdWJlKSB8fCB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLmN1cnJlbmN5Q29kZSA9IHRoaXMuX2N1YmUuY3VycmVuY3lDb2RlO1xyXG4gICAgc3dpdGNoICh0aGlzLmNoYXJ0VHlwZSkge1xyXG4gICAgICBjYXNlICdEb3VnaG51dCc6XHJcbiAgICAgICAgdGhpcy5pbm5lclJhZGl1cyA9ICcxMCUnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdIYWxmRG91Z2hudXQnOlxyXG4gICAgICAgIHRoaXMuc3RhcnRBbmdsZSA9IDI3MDtcclxuICAgICAgICB0aGlzLmVuZEFuZ2xlID0gOTA7XHJcbiAgICAgICAgdGhpcy5pbm5lclJhZGl1cyA9ICcxMCUnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdGdW5uZWwnOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuc3RhcnRBbmdsZSA9IDA7XHJcbiAgICAgICAgdGhpcy5lbmRBbmdsZSA9IDM2MDtcclxuICAgICAgICB0aGlzLmlubmVyUmFkaXVzID0gJzAnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgfVxyXG4gIHRleHRSZW5kZXIoZTogSUFjY1RleHRSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIGUudGV4dCA9IGUucG9pbnQueCBhcyBzdHJpbmc7XHJcbiAgfVxyXG4gIHRvb2x0aXBSZW5kZXIoZTogSUFjY1Rvb2x0aXBSZW5kZXJFdmVudEFyZ3MpOiB2b2lkIHtcclxuICAgIChlIGFzIGFueSkudGV4dCA9IHRoaXMuX2ludGwuZm9ybWF0TnVtYmVyKGUucG9pbnQueSwge1xyXG4gICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIGZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbicsXHJcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0c1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHBvaW50Q2xpY2soZXZ0OiBJUG9pbnRFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IGF4ZXM6IEF4ZXNNYXAgPSB7fTtcclxuICAgIGNvbnN0IHggPSAoZXZ0LnNlcmllcy5kYXRhU291cmNlW2V2dC5wb2ludEluZGV4XS54IGFzIHN0cmluZykuc3BsaXQoQVhFU19DT0RFX0RJVklERVIpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl94QXhpcy5sZW5ndGg7IGkrKylcclxuICAgICAgYXhlc1t0aGlzLl94QXhpc1tpXV0gPSB4W2ldO1xyXG4gICAgdGhpcy5leHBsb3JlLmVtaXQoeyBheGVzIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKi9cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmlsdGVycyddICYmICFjaGFuZ2VzWydmaWx0ZXJzJ10uZmlyc3RDaGFuZ2UpXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10pXHJcbiAgICAgICAgdGhpcy5yZXNpemUoKTtcclxuICB9XHJcbiAgcmVzaXplKCkge1xyXG4gICAgdGhpcy5hY2N1bWNoYXJ0ICYmIHRoaXMuYWNjdW1jaGFydC5hY2N1bXVsYXRpb25SZXNpemUoKTtcclxuICB9XHJcblxyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgIHRoaXMuX3NlcnZpY2Uuc2VyaWVzKHRoaXMuY3ViZSwgdGhpcy5feEF4aXMsIHtcclxuICAgICAgZmlsdGVyczogdGhpcy5maWx0ZXJzLFxyXG4gICAgICBzY29wZTogdGhpcy5zY29wZVxyXG4gfSkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSByWzBdLnBvaW50cztcclxuICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICB9LCAoZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgdGhpcy5fc2IuZXJyb3IoZXJyUmVzb3VyY2UoZSkpO1xyXG4gICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLmFjY3VtY2hhcnQgJiYgdGhpcy5hY2N1bWNoYXJ0LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuYWNjdW1jaGFydCA9IG5ldyBBY2N1bXVsYXRpb25DaGFydCh7XHJcbiAgICAgIGxlZ2VuZFNldHRpbmdzOiB0aGlzLmxlZ2VuZFNldHRpbmdzLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICAgIHBvaW50Q2xpY2s6IHRoaXMucG9pbnRDbGljay5iaW5kKHRoaXMpLFxyXG4gICAgICB0aGVtZTogdGhpcy50aGVtZSxcclxuICAgICAgdGV4dFJlbmRlcjogdGhpcy50ZXh0UmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAgIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBlbmFibGVBbmltYXRpb246IHRydWUsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQgYXMgc3RyaW5nLFxyXG4gICAgICBjdXJyZW5jeUNvZGU6IHRoaXMuY3VycmVuY3lDb2RlLFxyXG4gICAgICBzZXJpZXM6IFt7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhU291cmNlLFxyXG4gICAgICAgIHhOYW1lOiAnbmFtZScsXHJcbiAgICAgICAgeU5hbWU6ICd5JyxcclxuICAgICAgICBzdGFydEFuZ2xlOiB0aGlzLnN0YXJ0QW5nbGUsXHJcbiAgICAgICAgZW5kQW5nbGU6IHRoaXMuZW5kQW5nbGUsXHJcbiAgICAgICAgcmFkaXVzOiBcIjcwJVwiLFxyXG4gICAgICAgIGRhdGFMYWJlbDogdGhpcy5kYXRhTGFiZWwsXHJcbiAgICAgICAgZXhwbG9kZTogdHJ1ZSxcclxuICAgICAgICBleHBsb2RlT2Zmc2V0OiAnMTAlJyxcclxuICAgICAgICBleHBsb2RlSW5kZXg6IDAsXHJcbiAgICAgICAgaW5uZXJSYWRpdXM6IHRoaXMuaW5uZXJSYWRpdXMsXHJcbiAgICAgICAgcGFsZXR0ZXM6IHRoaXMucGFsZXR0ZXNcclxuICAgICAgfV1cclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIGV4cG9ydFRvRXhjZWwodGl0bGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgbnVtYmVyRm9ybWF0ID0gdGhpcy5fc2VydmljZS5udW1iZXJGb3JtYXQsXHJcbiAgICAgIHJvd3MgPSBbeyBcclxuICAgICAgICBpbmRleDogMSxcclxuICAgICAgICBjZWxsczogdGhpcy5feEF4aXMubWFwKCh4LCBpKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGkgKyAxLFxyXG4gICAgICAgICAgdmFsdWU6IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB4KS50aXRsZSxcclxuICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGFzIENlbGwpKVxyXG4gICAgICB9XSBhcyBSb3dbXTtcclxuICAgIHJvd3NbMF0uY2VsbHMucHVzaCh7XHJcbiAgICAgIGluZGV4OiB0aGlzLl94QXhpcy5sZW5ndGggKyAxLFxyXG4gICAgICB2YWx1ZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnVmFsdWUnKSxcclxuICAgICAgc3R5bGU6IHtcclxuICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKHAsIGkpID0+IHtcclxuICAgICAgY29uc3QgY2VsbHMgPSB0aGlzLl94QXhpcy5tYXAoKF8sIGopID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW5kZXg6IGogKyAxLFxyXG4gICAgICAgICAgdmFsdWU6IHAubmFtZS5zcGxpdChBWEVTX0xBQkVMX0RJVklERVIpW2pdXHJcbiAgICAgICAgfSBhcyBDZWxsO1xyXG4gICAgICB9XHJcbiAgICAgICk7XHJcbiAgICAgIGNlbGxzLnB1c2goe1xyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIGluZGV4OiB0aGlzLl94QXhpcy5sZW5ndGggKyAxLFxyXG4gICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICBudW1iZXJGb3JtYXQsXHJcbiAgICAgICAgICBoQWxpZ246ICdyaWdodCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZhbHVlOiBwLnlcclxuICAgICAgfSBhcyBDZWxsKTtcclxuICAgICAgcm93cy5wdXNoKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGluZGV4OiBpICsgMixcclxuICAgICAgICAgIGNlbGxzXHJcbiAgICAgICAgfSBhcyBSb3cpXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogWy4uLnRoaXMuX3hBeGlzLm1hcCgoXywgaSkgPT4gKHsgaW5kZXg6IGkgKyAxLCB3aWR0aDogMjUwIH0gYXMgQ29sdW1uKSlcclxuICAgICAgICAgICAgICAsIHsgaW5kZXg6IHRoaXMuX3hBeGlzLmxlbmd0aCArIDEgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgcm93c1xyXG4gICAgICAgICAgfSBhcyBXb3Jrc2hlZXRcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICAneGxzeCdcclxuICAgICk7XHJcbiAgICBib29rLnNhdmUoYCR7dGl0bGV9Lnhsc3hgKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjY3VtY2hhcnQgJiYgdGhpcy5hY2N1bWNoYXJ0LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgQ2VsbCB7IH1cclxuIl19
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjdW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2FjY3VtL2FjY3VtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWlDLFdBQVcsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTdJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBaUYsaUJBQWlCLEVBQXdFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeE4sT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBMEIsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFlLFdBQVcsRUFBUyxNQUFNLGlCQUFpQixDQUFDO0FBSXpHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBVS9DLHFCQUFxQjtBQUNyQixNQUFNLE9BQU8sOEJBQThCO0lBZ0V6QyxpQkFBaUI7SUFDakIsWUFBb0IsUUFBcUIsRUFDL0IsR0FBa0IsRUFDbEIsVUFBNEIsRUFDNUIsV0FBdUIsRUFDdkIsUUFBd0I7UUFKZCxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQy9CLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFsRXpCLE9BQUUsR0FBRyxvQkFBb0IsOEJBQThCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUM1RSxVQUFLLEdBQWdDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFNbkYsY0FBUyxHQUF1QztZQUN2RCxPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLFNBQVM7WUFDbkIsSUFBSSxFQUFFO2dCQUNKLFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1NBQ0YsQ0FBQztRQUNPLG1CQUFjLEdBQXdCO1lBQzdDLE9BQU8sRUFBRSxLQUFLO1lBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTztZQUNqQyxTQUFTLEVBQUU7Z0JBQ1QsVUFBVSxFQUFFLFdBQVc7YUFDeEI7U0FDRixDQUFDO1FBQ08sWUFBTyxHQUF5QjtZQUN2QyxNQUFNLEVBQUUsSUFBSTtZQUNaLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsV0FBVzthQUN4QjtTQUNGLENBQUM7UUFDTSxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUEyQjdCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxZQUFPLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0QsVUFBSyxHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDekQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFPOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUExQ0MsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDSCxJQUNhLFFBQVEsQ0FBQyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFRSCxJQUNJLEtBQUssQ0FBQyxHQUFzQjtRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUEwQkQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQzVDLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0QixLQUFLLFVBQVU7Z0JBQ2IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLE1BQU07WUFDUixLQUFLLGNBQWM7Z0JBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLE1BQU07WUFDUixLQUFLLFFBQVE7Z0JBQ1gsTUFBTTtZQUNSO2dCQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUEwQjtRQUNuQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBVyxDQUFDO0lBQy9CLENBQUM7SUFDRCxhQUFhLENBQUMsQ0FBNkI7UUFDeEMsQ0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNuRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRztZQUNyQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWM7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFVBQVUsQ0FBQyxHQUFvQjtRQUM3QixNQUFNLElBQUksR0FBWSxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLEdBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQVksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0Q7O09BRUc7SUFDSCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVztZQUN2RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFFZixJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUM7WUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0MsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNyQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUMsRUFBRSxDQUFDLENBQW9CLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxLQUFLO1FBQ1gsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQztZQUN0QyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM1QyxlQUFlLEVBQUUsSUFBSTtZQUNyQixVQUFVLEVBQUUsYUFBYTtZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQWdCO1lBQzdCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixNQUFNLEVBQUUsQ0FBQztvQkFDUCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7b0JBQzNCLEtBQUssRUFBRSxNQUFNO29CQUNiLEtBQUssRUFBRSxHQUFHO29CQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtvQkFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixNQUFNLEVBQUUsS0FBSztvQkFDYixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7b0JBQ3pCLE9BQU8sRUFBRSxJQUFJO29CQUNiLGFBQWEsRUFBRSxLQUFLO29CQUNwQixZQUFZLEVBQUUsQ0FBQztvQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtpQkFDeEIsQ0FBQztTQUNILEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLEtBQWE7UUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQzdDLElBQUksR0FBRyxDQUFDO2dCQUNOLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ2hDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDWixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLO29CQUNwRCxLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLElBQUk7cUJBQ1g7aUJBQ08sQ0FBQSxDQUFDO2FBQ1osQ0FBVSxDQUFDO1FBQ2QsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNuQyxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLElBQUk7YUFDWDtTQUNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxPQUFPO29CQUNMLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztvQkFDWixLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ25DLENBQUM7WUFDWixDQUFDLENBQ0EsQ0FBQztZQUNGLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQzdCLEtBQUssRUFBRTtvQkFDTCxZQUFZO29CQUNaLE1BQU0sRUFBRSxPQUFPO2lCQUNoQjtnQkFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDSCxDQUFDLENBQUM7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUNQO2dCQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztnQkFDWixLQUFLO2FBQ0MsQ0FBQyxDQUFBO1FBQ2IsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FDdkI7WUFDRSxVQUFVLEVBQUU7Z0JBQ1Y7b0JBQ0UsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTztvQkFDaEMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYSxDQUFBLENBQUM7d0JBQzVFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxFQUNwQztvQkFDRCxJQUFJO2lCQUNRO2FBQ2Y7U0FDRixFQUNELE1BQU0sQ0FDUCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O0FBMU9NLHFDQUFNLEdBQUcsQ0FBQyxDQUFDOzJIQURQLDhCQUE4QjsrR0FBOUIsOEJBQThCLHlZQU4vQixFQUFFOzJGQU1ELDhCQUE4QjtrQkFSMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsRUFBRTtvQkFDWixJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFdBQVc7cUJBQ25CO2lCQUNGO21OQUtVLEVBQUU7c0JBRFYsV0FBVztnQkFtQ0MsUUFBUTtzQkFEcEIsS0FBSztnQkFLTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHRyxLQUFLO3NCQURiLEtBQUs7O3NCQUNMLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBQ1ksT0FBTztzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFjY3VtdWxhdGlvbkRhdGFMYWJlbFNldHRpbmdzTW9kZWwsIFRvb2x0aXBTZXR0aW5nc01vZGVsLCBMZWdlbmRTZXR0aW5nc01vZGVsLCBBY2N1bXVsYXRpb25DaGFydCwgSVBvaW50RXZlbnRBcmdzLCBJQWNjVGV4dFJlbmRlckV2ZW50QXJncywgSUFjY1Rvb2x0aXBSZW5kZXJFdmVudEFyZ3MgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBJbnRlcm5hdGlvbmFsaXphdGlvbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1iYXNlJztcclxuaW1wb3J0IHsgV29ya2Jvb2ssIFdvcmtzaGVldCwgUm93LCBDb2x1bW4gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIENoYXJ0VHlwZSwgQ3ViZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcbmltcG9ydCB7IEFYRVNfQ09ERV9ESVZJREVSLCBBWEVTX0xBQkVMX0RJVklERVIsIEN1YmVTZXJ2aWNlLCBlcnJSZXNvdXJjZSwgUG9pbnQgfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IFNjb3BlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLWFjY3VtJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdjdWJlLXZpZXcnXHJcbiAgfVxyXG59KVxyXG4vKiogY2hhcnQgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEN1YmVBY2N1bXVsYXRpb25DaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEN1YmVWaWV3ZXJDb21wb25lbnQge1xyXG4gIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBIb3N0QmluZGluZygpXHJcbiAgcmVhZG9ubHkgaWQgPSBgY3ViZS1hY2N1bS1jaGFydC0ke0N1YmVBY2N1bXVsYXRpb25DaGFydENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIHRoZW1lOiAnTWF0ZXJpYWwnIHwgJ01hdGVyaWFsRGFyaycgPSB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgYWNjdW1jaGFydDogQWNjdW11bGF0aW9uQ2hhcnQ7XHJcbiAgc3RhcnRBbmdsZTogbnVtYmVyO1xyXG4gIGVuZEFuZ2xlOiBudW1iZXI7XHJcbiAgaW5uZXJSYWRpdXM6IHN0cmluZztcclxuICBkYXRhU291cmNlOiBQb2ludFtdO1xyXG4gIHJlYWRvbmx5IGRhdGFMYWJlbDogQWNjdW11bGF0aW9uRGF0YUxhYmVsU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBuYW1lOiAndGV4dCcsXHJcbiAgICBwb3NpdGlvbjogJ091dHNpZGUnLFxyXG4gICAgZm9udDoge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgbGVnZW5kU2V0dGluZ3M6IExlZ2VuZFNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICB2aXNpYmxlOiBmYWxzZSxcclxuICAgIGlzSW52ZXJzZWQ6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgdG9vbHRpcDogVG9vbHRpcFNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICBlbmFibGU6IHRydWUsXHJcbiAgICBlbmFibGVBbmltYXRpb246IHRydWUsXHJcbiAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHByaXZhdGUgX3BhbGV0dGVzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgcHVibGljIGdldCBwYWxldHRlcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGFsZXR0ZXM7XHJcbiAgICB9XHJcbiAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgcGFsZXR0ZXModmFsdWUpIHtcclxuICAgICAgICB0aGlzLl9wYWxldHRlcyA9IHZhbHVlO1xyXG4gICAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgQElucHV0KClcclxuICB3aWR0aDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZSE6IHN0cmluZztcclxuICBwcml2YXRlIF94QXhpcyE6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHhBeGlzKHZhbDogc3RyaW5nIHwgc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX3hBeGlzID0gaXNBcnJheSh2YWwpID8gdmFsIDogW3ZhbF07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQElucHV0KClcclxuICBjaGFydFR5cGU/OiBDaGFydFR5cGU7XHJcbiAgQElucHV0KClcclxuICBASW5wdXQoKSBzY29wZTogU2NvcGVUeXBlO1xyXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGxvcmU6IEV2ZW50RW1pdHRlcjxBeGlzQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHJpdmF0ZSBfY3ViZTogQ3ViZTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnRsOiBJbnRlcm5hdGlvbmFsaXphdGlvbiA9IG5ldyBJbnRlcm5hdGlvbmFsaXphdGlvbigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiBjaGFydCBjdG9yICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gICAgX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbERhcmsnIDogJ01hdGVyaWFsJztcclxuICAgICAgICB0aGlzLnBhbGV0dGVzID0gX3Nlc3Npb24uYWNjZW50UGFsZXR0ZTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpIHx8IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgIHRoaXMuY3VycmVuY3lDb2RlID0gdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGU7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY2hhcnRUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ0RvdWdobnV0JzpcclxuICAgICAgICB0aGlzLmlubmVyUmFkaXVzID0gJzEwJSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0hhbGZEb3VnaG51dCc6XHJcbiAgICAgICAgdGhpcy5zdGFydEFuZ2xlID0gMjcwO1xyXG4gICAgICAgIHRoaXMuZW5kQW5nbGUgPSA5MDtcclxuICAgICAgICB0aGlzLmlubmVyUmFkaXVzID0gJzEwJSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0Z1bm5lbCc6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5zdGFydEFuZ2xlID0gMDtcclxuICAgICAgICB0aGlzLmVuZEFuZ2xlID0gMzYwO1xyXG4gICAgICAgIHRoaXMuaW5uZXJSYWRpdXMgPSAnMCc7XHJcbiAgICB9XHJcbiAgICB0aGlzLmV4ZWN1dGUoKTtcclxuICB9XHJcbiAgdGV4dFJlbmRlcihlOiBJQWNjVGV4dFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgZS50ZXh0ID0gZS5wb2ludC54IGFzIHN0cmluZztcclxuICB9XHJcbiAgdG9vbHRpcFJlbmRlcihlOiBJQWNjVG9vbHRpcFJlbmRlckV2ZW50QXJncyk6IHZvaWQge1xyXG4gICAgKGUgYXMgYW55KS50ZXh0ID0gdGhpcy5faW50bC5mb3JtYXROdW1iZXIoZS5wb2ludC55LCB7XHJcbiAgICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5Q29kZSxcclxuICAgICAgZm9ybWF0OiB0aGlzLmN1cnJlbmN5Q29kZSA/ICdjJyA6ICduJyxcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcG9pbnRDbGljayhldnQ6IElQb2ludEV2ZW50QXJncykge1xyXG4gICAgY29uc3QgYXhlczogQXhlc01hcCA9IHt9O1xyXG4gICAgY29uc3QgeCA9IChldnQuc2VyaWVzLmRhdGFTb3VyY2VbZXZ0LnBvaW50SW5kZXhdLnggYXMgc3RyaW5nKS5zcGxpdChBWEVTX0NPREVfRElWSURFUik7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX3hBeGlzLmxlbmd0aDsgaSsrKVxyXG4gICAgICBheGVzW3RoaXMuX3hBeGlzW2ldXSA9IHhbaV07XHJcbiAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWx0ZXJzJ10gJiYgIWNoYW5nZXNbJ2ZpbHRlcnMnXS5maXJzdENoYW5nZSlcclxuICAgICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICByZXNpemUoKSB7XHJcbiAgICB0aGlzLmFjY3VtY2hhcnQgJiYgdGhpcy5hY2N1bWNoYXJ0LmFjY3VtdWxhdGlvblJlc2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5jdWJlLCB0aGlzLl94QXhpcywge1xyXG4gICAgICBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMsXHJcbiAgICAgIHNjb3BlOiB0aGlzLnNjb3BlXHJcbiB9KS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IHJbMF0ucG9pbnRzO1xyXG4gICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgIH0sIChlOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICB0aGlzLl9zYi5lcnJvcihlcnJSZXNvdXJjZShlKSk7XHJcbiAgICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMuYWNjdW1jaGFydCAmJiB0aGlzLmFjY3VtY2hhcnQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5hY2N1bWNoYXJ0ID0gbmV3IEFjY3VtdWxhdGlvbkNoYXJ0KHtcclxuICAgICAgbGVnZW5kU2V0dGluZ3M6IHRoaXMubGVnZW5kU2V0dGluZ3MsXHJcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgICAgcG9pbnRDbGljazogdGhpcy5wb2ludENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxyXG4gICAgICB0ZXh0UmVuZGVyOiB0aGlzLnRleHRSZW5kZXIuYmluZCh0aGlzKSxcclxuICAgICAgdG9vbHRpcFJlbmRlcjogdGhpcy50b29sdGlwUmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAgIGVuYWJsZUFuaW1hdGlvbjogdHJ1ZSxcclxuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCBhcyBzdHJpbmcsXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIHNlcmllczogW3tcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgICAgeE5hbWU6ICduYW1lJyxcclxuICAgICAgICB5TmFtZTogJ3knLFxyXG4gICAgICAgIHN0YXJ0QW5nbGU6IHRoaXMuc3RhcnRBbmdsZSxcclxuICAgICAgICBlbmRBbmdsZTogdGhpcy5lbmRBbmdsZSxcclxuICAgICAgICByYWRpdXM6IFwiNzAlXCIsXHJcbiAgICAgICAgZGF0YUxhYmVsOiB0aGlzLmRhdGFMYWJlbCxcclxuICAgICAgICBleHBsb2RlOiB0cnVlLFxyXG4gICAgICAgIGV4cGxvZGVPZmZzZXQ6ICcxMCUnLFxyXG4gICAgICAgIGV4cGxvZGVJbmRleDogMCxcclxuICAgICAgICBpbm5lclJhZGl1czogdGhpcy5pbm5lclJhZGl1cyxcclxuICAgICAgICBwYWxldHRlczogdGhpcy5wYWxldHRlc1xyXG4gICAgICB9XVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgZXhwb3J0VG9FeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBudW1iZXJGb3JtYXQgPSB0aGlzLl9zZXJ2aWNlLm51bWJlckZvcm1hdCxcclxuICAgICAgcm93cyA9IFt7IFxyXG4gICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgIGNlbGxzOiB0aGlzLl94QXhpcy5tYXAoKHgsIGkpID0+ICh7XHJcbiAgICAgICAgICBpbmRleDogaSArIDEsXHJcbiAgICAgICAgICB2YWx1ZTogdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IHgpLnRpdGxlLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gYXMgQ2VsbCkpXHJcbiAgICAgIH1dIGFzIFJvd1tdO1xyXG4gICAgcm93c1swXS5jZWxscy5wdXNoKHtcclxuICAgICAgaW5kZXg6IHRoaXMuX3hBeGlzLmxlbmd0aCArIDEsXHJcbiAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpLFxyXG4gICAgICBzdHlsZToge1xyXG4gICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZm9yRWFjaCgocCwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IHRoaXMuX3hBeGlzLm1hcCgoXywgaikgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBpbmRleDogaiArIDEsXHJcbiAgICAgICAgICB2YWx1ZTogcC5uYW1lLnNwbGl0KEFYRVNfTEFCRUxfRElWSURFUilbal1cclxuICAgICAgICB9IGFzIENlbGw7XHJcbiAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgY2VsbHMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgICAgaW5kZXg6IHRoaXMuX3hBeGlzLmxlbmd0aCArIDEsXHJcbiAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgIG51bWJlckZvcm1hdCxcclxuICAgICAgICAgIGhBbGlnbjogJ3JpZ2h0J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmFsdWU6IHAueVxyXG4gICAgICB9IGFzIENlbGwpO1xyXG4gICAgICByb3dzLnB1c2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaW5kZXg6IGkgKyAyLFxyXG4gICAgICAgICAgY2VsbHNcclxuICAgICAgICB9IGFzIFJvdylcclxuICAgIH0pO1xyXG4gICAgY29uc3QgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAge1xyXG4gICAgICAgIHdvcmtzaGVldHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBbLi4udGhpcy5feEF4aXMubWFwKChfLCBpKSA9PiAoeyBpbmRleDogaSArIDEsIHdpZHRoOiAyNTAgfSBhcyBDb2x1bW4pKVxyXG4gICAgICAgICAgICAgICwgeyBpbmRleDogdGhpcy5feEF4aXMubGVuZ3RoICsgMSB9LFxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICByb3dzXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuICAgIGJvb2suc2F2ZShgJHt0aXRsZX0ueGxzeGApO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWNjdW1jaGFydCAmJiB0aGlzLmFjY3VtY2hhcnQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBDZWxsIHsgfVxyXG4iXX0=
@@ -338,4 +338,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
338
338
  }], palettes: [{
339
339
  type: Input
340
340
  }] } });
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDN0ksT0FBTyxFQUFFLEtBQUssRUFBdUMsTUFBTSx3QkFBd0IsQ0FBQztBQUdwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBZSxXQUFXLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQU0xRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVUvQyxxQkFBcUI7QUFDckIsTUFBTSxPQUFPLGtCQUFrQjtJQXNHN0IsaUJBQWlCO0lBQ2pCLFlBQW9CLFFBQXFCLEVBQy9CLEdBQWtCLEVBQVUsVUFBNEIsRUFBVSxRQUF3QixFQUFVLFdBQXVCO1FBRGpILGFBQVEsR0FBUixRQUFRLENBQWE7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQTVEbEgsWUFBTyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFD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SztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFYSxPQUFPO3NCQUF6QixNQUFNO2dCQUNFLE9BQU87c0JBQWYsS0FBSztnQkFDYSxhQUFhO3NCQUEvQixNQUFNO2dCQUdFLEVBQUU7c0JBRFYsV0FBVztnQkFRRCxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYXJ0LCBTZXJpZXNNb2RlbCwgQ3Jvc3NoYWlyU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xyXG5pbXBvcnQgeyBBeGlzTW9kZWwsIENoYXJ0QXJlYU1vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgTGVnZW5kU2V0dGluZ3NNb2RlbCwgSVBvaW50RXZlbnRBcmdzLCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEludGVybmF0aW9uYWxpemF0aW9uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWJhc2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgV29ya2Jvb2sgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgV29ya3NoZWV0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvd29ya3NoZWV0JztcclxuaW1wb3J0IHsgUm93IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvcm93JztcclxuaW1wb3J0IHsgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydC9zcmMvY29sdW1uJztcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tICcuLi8uLi9jb3JlL2NvbG9ycyc7XHJcbmltcG9ydCB7IEFYRVNfQ09ERV9ESVZJREVSLCBBWEVTX0xBQkVMX0RJVklERVIsIEN1YmVTZXJ2aWNlLCBlcnJSZXNvdXJjZSwgU2VyaWVzIH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIENoYXJ0VHlwZSwgQ3ViZSwgWUF4aXMgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uLy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgU2NvcGVUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtY2hhcnQnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2N1YmUtdmlldydcclxuICB9XHJcbn0pXHJcbi8qKiBjaGFydCBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgQ3ViZUNoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQ3ViZVZpZXdlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KClcclxuICB3aWR0aDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpXHJcbiAgaGVpZ2h0OiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgQElucHV0KClcclxuICBjdWJlITogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF9jdWJlOiBDdWJlO1xyXG4gIHB1YmxpYyBnZXQgeEF4aXMoKTogc3RyaW5nW10gfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3hBeGlzO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgeEF4aXModmFsdWU6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLl94QXhpcyA9IGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZXJpZXM/OiBzdHJpbmdbXTtcclxuICBwdWJsaWMgZ2V0IHNlcmllcygpOiBzdHJpbmdbXSB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VyaWVzO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgc2VyaWVzKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcclxuICAgIGVsc2UgdGhpcy5fc2VyaWVzID0gbnVsbDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5kaWNlcz86IHN0cmluZ1tdO1xyXG4gIHB1YmxpYyBnZXQgaW5kaWNlcygpOiBzdHJpbmdbXSB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5kaWNlcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGluZGljZXModmFsdWU6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUpIHRoaXMuX2luZGljZXMgPSBpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcclxuICAgIGVsc2UgdGhpcy5faW5kaWNlcyA9IG51bGw7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQElucHV0KClcclxuICB5QXhpcz86IFlBeGlzO1xyXG4gIEBJbnB1dCgpXHJcbiAgY2hhcnRUeXBlPzogQ2hhcnRUeXBlO1xyXG4gIEBJbnB1dCgpXHJcbiAgaW5kaWNlc0NoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBASW5wdXQoKSBzY29wZTogU2NvcGVUeXBlO1xyXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBleHBsb3JlOiBFdmVudEVtaXR0ZXI8QXhpc0NsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgQEhvc3RCaW5kaW5nKClcclxuICByZWFkb25seSBpZCA9IGBjdWJlLWNoYXJ0LSR7Q3ViZUNoYXJ0Q29tcG9uZW50Lm5leHRJZCsrfWA7XHJcbiAgY2hhcnQ6IENoYXJ0O1xyXG4gIHByaXZhdGUgX3BhbGV0dGVzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gIHB1YmxpYyBnZXQgcGFsZXR0ZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFsZXR0ZXM7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBwYWxldHRlcyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGFsZXR0ZXMgPSB2YWx1ZTtcclxuICB9XHJcbiAgcmVhZG9ubHkgZW5hYmxlUnRsID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG4gIHJlYWRvbmx5IGxlZ2VuZFNldHRpbmdzOiBMZWdlbmRTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgaXNJbnZlcnNlZDogdGhpcy5lbmFibGVSdGwsXHJcbiAgICBtYXJnaW46IHtcclxuICAgICAgdG9wOiA1XHJcbiAgICB9LFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfTtcclxuICByZWFkb25seSBwcmltYXJ5WEF4aXM6IEF4aXNNb2RlbCA9IHtcclxuICAgIHZhbHVlVHlwZTogJ0NhdGVnb3J5JyxcclxuICAgIGxhYmVsU3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IHByaW1hcnlZQXhpczogQXhpc01vZGVsID0ge1xyXG4gICAgbGFiZWxTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgY2hhcnRBcmVhOiBDaGFydEFyZWFNb2RlbCA9IHtcclxuICAgIGJvcmRlcjoge1xyXG4gICAgICB3aWR0aDogMFxyXG4gICAgfSxcclxuICAgIG9wYWNpdHk6IDBcclxuICB9O1xyXG4gIHJlYWRvbmx5IHRvb2x0aXA6IFRvb2x0aXBTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgZW5hYmxlQW5pbWF0aW9uOiBmYWxzZSxcclxuICAgIGJvcmRlcjogeyB3aWR0aDogMCB9LFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfTtcclxuICByZWFkb25seSBjcm9zc2hhaXI6IENyb3NzaGFpclNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICBlbmFibGU6IGZhbHNlLFxyXG4gICAgbGluZVR5cGU6ICdWZXJ0aWNhbCdcclxuICB9O1xyXG4gIHRoZW1lOiAnTWF0ZXJpYWwnIHwgJ01hdGVyaWFsRGFyaycgPSB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgcHJpdmF0ZSBfZGF0YTogU2VyaWVzW107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogY2hhcnQgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgICAgdGhpcy5wYWxldHRlcyA9IF9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSkgfHwgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5jdXJyZW5jeUNvZGUgPSB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZTtcclxuICAgIGlmICh0aGlzLmNoYXJ0VHlwZSA9PT0gJ0xpbmUnIHx8IHRoaXMuY2hhcnRUeXBlID09PSAnU3BsaW5lJylcclxuICAgICAgdGhpcy5jcm9zc2hhaXIuZW5hYmxlID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLl9jdWJlLnlBeGlzKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy5fY3ViZS55QXhpcy50eXBlKSB7XHJcbiAgICAgICAgY2FzZSAnTnVtYmVyJzpcclxuICAgICAgICAgIHRoaXMucHJpbWFyeVlBeGlzLmxhYmVsRm9ybWF0ID0gJ24wJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ05vbmUnOlxyXG4gICAgICAgICAgdGhpcy5wcmltYXJ5WUF4aXMubWF4aW11bUxhYmVscyA9IDA7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGhpcy5wcmltYXJ5WUF4aXMubGFiZWxGb3JtYXQgPSAnYzAnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5wcmltYXJ5WUF4aXMudGl0bGUgPSB0aGlzLl9jdWJlLnlBeGlzLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnByaW1hcnlZQXhpcy5sYWJlbEZvcm1hdCA9IHRoaXMuY3VycmVuY3lDb2RlID8gJ2MwJyA6ICduMCc7XHJcbiAgICB0aGlzLmV4ZWN1dGUoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICovXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2ZpbHRlcnMnXSAmJiAhY2hhbmdlc1snZmlsdGVycyddLmZpcnN0Q2hhbmdlKVxyXG4gICAgICB0aGlzLmV4ZWN1dGUoKTtcclxuICAgIGVsc2VcclxuICAgICAgaWYgKGNoYW5nZXNbJ2hlaWdodCddKVxyXG4gICAgICAgIHRoaXMucmVzaXplKCk7XHJcbiAgfVxyXG4gIHJlc2l6ZSgpIHtcclxuICAgIHRoaXMuY2hhcnQgJiYgdGhpcy5jaGFydC5jaGFydFJlc2l6ZSgpO1xyXG4gIH1cclxuXHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMubG9hZGluZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5fc2VydmljZS5zZXJpZXModGhpcy5jdWJlLCB0aGlzLnhBeGlzLCB7XHJcbiAgICAgIGluZGljZXM6IHRoaXMuaW5kaWNlcywgc2VyaWVzOiB0aGlzLnNlcmllcyxcclxuICAgICAgZmlsdGVyczogdGhpcy5maWx0ZXJzLFxyXG4gICAgICBzY29wZTogdGhpcy5zY29wZVxyXG4gICAgfSkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9kYXRhID0gcjtcclxuICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICB9LCAoZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5fc2IuZXJyb3IoZXJyUmVzb3VyY2UoZSkpO1xyXG4gICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF9kcmF3KCkge1xyXG4gICAgY29uc3Qgc2VyaWVzID0gdGhpcy5fZGF0YS5tYXAocyA9PiB7XHJcbiAgICAgIGlmIChzLmluZGV4KVxyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICB4TmFtZTogJ25hbWUnLFxyXG4gICAgICAgICAgeU5hbWU6ICd5JyxcclxuICAgICAgICAgIG5hbWU6IHMudGl0bGUsXHJcbiAgICAgICAgICBkYXRhU291cmNlOiBzLnBvaW50cyxcclxuICAgICAgICAgIHR5cGU6IHRoaXMuaW5kaWNlc0NoYXJ0VHlwZSB8fCAnU3BsaW5lJyxcclxuICAgICAgICAgIHdpZHRoOiAyLFxyXG4gICAgICAgICAgZmlsbDogdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCksXHJcbiAgICAgICAgICBzdGFja2luZ0dyb3VwOiAnaW5kZXgnLFxyXG4gICAgICAgICAgZW1wdHlQb2ludFNldHRpbmdzOiB7IG1vZGU6ICdaZXJvJyB9LFxyXG4gICAgICAgICAgbWFya2VyOiB7XHJcbiAgICAgICAgICAgIHZpc2libGU6ICF0aGlzLmluZGljZXNDaGFydFR5cGUgfHwgdGhpcy5pbmRpY2VzQ2hhcnRUeXBlID09PSAnTGluZScgfHwgdGhpcy5pbmRpY2VzQ2hhcnRUeXBlID09PSAnU3BsaW5lJyxcclxuICAgICAgICAgICAgc2hhcGU6ICdEaWFtb25kJyxcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMCxcclxuICAgICAgICAgICAgd2lkdGg6IDEwXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBhcyBTZXJpZXNNb2RlbDtcclxuICAgICAgZWxzZSByZXR1cm4ge1xyXG4gICAgICAgIHhOYW1lOiAnbmFtZScsXHJcbiAgICAgICAgeU5hbWU6ICd5JyxcclxuICAgICAgICBuYW1lOiBzLnRpdGxlLFxyXG4gICAgICAgIGRhdGFTb3VyY2U6IHMucG9pbnRzLFxyXG4gICAgICAgIHR5cGU6IHRoaXMuY2hhcnRUeXBlIHx8ICdDb2x1bW4nLFxyXG4gICAgICAgIG1hcmtlcjoge1xyXG4gICAgICAgICAgdmlzaWJsZTogIXRoaXMuY2hhcnRUeXBlIHx8IHRoaXMuY2hhcnRUeXBlID09PSAnTGluZScgfHwgdGhpcy5jaGFydFR5cGUgPT09ICdTcGxpbmUnLFxyXG4gICAgICAgICAgaGVpZ2h0OiAxMCxcclxuICAgICAgICAgIHdpZHRoOiAxMFxyXG4gICAgICAgIH1cclxuICAgICAgfSBhcyBTZXJpZXNNb2RlbDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sZWdlbmRTZXR0aW5ncy52aXNpYmxlID0gc2VyaWVzLmxlbmd0aCA+IDE7XHJcbiAgICB0aGlzLmNoYXJ0ICYmIHRoaXMuY2hhcnQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jaGFydCA9IG5ldyBDaGFydCh7XHJcbiAgICAgIGxlZ2VuZFNldHRpbmdzOiB0aGlzLmxlZ2VuZFNldHRpbmdzLFxyXG4gICAgICBwcmltYXJ5WEF4aXM6IHRoaXMucHJpbWFyeVhBeGlzLFxyXG4gICAgICBwcmltYXJ5WUF4aXM6IHRoaXMucHJpbWFyeVlBeGlzLFxyXG4gICAgICBlbmFibGVFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIHRoZW1lOiB0aGlzLnRoZW1lLFxyXG4gICAgICB1c2VHcm91cGluZ1NlcGFyYXRvcjogdHJ1ZSxcclxuICAgICAgcGFsZXR0ZXM6IHRoaXMucGFsZXR0ZXMsXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBzZWxlY3Rpb25Nb2RlOiAnUG9pbnQnLFxyXG4gICAgICBwb2ludENsaWNrOiB0aGlzLnBvaW50Q2xpY2suYmluZCh0aGlzKSxcclxuICAgICAgdG9vbHRpcDogdGhpcy50b29sdGlwLFxyXG4gICAgICBjaGFydEFyZWE6IHRoaXMuY2hhcnRBcmVhLFxyXG4gICAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0IGFzIHN0cmluZyxcclxuICAgICAgY3Jvc3NoYWlyOiB0aGlzLmNyb3NzaGFpcixcclxuICAgICAgZW5hYmxlUnRsOiB0aGlzLmVuYWJsZVJ0bCxcclxuICAgICAgc2VyaWVzLFxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgdG9vbHRpcFJlbmRlcihlOiBJVG9vbHRpcFJlbmRlckV2ZW50QXJncyk6IHZvaWQge1xyXG4gICAgZS50ZXh0ID0gdGhpcy5faW50bC5mb3JtYXROdW1iZXIoZS5wb2ludC55IGFzIG51bWJlciwge1xyXG4gICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIGZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbicsXHJcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0c1xyXG4gICAgfSk7XHJcbiAgfTtcclxuICBwb2ludENsaWNrKGV2dDogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBhbnkgfSA9IHt9LFxyXG4gICAgICBzZXJpZSA9IHRoaXMuX2RhdGFbZXZ0LnNlcmllc0luZGV4XSxcclxuICAgICAgeyBpbmRleCwgbmFtZSwgcG9pbnRzIH0gPSBzZXJpZTtcclxuICAgIGlmICh0aGlzLnNlcmllcyAmJiB0aGlzLnNlcmllcy5sZW5ndGggJiYgIWluZGV4KVxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuc2VyaWVzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGF4ZXNbdGhpcy5zZXJpZXNbaV1dID0gbmFtZS5zcGxpdChBWEVTX0NPREVfRElWSURFUilbaV07XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMueEF4aXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgeCA9IHBvaW50c1tldnQucG9pbnRJbmRleF0ueDtcclxuICAgICAgYXhlc1t0aGlzLnhBeGlzW2ldXSA9IHguc3BsaXQoQVhFU19DT0RFX0RJVklERVIpW2ldO1xyXG4gICAgfVxyXG4gICAgdGhpcy5leHBsb3JlLmVtaXQoeyBheGVzLCBpbmRleCB9KTtcclxuICB9XHJcbiAgZXhwb3J0VG9FeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdFxyXG4gICAgICBudW1iZXJGb3JtYXQgPSB0aGlzLl9zZXJ2aWNlLm51bWJlckZvcm1hdCxcclxuICAgICAgd29ya3NoZWV0cyA9IFtdO1xyXG4gICAgdGhpcy5fZGF0YS5mb3JFYWNoKHMgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IHRoaXMuX3hBeGlzLm1hcCgoeCwgaSkgPT4gKHtcclxuICAgICAgICBpbmRleDogaSArIDEsXHJcbiAgICAgICAgdmFsdWU6IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSB4KS50aXRsZSxcclxuICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfSBhcyBDZWxsKSk7XHJcbiAgICAgIGNlbGxzLnB1c2goe1xyXG4gICAgICAgIGluZGV4OiB0aGlzLl94QXhpcy5sZW5ndGggKyAxLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpLFxyXG4gICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGFzIENlbGwpO1xyXG4gICAgICBjb25zdCByb3dzID0gW3tcclxuICAgICAgICBpbmRleDogMSxcclxuICAgICAgICBjZWxsc1xyXG4gICAgICB9IGFzIFJvd107XHJcbiAgICAgIHMucG9pbnRzLmZvckVhY2goKHAsIGkpID0+IHtcclxuICAgICAgICBjb25zdCBjZWxscyA9IHRoaXMuX3hBeGlzLm1hcCgoXywgaikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaW5kZXg6IGogKyAxLFxyXG4gICAgICAgICAgICB2YWx1ZTogcC5uYW1lLnNwbGl0KEFYRVNfTEFCRUxfRElWSURFUilbal1cclxuICAgICAgICAgIH0gYXMgQ2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICBjZWxscy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgICAgaW5kZXg6IHRoaXMuX3hBeGlzLmxlbmd0aCArIDEsXHJcbiAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICBudW1iZXJGb3JtYXQsXHJcbiAgICAgICAgICAgIGhBbGlnbjogJ3JpZ2h0J1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHZhbHVlOiBwLnlcclxuICAgICAgICB9IGFzIENlbGwpO1xyXG4gICAgICAgIHJvd3MucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaW5kZXg6IGkgKyAyLFxyXG4gICAgICAgICAgICBjZWxsc1xyXG4gICAgICAgICAgfSBhcyBSb3cpXHJcbiAgICAgIH0pXHJcbiAgICAgIHdvcmtzaGVldHMucHVzaChcclxuICAgICAgICB7XHJcbiAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuZW5hYmxlUnRsLFxyXG4gICAgICAgICAgbmFtZTogcy50aXRsZSxcclxuICAgICAgICAgIGNvbHVtbnM6IFsuLi50aGlzLl94QXhpcy5tYXAoKF8sIGkpID0+ICh7IGluZGV4OiBpICsgMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbikpXHJcbiAgICAgICAgICAgICwgeyBpbmRleDogdGhpcy5feEF4aXMubGVuZ3RoICsgMSB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIHJvd3NcclxuICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBib29rID0gbmV3IFdvcmtib29rKFxyXG4gICAgICB7XHJcbiAgICAgICAgd29ya3NoZWV0cyxcclxuICAgICAgfSxcclxuICAgICAgJ3hsc3gnXHJcbiAgICApO1xyXG4gICAgYm9vay5zYXZlKGAke3RpdGxlfS54bHN4YCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFydCAmJiB0aGlzLmNoYXJ0LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgQ2VsbCB7IH1cclxuIl19
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL2NoYXJ0L2NoYXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDN0ksT0FBTyxFQUFFLEtBQUssRUFBdUMsTUFBTSx3QkFBd0IsQ0FBQztBQUdwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBZSxXQUFXLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQU0xRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7OztBQVUvQyxxQkFBcUI7QUFDckIsTUFBTSxPQUFPLGtCQUFrQjtJQXNHN0IsaUJBQWlCO0lBQ2pCLFlBQW9CLFFBQXFCLEVBQy9CLEdBQWtCLEVBQVUsVUFBNEIsRUFBVSxRQUF3QixFQUFVLFdBQXVCO1FBRGpILGFBQVEsR0FBUixRQUFRLENBQWE7UUFDL0IsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQTVEbEgsWUFBTyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTNELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUd0RCxPQUFFLEdBQUcsY0FBYyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBRWxELGNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztRQVF2QyxjQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDbEMsbUJBQWMsR0FBd0I7WUFDN0MsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzFCLE1BQU0sRUFBRTtnQkFDTixHQUFHLEVBQUUsQ0FBQzthQUNQO1lBQ0QsU0FBUyxFQUFFO2dCQUNULFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1NBQ0YsQ0FBQztRQUNPLGlCQUFZLEdBQWM7WUFDakMsU0FBUyxFQUFFLFVBQVU7WUFDckIsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1NBQ0YsQ0FBQztRQUNPLGlCQUFZLEdBQWM7WUFDakMsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1NBQ0YsQ0FBQztRQUNPLGNBQVMsR0FBbUI7WUFDbkMsTUFBTSxFQUFFO2dCQUNOLEtBQUssRUFBRSxDQUFDO2FBQ1Q7WUFDRCxPQUFPLEVBQUUsQ0FBQztTQUNYLENBQUM7UUFDTyxZQUFPLEdBQXlCO1lBQ3ZDLE1BQU0sRUFBRSxJQUFJO1lBQ1osZUFBZSxFQUFFLEtBQUs7WUFDdEIsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1QsVUFBVSxFQUFFLFdBQVc7YUFDeEI7U0FDRixDQUFDO1FBQ08sY0FBUyxHQUEyQjtZQUMzQyxNQUFNLEVBQUUsS0FBSztZQUNiLFFBQVEsRUFBRSxVQUFVO1NBQ3JCLENBQUM7UUFDRixVQUFLLEdBQWdDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFFM0UsVUFBSyxHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDekQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFJOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUF0R0QsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUNXLEtBQUssQ0FBQyxLQUF3QjtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQ1csTUFBTSxDQUFDLEtBQXdCO1FBQ3hDLElBQUksS0FBSztZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7O1lBQ3RELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUNXLE9BQU8sQ0FBQyxLQUF3QjtRQUN6QyxJQUFJLEtBQUs7WUFBRSxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDOztZQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBbUJELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ1csUUFBUSxDQUFDLEtBQUs7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQXNERCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDNUMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFFBQVE7WUFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDcEIsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQzdCLEtBQUssUUFBUTtvQkFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7b0JBQ3JDLE1BQU07Z0JBQ1IsS0FBSyxNQUFNO29CQUNULElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztvQkFDcEMsTUFBTTtnQkFDUjtvQkFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7b0JBQ3JDLE1BQU07YUFDVDtZQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUNsRDs7WUFFQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNsRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVc7WUFDdkQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBRWYsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ25CLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsTUFBTTtRQUNKLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUMxQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDMUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFvQixFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUNBLENBQUM7SUFDSixDQUFDO0lBQ0QsTUFBTTtJQUNFLEtBQUs7UUFDWCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsQ0FBQyxLQUFLO2dCQUNULE9BQU87b0JBQ0wsS0FBSyxFQUFFLE1BQU07b0JBQ2IsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNiLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTTtvQkFDcEIsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRO29CQUN2QyxLQUFLLEVBQUUsQ0FBQztvQkFDUixJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7b0JBQ2hDLGFBQWEsRUFBRSxPQUFPO29CQUN0QixrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7b0JBQ3BDLE1BQU0sRUFBRTt3QkFDTixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssUUFBUTt3QkFDekcsS0FBSyxFQUFFLFNBQVM7d0JBQ2hCLE1BQU0sRUFBRSxFQUFFO3dCQUNWLEtBQUssRUFBRSxFQUFFO3FCQUNWO2lCQUNhLENBQUM7O2dCQUNkLE9BQU87b0JBQ1YsS0FBSyxFQUFFLE1BQU07b0JBQ2IsS0FBSyxFQUFFLEdBQUc7b0JBQ1YsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUNiLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTTtvQkFDcEIsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUTtvQkFDaEMsTUFBTSxFQUFFO3dCQUNOLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRO3dCQUNwRixNQUFNLEVBQUUsRUFBRTt3QkFDVixLQUFLLEVBQUUsRUFBRTtxQkFDVjtpQkFDYSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUM7WUFDckIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsWUFBWSxFQUFFLElBQUk7WUFDbEIsVUFBVSxFQUFFLGFBQWE7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzVDLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBZ0I7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNO1NBQ1AsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxhQUFhLENBQUMsQ0FBMEI7UUFDdEMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQVcsRUFBRTtZQUNwRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRztZQUNyQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWM7U0FDcEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFBLENBQUM7SUFDRixVQUFVLENBQUMsR0FBb0I7UUFDN0IsTUFBTSxJQUFJLEdBQTRCLEVBQUUsRUFDdEMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUNuQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUs7WUFDN0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtnQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsYUFBYSxDQUFDLEtBQWE7UUFDekIsTUFDRSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQ3pDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7Z0JBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSztnQkFDcEQsS0FBSyxFQUFFO29CQUNMLElBQUksRUFBRSxJQUFJO2lCQUNYO2FBQ08sQ0FBQSxDQUFDLENBQUM7WUFDWixLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUNuQyxLQUFLLEVBQUU7b0JBQ0wsSUFBSSxFQUFFLElBQUk7aUJBQ1g7YUFDTSxDQUFDLENBQUM7WUFDWCxNQUFNLElBQUksR0FBRyxDQUFDO29CQUNaLEtBQUssRUFBRSxDQUFDO29CQUNSLEtBQUs7aUJBQ0MsQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNyQyxPQUFPO3dCQUNMLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQzt3QkFDWixLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ25DLENBQUM7Z0JBQ1osQ0FBQyxDQUNBLENBQUM7Z0JBQ0YsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDVCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQztvQkFDN0IsS0FBSyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osTUFBTSxFQUFFLE9BQU87cUJBQ2hCO29CQUNELEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDSCxDQUFDLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLElBQUksQ0FDUDtvQkFDRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7b0JBQ1osS0FBSztpQkFDQyxDQUFDLENBQUE7WUFDYixDQUFDLENBQUMsQ0FBQTtZQUNGLFVBQVUsQ0FBQyxJQUFJLENBQ2I7Z0JBQ0UsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUs7Z0JBQ2IsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFhLENBQUEsQ0FBQztvQkFDNUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQ3BDO2dCQUNELElBQUk7YUFDUSxDQUNmLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUN2QjtZQUNFLFVBQVU7U0FDWCxFQUNELE1BQU0sQ0FDUCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O0FBelFNLHlCQUFNLEdBQUcsQ0FBQyxDQUFDOytHQS9DUCxrQkFBa0I7bUdBQWxCLGtCQUFrQixxZUFObkIsRUFBRTsyRkFNRCxrQkFBa0I7a0JBUjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxXQUFXO3FCQUNuQjtpQkFDRjttTkFJQyxLQUFLO3NCQURKLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFRSyxLQUFLO3NCQURmLEtBQUs7Z0JBU0ssTUFBTTtzQkFEaEIsS0FBSztnQkFVSyxPQUFPO3NCQURqQixLQUFLO2dCQU1OLE9BQU87c0JBRE4sS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFYSxPQUFPO3NCQUF6QixNQUFNO2dCQUNFLE9BQU87c0JBQWYsS0FBSztnQkFDYSxhQUFhO3NCQUEvQixNQUFNO2dCQUdFLEVBQUU7c0JBRFYsV0FBVztnQkFRRCxRQUFRO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENoYXJ0LCBTZXJpZXNNb2RlbCwgQ3Jvc3NoYWlyU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1jaGFydHMnO1xyXG5pbXBvcnQgeyBBeGlzTW9kZWwsIENoYXJ0QXJlYU1vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgTGVnZW5kU2V0dGluZ3NNb2RlbCwgSVBvaW50RXZlbnRBcmdzLCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbnRlcm5hdGlvbmFsaXphdGlvbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1iYXNlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFdvcmtib29rIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IFdvcmtzaGVldCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL3dvcmtzaGVldCc7XHJcbmltcG9ydCB7IFJvdyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL3Jvdyc7XHJcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQvc3JjL2NvbHVtbic7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG5pbXBvcnQgeyBBWEVTX0NPREVfRElWSURFUiwgQVhFU19MQUJFTF9ESVZJREVSLCBDdWJlU2VydmljZSwgZXJyUmVzb3VyY2UsIFNlcmllcyB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IEF4aXNDbGlja0V2ZW50LCBDdWJlVmlld2VyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2RlY2xhcmF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDaGFydFR5cGUsIEN1YmUsIFlBeGlzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IFNjb3BlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLWNoYXJ0JyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdjdWJlLXZpZXcnXHJcbiAgfVxyXG59KVxyXG4vKiogY2hhcnQgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEN1YmVDaGFydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEN1YmVWaWV3ZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZyB8IG51bWJlcjtcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZSE6IHN0cmluZztcclxuICBwcml2YXRlIF94QXhpczogc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfY3ViZTogQ3ViZTtcclxuICBwdWJsaWMgZ2V0IHhBeGlzKCk6IHN0cmluZ1tdIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl94QXhpcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHhBeGlzKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgdGhpcy5feEF4aXMgPSBpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VyaWVzPzogc3RyaW5nW107XHJcbiAgcHVibGljIGdldCBzZXJpZXMoKTogc3RyaW5nW10gfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlcmllcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNlcmllcyh2YWx1ZTogc3RyaW5nW10gfCBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSkgdGhpcy5fc2VyaWVzID0gaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XHJcbiAgICBlbHNlIHRoaXMuX3NlcmllcyA9IG51bGw7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2luZGljZXM/OiBzdHJpbmdbXTtcclxuICBwdWJsaWMgZ2V0IGluZGljZXMoKTogc3RyaW5nW10gfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luZGljZXM7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpbmRpY2VzKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XHJcbiAgICBlbHNlIHRoaXMuX2luZGljZXMgPSBudWxsO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gIEBJbnB1dCgpXHJcbiAgeUF4aXM/OiBZQXhpcztcclxuICBASW5wdXQoKVxyXG4gIGNoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBASW5wdXQoKVxyXG4gIGluZGljZXNDaGFydFR5cGU/OiBDaGFydFR5cGU7XHJcbiAgQElucHV0KCkgc2NvcGU6IFNjb3BlVHlwZTtcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwbG9yZTogRXZlbnRFbWl0dGVyPEF4aXNDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBsb2FkaW5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIEBIb3N0QmluZGluZygpXHJcbiAgcmVhZG9ubHkgaWQgPSBgY3ViZS1jaGFydC0ke0N1YmVDaGFydENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIGNoYXJ0OiBDaGFydDtcclxuICBwcml2YXRlIF9wYWxldHRlcyA9IHRoaXMuX3Nlc3Npb24uYWNjZW50UGFsZXR0ZTtcclxuICBwdWJsaWMgZ2V0IHBhbGV0dGVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhbGV0dGVzO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcGFsZXR0ZXModmFsdWUpIHtcclxuICAgIHRoaXMuX3BhbGV0dGVzID0gdmFsdWU7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IGVuYWJsZVJ0bCA9IHRoaXMuX3Nlc3Npb24uaW52ZXJzZTtcclxuICByZWFkb25seSBsZWdlbmRTZXR0aW5nczogTGVnZW5kU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIGlzSW52ZXJzZWQ6IHRoaXMuZW5hYmxlUnRsLFxyXG4gICAgbWFyZ2luOiB7XHJcbiAgICAgIHRvcDogNVxyXG4gICAgfSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVhBeGlzOiBBeGlzTW9kZWwgPSB7XHJcbiAgICB2YWx1ZVR5cGU6ICdDYXRlZ29yeScsXHJcbiAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfTtcclxuICByZWFkb25seSBwcmltYXJ5WUF4aXM6IEF4aXNNb2RlbCA9IHtcclxuICAgIGxhYmVsU3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IGNoYXJ0QXJlYTogQ2hhcnRBcmVhTW9kZWwgPSB7XHJcbiAgICBib3JkZXI6IHtcclxuICAgICAgd2lkdGg6IDBcclxuICAgIH0sXHJcbiAgICBvcGFjaXR5OiAwXHJcbiAgfTtcclxuICByZWFkb25seSB0b29sdGlwOiBUb29sdGlwU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIGVuYWJsZTogdHJ1ZSxcclxuICAgIGVuYWJsZUFuaW1hdGlvbjogZmFsc2UsXHJcbiAgICBib3JkZXI6IHsgd2lkdGg6IDAgfSxcclxuICAgIHRleHRTdHlsZToge1xyXG4gICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgfVxyXG4gIH07XHJcbiAgcmVhZG9ubHkgY3Jvc3NoYWlyOiBDcm9zc2hhaXJTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiBmYWxzZSxcclxuICAgIGxpbmVUeXBlOiAnVmVydGljYWwnXHJcbiAgfTtcclxuICB0aGVtZTogJ01hdGVyaWFsJyB8ICdNYXRlcmlhbERhcmsnID0gdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnO1xyXG4gIHByaXZhdGUgX2RhdGE6IFNlcmllc1tdO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ludGw6IEludGVybmF0aW9uYWxpemF0aW9uID0gbmV3IEludGVybmF0aW9uYWxpemF0aW9uKCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgLyoqIGNoYXJ0IGN0b3IgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLCBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLCBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICBfc2Vzc2lvbi50aGVtZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICB0aGlzLnRoZW1lID0gdC5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnO1xyXG4gICAgICAgIHRoaXMucGFsZXR0ZXMgPSBfc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpIHx8IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgIHRoaXMuY3VycmVuY3lDb2RlID0gdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGU7XHJcbiAgICBpZiAodGhpcy5jaGFydFR5cGUgPT09ICdMaW5lJyB8fCB0aGlzLmNoYXJ0VHlwZSA9PT0gJ1NwbGluZScpXHJcbiAgICAgIHRoaXMuY3Jvc3NoYWlyLmVuYWJsZSA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5fY3ViZS55QXhpcykge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuX2N1YmUueUF4aXMudHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ051bWJlcic6XHJcbiAgICAgICAgICB0aGlzLnByaW1hcnlZQXhpcy5sYWJlbEZvcm1hdCA9ICduMCc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdOb25lJzpcclxuICAgICAgICAgIHRoaXMucHJpbWFyeVlBeGlzLm1heGltdW1MYWJlbHMgPSAwO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMucHJpbWFyeVlBeGlzLmxhYmVsRm9ybWF0ID0gJ2MwJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucHJpbWFyeVlBeGlzLnRpdGxlID0gdGhpcy5fY3ViZS55QXhpcy50aXRsZTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5wcmltYXJ5WUF4aXMubGFiZWxGb3JtYXQgPSB0aGlzLmN1cnJlbmN5Q29kZSA/ICdjMCcgOiAnbjAnO1xyXG4gICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWx0ZXJzJ10gJiYgIWNoYW5nZXNbJ2ZpbHRlcnMnXS5maXJzdENoYW5nZSlcclxuICAgICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICByZXNpemUoKSB7XHJcbiAgICB0aGlzLmNoYXJ0ICYmIHRoaXMuY2hhcnQuY2hhcnRSZXNpemUoKTtcclxuICB9XHJcblxyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgIHRoaXMuX3NlcnZpY2Uuc2VyaWVzKHRoaXMuY3ViZSwgdGhpcy54QXhpcywge1xyXG4gICAgICBpbmRpY2VzOiB0aGlzLmluZGljZXMsIHNlcmllczogdGhpcy5zZXJpZXMsXHJcbiAgICAgIGZpbHRlcnM6IHRoaXMuZmlsdGVycyxcclxuICAgICAgc2NvcGU6IHRoaXMuc2NvcGVcclxuICAgIH0pLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5fZGF0YSA9IHI7XHJcbiAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuX3NiLmVycm9yKGVyclJlc291cmNlKGUpKTtcclxuICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgKTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIGNvbnN0IHNlcmllcyA9IHRoaXMuX2RhdGEubWFwKHMgPT4ge1xyXG4gICAgICBpZiAocy5pbmRleClcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgeE5hbWU6ICduYW1lJyxcclxuICAgICAgICAgIHlOYW1lOiAneScsXHJcbiAgICAgICAgICBuYW1lOiBzLnRpdGxlLFxyXG4gICAgICAgICAgZGF0YVNvdXJjZTogcy5wb2ludHMsXHJcbiAgICAgICAgICB0eXBlOiB0aGlzLmluZGljZXNDaGFydFR5cGUgfHwgJ1NwbGluZScsXHJcbiAgICAgICAgICB3aWR0aDogMixcclxuICAgICAgICAgIGZpbGw6IHRoaXMuX3Nlc3Npb24uZ2V0UHJpbWVyeSgpLFxyXG4gICAgICAgICAgc3RhY2tpbmdHcm91cDogJ2luZGV4JyxcclxuICAgICAgICAgIGVtcHR5UG9pbnRTZXR0aW5nczogeyBtb2RlOiAnWmVybycgfSxcclxuICAgICAgICAgIG1hcmtlcjoge1xyXG4gICAgICAgICAgICB2aXNpYmxlOiAhdGhpcy5pbmRpY2VzQ2hhcnRUeXBlIHx8IHRoaXMuaW5kaWNlc0NoYXJ0VHlwZSA9PT0gJ0xpbmUnIHx8IHRoaXMuaW5kaWNlc0NoYXJ0VHlwZSA9PT0gJ1NwbGluZScsXHJcbiAgICAgICAgICAgIHNoYXBlOiAnRGlhbW9uZCcsXHJcbiAgICAgICAgICAgIGhlaWdodDogMTAsXHJcbiAgICAgICAgICAgIHdpZHRoOiAxMFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gYXMgU2VyaWVzTW9kZWw7XHJcbiAgICAgIGVsc2UgcmV0dXJuIHtcclxuICAgICAgICB4TmFtZTogJ25hbWUnLFxyXG4gICAgICAgIHlOYW1lOiAneScsXHJcbiAgICAgICAgbmFtZTogcy50aXRsZSxcclxuICAgICAgICBkYXRhU291cmNlOiBzLnBvaW50cyxcclxuICAgICAgICB0eXBlOiB0aGlzLmNoYXJ0VHlwZSB8fCAnQ29sdW1uJyxcclxuICAgICAgICBtYXJrZXI6IHtcclxuICAgICAgICAgIHZpc2libGU6ICF0aGlzLmNoYXJ0VHlwZSB8fCB0aGlzLmNoYXJ0VHlwZSA9PT0gJ0xpbmUnIHx8IHRoaXMuY2hhcnRUeXBlID09PSAnU3BsaW5lJyxcclxuICAgICAgICAgIGhlaWdodDogMTAsXHJcbiAgICAgICAgICB3aWR0aDogMTBcclxuICAgICAgICB9XHJcbiAgICAgIH0gYXMgU2VyaWVzTW9kZWw7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubGVnZW5kU2V0dGluZ3MudmlzaWJsZSA9IHNlcmllcy5sZW5ndGggPiAxO1xyXG4gICAgdGhpcy5jaGFydCAmJiB0aGlzLmNoYXJ0LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQoe1xyXG4gICAgICBsZWdlbmRTZXR0aW5nczogdGhpcy5sZWdlbmRTZXR0aW5ncyxcclxuICAgICAgcHJpbWFyeVhBeGlzOiB0aGlzLnByaW1hcnlYQXhpcyxcclxuICAgICAgcHJpbWFyeVlBeGlzOiB0aGlzLnByaW1hcnlZQXhpcyxcclxuICAgICAgZW5hYmxlRXhwb3J0OiB0cnVlLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxyXG4gICAgICB0aGVtZTogdGhpcy50aGVtZSxcclxuICAgICAgdXNlR3JvdXBpbmdTZXBhcmF0b3I6IHRydWUsXHJcbiAgICAgIHBhbGV0dGVzOiB0aGlzLnBhbGV0dGVzLFxyXG4gICAgICBjdXJyZW5jeUNvZGU6IHRoaXMuY3VycmVuY3lDb2RlLFxyXG4gICAgICB0b29sdGlwUmVuZGVyOiB0aGlzLnRvb2x0aXBSZW5kZXIuYmluZCh0aGlzKSxcclxuICAgICAgc2VsZWN0aW9uTW9kZTogJ1BvaW50JyxcclxuICAgICAgcG9pbnRDbGljazogdGhpcy5wb2ludENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgICAgY2hhcnRBcmVhOiB0aGlzLmNoYXJ0QXJlYSxcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCBhcyBzdHJpbmcsXHJcbiAgICAgIGNyb3NzaGFpcjogdGhpcy5jcm9zc2hhaXIsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5lbmFibGVSdGwsXHJcbiAgICAgIHNlcmllcyxcclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIHRvb2x0aXBSZW5kZXIoZTogSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MpOiB2b2lkIHtcclxuICAgIGUudGV4dCA9IHRoaXMuX2ludGwuZm9ybWF0TnVtYmVyKGUucG9pbnQueSBhcyBudW1iZXIsIHtcclxuICAgICAgY3VycmVuY3k6IHRoaXMuY3VycmVuY3lDb2RlLFxyXG4gICAgICBmb3JtYXQ6IHRoaXMuY3VycmVuY3lDb2RlID8gJ2MnIDogJ24nLFxyXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHNcclxuICAgIH0pO1xyXG4gIH07XHJcbiAgcG9pbnRDbGljayhldnQ6IElQb2ludEV2ZW50QXJncykge1xyXG4gICAgY29uc3QgYXhlczogeyBbYXhpczogc3RyaW5nXTogYW55IH0gPSB7fSxcclxuICAgICAgc2VyaWUgPSB0aGlzLl9kYXRhW2V2dC5zZXJpZXNJbmRleF0sXHJcbiAgICAgIHsgaW5kZXgsIG5hbWUsIHBvaW50cyB9ID0gc2VyaWU7XHJcbiAgICBpZiAodGhpcy5zZXJpZXMgJiYgdGhpcy5zZXJpZXMubGVuZ3RoICYmICFpbmRleClcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNlcmllcy5sZW5ndGg7IGkrKylcclxuICAgICAgICBheGVzW3RoaXMuc2VyaWVzW2ldXSA9IG5hbWUuc3BsaXQoQVhFU19DT0RFX0RJVklERVIpW2ldO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnhBeGlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHggPSBwb2ludHNbZXZ0LnBvaW50SW5kZXhdLng7XHJcbiAgICAgIGF4ZXNbdGhpcy54QXhpc1tpXV0gPSB4LnNwbGl0KEFYRVNfQ09ERV9ESVZJREVSKVtpXTtcclxuICAgIH1cclxuICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXggfSk7XHJcbiAgfVxyXG4gIGV4cG9ydFRvRXhjZWwodGl0bGU6IHN0cmluZykge1xyXG4gICAgY29uc3RcclxuICAgICAgbnVtYmVyRm9ybWF0ID0gdGhpcy5fc2VydmljZS5udW1iZXJGb3JtYXQsXHJcbiAgICAgIHdvcmtzaGVldHMgPSBbXTtcclxuICAgIHRoaXMuX2RhdGEuZm9yRWFjaChzID0+IHtcclxuICAgICAgY29uc3QgY2VsbHMgPSB0aGlzLl94QXhpcy5tYXAoKHgsIGkpID0+ICh7XHJcbiAgICAgICAgaW5kZXg6IGkgKyAxLFxyXG4gICAgICAgIHZhbHVlOiB0aGlzLl9jdWJlLmF4ZXMuZmluZChhID0+IGEubmFtZSA9PT0geCkudGl0bGUsXHJcbiAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH0gYXMgQ2VsbCkpO1xyXG4gICAgICBjZWxscy5wdXNoKHtcclxuICAgICAgICBpbmRleDogdGhpcy5feEF4aXMubGVuZ3RoICsgMSxcclxuICAgICAgICB2YWx1ZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnVmFsdWUnKSxcclxuICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfSBhcyBDZWxsKTtcclxuICAgICAgY29uc3Qgcm93cyA9IFt7XHJcbiAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgY2VsbHNcclxuICAgICAgfSBhcyBSb3ddO1xyXG4gICAgICBzLnBvaW50cy5mb3JFYWNoKChwLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY2VsbHMgPSB0aGlzLl94QXhpcy5tYXAoKF8sIGopID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGluZGV4OiBqICsgMSxcclxuICAgICAgICAgICAgdmFsdWU6IHAubmFtZS5zcGxpdChBWEVTX0xBQkVMX0RJVklERVIpW2pdXHJcbiAgICAgICAgICB9IGFzIENlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY2VsbHMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICAgIGluZGV4OiB0aGlzLl94QXhpcy5sZW5ndGggKyAxLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICBoQWxpZ246ICdyaWdodCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB2YWx1ZTogcC55XHJcbiAgICAgICAgfSBhcyBDZWxsKTtcclxuICAgICAgICByb3dzLnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGluZGV4OiBpICsgMixcclxuICAgICAgICAgICAgY2VsbHNcclxuICAgICAgICAgIH0gYXMgUm93KVxyXG4gICAgICB9KVxyXG4gICAgICB3b3Jrc2hlZXRzLnB1c2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZW5hYmxlUnRsOiB0aGlzLmVuYWJsZVJ0bCxcclxuICAgICAgICAgIG5hbWU6IHMudGl0bGUsXHJcbiAgICAgICAgICBjb2x1bW5zOiBbLi4udGhpcy5feEF4aXMubWFwKChfLCBpKSA9PiAoeyBpbmRleDogaSArIDEsIHdpZHRoOiAyNTAgfSBhcyBDb2x1bW4pKVxyXG4gICAgICAgICAgICAsIHsgaW5kZXg6IHRoaXMuX3hBeGlzLmxlbmd0aCArIDEgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICByb3dzXHJcbiAgICAgICAgfSBhcyBXb3Jrc2hlZXRcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAge1xyXG4gICAgICAgIHdvcmtzaGVldHMsXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuICAgIGJvb2suc2F2ZShgJHt0aXRsZX0ueGxzeGApO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnQgJiYgdGhpcy5jaGFydC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiJdfQ==
@@ -28,14 +28,16 @@ export class CubeExplorePaneComponent {
28
28
  this.resize();
29
29
  this._pane.paramsChange.subscribe(p => {
30
30
  this.cube = p['cube'];
31
- const cube = this._session.profile.cubes.find(c => c.name === this.cube);
31
+ this._cube = this._session.profile.cubes.find(c => c.name === this.cube);
32
32
  if (!this._pane.group)
33
- this._pane.group = cube.title;
33
+ this._pane.group = this._cube.title;
34
34
  this._pane.title = this._translate.get('Explore');
35
35
  });
36
36
  this._pane.dataChange.subscribe(d => {
37
37
  const { index, scope } = d;
38
38
  this.index = index;
39
+ if (index)
40
+ this._pane.title = this._cube.indices.find(i => i.name === index).title;
39
41
  this.scope = scope;
40
42
  });
41
43
  this._pane.queryParamsChange.subscribe(q => {
@@ -54,7 +56,7 @@ export class CubeExplorePaneComponent {
54
56
  relativeTo: this._pane,
55
57
  queryParams: this.axes,
56
58
  state: { item },
57
- policy: OpenPolicy.Tab | OpenPolicy.Dismissable,
59
+ policy: OpenPolicy.Tab | OpenPolicy.Expandable | OpenPolicy.Dismissable,
58
60
  group: this._pane.group
59
61
  });
60
62
  this.loading = false;
@@ -78,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
78
80
  type: HostListener,
79
81
  args: ['window:resize']
80
82
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9leHBsb3JlL2V4cGxvcmUucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZXhwbG9yZS9leHBsb3JlLnBhbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTeEQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQVlqRSxNQUFNLE9BQ0Usd0JBQXdCO0lBTzlCLFlBQ1UsS0FBd0MsRUFDeEMsR0FBa0IsRUFDbEIsUUFBd0IsRUFDeEIsUUFBcUIsRUFDckIsVUFBNEIsRUFDNUIsT0FBb0I7UUFMcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUM7UUFDeEMsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFQOUIsWUFBTyxHQUFHLElBQUksQ0FBQztRQVFiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztnQkFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELElBQUksQ0FBQyxHQUFxQjtRQUN4QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEQsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDdEIsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUN0QixLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLFdBQVc7Z0JBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSEFuREssd0JBQXdCO3lHQUF4Qix3QkFBd0Isa0lDdEJoQyx5NUNBWUE7MkZEVVEsd0JBQXdCO2tCQVYvQixTQUFTOzZCQUM4QyxDQUFDOzs7RUFHdkQsQ0FBQyxRQUNLO3dCQUNKLEtBQUssRUFBRSxNQUFNO3FCQUNkOzBPQWtDRCxNQUFNO3NCQURMLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeHBsb3JlSXRlbUV2ZW50IH0gZnJvbSAnLi9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSwgU2NvcGVUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhwbG9yZS5wYW5lLmNvbXBvbmVudC5odG1sJywgc3R5bGVzOiBbYFxyXG46aG9zdCB7XHJcbiAgICBtaW4td2lkdGg6IDM2MHB4O1xyXG59YF0sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ3ViZUV4cGxvcmVQYW5lQ29tcG9uZW50IHtcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgYXhlczogQXhlc01hcDtcclxuICBwYWdlU2l6ZTogbnVtYmVyO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG4gIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxDdWJlRXhwbG9yZVBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcikge1xyXG4gICAgdGhpcy5yZXNpemUoKTtcclxuICAgIHRoaXMuX3BhbmUucGFyYW1zQ2hhbmdlLnN1YnNjcmliZShwID0+IHtcclxuICAgICAgdGhpcy5jdWJlID0gcFsnY3ViZSddO1xyXG4gICAgICBjb25zdCBjdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSk7XHJcbiAgICAgIGlmICghdGhpcy5fcGFuZS5ncm91cCkgdGhpcy5fcGFuZS5ncm91cCA9IGN1YmUudGl0bGU7XHJcbiAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFeHBsb3JlJyk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUuZGF0YUNoYW5nZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIGNvbnN0IHsgaW5kZXgsIHNjb3BlIH0gPSBkO1xyXG4gICAgICB0aGlzLmluZGV4ID0gaW5kZXg7XHJcbiAgICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5xdWVyeVBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocSA9PiB7XHJcbiAgICAgIHRoaXMuYXhlcyA9IHE7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgcmVzaXplKCkge1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IE1hdGguZmxvb3IoKHdpbmRvdy5pbm5lckhlaWdodCAtIDE4MCkgLyA1MCk7XHJcbiAgfVxyXG4gIGl0ZW0oZXZ0OiBFeHBsb3JlSXRlbUV2ZW50KSB7XHJcbiAgICBjb25zdCB7IGtleXMgfSA9IGV2dDtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLml0ZW0odGhpcy5jdWJlLCB0aGlzLmF4ZXMsIGtleXMpLnN1YnNjcmliZShpdGVtID0+IHtcclxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnaScsIGV2dC50ZW1wbGF0ZSwga2V5c1swXV0sIHtcclxuICAgICAgICBwYXRoTW9kZTogJ3JlbGF0aXZlJyxcclxuICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLl9wYW5lLFxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB0aGlzLmF4ZXMsXHJcbiAgICAgICAgc3RhdGU6IHsgaXRlbSB9LFxyXG4gICAgICAgIHBvbGljeTogT3BlblBvbGljeS5UYWIgfCBPcGVuUG9saWN5LkRpc21pc3NhYmxlLFxyXG4gICAgICAgIGdyb3VwOiB0aGlzLl9wYW5lLmdyb3VwXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIGUgPT4geyBcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDEgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdG9vbGJhciBjbGFzcz1cIm5hdi10b29sYmFyXCI+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIml0ZW1zLnJlZnJlc2goKVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZWZyZXNoJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBtYXRBbmltYXRlPVwicm90YXRlXCI+YXV0b3JlbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIml0ZW1zLmV4cG9ydEV4Y2VsKClcIiBbYml6ZG9jVG9vbHRpcF09XCInRG93bmxvYWRFeGNlbCcgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+c2F2ZV9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpdGVtcy5wYWdpbmF0b3IucHJldmlvdXNQYWdlKClcIiBbYml6ZG9jVG9vbHRpcF09XCInUHJldlBhZ2UnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUHJldlBhZ2UnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIiFpdGVtcy5wYWdpbmF0b3IuaGFzUHJldmlvdXNQYWdlKClcIj48bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+a2V5Ym9hcmRfYXJyb3dfbGVmdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIml0ZW1zLnBhZ2luYXRvci5uZXh0UGFnZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ05leHRQYWdlJyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ05leHRQYWdlJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhaXRlbXMucGFnaW5hdG9yLmhhc05leHRQYWdlKClcIj48bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXByb2dyZXNzLWJhciBtb2RlPVwicXVlcnlcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48Yml6ZG9jLWN1YmUtdGFncyBbaW50ZXJhY3RpdmVdPWZhbHNlIFtjdWJlXT1cImN1YmVcIiBbYXhlc109XCJheGVzXCI+PC9iaXpkb2MtY3ViZS10YWdzPlxyXG48Yml6ZG9jLWN1YmUtZXhwbG9yZSAjaXRlbXMgW2N1YmVdPVwiY3ViZVwiIFtpbmRleF09XCJpbmRleFwiIFtheGVzXT1heGVzXHJcbiAgICAgICAgICAgICAgICAgICAgIChleHBsb3JlKT1cIml0ZW0oJGV2ZW50KVwiIChsb2FkaW5nQ2hhbmdlKT1cImxvYWRpbmcgPSAkZXZlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2NvcGVdPVwic2NvcGVcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIj48L2JpemRvYy1jdWJlLWV4cGxvcmU+XHJcbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbG9yZS5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9leHBsb3JlL2V4cGxvcmUucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvZXhwbG9yZS9leHBsb3JlLnBhbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTeEQsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQVlqRSxNQUFNLE9BQ0Usd0JBQXdCO0lBUTlCLFlBQ1UsS0FBd0MsRUFDeEMsR0FBa0IsRUFDbEIsUUFBd0IsRUFDeEIsUUFBcUIsRUFDckIsVUFBNEIsRUFDNUIsT0FBb0I7UUFMcEIsVUFBSyxHQUFMLEtBQUssQ0FBbUM7UUFDeEMsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFSOUIsWUFBTyxHQUFHLElBQUksQ0FBQztRQVNiLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO2dCQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzNELElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksS0FBSztnQkFDUCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUMxRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxJQUFJLENBQUMsR0FBcUI7UUFDeEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xELFFBQVEsRUFBRSxVQUFVO2dCQUNwQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDdEIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxVQUFVLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLFdBQVc7Z0JBQ3ZFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7YUFDeEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztxSEF0REssd0JBQXdCO3lHQUF4Qix3QkFBd0Isa0lDdEJoQyx5NUNBWUE7MkZEVVEsd0JBQXdCO2tCQVYvQixTQUFTOzZCQUM4QyxDQUFDOzs7RUFHdkQsQ0FBQyxRQUNLO3dCQUNKLEtBQUssRUFBRSxNQUFNO3FCQUNkOzBPQXFDRCxNQUFNO3NCQURMLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFeHBsb3JlSXRlbUV2ZW50IH0gZnJvbSAnLi9leHBsb3JlLWl0ZW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSwgU2NvcGVUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vZXhwbG9yZS5wYW5lLmNvbXBvbmVudC5odG1sJywgc3R5bGVzOiBbYFxyXG46aG9zdCB7XHJcbiAgICBtaW4td2lkdGg6IDM2MHB4O1xyXG59YF0sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ3ViZUV4cGxvcmVQYW5lQ29tcG9uZW50IHtcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgYXhlczogQXhlc01hcDtcclxuICBwYWdlU2l6ZTogbnVtYmVyO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG4gIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIGxvYWRpbmcgPSB0cnVlO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9wYW5lOiBQYW5lUmVmPEN1YmVFeHBsb3JlUGFuZUNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyKSB7XHJcbiAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gICAgdGhpcy5fcGFuZS5wYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICB0aGlzLmN1YmUgPSBwWydjdWJlJ107XHJcbiAgICAgIHRoaXMuX2N1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gdGhpcy5jdWJlKTtcclxuICAgICAgaWYgKCF0aGlzLl9wYW5lLmdyb3VwKSB0aGlzLl9wYW5lLmdyb3VwID0gdGhpcy5fY3ViZS50aXRsZTtcclxuICAgICAgdGhpcy5fcGFuZS50aXRsZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0V4cGxvcmUnKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgY29uc3QgeyBpbmRleCwgc2NvcGUgfSA9IGQ7XHJcbiAgICAgIHRoaXMuaW5kZXggPSBpbmRleDtcclxuICAgICAgaWYgKGluZGV4KVxyXG4gICAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl9jdWJlLmluZGljZXMuZmluZChpID0+IGkubmFtZSA9PT0gaW5kZXgpLnRpdGxlO1xyXG4gICAgICB0aGlzLnNjb3BlID0gc2NvcGU7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucXVlcnlQYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHEgPT4ge1xyXG4gICAgICB0aGlzLmF4ZXMgPSBxO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gIHJlc2l6ZSgpIHtcclxuICAgIHRoaXMucGFnZVNpemUgPSBNYXRoLmZsb29yKCh3aW5kb3cuaW5uZXJIZWlnaHQgLSAxODApIC8gNTApO1xyXG4gIH1cclxuICBpdGVtKGV2dDogRXhwbG9yZUl0ZW1FdmVudCkge1xyXG4gICAgY29uc3QgeyBrZXlzIH0gPSBldnQ7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5pdGVtKHRoaXMuY3ViZSwgdGhpcy5heGVzLCBrZXlzKS5zdWJzY3JpYmUoaXRlbSA9PiB7XHJcbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2knLCBldnQudGVtcGxhdGUsIGtleXNbMF1dLCB7XHJcbiAgICAgICAgcGF0aE1vZGU6ICdyZWxhdGl2ZScsXHJcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5fcGFuZSxcclxuICAgICAgICBxdWVyeVBhcmFtczogdGhpcy5heGVzLFxyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW0gfSxcclxuICAgICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiIHwgT3BlblBvbGljeS5FeHBhbmRhYmxlIHwgT3BlblBvbGljeS5EaXNtaXNzYWJsZSxcclxuICAgICAgICBncm91cDogdGhpcy5fcGFuZS5ncm91cFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9LCBlID0+IHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuX3NiLmVycm9yKGUuc3RhdHVzID09PSA0MDEgPyAnVW5hdXRob3JpemVkJyA6IG51bGwpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdG9vbGJhciBjbGFzcz1cIm5hdi10b29sYmFyXCI+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIml0ZW1zLnJlZnJlc2goKVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZWZyZXNoJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBtYXRBbmltYXRlPVwicm90YXRlXCI+YXV0b3JlbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIml0ZW1zLmV4cG9ydEV4Y2VsKClcIiBbYml6ZG9jVG9vbHRpcF09XCInRG93bmxvYWRFeGNlbCcgfCB0cmFuc2xhdGVcIj48bWF0LWljb24+c2F2ZV9hbHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJpdGVtcy5wYWdpbmF0b3IucHJldmlvdXNQYWdlKClcIiBbYml6ZG9jVG9vbHRpcF09XCInUHJldlBhZ2UnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUHJldlBhZ2UnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIiFpdGVtcy5wYWdpbmF0b3IuaGFzUHJldmlvdXNQYWdlKClcIj48bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+a2V5Ym9hcmRfYXJyb3dfbGVmdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIml0ZW1zLnBhZ2luYXRvci5uZXh0UGFnZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ05leHRQYWdlJyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ05leHRQYWdlJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhaXRlbXMucGFnaW5hdG9yLmhhc05leHRQYWdlKClcIj48bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+a2V5Ym9hcmRfYXJyb3dfcmlnaHQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXByb2dyZXNzLWJhciBtb2RlPVwicXVlcnlcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48Yml6ZG9jLWN1YmUtdGFncyBbaW50ZXJhY3RpdmVdPWZhbHNlIFtjdWJlXT1cImN1YmVcIiBbYXhlc109XCJheGVzXCI+PC9iaXpkb2MtY3ViZS10YWdzPlxyXG48Yml6ZG9jLWN1YmUtZXhwbG9yZSAjaXRlbXMgW2N1YmVdPVwiY3ViZVwiIFtpbmRleF09XCJpbmRleFwiIFtheGVzXT1heGVzXHJcbiAgICAgICAgICAgICAgICAgICAgIChleHBsb3JlKT1cIml0ZW0oJGV2ZW50KVwiIChsb2FkaW5nQ2hhbmdlKT1cImxvYWRpbmcgPSAkZXZlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2NvcGVdPVwic2NvcGVcIiBbcGFnZVNpemVdPVwicGFnZVNpemVcIj48L2JpemRvYy1jdWJlLWV4cGxvcmU+XHJcbiJdfQ==
@@ -53,14 +53,14 @@ export class CubeMatrixPaneComponent extends CubeMatrixBase {
53
53
  onFilter(queryParams) {
54
54
  this._router.navigate([], {
55
55
  queryParams,
56
- policy: OpenPolicy.Tab
56
+ policy: OpenPolicy.Tab | OpenPolicy.Expandable
57
57
  });
58
58
  }
59
59
  explore(evt) {
60
60
  const { axes: queryParams, index } = evt;
61
61
  this._router.navigate(['cube', this.cube, 'explore'], {
62
62
  queryParams,
63
- policy: OpenPolicy.Tab | OpenPolicy.Dismissable,
63
+ policy: OpenPolicy.Tab | OpenPolicy.Expandable | OpenPolicy.Dismissable,
64
64
  state: { index }
65
65
  });
66
66
  }
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
73
73
  class: 'pane'
74
74
  }, 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 [placeAt]=\"placeAt\"\r\n [indexAt]=\"indexAt\"\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"] }]
75
75
  }], ctorParameters: function () { return [{ type: i1.PaneRef }, { type: i2.PanesRouter }, { type: i3.TranslateService }, { type: i4.CubeService }, { type: i5.DatasourceService }, { type: i6.SessionService }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL21hdHJpeC9tYXRyaXgucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFDekQscUJBQXFCO0lBQ3JCLFlBQ1UsS0FBdUMsRUFDdkMsT0FBb0IsRUFDcEIsVUFBNEIsRUFDcEMsT0FBb0IsRUFDcEIsRUFBcUIsRUFDckIsT0FBdUI7UUFDdkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFOcEIsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUt0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsTUFBTTtZQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFDRCxRQUFRLENBQUMsV0FBb0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3hCLFdBQVc7WUFDWCxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUc7U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sQ0FBQyxHQUFtQjtRQUN6QixNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRTtZQUNwRCxXQUFXO1lBQ1gsTUFBTSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLFdBQVc7WUFDL0MsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFO1NBQ2pCLENBQUMsQ0FBQztJQUNMLENBQUM7O29IQWxEVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2R0NuQnBDLHNnRUFrQ0E7MkZEZmEsdUJBQXVCO2tCQVBuQyxTQUFTOzJCQUdGO3dCQUNKLEtBQUssRUFBRSxNQUFNO3FCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi8uLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgQXhlc01hcCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQ3ViZU1hdHJpeEJhc2UgfSBmcm9tICcuL21hdHJpeC5iYXNlJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQgfSBmcm9tICcuLi9kZWNsYXJhdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tYXRyaXgucGFuZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAncGFuZSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWJlTWF0cml4UGFuZUNvbXBvbmVudCBleHRlbmRzIEN1YmVNYXRyaXhCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvKiogY3ViZS1pbmZvIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8Q3ViZU1hdHJpeFBhbmVDb21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcixcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHNlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHNlcnZpY2UsIGRzLCBzZXNzaW9uKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5wYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICB0aGlzLmN1YmUgPSBwWydjdWJlJ107XHJcbiAgICAgIHRoaXMuX3BhbmUudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdNYXRyaXgnKTtcclxuICAgICAgdGhpcy5fcGFuZS5ncm91cCA9IHRoaXMuY29uZmlndXJhdGlvbi50aXRsZTtcclxuICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbi5pY29uKVxyXG4gICAgICAgIHRoaXMuX3BhbmUuaWNvbiA9IHRoaXMuY29uZmlndXJhdGlvbi5pY29uO1xyXG4gICAgICB0aGlzLnhBeGlzID0gcFsneEF4aXMnXTtcclxuICAgICAgdGhpcy5zZXJpZXMgPSBwWydzZXJpZXMnXTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5kYXRhQ2hhbmdlLnN1YnNjcmliZShkID0+IHtcclxuICAgICAgdGhpcy5pbmRpY2VzID0gZFsnaW5kaWNlcyddO1xyXG4gICAgICAvKiogKi9cclxuICAgICAgdGhpcy5hZ2dyZWdhdGlvbiA9IGRbJ2FnZ3JlZ2F0ZSddO1xyXG4gICAgICB0aGlzLnN1bSA9IGRbJ3N1bSddO1xyXG4gICAgICB0aGlzLnBsYWNlQXQgPSBkWydwbGFjZUF0J107XHJcbiAgICAgIHRoaXMuaW5kZXhBdCA9IGRbJ2luZGV4QXQnXTtcclxuICAgICAgdGhpcy5zZWxlY3Rpb24gPSBkWydmaWx0ZXJzJ107XHJcbiAgICAgIHRoaXMueEF4aXNUb3RhbExhYmVsID0gZFsneEF4aXNUb3RhbExhYmVsJ107XHJcbiAgICAgIHRoaXMuc2VyaWVzVG90YWxMYWJlbCA9IGRbJ3Nlcmllc1RvdGFsTGFiZWwnXTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcGFuZS5xdWVyeVBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PlxyXG4gICAgICB0aGlzLm9yaWdpbmFsQXhlcyA9IHRoaXMuYXhlcyA9IHBcclxuICAgICk7XHJcbiAgfVxyXG4gIG9uRmlsdGVyKHF1ZXJ5UGFyYW1zOiBBeGVzTWFwKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW10sIHtcclxuICAgICAgcXVlcnlQYXJhbXMsXHJcbiAgICAgIHBvbGljeTogT3BlblBvbGljeS5UYWJcclxuICAgIH0pO1xyXG4gIH1cclxuICBleHBsb3JlKGV2dDogQXhpc0NsaWNrRXZlbnQpIHtcclxuICAgIGNvbnN0IHsgYXhlczogcXVlcnlQYXJhbXMsIGluZGV4IH0gPSBldnQ7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydjdWJlJywgdGhpcy5jdWJlLCAnZXhwbG9yZSddLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zLFxyXG4gICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiIHwgT3BlblBvbGljeS5EaXNtaXNzYWJsZSxcclxuICAgICAgc3RhdGU6IHsgaW5kZXggfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtdG9vbGJhciBjbGFzcz1cIm5hdi10b29sYmFyXCI+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRhYmxlLnJlZnJlc2goKVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZWZyZXNoJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBtYXRBbmltYXRlPVwicm90YXRlXCI+YXV0b3JlbmV3PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYml6ZG9jVG9vbHRpcF09XCInRG93bmxvYWQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgIGRhdGEtaGVscD1cImRvd25sb2FkXCIgKGNsaWNrKT1cIm1hdHJpeC5leHBvcnQoKVwiPlxyXG4gICAgPG1hdC1pY29uPnNhdmVfYWx0PC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNcIiAqbmdJZj1cInBhdHRlcm5zICYmIHBhdHRlcm5zLmxlbmd0aFwiPjxtYXQtaWNvbiBbY2xhc3MuZmlsbGVkXT1cInBhdHRlcm5cIj5maWx0ZXJfYWx0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI29wdGlvbnMgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgICA8IS0tIHBhdHRlcm5zIC0tPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0Zvcj1cImxldCBwIG9mIHBhdHRlcm5zXCIgKGNsaWNrKT1cImFnZ3JlZ2F0ZShwKVwiPnt7cC50aXRsZX19PC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVzZXQoKVwiIFtkaXNhYmxlZF09XCIhcGF0dGVyblwiIFtiaXpkb2NUb29sdGlwXT1cIidDbGVhcicgfCB0cmFuc2xhdGVcIj5cclxuICAgIDxtYXQtaWNvbj5jbGVhcl9hbGw8L21hdC1pY29uPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDwhLS0gZmlsdGVycyAtLT5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmIG9mIGZpbHRlcnNcIj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZm1lbnVcIj57e3ZhbHVlc1tmLm5hbWVdfCB0eXBlVmFsdWUgOiBmLmRhdGFUeXBlIHwgYXN5bmN9fSA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDxtYXQtbWVudSAjZm1lbnUgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQga3Ygb2Ygc291cmNlc1tmLm5hbWVdIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJmaWx0ZXIoZi5uYW1lLCBrdi5rZXksIGt2LnZhbHVlKVwiPlxyXG4gICAgICAgIHt7a3YudmFsdWV9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvbWF0LW1lbnU+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJxdWVyeVwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImxvYWRpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjxiaXpkb2MtY3ViZS1tYXRyaXggW2N1YmVdPVwiY3ViZVwiIFt4QXhpc109XCJ4QXhpc1wiIFtzZXJpZXNdPVwic2VyaWVzXCIgW2luZGljZXNdPVwiaW5kaWNlc1wiIFtzdW1dPXN1bVxyXG4gICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJzXT1cImF4ZXNcIiAjbWF0cml4XHJcbiAgICAgICAgICAgICAgICAgICAgW3hBeGlzVG90YWxMYWJlbF09XCJ4QXhpc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtzZXJpZXNUb3RhbExhYmVsXT1cInNlcmllc1RvdGFsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZUF0XT1cInBsYWNlQXRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbmRleEF0XT1cImluZGV4QXRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChsb2FkaW5nQ2hhbmdlKT1cImxvYWRpbmcgPSAkZXZlbnRcIiAoZXhwbG9yZSk9J2V4cGxvcmUoJGV2ZW50KSc+PC9iaXpkb2MtY3ViZS1tYXRyaXg+XHJcbiJdfQ==
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LnBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL21hdHJpeC9tYXRyaXgucGFuZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2N1YmUvbWF0cml4L21hdHJpeC5wYW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFPbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXdEQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGNBQWM7SUFDekQscUJBQXFCO0lBQ3JCLFlBQ1UsS0FBdUMsRUFDdkMsT0FBb0IsRUFDcEIsVUFBNEIsRUFDcEMsT0FBb0IsRUFDcEIsRUFBcUIsRUFDckIsT0FBdUI7UUFDdkIsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFOcEIsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFDdkMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtJQUt0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsTUFBTTtZQUNOLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FDbEMsQ0FBQztJQUNKLENBQUM7SUFDRCxRQUFRLENBQUMsV0FBb0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3hCLFdBQVc7WUFDWCxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsVUFBVTtTQUMvQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxDQUFDLEdBQW1CO1FBQ3pCLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQ3BELFdBQVc7WUFDWCxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxXQUFXO1lBQ3ZFLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRTtTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDOztvSEFsRFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsNkdDbkJwQyxzZ0VBa0NBOzJGRGZhLHVCQUF1QjtrQkFQbkMsU0FBUzsyQkFHRjt3QkFDSixLQUFLLEVBQUUsTUFBTTtxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lUmVmIH0gZnJvbSAnLi4vLi4vY29yZS9zbG90cy9wYW5lLXJlZic7XHJcbmltcG9ydCB7IEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEN1YmVNYXRyaXhCYXNlIH0gZnJvbSAnLi9tYXRyaXguYmFzZSc7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEF4aXNDbGlja0V2ZW50IH0gZnJvbSAnLi4vZGVjbGFyYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRyaXgucGFuZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWF0cml4LnBhbmUuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ3BhbmUnXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3ViZU1hdHJpeFBhbmVDb21wb25lbnQgZXh0ZW5kcyBDdWJlTWF0cml4QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqIGN1YmUtaW5mbyBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9wYW5lOiBQYW5lUmVmPEN1YmVNYXRyaXhQYW5lQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBzZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIGRzOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihzZXJ2aWNlLCBkcywgc2Vzc2lvbik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BhbmUucGFyYW1zQ2hhbmdlLnN1YnNjcmliZShwID0+IHtcclxuICAgICAgdGhpcy5jdWJlID0gcFsnY3ViZSddO1xyXG4gICAgICB0aGlzLl9wYW5lLnRpdGxlID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnTWF0cml4Jyk7XHJcbiAgICAgIHRoaXMuX3BhbmUuZ3JvdXAgPSB0aGlzLmNvbmZpZ3VyYXRpb24udGl0bGU7XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbilcclxuICAgICAgICB0aGlzLl9wYW5lLmljb24gPSB0aGlzLmNvbmZpZ3VyYXRpb24uaWNvbjtcclxuICAgICAgdGhpcy54QXhpcyA9IHBbJ3hBeGlzJ107XHJcbiAgICAgIHRoaXMuc2VyaWVzID0gcFsnc2VyaWVzJ107XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUuZGF0YUNoYW5nZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIHRoaXMuaW5kaWNlcyA9IGRbJ2luZGljZXMnXTtcclxuICAgICAgLyoqICovXHJcbiAgICAgIHRoaXMuYWdncmVnYXRpb24gPSBkWydhZ2dyZWdhdGUnXTtcclxuICAgICAgdGhpcy5zdW0gPSBkWydzdW0nXTtcclxuICAgICAgdGhpcy5wbGFjZUF0ID0gZFsncGxhY2VBdCddO1xyXG4gICAgICB0aGlzLmluZGV4QXQgPSBkWydpbmRleEF0J107XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gZFsnZmlsdGVycyddO1xyXG4gICAgICB0aGlzLnhBeGlzVG90YWxMYWJlbCA9IGRbJ3hBeGlzVG90YWxMYWJlbCddO1xyXG4gICAgICB0aGlzLnNlcmllc1RvdGFsTGFiZWwgPSBkWydzZXJpZXNUb3RhbExhYmVsJ107XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3BhbmUucXVlcnlQYXJhbXNDaGFuZ2Uuc3Vic2NyaWJlKHAgPT5cclxuICAgICAgdGhpcy5vcmlnaW5hbEF4ZXMgPSB0aGlzLmF4ZXMgPSBwXHJcbiAgICApO1xyXG4gIH1cclxuICBvbkZpbHRlcihxdWVyeVBhcmFtczogQXhlc01hcCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtdLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zLFxyXG4gICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuVGFiIHwgT3BlblBvbGljeS5FeHBhbmRhYmxlXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZXhwbG9yZShldnQ6IEF4aXNDbGlja0V2ZW50KSB7XHJcbiAgICBjb25zdCB7IGF4ZXM6IHF1ZXJ5UGFyYW1zLCBpbmRleCB9ID0gZXZ0O1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY3ViZScsIHRoaXMuY3ViZSwgJ2V4cGxvcmUnXSwge1xyXG4gICAgICBxdWVyeVBhcmFtcyxcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LlRhYiB8IE9wZW5Qb2xpY3kuRXhwYW5kYWJsZSB8IE9wZW5Qb2xpY3kuRGlzbWlzc2FibGUsXHJcbiAgICAgIHN0YXRlOiB7IGluZGV4IH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJuYXYtdG9vbGJhclwiPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0YWJsZS5yZWZyZXNoKClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVmcmVzaCcgfCB0cmFuc2xhdGVcIj48bWF0LWljb24gbWF0QW5pbWF0ZT1cInJvdGF0ZVwiPmF1dG9yZW5ldzwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2JpemRvY1Rvb2x0aXBdPVwiJ0Rvd25sb2FkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICBkYXRhLWhlbHA9XCJkb3dubG9hZFwiIChjbGljayk9XCJtYXRyaXguZXhwb3J0KClcIj5cclxuICAgIDxtYXQtaWNvbj5zYXZlX2FsdDwvbWF0LWljb24+XHJcbiAgPC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCIgKm5nSWY9XCJwYXR0ZXJucyAmJiBwYXR0ZXJucy5sZW5ndGhcIj48bWF0LWljb24gW2NsYXNzLmZpbGxlZF09XCJwYXR0ZXJuXCI+ZmlsdGVyX2FsdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPG1hdC1tZW51ICNvcHRpb25zIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxyXG4gICAgPCEtLSBwYXR0ZXJucyAtLT5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAqbmdGb3I9XCJsZXQgcCBvZiBwYXR0ZXJuc1wiIChjbGljayk9XCJhZ2dyZWdhdGUocClcIj57e3AudGl0bGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LW1lbnU+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlc2V0KClcIiBbZGlzYWJsZWRdPVwiIXBhdHRlcm5cIiBbYml6ZG9jVG9vbHRpcF09XCInQ2xlYXInIHwgdHJhbnNsYXRlXCI+XHJcbiAgICA8bWF0LWljb24+Y2xlYXJfYWxsPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuICA8IS0tIGZpbHRlcnMgLS0+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZiBvZiBmaWx0ZXJzXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImZtZW51XCI+e3t2YWx1ZXNbZi5uYW1lXXwgdHlwZVZhbHVlIDogZi5kYXRhVHlwZSB8IGFzeW5jfX0gPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI2ZtZW51IHhQb3NpdGlvbj1cImJlZm9yZVwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IGt2IG9mIHNvdXJjZXNbZi5uYW1lXSB8IGFzeW5jXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsdGVyKGYubmFtZSwga3Yua2V5LCBrdi52YWx1ZSlcIj5cclxuICAgICAgICB7e2t2LnZhbHVlfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXByb2dyZXNzLWJhciBtb2RlPVwicXVlcnlcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48Yml6ZG9jLWN1YmUtbWF0cml4IFtjdWJlXT1cImN1YmVcIiBbeEF4aXNdPVwieEF4aXNcIiBbc2VyaWVzXT1cInNlcmllc1wiIFtpbmRpY2VzXT1cImluZGljZXNcIiBbc3VtXT1zdW1cclxuICAgICAgICAgICAgICAgICAgICBbZmlsdGVyc109XCJheGVzXCIgI21hdHJpeFxyXG4gICAgICAgICAgICAgICAgICAgIFt4QXhpc1RvdGFsTGFiZWxdPVwieEF4aXNUb3RhbExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2VyaWVzVG90YWxMYWJlbF09XCJzZXJpZXNUb3RhbExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2VBdF09XCJwbGFjZUF0XCJcclxuICAgICAgICAgICAgICAgICAgICBbaW5kZXhBdF09XCJpbmRleEF0XCJcclxuICAgICAgICAgICAgICAgICAgICAobG9hZGluZ0NoYW5nZSk9XCJsb2FkaW5nID0gJGV2ZW50XCIgKGV4cGxvcmUpPSdleHBsb3JlKCRldmVudCknPjwvYml6ZG9jLWN1YmUtbWF0cml4PlxyXG4iXX0=