qms-angular 1.1.35 → 1.1.37

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 (55) hide show
  1. package/bundles/qms-angular.umd.js +179 -89
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/components/comment/comment-log.model.js +1 -1
  4. package/esm2015/lib/components/comment/comment.js +4 -3
  5. package/esm2015/lib/components/qms-paginator/qms-paginator.component.js +2 -2
  6. package/esm2015/lib/components/qms-stepper/models/qms-stepper.model.js +4 -4
  7. package/esm2015/lib/components/qms-stepper/qms-stepper.component.js +2 -4
  8. package/esm2015/lib/components/related/model/popup-data.model.js +3 -1
  9. package/esm2015/lib/components/related/model/risk-danger.model.js +2 -1
  10. package/esm2015/lib/components/related/popup/related-popup.component.js +34 -9
  11. package/esm2015/lib/components/related/risk/list/list.component.js +4 -3
  12. package/esm2015/lib/components/select-department/select-department.component.js +3 -3
  13. package/esm2015/lib/components/select-department-tree/model/select-department-tree.config.js +5 -1
  14. package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +19 -13
  15. package/esm2015/lib/components/select-process-document/select-process-document.component.js +3 -3
  16. package/esm2015/lib/components/tree/tree.component.js +1 -2
  17. package/esm2015/lib/model/en.js +5 -2
  18. package/esm2015/lib/model/no.js +5 -2
  19. package/esm2015/lib/qms-ckeditor-components/common/enums/video-upload-mode.enum.js +7 -0
  20. package/esm2015/lib/qms-ckeditor-components/common/flowchart/config/toolbar.function.js +31 -30
  21. package/esm2015/lib/qms-ckeditor-components/common/flowchart/service/kitchensink-service.js +23 -2
  22. package/esm2015/lib/qms-ckeditor-components/common/functions/common.function.js +3 -3
  23. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.js +1 -1
  24. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +22 -10
  25. package/esm2015/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.js +10 -1
  26. package/fesm2015/qms-angular.js +168 -82
  27. package/fesm2015/qms-angular.js.map +1 -1
  28. package/lib/components/comment/comment-log.model.d.ts +1 -0
  29. package/lib/components/comment/comment.d.ts +1 -0
  30. package/lib/components/qms-stepper/models/qms-stepper.model.d.ts +3 -3
  31. package/lib/components/qms-stepper/qms-stepper.component.d.ts +0 -2
  32. package/lib/components/related/model/popup-data.model.d.ts +3 -0
  33. package/lib/components/related/model/risk-danger.model.d.ts +1 -0
  34. package/lib/components/related/popup/related-popup.component.d.ts +9 -0
  35. package/lib/components/related/risk/list/list.component.d.ts +1 -0
  36. package/lib/components/select-department/select-department.component.d.ts +1 -1
  37. package/lib/components/select-department-tree/model/select-department-tree.config.d.ts +4 -0
  38. package/lib/model/en.d.ts +3 -0
  39. package/lib/model/no.d.ts +3 -0
  40. package/lib/qms-ckeditor-components/common/enums/video-upload-mode.enum.d.ts +5 -0
  41. package/lib/qms-ckeditor-components/common/flowchart/service/kitchensink-service.d.ts +2 -0
  42. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-data.model.d.ts +1 -0
  43. package/lib/qms-ckeditor-components/services/qms-ckeditor-upload.service.d.ts +1 -0
  44. package/package.json +1 -1
  45. package/qms-angular.metadata.json +1 -1
  46. package/src/assets/jointjs/scss/rappid.scss +17 -0
  47. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
  48. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js.map +1 -1
  49. package/src/assets/qms-ckeditor-plugin/src/plugins/fullscreen/qmsCKEditorFullscreenPlugin.js +2 -2
  50. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkcommand.js +4 -0
  51. package/src/assets/qms-ckeditor-plugin/src/plugins/link/linkdialogcommand.js +66 -14
  52. package/src/lib/components/related/popup/related-popup.component.scss +10 -0
  53. package/src/lib/components/select-process-document/select-process-document.component.scss +4 -0
  54. package/esm2015/lib/common/enum/document-field-status.js +0 -7
  55. package/lib/common/enum/document-field-status.d.ts +0 -5
@@ -21,6 +21,7 @@ import InspectorFunction from '../config/inspector.function';
21
21
  import { FlowChartConst } from '../../constants/ckeditorFlowchart.const';
22
22
  class KitchenSinkService {
23
23
  constructor(el, keyboardService, LANG) {
24
+ this.isFullscreen = false;
24
25
  // backwards compatibility for older shapes
25
26
  this.exportStylesheet = '.scalable * { vector-effect: non-scaling-stroke }';
26
27
  this.el = el;
@@ -304,7 +305,8 @@ class KitchenSinkService {
304
305
  'selectTemplate:option:select': this.onChangeTemplate,
305
306
  'deleteTemplate:pointerclick': this.onDeleteTemplate,
306
307
  'saveAsTemplate:pointerclick': this.onSaveAsTemplate,
307
- 'resetTemplate:pointerclick': this.onResetTemplate
308
+ 'resetTemplate:pointerclick': this.onResetTemplate,
309
+ 'fullscreen:pointerclick': this.toggleFullscreen,
308
310
  });
309
311
  this.renderPlugin('.toolbar-container', this.toolbar);
310
312
  }
@@ -334,6 +336,25 @@ class KitchenSinkService {
334
336
  padding: 10
335
337
  });
336
338
  }
