stream-chat-angular 3.0.0-beta.6 → 3.0.0-beta.9

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 (46) hide show
  1. package/assets/version.d.ts +1 -1
  2. package/bundles/stream-chat-angular.umd.js +119 -120
  3. package/bundles/stream-chat-angular.umd.js.map +1 -1
  4. package/esm2015/assets/version.js +2 -2
  5. package/esm2015/lib/attachment-list/attachment-list.component.js +1 -1
  6. package/esm2015/lib/attachment.service.js +11 -5
  7. package/esm2015/lib/channel-header/channel-header.component.js +1 -1
  8. package/esm2015/lib/channel-list/channel-list.component.js +1 -1
  9. package/esm2015/lib/channel-preview/channel-preview.component.js +1 -1
  10. package/esm2015/lib/channel.service.js +11 -18
  11. package/esm2015/lib/chat-client.service.js +4 -3
  12. package/esm2015/lib/message/message.component.js +1 -1
  13. package/esm2015/lib/message-actions-box/message-actions-box.component.js +7 -8
  14. package/esm2015/lib/message-input/message-input.component.js +15 -2
  15. package/esm2015/lib/message-list/message-list.component.js +1 -1
  16. package/esm2015/lib/message-preview.js +4 -17
  17. package/esm2015/lib/message-reactions/message-reactions.component.js +1 -1
  18. package/esm2015/lib/read-by.js +1 -1
  19. package/esm2015/lib/types.js +1 -1
  20. package/fesm2015/stream-chat-angular.js +117 -118
  21. package/fesm2015/stream-chat-angular.js.map +1 -1
  22. package/lib/attachment-list/attachment-list.component.d.ts +6 -6
  23. package/lib/attachment.service.d.ts +1 -1
  24. package/lib/channel-header/channel-header.component.d.ts +3 -3
  25. package/lib/channel-list/channel-list.component.d.ts +4 -4
  26. package/lib/channel-preview/channel-preview.component.d.ts +3 -2
  27. package/lib/channel.service.d.ts +31 -29
  28. package/lib/chat-client.service.d.ts +11 -10
  29. package/lib/custom-templates.service.d.ts +2 -2
  30. package/lib/message/message.component.d.ts +22 -3
  31. package/lib/message-actions-box/message-actions-box.component.d.ts +3 -2
  32. package/lib/message-input/autocomplete-textarea/autocomplete-textarea.component.d.ts +1 -1
  33. package/lib/message-input/message-input.component.d.ts +27 -3
  34. package/lib/message-input/textarea.directive.d.ts +1 -1
  35. package/lib/message-list/group-styles.d.ts +1 -1
  36. package/lib/message-preview.d.ts +2 -1
  37. package/lib/message-reactions/message-reactions.component.d.ts +4 -4
  38. package/lib/read-by.d.ts +2 -1
  39. package/lib/types.d.ts +25 -17
  40. package/package.json +2 -2
  41. package/src/assets/styles/css/index.css +1 -1
  42. package/src/assets/styles/css/index.css.map +1 -1
  43. package/src/assets/styles/scss/Avatar.scss +1 -1
  44. package/src/assets/styles/scss/ChannelHeader.scss +2 -0
  45. package/src/assets/styles/scss/VirtualMessage.scss +5 -0
  46. package/src/assets/version.ts +1 -1
@@ -1,2 +1,2 @@
1
- export const version = '3.0.0-beta.6';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICczLjAuMC1iZXRhLjYnO1xuIl19
1
+ export const version = '3.0.0-beta.9';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2Fzc2V0cy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgdmVyc2lvbiA9ICczLjAuMC1iZXRhLjknO1xuIl19
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
129
129
  type: ViewChild,
130
130
  args: ['modalContent', { static: true }]