339
+ toggleFullscreen() {
340
+ var _a, _b, _c, _d, _e, _f;
341
+ this.isFullscreen = !this.isFullscreen;
342
+ let cdkOverlayPane = document.querySelectorAll(`[id*="cdk-overlay-"]`)[0];
343
+ if (!cdkOverlayPane)
344
+ return;
345
+ if (this.isFullscreen) {
346
+ cdkOverlayPane.classList.add('full-screen-ckeditor-flowchart_cdk-overlay-pane');
347
+ (_a = cdkOverlayPane.querySelector('#stencilpanel')) === null || _a === void 0 ? void 0 : _a.classList.add('full-height-ckeditor-flowchart_container');
348
+ (_b = cdkOverlayPane.querySelector('#paperpanel')) === null || _b === void 0 ? void 0 : _b.classList.add('full-height-ckeditor-flowchart_container');
349
+ (_c = cdkOverlayPane.querySelector('#rightpanel')) === null || _c === void 0 ? void 0 : _c.classList.add('full-height-ckeditor-flowchart_container');
350
+ }
351
+ else {
352
+ cdkOverlayPane.classList.remove('full-screen-ckeditor-flowchart_cdk-overlay-pane');
353
+ (_d = cdkOverlayPane.querySelector('#stencilpanel')) === null || _d === void 0 ? void 0 : _d.classList.remove('full-height-ckeditor-flowchart_container');
354
+ (_e = cdkOverlayPane.querySelector('#paperpanel')) === null || _e === void 0 ? void 0 : _e.classList.remove('full-height-ckeditor-flowchart_container');
355
+ (_f = cdkOverlayPane.querySelector('#rightpanel')) === null || _f === void 0 ? void 0 : _f.classList.remove('full-height-ckeditor-flowchart_container');
356
+ }
357
+ }
337
358
  openAsSVG() {
338
359
  this.paper.hideTools().toSVG((svg) => {
339
360
  new joint.ui.Lightbox({
@@ -409,4 +430,4 @@ class KitchenSinkService {
409
430
  }
410
431
  }
411
432
  export default KitchenSinkService;
412
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0Y2hlbnNpbmstc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Zsb3djaGFydC9zZXJ2aWNlL2tpdGNoZW5zaW5rLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7b0ZBVW9GOztBQUVwRiw0Q0FBNEM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxLQUFLLFNBQVMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLFlBQVksTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLGVBQWUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLGdCQUFnQixNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8saUJBQWlCLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXpFLE1BQU0sa0JBQWtCO0lBNkJwQixZQUNJLEVBQVcsRUFDWCxlQUFnQyxFQUNoQyxJQUFTO1FBNFdiLDJDQUEyQztRQUMzQyxxQkFBZ0IsR0FBRyxtREFBbUQsQ0FBQztRQTNXbkUsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFYiwrQkFBK0I7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNoQiw2QkFBNkIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7U0FDNUQsQ0FBQyxDQUFDO1FBRUgsSUFB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QUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBSztRQUNsQixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUNoRCxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM5RDthQUNJO1lBQ0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDaEU7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUNoRCxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM3RDtJQUNMLENBQUM7Q0FDSjtBQUVELGVBQWUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgUmFwcGlkIHYzLjMuMCAtIEhUTUw1IERpYWdyYW1taW5nIEZyYW1ld29ya1xyXG5cclxuQ29weXJpZ2h0IChjKSAyMDIxIGNsaWVudCBJT1xyXG5cclxuIDIwMjEtMDItMTIgXHJcblxyXG5cclxuVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBSYXBwaWQgTGljZW5zZVxyXG4sIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBSYXBwaWQgTGljZW5zZSB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xyXG5maWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL2pvaW50anMuY29tL2xpY2Vuc2UvcmFwcGlkX3YyLnR4dFxyXG4gb3IgZnJvbSB0aGUgUmFwcGlkIGFyY2hpdmUgYXMgd2FzIGRpc3RyaWJ1dGVkIGJ5IGNsaWVudCBJTy4gU2VlIHRoZSBMSUNFTlNFIGZpbGUuKi9cclxuXHJcbi8vIGltcG9ydCAqIGFzIGpvaW50IGZyb20gJ0BjbGllbnRpby9yYXBwaWQnXHJcbmltcG9ydCAqIGFzIGRhZ3JlIGZyb20gJ2RhZ3JlJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBLZXlib2FyZFNlcnZpY2UgfSBmcm9tICcuL2tleWJvYXJkLXNlcnZpY2UnO1xyXG5pbXBvcnQgKiBhcyBhcHBTaGFwZXMgZnJvbSAnLi4vbW9kZWxzL2FwcC1zaGFwZXMnO1xyXG5pbXBvcnQgSGFsb0Z1bmN0aW9uIGZyb20gJy4uL2NvbmZpZy9oYWxvLmZ1bmN0aW9uJztcclxuaW1wb3J0IFN0ZW5jaWxGdW5jdGlvbiBmcm9tICcuLi9jb25maWcvc3RlbmNpbC5mdW5jdGlvbic7XHJcbmltcG9ydCBUb29sYmFydEZ1bmN0aW9uIGZyb20gJy4uL2NvbmZpZy90b29sYmFyLmZ1bmN0aW9uJztcclxuaW1wb3J0IEluc3BlY3RvckZ1bmN0aW9uIGZyb20gJy4uL2NvbmZpZy9pbnNwZWN0b3IuZnVuY3Rpb24nO1xyXG5pbXBvcnQgeyBGbG93Q2hhcnRDb25zdCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ja2VkaXRvckZsb3djaGFydC5jb25zdCc7XHJcbmRlY2xhcmUgdmFyIGpvaW50OiBhbnk7XHJcbmNsYXNzIEtpdGNoZW5TaW5rU2VydmljZSB7XHJcbiAgICBMQU5HOiBhbnlcclxuICAgIGVsOiBFbGVtZW50O1xyXG5cclxuICAgIC8vIGdyYXBoOiBqb2ludC5kaWEuR3JhcGg7XHJcbiAgICAvLyBwYXBlcjogam9pbnQuZGlhLlBhcGVyO1xyXG4gICAgLy8gcGFwZXJTY3JvbGxlcjogam9pbnQudWkuUGFwZXJTY3JvbGxlcjtcclxuXHJcbiAgICAvLyBjb21tYW5kTWFuYWdlcjogam9pbnQuZGlhLkNvbW1hbmRNYW5hZ2VyO1xyXG4gICAgLy8gc25hcGxpbmVzOiBqb2ludC51aS5TbmFwbGluZXM7XHJcbiAgICAvLyBjbGlwYm9hcmQ6IGpvaW50LnVpLkNsaXBib2FyZDtcclxuICAgIC8vIHNlbGVjdGlvbjogam9pbnQudWkuU2VsZWN0aW9uO1xyXG4gICAgLy8gbmF2aWdhdG9yOiBqb2ludC51aS5OYXZpZ2F0b3I7XHJcbiAgICAvLyBzdGVuY2lsOiBqb2ludC51aS5TdGVuY2lsXHJcbiAgICAvLyB0b29sYmFyOiBqb2ludC51aS5Ub29sYmFyXHJcbiAgICBncmFwaDogYW55O1xyXG4gICAgcGFwZXI6IGFueTtcclxuICAgIHBhcGVyU2Nyb2xsZXI6IGFueTtcclxuXHJcbiAgICBjb21tYW5kTWFuYWdlcjogYW55O1xyXG4gICAgc25hcGxpbmVzOiBhbnk7XHJcbiAgICBjbGlwYm9hcmQ6IGFueTtcclxuICAgIHNlbGVjdGlvbjogYW55O1xyXG4gICAgbmF2aWdhdG9yOiBhbnk7XHJcbiAgICBzdGVuY2lsOiBhbnk7XHJcbiAgICB0b29sYmFyOiBhbnk7XHJcblxyXG4gICAga2V5Ym9hcmRTZXJ2aWNlOiBLZXlib2FyZFNlcnZpY2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgZWw6IEVsZW1lbnQsXHJcbiAgICAgICAga2V5Ym9hcmRTZXJ2aWNlOiBLZXlib2FyZFNlcnZpY2UsXHJcbiAgICAgICAgTEFORzogYW55XHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmVsID0gZWw7XHJcblxyXG4gICAgICAgIC8vIGFwcGx5IGN1cnJlbnQgam9pbnQganMgdGhlbWVcclxuICAgICAgICBjb25zdCB2aWV3ID0gbmV3IGpvaW50Lm12Yy5WaWV3KHsgZWwgfSk7XHJcbiAgICAgICAgdmlldy5kZWxlZ2F0ZUV2ZW50cyh7XHJcbiAgICAgICAgICAgICdtb3VzZXVwIGlucHV0W3R5cGU9XCJyYW5nZVwiXSc6IChldnQpID0+IGV2dC50YXJnZXQuYmx1cigpXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMua2V5Ym9hcmRTZXJ2aWNlID0ga2V5Ym9hcmRTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuTEFORyA9IExBTkdcclxuICAgIH1cclxuXHJcbiAgICBzdGFydFJhcHBpZCgpIHtcclxuXHJcbiAgICAgICAgam9pbnQuc2V0VGhlbWUoJ21vZGVybicpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRpYWxpemVQYXBlcigpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVN0ZW5jaWwoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVTZWxlY3Rpb24oKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVUb29sc0FuZEluc3BlY3RvcigpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU5hdmlnYXRvcigpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRvb2xiYXIoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVLZXlib2FyZFNob3J0Y3V0cygpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRvb2x0aXBzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZVBhcGVyKCkge1xyXG5cclxuICAgICAgICBjb25zdCBncmFwaCA9IHRoaXMuZ3JhcGggPSBuZXcgam9pbnQuZGlhLkdyYXBoKHt9LCB7XHJcbiAgICAgICAgICAgIGNlbGxOYW1lc3BhY2U6IGFwcFNoYXBlc1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBncmFwaC5vbignYWRkJywgKGNlbGw6IGFueSwgY29sbGVjdGlvbjogYW55LCBvcHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAob3B0LnN0ZW5jaWwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBqb2ludC51aS5JbnNwZWN0b3IuY3JlYXRlKCcuaW5zcGVjdG9yLWNvbnRhaW5lcicsIF8uZXh0ZW5kKHtcclxuICAgICAgICAgICAgICAgICAgICBjZWxsOiBjZWxsXHJcbiAgICAgICAgICAgICAgICB9LCBJbnNwZWN0b3JGdW5jdGlvbi5nZXRJbnNwZWN0b3JDb25maWd1cmF0aW9uKHRoaXMuTEFORylbY2VsbC5nZXQoJ3R5cGUnKV0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmNvbW1hbmRNYW5hZ2VyID0gbmV3IGpvaW50LmRpYS5Db21tYW5kTWFuYWdlcih7IGdyYXBoOiBncmFwaCB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFwZXIgPSB0aGlzLnBhcGVyID0gbmV3IGpvaW50LmRpYS5QYXBlcih7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwLFxyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMDAsXHJcbiAgICAgICAgICAgIGdyaWRTaXplOiAxMCxcclxuICAgICAgICAgICAgZHJhd0dyaWQ6IHRydWUsXHJcbiAgICAgICAgICAgIG1vZGVsOiBncmFwaCxcclxuICAgICAgICAgICAgY2VsbFZpZXdOYW1lc3BhY2U6IGFwcFNoYXBlcyxcclxuICAgICAgICAgICAgZGVmYXVsdExpbms6IDx1bmtub3duPm5ldyBhcHBTaGFwZXMuYXBwLkxpbmsoKSxcclxuICAgICAgICAgICAgZGVmYXVsdENvbm5lY3Rpb25Qb2ludDogYXBwU2hhcGVzLmFwcC5MaW5rLmNvbm5lY3Rpb25Qb2ludCxcclxuICAgICAgICAgICAgaW50ZXJhY3RpdmU6IHsgbGlua01vdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIGFzeW5jOiB0cnVlLFxyXG4gICAgICAgICAgICBzb3J0aW5nOiBqb2ludC5kaWEuUGFwZXIuc29ydGluZy5BUFBST1hcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcGFwZXIub24oJ2JsYW5rOm1vdXNld2hlZWwnLCBfLnBhcnRpYWwodGhpcy5vbk1vdXNld2hlZWwsIG51bGwpLCB0aGlzKTtcclxuICAgICAgICBwYXBlci5vbignY2VsbDptb3VzZXdoZWVsJywgdGhpcy5vbk1vdXNld2hlZWwuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgICAgIHRoaXMuc25hcGxpbmVzID0gbmV3IGpvaW50LnVpLlNuYXBsaW5lcyh7IHBhcGVyOiBwYXBlciB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFwZXJTY3JvbGxlciA9IHRoaXMucGFwZXJTY3JvbGxlciA9IG5ldyBqb2ludC51aS5QYXBlclNjcm9sbGVyKHtcclxuICAgICAgICAgICAgcGFwZXIsXHJcbiAgICAgICAgICAgIGF1dG9SZXNpemVQYXBlcjogdHJ1ZSxcclxuICAgICAgICAgICAgc2Nyb2xsV2hpbGVEcmFnZ2luZzogdHJ1ZSxcclxuICAgICAgICAgICAgY3Vyc29yOiAnZ3JhYidcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yZW5kZXJQbHVnaW4oJy5wYXBlci1jb250YWluZXInLCBwYXBlclNjcm9sbGVyKTtcclxuICAgICAgICBwYXBlclNjcm9sbGVyLnJlbmRlcigpLmNlbnRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemVTdGVuY2lsKCkge1xyXG5cclxuICAgICAgICB0aGlzLnN0ZW5jaWwgPSBuZXcgam9pbnQudWkuU3RlbmNpbCh7XHJcbiAgICAgICAgICAgIHBhcGVyOiB0aGlzLnBhcGVyU2Nyb2xsZXIsXHJcbiAgICAgICAgICAgIHNuYXBsaW5lczogdGhpcy5zbmFwbGluZXMsXHJcbiAgICAgICAgICAgIHdpZHRoOiAyNDAsXHJcbiAgICAgICAgICAgIGdyb3VwczogU3RlbmNpbEZ1bmN0aW9uLmdldFN0ZW5jaWxHcm91cHMoKSxcclxuICAgICAgICAgICAgZHJvcEFuaW1hdGlvbjogdHJ1ZSxcclxuICAgICAgICAgICAgZ3JvdXBzVG9nZ2xlQnV0dG9uczogdHJ1ZSxcclxuICAgICAgICAgICAgcGFwZXJPcHRpb25zOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiBuZXcgam9pbnQuZGlhLkdyYXBoKHt9LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxOYW1lc3BhY2U6IGFwcFNoYXBlc1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIGNlbGxWaWV3TmFtZXNwYWNlOiBhcHBTaGFwZXNcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNlYXJjaDoge1xyXG4gICAgICAgICAgICAgICAgJyonOiBbJ3R5cGUnLCAnYXR0cnMvdGV4dC90ZXh0JywgJ2F0dHJzL3Jvb3QvZGF0YVRvb2x0aXAnLCAnYXR0cnMvbGFiZWwvdGV4dCddLFxyXG4gICAgICAgICAgICAgICAgJ29yZy5NZW1iZXInOiBbJ2F0dHJzLy5yYW5rL3RleHQnLCAnYXR0cnMvcm9vdC9kYXRhVG9vbHRpcCcsICdhdHRycy8ubmFtZS90ZXh0J11cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy8gVXNlIGRlZmF1bHQgR3JpZCBMYXlvdXRcclxuICAgICAgICAgICAgbGF5b3V0OiB0cnVlLFxyXG4gICAgICAgICAgICAvLyBSZW1vdmUgdG9vbHRpcCBkZWZpbml0aW9uIGZyb20gY2xvbmVcclxuICAgICAgICAgICAgZHJhZ1N0YXJ0Q2xvbmU6IChjZWxsOiBhbnkpID0+IGNlbGwuY2xvbmUoKS5yZW1vdmVBdHRyKCdyb290L2RhdGFUb29sdGlwJylcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnJlbmRlclBsdWdpbignLnN0ZW5jaWwtY29udGFpbmVyJywgdGhpcy5zdGVuY2lsKTtcclxuICAgICAgICB0aGlzLnN0ZW5jaWwubG9hZChTdGVuY2lsRnVuY3Rpb24uZ2V0U3RlbmNpbFNoYXBlcyh0aGlzLkxBTkcpKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXplU2VsZWN0aW9uKCkge1xyXG5cclxuICAgICAgICB0aGlzLmNsaXBib2FyZCA9IG5ldyBqb2ludC51aS5DbGlwYm9hcmQoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IG5ldyBqb2ludC51aS5TZWxlY3Rpb24oeyBwYXBlcjogdGhpcy5wYXBlciwgdXNlTW9kZWxHZW9tZXRyeTogdHJ1ZSB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLm9uKCdyZXNldCBhZGQgcmVtb3ZlJywgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgICAgY29uc3Qga2V5Ym9hcmQgPSB0aGlzLmtleWJvYXJkU2VydmljZS5rZXlib2FyZDtcclxuXHJcbiAgICAgICAgLy8gSW5pdGlhdGUgc2VsZWN0aW5nIHdoZW4gdGhlIHVzZXIgZ3JhYnMgdGhlIGJsYW5rIGFyZWEgb2YgdGhlIHBhcGVyIHdoaWxlIHRoZSBTaGlmdCBrZXkgaXMgcHJlc3NlZC5cclxuICAgICAgICAvLyBPdGhlcndpc2UsIGluaXRpYXRlIHBhcGVyIHBhbi5cclxuICAgICAgICB0aGlzLnBhcGVyLm9uKCdibGFuazpwb2ludGVyZG93bicsIChldnQ6IGFueSwgeDogbnVtYmVyLCB5OiBudW1iZXIpID0+IHtcclxuXHJcbiAgICAgICAgICAgIGlmIChrZXlib2FyZC5pc0FjdGl2ZSgnc2hpZnQnLCBldnQpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zdGFydFNlbGVjdGluZyhldnQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uY29sbGVjdGlvbi5yZXNldChbXSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcGVyU2Nyb2xsZXIuc3RhcnRQYW5uaW5nKGV2dCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcGVyLnJlbW92ZVRvb2xzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlci5vbignZWxlbWVudDpwb2ludGVyZG93bicsIChlbGVtZW50VmlldzogYW55LCBldnQ6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgLy8gU2VsZWN0IGFuIGVsZW1lbnQgaWYgQ1RSTC9NZXRhIGtleSBpcyBwcmVzc2VkIHdoaWxlIHRoZSBlbGVtZW50IGlzIGNsaWNrZWQuXHJcbiAgICAgICAgICAgIGlmIChrZXlib2FyZC5pc0FjdGl2ZSgnY3RybCBtZXRhJywgZXZ0KSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uLmNvbGxlY3Rpb24uZmluZChmdW5jdGlvbiAoY2VsbCkgeyByZXR1cm4gY2VsbC5pc0xpbmsoKSB9KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvIG5vdCBhbGxvdyBtaXhpbmcgbGlua3MgYW5kIGVsZW1lbnRzIGluIHRoZSBzZWxlY3Rpb25cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLnJlc2V0KFtlbGVtZW50Vmlldy5tb2RlbF0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLmFkZChlbGVtZW50Vmlldy5tb2RlbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLm9uKCdzZWxlY3Rpb24tYm94OnBvaW50ZXJkb3duJywgKGVsZW1lbnRWaWV3OiBhbnksIGV2dDogYW55KSA9PiB7XHJcblxyXG4gICAgICAgICAgICAvLyBVbnNlbGVjdCBhbiBlbGVtZW50IGlmIHRoZSBDVFJML01ldGEga2V5IGlzIHByZXNzZWQgd2hpbGUgYSBzZWxlY3RlZCBlbGVtZW50IGlzIGNsaWNrZWQuXHJcbiAgICAgICAgICAgIGlmIChrZXlib2FyZC5pc0FjdGl2ZSgnY3RybCBtZXRhJywgZXZ0KSkge1xyXG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLnJlbW92ZShlbGVtZW50Vmlldy5tb2RlbCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0SW1hZ2VDb250ZW50KCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFwZXIudG9QTkcoKGltYWdlRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShpbWFnZURhdGEpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRKc29uQ29udGVudCgpIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5ncmFwaC50b0pTT04oKSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3Rpb25DaGFuZ2UoKSB7XHJcbiAgICAgICAgY29uc3QgeyBwYXBlciwgc2VsZWN0aW9uIH0gPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gc2VsZWN0aW9uO1xyXG4gICAgICAgIHBhcGVyLnJlbW92ZVRvb2xzKCk7XHJcbiAgICAgICAgam9pbnQudWkuSGFsby5jbGVhcihwYXBlcik7XHJcbiAgICAgICAgam9pbnQudWkuRnJlZVRyYW5zZm9ybS5jbGVhcihwYXBlcik7XHJcbiAgICAgICAgam9pbnQudWkuSW5zcGVjdG9yLmNsb3NlKCk7XHJcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24ubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByaW1hcnlDZWxsOiBhbnkgPSBjb2xsZWN0aW9uLmZpcnN0KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHByaW1hcnlDZWxsVmlldyA9IHBhcGVyLnJlcXVpcmVWaWV3KHByaW1hcnlDZWxsKTtcclxuICAgICAgICAgICAgc2VsZWN0aW9uLmRlc3Ryb3lTZWxlY3Rpb25Cb3gocHJpbWFyeUNlbGwpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdFByaW1hcnlDZWxsKHByaW1hcnlDZWxsVmlldyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChjb2xsZWN0aW9uLmxlbmd0aCA9PT0gMikge1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uLmVhY2goZnVuY3Rpb24gKGNlbGw6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uLmNyZWF0ZVNlbGVjdGlvbkJveChjZWxsKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFByaW1hcnlDZWxsKGNlbGxWaWV3OiBhbnkpIHtcclxuICAgICAgICBjb25zdCBjZWxsID0gY2VsbFZpZXcubW9kZWw7XHJcbiAgICAgICAgaWYgKGNlbGwuaXNFbGVtZW50KCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RQcmltYXJ5RWxlbWVudChjZWxsVmlldyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RQcmltYXJ5TGluayhjZWxsVmlldyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGpvaW50LnVpLkluc3BlY3Rvci5jcmVhdGUoJy5pbnNwZWN0b3ItY29udGFpbmVyJywgXy5leHRlbmQoe1xyXG4gICAgICAgICAgICBjZWxsOiBjZWxsXHJcbiAgICAgICAgfSwgSW5zcGVjdG9yRnVuY3Rpb24uZ2V0SW5zcGVjdG9yQ29uZmlndXJhdGlvbih0aGlzLkxBTkcpW2NlbGwuZ2V0KCd0eXBlJyldKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0UHJpbWFyeUVsZW1lbnQoZWxlbWVudFZpZXc6IGFueSkge1xyXG5cclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudFZpZXcubW9kZWw7XHJcblxyXG4gICAgICAgIG5ldyBqb2ludC51aS5GcmVlVHJhbnNmb3JtKHtcclxuICAgICAgICAgICAgY2VsbFZpZXc6IGVsZW1lbnRWaWV3LFxyXG4gICAgICAgICAgICBhbGxvd1JvdGF0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbzogISFlbGVtZW50LmdldCgncHJlc2VydmVBc3BlY3RSYXRpbycpLFxyXG4gICAgICAgICAgICBhbGxvd09ydGhvZ29uYWxSZXNpemU6IGVsZW1lbnQuZ2V0KCdhbGxvd09ydGhvZ29uYWxSZXNpemUnKSAhPT0gZmFsc2VcclxuICAgICAgICB9KS5yZW5kZXIoKTtcclxuXHJcbiAgICAgICAgbmV3IGpvaW50LnVpLkhhbG8oe1xyXG4gICAgICAgICAgICBjZWxsVmlldzogZWxlbWVudFZpZXcsXHJcbiAgICAgICAgICAgIGhhbmRsZXM6IEhhbG9GdW5jdGlvbi5nZXRIYWxvQ29uZmlndXJhdGlvbih0aGlzLkxBTkcpLFxyXG4gICAgICAgICAgICB1c2VNb2RlbEdlb21ldHJ5OiB0cnVlXHJcbiAgICAgICAgfSkucmVuZGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0UHJpbWFyeUxpbmsobGlua1ZpZXc6IGFueSkge1xyXG5cclxuICAgICAgICBjb25zdCBucyA9IGpvaW50LmxpbmtUb29scztcclxuICAgICAgICBjb25zdCB0b29sc1ZpZXcgPSBuZXcgam9pbnQuZGlhLlRvb2xzVmlldyh7XHJcbiAgICAgICAgICAgIG5hbWU6ICdsaW5rLXBvaW50ZXJkb3duJyxcclxuICAgICAgICAgICAgdG9vbHM6IFtcclxuICAgICAgICAgICAgICAgIG5ldyBucy5WZXJ0aWNlcygpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlNvdXJjZUFuY2hvcigpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlRhcmdldEFuY2hvcigpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlNvdXJjZUFycm93aGVhZCgpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlRhcmdldEFycm93aGVhZCgpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlNlZ21lbnRzLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLkJvdW5kYXJ5KHsgcGFkZGluZzogMTUgfSksXHJcbiAgICAgICAgICAgICAgICBuZXcgbnMuUmVtb3ZlKHsgb2Zmc2V0OiAtMjAsIGRpc3RhbmNlOiA0MCB9KVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGxpbmtWaWV3LmFkZFRvb2xzKHRvb2xzVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZVRvb2xzQW5kSW5zcGVjdG9yKCkge1xyXG5cclxuICAgICAgICB0aGlzLnBhcGVyLm9uKCdjZWxsOnBvaW50ZXJ1cCcsIChjZWxsVmlldzogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNlbGwgPSBjZWxsVmlldy5tb2RlbDtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnNlbGVjdGlvbjtcclxuICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb24uaW5jbHVkZXMoY2VsbCkpIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24ucmVzZXQoW2NlbGxdKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlci5vbignbGluazptb3VzZWVudGVyJywgKGxpbmtWaWV3OiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIE9wZW4gdG9vbCBvbmx5IGlmIHRoZXJlIGlzIG5vbmUgeWV0XHJcbiAgICAgICAgICAgIGlmIChsaW5rVmlldy5oYXNUb29scygpKSB7IHJldHVybjsgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgbnMgPSBqb2ludC5saW5rVG9vbHM7XHJcbiAgICAgICAgICAgIGNvbnN0IHRvb2xzVmlldyA9IG5ldyBqb2ludC5kaWEuVG9vbHNWaWV3KHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdsaW5rLWhvdmVyJyxcclxuICAgICAgICAgICAgICAgIHRvb2xzOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IG5zLlZlcnRpY2VzKHsgdmVydGV4QWRkaW5nOiBmYWxzZSB9KSxcclxuICAgICAgICAgICAgICAgICAgICBuZXcgbnMuU291cmNlQXJyb3doZWFkKCksXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IG5zLlRhcmdldEFycm93aGVhZCgpXHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgbGlua1ZpZXcuYWRkVG9vbHModG9vbHNWaWV3KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlci5vbignbGluazptb3VzZWxlYXZlJywgKGxpbmtWaWV3OiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIFJlbW92ZSBvbmx5IHRoZSBob3ZlciB0b29sLCBub3QgdGhlIHBvaW50ZXJkb3duIHRvb2xcclxuICAgICAgICAgICAgaWYgKGxpbmtWaWV3Lmhhc1Rvb2xzKCdsaW5rLWhvdmVyJykpIHtcclxuICAgICAgICAgICAgICAgIGxpbmtWaWV3LnJlbW92ZVRvb2xzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5ncmFwaC5vbignY2hhbmdlJywgKGNlbGw6IGFueSwgb3B0OiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgIGlmICghY2VsbC5pc0xpbmsoKSB8fCAhb3B0Lmluc3BlY3RvcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG5zID0gam9pbnQubGlua1Rvb2xzO1xyXG4gICAgICAgICAgICBjb25zdCB0b29sc1ZpZXcgPSBuZXcgam9pbnQuZGlhLlRvb2xzVmlldyh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnbGluay1pbnNwZWN0ZWQnLFxyXG4gICAgICAgICAgICAgICAgdG9vbHM6IFtcclxuICAgICAgICAgICAgICAgICAgICBuZXcgbnMuQm91bmRhcnkoeyBwYWRkaW5nOiAxNSB9KSxcclxuICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBjZWxsLmZpbmRWaWV3KHRoaXMucGFwZXIpLmFkZFRvb2xzKHRvb2xzVmlldyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZU5hdmlnYXRvcigpIHtcclxuXHJcbiAgICAgICAgY29uc3QgbmF2aWdhdG9yID0gdGhpcy5uYXZpZ2F0b3IgPSBuZXcgam9pbnQudWkuTmF2aWdhdG9yKHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0MCxcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMTUsXHJcbiAgICAgICAgICAgIHBhcGVyU2Nyb2xsZXI6IHRoaXMucGFwZXJTY3JvbGxlcixcclxuICAgICAgICAgICAgem9vbTogZmFsc2UsXHJcbiAgICAgICAgICAgIHBhcGVyT3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgYXN5bmM6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBzb3J0aW5nOiBqb2ludC5kaWEuUGFwZXIuc29ydGluZy5OT05FLFxyXG4gICAgICAgICAgICAgICAgZWxlbWVudFZpZXc6IGFwcFNoYXBlcy5OYXZpZ2F0b3JFbGVtZW50VmlldyxcclxuICAgICAgICAgICAgICAgIGxpbmtWaWV3OiBhcHBTaGFwZXMuTmF2aWdhdG9yTGlua1ZpZXcsXHJcbiAgICAgICAgICAgICAgICBjZWxsVmlld05hbWVzcGFjZTogeyAvKiBubyBvdGhlciB2aWV3cyBhcmUgYWNjZXNzaWJsZSBpbiB0aGUgbmF2aWdhdG9yICovIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlclBsdWdpbignLm5hdmlnYXRvci1jb250YWluZXInLCBuYXZpZ2F0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemVUb29sYmFyKCkge1xyXG4gICAgICAgIGNvbnN0IHsgZ3JvdXBzLCB0b29scyB9ID0gVG9vbGJhcnRGdW5jdGlvbi5nZXRUb29sYmFyQ29uZmlndXJhdGlvbih0aGlzLkxBTkcpO1xyXG4gICAgICAgIHRoaXMudG9vbGJhciA9IG5ldyBqb2ludC51aS5Ub29sYmFyKHtcclxuICAgICAgICAgICAgZ3JvdXBzLFxyXG4gICAgICAgICAgICB0b29scyxcclxuICAgICAgICAgICAgYXV0b1RvZ2dsZTogdHJ1ZSxcclxuICAgICAgICAgICAgcmVmZXJlbmNlczoge1xyXG4gICAgICAgICAgICAgICAgcGFwZXJTY3JvbGxlcjogdGhpcy5wYXBlclNjcm9sbGVyLFxyXG4gICAgICAgICAgICAgICAgY29tbWFuZE1hbmFnZXI6IHRoaXMuY29tbWFuZE1hbmFnZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudG9vbGJhci5vbih7XHJcbiAgICAgICAgICAgICdzdmc6cG9pbnRlcmNsaWNrJzogdGhpcy5vcGVuQXNTVkcuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgJ3BuZzpwb2ludGVyY2xpY2snOiB0aGlzLm9wZW5Bc1BORy5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAndG8tZnJvbnQ6cG9pbnRlcmNsaWNrJzogdGhpcy5hcHBseU9uU2VsZWN0aW9uLmJpbmQodGhpcywgJ3RvRnJvbnQnKSxcclxuICAgICAgICAgICAgJ3RvLWJhY2s6cG9pbnRlcmNsaWNrJzogdGhpcy5hcHBseU9uU2VsZWN0aW9uLmJpbmQodGhpcywgJ3RvQmFjaycpLFxyXG4gICAgICAgICAgICAnbGF5b3V0OnBvaW50ZXJjbGljayc6IHRoaXMubGF5b3V0RGlyZWN0ZWRHcmFwaC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAnc25hcGxpbmU6Y2hhbmdlJzogdGhpcy5jaGFuZ2VTbmFwTGluZXMuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgJ2NsZWFyOnBvaW50ZXJjbGljayc6IHRoaXMuZ3JhcGguY2xlYXIuYmluZCh0aGlzLmdyYXBoKSxcclxuICAgICAgICAgICAgJ3ByaW50OnBvaW50ZXJjbGljayc6IHRoaXMucGFwZXIucHJpbnQuYmluZCh0aGlzLnBhcGVyKSxcclxuICAgICAgICAgICAgJ2dyaWQtc2l6ZTpjaGFuZ2UnOiB0aGlzLnBhcGVyLnNldEdyaWRTaXplLmJpbmQodGhpcy5wYXBlciksXHJcbiAgICAgICAgICAgICdzZWxlY3RUZW1wbGF0ZTpvcHRpb246c2VsZWN0JzogdGhpcy5vbkNoYW5nZVRlbXBsYXRlLFxyXG4gICAgICAgICAgICAnZGVsZXRlVGVtcGxhdGU6cG9pbnRlcmNsaWNrJzogdGhpcy5vbkRlbGV0ZVRlbXBsYXRlLFxyXG4gICAgICAgICAgICAnc2F2ZUFzVGVtcGxhdGU6cG9pbnRlcmNsaWNrJzogdGhpcy5vblNhdmVBc1RlbXBsYXRlLFxyXG4gICAgICAgICAgICAncmVzZXRUZW1wbGF0ZTpwb2ludGVyY2xpY2snOiB0aGlzLm9uUmVzZXRUZW1wbGF0ZVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlclBsdWdpbignLnRvb2xiYXItY29udGFpbmVyJywgdGhpcy50b29sYmFyKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseU9uU2VsZWN0aW9uKG1ldGhvZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5ncmFwaC5zdGFydEJhdGNoKCdzZWxlY3Rpb24nKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLm1vZGVscy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RlbDogYW55KSB7IG1vZGVsW21ldGhvZF0oKTsgfSk7XHJcbiAgICAgICAgdGhpcy5ncmFwaC5zdG9wQmF0Y2goJ3NlbGVjdGlvbicpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZVNuYXBMaW5lcyhjaGVja2VkOiBib29sZWFuKSB7XHJcblxyXG4gICAgICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hcGxpbmVzLnN0YXJ0TGlzdGVuaW5nKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RlbmNpbC5vcHRpb25zLnNuYXBsaW5lcyA9IHRoaXMuc25hcGxpbmVzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hcGxpbmVzLnN0b3BMaXN0ZW5pbmcoKTtcclxuICAgICAgICAgICAgdGhpcy5zdGVuY2lsLm9wdGlvbnMuc25hcGxpbmVzID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZUtleWJvYXJkU2hvcnRjdXRzKCkge1xyXG5cclxuICAgICAgICB0aGlzLmtleWJvYXJkU2VydmljZS5jcmVhdGUoXHJcbiAgICAgICAgICAgIHRoaXMuZ3JhcGgsIHRoaXMuY2xpcGJvYXJkLCB0aGlzLnNlbGVjdGlvbiwgdGhpcy5wYXBlclNjcm9sbGVyLCB0aGlzLmNvbW1hbmRNYW5hZ2VyKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXplVG9vbHRpcHMoKTogYW55IHtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBqb2ludC51aS5Ub29sdGlwKHtcclxuICAgICAgICAgICAgcm9vdFRhcmdldDogZG9jdW1lbnQuYm9keSxcclxuICAgICAgICAgICAgdGFyZ2V0OiAnW2RhdGEtdG9vbHRpcF0nLFxyXG4gICAgICAgICAgICBkaXJlY3Rpb246IGpvaW50LnVpLlRvb2x0aXAuVG9vbHRpcEFycm93UG9zaXRpb24uQXV0byxcclxuICAgICAgICAgICAgcGFkZGluZzogMTBcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3Igb2xkZXIgc2hhcGVzXHJcbiAgICBleHBvcnRTdHlsZXNoZWV0ID0gJy5zY2FsYWJsZSAqIHsgdmVjdG9yLWVmZmVjdDogbm9uLXNjYWxpbmctc3Ryb2tlIH0nO1xyXG5cclxuICAgIG9wZW5Bc1NWRygpIHtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlci5oaWRlVG9vbHMoKS50b1NWRygoc3ZnOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgbmV3IGpvaW50LnVpLkxpZ2h0Ym94KHtcclxuICAgICAgICAgICAgICAgIGltYWdlOiAnZGF0YTppbWFnZS9zdmcreG1sLCcgKyBlbmNvZGVVUklDb21wb25lbnQoc3ZnKSxcclxuICAgICAgICAgICAgICAgIGRvd25sb2FkYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGZpbGVOYW1lOiAnUmFwcGlkJ1xyXG4gICAgICAgICAgICB9KS5vcGVuKCk7XHJcbiAgICAgICAgICAgIHRoaXMucGFwZXIuc2hvd1Rvb2xzKCk7XHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICBwcmVzZXJ2ZURpbWVuc2lvbnM6IHRydWUsXHJcbiAgICAgICAgICAgIGNvbnZlcnRJbWFnZXNUb0RhdGFVcmlzOiB0cnVlLFxyXG4gICAgICAgICAgICB1c2VDb21wdXRlZFN0eWxlczogZmFsc2UsXHJcbiAgICAgICAgICAgIHN0eWxlc2hlZXQ6IHRoaXMuZXhwb3J0U3R5bGVzaGVldFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9wZW5Bc1BORygpIHtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlci5oaWRlVG9vbHMoKS50b1BORygoZGF0YVVSTDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIG5ldyBqb2ludC51aS5MaWdodGJveCh7XHJcbiAgICAgICAgICAgICAgICBpbWFnZTogZGF0YVVSTCxcclxuICAgICAgICAgICAgICAgIGRvd25sb2FkYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGZpbGVOYW1lOiAnUmFwcGlkJ1xyXG4gICAgICAgICAgICB9KS5vcGVuKCk7XHJcbiAgICAgICAgICAgIHRoaXMucGFwZXIuc2hvd1Rvb2xzKCk7XHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMCxcclxuICAgICAgICAgICAgdXNlQ29tcHV0ZWRTdHlsZXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBzdHlsZXNoZWV0OiB0aGlzLmV4cG9ydFN0eWxlc2hlZXRcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1vdXNld2hlZWwoY2VsbFZpZXc6IGFueSwgZXZ0OiBhbnksIG94OiBudW1iZXIsIG95OiBudW1iZXIsIGRlbHRhOiBudW1iZXIpIHtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMua2V5Ym9hcmRTZXJ2aWNlLmtleWJvYXJkLmlzQWN0aXZlKCdhbHQnLCBldnQpKSB7XHJcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICB0aGlzLnBhcGVyU2Nyb2xsZXIuem9vbShkZWx0YSAqIDAuMiwgeyBtaW46IDAuMiwgbWF4OiA1LCBncmlkOiAwLjIsIG94LCBveSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGF5b3V0RGlyZWN0ZWRHcmFwaCgpIHtcclxuXHJcbiAgICAgICAgam9pbnQubGF5b3V0LkRpcmVjdGVkR3JhcGgubGF5b3V0KHRoaXMuZ3JhcGgsIHtcclxuICAgICAgICAgICAgZ3JhcGhsaWI6IGRhZ3JlLmdyYXBobGliLFxyXG4gICAgICAgICAgICBkYWdyZTogZGFncmUsXHJcbiAgICAgICAgICAgIHNldFZlcnRpY2VzOiB0cnVlLFxyXG4gICAgICAgICAgICByYW5rRGlyOiAnVEInLFxyXG4gICAgICAgICAgICBtYXJnaW5YOiAxMDAsXHJcbiAgICAgICAgICAgIG1hcmdpblk6IDEwMFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnBhcGVyU2Nyb2xsZXIuY2VudGVyQ29udGVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbmRlclBsdWdpbihzZWxlY3Rvcjogc3RyaW5nLCBwbHVnaW46IGFueSk6IHZvaWQge1xyXG5cclxuICAgICAgICB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpLmFwcGVuZENoaWxkKHBsdWdpbi5lbCk7XHJcbiAgICAgICAgcGx1Z2luLnJlbmRlcigpO1xyXG4gICAgfVxyXG4gICAgb25DaGFuZ2VUZW1wbGF0ZShldmVudCkge1xyXG4gICAgICAgIGlmIChldmVudC5qc29uQ29udGVudCkge1xyXG4gICAgICAgICAgICB3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfU0VMRUNURURfRkxPV0NIQVJUX0lEXSA9IGV2ZW50LmZsb3dDaGFydElkO1xyXG4gICAgICAgICAgICB3aW5kb3dbRmxvd0NoYXJ0Q29uc3QuS1NfU0VMRUNURURfSlNPTkNPTlRFTlRdID0gZXZlbnQuanNvbkNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHdpbmRvdy5wb3N0TWVzc2FnZShGbG93Q2hhcnRDb25zdC5LU19DSEFOR0VfVEVNUExBVEUsICcqJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRGVsZXRlVGVtcGxhdGUoZXZlbnQpIHtcclxuICAgICAgICBpZiAod2luZG93W0Zsb3dDaGFydENvbnN0LktTX0lTX1NFTEVDVEVEX1RFTVBMQVRFXSkge1xyXG4gICAgICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoRmxvd0NoYXJ0Q29uc3QuS1NfREVMRVRFX1RFTVBMQVRFLCAnKicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKEZsb3dDaGFydENvbnN0Lk1VU1RfU0VMRUNUX1RFTVBMQVRFLCAnKicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvblNhdmVBc1RlbXBsYXRlKCkge1xyXG4gICAgICAgIHdpbmRvdy5wb3N0TWVzc2FnZShGbG93Q2hhcnRDb25zdC5LU19TQVZFX0FTX1RFTVBMQVRFLCAnKicpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uUmVzZXRUZW1wbGF0ZSgpIHtcclxuICAgICAgICBpZiAod2luZG93W0Zsb3dDaGFydENvbnN0LktTX0lTX1NFTEVDVEVEX1RFTVBMQVRFXSkge1xyXG4gICAgICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoRmxvd0NoYXJ0Q29uc3QuS1NfUkVTRVRfVEVNUExBVEUsICcqJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBLaXRjaGVuU2lua1NlcnZpY2U7XHJcbiJdfQ==
433
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2l0Y2hlbnNpbmstc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Zsb3djaGFydC9zZXJ2aWNlL2tpdGNoZW5zaW5rLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7b0ZBVW9GOztBQUVwRiw0Q0FBNEM7QUFDNUMsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxLQUFLLFNBQVMsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLFlBQVksTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLGVBQWUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLGdCQUFnQixNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8saUJBQWlCLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXpFLE1BQU0sa0JBQWtCO0lBK0JwQixZQUNJLEVBQVcsRUFDWCxlQUFnQyxFQUNoQyxJQUFTO1FBTGIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFrWHJCLDJDQUEyQztRQUMzQyxxQkFBZ0IsR0FBRyxtREFBbUQsQ0FBQztRQTVXbkUsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFFYiwrQkFBK0I7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNoQiw2QkFBNkIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVB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LFdBQVcsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBSztRQUNsQixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUNoRCxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM5RDthQUNJO1lBQ0QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDaEU7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsRUFBRTtZQUNoRCxNQUFNLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM3RDtJQUNMLENBQUM7Q0FDSjtBQUVELGVBQWUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgUmFwcGlkIHYzLjMuMCAtIEhUTUw1IERpYWdyYW1taW5nIEZyYW1ld29ya1xyXG5cclxuQ29weXJpZ2h0IChjKSAyMDIxIGNsaWVudCBJT1xyXG5cclxuIDIwMjEtMDItMTIgXHJcblxyXG5cclxuVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBSYXBwaWQgTGljZW5zZVxyXG4sIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBSYXBwaWQgTGljZW5zZSB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xyXG5maWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL2pvaW50anMuY29tL2xpY2Vuc2UvcmFwcGlkX3YyLnR4dFxyXG4gb3IgZnJvbSB0aGUgUmFwcGlkIGFyY2hpdmUgYXMgd2FzIGRpc3RyaWJ1dGVkIGJ5IGNsaWVudCBJTy4gU2VlIHRoZSBMSUNFTlNFIGZpbGUuKi9cclxuXHJcbi8vIGltcG9ydCAqIGFzIGpvaW50IGZyb20gJ0BjbGllbnRpby9yYXBwaWQnXHJcbmltcG9ydCAqIGFzIGRhZ3JlIGZyb20gJ2RhZ3JlJztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBLZXlib2FyZFNlcnZpY2UgfSBmcm9tICcuL2tleWJvYXJkLXNlcnZpY2UnO1xyXG5pbXBvcnQgKiBhcyBhcHBTaGFwZXMgZnJvbSAnLi4vbW9kZWxzL2FwcC1zaGFwZXMnO1xyXG5pbXBvcnQgSGFsb0Z1bmN0aW9uIGZyb20gJy4uL2NvbmZpZy9oYWxvLmZ1bmN0aW9uJztcclxuaW1wb3J0IFN0ZW5jaWxGdW5jdGlvbiBmcm9tICcuLi9jb25maWcvc3RlbmNpbC5mdW5jdGlvbic7XHJcbmltcG9ydCBUb29sYmFydEZ1bmN0aW9uIGZyb20gJy4uL2NvbmZpZy90b29sYmFyLmZ1bmN0aW9uJztcclxuaW1wb3J0IEluc3BlY3RvckZ1bmN0aW9uIGZyb20gJy4uL2NvbmZpZy9pbnNwZWN0b3IuZnVuY3Rpb24nO1xyXG5pbXBvcnQgeyBGbG93Q2hhcnRDb25zdCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ja2VkaXRvckZsb3djaGFydC5jb25zdCc7XHJcbmRlY2xhcmUgdmFyIGpvaW50OiBhbnk7XHJcbmNsYXNzIEtpdGNoZW5TaW5rU2VydmljZSB7XHJcbiAgICBMQU5HOiBhbnlcclxuICAgIGVsOiBFbGVtZW50O1xyXG5cclxuICAgIC8vIGdyYXBoOiBqb2ludC5kaWEuR3JhcGg7XHJcbiAgICAvLyBwYXBlcjogam9pbnQuZGlhLlBhcGVyO1xyXG4gICAgLy8gcGFwZXJTY3JvbGxlcjogam9pbnQudWkuUGFwZXJTY3JvbGxlcjtcclxuXHJcbiAgICAvLyBjb21tYW5kTWFuYWdlcjogam9pbnQuZGlhLkNvbW1hbmRNYW5hZ2VyO1xyXG4gICAgLy8gc25hcGxpbmVzOiBqb2ludC51aS5TbmFwbGluZXM7XHJcbiAgICAvLyBjbGlwYm9hcmQ6IGpvaW50LnVpLkNsaXBib2FyZDtcclxuICAgIC8vIHNlbGVjdGlvbjogam9pbnQudWkuU2VsZWN0aW9uO1xyXG4gICAgLy8gbmF2aWdhdG9yOiBqb2ludC51aS5OYXZpZ2F0b3I7XHJcbiAgICAvLyBzdGVuY2lsOiBqb2ludC51aS5TdGVuY2lsXHJcbiAgICAvLyB0b29sYmFyOiBqb2ludC51aS5Ub29sYmFyXHJcbiAgICBncmFwaDogYW55O1xyXG4gICAgcGFwZXI6IGFueTtcclxuICAgIHBhcGVyU2Nyb2xsZXI6IGFueTtcclxuXHJcbiAgICBjb21tYW5kTWFuYWdlcjogYW55O1xyXG4gICAgc25hcGxpbmVzOiBhbnk7XHJcbiAgICBjbGlwYm9hcmQ6IGFueTtcclxuICAgIHNlbGVjdGlvbjogYW55O1xyXG4gICAgbmF2aWdhdG9yOiBhbnk7XHJcbiAgICBzdGVuY2lsOiBhbnk7XHJcbiAgICB0b29sYmFyOiBhbnk7XHJcblxyXG4gICAga2V5Ym9hcmRTZXJ2aWNlOiBLZXlib2FyZFNlcnZpY2U7XHJcblxyXG4gICAgaXNGdWxsc2NyZWVuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgZWw6IEVsZW1lbnQsXHJcbiAgICAgICAga2V5Ym9hcmRTZXJ2aWNlOiBLZXlib2FyZFNlcnZpY2UsXHJcbiAgICAgICAgTEFORzogYW55XHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmVsID0gZWw7XHJcblxyXG4gICAgICAgIC8vIGFwcGx5IGN1cnJlbnQgam9pbnQganMgdGhlbWVcclxuICAgICAgICBjb25zdCB2aWV3ID0gbmV3IGpvaW50Lm12Yy5WaWV3KHsgZWwgfSk7XHJcbiAgICAgICAgdmlldy5kZWxlZ2F0ZUV2ZW50cyh7XHJcbiAgICAgICAgICAgICdtb3VzZXVwIGlucHV0W3R5cGU9XCJyYW5nZVwiXSc6IChldnQpID0+IGV2dC50YXJnZXQuYmx1cigpXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMua2V5Ym9hcmRTZXJ2aWNlID0ga2V5Ym9hcmRTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuTEFORyA9IExBTkdcclxuICAgIH1cclxuXHJcbiAgICBzdGFydFJhcHBpZCgpIHtcclxuXHJcbiAgICAgICAgam9pbnQuc2V0VGhlbWUoJ21vZGVybicpO1xyXG5cclxuICAgICAgICB0aGlzLmluaXRpYWxpemVQYXBlcigpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVN0ZW5jaWwoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVTZWxlY3Rpb24oKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVUb29sc0FuZEluc3BlY3RvcigpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZU5hdmlnYXRvcigpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRvb2xiYXIoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVLZXlib2FyZFNob3J0Y3V0cygpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRvb2x0aXBzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZVBhcGVyKCkge1xyXG5cclxuICAgICAgICBjb25zdCBncmFwaCA9IHRoaXMuZ3JhcGggPSBuZXcgam9pbnQuZGlhLkdyYXBoKHt9LCB7XHJcbiAgICAgICAgICAgIGNlbGxOYW1lc3BhY2U6IGFwcFNoYXBlc1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBncmFwaC5vbignYWRkJywgKGNlbGw6IGFueSwgY29sbGVjdGlvbjogYW55LCBvcHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAob3B0LnN0ZW5jaWwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBqb2ludC51aS5JbnNwZWN0b3IuY3JlYXRlKCcuaW5zcGVjdG9yLWNvbnRhaW5lcicsIF8uZXh0ZW5kKHtcclxuICAgICAgICAgICAgICAgICAgICBjZWxsOiBjZWxsXHJcbiAgICAgICAgICAgICAgICB9LCBJbnNwZWN0b3JGdW5jdGlvbi5nZXRJbnNwZWN0b3JDb25maWd1cmF0aW9uKHRoaXMuTEFORylbY2VsbC5nZXQoJ3R5cGUnKV0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmNvbW1hbmRNYW5hZ2VyID0gbmV3IGpvaW50LmRpYS5Db21tYW5kTWFuYWdlcih7IGdyYXBoOiBncmFwaCB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFwZXIgPSB0aGlzLnBhcGVyID0gbmV3IGpvaW50LmRpYS5QYXBlcih7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAwLFxyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMDAsXHJcbiAgICAgICAgICAgIGdyaWRTaXplOiAxMCxcclxuICAgICAgICAgICAgZHJhd0dyaWQ6IHRydWUsXHJcbiAgICAgICAgICAgIG1vZGVsOiBncmFwaCxcclxuICAgICAgICAgICAgY2VsbFZpZXdOYW1lc3BhY2U6IGFwcFNoYXBlcyxcclxuICAgICAgICAgICAgZGVmYXVsdExpbms6IDx1bmtub3duPm5ldyBhcHBTaGFwZXMuYXBwLkxpbmsoKSxcclxuICAgICAgICAgICAgZGVmYXVsdENvbm5lY3Rpb25Qb2ludDogYXBwU2hhcGVzLmFwcC5MaW5rLmNvbm5lY3Rpb25Qb2ludCxcclxuICAgICAgICAgICAgaW50ZXJhY3RpdmU6IHsgbGlua01vdmU6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgIGFzeW5jOiB0cnVlLFxyXG4gICAgICAgICAgICBzb3J0aW5nOiBqb2ludC5kaWEuUGFwZXIuc29ydGluZy5BUFBST1hcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcGFwZXIub24oJ2JsYW5rOm1vdXNld2hlZWwnLCBfLnBhcnRpYWwodGhpcy5vbk1vdXNld2hlZWwsIG51bGwpLCB0aGlzKTtcclxuICAgICAgICBwYXBlci5vbignY2VsbDptb3VzZXdoZWVsJywgdGhpcy5vbk1vdXNld2hlZWwuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgICAgIHRoaXMuc25hcGxpbmVzID0gbmV3IGpvaW50LnVpLlNuYXBsaW5lcyh7IHBhcGVyOiBwYXBlciB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFwZXJTY3JvbGxlciA9IHRoaXMucGFwZXJTY3JvbGxlciA9IG5ldyBqb2ludC51aS5QYXBlclNjcm9sbGVyKHtcclxuICAgICAgICAgICAgcGFwZXIsXHJcbiAgICAgICAgICAgIGF1dG9SZXNpemVQYXBlcjogdHJ1ZSxcclxuICAgICAgICAgICAgc2Nyb2xsV2hpbGVEcmFnZ2luZzogdHJ1ZSxcclxuICAgICAgICAgICAgY3Vyc29yOiAnZ3JhYidcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yZW5kZXJQbHVnaW4oJy5wYXBlci1jb250YWluZXInLCBwYXBlclNjcm9sbGVyKTtcclxuICAgICAgICBwYXBlclNjcm9sbGVyLnJlbmRlcigpLmNlbnRlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemVTdGVuY2lsKCkge1xyXG5cclxuICAgICAgICB0aGlzLnN0ZW5jaWwgPSBuZXcgam9pbnQudWkuU3RlbmNpbCh7XHJcbiAgICAgICAgICAgIHBhcGVyOiB0aGlzLnBhcGVyU2Nyb2xsZXIsXHJcbiAgICAgICAgICAgIHNuYXBsaW5lczogdGhpcy5zbmFwbGluZXMsXHJcbiAgICAgICAgICAgIHdpZHRoOiAyNDAsXHJcbiAgICAgICAgICAgIGdyb3VwczogU3RlbmNpbEZ1bmN0aW9uLmdldFN0ZW5jaWxHcm91cHMoKSxcclxuICAgICAgICAgICAgZHJvcEFuaW1hdGlvbjogdHJ1ZSxcclxuICAgICAgICAgICAgZ3JvdXBzVG9nZ2xlQnV0dG9uczogdHJ1ZSxcclxuICAgICAgICAgICAgcGFwZXJPcHRpb25zOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiBuZXcgam9pbnQuZGlhLkdyYXBoKHt9LCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxOYW1lc3BhY2U6IGFwcFNoYXBlc1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIGNlbGxWaWV3TmFtZXNwYWNlOiBhcHBTaGFwZXNcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNlYXJjaDoge1xyXG4gICAgICAgICAgICAgICAgJyonOiBbJ3R5cGUnLCAnYXR0cnMvdGV4dC90ZXh0JywgJ2F0dHJzL3Jvb3QvZGF0YVRvb2x0aXAnLCAnYXR0cnMvbGFiZWwvdGV4dCddLFxyXG4gICAgICAgICAgICAgICAgJ29yZy5NZW1iZXInOiBbJ2F0dHJzLy5yYW5rL3RleHQnLCAnYXR0cnMvcm9vdC9kYXRhVG9vbHRpcCcsICdhdHRycy8ubmFtZS90ZXh0J11cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy8gVXNlIGRlZmF1bHQgR3JpZCBMYXlvdXRcclxuICAgICAgICAgICAgbGF5b3V0OiB0cnVlLFxyXG4gICAgICAgICAgICAvLyBSZW1vdmUgdG9vbHRpcCBkZWZpbml0aW9uIGZyb20gY2xvbmVcclxuICAgICAgICAgICAgZHJhZ1N0YXJ0Q2xvbmU6IChjZWxsOiBhbnkpID0+IGNlbGwuY2xvbmUoKS5yZW1vdmVBdHRyKCdyb290L2RhdGFUb29sdGlwJylcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnJlbmRlclBsdWdpbignLnN0ZW5jaWwtY29udGFpbmVyJywgdGhpcy5zdGVuY2lsKTtcclxuICAgICAgICB0aGlzLnN0ZW5jaWwubG9hZChTdGVuY2lsRnVuY3Rpb24uZ2V0U3RlbmNpbFNoYXBlcyh0aGlzLkxBTkcpKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXplU2VsZWN0aW9uKCkge1xyXG5cclxuICAgICAgICB0aGlzLmNsaXBib2FyZCA9IG5ldyBqb2ludC51aS5DbGlwYm9hcmQoKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IG5ldyBqb2ludC51aS5TZWxlY3Rpb24oeyBwYXBlcjogdGhpcy5wYXBlciwgdXNlTW9kZWxHZW9tZXRyeTogdHJ1ZSB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLm9uKCdyZXNldCBhZGQgcmVtb3ZlJywgdGhpcy5vblNlbGVjdGlvbkNoYW5nZS5iaW5kKHRoaXMpKTtcclxuXHJcbiAgICAgICAgY29uc3Qga2V5Ym9hcmQgPSB0aGlzLmtleWJvYXJkU2VydmljZS5rZXlib2FyZDtcclxuXHJcbiAgICAgICAgLy8gSW5pdGlhdGUgc2VsZWN0aW5nIHdoZW4gdGhlIHVzZXIgZ3JhYnMgdGhlIGJsYW5rIGFyZWEgb2YgdGhlIHBhcGVyIHdoaWxlIHRoZSBTaGlmdCBrZXkgaXMgcHJlc3NlZC5cclxuICAgICAgICAvLyBPdGhlcndpc2UsIGluaXRpYXRlIHBhcGVyIHBhbi5cclxuICAgICAgICB0aGlzLnBhcGVyLm9uKCdibGFuazpwb2ludGVyZG93bicsIChldnQ6IGFueSwgeDogbnVtYmVyLCB5OiBudW1iZXIpID0+IHtcclxuXHJcbiAgICAgICAgICAgIGlmIChrZXlib2FyZC5pc0FjdGl2ZSgnc2hpZnQnLCBldnQpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zdGFydFNlbGVjdGluZyhldnQpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uY29sbGVjdGlvbi5yZXNldChbXSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcGVyU2Nyb2xsZXIuc3RhcnRQYW5uaW5nKGV2dCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBhcGVyLnJlbW92ZVRvb2xzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlci5vbignZWxlbWVudDpwb2ludGVyZG93bicsIChlbGVtZW50VmlldzogYW55LCBldnQ6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgLy8gU2VsZWN0IGFuIGVsZW1lbnQgaWYgQ1RSTC9NZXRhIGtleSBpcyBwcmVzc2VkIHdoaWxlIHRoZSBlbGVtZW50IGlzIGNsaWNrZWQuXHJcbiAgICAgICAgICAgIGlmIChrZXlib2FyZC5pc0FjdGl2ZSgnY3RybCBtZXRhJywgZXZ0KSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0aW9uLmNvbGxlY3Rpb24uZmluZChmdW5jdGlvbiAoY2VsbCkgeyByZXR1cm4gY2VsbC5pc0xpbmsoKSB9KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIERvIG5vdCBhbGxvdyBtaXhpbmcgbGlua3MgYW5kIGVsZW1lbnRzIGluIHRoZSBzZWxlY3Rpb25cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLnJlc2V0KFtlbGVtZW50Vmlldy5tb2RlbF0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLmFkZChlbGVtZW50Vmlldy5tb2RlbCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLm9uKCdzZWxlY3Rpb24tYm94OnBvaW50ZXJkb3duJywgKGVsZW1lbnRWaWV3OiBhbnksIGV2dDogYW55KSA9PiB7XHJcblxyXG4gICAgICAgICAgICAvLyBVbnNlbGVjdCBhbiBlbGVtZW50IGlmIHRoZSBDVFJML01ldGEga2V5IGlzIHByZXNzZWQgd2hpbGUgYSBzZWxlY3RlZCBlbGVtZW50IGlzIGNsaWNrZWQuXHJcbiAgICAgICAgICAgIGlmIChrZXlib2FyZC5pc0FjdGl2ZSgnY3RybCBtZXRhJywgZXZ0KSkge1xyXG4gICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLnJlbW92ZShlbGVtZW50Vmlldy5tb2RlbCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZ2V0SW1hZ2VDb250ZW50KCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucGFwZXIudG9QTkcoKGltYWdlRGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShpbWFnZURhdGEpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRKc29uQ29udGVudCgpIHtcclxuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5ncmFwaC50b0pTT04oKSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3Rpb25DaGFuZ2UoKSB7XHJcbiAgICAgICAgY29uc3QgeyBwYXBlciwgc2VsZWN0aW9uIH0gPSB0aGlzO1xyXG4gICAgICAgIGNvbnN0IHsgY29sbGVjdGlvbiB9ID0gc2VsZWN0aW9uO1xyXG4gICAgICAgIHBhcGVyLnJlbW92ZVRvb2xzKCk7XHJcbiAgICAgICAgam9pbnQudWkuSGFsby5jbGVhcihwYXBlcik7XHJcbiAgICAgICAgam9pbnQudWkuRnJlZVRyYW5zZm9ybS5jbGVhcihwYXBlcik7XHJcbiAgICAgICAgam9pbnQudWkuSW5zcGVjdG9yLmNsb3NlKCk7XHJcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24ubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByaW1hcnlDZWxsOiBhbnkgPSBjb2xsZWN0aW9uLmZpcnN0KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHByaW1hcnlDZWxsVmlldyA9IHBhcGVyLnJlcXVpcmVWaWV3KHByaW1hcnlDZWxsKTtcclxuICAgICAgICAgICAgc2VsZWN0aW9uLmRlc3Ryb3lTZWxlY3Rpb25Cb3gocHJpbWFyeUNlbGwpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdFByaW1hcnlDZWxsKHByaW1hcnlDZWxsVmlldyk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChjb2xsZWN0aW9uLmxlbmd0aCA9PT0gMikge1xyXG4gICAgICAgICAgICBjb2xsZWN0aW9uLmVhY2goZnVuY3Rpb24gKGNlbGw6IGFueSkge1xyXG4gICAgICAgICAgICAgICAgc2VsZWN0aW9uLmNyZWF0ZVNlbGVjdGlvbkJveChjZWxsKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFByaW1hcnlDZWxsKGNlbGxWaWV3OiBhbnkpIHtcclxuICAgICAgICBjb25zdCBjZWxsID0gY2VsbFZpZXcubW9kZWw7XHJcbiAgICAgICAgaWYgKGNlbGwuaXNFbGVtZW50KCkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RQcmltYXJ5RWxlbWVudChjZWxsVmlldyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RQcmltYXJ5TGluayhjZWxsVmlldyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGpvaW50LnVpLkluc3BlY3Rvci5jcmVhdGUoJy5pbnNwZWN0b3ItY29udGFpbmVyJywgXy5leHRlbmQoe1xyXG4gICAgICAgICAgICBjZWxsOiBjZWxsXHJcbiAgICAgICAgfSwgSW5zcGVjdG9yRnVuY3Rpb24uZ2V0SW5zcGVjdG9yQ29uZmlndXJhdGlvbih0aGlzLkxBTkcpW2NlbGwuZ2V0KCd0eXBlJyldKSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0UHJpbWFyeUVsZW1lbnQoZWxlbWVudFZpZXc6IGFueSkge1xyXG5cclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudFZpZXcubW9kZWw7XHJcblxyXG4gICAgICAgIG5ldyBqb2ludC51aS5GcmVlVHJhbnNmb3JtKHtcclxuICAgICAgICAgICAgY2VsbFZpZXc6IGVsZW1lbnRWaWV3LFxyXG4gICAgICAgICAgICBhbGxvd1JvdGF0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbzogISFlbGVtZW50LmdldCgncHJlc2VydmVBc3BlY3RSYXRpbycpLFxyXG4gICAgICAgICAgICBhbGxvd09ydGhvZ29uYWxSZXNpemU6IGVsZW1lbnQuZ2V0KCdhbGxvd09ydGhvZ29uYWxSZXNpemUnKSAhPT0gZmFsc2VcclxuICAgICAgICB9KS5yZW5kZXIoKTtcclxuXHJcbiAgICAgICAgbmV3IGpvaW50LnVpLkhhbG8oe1xyXG4gICAgICAgICAgICBjZWxsVmlldzogZWxlbWVudFZpZXcsXHJcbiAgICAgICAgICAgIGhhbmRsZXM6IEhhbG9GdW5jdGlvbi5nZXRIYWxvQ29uZmlndXJhdGlvbih0aGlzLkxBTkcpLFxyXG4gICAgICAgICAgICB1c2VNb2RlbEdlb21ldHJ5OiB0cnVlXHJcbiAgICAgICAgfSkucmVuZGVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0UHJpbWFyeUxpbmsobGlua1ZpZXc6IGFueSkge1xyXG5cclxuICAgICAgICBjb25zdCBucyA9IGpvaW50LmxpbmtUb29scztcclxuICAgICAgICBjb25zdCB0b29sc1ZpZXcgPSBuZXcgam9pbnQuZGlhLlRvb2xzVmlldyh7XHJcbiAgICAgICAgICAgIG5hbWU6ICdsaW5rLXBvaW50ZXJkb3duJyxcclxuICAgICAgICAgICAgdG9vbHM6IFtcclxuICAgICAgICAgICAgICAgIG5ldyBucy5WZXJ0aWNlcygpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlNvdXJjZUFuY2hvcigpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlRhcmdldEFuY2hvcigpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlNvdXJjZUFycm93aGVhZCgpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlRhcmdldEFycm93aGVhZCgpLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLlNlZ21lbnRzLFxyXG4gICAgICAgICAgICAgICAgbmV3IG5zLkJvdW5kYXJ5KHsgcGFkZGluZzogMTUgfSksXHJcbiAgICAgICAgICAgICAgICBuZXcgbnMuUmVtb3ZlKHsgb2Zmc2V0OiAtMjAsIGRpc3RhbmNlOiA0MCB9KVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGxpbmtWaWV3LmFkZFRvb2xzKHRvb2xzVmlldyk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZVRvb2xzQW5kSW5zcGVjdG9yKCkge1xyXG5cclxuICAgICAgICB0aGlzLnBhcGVyLm9uKCdjZWxsOnBvaW50ZXJ1cCcsIChjZWxsVmlldzogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNlbGwgPSBjZWxsVmlldy5tb2RlbDtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2xsZWN0aW9uIH0gPSB0aGlzLnNlbGVjdGlvbjtcclxuICAgICAgICAgICAgaWYgKGNvbGxlY3Rpb24uaW5jbHVkZXMoY2VsbCkpIHsgcmV0dXJuOyB9XHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb24ucmVzZXQoW2NlbGxdKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlci5vbignbGluazptb3VzZWVudGVyJywgKGxpbmtWaWV3OiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIE9wZW4gdG9vbCBvbmx5IGlmIHRoZXJlIGlzIG5vbmUgeWV0XHJcbiAgICAgICAgICAgIGlmIChsaW5rVmlldy5oYXNUb29scygpKSB7IHJldHVybjsgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgbnMgPSBqb2ludC5saW5rVG9vbHM7XHJcbiAgICAgICAgICAgIGNvbnN0IHRvb2xzVmlldyA9IG5ldyBqb2ludC5kaWEuVG9vbHNWaWV3KHtcclxuICAgICAgICAgICAgICAgIG5hbWU6ICdsaW5rLWhvdmVyJyxcclxuICAgICAgICAgICAgICAgIHRvb2xzOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IG5zLlZlcnRpY2VzKHsgdmVydGV4QWRkaW5nOiBmYWxzZSB9KSxcclxuICAgICAgICAgICAgICAgICAgICBuZXcgbnMuU291cmNlQXJyb3doZWFkKCksXHJcbiAgICAgICAgICAgICAgICAgICAgbmV3IG5zLlRhcmdldEFycm93aGVhZCgpXHJcbiAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgbGlua1ZpZXcuYWRkVG9vbHModG9vbHNWaWV3KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlci5vbignbGluazptb3VzZWxlYXZlJywgKGxpbmtWaWV3OiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgIC8vIFJlbW92ZSBvbmx5IHRoZSBob3ZlciB0b29sLCBub3QgdGhlIHBvaW50ZXJkb3duIHRvb2xcclxuICAgICAgICAgICAgaWYgKGxpbmtWaWV3Lmhhc1Rvb2xzKCdsaW5rLWhvdmVyJykpIHtcclxuICAgICAgICAgICAgICAgIGxpbmtWaWV3LnJlbW92ZVRvb2xzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5ncmFwaC5vbignY2hhbmdlJywgKGNlbGw6IGFueSwgb3B0OiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAgIGlmICghY2VsbC5pc0xpbmsoKSB8fCAhb3B0Lmluc3BlY3RvcikgeyByZXR1cm47IH1cclxuXHJcbiAgICAgICAgICAgIGNvbnN0IG5zID0gam9pbnQubGlua1Rvb2xzO1xyXG4gICAgICAgICAgICBjb25zdCB0b29sc1ZpZXcgPSBuZXcgam9pbnQuZGlhLlRvb2xzVmlldyh7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnbGluay1pbnNwZWN0ZWQnLFxyXG4gICAgICAgICAgICAgICAgdG9vbHM6IFtcclxuICAgICAgICAgICAgICAgICAgICBuZXcgbnMuQm91bmRhcnkoeyBwYWRkaW5nOiAxNSB9KSxcclxuICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBjZWxsLmZpbmRWaWV3KHRoaXMucGFwZXIpLmFkZFRvb2xzKHRvb2xzVmlldyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZU5hdmlnYXRvcigpIHtcclxuXHJcbiAgICAgICAgY29uc3QgbmF2aWdhdG9yID0gdGhpcy5uYXZpZ2F0b3IgPSBuZXcgam9pbnQudWkuTmF2aWdhdG9yKHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0MCxcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMTUsXHJcbiAgICAgICAgICAgIHBhcGVyU2Nyb2xsZXI6IHRoaXMucGFwZXJTY3JvbGxlcixcclxuICAgICAgICAgICAgem9vbTogZmFsc2UsXHJcbiAgICAgICAgICAgIHBhcGVyT3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgYXN5bmM6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBzb3J0aW5nOiBqb2ludC5kaWEuUGFwZXIuc29ydGluZy5OT05FLFxyXG4gICAgICAgICAgICAgICAgZWxlbWVudFZpZXc6IGFwcFNoYXBlcy5OYXZpZ2F0b3JFbGVtZW50VmlldyxcclxuICAgICAgICAgICAgICAgIGxpbmtWaWV3OiBhcHBTaGFwZXMuTmF2aWdhdG9yTGlua1ZpZXcsXHJcbiAgICAgICAgICAgICAgICBjZWxsVmlld05hbWVzcGFjZTogeyAvKiBubyBvdGhlciB2aWV3cyBhcmUgYWNjZXNzaWJsZSBpbiB0aGUgbmF2aWdhdG9yICovIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlclBsdWdpbignLm5hdmlnYXRvci1jb250YWluZXInLCBuYXZpZ2F0b3IpO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRpYWxpemVUb29sYmFyKCkge1xyXG4gICAgICAgIGNvbnN0IHsgZ3JvdXBzLCB0b29scyB9ID0gVG9vbGJhcnRGdW5jdGlvbi5nZXRUb29sYmFyQ29uZmlndXJhdGlvbih0aGlzLkxBTkcpO1xyXG4gICAgICAgIHRoaXMudG9vbGJhciA9IG5ldyBqb2ludC51aS5Ub29sYmFyKHtcclxuICAgICAgICAgICAgZ3JvdXBzLFxyXG4gICAgICAgICAgICB0b29scyxcclxuICAgICAgICAgICAgYXV0b1RvZ2dsZTogdHJ1ZSxcclxuICAgICAgICAgICAgcmVmZXJlbmNlczoge1xyXG4gICAgICAgICAgICAgICAgcGFwZXJTY3JvbGxlcjogdGhpcy5wYXBlclNjcm9sbGVyLFxyXG4gICAgICAgICAgICAgICAgY29tbWFuZE1hbmFnZXI6IHRoaXMuY29tbWFuZE1hbmFnZXJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudG9vbGJhci5vbih7XHJcbiAgICAgICAgICAgICdzdmc6cG9pbnRlcmNsaWNrJzogdGhpcy5vcGVuQXNTVkcuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgJ3BuZzpwb2ludGVyY2xpY2snOiB0aGlzLm9wZW5Bc1BORy5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAndG8tZnJvbnQ6cG9pbnRlcmNsaWNrJzogdGhpcy5hcHBseU9uU2VsZWN0aW9uLmJpbmQodGhpcywgJ3RvRnJvbnQnKSxcclxuICAgICAgICAgICAgJ3RvLWJhY2s6cG9pbnRlcmNsaWNrJzogdGhpcy5hcHBseU9uU2VsZWN0aW9uLmJpbmQodGhpcywgJ3RvQmFjaycpLFxyXG4gICAgICAgICAgICAnbGF5b3V0OnBvaW50ZXJjbGljayc6IHRoaXMubGF5b3V0RGlyZWN0ZWRHcmFwaC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAnc25hcGxpbmU6Y2hhbmdlJzogdGhpcy5jaGFuZ2VTbmFwTGluZXMuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgJ2NsZWFyOnBvaW50ZXJjbGljayc6IHRoaXMuZ3JhcGguY2xlYXIuYmluZCh0aGlzLmdyYXBoKSxcclxuICAgICAgICAgICAgJ3ByaW50OnBvaW50ZXJjbGljayc6IHRoaXMucGFwZXIucHJpbnQuYmluZCh0aGlzLnBhcGVyKSxcclxuICAgICAgICAgICAgJ2dyaWQtc2l6ZTpjaGFuZ2UnOiB0aGlzLnBhcGVyLnNldEdyaWRTaXplLmJpbmQodGhpcy5wYXBlciksXHJcbiAgICAgICAgICAgICdzZWxlY3RUZW1wbGF0ZTpvcHRpb246c2VsZWN0JzogdGhpcy5vbkNoYW5nZVRlbXBsYXRlLFxyXG4gICAgICAgICAgICAnZGVsZXRlVGVtcGxhdGU6cG9pbnRlcmNsaWNrJzogdGhpcy5vbkRlbGV0ZVRlbXBsYXRlLFxyXG4gICAgICAgICAgICAnc2F2ZUFzVGVtcGxhdGU6cG9pbnRlcmNsaWNrJzogdGhpcy5vblNhdmVBc1RlbXBsYXRlLFxyXG4gICAgICAgICAgICAncmVzZXRUZW1wbGF0ZTpwb2ludGVyY2xpY2snOiB0aGlzLm9uUmVzZXRUZW1wbGF0ZSxcclxuICAgICAgICAgICAgJ2Z1bGxzY3JlZW46cG9pbnRlcmNsaWNrJzogdGhpcy50b2dnbGVGdWxsc2NyZWVuLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJlbmRlclBsdWdpbignLnRvb2xiYXItY29udGFpbmVyJywgdGhpcy50b29sYmFyKTtcclxuICAgIH1cclxuXHJcbiAgICBhcHBseU9uU2VsZWN0aW9uKG1ldGhvZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5ncmFwaC5zdGFydEJhdGNoKCdzZWxlY3Rpb24nKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb2xsZWN0aW9uLm1vZGVscy5mb3JFYWNoKGZ1bmN0aW9uIChtb2RlbDogYW55KSB7IG1vZGVsW21ldGhvZF0oKTsgfSk7XHJcbiAgICAgICAgdGhpcy5ncmFwaC5zdG9wQmF0Y2goJ3NlbGVjdGlvbicpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoYW5nZVNuYXBMaW5lcyhjaGVja2VkOiBib29sZWFuKSB7XHJcblxyXG4gICAgICAgIGlmIChjaGVja2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hcGxpbmVzLnN0YXJ0TGlzdGVuaW5nKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RlbmNpbC5vcHRpb25zLnNuYXBsaW5lcyA9IHRoaXMuc25hcGxpbmVzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc25hcGxpbmVzLnN0b3BMaXN0ZW5pbmcoKTtcclxuICAgICAgICAgICAgdGhpcy5zdGVuY2lsLm9wdGlvbnMuc25hcGxpbmVzID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZUtleWJvYXJkU2hvcnRjdXRzKCkge1xyXG5cclxuICAgICAgICB0aGlzLmtleWJvYXJkU2VydmljZS5jcmVhdGUoXHJcbiAgICAgICAgICAgIHRoaXMuZ3JhcGgsIHRoaXMuY2xpcGJvYXJkLCB0aGlzLnNlbGVjdGlvbiwgdGhpcy5wYXBlclNjcm9sbGVyLCB0aGlzLmNvbW1hbmRNYW5hZ2VyKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0aWFsaXplVG9vbHRpcHMoKTogYW55IHtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBqb2ludC51aS5Ub29sdGlwKHtcclxuICAgICAgICAgICAgcm9vdFRhcmdldDogZG9jdW1lbnQuYm9keSxcclxuICAgICAgICAgICAgdGFyZ2V0OiAnW2RhdGEtdG9vbHRpcF0nLFxyXG4gICAgICAgICAgICBkaXJlY3Rpb246IGpvaW50LnVpLlRvb2x0aXAuVG9vbHRpcEFycm93UG9zaXRpb24uQXV0byxcclxuICAgICAgICAgICAgcGFkZGluZzogMTBcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3Igb2xkZXIgc2hhcGVzXHJcbiAgICBleHBvcnRTdHlsZXNoZWV0ID0gJy5zY2FsYWJsZSAqIHsgdmVjdG9yLWVmZmVjdDogbm9uLXNjYWxpbmctc3Ryb2tlIH0nO1xyXG5cclxuICAgIHRvZ2dsZUZ1bGxzY3JlZW4oKSB7XHJcbiAgICAgICAgdGhpcy5pc0Z1bGxzY3JlZW4gPSAhdGhpcy5pc0Z1bGxzY3JlZW47XHJcbiAgICAgICAgbGV0IGNka092ZXJsYXlQYW5lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgW2lkKj1cImNkay1vdmVybGF5LVwiXWApWzBdO1xyXG4gICAgICAgIGlmICghY2RrT3ZlcmxheVBhbmUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICBpZiAodGhpcy5pc0Z1bGxzY3JlZW4pIHtcclxuICAgICAgICAgICAgY2RrT3ZlcmxheVBhbmUuY2xhc3NMaXN0LmFkZCgnZnVsbC1zY3JlZW4tY2tlZGl0b3ItZmxvd2NoYXJ0X2Nkay1vdmVybGF5LXBhbmUnKTtcclxuICAgICAgICAgICAgY2RrT3ZlcmxheVBhbmUucXVlcnlTZWxlY3RvcignI3N0ZW5jaWxwYW5lbCcpPy5jbGFzc0xpc3QuYWRkKCdmdWxsLWhlaWdodC1ja2VkaXRvci1mbG93Y2hhcnRfY29udGFpbmVyJyk7XHJcbiAgICAgICAgICAgIGNka092ZXJsYXlQYW5lLnF1ZXJ5U2VsZWN0b3IoJyNwYXBlcnBhbmVsJyk/LmNsYXNzTGlzdC5hZGQoJ2Z1bGwtaGVpZ2h0LWNrZWRpdG9yLWZsb3djaGFydF9jb250YWluZXInKTtcclxuICAgICAgICAgICAgY2RrT3ZlcmxheVBhbmUucXVlcnlTZWxlY3RvcignI3JpZ2h0cGFuZWwnKT8uY2xhc3NMaXN0LmFkZCgnZnVsbC1oZWlnaHQtY2tlZGl0b3ItZmxvd2NoYXJ0X2NvbnRhaW5lcicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgY2RrT3ZlcmxheVBhbmUuY2xhc3NMaXN0LnJlbW92ZSgnZnVsbC1zY3JlZW4tY2tlZGl0b3ItZmxvd2NoYXJ0X2Nkay1vdmVybGF5LXBhbmUnKTtcclxuICAgICAgICAgICAgY2RrT3ZlcmxheVBhbmUucXVlcnlTZWxlY3RvcignI3N0ZW5jaWxwYW5lbCcpPy5jbGFzc0xpc3QucmVtb3ZlKCdmdWxsLWhlaWdodC1ja2VkaXRvci1mbG93Y2hhcnRfY29udGFpbmVyJyk7XHJcbiAgICAgICAgICAgIGNka092ZXJsYXlQYW5lLnF1ZXJ5U2VsZWN0b3IoJyNwYXBlcnBhbmVsJyk/LmNsYXNzTGlzdC5yZW1vdmUoJ2Z1bGwtaGVpZ2h0LWNrZWRpdG9yLWZsb3djaGFydF9jb250YWluZXInKTtcclxuICAgICAgICAgICAgY2RrT3ZlcmxheVBhbmUucXVlcnlTZWxlY3RvcignI3JpZ2h0cGFuZWwnKT8uY2xhc3NMaXN0LnJlbW92ZSgnZnVsbC1oZWlnaHQtY2tlZGl0b3ItZmxvd2NoYXJ0X2NvbnRhaW5lcicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvcGVuQXNTVkcoKSB7XHJcblxyXG4gICAgICAgIHRoaXMucGFwZXIuaGlkZVRvb2xzKCkudG9TVkcoKHN2Zzogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIG5ldyBqb2ludC51aS5MaWdodGJveCh7XHJcbiAgICAgICAgICAgICAgICBpbWFnZTogJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwnICsgZW5jb2RlVVJJQ29tcG9uZW50KHN2ZyksXHJcbiAgICAgICAgICAgICAgICBkb3dubG9hZGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBmaWxlTmFtZTogJ1JhcHBpZCdcclxuICAgICAgICAgICAgfSkub3BlbigpO1xyXG4gICAgICAgICAgICB0aGlzLnBhcGVyLnNob3dUb29scygpO1xyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgcHJlc2VydmVEaW1lbnNpb25zOiB0cnVlLFxyXG4gICAgICAgICAgICBjb252ZXJ0SW1hZ2VzVG9EYXRhVXJpczogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlQ29tcHV0ZWRTdHlsZXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBzdHlsZXNoZWV0OiB0aGlzLmV4cG9ydFN0eWxlc2hlZXRcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvcGVuQXNQTkcoKSB7XHJcblxyXG4gICAgICAgIHRoaXMucGFwZXIuaGlkZVRvb2xzKCkudG9QTkcoKGRhdGFVUkw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBuZXcgam9pbnQudWkuTGlnaHRib3goe1xyXG4gICAgICAgICAgICAgICAgaW1hZ2U6IGRhdGFVUkwsXHJcbiAgICAgICAgICAgICAgICBkb3dubG9hZGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBmaWxlTmFtZTogJ1JhcHBpZCdcclxuICAgICAgICAgICAgfSkub3BlbigpO1xyXG4gICAgICAgICAgICB0aGlzLnBhcGVyLnNob3dUb29scygpO1xyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTAsXHJcbiAgICAgICAgICAgIHVzZUNvbXB1dGVkU3R5bGVzOiBmYWxzZSxcclxuICAgICAgICAgICAgc3R5bGVzaGVldDogdGhpcy5leHBvcnRTdHlsZXNoZWV0XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25Nb3VzZXdoZWVsKGNlbGxWaWV3OiBhbnksIGV2dDogYW55LCBveDogbnVtYmVyLCBveTogbnVtYmVyLCBkZWx0YTogbnVtYmVyKSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmtleWJvYXJkU2VydmljZS5rZXlib2FyZC5pc0FjdGl2ZSgnYWx0JywgZXZ0KSkge1xyXG4gICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgdGhpcy5wYXBlclNjcm9sbGVyLnpvb20oZGVsdGEgKiAwLjIsIHsgbWluOiAwLjIsIG1heDogNSwgZ3JpZDogMC4yLCBveCwgb3kgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxheW91dERpcmVjdGVkR3JhcGgoKSB7XHJcblxyXG4gICAgICAgIGpvaW50LmxheW91dC5EaXJlY3RlZEdyYXBoLmxheW91dCh0aGlzLmdyYXBoLCB7XHJcbiAgICAgICAgICAgIGdyYXBobGliOiBkYWdyZS5ncmFwaGxpYixcclxuICAgICAgICAgICAgZGFncmU6IGRhZ3JlLFxyXG4gICAgICAgICAgICBzZXRWZXJ0aWNlczogdHJ1ZSxcclxuICAgICAgICAgICAgcmFua0RpcjogJ1RCJyxcclxuICAgICAgICAgICAgbWFyZ2luWDogMTAwLFxyXG4gICAgICAgICAgICBtYXJnaW5ZOiAxMDBcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5wYXBlclNjcm9sbGVyLmNlbnRlckNvbnRlbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW5kZXJQbHVnaW4oc2VsZWN0b3I6IHN0cmluZywgcGx1Z2luOiBhbnkpOiB2b2lkIHtcclxuXHJcbiAgICAgICAgdGhpcy5lbC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKS5hcHBlbmRDaGlsZChwbHVnaW4uZWwpO1xyXG4gICAgICAgIHBsdWdpbi5yZW5kZXIoKTtcclxuICAgIH1cclxuICAgIG9uQ2hhbmdlVGVtcGxhdGUoZXZlbnQpIHtcclxuICAgICAgICBpZiAoZXZlbnQuanNvbkNvbnRlbnQpIHtcclxuICAgICAgICAgICAgd2luZG93W0Zsb3dDaGFydENvbnN0LktTX1NFTEVDVEVEX0ZMT1dDSEFSVF9JRF0gPSBldmVudC5mbG93Q2hhcnRJZDtcclxuICAgICAgICAgICAgd2luZG93W0Zsb3dDaGFydENvbnN0LktTX1NFTEVDVEVEX0pTT05DT05URU5UXSA9IGV2ZW50Lmpzb25Db250ZW50O1xyXG4gICAgICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoRmxvd0NoYXJ0Q29uc3QuS1NfQ0hBTkdFX1RFTVBMQVRFLCAnKicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkRlbGV0ZVRlbXBsYXRlKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKHdpbmRvd1tGbG93Q2hhcnRDb25zdC5LU19JU19TRUxFQ1RFRF9URU1QTEFURV0pIHtcclxuICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKEZsb3dDaGFydENvbnN0LktTX0RFTEVURV9URU1QTEFURSwgJyonKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5wb3N0TWVzc2FnZShGbG93Q2hhcnRDb25zdC5NVVNUX1NFTEVDVF9URU1QTEFURSwgJyonKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25TYXZlQXNUZW1wbGF0ZSgpIHtcclxuICAgICAgICB3aW5kb3cucG9zdE1lc3NhZ2UoRmxvd0NoYXJ0Q29uc3QuS1NfU0FWRV9BU19URU1QTEFURSwgJyonKTtcclxuICAgIH1cclxuXHJcbiAgICBvblJlc2V0VGVtcGxhdGUoKSB7XHJcbiAgICAgICAgaWYgKHdpbmRvd1tGbG93Q2hhcnRDb25zdC5LU19JU19TRUxFQ1RFRF9URU1QTEFURV0pIHtcclxuICAgICAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKEZsb3dDaGFydENvbnN0LktTX1JFU0VUX1RFTVBMQVRFLCAnKicpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgS2l0Y2hlblNpbmtTZXJ2aWNlO1xyXG4iXX0=
@@ -29,8 +29,8 @@ function getCKEditorConfiguration(itemToolbar) {
29
29
  '|',
30
30
  'imageMap',
31
31
  '|',
32
- // 'qmsFlowchart', // disable qmsFlowchart until NK-440 done
33
- // '|',
32
+ 'qmsFlowchart',
33
+ '|',
34
34
  'qmsBpmn'
35
35
  ],
36
36
  resizeOptions: [
@@ -301,4 +301,4 @@ function generatePtSetting(size) {
301
301
  };
302
302
  }
303
303
  export default CKEditorCommonFunctions;
304
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZnVuY3Rpb25zL2NvbW1vbi5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFJLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUM5QyxJQUFJLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQztBQUV2QyxTQUFTLHdCQUF3QixDQUFDLFdBQW1CO0lBQ25ELE1BQU0sY0FBYyxHQUFHO1FBQ3JCLE9BQU8sRUFBRTtZQUNQLEtBQUssRUFBRSxFQUFFO1lBQ1QsV0FBVyxFQUFFLEVBQUU7WUFDZixpQkFBaUIsRUFBRSxFQUFFO1lBQ3JCLHNCQUFzQixFQUFFLElBQUk7U0FDN0I7UUFDRCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNMLGNBQWMsRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7U0FDekc7UUFDRCxLQUFLLEVBQUU7WUFDTCxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztZQUNsRCxPQUFPLEVBQUU7Z0JBQ1AsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsc0JBQXNCO2dCQUN0QixzQkFBc0I7Z0JBQ3RCLHdCQUF3QjtnQkFDeEIsdUJBQXVCO2dCQUN2QixHQUFHO2dCQUNILHNCQUFzQjtnQkFDdEIsR0FBRztnQkFDSCxXQUFXO2dCQUNYLEdBQUc7Z0JBQ0gsVUFBVTtnQkFDVixHQUFHO2dCQUNILDREQUE0RDtnQkFDNUQsT0FBTztnQkFDUCxTQUFTO2FBQ1Y7WUFDRCxhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsSUFBSSxFQUFFLHNCQUFzQjtvQkFDNUIsS0FBSyxF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O2dCQUNyQixpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDckIsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUNyQixpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDckIsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUNyQixpQkFBaUIsQ0FBQyxFQUFFLENBQUM7YUFDdEI7U0FDRjtLQUNGLENBQUM7SUFFRixJQUFJLFdBQVcsRUFBRTtRQUNmLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQixjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLHVCQUF1QixHQUFHO0lBQzlCLHdCQUF3QjtDQUN6QixDQUFDO0FBRUYsU0FBUyxpQkFBaUIsQ0FBQyxJQUFZO0lBQ3JDLE9BQU87UUFDTCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLEdBQUcsSUFBSSxJQUFJO2FBQ3pCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELGVBQWUsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgSUZSQU1FX1NSQyA9ICcvL2Nkbi5pZnJhbWUubHkvYXBpL2lmcmFtZSc7XHJcbnZhciBBUElfS0VZID0gJ2I0OTllOTJlODU3ZjQzNWMzOWMxNGQnO1xyXG5cclxuZnVuY3Rpb24gZ2V0Q0tFZGl0b3JDb25maWd1cmF0aW9uKGl0ZW1Ub29sYmFyOiBzdHJpbmcpIHtcclxuICBjb25zdCBja2VkaXRvckNvbmZpZyA9IHtcclxuICAgIHRvb2xiYXI6IHtcclxuICAgICAgaXRlbXM6IFtdLFxyXG4gICAgICByZW1vdmVJdGVtczogW10sXHJcbiAgICAgIHZpZXdwb3J0VG9wT2Zmc2V0OiAzMCxcclxuICAgICAgc2hvdWxkTm90R3JvdXBXaGVuRnVsbDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGxhbmd1YWdlOiAnZW4nLFxyXG4gICAgdGFibGU6IHtcclxuICAgICAgY29udGVudFRvb2xiYXI6IFsndGFibGVDb2x1bW4nLCAndGFibGVSb3cnLCAnbWVyZ2VUYWJsZUNlbGxzJywgJ3RhYmxlUHJvcGVydGllcycsICd0YWJsZUNlbGxQcm9wZXJ0aWVzJ11cclxuICAgIH0sXHJcbiAgICBpbWFnZToge1xyXG4gICAgICBzdHlsZXM6IFsnYWxpZ25MZWZ0JywgJ2FsaWduQ2VudGVyJywgJ2FsaWduUmlnaHQnXSxcclxuICAgICAgdG9vbGJhcjogW1xyXG4gICAgICAgICdpbWFnZVJlc2l6ZToyNScsXHJcbiAgICAgICAgJ2ltYWdlUmVzaXplOjUwJyxcclxuICAgICAgICAnaW1hZ2VSZXNpemU6NzUnLFxyXG4gICAgICAgICdpbWFnZVJlc2l6ZTpvcmlnaW5hbCcsXHJcbiAgICAgICAgJ2ltYWdlU3R5bGU6YWxpZ25MZWZ0JyxcclxuICAgICAgICAnaW1hZ2VTdHlsZTphbGlnbkNlbnRlcicsXHJcbiAgICAgICAgJ2ltYWdlU3R5bGU6YWxpZ25SaWdodCcsXHJcbiAgICAgICAgJ3wnLFxyXG4gICAgICAgICdpbWFnZVRleHRBbHRlcm5hdGl2ZScsXHJcbiAgICAgICAgJ3wnLFxyXG4gICAgICAgICdsaW5rSW1hZ2UnLFxyXG4gICAgICAgICd8JyxcclxuICAgICAgICAnaW1hZ2VNYXAnLFxyXG4gICAgICAgICd8JyxcclxuICAgICAgICAvLyAncW1zRmxvd2NoYXJ0JywgLy8gZGlzYWJsZSBxbXNGbG93Y2hhcnQgdW50aWwgTkstNDQwIGRvbmVcclxuICAgICAgICAvLyAnfCcsXHJcbiAgICAgICAgJ3Ftc0JwbW4nXHJcbiAgICAgIF0sXHJcbiAgICAgIHJlc2l6ZU9wdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnaW1hZ2VSZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICBsYWJlbDogJ09yaWdpbmFsJyxcclxuICAgICAgICAgIGljb246ICdvcmlnaW5hbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdpbWFnZVJlc2l6ZToyNScsXHJcbiAgICAgICAgICB2YWx1ZTogMjUsXHJcbiAgICAgICAgICBsYWJlbDogJzI1JScsXHJcbiAgICAgICAgICBpY29uOiAnc21hbGwnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnaW1hZ2VSZXNpemU6NTAnLFxyXG4gICAgICAgICAgdmFsdWU6IDUwLFxyXG4gICAgICAgICAgbGFiZWw6ICc1MCUnLFxyXG4gICAgICAgICAgaWNvbjogJ21lZGl1bSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdpbWFnZVJlc2l6ZTo3NScsXHJcbiAgICAgICAgICB2YWx1ZTogNzUsXHJcbiAgICAgICAgICBsYWJlbDogJzc1JScsXHJcbiAgICAgICAgICBpY29uOiAnbWVkaXVtJ1xyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgIHZpZGVvOiB7XHJcbiAgICAgIHN0eWxlczogWydhbGlnbkxlZnQnLCAnYWxpZ25DZW50ZXInLCAnYWxpZ25SaWdodCddLFxyXG4gICAgICByZXNpemVVbml0OiAnJScsXHJcbiAgICAgIHRvb2xiYXI6IFtcclxuICAgICAgICAndmlkZW9SZXNpemUnLFxyXG4gICAgICAgICd8JyxcclxuICAgICAgICAndmlkZW9SZXNpemU6MjUnLFxyXG4gICAgICAgICd2aWRlb1Jlc2l6ZTo1MCcsXHJcbiAgICAgICAgJ3ZpZGVvUmVzaXplOjc1JyxcclxuICAgICAgICAndmlkZW9SZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICd2aWRlb1N0eWxlOmFsaWduTGVmdCcsXHJcbiAgICAgICAgJ3ZpZGVvU3R5bGU6YWxpZ25DZW50ZXInLFxyXG4gICAgICAgICd2aWRlb1N0eWxlOmFsaWduUmlnaHQnXHJcbiAgICAgIF0sXHJcbiAgICAgIHJlc2l6ZU9wdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAndmlkZW9SZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICBsYWJlbDogJ09yaWdpbmFsJyxcclxuICAgICAgICAgIGljb246ICdvcmlnaW5hbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICd2aWRlb1Jlc2l6ZToyNScsXHJcbiAgICAgICAgICB2YWx1ZTogMjUsXHJcbiAgICAgICAgICBsYWJlbDogJzI1JScsXHJcbiAgICAgICAgICBpY29uOiAnc21hbGwnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAndmlkZW9SZXNpemU6NTAnLFxyXG4gICAgICAgICAgdmFsdWU6IDUwLFxyXG4gICAgICAgICAgbGFiZWw6ICc1MCUnLFxyXG4gICAgICAgICAgaWNvbjogJ21lZGl1bSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICd2aWRlb1Jlc2l6ZTo3NScsXHJcbiAgICAgICAgICB2YWx1ZTogNzUsXHJcbiAgICAgICAgICBsYWJlbDogJzc1JScsXHJcbiAgICAgICAgICBpY29uOiAnbGFyZ2UnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgbWVkaWE6IHtcclxuICAgICAgc3R5bGVzOiBbJ2FsaWduTGVmdCcsICdhbGlnbkNlbnRlcicsICdhbGlnblJpZ2h0J10sXHJcbiAgICAgIHJlc2l6ZVVuaXQ6ICclJyxcclxuICAgICAgdG9vbGJhcjogW1xyXG4gICAgICAgICdtZWRpYVJlc2l6ZScsXHJcbiAgICAgICAgJ3wnLFxyXG4gICAgICAgICdtZWRpYVJlc2l6ZToyNScsXHJcbiAgICAgICAgJ21lZGlhUmVzaXplOjUwJyxcclxuICAgICAgICAnbWVkaWFSZXNpemU6NzUnLFxyXG4gICAgICAgICdtZWRpYVJlc2l6ZTpvcmlnaW5hbCcsXHJcbiAgICAgICAgJ21lZGlhU3R5bGU6YWxpZ25MZWZ0JyxcclxuICAgICAgICAnbWVkaWFTdHlsZTphbGlnbkNlbnRlcicsXHJcbiAgICAgICAgJ21lZGlhU3R5bGU6YWxpZ25SaWdodCdcclxuICAgICAgXSxcclxuICAgICAgcmVzaXplT3B0aW9uczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdtZWRpYVJlc2l6ZTpvcmlnaW5hbCcsXHJcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgICAgIGxhYmVsOiAnT3JpZ2luYWwnLFxyXG4gICAgICAgICAgaWNvbjogJ29yaWdpbmFsJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ21lZGlhUmVzaXplOjI1JyxcclxuICAgICAgICAgIHZhbHVlOiAyNSxcclxuICAgICAgICAgIGxhYmVsOiAnMjUlJyxcclxuICAgICAgICAgIGljb246ICdzbWFsbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdtZWRpYVJlc2l6ZTo1MCcsXHJcbiAgICAgICAgICB2YWx1ZTogNTAsXHJcbiAgICAgICAgICBsYWJlbDogJzUwJScsXHJcbiAgICAgICAgICBpY29uOiAnbWVkaXVtJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ21lZGlhUmVzaXplOjc1JyxcclxuICAgICAgICAgIHZhbHVlOiA3NSxcclxuICAgICAgICAgIGxhYmVsOiAnNzUlJyxcclxuICAgICAgICAgIGljb246ICdsYXJnZSdcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICAvLyBDb25maWd1cmUgJ21lZGlhRW1iZWQnIHdpdGggSWZyYW1lbHkgcHJldmlld3MuXHJcbiAgICBtZWRpYUVtYmVkOiB7XHJcbiAgICAgIC8vIFByZXZpZXdzIGFyZSBhbHdheXMgZW5hYmxlZCBpZiB0aGVyZeKAmXMgYSBwcm92aWRlciBmb3IgYSBVUkwgKGJlbG93IHJlZ2V4IGNhdGNoZXMgYWxsIFVSTHMpXHJcbiAgICAgIC8vIEJ5IGRlZmF1bHQgYHByZXZpZXdzSW5EYXRhYCBhcmUgZGlzYWJsZWQsIGJ1dCBsZXTigJlzIHNldCBpdCB0byBgZmFsc2VgIGV4cGxpY2l0ZWx5IHRvIGJlIHN1cmVcclxuICAgICAgcHJldmlld3NJbkRhdGE6IHRydWUsXHJcbiAgICAgIHN0eWxlczogWydhbGlnbkxlZnQnLCAnYWxpZ25DZW50ZXInLCAnYWxpZ25SaWdodCddLFxyXG4gICAgICByZXNpemVVbml0OiAnJScsXHJcbiAgICAgIHRvb2xiYXI6IFtcclxuICAgICAgICAnbWVkaWFSZXNpemUnLFxyXG4gICAgICAgICd8JyxcclxuICAgICAgICAnbWVkaWFSZXNpemU6MjUnLFxyXG4gICAgICAgICdtZWRpYVJlc2l6ZTo1MCcsXHJcbiAgICAgICAgJ21lZGlhUmVzaXplOjc1JyxcclxuICAgICAgICAnbWVkaWFSZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICdtZWRpYVN0eWxlOmFsaWduTGVmdCcsXHJcbiAgICAgICAgJ21lZGlhU3R5bGU6YWxpZ25DZW50ZXInLFxyXG4gICAgICAgICdtZWRpYVN0eWxlOmFsaWduUmlnaHQnXHJcbiAgICAgIF0sXHJcbiAgICAgIHJlc2l6ZU9wdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnbWVkaWFSZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICBsYWJlbDogJ09yaWdpbmFsJyxcclxuICAgICAgICAgIGljb246ICdvcmlnaW5hbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdtZWRpYVJlc2l6ZToyNScsXHJcbiAgICAgICAgICB2YWx1ZTogMjUsXHJcbiAgICAgICAgICBsYWJlbDogJzI1JScsXHJcbiAgICAgICAgICBpY29uOiAnc21hbGwnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnbWVkaWFSZXNpemU6NTAnLFxyXG4gICAgICAgICAgdmFsdWU6IDUwLFxyXG4gICAgICAgICAgbGFiZWw6ICc1MCUnLFxyXG4gICAgICAgICAgaWNvbjogJ21lZGl1bSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdtZWRpYVJlc2l6ZTo3NScsXHJcbiAgICAgICAgICB2YWx1ZTogNzUsXHJcbiAgICAgICAgICBsYWJlbDogJzc1JScsXHJcbiAgICAgICAgICBpY29uOiAnbGFyZ2UnXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICAvLyBwcm92aWRlcnM6IFtcclxuICAgICAgLy8gICB7XHJcbiAgICAgIC8vICAgICAvLyBoaW50OiB0aGlzIGlzIGp1c3QgZm9yIHByZXZpZXdzLiBHZXQgYWN0dWFsIEhUTUwgY29kZXMgYnkgbWFraW5nIEFQSSBjYWxscyBmcm9tIHlvdXIgQ01TXHJcbiAgICAgIC8vICAgICBuYW1lOiAnaWZyYW1lbHkgcHJldmlld3MnLFxyXG4gICAgICAvLyAgICAgLy8gTWF0Y2ggYWxsIFVSTHMgb3IganVzdCB0aGUgb25lcyB5b3UgbmVlZDpcclxuICAgICAgLy8gICAgIHVybDogLy4rLyxcclxuXHJcbiAgICAgIC8vICAgICBodG1sOiBtYXRjaCA9PiB7XHJcbiAgICAgIC8vICAgICAgIGNvbnN0IHVybCA9IG1hdGNoWzBdO1xyXG5cclxuICAgICAgLy8gICAgICAgdmFyIGlmcmFtZVVybCA9IElGUkFNRV9TUkMgKyAnP2FwcD0xJmFwaV9rZXk9JyArIEFQSV9LRVkgKyAnJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7XHJcbiAgICAgIC8vICAgICAgIC8vIGFsdGVybmF0aXZlbHksIHVzZSAma2V5PSBpbnN0ZWFkIG9mICZhcGlfa2V5IHdpdGggdGhlIE1ENSBoYXNoIG9mIHlvdXIgYXBpX2tleVxyXG4gICAgICAvLyAgICAgICAvLyBtb3JlIGFib3V0IGl0OiBodHRwczovL2lmcmFtZWx5LmNvbS9kb2NzL2FsbG93LW9yaWdpbnNcclxuXHJcbiAgICAgIC8vICAgICAgIHJldHVybiAoXHJcbiAgICAgIC8vICAgICAgICAgLy8gSWYgeW91IG5lZWQsIHNldCBtYXh3aWR0aCBhbmQgb3RoZXIgc3R5bGVzIGZvciAnaWZyYW1lbHktZW1iZWQnIGNsYXNzIC0gaXQncyB5b3VycyB0byBjdXN0b21pemVcclxuICAgICAgLy8gICAgICAgICAnPGRpdiBjbGFzcz1cImlmcmFtZWx5LWVtYmVkXCI+JyArXHJcbiAgICAgIC8vICAgICAgICAgJzxkaXYgY2xhc3M9XCJpZnJhbWVseS1yZXNwb25zaXZlXCI+JyArXHJcbiAgICAgIC8vICAgICAgICAgYDxpZnJhbWUgc3JjPVwiJHtpZnJhbWVVcmx9XCIgYCArXHJcbiAgICAgIC8vICAgICAgICAgJ2ZyYW1lYm9yZGVyPVwiMFwiIGFsbG93PVwiYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYVwiIGFsbG93ZnVsbHNjcmVlbj4nICtcclxuICAgICAgLy8gICAgICAgICAnPC9pZnJhbWU+JyArXHJcbiAgICAgIC8vICAgICAgICAgJzwvZGl2PicgK1xyXG4gICAgICAvLyAgICAgICAgICc8L2Rpdj4nXHJcbiAgICAgIC8vICAgICAgICk7XHJcbiAgICAgIC8vICAgICB9XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyBdXHJcbiAgICB9LFxyXG4gICAgLy8gUGxlYXNlIGJlIGF3YXJlIHRoYXQgd2UgY2FuJ3QgdXNlIGNhbWVsQ2FzZSBhdHRyaWJ1dGUgbmFtZSwgaXQgd2lsbCBsZWFkIHRvIGJ1ZyB3aGVuIHVwY2FzdGluZ1xyXG4gICAgbGluazoge1xyXG4gICAgICBhZGRUYXJnZXRUb0V4dGVybmFsTGlua3M6IGZhbHNlLFxyXG4gICAgICBkZWNvcmF0b3JzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbW9kZTogJ21hbnVhbCcsXHJcbiAgICAgICAgICBsYWJlbDogJ05ldyB3aW5kb3cnLFxyXG4gICAgICAgICAgYXR0cmlidXRlczoge1xyXG4gICAgICAgICAgICB0YXJnZXQ6ICdfYmxhbmsnLFxyXG4gICAgICAgICAgICBtYW51YWx0YXJnZXQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG1vZGU6ICdtYW51YWwnLFxyXG4gICAgICAgICAgbGFiZWw6ICdUb3Btb3N0IHdpbmRvdycsXHJcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgICAgIHRhcmdldDogJ190b3AnLFxyXG4gICAgICAgICAgICBtYW51YWx0YXJnZXQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG1vZGU6ICdtYW51YWwnLFxyXG4gICAgICAgICAgbGFiZWw6ICdTYW1lIHdpbmRvdycsXHJcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgICAgIHRhcmdldDogJ19zZWxmJyxcclxuICAgICAgICAgICAgbWFudWFsdGFyZ2V0OiB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBtb2RlOiAnbWFudWFsJyxcclxuICAgICAgICAgIGxhYmVsOiAnUGFyZW50IHdpbmRvdycsXHJcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgICAgIHRhcmdldDogJ19wYXJlbnQnLFxyXG4gICAgICAgICAgICBtYW51YWx0YXJnZXQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIC8vIGFsd2F5IHB1dCB0aGlzIG9uZSBhIHRoZSBib3R0b21cclxuICAgICAgICAgIG1vZGU6ICdtYW51YWwnLFxyXG4gICAgICAgICAgbGFiZWw6ICdTZWxlY3QgcmFuZ2UnLFxyXG4gICAgICAgICAgYXR0cmlidXRlczoge1xyXG4gICAgICAgICAgICBzZWxlY3RlZFJhbmdlOiB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgZm9udFNpemU6IHtcclxuICAgICAgb3B0aW9uczogW1xyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDgpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDkpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDEwKSxcclxuICAgICAgICBnZW5lcmF0ZVB0U2V0dGluZygxMSksXHJcbiAgICAgICAgZ2VuZXJhdGVQdFNldHRpbmcoMTIpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDE0KSxcclxuICAgICAgICBnZW5lcmF0ZVB0U2V0dGluZygxNiksXHJcbiAgICAgICAgZ2VuZXJhdGVQdFNldHRpbmcoMTgpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDIwKSxcclxuICAgICAgICBnZW5lcmF0ZVB0U2V0dGluZygyMiksXHJcbiAgICAgICAgZ2VuZXJhdGVQdFNldHRpbmcoMjQpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDI2KSxcclxuICAgICAgICBnZW5lcmF0ZVB0U2V0dGluZygyOCksXHJcbiAgICAgICAgZ2VuZXJhdGVQdFNldHRpbmcoMzYpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDQ4KVxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgaWYgKGl0ZW1Ub29sYmFyKSB7XHJcbiAgICBjb25zdCBpdGVtQXJyYXkgPSBpdGVtVG9vbGJhci5zcGxpdCgnLCcpO1xyXG4gICAgaXRlbUFycmF5LmZvckVhY2goaSA9PiB7XHJcbiAgICAgIGNrZWRpdG9yQ29uZmlnLnRvb2xiYXIuaXRlbXMucHVzaChpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNrZWRpdG9yQ29uZmlnO1xyXG59XHJcblxyXG5jb25zdCBDS0VkaXRvckNvbW1vbkZ1bmN0aW9ucyA9IHtcclxuICBnZXRDS0VkaXRvckNvbmZpZ3VyYXRpb25cclxufTtcclxuXHJcbmZ1bmN0aW9uIGdlbmVyYXRlUHRTZXR0aW5nKHNpemU6IG51bWJlcikge1xyXG4gIHJldHVybiB7XHJcbiAgICBtb2RlbDogc2l6ZSxcclxuICAgIHRpdGxlOiBzaXplLFxyXG4gICAgdmlldzoge1xyXG4gICAgICBuYW1lOiAnc3BhbicsXHJcbiAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICdmb250LXNpemUnOiBgJHtzaXplfXB0YFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgQ0tFZGl0b3JDb21tb25GdW5jdGlvbnM7XHJcbiJdfQ==
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcW1zLWFuZ3VsYXIvc3JjL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZnVuY3Rpb25zL2NvbW1vbi5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxJQUFJLFVBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUM5QyxJQUFJLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQztBQUV2QyxTQUFTLHdCQUF3QixDQUFDLFdBQW1CO0lBQ25ELE1BQU0sY0FBYyxHQUFHO1FBQ3JCLE9BQU8sRUFBRTtZQUNQLEtBQUssRUFBRSxFQUFFO1lBQ1QsV0FBVyxFQUFFLEVBQUU7WUFDZixpQkFBaUIsRUFBRSxFQUFFO1lBQ3JCLHNCQUFzQixFQUFFLElBQUk7U0FDN0I7UUFDRCxRQUFRLEVBQUUsSUFBSTtRQUNkLEtBQUssRUFBRTtZQUNMLGNBQWMsRUFBRSxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLENBQUM7U0FDekc7UUFDRCxLQUFLLEVBQUU7WUFDTCxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksQ0FBQztZQUNsRCxPQUFPLEVBQUU7Z0JBQ1AsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsc0JBQXNCO2dCQUN0QixzQkFBc0I7Z0JBQ3RCLHdCQUF3QjtnQkFDeEIsdUJBQXVCO2dCQUN2QixHQUFHO2dCQUNILHNCQUFzQjtnQkFDdEIsR0FBRztnQkFDSCxXQUFXO2dCQUNYLEdBQUc7Z0JBQ0gsVUFBVTtnQkFDVixHQUFHO2dCQUNILGNBQWM7Z0JBQ2QsR0FBRztnQkFDSCxTQUFTO2FBQ1Y7WUFDRCxhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsSUFBSSxFQUFFLHNCQUFzQjtvQkFDNUIsS0FBSyxFQUFF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QUNyQixpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDckIsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUNyQixpQkFBaUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztnQkFDckIsaUJBQWlCLENBQUMsRUFBRSxDQUFDO2dCQUNyQixpQkFBaUIsQ0FBQyxFQUFFLENBQUM7YUFDdEI7U0FDRjtLQUNGLENBQUM7SUFFRixJQUFJLFdBQVcsRUFBRTtRQUNmLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwQixjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLHVCQUF1QixHQUFHO0lBQzlCLHdCQUF3QjtDQUN6QixDQUFDO0FBRUYsU0FBUyxpQkFBaUIsQ0FBQyxJQUFZO0lBQ3JDLE9BQU87UUFDTCxLQUFLLEVBQUUsSUFBSTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsSUFBSSxFQUFFO1lBQ0osSUFBSSxFQUFFLE1BQU07WUFDWixNQUFNLEVBQUU7Z0JBQ04sV0FBVyxFQUFFLEdBQUcsSUFBSSxJQUFJO2FBQ3pCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUVELGVBQWUsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgSUZSQU1FX1NSQyA9ICcvL2Nkbi5pZnJhbWUubHkvYXBpL2lmcmFtZSc7XHJcbnZhciBBUElfS0VZID0gJ2I0OTllOTJlODU3ZjQzNWMzOWMxNGQnO1xyXG5cclxuZnVuY3Rpb24gZ2V0Q0tFZGl0b3JDb25maWd1cmF0aW9uKGl0ZW1Ub29sYmFyOiBzdHJpbmcpIHtcclxuICBjb25zdCBja2VkaXRvckNvbmZpZyA9IHtcclxuICAgIHRvb2xiYXI6IHtcclxuICAgICAgaXRlbXM6IFtdLFxyXG4gICAgICByZW1vdmVJdGVtczogW10sXHJcbiAgICAgIHZpZXdwb3J0VG9wT2Zmc2V0OiAzMCxcclxuICAgICAgc2hvdWxkTm90R3JvdXBXaGVuRnVsbDogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGxhbmd1YWdlOiAnZW4nLFxyXG4gICAgdGFibGU6IHtcclxuICAgICAgY29udGVudFRvb2xiYXI6IFsndGFibGVDb2x1bW4nLCAndGFibGVSb3cnLCAnbWVyZ2VUYWJsZUNlbGxzJywgJ3RhYmxlUHJvcGVydGllcycsICd0YWJsZUNlbGxQcm9wZXJ0aWVzJ11cclxuICAgIH0sXHJcbiAgICBpbWFnZToge1xyXG4gICAgICBzdHlsZXM6IFsnYWxpZ25MZWZ0JywgJ2FsaWduQ2VudGVyJywgJ2FsaWduUmlnaHQnXSxcclxuICAgICAgdG9vbGJhcjogW1xyXG4gICAgICAgICdpbWFnZVJlc2l6ZToyNScsXHJcbiAgICAgICAgJ2ltYWdlUmVzaXplOjUwJyxcclxuICAgICAgICAnaW1hZ2VSZXNpemU6NzUnLFxyXG4gICAgICAgICdpbWFnZVJlc2l6ZTpvcmlnaW5hbCcsXHJcbiAgICAgICAgJ2ltYWdlU3R5bGU6YWxpZ25MZWZ0JyxcclxuICAgICAgICAnaW1hZ2VTdHlsZTphbGlnbkNlbnRlcicsXHJcbiAgICAgICAgJ2ltYWdlU3R5bGU6YWxpZ25SaWdodCcsXHJcbiAgICAgICAgJ3wnLFxyXG4gICAgICAgICdpbWFnZVRleHRBbHRlcm5hdGl2ZScsXHJcbiAgICAgICAgJ3wnLFxyXG4gICAgICAgICdsaW5rSW1hZ2UnLFxyXG4gICAgICAgICd8JyxcclxuICAgICAgICAnaW1hZ2VNYXAnLFxyXG4gICAgICAgICd8JyxcclxuICAgICAgICAncW1zRmxvd2NoYXJ0JyxcclxuICAgICAgICAnfCcsXHJcbiAgICAgICAgJ3Ftc0JwbW4nXHJcbiAgICAgIF0sXHJcbiAgICAgIHJlc2l6ZU9wdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnaW1hZ2VSZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICBsYWJlbDogJ09yaWdpbmFsJyxcclxuICAgICAgICAgIGljb246ICdvcmlnaW5hbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdpbWFnZVJlc2l6ZToyNScsXHJcbiAgICAgICAgICB2YWx1ZTogMjUsXHJcbiAgICAgICAgICBsYWJlbDogJzI1JScsXHJcbiAgICAgICAgICBpY29uOiAnc21hbGwnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnaW1hZ2VSZXNpemU6NTAnLFxyXG4gICAgICAgICAgdmFsdWU6IDUwLFxyXG4gICAgICAgICAgbGFiZWw6ICc1MCUnLFxyXG4gICAgICAgICAgaWNvbjogJ21lZGl1bSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdpbWFnZVJlc2l6ZTo3NScsXHJcbiAgICAgICAgICB2YWx1ZTogNzUsXHJcbiAgICAgICAgICBsYWJlbDogJzc1JScsXHJcbiAgICAgICAgICBpY29uOiAnbWVkaXVtJ1xyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfSxcclxuICAgIHZpZGVvOiB7XHJcbiAgICAgIHN0eWxlczogWydhbGlnbkxlZnQnLCAnYWxpZ25DZW50ZXInLCAnYWxpZ25SaWdodCddLFxyXG4gICAgICByZXNpemVVbml0OiAnJScsXHJcbiAgICAgIHRvb2xiYXI6IFtcclxuICAgICAgICAndmlkZW9SZXNpemUnLFxyXG4gICAgICAgICd8JyxcclxuICAgICAgICAndmlkZW9SZXNpemU6MjUnLFxyXG4gICAgICAgICd2aWRlb1Jlc2l6ZTo1MCcsXHJcbiAgICAgICAgJ3ZpZGVvUmVzaXplOjc1JyxcclxuICAgICAgICAndmlkZW9SZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICd2aWRlb1N0eWxlOmFsaWduTGVmdCcsXHJcbiAgICAgICAgJ3ZpZGVvU3R5bGU6YWxpZ25DZW50ZXInLFxyXG4gICAgICAgICd2aWRlb1N0eWxlOmFsaWduUmlnaHQnXHJcbiAgICAgIF0sXHJcbiAgICAgIHJlc2l6ZU9wdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAndmlkZW9SZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICBsYWJlbDogJ09yaWdpbmFsJyxcclxuICAgICAgICAgIGljb246ICdvcmlnaW5hbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICd2aWRlb1Jlc2l6ZToyNScsXHJcbiAgICAgICAgICB2YWx1ZTogMjUsXHJcbiAgICAgICAgICBsYWJlbDogJzI1JScsXHJcbiAgICAgICAgICBpY29uOiAnc21hbGwnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAndmlkZW9SZXNpemU6NTAnLFxyXG4gICAgICAgICAgdmFsdWU6IDUwLFxyXG4gICAgICAgICAgbGFiZWw6ICc1MCUnLFxyXG4gICAgICAgICAgaWNvbjogJ21lZGl1bSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICd2aWRlb1Jlc2l6ZTo3NScsXHJcbiAgICAgICAgICB2YWx1ZTogNzUsXHJcbiAgICAgICAgICBsYWJlbDogJzc1JScsXHJcbiAgICAgICAgICBpY29uOiAnbGFyZ2UnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgbWVkaWE6IHtcclxuICAgICAgc3R5bGVzOiBbJ2FsaWduTGVmdCcsICdhbGlnbkNlbnRlcicsICdhbGlnblJpZ2h0J10sXHJcbiAgICAgIHJlc2l6ZVVuaXQ6ICclJyxcclxuICAgICAgdG9vbGJhcjogW1xyXG4gICAgICAgICdtZWRpYVJlc2l6ZScsXHJcbiAgICAgICAgJ3wnLFxyXG4gICAgICAgICdtZWRpYVJlc2l6ZToyNScsXHJcbiAgICAgICAgJ21lZGlhUmVzaXplOjUwJyxcclxuICAgICAgICAnbWVkaWFSZXNpemU6NzUnLFxyXG4gICAgICAgICdtZWRpYVJlc2l6ZTpvcmlnaW5hbCcsXHJcbiAgICAgICAgJ21lZGlhU3R5bGU6YWxpZ25MZWZ0JyxcclxuICAgICAgICAnbWVkaWFTdHlsZTphbGlnbkNlbnRlcicsXHJcbiAgICAgICAgJ21lZGlhU3R5bGU6YWxpZ25SaWdodCdcclxuICAgICAgXSxcclxuICAgICAgcmVzaXplT3B0aW9uczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdtZWRpYVJlc2l6ZTpvcmlnaW5hbCcsXHJcbiAgICAgICAgICB2YWx1ZTogbnVsbCxcclxuICAgICAgICAgIGxhYmVsOiAnT3JpZ2luYWwnLFxyXG4gICAgICAgICAgaWNvbjogJ29yaWdpbmFsJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ21lZGlhUmVzaXplOjI1JyxcclxuICAgICAgICAgIHZhbHVlOiAyNSxcclxuICAgICAgICAgIGxhYmVsOiAnMjUlJyxcclxuICAgICAgICAgIGljb246ICdzbWFsbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdtZWRpYVJlc2l6ZTo1MCcsXHJcbiAgICAgICAgICB2YWx1ZTogNTAsXHJcbiAgICAgICAgICBsYWJlbDogJzUwJScsXHJcbiAgICAgICAgICBpY29uOiAnbWVkaXVtJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ21lZGlhUmVzaXplOjc1JyxcclxuICAgICAgICAgIHZhbHVlOiA3NSxcclxuICAgICAgICAgIGxhYmVsOiAnNzUlJyxcclxuICAgICAgICAgIGljb246ICdsYXJnZSdcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICAvLyBDb25maWd1cmUgJ21lZGlhRW1iZWQnIHdpdGggSWZyYW1lbHkgcHJldmlld3MuXHJcbiAgICBtZWRpYUVtYmVkOiB7XHJcbiAgICAgIC8vIFByZXZpZXdzIGFyZSBhbHdheXMgZW5hYmxlZCBpZiB0aGVyZeKAmXMgYSBwcm92aWRlciBmb3IgYSBVUkwgKGJlbG93IHJlZ2V4IGNhdGNoZXMgYWxsIFVSTHMpXHJcbiAgICAgIC8vIEJ5IGRlZmF1bHQgYHByZXZpZXdzSW5EYXRhYCBhcmUgZGlzYWJsZWQsIGJ1dCBsZXTigJlzIHNldCBpdCB0byBgZmFsc2VgIGV4cGxpY2l0ZWx5IHRvIGJlIHN1cmVcclxuICAgICAgcHJldmlld3NJbkRhdGE6IHRydWUsXHJcbiAgICAgIHN0eWxlczogWydhbGlnbkxlZnQnLCAnYWxpZ25DZW50ZXInLCAnYWxpZ25SaWdodCddLFxyXG4gICAgICByZXNpemVVbml0OiAnJScsXHJcbiAgICAgIHRvb2xiYXI6IFtcclxuICAgICAgICAnbWVkaWFSZXNpemUnLFxyXG4gICAgICAgICd8JyxcclxuICAgICAgICAnbWVkaWFSZXNpemU6MjUnLFxyXG4gICAgICAgICdtZWRpYVJlc2l6ZTo1MCcsXHJcbiAgICAgICAgJ21lZGlhUmVzaXplOjc1JyxcclxuICAgICAgICAnbWVkaWFSZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICdtZWRpYVN0eWxlOmFsaWduTGVmdCcsXHJcbiAgICAgICAgJ21lZGlhU3R5bGU6YWxpZ25DZW50ZXInLFxyXG4gICAgICAgICdtZWRpYVN0eWxlOmFsaWduUmlnaHQnXHJcbiAgICAgIF0sXHJcbiAgICAgIHJlc2l6ZU9wdGlvbnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnbWVkaWFSZXNpemU6b3JpZ2luYWwnLFxyXG4gICAgICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICAgICAgICBsYWJlbDogJ09yaWdpbmFsJyxcclxuICAgICAgICAgIGljb246ICdvcmlnaW5hbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdtZWRpYVJlc2l6ZToyNScsXHJcbiAgICAgICAgICB2YWx1ZTogMjUsXHJcbiAgICAgICAgICBsYWJlbDogJzI1JScsXHJcbiAgICAgICAgICBpY29uOiAnc21hbGwnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnbWVkaWFSZXNpemU6NTAnLFxyXG4gICAgICAgICAgdmFsdWU6IDUwLFxyXG4gICAgICAgICAgbGFiZWw6ICc1MCUnLFxyXG4gICAgICAgICAgaWNvbjogJ21lZGl1bSdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICdtZWRpYVJlc2l6ZTo3NScsXHJcbiAgICAgICAgICB2YWx1ZTogNzUsXHJcbiAgICAgICAgICBsYWJlbDogJzc1JScsXHJcbiAgICAgICAgICBpY29uOiAnbGFyZ2UnXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICAvLyBwcm92aWRlcnM6IFtcclxuICAgICAgLy8gICB7XHJcbiAgICAgIC8vICAgICAvLyBoaW50OiB0aGlzIGlzIGp1c3QgZm9yIHByZXZpZXdzLiBHZXQgYWN0dWFsIEhUTUwgY29kZXMgYnkgbWFraW5nIEFQSSBjYWxscyBmcm9tIHlvdXIgQ01TXHJcbiAgICAgIC8vICAgICBuYW1lOiAnaWZyYW1lbHkgcHJldmlld3MnLFxyXG4gICAgICAvLyAgICAgLy8gTWF0Y2ggYWxsIFVSTHMgb3IganVzdCB0aGUgb25lcyB5b3UgbmVlZDpcclxuICAgICAgLy8gICAgIHVybDogLy4rLyxcclxuXHJcbiAgICAgIC8vICAgICBodG1sOiBtYXRjaCA9PiB7XHJcbiAgICAgIC8vICAgICAgIGNvbnN0IHVybCA9IG1hdGNoWzBdO1xyXG5cclxuICAgICAgLy8gICAgICAgdmFyIGlmcmFtZVVybCA9IElGUkFNRV9TUkMgKyAnP2FwcD0xJmFwaV9rZXk9JyArIEFQSV9LRVkgKyAnJnVybD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7XHJcbiAgICAgIC8vICAgICAgIC8vIGFsdGVybmF0aXZlbHksIHVzZSAma2V5PSBpbnN0ZWFkIG9mICZhcGlfa2V5IHdpdGggdGhlIE1ENSBoYXNoIG9mIHlvdXIgYXBpX2tleVxyXG4gICAgICAvLyAgICAgICAvLyBtb3JlIGFib3V0IGl0OiBodHRwczovL2lmcmFtZWx5LmNvbS9kb2NzL2FsbG93LW9yaWdpbnNcclxuXHJcbiAgICAgIC8vICAgICAgIHJldHVybiAoXHJcbiAgICAgIC8vICAgICAgICAgLy8gSWYgeW91IG5lZWQsIHNldCBtYXh3aWR0aCBhbmQgb3RoZXIgc3R5bGVzIGZvciAnaWZyYW1lbHktZW1iZWQnIGNsYXNzIC0gaXQncyB5b3VycyB0byBjdXN0b21pemVcclxuICAgICAgLy8gICAgICAgICAnPGRpdiBjbGFzcz1cImlmcmFtZWx5LWVtYmVkXCI+JyArXHJcbiAgICAgIC8vICAgICAgICAgJzxkaXYgY2xhc3M9XCJpZnJhbWVseS1yZXNwb25zaXZlXCI+JyArXHJcbiAgICAgIC8vICAgICAgICAgYDxpZnJhbWUgc3JjPVwiJHtpZnJhbWVVcmx9XCIgYCArXHJcbiAgICAgIC8vICAgICAgICAgJ2ZyYW1lYm9yZGVyPVwiMFwiIGFsbG93PVwiYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYVwiIGFsbG93ZnVsbHNjcmVlbj4nICtcclxuICAgICAgLy8gICAgICAgICAnPC9pZnJhbWU+JyArXHJcbiAgICAgIC8vICAgICAgICAgJzwvZGl2PicgK1xyXG4gICAgICAvLyAgICAgICAgICc8L2Rpdj4nXHJcbiAgICAgIC8vICAgICAgICk7XHJcbiAgICAgIC8vICAgICB9XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyBdXHJcbiAgICB9LFxyXG4gICAgLy8gUGxlYXNlIGJlIGF3YXJlIHRoYXQgd2UgY2FuJ3QgdXNlIGNhbWVsQ2FzZSBhdHRyaWJ1dGUgbmFtZSwgaXQgd2lsbCBsZWFkIHRvIGJ1ZyB3aGVuIHVwY2FzdGluZ1xyXG4gICAgbGluazoge1xyXG4gICAgICBhZGRUYXJnZXRUb0V4dGVybmFsTGlua3M6IGZhbHNlLFxyXG4gICAgICBkZWNvcmF0b3JzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbW9kZTogJ21hbnVhbCcsXHJcbiAgICAgICAgICBsYWJlbDogJ05ldyB3aW5kb3cnLFxyXG4gICAgICAgICAgYXR0cmlidXRlczoge1xyXG4gICAgICAgICAgICB0YXJnZXQ6ICdfYmxhbmsnLFxyXG4gICAgICAgICAgICBtYW51YWx0YXJnZXQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG1vZGU6ICdtYW51YWwnLFxyXG4gICAgICAgICAgbGFiZWw6ICdUb3Btb3N0IHdpbmRvdycsXHJcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgICAgIHRhcmdldDogJ190b3AnLFxyXG4gICAgICAgICAgICBtYW51YWx0YXJnZXQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG1vZGU6ICdtYW51YWwnLFxyXG4gICAgICAgICAgbGFiZWw6ICdTYW1lIHdpbmRvdycsXHJcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgICAgIHRhcmdldDogJ19zZWxmJyxcclxuICAgICAgICAgICAgbWFudWFsdGFyZ2V0OiB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBtb2RlOiAnbWFudWFsJyxcclxuICAgICAgICAgIGxhYmVsOiAnUGFyZW50IHdpbmRvdycsXHJcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgICAgIHRhcmdldDogJ19wYXJlbnQnLFxyXG4gICAgICAgICAgICBtYW51YWx0YXJnZXQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIC8vIGFsd2F5IHB1dCB0aGlzIG9uZSBhIHRoZSBib3R0b21cclxuICAgICAgICAgIG1vZGU6ICdtYW51YWwnLFxyXG4gICAgICAgICAgbGFiZWw6ICdTZWxlY3QgcmFuZ2UnLFxyXG4gICAgICAgICAgYXR0cmlidXRlczoge1xyXG4gICAgICAgICAgICBzZWxlY3RlZFJhbmdlOiB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgZm9udFNpemU6IHtcclxuICAgICAgb3B0aW9uczogW1xyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDgpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDkpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDEwKSxcclxuICAgICAgICBnZW5lcmF0ZVB0U2V0dGluZygxMSksXHJcbiAgICAgICAgZ2VuZXJhdGVQdFNldHRpbmcoMTIpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDE0KSxcclxuICAgICAgICBnZW5lcmF0ZVB0U2V0dGluZygxNiksXHJcbiAgICAgICAgZ2VuZXJhdGVQdFNldHRpbmcoMTgpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDIwKSxcclxuICAgICAgICBnZW5lcmF0ZVB0U2V0dGluZygyMiksXHJcbiAgICAgICAgZ2VuZXJhdGVQdFNldHRpbmcoMjQpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDI2KSxcclxuICAgICAgICBnZW5lcmF0ZVB0U2V0dGluZygyOCksXHJcbiAgICAgICAgZ2VuZXJhdGVQdFNldHRpbmcoMzYpLFxyXG4gICAgICAgIGdlbmVyYXRlUHRTZXR0aW5nKDQ4KVxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgaWYgKGl0ZW1Ub29sYmFyKSB7XHJcbiAgICBjb25zdCBpdGVtQXJyYXkgPSBpdGVtVG9vbGJhci5zcGxpdCgnLCcpO1xyXG4gICAgaXRlbUFycmF5LmZvckVhY2goaSA9PiB7XHJcbiAgICAgIGNrZWRpdG9yQ29uZmlnLnRvb2xiYXIuaXRlbXMucHVzaChpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNrZWRpdG9yQ29uZmlnO1xyXG59XHJcblxyXG5jb25zdCBDS0VkaXRvckNvbW1vbkZ1bmN0aW9ucyA9IHtcclxuICBnZXRDS0VkaXRvckNvbmZpZ3VyYXRpb25cclxufTtcclxuXHJcbmZ1bmN0aW9uIGdlbmVyYXRlUHRTZXR0aW5nKHNpemU6IG51bWJlcikge1xyXG4gIHJldHVybiB7XHJcbiAgICBtb2RlbDogc2l6ZSxcclxuICAgIHRpdGxlOiBzaXplLFxyXG4gICAgdmlldzoge1xyXG4gICAgICBuYW1lOiAnc3BhbicsXHJcbiAgICAgIHN0eWxlczoge1xyXG4gICAgICAgICdmb250LXNpemUnOiBgJHtzaXplfXB0YFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgQ0tFZGl0b3JDb21tb25GdW5jdGlvbnM7XHJcbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export class QMSCKEditorData {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7Q0FpQjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV1Byb29mcmVhZGVyQ29uZmlnIH0gZnJvbSBcIi4vd3Byb29mcmVhZGVyLWNvbmZpZy5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFFNU0NLRWRpdG9yRGF0YSB7XHJcbiAgYXBpVXJsPzogc3RyaW5nO1xyXG4gIG1vZHVsZT86IG51bWJlcjtcclxuICBlbnRpdHlJZD86IHN0cmluZztcclxuICBkb2N1bWVudElkPzogbnVtYmVyO1xyXG4gIG1hdGh0eXBlU2VydmljZVVybD86IHN0cmluZztcclxuICB0aW1lc3RhbXBGb3JtYXQ/OiBzdHJpbmc7XHJcbiAgbGlua0phdmFTY3JpcHRMaW5rc0FsbG93ZWQ/OiBib29sZWFuO1xyXG4gIHRvZ2dsZWRUb29sYmFySXRlbXM/OiBzdHJpbmc7XHJcbiAgd3Byb29mcmVhZGVyPzogV1Byb29mcmVhZGVyQ29uZmlnO1xyXG4gIHRhYmxlT2ZDb250ZW50SGVhZGluZ3M/OiBzdHJpbmc7XHJcbiAgbWF4RmlsZVNpemVNQj86IG51bWJlcjtcclxuICBmdWxsU2NyZWVuQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaGlkZUltZ09wdGlvbnM/OiBzdHJpbmc7XHJcbiAgdXBsb2FkVmlkZW9BbGxvd011bHRpcGxlQ2hlY2s/OiBib29sZWFuO1xyXG4gIGVuYWJsZVRlbXBsYXRlPzogYm9vbGVhbjtcclxuICBtYXhWaWRlb1RodW1ibmFpbFNpemVLQj86IG51bWJlcjtcclxufVxyXG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGVBQWU7Q0FrQjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV1Byb29mcmVhZGVyQ29uZmlnIH0gZnJvbSBcIi4vd3Byb29mcmVhZGVyLWNvbmZpZy5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFFNU0NLRWRpdG9yRGF0YSB7XHJcbiAgYXBpVXJsPzogc3RyaW5nO1xyXG4gIG1vZHVsZT86IG51bWJlcjtcclxuICBlbnRpdHlJZD86IHN0cmluZztcclxuICBkb2N1bWVudElkPzogbnVtYmVyO1xyXG4gIG1hdGh0eXBlU2VydmljZVVybD86IHN0cmluZztcclxuICB0aW1lc3RhbXBGb3JtYXQ/OiBzdHJpbmc7XHJcbiAgbGlua0phdmFTY3JpcHRMaW5rc0FsbG93ZWQ/OiBib29sZWFuO1xyXG4gIHRvZ2dsZWRUb29sYmFySXRlbXM/OiBzdHJpbmc7XHJcbiAgd3Byb29mcmVhZGVyPzogV1Byb29mcmVhZGVyQ29uZmlnO1xyXG4gIHRhYmxlT2ZDb250ZW50SGVhZGluZ3M/OiBzdHJpbmc7XHJcbiAgbWF4RmlsZVNpemVNQj86IG51bWJlcjtcclxuICBmdWxsU2NyZWVuQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaGlkZUltZ09wdGlvbnM/OiBzdHJpbmc7XHJcbiAgdXBsb2FkVmlkZW9BbGxvd011bHRpcGxlQ2hlY2s/OiBib29sZWFuO1xyXG4gIGVuYWJsZVRlbXBsYXRlPzogYm9vbGVhbjtcclxuICBtYXhWaWRlb1RodW1ibmFpbFNpemVLQj86IG51bWJlcjtcclxuICB2aWRlb1VwbG9hZE1vZGU/OiBudW1iZXI7XHJcbn1cclxuIl19