131
131
  }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLFdBQVcsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7OztBQUkzRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7SUFlbEMsWUFDa0Isc0JBQThDLEVBQ3RELGdCQUFrQyxFQUNsQyxjQUE4QjtRQUZ0QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3RELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBYnhDOztXQUVHO1FBQ00sZ0JBQVcsR0FBd0MsRUFBRSxDQUFDO1FBQy9ELHVCQUFrQixHQUF3QyxFQUFFLENBQUM7UUFDN0QsaUJBQVksR0FBd0MsRUFBRSxDQUFDO1FBQ3ZELDZCQUF3QixHQUFHLENBQUMsQ0FBQztJQVExQixDQUFDO0lBRUosV0FBVztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENB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SUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiwgQXR0YWNobWVudCB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IEltYWdlTG9hZFNlcnZpY2UgfSBmcm9tICcuLi9tZXNzYWdlLWxpc3QvaW1hZ2UtbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IERlZmF1bHRBdHRhY2htZW50VHlwZSwgTW9kYWxDb250ZXh0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHByZXR0eWJ5dGVzIGZyb20gJ3ByZXR0eS1ieXRlcyc7XG5pbXBvcnQgeyBpc0ltYWdlQXR0YWNobWVudCB9IGZyb20gJy4uL2lzLWltYWdlLWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uL2N1c3RvbS10ZW1wbGF0ZXMuc2VydmljZSc7XG5cbi8qKlxuICogVGhlIGBBdHRhY2htZW50TGlzdGAgY29tcG9udGVudCBkaXNwbGF5cyB0aGUgYXR0YWNobWVudHMgb2YgYSBtZXNzYWdlXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1hdHRhY2htZW50LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvKipcbiAgICogVGhlIGlkIG9mIHRoZSBtZXNzYWdlIHRoZSBhdHRhY2htZW50cyBiZWxvbmcgdG9cbiAgICovXG4gIEBJbnB1dCgpIG1lc3NhZ2VJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogVGhlIGF0dGFjaG1lbnRzIHRvIGRpc3BsYXlcbiAgICovXG4gIEBJbnB1dCgpIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50PERlZmF1bHRBdHRhY2htZW50VHlwZT5bXSA9IFtdO1xuICBvcmRlcmVkQXR0YWNobWVudHM6IEF0dGFjaG1lbnQ8RGVmYXVsdEF0dGFjaG1lbnRUeXBlPltdID0gW107XG4gIGltYWdlc1RvVmlldzogQXR0YWNobWVudDxEZWZhdWx0QXR0YWNobWVudFR5cGU+W10gPSBbXTtcbiAgaW1hZ2VzVG9WaWV3Q3VycmVudEluZGV4ID0gMDtcbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSBtb2RhbENvbnRlbnQhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgY3VzdG9tVGVtcGxhdGVzU2VydmljZTogQ3VzdG9tVGVtcGxhdGVzU2VydmljZSxcbiAgICBwcml2YXRlIGltYWdlTG9hZFNlcnZpY2U6IEltYWdlTG9hZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGltYWdlcyA9IHRoaXMuYXR0YWNobWVudHMuZmlsdGVyKHRoaXMuaXNJbWFnZSk7XG4gICAgY29uc3QgY29udGFpbnNHYWxsZXJ5ID0gaW1hZ2VzLmxlbmd0aCA+PSAyO1xuICAgIHRoaXMub3JkZXJlZEF0dGFjaG1lbnRzID0gW1xuICAgICAgLi4uKGNvbnRhaW5zR2FsbGVyeSA/IHRoaXMuY3JlYXRlR2FsbGVyeShpbWFnZXMpIDogaW1hZ2VzKSxcbiAgICAgIC4uLnRoaXMuYXR0YWNobWVudHMuZmlsdGVyKChhKSA9PiB0aGlzLmlzRmlsZShhKSksXG4gICAgICAuLi50aGlzLmF0dGFjaG1lbnRzLmZpbHRlcigoYSkgPT4gdGhpcy5pc0NhcmQoYSkpLFxuICAgIF07XG4gIH1cblxuICB0cmFja0J5SWQoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIGlzSW1hZ2UoYXR0YWNobWVudDogQXR0YWNobWVudCkge1xuICAgIHJldHVybiBpc0ltYWdlQXR0YWNobWVudChhdHRhY2htZW50KTtcbiAgfVxuXG4gIGlzRmlsZShhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XG4gICAgcmV0dXJuIGF0dGFjaG1lbnQudHlwZSA9PT0gJ2ZpbGUnO1xuICB9XG5cbiAgaXNHYWxsZXJ5KGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpIHtcbiAgICByZXR1cm4gYXR0YWNobWVudC50eXBlID09PSAnZ2FsbGVyeSc7XG4gIH1cblxuICBpc0NhcmQoYXR0YWNobWVudDogQXR0YWNobWVudCkge1xuICAgIHJldHVybiAoXG4gICAgICAhYXR0YWNobWVudC50eXBlIHx8XG4gICAgICAoYXR0YWNobWVudC50eXBlID09PSAnaW1hZ2UnICYmICF0aGlzLmlzSW1hZ2UoYXR0YWNobWVudCkpIHx8XG4gICAgICBhdHRhY2htZW50LnR5cGUgPT09ICdnaXBoeSdcbiAgICApO1xuICB9XG5cbiAgaW1hZ2VMb2FkZWQoKSB7XG4gICAgdGhpcy5pbWFnZUxvYWRTZXJ2aWNlLmltYWdlTG9hZCQubmV4dCgpO1xuICB9XG5cbiAgaGFzRmlsZVNpemUoYXR0YWNobWVudDogQXR0YWNobWVudDxEZWZhdWx0QXR0YWNobWVudFR5cGU+KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGF0dGFjaG1lbnQuZmlsZV9zaXplICYmIE51bWJlci5pc0Zpbml0ZShOdW1iZXIoYXR0YWNobWVudC5maWxlX3NpemUpKVxuICAgICk7XG4gIH1cblxuICBnZXRGaWxlU2l6ZShhdHRhY2htZW50OiBBdHRhY2htZW50PERlZmF1bHRBdHRhY2htZW50VHlwZT4pIHtcbiAgICByZXR1cm4gcHJldHR5Ynl0ZXMoTnVtYmVyKGF0dGFjaG1lbnQuZmlsZV9zaXplISkpO1xuICB9XG5cbiAgZ2V0TW9kYWxDb250ZXh0KCk6IE1vZGFsQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzT3BlbjogdGhpcy5pbWFnZXNUb1ZpZXcgJiYgdGhpcy5pbWFnZXNUb1ZpZXcubGVuZ3RoID4gMCxcbiAgICAgIGlzT3BlbkNoYW5nZUhhbmRsZXI6IChpc09wZW4pID0+IChpc09wZW4gPyBudWxsIDogdGhpcy5jbG9zZUltYWdlTW9kYWwoKSksXG4gICAgICBjb250ZW50OiB0aGlzLm1vZGFsQ29udGVudCxcbiAgICB9O1xuICB9XG5cbiAgdHJpbVVybCh1cmw/OiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHVybCAhPT0gdW5kZWZpbmVkICYmIHVybCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgW3RyaW1tZWRVcmxdID0gdXJsXG4gICAgICAgIC5yZXBsYWNlKC9eKD86aHR0cHM/OlxcL1xcLyk/KD86d3d3XFwuKT8vaSwgJycpXG4gICAgICAgIC5zcGxpdCgnLycpO1xuXG4gICAgICByZXR1cm4gdHJpbW1lZFVybDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZW5kQWN0aW9uKGFjdGlvbjogQWN0aW9uKSB7XG4gICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNlbmRBY3Rpb24odGhpcy5tZXNzYWdlSWQhLCB7XG4gICAgICBbYWN0aW9uLm5hbWUhXTogYWN0aW9uLnZhbHVlISxcbiAgICB9KTtcbiAgfVxuXG4gIHRyYWNrQnlBY3Rpb25WYWx1ZShfOiBudW1iZXIsIGl0ZW06IEFjdGlvbikge1xuICAgIHJldHVybiBpdGVtLnZhbHVlO1xuICB9XG5cbiAgb3BlbkltYWdlTW9kYWwoYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXSwgc2VsZWN0ZWRJbmRleCA9IDApIHtcbiAgICB0aGlzLmltYWdlc1RvVmlldyA9IGF0dGFjaG1lbnRzO1xuICAgIHRoaXMuaW1hZ2VzVG9WaWV3Q3VycmVudEluZGV4ID0gc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIHN0ZXBJbWFnZXMoZGlyOiAtMSB8IDEpIHtcbiAgICB0aGlzLmltYWdlc1RvVmlld0N1cnJlbnRJbmRleCArPSBkaXIgKiAxO1xuICB9XG5cbiAgdHJhY2tCeUltYWdlVXJsKF86IG51bWJlciwgaXRlbTogQXR0YWNobWVudCkge1xuICAgIHJldHVybiBpdGVtLmltYWdlX3VybCB8fCBpdGVtLmltZ191cmwgfHwgaXRlbS50aHVtYl91cmw7XG4gIH1cblxuICBnZXQgaXNJbWFnZU1vZGFsUHJldkJ1dHRvblZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1hZ2VzVG9WaWV3Q3VycmVudEluZGV4ICE9PSAwO1xuICB9XG5cbiAgZ2V0IGlzSW1hZ2VNb2RhbE5leHRCdXR0b25WaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmltYWdlc1RvVmlld0N1cnJlbnRJbmRleCAhPT0gdGhpcy5pbWFnZXNUb1ZpZXcubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlR2FsbGVyeShpbWFnZXM6IEF0dGFjaG1lbnRbXSkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdnYWxsZXJ5JyxcbiAgICAgICAgaW1hZ2VzLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUltYWdlTW9kYWwoKSB7XG4gICAgdGhpcy5pbWFnZXNUb1ZpZXcgPSBbXTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0YWNobWVudCBvZiBvcmRlcmVkQXR0YWNobWVudHM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiPlxuICA8ZGl2XG4gICAgZGF0YS10ZXN0Y2xhc3M9XCJhdHRhY2htZW50LWNvbnRhaW5lclwiXG4gICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50IHN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLXt7XG4gICAgICBhdHRhY2htZW50LnR5cGVcbiAgICB9fVwiXG4gICAgW2NsYXNzLnN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLWNhcmRdPVwiaXNDYXJkKGF0dGFjaG1lbnQpXCJcbiAgICBbY2xhc3Muc3RyLWNoYXQtYW5ndWxhcl9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtc2luZ2xlXT1cIlxuICAgICAgaXNGaWxlKGF0dGFjaG1lbnQpXG4gICAgXCJcbiAgPlxuICAgIDxpbWdcbiAgICAgICpuZ0lmPVwiaXNJbWFnZShhdHRhY2htZW50KVwiXG4gICAgICBjbGFzcz1cInN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLWltZ1wiXG4gICAgICBkYXRhLXRlc3RjbGFzcz1cImltYWdlXCJcbiAgICAgIFtzcmNdPVwiYXR0YWNobWVudC5pbWdfdXJsIHx8IGF0dGFjaG1lbnQudGh1bWJfdXJsIHx8IGF0dGFjaG1lbnQuaW1hZ2VfdXJsXCJcbiAgICAgIFthbHRdPVwiYXR0YWNobWVudD8uZmFsbGJhY2tcIlxuICAgICAgKGxvYWQpPVwiaW1hZ2VMb2FkZWQoKVwiXG4gICAgICAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoW2F0dGFjaG1lbnRdKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib3BlbkltYWdlTW9kYWwoW2F0dGFjaG1lbnRdKVwiXG4gICAgLz5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInN0ci1jaGF0X19nYWxsZXJ5XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW1hZ2UtZ2FsbGVyeVwiXG4gICAgICAqbmdJZj1cImlzR2FsbGVyeShhdHRhY2htZW50KVwiXG4gICAgICBbY2xhc3Muc3RyLWNoYXRfX2dhbGxlcnktLXNxdWFyZV09XCIoYXR0YWNobWVudD8uaW1hZ2VzKSEubGVuZ3RoID4gM1wiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICBsZXQgZ2FsbGVyeUltYWdlIG9mIGF0dGFjaG1lbnQuaW1hZ2VzO1xuICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgIGxldCBpc0xhc3QgPSBsYXN0O1xuICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJbWFnZVVybFxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJpbmRleCA8IDMgfHwgKGluZGV4ID09PSAzICYmIGlzTGFzdClcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2dhbGxlcnktaW1hZ2VcIlxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiZ2FsbGVyeS1pbWFnZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZU1vZGFsKGF0dGFjaG1lbnQuaW1hZ2VzISwgaW5kZXgpXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib3BlbkltYWdlTW9kYWwoYXR0YWNobWVudC5pbWFnZXMhLCBpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgZ2FsbGVyeUltYWdlLmltZ191cmwgfHxcbiAgICAgICAgICAgICAgZ2FsbGVyeUltYWdlLnRodW1iX3VybCB8fFxuICAgICAgICAgICAgICBnYWxsZXJ5SW1hZ2UuaW1hZ2VfdXJsXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2FsdF09XCJnYWxsZXJ5SW1hZ2UuZmFsbGJhY2tcIlxuICAgICAgICAgICAgKGxvYWQpPVwiaW1hZ2VMb2FkZWQoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImluZGV4ID09PSAzICYmICFpc0xhc3RcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2dhbGxlcnktcGxhY2Vob2xkZXJcIlxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiZ2FsbGVyeS1pbWFnZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZU1vZGFsKGF0dGFjaG1lbnQuaW1hZ2VzISwgaW5kZXgpXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib3BlbkltYWdlTW9kYWwoYXR0YWNobWVudC5pbWFnZXMhLCBpbmRleClcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzpcbiAgICAgICAgICAgICAgJ3VybCgnICtcbiAgICAgICAgICAgICAgKGdhbGxlcnlJbWFnZS5pbWdfdXJsIHx8XG4gICAgICAgICAgICAgICAgZ2FsbGVyeUltYWdlLnRodW1iX3VybCB8fFxuICAgICAgICAgICAgICAgIGdhbGxlcnlJbWFnZS5pbWFnZV91cmwpICtcbiAgICAgICAgICAgICAgJyknXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgJ3N0cmVhbUNoYXQue3sgaW1hZ2VDb3VudCB9fSBtb3JlJ1xuICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGltYWdlQ291bnQ6IGF0dGFjaG1lbnQhLmltYWdlcyEubGVuZ3RoIC0gNCB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L3A+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJpc0ZpbGUoYXR0YWNobWVudClcIlxuICAgICAgY2xhc3M9XCJcbiAgICAgICAgc3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1maWxlLS1pdGVtXG4gICAgICAgIHN0ci1jaGF0LWFuZ3VsYXJfX21lc3NhZ2UtYXR0YWNobWVudC1maWxlLXNpbmdsZVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8c3RyZWFtLWljb24tcGxhY2Vob2xkZXJcbiAgICAgICAgaWNvbj1cImZpbGVcIlxuICAgICAgICBbc2l6ZV09XCIzMFwiXG4gICAgICA+PC9zdHJlYW0taWNvbi1wbGFjZWhvbGRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtLWl0ZW0tdGV4dFwiPlxuICAgICAgICA8YVxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiZmlsZS1saW5rXCJcbiAgICAgICAgICBkb3dubG9hZFxuICAgICAgICAgIGhyZWY9XCJ7eyBhdHRhY2htZW50LmFzc2V0X3VybCB9fVwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGF0dGFjaG1lbnQudGl0bGUgfX1cbiAgICAgICAgPC9hPlxuICAgICAgICA8c3BhbiBkYXRhLXRlc3RjbGFzcz1cInNpemVcIiAqbmdJZj1cImhhc0ZpbGVTaXplKGF0dGFjaG1lbnQpXCI+e3tcbiAgICAgICAgICBnZXRGaWxlU2l6ZShhdHRhY2htZW50KVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaXNDYXJkKGF0dGFjaG1lbnQpXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkIHN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtY2FyZC0te3tcbiAgICAgICAgYXR0YWNobWVudC50eXBlXG4gICAgICB9fVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQuaW1hZ2VfdXJsIHx8IGF0dGFjaG1lbnQudGh1bWJfdXJsXCJcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLWhlYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICBkYXRhLXRlc3RjbGFzcz1cImNhcmQtaW1nXCJcbiAgICAgICAgICBhbHQ9XCJ7eyBhdHRhY2htZW50LmltYWdlX3VybCB8fCBhdHRhY2htZW50LnRodW1iX3VybCB9fVwiXG4gICAgICAgICAgc3JjPVwie3sgYXR0YWNobWVudC5pbWFnZV91cmwgfHwgYXR0YWNobWVudC50aHVtYl91cmwgfX1cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQudGl0bGVcIlxuICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJjYXJkLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS10aXRsZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgYXR0YWNobWVudC50aXRsZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiYXR0YWNobWVudC50ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS10ZXh0XCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiY2FyZC10ZXh0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBhdHRhY2htZW50LnRleHQgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLXVybFwiXG4gICAgICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmxcIlxuICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJ1cmwtbGlua1wiXG4gICAgICAgICAgICBub29wZW5lclxuICAgICAgICAgICAgbm9yZWZlcnJlclxuICAgICAgICAgICAgaHJlZj1cInt7IGF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmwgfX1cIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB0cmltVXJsKGF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmwpIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zXCJcbiAgICAgICpuZ0lmPVwiYXR0YWNobWVudC5hY3Rpb25zICYmIGF0dGFjaG1lbnQuYWN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zLWZvcm1cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYXR0YWNobWVudC5hY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uVmFsdWVcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zLWJ1dHRvbiBzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWFjdGlvbnMtYnV0dG9uLS17e1xuICAgICAgICAgICAgYWN0aW9uLnN0eWxlXG4gICAgICAgICAgfX1cIlxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiYXR0YWNobWVudC1hY3Rpb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZW5kQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzZW5kQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aW9uLnRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlc1RvVmlldyAmJiBpbWFnZXNUb1ZpZXcubGVuZ3RoID4gMFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIChjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLm1vZGFsVGVtcGxhdGUkIHwgYXN5bmMpIHx8IGRlZmF1bHRNb2RhbDtcbiAgICAgIGNvbnRleHQ6IGdldE1vZGFsQ29udGV4dCgpXG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdE1vZGFsXG4gIGxldC1pc09wZW49XCJpc09wZW5cIlxuICBsZXQtaXNPcGVuQ2hhbmdlSGFuZGxlcj1cImlzT3BlbkNoYW5nZUhhbmRsZXJcIlxuICBsZXQtY29udGVudD1cImNvbnRlbnRcIlxuPlxuICA8c3RyZWFtLW1vZGFsXG4gICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgICBbY29udGVudF09XCJjb250ZW50XCJcbiAgPlxuICA8L3N0cmVhbS1tb2RhbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxDb250ZW50PlxuICA8ZGl2IGNsYXNzPVwic3RyZWFtLWNoYXQtYW5ndWxhcl9faW1hZ2UtbW9kYWxcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInN0cmVhbS1jaGF0LWFuZ3VsYXJfX2ltYWdlLW1vZGFsLXN0ZXBwZXJcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICB2aXNpYmlsaXR5OiBpc0ltYWdlTW9kYWxQcmV2QnV0dG9uVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXG4gICAgICB9XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW1hZ2UtbW9kYWwtcHJldlwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJzdGVwSW1hZ2VzKC0xKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwic3RlcEltYWdlcygtMSlcIlxuICAgID5cbiAgICAgIDxzdHJlYW0taWNvbi1wbGFjZWhvbGRlciBpY29uPVwiYXJyb3ctbGVmdFwiPjwvc3RyZWFtLWljb24tcGxhY2Vob2xkZXI+XG4gICAgPC9idXR0b24+XG4gICAgPGltZ1xuICAgICAgY2xhc3M9XCJzdHJlYW0tY2hhdC1hbmd1bGFyX19pbWFnZS1tb2RhbC1pbWFnZVwiXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWltYWdlXCJcbiAgICAgIFtzcmNdPVwiXG4gICAgICAgIGltYWdlc1RvVmlld1tpbWFnZXNUb1ZpZXdDdXJyZW50SW5kZXhdLmltZ191cmwgfHxcbiAgICAgICAgaW1hZ2VzVG9WaWV3W2ltYWdlc1RvVmlld0N1cnJlbnRJbmRleF0udGh1bWJfdXJsIHx8XG4gICAgICAgIGltYWdlc1RvVmlld1tpbWFnZXNUb1ZpZXdDdXJyZW50SW5kZXhdLmltYWdlX3VybFxuICAgICAgXCJcbiAgICAgIFthbHRdPVwiaW1hZ2VzVG9WaWV3W2ltYWdlc1RvVmlld0N1cnJlbnRJbmRleF0uZmFsbGJhY2tcIlxuICAgIC8+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJzdHJlYW0tY2hhdC1hbmd1bGFyX19pbWFnZS1tb2RhbC1zdGVwcGVyXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICB2aXNpYmlsaXR5OiBpc0ltYWdlTW9kYWxOZXh0QnV0dG9uVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXG4gICAgICB9XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW1hZ2UtbW9kYWwtbmV4dFwiXG4gICAgICAoY2xpY2spPVwic3RlcEltYWdlcygxKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwic3RlcEltYWdlcygxKVwiXG4gICAgPlxuICAgICAgPHN0cmVhbS1pY29uLXBsYWNlaG9sZGVyIGljb249XCJhcnJvdy1yaWdodFwiPjwvc3RyZWFtLWljb24tcGxhY2Vob2xkZXI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9hdHRhY2htZW50LWxpc3QvYXR0YWNobWVudC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLFdBQVcsTUFBTSxjQUFjLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7OztBQUkzRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7SUFlbEMsWUFDa0Isc0JBQThDLEVBQ3RELGdCQUFrQyxFQUNsQyxjQUE4QjtRQUZ0QiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQ3RELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBYnhDOztXQUVHO1FBQ00sZ0JBQVcsR0FBNEMsRUFBRSxDQUFDO1FBQ25FLHVCQUFrQixHQUE0QyxFQUFFLENBQUM7UUFDakUsaUJBQVksR0FBNEMsRUFBRSxDQUFDO1FBQzNELDZCQUF3QixHQUFHLENBQUMsQ0FBQztJQVExQixDQUFDO0lBRUosV0FBVztRQUNULE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENB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SUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbiwgQXR0YWNobWVudCB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IEltYWdlTG9hZFNlcnZpY2UgfSBmcm9tICcuLi9tZXNzYWdlLWxpc3QvaW1hZ2UtbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGFsQ29udGV4dCwgRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCBwcmV0dHlieXRlcyBmcm9tICdwcmV0dHktYnl0ZXMnO1xuaW1wb3J0IHsgaXNJbWFnZUF0dGFjaG1lbnQgfSBmcm9tICcuLi9pcy1pbWFnZS1hdHRhY2htZW50JztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi9jdXN0b20tdGVtcGxhdGVzLnNlcnZpY2UnO1xuXG4vKipcbiAqIFRoZSBgQXR0YWNobWVudExpc3RgIGNvbXBvbnRlbnQgZGlzcGxheXMgdGhlIGF0dGFjaG1lbnRzIG9mIGEgbWVzc2FnZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tYXR0YWNobWVudC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F0dGFjaG1lbnQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIEF0dGFjaG1lbnRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgbWVzc2FnZSB0aGUgYXR0YWNobWVudHMgYmVsb25nIHRvXG4gICAqL1xuICBASW5wdXQoKSBtZXNzYWdlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIFRoZSBhdHRhY2htZW50cyB0byBkaXNwbGF5XG4gICAqL1xuICBASW5wdXQoKSBhdHRhY2htZW50czogQXR0YWNobWVudDxEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzPltdID0gW107XG4gIG9yZGVyZWRBdHRhY2htZW50czogQXR0YWNobWVudDxEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzPltdID0gW107XG4gIGltYWdlc1RvVmlldzogQXR0YWNobWVudDxEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzPltdID0gW107XG4gIGltYWdlc1RvVmlld0N1cnJlbnRJbmRleCA9IDA7XG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHByaXZhdGUgbW9kYWxDb250ZW50ITogVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGN1c3RvbVRlbXBsYXRlc1NlcnZpY2U6IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbWFnZUxvYWRTZXJ2aWNlOiBJbWFnZUxvYWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlXG4gICkge31cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBjb25zdCBpbWFnZXMgPSB0aGlzLmF0dGFjaG1lbnRzLmZpbHRlcih0aGlzLmlzSW1hZ2UpO1xuICAgIGNvbnN0IGNvbnRhaW5zR2FsbGVyeSA9IGltYWdlcy5sZW5ndGggPj0gMjtcbiAgICB0aGlzLm9yZGVyZWRBdHRhY2htZW50cyA9IFtcbiAgICAgIC4uLihjb250YWluc0dhbGxlcnkgPyB0aGlzLmNyZWF0ZUdhbGxlcnkoaW1hZ2VzKSA6IGltYWdlcyksXG4gICAgICAuLi50aGlzLmF0dGFjaG1lbnRzLmZpbHRlcigoYSkgPT4gdGhpcy5pc0ZpbGUoYSkpLFxuICAgICAgLi4udGhpcy5hdHRhY2htZW50cy5maWx0ZXIoKGEpID0+IHRoaXMuaXNDYXJkKGEpKSxcbiAgICBdO1xuICB9XG5cbiAgdHJhY2tCeUlkKGluZGV4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBpc0ltYWdlKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpIHtcbiAgICByZXR1cm4gaXNJbWFnZUF0dGFjaG1lbnQoYXR0YWNobWVudCk7XG4gIH1cblxuICBpc0ZpbGUoYXR0YWNobWVudDogQXR0YWNobWVudCkge1xuICAgIHJldHVybiBhdHRhY2htZW50LnR5cGUgPT09ICdmaWxlJztcbiAgfVxuXG4gIGlzR2FsbGVyeShhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XG4gICAgcmV0dXJuIGF0dGFjaG1lbnQudHlwZSA9PT0gJ2dhbGxlcnknO1xuICB9XG5cbiAgaXNDYXJkKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgIWF0dGFjaG1lbnQudHlwZSB8fFxuICAgICAgKGF0dGFjaG1lbnQudHlwZSA9PT0gJ2ltYWdlJyAmJiAhdGhpcy5pc0ltYWdlKGF0dGFjaG1lbnQpKSB8fFxuICAgICAgYXR0YWNobWVudC50eXBlID09PSAnZ2lwaHknXG4gICAgKTtcbiAgfVxuXG4gIGltYWdlTG9hZGVkKCkge1xuICAgIHRoaXMuaW1hZ2VMb2FkU2VydmljZS5pbWFnZUxvYWQkLm5leHQoKTtcbiAgfVxuXG4gIGhhc0ZpbGVTaXplKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQ8RGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcz4pIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXR0YWNobWVudC5maWxlX3NpemUgJiYgTnVtYmVyLmlzRmluaXRlKE51bWJlcihhdHRhY2htZW50LmZpbGVfc2l6ZSkpXG4gICAgKTtcbiAgfVxuXG4gIGdldEZpbGVTaXplKGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQ8RGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcz4pIHtcbiAgICByZXR1cm4gcHJldHR5Ynl0ZXMoTnVtYmVyKGF0dGFjaG1lbnQuZmlsZV9zaXplISkpO1xuICB9XG5cbiAgZ2V0TW9kYWxDb250ZXh0KCk6IE1vZGFsQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzT3BlbjogdGhpcy5pbWFnZXNUb1ZpZXcgJiYgdGhpcy5pbWFnZXNUb1ZpZXcubGVuZ3RoID4gMCxcbiAgICAgIGlzT3BlbkNoYW5nZUhhbmRsZXI6IChpc09wZW4pID0+IChpc09wZW4gPyBudWxsIDogdGhpcy5jbG9zZUltYWdlTW9kYWwoKSksXG4gICAgICBjb250ZW50OiB0aGlzLm1vZGFsQ29udGVudCxcbiAgICB9O1xuICB9XG5cbiAgdHJpbVVybCh1cmw/OiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHVybCAhPT0gdW5kZWZpbmVkICYmIHVybCAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgW3RyaW1tZWRVcmxdID0gdXJsXG4gICAgICAgIC5yZXBsYWNlKC9eKD86aHR0cHM/OlxcL1xcLyk/KD86d3d3XFwuKT8vaSwgJycpXG4gICAgICAgIC5zcGxpdCgnLycpO1xuXG4gICAgICByZXR1cm4gdHJpbW1lZFVybDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZW5kQWN0aW9uKGFjdGlvbjogQWN0aW9uKSB7XG4gICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNlbmRBY3Rpb24odGhpcy5tZXNzYWdlSWQhLCB7XG4gICAgICBbYWN0aW9uLm5hbWUhXTogYWN0aW9uLnZhbHVlISxcbiAgICB9KTtcbiAgfVxuXG4gIHRyYWNrQnlBY3Rpb25WYWx1ZShfOiBudW1iZXIsIGl0ZW06IEFjdGlvbikge1xuICAgIHJldHVybiBpdGVtLnZhbHVlO1xuICB9XG5cbiAgb3BlbkltYWdlTW9kYWwoYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXSwgc2VsZWN0ZWRJbmRleCA9IDApIHtcbiAgICB0aGlzLmltYWdlc1RvVmlldyA9IGF0dGFjaG1lbnRzO1xuICAgIHRoaXMuaW1hZ2VzVG9WaWV3Q3VycmVudEluZGV4ID0gc2VsZWN0ZWRJbmRleDtcbiAgfVxuXG4gIHN0ZXBJbWFnZXMoZGlyOiAtMSB8IDEpIHtcbiAgICB0aGlzLmltYWdlc1RvVmlld0N1cnJlbnRJbmRleCArPSBkaXIgKiAxO1xuICB9XG5cbiAgdHJhY2tCeUltYWdlVXJsKF86IG51bWJlciwgaXRlbTogQXR0YWNobWVudCkge1xuICAgIHJldHVybiBpdGVtLmltYWdlX3VybCB8fCBpdGVtLmltZ191cmwgfHwgaXRlbS50aHVtYl91cmw7XG4gIH1cblxuICBnZXQgaXNJbWFnZU1vZGFsUHJldkJ1dHRvblZpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW1hZ2VzVG9WaWV3Q3VycmVudEluZGV4ICE9PSAwO1xuICB9XG5cbiAgZ2V0IGlzSW1hZ2VNb2RhbE5leHRCdXR0b25WaXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLmltYWdlc1RvVmlld0N1cnJlbnRJbmRleCAhPT0gdGhpcy5pbWFnZXNUb1ZpZXcubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlR2FsbGVyeShpbWFnZXM6IEF0dGFjaG1lbnRbXSkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdnYWxsZXJ5JyxcbiAgICAgICAgaW1hZ2VzLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUltYWdlTW9kYWwoKSB7XG4gICAgdGhpcy5pbWFnZXNUb1ZpZXcgPSBbXTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0YWNobWVudCBvZiBvcmRlcmVkQXR0YWNobWVudHM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiPlxuICA8ZGl2XG4gICAgZGF0YS10ZXN0Y2xhc3M9XCJhdHRhY2htZW50LWNvbnRhaW5lclwiXG4gICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50IHN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLXt7XG4gICAgICBhdHRhY2htZW50LnR5cGVcbiAgICB9fVwiXG4gICAgW2NsYXNzLnN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLWNhcmRdPVwiaXNDYXJkKGF0dGFjaG1lbnQpXCJcbiAgICBbY2xhc3Muc3RyLWNoYXQtYW5ndWxhcl9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtc2luZ2xlXT1cIlxuICAgICAgaXNGaWxlKGF0dGFjaG1lbnQpXG4gICAgXCJcbiAgPlxuICAgIDxpbWdcbiAgICAgICpuZ0lmPVwiaXNJbWFnZShhdHRhY2htZW50KVwiXG4gICAgICBjbGFzcz1cInN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtLWltZ1wiXG4gICAgICBkYXRhLXRlc3RjbGFzcz1cImltYWdlXCJcbiAgICAgIFtzcmNdPVwiYXR0YWNobWVudC5pbWdfdXJsIHx8IGF0dGFjaG1lbnQudGh1bWJfdXJsIHx8IGF0dGFjaG1lbnQuaW1hZ2VfdXJsXCJcbiAgICAgIFthbHRdPVwiYXR0YWNobWVudD8uZmFsbGJhY2tcIlxuICAgICAgKGxvYWQpPVwiaW1hZ2VMb2FkZWQoKVwiXG4gICAgICAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoW2F0dGFjaG1lbnRdKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwib3BlbkltYWdlTW9kYWwoW2F0dGFjaG1lbnRdKVwiXG4gICAgLz5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInN0ci1jaGF0X19nYWxsZXJ5XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW1hZ2UtZ2FsbGVyeVwiXG4gICAgICAqbmdJZj1cImlzR2FsbGVyeShhdHRhY2htZW50KVwiXG4gICAgICBbY2xhc3Muc3RyLWNoYXRfX2dhbGxlcnktLXNxdWFyZV09XCIoYXR0YWNobWVudD8uaW1hZ2VzKSEubGVuZ3RoID4gM1wiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICBsZXQgZ2FsbGVyeUltYWdlIG9mIGF0dGFjaG1lbnQuaW1hZ2VzO1xuICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgIGxldCBpc0xhc3QgPSBsYXN0O1xuICAgICAgICAgIHRyYWNrQnk6IHRyYWNrQnlJbWFnZVVybFxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJpbmRleCA8IDMgfHwgKGluZGV4ID09PSAzICYmIGlzTGFzdClcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2dhbGxlcnktaW1hZ2VcIlxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiZ2FsbGVyeS1pbWFnZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZU1vZGFsKGF0dGFjaG1lbnQuaW1hZ2VzISwgaW5kZXgpXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib3BlbkltYWdlTW9kYWwoYXR0YWNobWVudC5pbWFnZXMhLCBpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgZ2FsbGVyeUltYWdlLmltZ191cmwgfHxcbiAgICAgICAgICAgICAgZ2FsbGVyeUltYWdlLnRodW1iX3VybCB8fFxuICAgICAgICAgICAgICBnYWxsZXJ5SW1hZ2UuaW1hZ2VfdXJsXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW2FsdF09XCJnYWxsZXJ5SW1hZ2UuZmFsbGJhY2tcIlxuICAgICAgICAgICAgKGxvYWQpPVwiaW1hZ2VMb2FkZWQoKVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cImluZGV4ID09PSAzICYmICFpc0xhc3RcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2dhbGxlcnktcGxhY2Vob2xkZXJcIlxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiZ2FsbGVyeS1pbWFnZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZU1vZGFsKGF0dGFjaG1lbnQuaW1hZ2VzISwgaW5kZXgpXCJcbiAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib3BlbkltYWdlTW9kYWwoYXR0YWNobWVudC5pbWFnZXMhLCBpbmRleClcIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICdiYWNrZ3JvdW5kLWltYWdlJzpcbiAgICAgICAgICAgICAgJ3VybCgnICtcbiAgICAgICAgICAgICAgKGdhbGxlcnlJbWFnZS5pbWdfdXJsIHx8XG4gICAgICAgICAgICAgICAgZ2FsbGVyeUltYWdlLnRodW1iX3VybCB8fFxuICAgICAgICAgICAgICAgIGdhbGxlcnlJbWFnZS5pbWFnZV91cmwpICtcbiAgICAgICAgICAgICAgJyknXG4gICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cFxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgJ3N0cmVhbUNoYXQue3sgaW1hZ2VDb3VudCB9fSBtb3JlJ1xuICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IGltYWdlQ291bnQ6IGF0dGFjaG1lbnQhLmltYWdlcyEubGVuZ3RoIC0gNCB9XG4gICAgICAgICAgICBcIlxuICAgICAgICAgID48L3A+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJpc0ZpbGUoYXR0YWNobWVudClcIlxuICAgICAgY2xhc3M9XCJcbiAgICAgICAgc3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1maWxlLS1pdGVtXG4gICAgICAgIHN0ci1jaGF0LWFuZ3VsYXJfX21lc3NhZ2UtYXR0YWNobWVudC1maWxlLXNpbmdsZVxuICAgICAgXCJcbiAgICA+XG4gICAgICA8c3RyZWFtLWljb24tcGxhY2Vob2xkZXJcbiAgICAgICAgaWNvbj1cImZpbGVcIlxuICAgICAgICBbc2l6ZV09XCIzMFwiXG4gICAgICA+PC9zdHJlYW0taWNvbi1wbGFjZWhvbGRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWZpbGUtLWl0ZW0tdGV4dFwiPlxuICAgICAgICA8YVxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiZmlsZS1saW5rXCJcbiAgICAgICAgICBkb3dubG9hZFxuICAgICAgICAgIGhyZWY9XCJ7eyBhdHRhY2htZW50LmFzc2V0X3VybCB9fVwiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGF0dGFjaG1lbnQudGl0bGUgfX1cbiAgICAgICAgPC9hPlxuICAgICAgICA8c3BhbiBkYXRhLXRlc3RjbGFzcz1cInNpemVcIiAqbmdJZj1cImhhc0ZpbGVTaXplKGF0dGFjaG1lbnQpXCI+e3tcbiAgICAgICAgICBnZXRGaWxlU2l6ZShhdHRhY2htZW50KVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICpuZ0lmPVwiaXNDYXJkKGF0dGFjaG1lbnQpXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkIHN0ci1jaGF0X19tZXNzYWdlLWF0dGFjaG1lbnQtY2FyZC0te3tcbiAgICAgICAgYXR0YWNobWVudC50eXBlXG4gICAgICB9fVwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQuaW1hZ2VfdXJsIHx8IGF0dGFjaG1lbnQudGh1bWJfdXJsXCJcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLWhlYWRlclwiXG4gICAgICA+XG4gICAgICAgIDxpbWdcbiAgICAgICAgICBkYXRhLXRlc3RjbGFzcz1cImNhcmQtaW1nXCJcbiAgICAgICAgICBhbHQ9XCJ7eyBhdHRhY2htZW50LmltYWdlX3VybCB8fCBhdHRhY2htZW50LnRodW1iX3VybCB9fVwiXG4gICAgICAgICAgc3JjPVwie3sgYXR0YWNobWVudC5pbWFnZV91cmwgfHwgYXR0YWNobWVudC50aHVtYl91cmwgfX1cIlxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS1jb250ZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQudGl0bGVcIlxuICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJjYXJkLXRpdGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS10aXRsZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgYXR0YWNobWVudC50aXRsZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiYXR0YWNobWVudC50ZXh0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1jYXJkLS10ZXh0XCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiY2FyZC10ZXh0XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBhdHRhY2htZW50LnRleHQgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8YVxuICAgICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWNhcmQtLXVybFwiXG4gICAgICAgICAgICAqbmdJZj1cImF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmxcIlxuICAgICAgICAgICAgZGF0YS10ZXN0Y2xhc3M9XCJ1cmwtbGlua1wiXG4gICAgICAgICAgICBub29wZW5lclxuICAgICAgICAgICAgbm9yZWZlcnJlclxuICAgICAgICAgICAgaHJlZj1cInt7IGF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmwgfX1cIlxuICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyB0cmltVXJsKGF0dGFjaG1lbnQudGl0bGVfbGluayB8fCBhdHRhY2htZW50Lm9nX3NjcmFwZV91cmwpIH19XG4gICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zXCJcbiAgICAgICpuZ0lmPVwiYXR0YWNobWVudC5hY3Rpb25zICYmIGF0dGFjaG1lbnQuYWN0aW9ucy5sZW5ndGggPiAwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zLWZvcm1cIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYXR0YWNobWVudC5hY3Rpb25zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uVmFsdWVcIlxuICAgICAgICAgIGNsYXNzPVwic3RyLWNoYXRfX21lc3NhZ2UtYXR0YWNobWVudC1hY3Rpb25zLWJ1dHRvbiBzdHItY2hhdF9fbWVzc2FnZS1hdHRhY2htZW50LWFjdGlvbnMtYnV0dG9uLS17e1xuICAgICAgICAgICAgYWN0aW9uLnN0eWxlXG4gICAgICAgICAgfX1cIlxuICAgICAgICAgIGRhdGEtdGVzdGNsYXNzPVwiYXR0YWNobWVudC1hY3Rpb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZW5kQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJzZW5kQWN0aW9uKGFjdGlvbilcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aW9uLnRleHQgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImltYWdlc1RvVmlldyAmJiBpbWFnZXNUb1ZpZXcubGVuZ3RoID4gMFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIChjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLm1vZGFsVGVtcGxhdGUkIHwgYXN5bmMpIHx8IGRlZmF1bHRNb2RhbDtcbiAgICAgIGNvbnRleHQ6IGdldE1vZGFsQ29udGV4dCgpXG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdE1vZGFsXG4gIGxldC1pc09wZW49XCJpc09wZW5cIlxuICBsZXQtaXNPcGVuQ2hhbmdlSGFuZGxlcj1cImlzT3BlbkNoYW5nZUhhbmRsZXJcIlxuICBsZXQtY29udGVudD1cImNvbnRlbnRcIlxuPlxuICA8c3RyZWFtLW1vZGFsXG4gICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgIChpc09wZW5DaGFuZ2UpPVwiaXNPcGVuQ2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgICBbY29udGVudF09XCJjb250ZW50XCJcbiAgPlxuICA8L3N0cmVhbS1tb2RhbD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbW9kYWxDb250ZW50PlxuICA8ZGl2IGNsYXNzPVwic3RyZWFtLWNoYXQtYW5ndWxhcl9faW1hZ2UtbW9kYWxcIj5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cInN0cmVhbS1jaGF0LWFuZ3VsYXJfX2ltYWdlLW1vZGFsLXN0ZXBwZXJcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICB2aXNpYmlsaXR5OiBpc0ltYWdlTW9kYWxQcmV2QnV0dG9uVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXG4gICAgICB9XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW1hZ2UtbW9kYWwtcHJldlwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJzdGVwSW1hZ2VzKC0xKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwic3RlcEltYWdlcygtMSlcIlxuICAgID5cbiAgICAgIDxzdHJlYW0taWNvbi1wbGFjZWhvbGRlciBpY29uPVwiYXJyb3ctbGVmdFwiPjwvc3RyZWFtLWljb24tcGxhY2Vob2xkZXI+XG4gICAgPC9idXR0b24+XG4gICAgPGltZ1xuICAgICAgY2xhc3M9XCJzdHJlYW0tY2hhdC1hbmd1bGFyX19pbWFnZS1tb2RhbC1pbWFnZVwiXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWltYWdlXCJcbiAgICAgIFtzcmNdPVwiXG4gICAgICAgIGltYWdlc1RvVmlld1tpbWFnZXNUb1ZpZXdDdXJyZW50SW5kZXhdLmltZ191cmwgfHxcbiAgICAgICAgaW1hZ2VzVG9WaWV3W2ltYWdlc1RvVmlld0N1cnJlbnRJbmRleF0udGh1bWJfdXJsIHx8XG4gICAgICAgIGltYWdlc1RvVmlld1tpbWFnZXNUb1ZpZXdDdXJyZW50SW5kZXhdLmltYWdlX3VybFxuICAgICAgXCJcbiAgICAgIFthbHRdPVwiaW1hZ2VzVG9WaWV3W2ltYWdlc1RvVmlld0N1cnJlbnRJbmRleF0uZmFsbGJhY2tcIlxuICAgIC8+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJzdHJlYW0tY2hhdC1hbmd1bGFyX19pbWFnZS1tb2RhbC1zdGVwcGVyXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICB2aXNpYmlsaXR5OiBpc0ltYWdlTW9kYWxOZXh0QnV0dG9uVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXG4gICAgICB9XCJcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW1hZ2UtbW9kYWwtbmV4dFwiXG4gICAgICAoY2xpY2spPVwic3RlcEltYWdlcygxKVwiXG4gICAgICAoa2V5dXAuZW50ZXIpPVwic3RlcEltYWdlcygxKVwiXG4gICAgPlxuICAgICAgPHN0cmVhbS1pY29uLXBsYWNlaG9sZGVyIGljb249XCJhcnJvdy1yaWdodFwiPjwvc3RyZWFtLWljb24tcGxhY2Vob2xkZXI+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -89,19 +89,25 @@ export class AttachmentService {
89
89
  deleteAttachment(upload) {
90
90
  return __awaiter(this, void 0, void 0, function* () {
91
91
  const attachmentUploads = this.attachmentUploadsSubject.getValue();
92
+ let result;
92
93
  if (upload.state === 'success') {
93
94
  try {
94
95
  yield this.channelService.deleteAttachment(upload);
95
- attachmentUploads.splice(attachmentUploads.indexOf(upload), 1);
96
+ result = [...attachmentUploads];
97
+ const index = attachmentUploads.indexOf(upload);
98
+ result.splice(index, 1);
96
99
  }
97
100
  catch (error) {
101
+ result = attachmentUploads;
98
102
  this.notificationService.addTemporaryNotification('streamChat.Error deleting attachment');
99
103
  }
100
104
  }
101
105
  else {
102
- attachmentUploads.splice(attachmentUploads.indexOf(upload), 1);
106
+ result = [...attachmentUploads];
107
+ const index = attachmentUploads.indexOf(upload);
108
+ result.splice(index, 1);
103
109
  }
104
- this.attachmentUploadsSubject.next([...attachmentUploads]);
110
+ this.attachmentUploadsSubject.next([...result]);
105
111
  });
106
112
  }
107
113
  /**
@@ -183,9 +189,9 @@ export class AttachmentService {
183
189
  }
184
190
  uploadAttachments(uploads) {
185
191
  return __awaiter(this, void 0, void 0, function* () {
186
- const attachmentUploads = this.attachmentUploadsSubject.getValue();
187
192
  this.attachmentUploadInProgressCounterSubject.next(this.attachmentUploadInProgressCounterSubject.getValue() + 1);
188
193
  const result = yield this.channelService.uploadAttachments(uploads);
194
+ const attachmentUploads = this.attachmentUploadsSubject.getValue();
189
195
  result.forEach((r) => {
190
196
  const upload = attachmentUploads.find((upload) => upload.file === r.file);
191
197
  if (!upload) {
@@ -215,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
215
221
  providedIn: 'root',
216
222
  }]
217
223
  }], ctorParameters: function () { return [{ type: i1.ChannelService }, { type: i2.NotificationService }]; } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2F0dGFjaG1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUkxRDs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFlNUIsWUFDVSxjQUE4QixFQUM5QixtQkFBd0M7UUFEeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFSMUMsNkNBQXdDLEdBQzlDLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUNwRCxFQUFFLENBQ0gsQ0FBQztRQU1BLElBQUksQ0FBQyxrQ0FBa0M7WUFDckMsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDRyxhQUFhLENBQUMsUUFBeUI7O1lBQzNDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsT0FBTzthQUNSO1lBQ0QsTUFBTSxVQUFVLEdBQVcsRUFBRSxDQUFDO1lB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LEtBQUssT0FBTyxFQUFFO29CQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLENBQy9DLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTzt3QkFDckIsQ0FBQyxDQUFDLGtDQUFrQzt3QkFDcEMsQ0FBQyxDQUFDLGlDQUFpQyxDQUN0QyxDQUFDO2lCQUNIO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsd0NBQXdDLENBQUMsSUFBSSxDQUNoRCxJQUFJLENBQUMsd0NBQXdDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUM3RCxDQUFDO1lBQ0YsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FBQTs7OEdBck5VLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzSW1hZ2VGaWxlIH0gZnJvbSAnLi9pcy1pbWFnZS1maWxlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXR0YWNobWVudCB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNJbWFnZUF0dGFjaG1lbnQgfSBmcm9tICcuL2lzLWltYWdlLWF0dGFjaG1lbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXR0YWNobWVudFVwbG9hZCB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRoZSBgQXR0YWNobWVudFNlcnZpY2VgIG1hbmFnZXMgdGhlIHVwbG9hZHMgb2YgYSBtZXNzYWdlIGlucHV0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudFNlcnZpY2Uge1xuICAvKipcbiAgICogRW1pdHMgdGhlIG51bWJlciBvZiB1cGxvYWRzIGluIHByb2dyZXNzLlxuICAgKi9cbiAgYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyJDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICAvKipcbiAgICogRW1pdHMgdGhlIHN0YXRlIG9mIHRoZSB1cGxvYWRzIChbYEF0dGFjaG1lbnRVcGxvYWRbXWBdKGh0dHBzOi8vZ2l0aHViLmNvbS9HZXRTdHJlYW0vc3RyZWFtLWNoYXQtYW5ndWxhci9ibG9iL21hc3Rlci9wcm9qZWN0cy9zdHJlYW0tY2hhdC1hbmd1bGFyL3NyYy9saWIvdHlwZXMudHMpKSwgaXQgYWRkcyBhIHN0YXRlIChgc3VjY2Vzc2AsIGBlcnJvcmAgb3IgYHVwbG9hZGluZ2ApIHRvIGVhY2ggZmlsZSB0aGUgdXNlciBzZWxlY3RzIGZvciB1cGxvYWQuIEl0IGlzIHVzZWQgYnkgdGhlIFtgQXR0YWNobWVudFByZXZpZXdMaXN0YF0oLi4vY29tcG9uZW50cy9BdHRhY2htZW50UHJldmlld0xpc3RDb21wb25lbnQubWR4KSB0byBkaXNwbGF5IHRoZSBhdHRhY2htZW50IHByZXZpZXdzLlxuICAgKi9cbiAgYXR0YWNobWVudFVwbG9hZHMkOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnRVcGxvYWRbXT47XG4gIHByaXZhdGUgYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdCA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwcml2YXRlIGF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXR0YWNobWVudFVwbG9hZFtdPihcbiAgICBbXVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZVxuICApIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlciQgPVxuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHMkID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBhdHRhY2htZW50cyB1cGxvYWRzIChmb3IgZXhhbXBsZSBhZnRlciB0aGUgbWVzc2FnZSB3aXRoIHRoZSBhdHRhY2htZW50cyBzZW50IHN1Y2Nlc3NmdWxseSlcbiAgICovXG4gIHJlc2V0QXR0YWNobWVudFVwbG9hZHMoKSB7XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QubmV4dChbXSk7XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkcyB0aGUgc2VsZWN0ZWQgZmlsZXMsIGFuZCBjcmVhdGVzIHByZXZpZXcgZm9yIGltYWdlIGZpbGVzLiBUaGUgcmVzdWx0IGlzIHByb3BhZ2F0ZWQgdGhyb3VnaHQgdGhlIGBhdHRhY2htZW50VXBsb2FkcyRgIHN0cmVhbS5cbiAgICogQHBhcmFtIGZpbGVMaXN0IFRoZSBmaWxlcyBzZWxlY3RlZCBieSB0aGUgdXNlclxuICAgKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzdWx0XG4gICAqL1xuICBhc3luYyBmaWxlc1NlbGVjdGVkKGZpbGVMaXN0OiBGaWxlTGlzdCB8IG51bGwpIHtcbiAgICBpZiAoIWZpbGVMaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGltYWdlRmlsZXM6IEZpbGVbXSA9IFtdO1xuICAgIGNvbnN0IGRhdGFGaWxlczogRmlsZVtdID0gW107XG5cbiAgICBBcnJheS5mcm9tKGZpbGVMaXN0KS5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICBpZiAoaXNJbWFnZUZpbGUoZmlsZSkpIHtcbiAgICAgICAgaW1hZ2VGaWxlcy5wdXNoKGZpbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0YUZpbGVzLnB1c2goZmlsZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW1hZ2VGaWxlcy5mb3JFYWNoKChmKSA9PiB0aGlzLmNyZWF0ZVByZXZpZXcoZikpO1xuICAgIGNvbnN0IG5ld1VwbG9hZHMgPSBbXG4gICAgICAuLi5pbWFnZUZpbGVzLm1hcCgoZmlsZSkgPT4gKHtcbiAgICAgICAgZmlsZSxcbiAgICAgICAgc3RhdGU6ICd1cGxvYWRpbmcnIGFzICd1cGxvYWRpbmcnLFxuICAgICAgICB0eXBlOiAnaW1hZ2UnIGFzICdpbWFnZScsXG4gICAgICB9KSksXG4gICAgICAuLi5kYXRhRmlsZXMubWFwKChmaWxlKSA9PiAoe1xuICAgICAgICBmaWxlLFxuICAgICAgICBzdGF0ZTogJ3VwbG9hZGluZycgYXMgJ3VwbG9hZGluZycsXG4gICAgICAgIHR5cGU6ICdmaWxlJyBhcyAnZmlsZScsXG4gICAgICB9KSksXG4gICAgXTtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFtcbiAgICAgIC4uLnRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmdldFZhbHVlKCksXG4gICAgICAuLi5uZXdVcGxvYWRzLFxuICAgIF0pO1xuICAgIGF3YWl0IHRoaXMudXBsb2FkQXR0YWNobWVudHMobmV3VXBsb2Fkcyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmllcyB0byB1cGxvYWQgYW4gYXR0YWNobWVudC5cbiAgICogQHBhcmFtIGZpbGVcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggdGhlIHJlc3VsdFxuICAgKi9cbiAgYXN5bmMgcmV0cnlBdHRhY2htZW50VXBsb2FkKGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCBhdHRhY2htZW50VXBsb2FkcyA9IHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmdldFZhbHVlKCk7XG4gICAgY29uc3QgdXBsb2FkID0gYXR0YWNobWVudFVwbG9hZHMuZmluZCgodSkgPT4gdS5maWxlID09PSBmaWxlKTtcbiAgICBpZiAoIXVwbG9hZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB1cGxvYWQuc3RhdGUgPSAndXBsb2FkaW5nJztcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFsuLi5hdHRhY2htZW50VXBsb2Fkc10pO1xuICAgIGF3YWl0IHRoaXMudXBsb2FkQXR0YWNobWVudHMoW3VwbG9hZF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYW4gYXR0YWNobWVudCwgdGhlIGF0dGFjaG1lbnQgY2FuIGhhdmUgYW55IHN0YXRlIChgZXJyb3JgLCBgdXBsb2FkaW5nYCBvciBgc3VjY2Vzc2ApLlxuICAgKiBAcGFyYW0gdXBsb2FkXG4gICAqL1xuICBhc3luYyBkZWxldGVBdHRhY2htZW50KHVwbG9hZDogQXR0YWNobWVudFVwbG9hZCkge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICBpZiAodXBsb2FkLnN0YXRlID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuY2hhbm5lbFNlcnZpY2UuZGVsZXRlQXR0YWNobWVudCh1cGxvYWQpO1xuICAgICAgICBhdHRhY2htZW50VXBsb2Fkcy5zcGxpY2UoYXR0YWNobWVudFVwbG9hZHMuaW5kZXhPZih1cGxvYWQpLCAxKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgZGVsZXRpbmcgYXR0YWNobWVudCdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYXR0YWNobWVudFVwbG9hZHMuc3BsaWNlKGF0dGFjaG1lbnRVcGxvYWRzLmluZGV4T2YodXBsb2FkKSwgMSk7XG4gICAgfVxuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoWy4uLmF0dGFjaG1lbnRVcGxvYWRzXSk7XG4gIH1cblxuICAvKipcbiAgICogTWFwcyB0aGUgY3VycmVudCB1cGxvYWRzIHRvIGEgZm9ybWF0IHRoYXQgY2FuIGJlIHNlbnQgYWxvbmcgd2l0aCB0aGUgbWVzc2FnZSB0byB0aGUgU3RyZWFtIEFQSS5cbiAgICogQHJldHVybnMgdGhlIGF0dGFjaG1lbnRzXG4gICAqL1xuICBtYXBUb0F0dGFjaG1lbnRzKCkge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICByZXR1cm4gYXR0YWNobWVudFVwbG9hZHNcbiAgICAgIC5maWx0ZXIoKHIpID0+IHIuc3RhdGUgPT09ICdzdWNjZXNzJylcbiAgICAgIC5tYXAoKHIpID0+IHtcbiAgICAgICAgY29uc3QgYXR0YWNobWVudDogQXR0YWNobWVudCA9IHtcbiAgICAgICAgICB0eXBlOiByLnR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChyLnR5cGUgPT09ICdpbWFnZScpIHtcbiAgICAgICAgICBhdHRhY2htZW50LmZhbGxiYWNrID0gci5maWxlPy5uYW1lO1xuICAgICAgICAgIGF0dGFjaG1lbnQuaW1hZ2VfdXJsID0gci51cmw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXR0YWNobWVudC5hc3NldF91cmwgPSByLnVybDtcbiAgICAgICAgICBhdHRhY2htZW50LnRpdGxlID0gci5maWxlPy5uYW1lO1xuICAgICAgICAgIGF0dGFjaG1lbnQuZmlsZV9zaXplID0gci5maWxlPy5zaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGF0dGFjaG1lbnQ7XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXBzIGF0dGFjaG1lbnRzIHJlY2VpdmVkIGZyb20gdGhlIFN0cmVhbSBBUEkgdG8gdXBsb2Fkcy4gVGhpcyBpcyB1c2VmdWwgd2hlbiBlZGl0aW5nIGEgbWVzc2FnZS5cbiAgICogQHBhcmFtIGF0dGFjaG1lbnRzIEF0dGFjaGVtbnRzIHJlY2VpdmVkIHdpdGggdGhlIG1lc3NhZ2VcbiAgICovXG4gIGNyZWF0ZUZyb21BdHRhY2htZW50cyhhdHRhY2htZW50czogQXR0YWNobWVudFtdKSB7XG4gICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHM6IEF0dGFjaG1lbnRVcGxvYWRbXSA9IFtdO1xuICAgIGF0dGFjaG1lbnRzLmZvckVhY2goKGF0dGFjaG1lbnQpID0+IHtcbiAgICAgIGlmIChpc0ltYWdlQXR0YWNobWVudChhdHRhY2htZW50KSkge1xuICAgICAgICBhdHRhY2htZW50VXBsb2Fkcy5wdXNoKHtcbiAgICAgICAgICB1cmw6IChhdHRhY2htZW50LmltZ191cmwgfHxcbiAgICAgICAgICAgIGF0dGFjaG1lbnQudGh1bWJfdXJsIHx8XG4gICAgICAgICAgICBhdHRhY2htZW50LmltYWdlX3VybCkgYXMgc3RyaW5nLFxuICAgICAgICAgIHN0YXRlOiAnc3VjY2VzcycsXG4gICAgICAgICAgdHlwZTogJ2ltYWdlJyxcbiAgICAgICAgICBmaWxlOiB7XG4gICAgICAgICAgICBuYW1lOiBhdHRhY2htZW50LmZhbGxiYWNrLFxuICAgICAgICAgIH0gYXMgRmlsZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGF0dGFjaG1lbnQudHlwZSA9PT0gJ2ZpbGUnKSB7XG4gICAgICAgIGF0dGFjaG1lbnRVcGxvYWRzLnB1c2goe1xuICAgICAgICAgIHVybDogYXR0YWNobWVudC5hc3NldF91cmwsXG4gICAgICAgICAgc3RhdGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICBmaWxlOiB7XG4gICAgICAgICAgICBuYW1lOiBhdHRhY2htZW50LnRpdGxlLFxuICAgICAgICAgICAgc2l6ZTogYXR0YWNobWVudC5maWxlX3NpemUsXG4gICAgICAgICAgfSBhcyBGaWxlLFxuICAgICAgICAgIHR5cGU6ICdmaWxlJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYXR0YWNobWVudFVwbG9hZHMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QubmV4dChbXG4gICAgICAgIC4uLnRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmdldFZhbHVlKCksXG4gICAgICAgIC4uLmF0dGFjaG1lbnRVcGxvYWRzLFxuICAgICAgXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVQcmV2aWV3KGZpbGU6IEZpbGUpIHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICAgIGNvbnN0IHVwbG9hZCA9IGF0dGFjaG1lbnRVcGxvYWRzLmZpbmQoKHVwbG9hZCkgPT4gdXBsb2FkLmZpbGUgPT09IGZpbGUpO1xuICAgICAgaWYgKCF1cGxvYWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdXBsb2FkLnByZXZpZXdVcmkgPSBldmVudC50YXJnZXQ/LnJlc3VsdCB8fCB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFsuLi5hdHRhY2htZW50VXBsb2Fkc10pO1xuICAgIH07XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSBhcyBCbG9iKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBsb2FkQXR0YWNobWVudHModXBsb2FkczogQXR0YWNobWVudFVwbG9hZFtdKSB7XG4gICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdC5uZXh0KFxuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0LmdldFZhbHVlKCkgKyAxXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnVwbG9hZEF0dGFjaG1lbnRzKHVwbG9hZHMpO1xuICAgIHJlc3VsdC5mb3JFYWNoKChyKSA9PiB7XG4gICAgICBjb25zdCB1cGxvYWQgPSBhdHRhY2htZW50VXBsb2Fkcy5maW5kKCh1cGxvYWQpID0+IHVwbG9hZC5maWxlID09PSByLmZpbGUpO1xuICAgICAgaWYgKCF1cGxvYWQpIHtcbiAgICAgICAgaWYgKHIudXJsKSB7XG4gICAgICAgICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLmRlbGV0ZUF0dGFjaG1lbnQocik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdXBsb2FkLnN0YXRlID0gci5zdGF0ZTtcbiAgICAgIHVwbG9hZC51cmwgPSByLnVybDtcbiAgICAgIGlmICh1cGxvYWQuc3RhdGUgPT09ICdlcnJvcicpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmFkZFRlbXBvcmFyeU5vdGlmaWNhdGlvbihcbiAgICAgICAgICB1cGxvYWQudHlwZSA9PT0gJ2ltYWdlJ1xuICAgICAgICAgICAgPyAnc3RyZWFtQ2hhdC5FcnJvciB1cGxvYWRpbmcgaW1hZ2UnXG4gICAgICAgICAgICA6ICdzdHJlYW1DaGF0LkVycm9yIHVwbG9hZGluZyBmaWxlJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdC5uZXh0KFxuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0LmdldFZhbHVlKCkgLSAxXG4gICAgKTtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFsuLi5hdHRhY2htZW50VXBsb2Fkc10pO1xuICB9XG59XG4iXX0=
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0YWNobWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2F0dGFjaG1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUkxRDs7R0FFRztBQUlILE1BQU0sT0FBTyxpQkFBaUI7SUFlNUIsWUFDVSxjQUE4QixFQUM5QixtQkFBd0M7UUFEeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFSMUMsNkNBQXdDLEdBQzlDLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUNwRCxFQUFFLENBQ0gsQ0FBQztRQU1BLElBQUksQ0FBQyxrQ0FBa0M7WUFDckMsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQy9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7O09BSUc7SUFDRyxhQUFhLENBQUMsUUFBeUI7O1lBQzNDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsT0FBTzthQUNSO1lBQ0QsTUFBTSxVQUFVLEdBQVcsRUFBRSxDQUFDO1lB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VCxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQzlDO29CQUNELE9BQU87aUJBQ1I7Z0JBQ0QsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN2QixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ25CLElBQUksTUFBTSxDQUFDLEtBQUssS0FBSyxPQUFPLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx3QkFBd0IsQ0FDL0MsTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPO3dCQUNyQixDQUFDLENBQUMsa0NBQWtDO3dCQUNwQyxDQUFDLENBQUMsaUNBQWlDLENBQ3RDLENBQUM7aUJBQ0g7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxJQUFJLENBQ2hELElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQzdELENBQUM7WUFDRixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUFBOzs4R0EzTlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNJbWFnZUZpbGUgfSBmcm9tICcuL2lzLWltYWdlLWZpbGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdHRhY2htZW50IH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuL2NoYW5uZWwuc2VydmljZSc7XG5pbXBvcnQgeyBpc0ltYWdlQXR0YWNobWVudCB9IGZyb20gJy4vaXMtaW1hZ2UtYXR0YWNobWVudCc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBdHRhY2htZW50VXBsb2FkIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBBdHRhY2htZW50U2VydmljZWAgbWFuYWdlcyB0aGUgdXBsb2FkcyBvZiBhIG1lc3NhZ2UgaW5wdXQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBdHRhY2htZW50U2VydmljZSB7XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgbnVtYmVyIG9mIHVwbG9hZHMgaW4gcHJvZ3Jlc3MuXG4gICAqL1xuICBhdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXIkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIC8qKlxuICAgKiBFbWl0cyB0aGUgc3RhdGUgb2YgdGhlIHVwbG9hZHMgKFtgQXR0YWNobWVudFVwbG9hZFtdYF0oaHR0cHM6Ly9naXRodWIuY29tL0dldFN0cmVhbS9zdHJlYW0tY2hhdC1hbmd1bGFyL2Jsb2IvbWFzdGVyL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi90eXBlcy50cykpLCBpdCBhZGRzIGEgc3RhdGUgKGBzdWNjZXNzYCwgYGVycm9yYCBvciBgdXBsb2FkaW5nYCkgdG8gZWFjaCBmaWxlIHRoZSB1c2VyIHNlbGVjdHMgZm9yIHVwbG9hZC4gSXQgaXMgdXNlZCBieSB0aGUgW2BBdHRhY2htZW50UHJldmlld0xpc3RgXSguLi9jb21wb25lbnRzL0F0dGFjaG1lbnRQcmV2aWV3TGlzdENvbXBvbmVudC5tZHgpIHRvIGRpc3BsYXkgdGhlIGF0dGFjaG1lbnQgcHJldmlld3MuXG4gICAqL1xuICBhdHRhY2htZW50VXBsb2FkcyQ6IE9ic2VydmFibGU8QXR0YWNobWVudFVwbG9hZFtdPjtcbiAgcHJpdmF0ZSBhdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0ID1cbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gIHByaXZhdGUgYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdHRhY2htZW50VXBsb2FkW10+KFxuICAgIFtdXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyJCA9XG4gICAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2FkcyQgPSB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGF0dGFjaG1lbnRzIHVwbG9hZHMgKGZvciBleGFtcGxlIGFmdGVyIHRoZSBtZXNzYWdlIHdpdGggdGhlIGF0dGFjaG1lbnRzIHNlbnQgc3VjY2Vzc2Z1bGx5KVxuICAgKi9cbiAgcmVzZXRBdHRhY2htZW50VXBsb2FkcygpIHtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5uZXh0KFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGxvYWRzIHRoZSBzZWxlY3RlZCBmaWxlcywgYW5kIGNyZWF0ZXMgcHJldmlldyBmb3IgaW1hZ2UgZmlsZXMuIFRoZSByZXN1bHQgaXMgcHJvcGFnYXRlZCB0aHJvdWdodCB0aGUgYGF0dGFjaG1lbnRVcGxvYWRzJGAgc3RyZWFtLlxuICAgKiBAcGFyYW0gZmlsZUxpc3QgVGhlIGZpbGVzIHNlbGVjdGVkIGJ5IHRoZSB1c2VyXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXN1bHRcbiAgICovXG4gIGFzeW5jIGZpbGVzU2VsZWN0ZWQoZmlsZUxpc3Q6IEZpbGVMaXN0IHwgbnVsbCkge1xuICAgIGlmICghZmlsZUxpc3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgaW1hZ2VGaWxlczogRmlsZVtdID0gW107XG4gICAgY29uc3QgZGF0YUZpbGVzOiBGaWxlW10gPSBbXTtcblxuICAgIEFycmF5LmZyb20oZmlsZUxpc3QpLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGlmIChpc0ltYWdlRmlsZShmaWxlKSkge1xuICAgICAgICBpbWFnZUZpbGVzLnB1c2goZmlsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhRmlsZXMucHVzaChmaWxlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpbWFnZUZpbGVzLmZvckVhY2goKGYpID0+IHRoaXMuY3JlYXRlUHJldmlldyhmKSk7XG4gICAgY29uc3QgbmV3VXBsb2FkcyA9IFtcbiAgICAgIC4uLmltYWdlRmlsZXMubWFwKChmaWxlKSA9PiAoe1xuICAgICAgICBmaWxlLFxuICAgICAgICBzdGF0ZTogJ3VwbG9hZGluZycgYXMgJ3VwbG9hZGluZycsXG4gICAgICAgIHR5cGU6ICdpbWFnZScgYXMgJ2ltYWdlJyxcbiAgICAgIH0pKSxcbiAgICAgIC4uLmRhdGFGaWxlcy5tYXAoKGZpbGUpID0+ICh7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIHN0YXRlOiAndXBsb2FkaW5nJyBhcyAndXBsb2FkaW5nJyxcbiAgICAgICAgdHlwZTogJ2ZpbGUnIGFzICdmaWxlJyxcbiAgICAgIH0pKSxcbiAgICBdO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoW1xuICAgICAgLi4udGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKSxcbiAgICAgIC4uLm5ld1VwbG9hZHMsXG4gICAgXSk7XG4gICAgYXdhaXQgdGhpcy51cGxvYWRBdHRhY2htZW50cyhuZXdVcGxvYWRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWVzIHRvIHVwbG9hZCBhbiBhdHRhY2htZW50LlxuICAgKiBAcGFyYW0gZmlsZVxuICAgKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzdWx0XG4gICAqL1xuICBhc3luYyByZXRyeUF0dGFjaG1lbnRVcGxvYWQoZmlsZTogRmlsZSkge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCB1cGxvYWQgPSBhdHRhY2htZW50VXBsb2Fkcy5maW5kKCh1KSA9PiB1LmZpbGUgPT09IGZpbGUpO1xuICAgIGlmICghdXBsb2FkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHVwbG9hZC5zdGF0ZSA9ICd1cGxvYWRpbmcnO1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoWy4uLmF0dGFjaG1lbnRVcGxvYWRzXSk7XG4gICAgYXdhaXQgdGhpcy51cGxvYWRBdHRhY2htZW50cyhbdXBsb2FkXSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBhbiBhdHRhY2htZW50LCB0aGUgYXR0YWNobWVudCBjYW4gaGF2ZSBhbnkgc3RhdGUgKGBlcnJvcmAsIGB1cGxvYWRpbmdgIG9yIGBzdWNjZXNzYCkuXG4gICAqIEBwYXJhbSB1cGxvYWRcbiAgICovXG4gIGFzeW5jIGRlbGV0ZUF0dGFjaG1lbnQodXBsb2FkOiBBdHRhY2htZW50VXBsb2FkKSB7XG4gICAgY29uc3QgYXR0YWNobWVudFVwbG9hZHMgPSB0aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIGxldCByZXN1bHQhOiBBdHRhY2htZW50VXBsb2FkW107XG4gICAgaWYgKHVwbG9hZC5zdGF0ZSA9PT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCB0aGlzLmNoYW5uZWxTZXJ2aWNlLmRlbGV0ZUF0dGFjaG1lbnQodXBsb2FkKTtcbiAgICAgICAgcmVzdWx0ID0gWy4uLmF0dGFjaG1lbnRVcGxvYWRzXTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBhdHRhY2htZW50VXBsb2Fkcy5pbmRleE9mKHVwbG9hZCk7XG4gICAgICAgIHJlc3VsdC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmVzdWx0ID0gYXR0YWNobWVudFVwbG9hZHM7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICAgJ3N0cmVhbUNoYXQuRXJyb3IgZGVsZXRpbmcgYXR0YWNobWVudCdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gWy4uLmF0dGFjaG1lbnRVcGxvYWRzXTtcbiAgICAgIGNvbnN0IGluZGV4ID0gYXR0YWNobWVudFVwbG9hZHMuaW5kZXhPZih1cGxvYWQpO1xuICAgICAgcmVzdWx0LnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoWy4uLnJlc3VsdF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcHMgdGhlIGN1cnJlbnQgdXBsb2FkcyB0byBhIGZvcm1hdCB0aGF0IGNhbiBiZSBzZW50IGFsb25nIHdpdGggdGhlIG1lc3NhZ2UgdG8gdGhlIFN0cmVhbSBBUEkuXG4gICAqIEByZXR1cm5zIHRoZSBhdHRhY2htZW50c1xuICAgKi9cbiAgbWFwVG9BdHRhY2htZW50cygpIHtcbiAgICBjb25zdCBhdHRhY2htZW50VXBsb2FkcyA9IHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmdldFZhbHVlKCk7XG4gICAgcmV0dXJuIGF0dGFjaG1lbnRVcGxvYWRzXG4gICAgICAuZmlsdGVyKChyKSA9PiByLnN0YXRlID09PSAnc3VjY2VzcycpXG4gICAgICAubWFwKChyKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dGFjaG1lbnQ6IEF0dGFjaG1lbnQgPSB7XG4gICAgICAgICAgdHlwZTogci50eXBlLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoci50eXBlID09PSAnaW1hZ2UnKSB7XG4gICAgICAgICAgYXR0YWNobWVudC5mYWxsYmFjayA9IHIuZmlsZT8ubmFtZTtcbiAgICAgICAgICBhdHRhY2htZW50LmltYWdlX3VybCA9IHIudXJsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGF0dGFjaG1lbnQuYXNzZXRfdXJsID0gci51cmw7XG4gICAgICAgICAgYXR0YWNobWVudC50aXRsZSA9IHIuZmlsZT8ubmFtZTtcbiAgICAgICAgICBhdHRhY2htZW50LmZpbGVfc2l6ZSA9IHIuZmlsZT8uc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhdHRhY2htZW50O1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWFwcyBhdHRhY2htZW50cyByZWNlaXZlZCBmcm9tIHRoZSBTdHJlYW0gQVBJIHRvIHVwbG9hZHMuIFRoaXMgaXMgdXNlZnVsIHdoZW4gZWRpdGluZyBhIG1lc3NhZ2UuXG4gICAqIEBwYXJhbSBhdHRhY2htZW50cyBBdHRhY2hlbW50cyByZWNlaXZlZCB3aXRoIHRoZSBtZXNzYWdlXG4gICAqL1xuICBjcmVhdGVGcm9tQXR0YWNobWVudHMoYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXSkge1xuICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzOiBBdHRhY2htZW50VXBsb2FkW10gPSBbXTtcbiAgICBhdHRhY2htZW50cy5mb3JFYWNoKChhdHRhY2htZW50KSA9PiB7XG4gICAgICBpZiAoaXNJbWFnZUF0dGFjaG1lbnQoYXR0YWNobWVudCkpIHtcbiAgICAgICAgYXR0YWNobWVudFVwbG9hZHMucHVzaCh7XG4gICAgICAgICAgdXJsOiAoYXR0YWNobWVudC5pbWdfdXJsIHx8XG4gICAgICAgICAgICBhdHRhY2htZW50LnRodW1iX3VybCB8fFxuICAgICAgICAgICAgYXR0YWNobWVudC5pbWFnZV91cmwpIGFzIHN0cmluZyxcbiAgICAgICAgICBzdGF0ZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICAgICAgZmlsZToge1xuICAgICAgICAgICAgbmFtZTogYXR0YWNobWVudC5mYWxsYmFjayxcbiAgICAgICAgICB9IGFzIEZpbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChhdHRhY2htZW50LnR5cGUgPT09ICdmaWxlJykge1xuICAgICAgICBhdHRhY2htZW50VXBsb2Fkcy5wdXNoKHtcbiAgICAgICAgICB1cmw6IGF0dGFjaG1lbnQuYXNzZXRfdXJsLFxuICAgICAgICAgIHN0YXRlOiAnc3VjY2VzcycsXG4gICAgICAgICAgZmlsZToge1xuICAgICAgICAgICAgbmFtZTogYXR0YWNobWVudC50aXRsZSxcbiAgICAgICAgICAgIHNpemU6IGF0dGFjaG1lbnQuZmlsZV9zaXplLFxuICAgICAgICAgIH0gYXMgRmlsZSxcbiAgICAgICAgICB0eXBlOiAnZmlsZScsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGF0dGFjaG1lbnRVcGxvYWRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0Lm5leHQoW1xuICAgICAgICAuLi50aGlzLmF0dGFjaG1lbnRVcGxvYWRzU3ViamVjdC5nZXRWYWx1ZSgpLFxuICAgICAgICAuLi5hdHRhY2htZW50VXBsb2FkcyxcbiAgICAgIF0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlUHJldmlldyhmaWxlOiBGaWxlKSB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCBhdHRhY2htZW50VXBsb2FkcyA9IHRoaXMuYXR0YWNobWVudFVwbG9hZHNTdWJqZWN0LmdldFZhbHVlKCk7XG4gICAgICBjb25zdCB1cGxvYWQgPSBhdHRhY2htZW50VXBsb2Fkcy5maW5kKCh1cGxvYWQpID0+IHVwbG9hZC5maWxlID09PSBmaWxlKTtcbiAgICAgIGlmICghdXBsb2FkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVwbG9hZC5wcmV2aWV3VXJpID0gZXZlbnQudGFyZ2V0Py5yZXN1bHQgfHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QubmV4dChbLi4uYXR0YWNobWVudFVwbG9hZHNdKTtcbiAgICB9O1xuICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUgYXMgQmxvYik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwbG9hZEF0dGFjaG1lbnRzKHVwbG9hZHM6IEF0dGFjaG1lbnRVcGxvYWRbXSkge1xuICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdC5uZXh0KFxuICAgICAgdGhpcy5hdHRhY2htZW50VXBsb2FkSW5Qcm9ncmVzc0NvdW50ZXJTdWJqZWN0LmdldFZhbHVlKCkgKyAxXG4gICAgKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnVwbG9hZEF0dGFjaG1lbnRzKHVwbG9hZHMpO1xuICAgIGNvbnN0IGF0dGFjaG1lbnRVcGxvYWRzID0gdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QuZ2V0VmFsdWUoKTtcbiAgICByZXN1bHQuZm9yRWFjaCgocikgPT4ge1xuICAgICAgY29uc3QgdXBsb2FkID0gYXR0YWNobWVudFVwbG9hZHMuZmluZCgodXBsb2FkKSA9PiB1cGxvYWQuZmlsZSA9PT0gci5maWxlKTtcbiAgICAgIGlmICghdXBsb2FkKSB7XG4gICAgICAgIGlmIChyLnVybCkge1xuICAgICAgICAgIHZvaWQgdGhpcy5jaGFubmVsU2VydmljZS5kZWxldGVBdHRhY2htZW50KHIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHVwbG9hZC5zdGF0ZSA9IHIuc3RhdGU7XG4gICAgICB1cGxvYWQudXJsID0gci51cmw7XG4gICAgICBpZiAodXBsb2FkLnN0YXRlID09PSAnZXJyb3InKSB7XG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hZGRUZW1wb3JhcnlOb3RpZmljYXRpb24oXG4gICAgICAgICAgdXBsb2FkLnR5cGUgPT09ICdpbWFnZSdcbiAgICAgICAgICAgID8gJ3N0cmVhbUNoYXQuRXJyb3IgdXBsb2FkaW5nIGltYWdlJ1xuICAgICAgICAgICAgOiAnc3RyZWFtQ2hhdC5FcnJvciB1cGxvYWRpbmcgZmlsZSdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmF0dGFjaG1lbnRVcGxvYWRJblByb2dyZXNzQ291bnRlclN1YmplY3QubmV4dChcbiAgICAgIHRoaXMuYXR0YWNobWVudFVwbG9hZEluUHJvZ3Jlc3NDb3VudGVyU3ViamVjdC5nZXRWYWx1ZSgpIC0gMVxuICAgICk7XG4gICAgdGhpcy5hdHRhY2htZW50VXBsb2Fkc1N1YmplY3QubmV4dChbLi4uYXR0YWNobWVudFVwbG9hZHNdKTtcbiAgfVxufVxuIl19
@@ -63,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
63
63
  styles: [],
64
64
  }]
65
65
  }], ctorParameters: function () { return [{ type: i1.ChannelService }, { type: i2.ChannelListToggleService }, { type: i3.CustomTemplatesService }, { type: i0.ChangeDetectorRef }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2NoYW5uZWwtaGVhZGVyL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWhlYWRlci9jaGFubmVsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRdkI7O0dBRUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQ1UsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHNCQUE4QyxFQUM5QyxLQUF3QjtRQUh4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBTjFCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQVF6QyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7WUFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDdkIsTUFBTSxZQUFZLEdBQUcsTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLElBQUksMENBQ3pDLGdCQUE0QixDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2pCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyx1QkFBdUI7Z0JBQzFCLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQzNELENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsUUFBUSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksZ0JBQWdCOztRQUNsQixPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUEsTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLElBQUksMENBQUUsWUFBWSxLQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGlCQUFpQjs7UUFDbkIsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxLQUFLLDBDQUFFLGFBQWEsS0FBSSxDQUFDLEVBQUUsQ0FBQztJQUN6RSxDQUFDOzttSEFyRFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsNkRDdEJuQyxrbkNBK0JBOzJGRFRhLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxNQUFNLEVBQUUsRUFBRTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5uZWwgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5pbXBvcnQgeyBDaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi9jdXN0b20tdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbEFjdGlvbnNDb250ZXh0IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFRoZSBgQ2hhbm5lbEhlYWRlcmAgY29tcG9uZW50IGRpc3BsYXlzIHRoZSBhdmF0YXIgYW5kIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgY2hhbm5lbCBhbG9uZyB3aXRoIG1lbWJlciBhbmQgd2F0Y2hlciBpbmZvcm1hdGlvbi4gWW91IGNhbiByZWFkIGFib3V0IFt0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1lbWJlcnMgYW5kIHdhdGNoZXJzXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC93YXRjaF9jaGFubmVsLz9sYW5ndWFnZT1qYXZhc2NyaXB0I3dhdGNoZXJzLXZzLW1lbWJlcnMpIGluIHRoZSBwbGF0Zm9ybSBkb2N1bWVudGF0aW9uLiBQbGVhc2Ugbm90ZSB0aGF0IG51bWJlciBvZiB3YXRjaGVycyBpcyBvbmx5IGRpc3BsYXllZCBpZiB0aGUgdXNlciBoYXMgW2Bjb25uZWN0LWV2ZW50c2AgY2FwYWJpbGl0eV0oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvY2hhbm5lbF9jYXBhYmlsaXRpZXMvP2xhbmd1YWdlPWphdmFzY3JpcHQpXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1jaGFubmVsLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIENoYW5uZWxIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNoYW5uZWxBY3Rpb25zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxDaGFubmVsQWN0aW9uc0NvbnRleHQ+O1xuICBhY3RpdmVDaGFubmVsOiBDaGFubmVsIHwgdW5kZWZpbmVkO1xuICBjYW5SZWNlaXZlQ29ubmVjdEV2ZW50czogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlOiBDaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlOiBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbCQuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICB0aGlzLmFjdGl2ZUNoYW5uZWwgPSBjO1xuICAgICAgY29uc3QgY2FwYWJpbGl0aWVzID0gdGhpcy5hY3RpdmVDaGFubmVsPy5kYXRhXG4gICAgICAgID8ub3duX2NhcGFiaWxpdGllcyBhcyBzdHJpbmdbXTtcbiAgICAgIGlmICghY2FwYWJpbGl0aWVzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2FuUmVjZWl2ZUNvbm5lY3RFdmVudHMgPVxuICAgICAgICBjYXBhYmlsaXRpZXMuaW5kZXhPZignY29ubmVjdC1ldmVudHMnKSAhPT0gLTE7XG4gICAgfSk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlc1NlcnZpY2UuY2hhbm5lbEFjdGlvbnNUZW1wbGF0ZSQuc3Vic2NyaWJlKFxuICAgICAgICAodGVtcGxhdGUpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5uZWxBY3Rpb25zVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5jaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UudG9nZ2xlKCk7XG4gIH1cblxuICBnZXRDaGFubmVsQWN0aW9uc0NvbnRleHQoKTogQ2hhbm5lbEFjdGlvbnNDb250ZXh0IHtcbiAgICByZXR1cm4geyBjaGFubmVsOiB0aGlzLmFjdGl2ZUNoYW5uZWwhIH07XG4gIH1cblxuICBnZXQgbWVtYmVyQ291bnRQYXJhbSgpIHtcbiAgICByZXR1cm4geyBtZW1iZXJDb3VudDogdGhpcy5hY3RpdmVDaGFubmVsPy5kYXRhPy5tZW1iZXJfY291bnQgfHwgMCB9O1xuICB9XG5cbiAgZ2V0IHdhdGNoZXJDb3VudFBhcmFtKCkge1xuICAgIHJldHVybiB7IHdhdGNoZXJDb3VudDogdGhpcy5hY3RpdmVDaGFubmVsPy5zdGF0ZT8ud2F0Y2hlcl9jb3VudCB8fCAwIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHItY2hhdF9faGVhZGVyLWxpdmVzdHJlYW1cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1oYW1idXJnZXJcIlxuICAgIChjbGljayk9XCJ0b2dnbGVNZW51KCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVNZW51KCRldmVudClcIlxuICA+XG4gICAgPHN0cmVhbS1pY29uLXBsYWNlaG9sZGVyIGljb249XCJtZW51XCI+PC9zdHJlYW0taWNvbi1wbGFjZWhvbGRlcj5cbiAgPC9kaXY+XG4gIDxzdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyXG4gICAgaW1hZ2VVcmw9XCJ7eyBhY3RpdmVDaGFubmVsPy5kYXRhPy5pbWFnZSB9fVwiXG4gICAgbmFtZT1cInt7IGFjdGl2ZUNoYW5uZWw/LmRhdGE/Lm5hbWUgfX1cIlxuICA+PC9zdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1saXZlc3RyZWFtLWxlZnRcIj5cbiAgICA8cCBkYXRhLXRlc3RpZD1cIm5hbWVcIiBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItbGl2ZXN0cmVhbS1sZWZ0LS10aXRsZVwiPlxuICAgICAge3sgYWN0aXZlQ2hhbm5lbD8uZGF0YT8ubmFtZSB9fVxuICAgIDwvcD5cbiAgICA8cCBkYXRhLXRlc3RpZD1cImluZm9cIiBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItbGl2ZXN0cmVhbS1sZWZ0LS1tZW1iZXJzXCI+XG4gICAgICB7eydzdHJlYW1DaGF0Lnt7IG1lbWJlckNvdW50IH19IG1lbWJlcnMnIHwgdHJhbnNsYXRlOm1lbWJlckNvdW50UGFyYW19fVxuICAgICAge3tjYW5SZWNlaXZlQ29ubmVjdEV2ZW50cyA/ICgnc3RyZWFtQ2hhdC57eyB3YXRjaGVyQ291bnQgfX0gb25saW5lJyB8XG4gICAgICB0cmFuc2xhdGU6d2F0Y2hlckNvdW50UGFyYW0pIDogJyd9fVxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGFubmVsQWN0aW9uc1RlbXBsYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgY2hhbm5lbEFjdGlvbnNUZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDogZ2V0Q2hhbm5lbEFjdGlvbnNDb250ZXh0KClcbiAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3RyZWFtLWNoYXQtYW5ndWxhci9zcmMvbGliL2NoYW5uZWwtaGVhZGVyL2NoYW5uZWwtaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWhlYWRlci9jaGFubmVsLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxHQUlWLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRdkI7O0dBRUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQ1UsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHNCQUE4QyxFQUM5QyxLQUF3QjtRQUh4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBTjFCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQVF6QyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7WUFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDdkIsTUFBTSxZQUFZLEdBQUcsTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLElBQUksMENBQ3pDLGdCQUE0QixDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2pCLE9BQU87YUFDUjtZQUNELElBQUksQ0FBQyx1QkFBdUI7Z0JBQzFCLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQzNELENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsUUFBUSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNyQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksZ0JBQWdCOztRQUNsQixPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUEsTUFBQSxNQUFBLElBQUksQ0FBQyxhQUFhLDBDQUFFLElBQUksMENBQUUsWUFBWSxLQUFJLENBQUMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLGlCQUFpQjs7UUFDbkIsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxLQUFLLDBDQUFFLGFBQWEsS0FBSSxDQUFDLEVBQUUsQ0FBQztJQUN6RSxDQUFDOzttSEFyRFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsNkRDdEJuQyxrbkNBK0JBOzJGRFRhLHNCQUFzQjtrQkFMbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxNQUFNLEVBQUUsRUFBRTtpQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENoYW5uZWwgfSBmcm9tICdzdHJlYW0tY2hhdCc7XG5pbXBvcnQgeyBDaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LXRvZ2dsZS5zZXJ2aWNlJztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi9jdXN0b20tdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbEFjdGlvbnNDb250ZXh0LCBEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFRoZSBgQ2hhbm5lbEhlYWRlcmAgY29tcG9uZW50IGRpc3BsYXlzIHRoZSBhdmF0YXIgYW5kIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgY2hhbm5lbCBhbG9uZyB3aXRoIG1lbWJlciBhbmQgd2F0Y2hlciBpbmZvcm1hdGlvbi4gWW91IGNhbiByZWFkIGFib3V0IFt0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1lbWJlcnMgYW5kIHdhdGNoZXJzXShodHRwczovL2dldHN0cmVhbS5pby9jaGF0L2RvY3MvamF2YXNjcmlwdC93YXRjaF9jaGFubmVsLz9sYW5ndWFnZT1qYXZhc2NyaXB0I3dhdGNoZXJzLXZzLW1lbWJlcnMpIGluIHRoZSBwbGF0Zm9ybSBkb2N1bWVudGF0aW9uLiBQbGVhc2Ugbm90ZSB0aGF0IG51bWJlciBvZiB3YXRjaGVycyBpcyBvbmx5IGRpc3BsYXllZCBpZiB0aGUgdXNlciBoYXMgW2Bjb25uZWN0LWV2ZW50c2AgY2FwYWJpbGl0eV0oaHR0cHM6Ly9nZXRzdHJlYW0uaW8vY2hhdC9kb2NzL2phdmFzY3JpcHQvY2hhbm5lbF9jYXBhYmlsaXRpZXMvP2xhbmd1YWdlPWphdmFzY3JpcHQpXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1jaGFubmVsLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIENoYW5uZWxIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNoYW5uZWxBY3Rpb25zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxDaGFubmVsQWN0aW9uc0NvbnRleHQ+O1xuICBhY3RpdmVDaGFubmVsOiBDaGFubmVsPERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3M+IHwgdW5kZWZpbmVkO1xuICBjYW5SZWNlaXZlQ29ubmVjdEV2ZW50czogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlOiBDaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlOiBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuY2hhbm5lbFNlcnZpY2UuYWN0aXZlQ2hhbm5lbCQuc3Vic2NyaWJlKChjKSA9PiB7XG4gICAgICB0aGlzLmFjdGl2ZUNoYW5uZWwgPSBjO1xuICAgICAgY29uc3QgY2FwYWJpbGl0aWVzID0gdGhpcy5hY3RpdmVDaGFubmVsPy5kYXRhXG4gICAgICAgID8ub3duX2NhcGFiaWxpdGllcyBhcyBzdHJpbmdbXTtcbiAgICAgIGlmICghY2FwYWJpbGl0aWVzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2FuUmVjZWl2ZUNvbm5lY3RFdmVudHMgPVxuICAgICAgICBjYXBhYmlsaXRpZXMuaW5kZXhPZignY29ubmVjdC1ldmVudHMnKSAhPT0gLTE7XG4gICAgfSk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmN1c3RvbVRlbXBsYXRlc1NlcnZpY2UuY2hhbm5lbEFjdGlvbnNUZW1wbGF0ZSQuc3Vic2NyaWJlKFxuICAgICAgICAodGVtcGxhdGUpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5uZWxBY3Rpb25zVGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHRvZ2dsZU1lbnUoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5jaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UudG9nZ2xlKCk7XG4gIH1cblxuICBnZXRDaGFubmVsQWN0aW9uc0NvbnRleHQoKTogQ2hhbm5lbEFjdGlvbnNDb250ZXh0IHtcbiAgICByZXR1cm4geyBjaGFubmVsOiB0aGlzLmFjdGl2ZUNoYW5uZWwhIH07XG4gIH1cblxuICBnZXQgbWVtYmVyQ291bnRQYXJhbSgpIHtcbiAgICByZXR1cm4geyBtZW1iZXJDb3VudDogdGhpcy5hY3RpdmVDaGFubmVsPy5kYXRhPy5tZW1iZXJfY291bnQgfHwgMCB9O1xuICB9XG5cbiAgZ2V0IHdhdGNoZXJDb3VudFBhcmFtKCkge1xuICAgIHJldHVybiB7IHdhdGNoZXJDb3VudDogdGhpcy5hY3RpdmVDaGFubmVsPy5zdGF0ZT8ud2F0Y2hlcl9jb3VudCB8fCAwIH07XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHItY2hhdF9faGVhZGVyLWxpdmVzdHJlYW1cIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1oYW1idXJnZXJcIlxuICAgIChjbGljayk9XCJ0b2dnbGVNZW51KCRldmVudClcIlxuICAgIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVNZW51KCRldmVudClcIlxuICA+XG4gICAgPHN0cmVhbS1pY29uLXBsYWNlaG9sZGVyIGljb249XCJtZW51XCI+PC9zdHJlYW0taWNvbi1wbGFjZWhvbGRlcj5cbiAgPC9kaXY+XG4gIDxzdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyXG4gICAgaW1hZ2VVcmw9XCJ7eyBhY3RpdmVDaGFubmVsPy5kYXRhPy5pbWFnZSB9fVwiXG4gICAgbmFtZT1cInt7IGFjdGl2ZUNoYW5uZWw/LmRhdGE/Lm5hbWUgfX1cIlxuICA+PC9zdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2hlYWRlci1saXZlc3RyZWFtLWxlZnRcIj5cbiAgICA8cCBkYXRhLXRlc3RpZD1cIm5hbWVcIiBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItbGl2ZXN0cmVhbS1sZWZ0LS10aXRsZVwiPlxuICAgICAge3sgYWN0aXZlQ2hhbm5lbD8uZGF0YT8ubmFtZSB9fVxuICAgIDwvcD5cbiAgICA8cCBkYXRhLXRlc3RpZD1cImluZm9cIiBjbGFzcz1cInN0ci1jaGF0X19oZWFkZXItbGl2ZXN0cmVhbS1sZWZ0LS1tZW1iZXJzXCI+XG4gICAgICB7eydzdHJlYW1DaGF0Lnt7IG1lbWJlckNvdW50IH19IG1lbWJlcnMnIHwgdHJhbnNsYXRlOm1lbWJlckNvdW50UGFyYW19fVxuICAgICAge3tjYW5SZWNlaXZlQ29ubmVjdEV2ZW50cyA/ICgnc3RyZWFtQ2hhdC57eyB3YXRjaGVyQ291bnQgfX0gb25saW5lJyB8XG4gICAgICB0cmFuc2xhdGU6d2F0Y2hlckNvdW50UGFyYW0pIDogJyd9fVxuICAgIDwvcD5cbiAgPC9kaXY+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGFubmVsQWN0aW9uc1RlbXBsYXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgY2hhbm5lbEFjdGlvbnNUZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDogZ2V0Q2hhbm5lbEFjdGlvbnNDb250ZXh0KClcbiAgICAgIFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
66
66
  type: ViewChild,
67
67
  args: ['container']
68
68
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUlULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQU81RDs7R0FFRztBQU1ILE1BQU0sT0FBTyxvQkFBb0I7SUFXL0IsWUFDVSxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQsc0JBQThDO1FBRjlDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFWeEQsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBSTlCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQVFqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUM7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ2hCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDMUIsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FDM0QsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLFFBQVEsQ0FBQyxDQUM3RCxDQUNGLENBQUM7SUFDSixDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUssZ0JBQWdCOztZQUNwQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDckMsQ0FBQztLQUFBO0lBRUQsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLElBQWE7UUFDM0MsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxPQUFnQjtRQUN2QyxPQUFPO1lBQ0wsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDOztpSEE1RFUsb0JBQW9CO3FHQUFwQixvQkFBb0IsbUtDeEJqQyx5cEhBMEdBOzJGRGxGYSxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsV0FBVyxFQUFFLCtCQUErQjtvQkFDNUMsTUFBTSxFQUFFLEVBQUU7aUJBQ1g7aUxBVWlDLFNBQVM7c0JBQXhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2hhbm5lbCB9IGZyb20gJ3N0cmVhbS1jaGF0JztcbmltcG9ydCB7IENoYW5uZWxTZXJ2aWNlIH0gZnJvbSAnLi4vY2hhbm5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2UgfSBmcm9tICcuLi9jdXN0b20tdGVtcGxhdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbm5lbFByZXZpZXdDb250ZXh0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlIH0gZnJvbSAnLi9jaGFubmVsLWxpc3QtdG9nZ2xlLnNlcnZpY2UnO1xuXG4vKipcbiAqIFRoZSBgQ2hhbm5lbExpc3RgIGNvbXBvbmVudCByZW5kZXJzIHRoZSBsaXN0IG9mIGNoYW5uZWxzLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tY2hhbm5lbC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIENoYW5uZWxMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgY2hhbm5lbHMkOiBPYnNlcnZhYmxlPENoYW5uZWxbXSB8IHVuZGVmaW5lZD47XG4gIGlzRXJyb3IkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBpc0luaXRpYWxpemluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGlzTG9hZGluZ01vcmVDaGFubmVscyA9IGZhbHNlO1xuICBpc09wZW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBoYXNNb3JlQ2hhbm5lbHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBjdXN0b21DaGFubmVsUHJldmlld1RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxDaGFubmVsUHJldmlld0NvbnRleHQ+IHwgdW5kZWZpbmVkO1xuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBwcml2YXRlIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlOiBDaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjdXN0b21UZW1wbGF0ZXNTZXJ2aWNlOiBDdXN0b21UZW1wbGF0ZXNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaXNPcGVuJCA9IHRoaXMuY2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlLmlzT3BlbiQ7XG4gICAgdGhpcy5jaGFubmVscyQgPSB0aGlzLmNoYW5uZWxTZXJ2aWNlLmNoYW5uZWxzJDtcbiAgICB0aGlzLmhhc01vcmVDaGFubmVscyQgPSB0aGlzLmNoYW5uZWxTZXJ2aWNlLmhhc01vcmVDaGFubmVscyQ7XG4gICAgdGhpcy5pc0Vycm9yJCA9IHRoaXMuY2hhbm5lbHMkLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gZmFsc2UpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZih0cnVlKSksXG4gICAgICBzdGFydFdpdGgoZmFsc2UpXG4gICAgKTtcbiAgICB0aGlzLmlzSW5pdGlhbGl6aW5nJCA9IHRoaXMuY2hhbm5lbHMkLnBpcGUoXG4gICAgICBtYXAoKGNoYW5uZWxzKSA9PiAhY2hhbm5lbHMpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY3VzdG9tVGVtcGxhdGVzU2VydmljZS5jaGFubmVsUHJldmlld1RlbXBsYXRlJC5zdWJzY3JpYmUoXG4gICAgICAgICh0ZW1wbGF0ZSkgPT4gKHRoaXMuY3VzdG9tQ2hhbm5lbFByZXZpZXdUZW1wbGF0ZSA9IHRlbXBsYXRlKVxuICAgICAgKVxuICAgICk7XG4gIH1cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlLnNldE1lbnVFbGVtZW50KHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBhc3luYyBsb2FkTW9yZUNoYW5uZWxzKCkge1xuICAgIHRoaXMuaXNMb2FkaW5nTW9yZUNoYW5uZWxzID0gdHJ1ZTtcbiAgICBhd2FpdCB0aGlzLmNoYW5uZWxTZXJ2aWNlLmxvYWRNb3JlQ2hhbm5lbHMoKTtcbiAgICB0aGlzLmlzTG9hZGluZ01vcmVDaGFubmVscyA9IGZhbHNlO1xuICB9XG5cbiAgdHJhY2tCeUNoYW5uZWxJZChpbmRleDogbnVtYmVyLCBpdGVtOiBDaGFubmVsKSB7XG4gICAgcmV0dXJuIGl0ZW0uY2lkO1xuICB9XG5cbiAgY2hhbm5lbFNlbGVjdGVkKCkge1xuICAgIHRoaXMuY2hhbm5lbExpc3RUb2dnbGVTZXJ2aWNlLmNoYW5uZWxTZWxlY3RlZCgpO1xuICB9XG5cbiAgZ2V0Q2hhbm5lbFByZXZpZXdDb250ZXh0KGNoYW5uZWw6IENoYW5uZWwpOiBDaGFubmVsUHJldmlld0NvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBjaGFubmVsLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2NvbnRhaW5lclxuICBkYXRhLXRlc3RpZD1cImNoYW5uZWwtbGlzdC1jb250YWluZXJcIlxuICBjbGFzcz1cInN0ci1jaGF0IHN0ci1jaGF0LWNoYW5uZWwtbGlzdCBtZXNzYWdpbmdcIlxuICBbY2xhc3Muc3RyLWNoYXQtY2hhbm5lbC1saXN0LS1vcGVuXT1cIihpc09wZW4kIHwgYXN5bmMpID09PSB0cnVlXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICAoaXNFcnJvciQgfCBhc3luYykgPT09IGZhbHNlICYmIChpc0luaXRpYWxpemluZyQgfCBhc3luYykgPT09IGZhbHNlO1xuICAgICAgZWxzZSBzdGF0dXNJbmRpY2F0b3JcbiAgICBcIlxuICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtbGlzdC1tZXNzZW5nZXJcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLWxpc3QtbWVzc2VuZ2VyX19tYWluXCI+XG4gICAgICA8cFxuICAgICAgICBkYXRhLXRlc3RpZD1cImVtcHR5LWNoYW5uZWwtbGlzdC1pbmRpY2F0b3JcIlxuICAgICAgICAqbmdJZj1cIiEoY2hhbm5lbHMkIHwgYXN5bmMpPy5sZW5ndGhcIlxuICAgICAgPlxuICAgICAgICB7eyBcInN0cmVhbUNoYXQuWW91IGhhdmUgbm8gY2hhbm5lbHMgY3VycmVudGx5XCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNoYW5uZWwgb2YgY2hhbm5lbHMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlDaGFubmVsSWRcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZSBsZXQtY2hhbm5lbElucHV0PVwiY2hhbm5lbFwiPlxuICAgICAgICAgIDxzdHJlYW0tY2hhbm5lbC1wcmV2aWV3XG4gICAgICAgICAgICBkYXRhLXRlc3RjbGFzcz1cImNoYW5uZWwtcHJldmlld1wiXG4gICAgICAgICAgICBbY2hhbm5lbF09XCJjaGFubmVsSW5wdXRcIlxuICAgICAgICAgID48L3N0cmVhbS1jaGFubmVsLXByZXZpZXc+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImNoYW5uZWxTZWxlY3RlZCgpXCIgKGtleXVwLmVudGVyKT1cImNoYW5uZWxTZWxlY3RlZCgpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY3VzdG9tQ2hhbm5lbFByZXZpZXdUZW1wbGF0ZSB8fCBkZWZhdWx0VGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IGdldENoYW5uZWxQcmV2aWV3Q29udGV4dChjaGFubmVsKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaGFzTW9yZUNoYW5uZWxzJCB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbG9hZC1tb3JlLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJsb2FkTW9yZUNoYW5uZWxzKClcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwibG9hZE1vcmVDaGFubmVscygpXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsb2FkLW1vcmVcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbG9hZC1tb3JlLWJ1dHRvbl9fYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImxvYWQtbW9yZS1idXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmdNb3JlQ2hhbm5lbHNcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNMb2FkaW5nTW9yZUNoYW5uZWxzOyBlbHNlIGxvYWRpbmdJbmRpY2F0b3JcIj57e1xuICAgICAgICAgICAgXCJMb2FkIG1vcmVcIiB8IHRyYW5zbGF0ZVxuICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZ0luZGljYXRvclxuICAgICAgICAgICAgPjxzdHJlYW0tbG9hZGluZy1pbmRpY2F0b3ItcGxhY2Vob2xkZXI+PC9zdHJlYW0tbG9hZGluZy1pbmRpY2F0b3ItcGxhY2Vob2xkZXJcbiAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdGF0dXNJbmRpY2F0b3I+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Vycm9yJCB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoYXREb3duXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNJbml0aWFsaXppbmckIHwgYXN5bmNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxzXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjaGF0RG93bj5cbiAgPGRpdiBkYXRhLXRlc3RpZD1cImNoYXRkb3duLWNvbnRhaW5lclwiIGNsYXNzPVwic3RyLWNoYXRfX2Rvd25cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxzXCI+PC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19kb3duLW1haW5cIj5cbiAgICAgIDxzdHJlYW0taWNvbi1wbGFjZWhvbGRlclxuICAgICAgICBpY29uPVwiY29ubmVjdGlvbi1lcnJvclwiXG4gICAgICA+PC9zdHJlYW0taWNvbi1wbGFjZWhvbGRlcj5cbiAgICAgIDxoMT57eyBcInN0cmVhbUNoYXQuQ29ubmVjdGlvbiBlcnJvclwiIHwgdHJhbnNsYXRlIH19PC9oMT5cbiAgICAgIDxoMz5cbiAgICAgICAge3tcbiAgICAgICAgICBcInN0cmVhbUNoYXQuRXJyb3IgY29ubmVjdGluZyB0byBjaGF0LCByZWZyZXNoIHRoZSBwYWdlIHRvIHRyeSBhZ2Fpbi5cIlxuICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgfX1cbiAgICAgIDwvaDM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nQ2hhbm5lbHM+XG4gIDxkaXYgZGF0YS10ZXN0aWQ9XCJsb2FkaW5nLWluZGljYXRvclwiIGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmdDaGFubmVsPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHMtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVscy1hdmF0YXJcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHMtbWV0YVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWxzLXVzZXJuYW1lXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHMtc3RhdHVzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUlULFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQU81RDs7R0FFRztBQU1ILE1BQU0sT0FBTyxvQkFBb0I7SUFXL0IsWUFDVSxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQsc0JBQThDO1FBRjlDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFWeEQsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBSTlCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQVFqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUM7UUFDckQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQ2hCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDMUIsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUNqQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FDM0QsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLDRCQUE0QixHQUFHLFFBQVEsQ0FBQyxDQUM3RCxDQUNGLENBQUM7SUFDSixDQUFDO0lBQ0QsZUFBZTtRQUNiLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUssZ0JBQWdCOztZQUNwQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDckMsQ0FBQztLQUFBO0lBRUQsZ0JBQWdCLENBQUMsS0FBYSxFQUFFLElBQXdDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsd0JBQXdCLENBQ3RCLE9BQTJDO1FBRTNDLE9BQU87WUFDTCxPQUFPO1NBQ1IsQ0FBQztJQUNKLENBQUM7O2lIQTlEVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixtS0N4QmpDLHlwSEEwR0E7MkZEbEZhLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxNQUFNLEVBQUUsRUFBRTtpQkFDWDtpTEFVaUMsU0FBUztzQkFBeEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBPbkRlc3Ryb3ksXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDaGFubmVsIH0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tVGVtcGxhdGVzU2VydmljZSB9IGZyb20gJy4uL2N1c3RvbS10ZW1wbGF0ZXMuc2VydmljZSc7XG5pbXBvcnQgeyBDaGFubmVsUHJldmlld0NvbnRleHQsIERlZmF1bHRTdHJlYW1DaGF0R2VuZXJpY3MgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBDaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuL2NoYW5uZWwtbGlzdC10b2dnbGUuc2VydmljZSc7XG5cbi8qKlxuICogVGhlIGBDaGFubmVsTGlzdGAgY29tcG9uZW50IHJlbmRlcnMgdGhlIGxpc3Qgb2YgY2hhbm5lbHMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3N0cmVhbS1jaGFubmVsLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhbm5lbC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2hhbm5lbExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBjaGFubmVscyQ6IE9ic2VydmFibGU8Q2hhbm5lbDxEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzPltdIHwgdW5kZWZpbmVkPjtcbiAgaXNFcnJvciQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGlzSW5pdGlhbGl6aW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaXNMb2FkaW5nTW9yZUNoYW5uZWxzID0gZmFsc2U7XG4gIGlzT3BlbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGhhc01vcmVDaGFubmVscyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGN1c3RvbUNoYW5uZWxQcmV2aWV3VGVtcGxhdGU6IFRlbXBsYXRlUmVmPENoYW5uZWxQcmV2aWV3Q29udGV4dD4gfCB1bmRlZmluZWQ7XG4gIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIHByaXZhdGUgY29udGFpbmVyITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2U6IENoYW5uZWxMaXN0VG9nZ2xlU2VydmljZSxcbiAgICBwcml2YXRlIGN1c3RvbVRlbXBsYXRlc1NlcnZpY2U6IEN1c3RvbVRlbXBsYXRlc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5pc09wZW4kID0gdGhpcy5jaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UuaXNPcGVuJDtcbiAgICB0aGlzLmNoYW5uZWxzJCA9IHRoaXMuY2hhbm5lbFNlcnZpY2UuY2hhbm5lbHMkO1xuICAgIHRoaXMuaGFzTW9yZUNoYW5uZWxzJCA9IHRoaXMuY2hhbm5lbFNlcnZpY2UuaGFzTW9yZUNoYW5uZWxzJDtcbiAgICB0aGlzLmlzRXJyb3IkID0gdGhpcy5jaGFubmVscyQucGlwZShcbiAgICAgIG1hcCgoKSA9PiBmYWxzZSksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHRydWUpKSxcbiAgICAgIHN0YXJ0V2l0aChmYWxzZSlcbiAgICApO1xuICAgIHRoaXMuaXNJbml0aWFsaXppbmckID0gdGhpcy5jaGFubmVscyQucGlwZShcbiAgICAgIG1hcCgoY2hhbm5lbHMpID0+ICFjaGFubmVscyksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKGZhbHNlKSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jdXN0b21UZW1wbGF0ZXNTZXJ2aWNlLmNoYW5uZWxQcmV2aWV3VGVtcGxhdGUkLnN1YnNjcmliZShcbiAgICAgICAgKHRlbXBsYXRlKSA9PiAodGhpcy5jdXN0b21DaGFubmVsUHJldmlld1RlbXBsYXRlID0gdGVtcGxhdGUpXG4gICAgICApXG4gICAgKTtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2Uuc2V0TWVudUVsZW1lbnQodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRNb3JlQ2hhbm5lbHMoKSB7XG4gICAgdGhpcy5pc0xvYWRpbmdNb3JlQ2hhbm5lbHMgPSB0cnVlO1xuICAgIGF3YWl0IHRoaXMuY2hhbm5lbFNlcnZpY2UubG9hZE1vcmVDaGFubmVscygpO1xuICAgIHRoaXMuaXNMb2FkaW5nTW9yZUNoYW5uZWxzID0gZmFsc2U7XG4gIH1cblxuICB0cmFja0J5Q2hhbm5lbElkKGluZGV4OiBudW1iZXIsIGl0ZW06IENoYW5uZWw8RGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcz4pIHtcbiAgICByZXR1cm4gaXRlbS5jaWQ7XG4gIH1cblxuICBjaGFubmVsU2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5jaGFubmVsTGlzdFRvZ2dsZVNlcnZpY2UuY2hhbm5lbFNlbGVjdGVkKCk7XG4gIH1cblxuICBnZXRDaGFubmVsUHJldmlld0NvbnRleHQoXG4gICAgY2hhbm5lbDogQ2hhbm5lbDxEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzPlxuICApOiBDaGFubmVsUHJldmlld0NvbnRleHQ8RGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcz4ge1xuICAgIHJldHVybiB7XG4gICAgICBjaGFubmVsLFxuICAgIH07XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2NvbnRhaW5lclxuICBkYXRhLXRlc3RpZD1cImNoYW5uZWwtbGlzdC1jb250YWluZXJcIlxuICBjbGFzcz1cInN0ci1jaGF0IHN0ci1jaGF0LWNoYW5uZWwtbGlzdCBtZXNzYWdpbmdcIlxuICBbY2xhc3Muc3RyLWNoYXQtY2hhbm5lbC1saXN0LS1vcGVuXT1cIihpc09wZW4kIHwgYXN5bmMpID09PSB0cnVlXCJcbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICAoaXNFcnJvciQgfCBhc3luYykgPT09IGZhbHNlICYmIChpc0luaXRpYWxpemluZyQgfCBhc3luYykgPT09IGZhbHNlO1xuICAgICAgZWxzZSBzdGF0dXNJbmRpY2F0b3JcbiAgICBcIlxuICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtbGlzdC1tZXNzZW5nZXJcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLWxpc3QtbWVzc2VuZ2VyX19tYWluXCI+XG4gICAgICA8cFxuICAgICAgICBkYXRhLXRlc3RpZD1cImVtcHR5LWNoYW5uZWwtbGlzdC1pbmRpY2F0b3JcIlxuICAgICAgICAqbmdJZj1cIiEoY2hhbm5lbHMkIHwgYXN5bmMpPy5sZW5ndGhcIlxuICAgICAgPlxuICAgICAgICB7eyBcInN0cmVhbUNoYXQuWW91IGhhdmUgbm8gY2hhbm5lbHMgY3VycmVudGx5XCIgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvcD5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGNoYW5uZWwgb2YgY2hhbm5lbHMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlDaGFubmVsSWRcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUZW1wbGF0ZSBsZXQtY2hhbm5lbElucHV0PVwiY2hhbm5lbFwiPlxuICAgICAgICAgIDxzdHJlYW0tY2hhbm5lbC1wcmV2aWV3XG4gICAgICAgICAgICBkYXRhLXRlc3RjbGFzcz1cImNoYW5uZWwtcHJldmlld1wiXG4gICAgICAgICAgICBbY2hhbm5lbF09XCJjaGFubmVsSW5wdXRcIlxuICAgICAgICAgID48L3N0cmVhbS1jaGFubmVsLXByZXZpZXc+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxkaXYgKGNsaWNrKT1cImNoYW5uZWxTZWxlY3RlZCgpXCIgKGtleXVwLmVudGVyKT1cImNoYW5uZWxTZWxlY3RlZCgpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY3VzdG9tQ2hhbm5lbFByZXZpZXdUZW1wbGF0ZSB8fCBkZWZhdWx0VGVtcGxhdGU7XG4gICAgICAgICAgICAgIGNvbnRleHQ6IGdldENoYW5uZWxQcmV2aWV3Q29udGV4dChjaGFubmVsKVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiaGFzTW9yZUNoYW5uZWxzJCB8IGFzeW5jXCJcbiAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbG9hZC1tb3JlLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJsb2FkTW9yZUNoYW5uZWxzKClcIlxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwibG9hZE1vcmVDaGFubmVscygpXCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJsb2FkLW1vcmVcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJzdHItY2hhdF9fbG9hZC1tb3JlLWJ1dHRvbl9fYnV0dG9uXCJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cImxvYWQtbW9yZS1idXR0b25cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmdNb3JlQ2hhbm5lbHNcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXNMb2FkaW5nTW9yZUNoYW5uZWxzOyBlbHNlIGxvYWRpbmdJbmRpY2F0b3JcIj57e1xuICAgICAgICAgICAgXCJMb2FkIG1vcmVcIiB8IHRyYW5zbGF0ZVxuICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGluZ0luZGljYXRvclxuICAgICAgICAgICAgPjxzdHJlYW0tbG9hZGluZy1pbmRpY2F0b3ItcGxhY2Vob2xkZXI+PC9zdHJlYW0tbG9hZGluZy1pbmRpY2F0b3ItcGxhY2Vob2xkZXJcbiAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNzdGF0dXNJbmRpY2F0b3I+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0Vycm9yJCB8IGFzeW5jXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNoYXREb3duXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNJbml0aWFsaXppbmckIHwgYXN5bmNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxzXCI+PC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjaGF0RG93bj5cbiAgPGRpdiBkYXRhLXRlc3RpZD1cImNoYXRkb3duLWNvbnRhaW5lclwiIGNsYXNzPVwic3RyLWNoYXRfX2Rvd25cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxzXCI+PC9uZy1jb250YWluZXI+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19kb3duLW1haW5cIj5cbiAgICAgIDxzdHJlYW0taWNvbi1wbGFjZWhvbGRlclxuICAgICAgICBpY29uPVwiY29ubmVjdGlvbi1lcnJvclwiXG4gICAgICA+PC9zdHJlYW0taWNvbi1wbGFjZWhvbGRlcj5cbiAgICAgIDxoMT57eyBcInN0cmVhbUNoYXQuQ29ubmVjdGlvbiBlcnJvclwiIHwgdHJhbnNsYXRlIH19PC9oMT5cbiAgICAgIDxoMz5cbiAgICAgICAge3tcbiAgICAgICAgICBcInN0cmVhbUNoYXQuRXJyb3IgY29ubmVjdGluZyB0byBjaGF0LCByZWZyZXNoIHRoZSBwYWdlIHRvIHRyeSBhZ2Fpbi5cIlxuICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgfX1cbiAgICAgIDwvaDM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nQ2hhbm5lbHM+XG4gIDxkaXYgZGF0YS10ZXN0aWQ9XCJsb2FkaW5nLWluZGljYXRvclwiIGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0NoYW5uZWxcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmdDaGFubmVsPlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHMtaXRlbVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fbG9hZGluZy1jaGFubmVscy1hdmF0YXJcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHMtbWV0YVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19sb2FkaW5nLWNoYW5uZWxzLXVzZXJuYW1lXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2xvYWRpbmctY2hhbm5lbHMtc3RhdHVzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.5", ngImpor
92
92
  }], ctorParameters: function () { return [{ type: i1.ChannelService }, { type: i0.NgZone }]; }, propDecorators: { channel: [{
93
93
  type: Input
94
94
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVNUU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDLFlBQW9CLGNBQThCLEVBQVUsTUFBYztRQUF0RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTjFFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUFXLGdCQUFnQixDQUFDO1FBQ2pDLGtCQUFhLEdBQW1ELEVBQUUsQ0FBQztRQUNuRSxzQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFFNEMsQ0FBQztJQUU5RSxRQUFROztRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQzFDLENBQUMsYUFBYSxFQUFFLEVBQUUsV0FDaEIsT0FBQSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsRUFBRSxPQUFLLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsRUFBRSxDQUFBLENBQUMsQ0FBQSxFQUFBLENBQzNELENBQ0YsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLE1B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O3dHQUF2Qix1QkFBdUIsOEZDbEJwQywrNEJBMEJBOzJGRFJhLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxNQUFNLEVBQUUsRUFBRTtpQkFDWDswSEFLVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENoYW5uZWwsXG4gIEV2ZW50LFxuICBGb3JtYXRNZXNzYWdlUmVzcG9uc2UsXG4gIE1lc3NhZ2VSZXNwb25zZSxcbn0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuXG4vKipcbiAqIFRoZSBgQ2hhbm5lbFByZXZpZXdgIGNvbXBvbmVudCBkaXNwbGF5cyBhIGNoYW5uZWwgcHJldmlldyBpbiB0aGUgY2hhbm5lbCBsaXN0LCBpdCBjb25zaXN0cyBvZiB0aGUgaW1hZ2UsIG5hbWUgYW5kIGxhdGVzdCBtZXNzYWdlIG9mIHRoZSBjaGFubmVsLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzdHJlYW0tY2hhbm5lbC1wcmV2aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoYW5uZWwtcHJldmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG59KVxuZXhwb3J0IGNsYXNzIENoYW5uZWxQcmV2aWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogVGhlIGNoYW5uZWwgdG8gYmUgZGlzcGxheWVkXG4gICAqL1xuICBASW5wdXQoKSBjaGFubmVsOiBDaGFubmVsIHwgdW5kZWZpbmVkO1xuICBpc0FjdGl2ZSA9IGZhbHNlO1xuICBpc1VucmVhZCA9IGZhbHNlO1xuICBsYXRlc3RNZXNzYWdlOiBzdHJpbmcgPSAnTm90aGluZyB5ZXQuLi4nO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IChTdWJzY3JpcHRpb24gfCB7IHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkIH0pW10gPSBbXTtcbiAgcHJpdmF0ZSBjYW5TZW5kUmVhZEV2ZW50cyA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFubmVsU2VydmljZTogQ2hhbm5lbFNlcnZpY2UsIHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWxTZXJ2aWNlLmFjdGl2ZUNoYW5uZWwkLnN1YnNjcmliZShcbiAgICAgICAgKGFjdGl2ZUNoYW5uZWwpID0+XG4gICAgICAgICAgKHRoaXMuaXNBY3RpdmUgPSBhY3RpdmVDaGFubmVsPy5pZCA9PT0gdGhpcy5jaGFubmVsPy5pZClcbiAgICAgIClcbiAgICApO1xuICAgIGNvbnN0IG1lc3NhZ2VzID0gdGhpcy5jaGFubmVsPy5zdGF0ZT8ubWVzc2FnZXM7XG4gICAgaWYgKG1lc3NhZ2VzICYmIG1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc2V0TGF0ZXN0TWVzc2FnZShtZXNzYWdlc1ttZXNzYWdlcy5sZW5ndGggLSAxXSk7XG4gICAgfVxuICAgIHRoaXMuaXNVbnJlYWQgPSAhIXRoaXMuY2hhbm5lbCEuY291bnRVbnJlYWQoKSAmJiB0aGlzLmNhblNlbmRSZWFkRXZlbnRzO1xuICAgIGNvbnN0IGNhcGFiaWxpdGllcyA9XG4gICAgICAodGhpcy5jaGFubmVsPy5kYXRhPy5vd25fY2FwYWJpbGl0aWVzIGFzIHN0cmluZ1tdKSB8fCBbXTtcbiAgICB0aGlzLmNhblNlbmRSZWFkRXZlbnRzID0gY2FwYWJpbGl0aWVzLmluZGV4T2YoJ3JlYWQtZXZlbnRzJykgIT09IC0xO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsIS5vbignbWVzc2FnZS5uZXcnLCB0aGlzLmhhbmRsZU1lc3NhZ2VFdmVudC5iaW5kKHRoaXMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdtZXNzYWdlLnVwZGF0ZWQnLCB0aGlzLmhhbmRsZU1lc3NhZ2VFdmVudC5iaW5kKHRoaXMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdtZXNzYWdlLmRlbGV0ZWQnLCB0aGlzLmhhbmRsZU1lc3NhZ2VFdmVudC5iaW5kKHRoaXMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdjaGFubmVsLnRydW5jYXRlZCcsIHRoaXMuaGFuZGxlTWVzc2FnZUV2ZW50LmJpbmQodGhpcykpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UucmVhZCcsICgpID0+XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc1VucmVhZCA9XG4gICAgICAgICAgICAhIXRoaXMuY2hhbm5lbCEuY291bnRVbnJlYWQoKSAmJiB0aGlzLmNhblNlbmRSZWFkRXZlbnRzO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIGdldCBhdmF0YXJJbWFnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFubmVsPy5kYXRhPy5pbWFnZTtcbiAgfVxuXG4gIGdldCBhdmF0YXJOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmNoYW5uZWw/LmRhdGE/Lm5hbWU7XG4gIH1cblxuICBnZXQgdGl0bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbD8uZGF0YT8ubmFtZTtcbiAgfVxuXG4gIHNldEFzQWN0aXZlQ2hhbm5lbCgpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMuY2hhbm5lbFNlcnZpY2Uuc2V0QXNBY3RpdmVDaGFubmVsKHRoaXMuY2hhbm5lbCEpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVNZXNzYWdlRXZlbnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmNoYW5uZWw/LnN0YXRlLm1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UgPSAnTm90aGluZyB5ZXQuLi4nO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgICFldmVudC5tZXNzYWdlIHx8XG4gICAgICAgIHRoaXMuY2hhbm5lbD8uc3RhdGUubWVzc2FnZXNbdGhpcy5jaGFubmVsPy5zdGF0ZS5tZXNzYWdlcy5sZW5ndGggLSAxXVxuICAgICAgICAgIC5pZCAhPT0gZXZlbnQubWVzc2FnZS5pZFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0TGF0ZXN0TWVzc2FnZShldmVudC5tZXNzYWdlKTtcbiAgICAgIHRoaXMuaXNVbnJlYWQgPSAhIXRoaXMuY2hhbm5lbC5jb3VudFVucmVhZCgpICYmIHRoaXMuY2FuU2VuZFJlYWRFdmVudHM7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldExhdGVzdE1lc3NhZ2UobWVzc2FnZT86IEZvcm1hdE1lc3NhZ2VSZXNwb25zZSB8IE1lc3NhZ2VSZXNwb25zZSkge1xuICAgIGlmIChtZXNzYWdlPy5kZWxldGVkX2F0KSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UgPSAnc3RyZWFtQ2hhdC5NZXNzYWdlIGRlbGV0ZWQnO1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8udGV4dCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gbWVzc2FnZS50ZXh0O1xuICAgIH0gZWxzZSBpZiAobWVzc2FnZT8uYXR0YWNobWVudHMgJiYgbWVzc2FnZS5hdHRhY2htZW50cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZSA9ICdzdHJlYW1DaGF0LvCfj5kgQXR0YWNobWVudC4uLic7XG4gICAgfVxuICB9XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXJcIlxuICBbY2xhc3Muc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLWFjdGl2ZV09XCJpc0FjdGl2ZVwiXG4gIFtjbGFzcy5zdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tdW5yZWFkXT1cImlzVW5yZWFkXCJcbiAgKGNsaWNrKT1cInNldEFzQWN0aXZlQ2hhbm5lbCgpXCJcbiAgZGF0YS10ZXN0aWQ9XCJjaGFubmVsLXByZXZpZXctY29udGFpbmVyXCJcbj5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1sZWZ0XCI+XG4gICAgPHN0cmVhbS1hdmF0YXItcGxhY2Vob2xkZXJcbiAgICAgIGltYWdlVXJsPVwie3sgYXZhdGFySW1hZ2UgfX1cIlxuICAgICAgbmFtZT1cInt7IGF2YXRhck5hbWUgfX1cIlxuICAgICAgW3NpemVdPVwiNDBcIlxuICAgID48L3N0cmVhbS1hdmF0YXItcGxhY2Vob2xkZXI+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLXJpZ2h0XCI+XG4gICAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1uYW1lXCI+XG4gICAgICA8c3BhbiBkYXRhLXRlc3RpZD1cImNoYW5uZWwtcHJldmlldy10aXRsZVwiPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGRhdGEtdGVzdGlkPVwibGF0ZXN0LW1lc3NhZ2VcIlxuICAgICAgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tbGFzdC1tZXNzYWdlXCJcbiAgICA+XG4gICAgICB7eyBsYXRlc3RNZXNzYWdlIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9idXR0b24+XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0cmVhbS1jaGF0LWFuZ3VsYXIvc3JjL2xpYi9jaGFubmVsLXByZXZpZXcvY2hhbm5lbC1wcmV2aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFXNUU7O0dBRUc7QUFNSCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDLFlBQW9CLGNBQThCLEVBQVUsTUFBYztRQUF0RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTjFFLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixrQkFBYSxHQUFXLGdCQUFnQixDQUFDO1FBQ2pDLGtCQUFhLEdBQW1ELEVBQUUsQ0FBQztRQUNuRSxzQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFFNEMsQ0FBQztJQUU5RSxRQUFROztRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQzFDLENBQUMsYUFBYSxFQUFFLEVBQUUsV0FDaEIsT0FBQSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQSxhQUFhLGFBQWIsYUFBYSx1QkFBYixhQUFhLENBQUUsRUFBRSxPQUFLLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsRUFBRSxDQUFBLENBQUMsQ0FBQSxFQUFBLENBQzNELENBQ0YsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLE1B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O3dHQUF2Qix1QkFBdUIsOEZDbkJwQywrNEJBMEJBOzJGRFBhLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxNQUFNLEVBQUUsRUFBRTtpQkFDWDswSEFLVSxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENoYW5uZWwsXG4gIEV2ZW50LFxuICBGb3JtYXRNZXNzYWdlUmVzcG9uc2UsXG4gIE1lc3NhZ2VSZXNwb25zZSxcbn0gZnJvbSAnc3RyZWFtLWNoYXQnO1xuaW1wb3J0IHsgQ2hhbm5lbFNlcnZpY2UgfSBmcm9tICcuLi9jaGFubmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVmYXVsdFN0cmVhbUNoYXRHZW5lcmljcyB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBUaGUgYENoYW5uZWxQcmV2aWV3YCBjb21wb25lbnQgZGlzcGxheXMgYSBjaGFubmVsIHByZXZpZXcgaW4gdGhlIGNoYW5uZWwgbGlzdCwgaXQgY29uc2lzdHMgb2YgdGhlIGltYWdlLCBuYW1lIGFuZCBsYXRlc3QgbWVzc2FnZSBvZiB0aGUgY2hhbm5lbC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3RyZWFtLWNoYW5uZWwtcHJldmlldycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGFubmVsLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFubmVsUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFRoZSBjaGFubmVsIHRvIGJlIGRpc3BsYXllZFxuICAgKi9cbiAgQElucHV0KCkgY2hhbm5lbDogQ2hhbm5lbDxEZWZhdWx0U3RyZWFtQ2hhdEdlbmVyaWNzPiB8IHVuZGVmaW5lZDtcbiAgaXNBY3RpdmUgPSBmYWxzZTtcbiAgaXNVbnJlYWQgPSBmYWxzZTtcbiAgbGF0ZXN0TWVzc2FnZTogc3RyaW5nID0gJ05vdGhpbmcgeWV0Li4uJztcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiAoU3Vic2NyaXB0aW9uIHwgeyB1bnN1YnNjcmliZTogKCkgPT4gdm9pZCB9KVtdID0gW107XG4gIHByaXZhdGUgY2FuU2VuZFJlYWRFdmVudHMgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbm5lbFNlcnZpY2U6IENoYW5uZWxTZXJ2aWNlLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsU2VydmljZS5hY3RpdmVDaGFubmVsJC5zdWJzY3JpYmUoXG4gICAgICAgIChhY3RpdmVDaGFubmVsKSA9PlxuICAgICAgICAgICh0aGlzLmlzQWN0aXZlID0gYWN0aXZlQ2hhbm5lbD8uaWQgPT09IHRoaXMuY2hhbm5lbD8uaWQpXG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBtZXNzYWdlcyA9IHRoaXMuY2hhbm5lbD8uc3RhdGU/Lm1lc3NhZ2VzO1xuICAgIGlmIChtZXNzYWdlcyAmJiBtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnNldExhdGVzdE1lc3NhZ2UobWVzc2FnZXNbbWVzc2FnZXMubGVuZ3RoIC0gMV0pO1xuICAgIH1cbiAgICB0aGlzLmlzVW5yZWFkID0gISF0aGlzLmNoYW5uZWwhLmNvdW50VW5yZWFkKCkgJiYgdGhpcy5jYW5TZW5kUmVhZEV2ZW50cztcbiAgICBjb25zdCBjYXBhYmlsaXRpZXMgPVxuICAgICAgKHRoaXMuY2hhbm5lbD8uZGF0YT8ub3duX2NhcGFiaWxpdGllcyBhcyBzdHJpbmdbXSkgfHwgW107XG4gICAgdGhpcy5jYW5TZW5kUmVhZEV2ZW50cyA9IGNhcGFiaWxpdGllcy5pbmRleE9mKCdyZWFkLWV2ZW50cycpICE9PSAtMTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuY2hhbm5lbCEub24oJ21lc3NhZ2UubmV3JywgdGhpcy5oYW5kbGVNZXNzYWdlRXZlbnQuYmluZCh0aGlzKSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsIS5vbignbWVzc2FnZS51cGRhdGVkJywgdGhpcy5oYW5kbGVNZXNzYWdlRXZlbnQuYmluZCh0aGlzKSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsIS5vbignbWVzc2FnZS5kZWxldGVkJywgdGhpcy5oYW5kbGVNZXNzYWdlRXZlbnQuYmluZCh0aGlzKSlcbiAgICApO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5jaGFubmVsIS5vbignY2hhbm5lbC50cnVuY2F0ZWQnLCB0aGlzLmhhbmRsZU1lc3NhZ2VFdmVudC5iaW5kKHRoaXMpKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmNoYW5uZWwhLm9uKCdtZXNzYWdlLnJlYWQnLCAoKSA9PlxuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNVbnJlYWQgPVxuICAgICAgICAgICAgISF0aGlzLmNoYW5uZWwhLmNvdW50VW5yZWFkKCkgJiYgdGhpcy5jYW5TZW5kUmVhZEV2ZW50cztcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHMpID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBnZXQgYXZhdGFySW1hZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbD8uZGF0YT8uaW1hZ2U7XG4gIH1cblxuICBnZXQgYXZhdGFyTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFubmVsPy5kYXRhPy5uYW1lO1xuICB9XG5cbiAgZ2V0IHRpdGxlKCkge1xuICAgIHJldHVybiB0aGlzLmNoYW5uZWw/LmRhdGE/Lm5hbWU7XG4gIH1cblxuICBzZXRBc0FjdGl2ZUNoYW5uZWwoKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLmNoYW5uZWxTZXJ2aWNlLnNldEFzQWN0aXZlQ2hhbm5lbCh0aGlzLmNoYW5uZWwhKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTWVzc2FnZUV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICBpZiAodGhpcy5jaGFubmVsPy5zdGF0ZS5tZXNzYWdlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gJ05vdGhpbmcgeWV0Li4uJztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICAhZXZlbnQubWVzc2FnZSB8fFxuICAgICAgICB0aGlzLmNoYW5uZWw/LnN0YXRlLm1lc3NhZ2VzW3RoaXMuY2hhbm5lbD8uc3RhdGUubWVzc2FnZXMubGVuZ3RoIC0gMV1cbiAgICAgICAgICAuaWQgIT09IGV2ZW50Lm1lc3NhZ2UuaWRcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnNldExhdGVzdE1lc3NhZ2UoZXZlbnQubWVzc2FnZSk7XG4gICAgICB0aGlzLmlzVW5yZWFkID0gISF0aGlzLmNoYW5uZWwuY291bnRVbnJlYWQoKSAmJiB0aGlzLmNhblNlbmRSZWFkRXZlbnRzO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRMYXRlc3RNZXNzYWdlKG1lc3NhZ2U/OiBGb3JtYXRNZXNzYWdlUmVzcG9uc2UgfCBNZXNzYWdlUmVzcG9uc2UpIHtcbiAgICBpZiAobWVzc2FnZT8uZGVsZXRlZF9hdCkge1xuICAgICAgdGhpcy5sYXRlc3RNZXNzYWdlID0gJ3N0cmVhbUNoYXQuTWVzc2FnZSBkZWxldGVkJztcbiAgICB9IGVsc2UgaWYgKG1lc3NhZ2U/LnRleHQpIHtcbiAgICAgIHRoaXMubGF0ZXN0TWVzc2FnZSA9IG1lc3NhZ2UudGV4dDtcbiAgICB9IGVsc2UgaWYgKG1lc3NhZ2U/LmF0dGFjaG1lbnRzICYmIG1lc3NhZ2UuYXR0YWNobWVudHMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmxhdGVzdE1lc3NhZ2UgPSAnc3RyZWFtQ2hhdC7wn4+ZIEF0dGFjaG1lbnQuLi4nO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyXCJcbiAgW2NsYXNzLnN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1hY3RpdmVdPVwiaXNBY3RpdmVcIlxuICBbY2xhc3Muc3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLXVucmVhZF09XCJpc1VucmVhZFwiXG4gIChjbGljayk9XCJzZXRBc0FjdGl2ZUNoYW5uZWwoKVwiXG4gIGRhdGEtdGVzdGlkPVwiY2hhbm5lbC1wcmV2aWV3LWNvbnRhaW5lclwiXG4+XG4gIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tbGVmdFwiPlxuICAgIDxzdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyXG4gICAgICBpbWFnZVVybD1cInt7IGF2YXRhckltYWdlIH19XCJcbiAgICAgIG5hbWU9XCJ7eyBhdmF0YXJOYW1lIH19XCJcbiAgICAgIFtzaXplXT1cIjQwXCJcbiAgICA+PC9zdHJlYW0tYXZhdGFyLXBsYWNlaG9sZGVyPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInN0ci1jaGF0X19jaGFubmVsLXByZXZpZXctbWVzc2VuZ2VyLS1yaWdodFwiPlxuICAgIDxkaXYgY2xhc3M9XCJzdHItY2hhdF9fY2hhbm5lbC1wcmV2aWV3LW1lc3Nlbmdlci0tbmFtZVwiPlxuICAgICAgPHNwYW4gZGF0YS10ZXN0aWQ9XCJjaGFubmVsLXByZXZpZXctdGl0bGVcIj57eyB0aXRsZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBkYXRhLXRlc3RpZD1cImxhdGVzdC1tZXNzYWdlXCJcbiAgICAgIGNsYXNzPVwic3RyLWNoYXRfX2NoYW5uZWwtcHJldmlldy1tZXNzZW5nZXItLWxhc3QtbWVzc2FnZVwiXG4gICAgPlxuICAgICAge3sgbGF0ZXN0TWVzc2FnZSB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYnV0dG9uPlxuIl19