@dcl/asset-packs 2.16.1 → 2.16.3

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 (48) hide show
  1. package/bin/index.js +445 -325
  2. package/catalog.json +92 -0
  3. package/dist/admin-toolkit-ui/Active.d.ts +3 -2
  4. package/dist/admin-toolkit-ui/Active.js +1 -1
  5. package/dist/admin-toolkit-ui/Card.d.ts +2 -1
  6. package/dist/admin-toolkit-ui/Card.js +1 -1
  7. package/dist/admin-toolkit-ui/FeedbackButton.js +2 -2
  8. package/dist/admin-toolkit-ui/Loading.d.ts +3 -2
  9. package/dist/admin-toolkit-ui/Loading.js +1 -1
  10. package/dist/admin-toolkit-ui/ModerationControl/AddUserInput.d.ts +1 -1
  11. package/dist/admin-toolkit-ui/ModerationControl/AddUserInput.js +1 -1
  12. package/dist/admin-toolkit-ui/ModerationControl/BanUserDescription.js +1 -1
  13. package/dist/admin-toolkit-ui/ModerationControl/RemoveAdminConfirmation.js +4 -4
  14. package/dist/admin-toolkit-ui/ModerationControl/UsersList.js +16 -14
  15. package/dist/admin-toolkit-ui/ModerationControl/index.d.ts +0 -7
  16. package/dist/admin-toolkit-ui/ModerationControl/index.js +4 -9
  17. package/dist/admin-toolkit-ui/SmartItemsControl.js +15 -33
  18. package/dist/admin-toolkit-ui/TextAnnouncementsControl.js +14 -12
  19. package/dist/admin-toolkit-ui/VideoControl/DclCast/CompactDclCast.js +7 -9
  20. package/dist/admin-toolkit-ui/VideoControl/DclCast/DclCastInfo.js +4 -3
  21. package/dist/admin-toolkit-ui/VideoControl/DclCast/index.d.ts +0 -14
  22. package/dist/admin-toolkit-ui/VideoControl/DclCast/index.js +32 -136
  23. package/dist/admin-toolkit-ui/VideoControl/DclCast/presentation-detector.d.ts +2 -0
  24. package/dist/admin-toolkit-ui/VideoControl/DclCast/presentation-detector.js +116 -0
  25. package/dist/admin-toolkit-ui/VideoControl/LiveStream/DeleteStreamKey.d.ts +1 -1
  26. package/dist/admin-toolkit-ui/VideoControl/LiveStream/DeleteStreamKey.js +2 -2
  27. package/dist/admin-toolkit-ui/VideoControl/LiveStream/GenerateStreamKey.d.ts +1 -1
  28. package/dist/admin-toolkit-ui/VideoControl/LiveStream/GenerateStreamKey.js +2 -2
  29. package/dist/admin-toolkit-ui/VideoControl/LiveStream/ShowStreamKey.js +5 -4
  30. package/dist/admin-toolkit-ui/VideoControl/LiveStream/index.js +2 -2
  31. package/dist/admin-toolkit-ui/VideoControl/api.d.ts +5 -2
  32. package/dist/admin-toolkit-ui/VideoControl/api.js +22 -12
  33. package/dist/admin-toolkit-ui/VideoControl/index.js +14 -15
  34. package/dist/admin-toolkit-ui/VideoControl/utils.d.ts +2 -0
  35. package/dist/admin-toolkit-ui/VideoControl/utils.js +15 -3
  36. package/dist/admin-toolkit-ui/actions.d.ts +42 -0
  37. package/dist/admin-toolkit-ui/actions.js +138 -0
  38. package/dist/admin-toolkit-ui/admin-message-bus.js +17 -2
  39. package/dist/admin-toolkit-ui/index.d.ts +0 -3
  40. package/dist/admin-toolkit-ui/index.js +20 -93
  41. package/dist/admin-toolkit-ui/store.d.ts +2 -0
  42. package/dist/admin-toolkit-ui/store.js +45 -0
  43. package/dist/admin-toolkit-ui/types.d.ts +22 -5
  44. package/dist/admin-toolkit-ui/types.js +1 -2
  45. package/dist/bin/index.js +445 -325
  46. package/package.json +1 -1
  47. package/dist/admin-toolkit-ui/RewardsControl.d.ts +0 -7
  48. package/dist/admin-toolkit-ui/RewardsControl.js +0 -95
@@ -1,4 +1,4 @@
1
- import { IEngine } from '@dcl/ecs';
1
+ import type { IEngine } from '@dcl/ecs';
2
2
  import ReactEcs from '@dcl/react-ecs';
3
3
  export declare function DeleteStreamKeyConfirmation({ engine, onCancel, onReset, }: {
4
4
  engine: IEngine;
@@ -5,7 +5,7 @@ import { LoadingDots } from '../../Loading';
5
5
  import { Error } from '../../Error';
6
6
  import { resetStreamKey } from '../api';
7
7
  import { getComponents } from '../../../definitions';
8
- import { state } from '../..';
8
+ import { state } from '../../store';
9
9
  export function DeleteStreamKeyConfirmation({ engine, onCancel, onReset, }) {
10
10
  const [isLoading, setIsLoading] = ReactEcs.useState(false);
11
11
  const [error, setError] = ReactEcs.useState('');
@@ -59,4 +59,4 @@ export function DeleteStreamKeyConfirmation({ engine, onCancel, onReset, }) {
59
59
  isLoading && ReactEcs.createElement(LoadingDots, { engine: engine }),
60
60
  error && ReactEcs.createElement(Error, { text: error })));
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVsZXRlU3RyZWFtS2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVmlkZW9Db250cm9sL0xpdmVTdHJlYW0vRGVsZXRlU3RyZWFtS2V5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFOUIsTUFBTSxVQUFVLDJCQUEyQixDQUFDLEVBQzFDLE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxHQUtSO0lBQ0MsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRCxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFcEQsT0FBTyxDQUNMLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7WUFDWCxTQUFTLEVBQUUsR0FBRztZQUNkLE9BQU8sRUFBRSxNQUFNO1lBQ2YsYUFBYSxFQUFFLFFBQVE7WUFD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QUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFbmdpbmUgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBDb2xvcjQgfSBmcm9tICdAZGNsL2Vjcy1tYXRoJztcbmltcG9ydCBSZWFjdEVjcywgeyBVaUVudGl0eSwgTGFiZWwgfSBmcm9tICdAZGNsL3JlYWN0LWVjcyc7XG5cbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uL0J1dHRvbic7XG5pbXBvcnQgeyBMb2FkaW5nRG90cyB9IGZyb20gJy4uLy4uL0xvYWRpbmcnO1xuaW1wb3J0IHsgRXJyb3IgfSBmcm9tICcuLi8uLi9FcnJvcic7XG5pbXBvcnQgeyByZXNldFN0cmVhbUtleSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgc3RhdGUgfSBmcm9tICcuLi8uLic7XG5cbmV4cG9ydCBmdW5jdGlvbiBEZWxldGVTdHJlYW1LZXlDb25maXJtYXRpb24oe1xuICBlbmdpbmUsXG4gIG9uQ2FuY2VsLFxuICBvblJlc2V0LFxufToge1xuICBlbmdpbmU6IElFbmdpbmU7XG4gIG9uQ2FuY2VsKCk6IHZvaWQ7XG4gIG9uUmVzZXQoKTogdm9pZDtcbn0pIHtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IFJlYWN0RWNzLnVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdEVjcy51c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IHsgVmlkZW9Db250cm9sU3RhdGUgfSA9IGdldENvbXBvbmVudHMoZW5naW5lKTtcblxuICByZXR1cm4gKFxuICAgIDxVaUVudGl0eVxuICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgbWluSGVpZ2h0OiA0NzksXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgIGJvcmRlclJhZGl1czogMTIsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxMYWJlbFxuICAgICAgICB2YWx1ZT1cIjxiPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCB5b3VyIFN0cmVhbSBLZXk/PC9iPlwiXG4gICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgY29sb3I9e0NvbG9yNC5mcm9tSGV4U3RyaW5nKCcjRkNGQ0ZDJyl9XG4gICAgICAvPlxuXG4gICAgICA8TGFiZWxcbiAgICAgICAgdmFsdWU9XCJBY3RpdmUgc3RyZWFtcyB1c2luZyB0aGlzIHN0cmVhbSBrZXkgd2lsbCBiZSBkaXNjb25uZWN0ZWQuXCJcbiAgICAgICAgZm9udFNpemU9ezE0fVxuICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNGRkZGRkZCMicpfVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDYsIGJvdHRvbTogMjQgfSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgeyFpc0xvYWRpbmcgJiYgKFxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGlkPVwic3RyZWFtX2tleV9jYW5jZWxfcmVtb3ZlXCJcbiAgICAgICAgICAgIHZhbHVlPVwiPGI+Q2FuY2VsPC9iPlwiXG4gICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICBmb250U2l6ZT17MTh9XG4gICAgICAgICAgICBjb2xvcj17Q29sb3I0LkJsYWNrKCl9XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICB3aWR0aDogOTAsXG4gICAgICAgICAgICAgIGhlaWdodDogNDAsXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiAzMCwgbGVmdDogMzAgfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4gb25DYW5jZWwoKX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7IWlzTG9hZGluZyAmJiAoXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJzdHJlYW1fa2V5X2NvbmZpcm1fcmVtb3ZlXCJcbiAgICAgICAgICAgIHZhbHVlPXsnPGI+UmVzZXQ8L2I+J31cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIGZvbnRTaXplPXsxOH1cbiAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDgsXG4gICAgICAgICAgICAgIGhlaWdodDogNDAsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7IGNvbG9yOiBDb2xvcjQuZnJvbUhleFN0cmluZygnI0ZCM0IzQicpIH19XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17YXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgIGNvbnN0IFtlcnJvciwgZGF0YV0gPSBhd2FpdCByZXNldFN0cmVhbUtleSgpO1xuICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBzZXRFcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2aWRlb0NvbnRyb2wgPSBWaWRlb0NvbnRyb2xTdGF0ZS5nZXRNdXRhYmxlKHN0YXRlLmFkbWluVG9vbGtpdFVpRW50aXR5KTtcbiAgICAgICAgICAgICAgICB2aWRlb0NvbnRyb2wuZW5kc0F0ID0gZGF0YT8uZW5kc0F0O1xuICAgICAgICAgICAgICAgIG9uUmVzZXQoKTtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1VpRW50aXR5PlxuICAgICAge2lzTG9hZGluZyAmJiA8TG9hZGluZ0RvdHMgZW5naW5lPXtlbmdpbmV9IC8+fVxuICAgICAge2Vycm9yICYmIDxFcnJvciB0ZXh0PXtlcnJvcn0gLz59XG4gICAgPC9VaUVudGl0eT5cbiAgKTtcbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVsZXRlU3RyZWFtS2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVmlkZW9Db250cm9sL0xpdmVTdHJlYW0vRGVsZXRlU3RyZWFtS2V5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsTUFBTSxVQUFVLDJCQUEyQixDQUFDLEVBQzFDLE1BQU0sRUFDTixRQUFRLEVBQ1IsT0FBTyxHQUtSO0lBQ0MsTUFBTSxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNoRCxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFcEQsT0FBTyxDQUNMLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7WUFDWCxTQUFTLEVBQUUsR0FBRztZQUNkLE9BQU8sRUFBRSxNQUFNO1lBQ2YsYUFBYSxFQUFFLFFBQVE7WUFD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QUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSUVuZ2luZSB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvZWNzLW1hdGgnO1xuaW1wb3J0IFJlYWN0RWNzLCB7IFVpRW50aXR5LCBMYWJlbCB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcblxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vQnV0dG9uJztcbmltcG9ydCB7IExvYWRpbmdEb3RzIH0gZnJvbSAnLi4vLi4vTG9hZGluZyc7XG5pbXBvcnQgeyBFcnJvciB9IGZyb20gJy4uLy4uL0Vycm9yJztcbmltcG9ydCB7IHJlc2V0U3RyZWFtS2V5IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IGdldENvbXBvbmVudHMgfSBmcm9tICcuLi8uLi8uLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBzdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIERlbGV0ZVN0cmVhbUtleUNvbmZpcm1hdGlvbih7XG4gIGVuZ2luZSxcbiAgb25DYW5jZWwsXG4gIG9uUmVzZXQsXG59OiB7XG4gIGVuZ2luZTogSUVuZ2luZTtcbiAgb25DYW5jZWwoKTogdm9pZDtcbiAgb25SZXNldCgpOiB2b2lkO1xufSkge1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gUmVhY3RFY3MudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IFJlYWN0RWNzLnVzZVN0YXRlKCcnKTtcbiAgY29uc3QgeyBWaWRlb0NvbnRyb2xTdGF0ZSB9ID0gZ2V0Q29tcG9uZW50cyhlbmdpbmUpO1xuXG4gIHJldHVybiAoXG4gICAgPFVpRW50aXR5XG4gICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICBtaW5IZWlnaHQ6IDQ3OSxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAxMixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPExhYmVsXG4gICAgICAgIHZhbHVlPVwiPGI+QXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlc2V0IHlvdXIgU3RyZWFtIEtleT88L2I+XCJcbiAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNGQ0ZDRkMnKX1cbiAgICAgIC8+XG5cbiAgICAgIDxMYWJlbFxuICAgICAgICB2YWx1ZT1cIkFjdGl2ZSBzdHJlYW1zIHVzaW5nIHRoaXMgc3RyZWFtIGtleSB3aWxsIGJlIGRpc2Nvbm5lY3RlZC5cIlxuICAgICAgICBmb250U2l6ZT17MTR9XG4gICAgICAgIGNvbG9yPXtDb2xvcjQuZnJvbUhleFN0cmluZygnI0ZGRkZGRkIyJyl9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgbWFyZ2luOiB7IHRvcDogNiwgYm90dG9tOiAyNCB9LFxuICAgICAgICB9fVxuICAgICAgLz5cblxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7IWlzTG9hZGluZyAmJiAoXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJzdHJlYW1fa2V5X2NhbmNlbF9yZW1vdmVcIlxuICAgICAgICAgICAgdmFsdWU9XCI8Yj5DYW5jZWw8L2I+XCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIGZvbnRTaXplPXsxOH1cbiAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuQmxhY2soKX1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIHdpZHRoOiA5MCxcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6IDMwLCBsZWZ0OiAzMCB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiBvbkNhbmNlbCgpfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHshaXNMb2FkaW5nICYmIChcbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBpZD1cInN0cmVhbV9rZXlfY29uZmlybV9yZW1vdmVcIlxuICAgICAgICAgICAgdmFsdWU9eyc8Yj5SZXNldDwvYj4nfVxuICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgZm9udFNpemU9ezE4fVxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgcGFkZGluZzogOCxcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5mcm9tSGV4U3RyaW5nKCcjRkIzQjNCJykgfX1cbiAgICAgICAgICAgIG9uTW91c2VEb3duPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgY29uc3QgW2Vycm9yLCBkYXRhXSA9IGF3YWl0IHJlc2V0U3RyZWFtS2V5KCk7XG4gICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZpZGVvQ29udHJvbCA9IFZpZGVvQ29udHJvbFN0YXRlLmdldE11dGFibGUoc3RhdGUuYWRtaW5Ub29sa2l0VWlFbnRpdHkpO1xuICAgICAgICAgICAgICAgIHZpZGVvQ29udHJvbC5lbmRzQXQgPSBkYXRhPy5lbmRzQXQ7XG4gICAgICAgICAgICAgICAgb25SZXNldCgpO1xuICAgICAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVWlFbnRpdHk+XG4gICAgICB7aXNMb2FkaW5nICYmIDxMb2FkaW5nRG90cyBlbmdpbmU9e2VuZ2luZX0gLz59XG4gICAgICB7ZXJyb3IgJiYgPEVycm9yIHRleHQ9e2Vycm9yfSAvPn1cbiAgICA8L1VpRW50aXR5PlxuICApO1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { IEngine } from '@dcl/ecs';
1
+ import type { IEngine } from '@dcl/ecs';
2
2
  import ReactEcs from '@dcl/react-ecs';
3
3
  export declare function GenerateStreamKey({ engine, onGenerate, }: {
4
4
  engine: IEngine;
@@ -5,7 +5,7 @@ import { Error } from '../../Error';
5
5
  import { generateStreamKey } from '../api';
6
6
  import { LoadingDots } from '../../Loading';
7
7
  import { getComponents } from '../../../definitions';
8
- import { state } from '../..';
8
+ import { state } from '../../store';
9
9
  export function GenerateStreamKey({ engine, onGenerate, }) {
10
10
  const [loading, setLoading] = ReactEcs.useState(false);
11
11
  const [error, setError] = ReactEcs.useState('');
@@ -38,4 +38,4 @@ export function GenerateStreamKey({ engine, onGenerate, }) {
38
38
  } })),
39
39
  error && (ReactEcs.createElement(Error, { text: error, uiTransform: { margin: { top: 16 } } }))))));
40
40
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJhdGVTdHJlYW1LZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvTGl2ZVN0cmVhbS9HZW5lcmF0ZVN0cmVhbUtleS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFnQixNQUFNLFFBQVEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxFQUNoQyxNQUFNLEVBQ04sVUFBVSxHQUlYO0lBQ0MsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RCxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFcEQsT0FBTyxDQUNMLHVCQUFDLFFBQVEsSUFDUCxXQUFXLEVBQUU7WUFDWCxLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxHQUFHO1lBQ1gsY0FBYyxFQUFFLFFBQVE7WUFDeEIsVUFBVSxFQUFFLFFBQVE7U0FDckIsSUFFQSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ1QsdUJBQUMsUUFBUSxJQUFDLFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUU7UUFDaEQsdUJBQUMsV0FBVyxJQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUk7UUFDL0IsdUJBQUMsS0FBSyxJQUNKLEtBQUssRUFBQyw0QkFBNEIsRUFDbEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQ3RDLFFBQVEsRUFBRSxFQUFFLEVBQ1osV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQ3BDLENBQ08sQ0FDWixDQUFDLENBQUMsQ0FBQyxDQUNGLHVCQUFDLFFBQVEsSUFBQyxXQUFXLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFO1FBQ2hELHVCQUFDLFFBQVEsSUFBQyxXQUFXLEVBQUUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDaEUsdUJBQUMsTUFBTSxJQUNMLEVBQUUsRUFBQyxpQ0FBaUMsRUFDcEMsS0FBSyxFQUFDLHVCQUF1QixFQUM3QixRQUFRLEVBQUUsRUFBRSxFQUNaLFdBQVcsRUFBRTtvQkFDWCxNQUFNLEVBQUUsRUFBRTtvQkFDVixPQUFPLEVBQUUsRUFBRTtvQkFDWCxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2lCQUN2QixFQUNELFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRTtvQkFDdEIsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNqQixNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLE1BQU0saUJBQWlCLEVBQUUsQ0FBQztvQkFDaEQsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNsQixJQUFJLEtBQUssRUFBRSxDQUFDO3dCQUNWLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDbEIsQ0FBQzt5QkFBTSxJQUFJLElBQUksRUFBRSxDQUFDO3dCQUNoQixNQUFNLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7d0JBQzlFLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzt3QkFDbEMsVUFBVSxFQUFFLENBQUM7b0JBQ2YsQ0FBQztnQkFDSCxDQUFDLEdBQ0QsQ0FDTztRQUNWLEtBQUssSUFBSSxDQUNSLHVCQUFDLEtBQUssSUFDSixJQUFJLEVBQUUsS0FBSyxFQUNYLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUNwQyxDQUNILENBQ1EsQ0FDWixDQUNRLENBQ1osQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvcjQgfSBmcm9tICdAZGNsL3Nkay9tYXRoJztcbmltcG9ydCB7IElFbmdpbmUgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgUmVhY3RFY3MsIHsgVWlFbnRpdHksIExhYmVsIH0gZnJvbSAnQGRjbC9yZWFjdC1lY3MnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vQnV0dG9uJztcbmltcG9ydCB7IEVycm9yIH0gZnJvbSAnLi4vLi4vRXJyb3InO1xuaW1wb3J0IHsgZ2VuZXJhdGVTdHJlYW1LZXksIGdldFN0cmVhbUtleSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBMb2FkaW5nRG90cyB9IGZyb20gJy4uLy4uL0xvYWRpbmcnO1xuaW1wb3J0IHsgZ2V0Q29tcG9uZW50cyB9IGZyb20gJy4uLy4uLy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IHN0YXRlIH0gZnJvbSAnLi4vLi4nO1xuXG5leHBvcnQgZnVuY3Rpb24gR2VuZXJhdGVTdHJlYW1LZXkoe1xuICBlbmdpbmUsXG4gIG9uR2VuZXJhdGUsXG59OiB7XG4gIGVuZ2luZTogSUVuZ2luZTtcbiAgb25HZW5lcmF0ZTogKCkgPT4gdm9pZDtcbn0pIHtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3RFY3MudXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IFJlYWN0RWNzLnVzZVN0YXRlPHN0cmluZz4oJycpO1xuICBjb25zdCB7IFZpZGVvQ29udHJvbFN0YXRlIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8VWlFbnRpdHlcbiAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIGhlaWdodDogNDYwLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7bG9hZGluZyA/IChcbiAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nIH19PlxuICAgICAgICAgIDxMb2FkaW5nRG90cyBlbmdpbmU9e2VuZ2luZX0gLz5cbiAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgIHZhbHVlPVwiR2VuZXJhdGluZyB5b3VyIFN0cmVhbSBLZXlcIlxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5mcm9tSGV4U3RyaW5nKCcjQTA5QkE4Jyl9XG4gICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17eyBtYXJnaW46IHsgdG9wOiAxNiB9IH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICkgOiAoXG4gICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17eyBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyB9fT5cbiAgICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLCB3aWR0aDogJzEwMCUnIH19PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpZD1cInZpZGVvX2NvbnRyb2xfbGl2ZV9nZW5lcmF0ZV9rZXlcIlxuICAgICAgICAgICAgICB2YWx1ZT1cIjxiPkdldCBTdHJlYW0gS2V5PC9iPlwiXG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxOH1cbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUyLFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2LFxuICAgICAgICAgICAgICAgIG1hcmdpbjogeyBib3R0b206IDE2IH0sXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIG9uTW91c2VEb3duPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBbZXJyb3IsIGRhdGFdID0gYXdhaXQgZ2VuZXJhdGVTdHJlYW1LZXkoKTtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgIHNldEVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHZpZGVvQ29udHJvbCA9IFZpZGVvQ29udHJvbFN0YXRlLmdldE11dGFibGUoc3RhdGUuYWRtaW5Ub29sa2l0VWlFbnRpdHkpO1xuICAgICAgICAgICAgICAgICAgdmlkZW9Db250cm9sLmVuZHNBdCA9IGRhdGEuZW5kc0F0O1xuICAgICAgICAgICAgICAgICAgb25HZW5lcmF0ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICB7ZXJyb3IgJiYgKFxuICAgICAgICAgICAgPEVycm9yXG4gICAgICAgICAgICAgIHRleHQ9e2Vycm9yfVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17eyBtYXJnaW46IHsgdG9wOiAxNiB9IH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICApfVxuICAgIDwvVWlFbnRpdHk+XG4gICk7XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJhdGVTdHJlYW1LZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvTGl2ZVN0cmVhbS9HZW5lcmF0ZVN0cmVhbUtleS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEMsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEVBQ2hDLE1BQU0sRUFDTixVQUFVLEdBSVg7SUFDQyxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEUsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVwRCxPQUFPLENBQ0wsdUJBQUMsUUFBUSxJQUNQLFdBQVcsRUFBRTtZQUNYLEtBQUssRUFBRSxNQUFNO1lBQ2IsTUFBTSxFQUFFLEdBQUc7WUFDWCxjQUFjLEVBQUUsUUFBUTtZQUN4QixVQUFVLEVBQUUsUUFBUTtTQUNyQixJQUVBLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDVCx1QkFBQyxRQUFRLElBQUMsV0FBVyxFQUFFLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRTtRQUNoRCx1QkFBQyxXQUFXLElBQUMsTUFBTSxFQUFFLE1BQU0sR0FBSTtRQUMvQix1QkFBQyxLQUFLLElBQ0osS0FBSyxFQUFDLDRCQUE0QixFQUNsQyxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFDdEMsUUFBUSxFQUFFLEVBQUUsRUFDWixXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FDcEMsQ0FDTyxDQUNaLENBQUMsQ0FBQyxDQUFDLENBQ0YsdUJBQUMsUUFBUSxJQUFDLFdBQVcsRUFBRSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUU7UUFDaEQsdUJBQUMsUUFBUSxJQUFDLFdBQVcsRUFBRSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNoRSx1QkFBQyxNQUFNLElBQ0wsRUFBRSxFQUFDLGlDQUFpQyxFQUNwQyxLQUFLLEVBQUMsdUJBQXVCLEVBQzdCLFFBQVEsRUFBRSxFQUFFLEVBQ1osV0FBVyxFQUFFO29CQUNYLE1BQU0sRUFBRSxFQUFFO29CQUNWLE9BQU8sRUFBRSxFQUFFO29CQUNYLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7aUJBQ3ZCLEVBQ0QsV0FBVyxFQUFFLEtBQUssSUFBSSxFQUFFO29CQUN0QixVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2pCLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsTUFBTSxpQkFBaUIsRUFBRSxDQUFDO29CQUNoRCxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2xCLElBQUksS0FBSyxFQUFFLENBQUM7d0JBQ1YsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNsQixDQUFDO3lCQUFNLElBQUksSUFBSSxFQUFFLENBQUM7d0JBQ2hCLE1BQU0sWUFBWSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQzt3QkFDOUUsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO3dCQUNsQyxVQUFVLEVBQUUsQ0FBQztvQkFDZixDQUFDO2dCQUNILENBQUMsR0FDRCxDQUNPO1FBQ1YsS0FBSyxJQUFJLENBQ1IsdUJBQUMsS0FBSyxJQUNKLElBQUksRUFBRSxLQUFLLEVBQ1gsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQ3BDLENBQ0gsQ0FDUSxDQUNaLENBQ1EsQ0FDWixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IHR5cGUgeyBJRW5naW5lIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IFJlYWN0RWNzLCB7IFVpRW50aXR5LCBMYWJlbCB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uL0J1dHRvbic7XG5pbXBvcnQgeyBFcnJvciB9IGZyb20gJy4uLy4uL0Vycm9yJztcbmltcG9ydCB7IGdlbmVyYXRlU3RyZWFtS2V5IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IExvYWRpbmdEb3RzIH0gZnJvbSAnLi4vLi4vTG9hZGluZyc7XG5pbXBvcnQgeyBnZXRDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgc3RhdGUgfSBmcm9tICcuLi8uLi9zdG9yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBHZW5lcmF0ZVN0cmVhbUtleSh7XG4gIGVuZ2luZSxcbiAgb25HZW5lcmF0ZSxcbn06IHtcbiAgZW5naW5lOiBJRW5naW5lO1xuICBvbkdlbmVyYXRlOiAoKSA9PiB2b2lkO1xufSkge1xuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSBSZWFjdEVjcy51c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gUmVhY3RFY3MudXNlU3RhdGU8c3RyaW5nPignJyk7XG4gIGNvbnN0IHsgVmlkZW9Db250cm9sU3RhdGUgfSA9IGdldENvbXBvbmVudHMoZW5naW5lKTtcblxuICByZXR1cm4gKFxuICAgIDxVaUVudGl0eVxuICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiA0NjAsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8VWlFbnRpdHkgdWlUcmFuc2Zvcm09e3sgZmxleERpcmVjdGlvbjogJ2NvbHVtbicgfX0+XG4gICAgICAgICAgPExvYWRpbmdEb3RzIGVuZ2luZT17ZW5naW5lfSAvPlxuICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgdmFsdWU9XCJHZW5lcmF0aW5nIHlvdXIgU3RyZWFtIEtleVwiXG4gICAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNBMDlCQTgnKX1cbiAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7IG1hcmdpbjogeyB0b3A6IDE2IH0gfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgKSA6IChcbiAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nIH19PlxuICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17eyBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsIHdpZHRoOiAnMTAwJScgfX0+XG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgIGlkPVwidmlkZW9fY29udHJvbF9saXZlX2dlbmVyYXRlX2tleVwiXG4gICAgICAgICAgICAgIHZhbHVlPVwiPGI+R2V0IFN0cmVhbSBLZXk8L2I+XCJcbiAgICAgICAgICAgICAgZm9udFNpemU9ezE4fVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTIsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTYsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogMTYgfSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25Nb3VzZURvd249e2FzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IFtlcnJvciwgZGF0YV0gPSBhd2FpdCBnZW5lcmF0ZVN0cmVhbUtleSgpO1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgc2V0RXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgY29uc3QgdmlkZW9Db250cm9sID0gVmlkZW9Db250cm9sU3RhdGUuZ2V0TXV0YWJsZShzdGF0ZS5hZG1pblRvb2xraXRVaUVudGl0eSk7XG4gICAgICAgICAgICAgICAgICB2aWRlb0NvbnRyb2wuZW5kc0F0ID0gZGF0YS5lbmRzQXQ7XG4gICAgICAgICAgICAgICAgICBvbkdlbmVyYXRlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8RXJyb3JcbiAgICAgICAgICAgICAgdGV4dD17ZXJyb3J9XG4gICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7IG1hcmdpbjogeyB0b3A6IDE2IH0gfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICl9XG4gICAgPC9VaUVudGl0eT5cbiAgKTtcbn1cbiJdfQ==
@@ -11,7 +11,8 @@ import { LoadingDots } from '../../Loading';
11
11
  import { VideoControlVolume } from '../VolumeControl';
12
12
  import { getStreamKey } from '../api';
13
13
  import { createVideoPlayerControls } from '../utils';
14
- import { state } from '../..';
14
+ import { state } from '../../store';
15
+ import { setStream } from '../../actions';
15
16
  import { COLORS } from '..';
16
17
  const STREAM_ICONS = {
17
18
  get eyeShow() {
@@ -183,14 +184,14 @@ export function ShowStreamKey({ engine, video, entity, onReset, endsAt, }) {
183
184
  padding: { left: 8, right: 8 },
184
185
  }, onMouseDown: () => {
185
186
  controls.setSource('');
186
- state.videoControl.selectedStream = undefined;
187
+ setStream(undefined);
187
188
  } })) : (ReactEcs.createElement(Button, { id: "video_control_share_screen_share", value: "<b>Activate</b>", labelTransform: {
188
189
  margin: { left: 20, right: 20 },
189
190
  }, uiTransform: {
190
191
  minWidth: 120,
191
192
  }, fontSize: 16, uiBackground: { color: COLORS.SUCCESS }, color: Color4.Black(), onMouseDown: () => {
192
193
  controls.setSource(LIVEKIT_STREAM_SRC);
193
- state.videoControl.selectedStream = 'live';
194
+ setStream('live');
194
195
  } }))),
195
196
  ReactEcs.createElement(VideoControlVolume, { engine: engine, label: "<b>Stream Volume</b>", entity: entity, video: video }),
196
197
  ReactEcs.createElement(UiEntity, null,
@@ -213,4 +214,4 @@ function formatTimeRemaining(endsAt) {
213
214
  return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
214
215
  }
215
216
  }
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hvd1N0cmVhbUtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hZG1pbi10b29sa2l0LXVpL1ZpZGVvQ29udHJvbC9MaXZlU3RyZWFtL1Nob3dTdHJlYW1LZXkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDOUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztBQUU1QixNQUFNLFlBQVksR0FBRztJQUNuQixJQUFJLE9BQU87UUFDVCxPQUFPLEdB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3I0IH0gZnJvbSAnQGRjbC9zZGsvbWF0aCc7XG5pbXBvcnQgdHlwZSB7IERlZXBSZWFkb25seU9iamVjdCwgRW50aXR5LCBJRW5naW5lLCBQQlZpZGVvUGxheWVyIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IFJlYWN0RWNzLCB7IFVpRW50aXR5LCBMYWJlbCB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcbmltcG9ydCB7IGNvcHlUb0NsaXBib2FyZCB9IGZyb20gJ35zeXN0ZW0vUmVzdHJpY3RlZEFjdGlvbnMnO1xuaW1wb3J0IHsgTElWRUtJVF9TVFJFQU1fU1JDIH0gZnJvbSAnLi4vLi4vLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgc3RhcnRUaW1lb3V0LCBzdG9wVGltZW91dCwgc3RhcnRJbnRlcnZhbCwgc3RvcEludGVydmFsIH0gZnJvbSAnLi4vLi4vLi4vdGltZXInO1xuaW1wb3J0IHsgZ2V0Q29udGVudFVybCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi9CdXR0b24nO1xuaW1wb3J0IHsgRmVlZGJhY2tCdXR0b24gfSBmcm9tICcuLi8uLi9GZWVkYmFja0J1dHRvbic7XG5pbXBvcnQgeyBnZXRFcnJvckljb24gfSBmcm9tICcuLi8uLi9FcnJvcic7XG5pbXBvcnQgeyBMb2FkaW5nRG90cyB9IGZyb20gJy4uLy4uL0xvYWRpbmcnO1xuaW1wb3J0IHsgVmlkZW9Db250cm9sVm9sdW1lIH0gZnJvbSAnLi4vVm9sdW1lQ29udHJvbCc7XG5pbXBvcnQgeyBnZXRTdHJlYW1LZXkgfSBmcm9tICcuLi9hcGknO1xuaW1wb3J0IHsgY3JlYXRlVmlkZW9QbGF5ZXJDb250cm9scyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHN0YXRlIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IHsgQ09MT1JTIH0gZnJvbSAnLi4nO1xuXG5jb25zdCBTVFJFQU1fSUNPTlMgPSB7XG4gIGdldCBleWVTaG93KCkge1xuICAgIHJldHVybiBgJHtnZXRDb250ZW50VXJsKCl9L2FkbWluX3Rvb2xraXQvYXNzZXRzL2ljb25zL2V5ZS5wbmdgO1xuICB9LFxuICBnZXQgZXllSGlkZSgpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9leWUtb2ZmLnBuZ2A7XG4gIH0sXG59O1xuXG5jb25zdCBBVVRPX0hJREVfRFVSQVRJT05fU0VDT05EUyA9IDMwO1xuY29uc3QgU1RSRUFNX0tFWV9USU1FT1VUX0FDVElPTiA9ICd2aWRlb19jb250cm9sX3N0cmVhbV9rZXlfdGltZW91dCc7XG5jb25zdCBTVFJFQU1fS0VZX0lOVEVSVkFMX0FDVElPTiA9ICd2aWRlb19jb250cm9sX3N0cmVhbV9rZXlfaW50ZXJ2YWwnO1xuY29uc3QgUlRNUF9TRVJWRVJfVVJMID0gJ3J0bXBzOi8vZGNsLnJ0bXAubGl2ZWtpdC5jbG91ZC94JztcblxuZXhwb3J0IGZ1bmN0aW9uIFNob3dTdHJlYW1LZXkoe1xuICBlbmdpbmUsXG4gIHZpZGVvLFxuICBlbnRpdHksXG4gIG9uUmVzZXQsXG4gIGVuZHNBdCxcbn06IHtcbiAgZW5kc0F0OiBudW1iZXI7XG4gIGVuZ2luZTogSUVuZ2luZTtcbiAgZW50aXR5OiBFbnRpdHk7XG4gIHZpZGVvOiBEZWVwUmVhZG9ubHlPYmplY3Q8UEJWaWRlb1BsYXllcj4gfCB1bmRlZmluZWQ7XG4gIG9uUmVzZXQoKTogdm9pZDtcbn0pIHtcbiAgY29uc3QgY29udHJvbHMgPSBjcmVhdGVWaWRlb1BsYXllckNvbnRyb2xzKGVudGl0eSwgZW5naW5lKTtcbiAgY29uc3QgW3Nob3dTdHJlYW1rZXksIHNldFNob3dTdHJlYW1rZXldID0gUmVhY3RFY3MudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSBSZWFjdEVjcy51c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzdHJlYW1LZXksIHNldFN0cmVhbUtleV0gPSBSZWFjdEVjcy51c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFt0aW1lUmVtYWluaW5nLCBzZXRUaW1lUmVtYWluaW5nXSA9IFJlYWN0RWNzLnVzZVN0YXRlKEFVVE9fSElERV9EVVJBVElPTl9TRUNPTkRTKTtcblxuICAvLyBhdXRvLWhpZGUgc3RyZWFtIGtleSBhZnRlciBzcGVjaWZpZWQgZHVyYXRpb25cbiAgUmVhY3RFY3MudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc3RyZWFtS2V5KSB7XG4gICAgICBzZXRUaW1lUmVtYWluaW5nKEFVVE9fSElERV9EVVJBVElPTl9TRUNPTkRTKTtcblxuICAgICAgc3RhcnRUaW1lb3V0KFxuICAgICAgICBzdGF0ZS5hZG1pblRvb2xraXRVaUVudGl0eSxcbiAgICAgICAgU1RSRUFNX0tFWV9USU1FT1VUX0FDVElPTixcbiAgICAgICAgQVVUT19ISURFX0RVUkFUSU9OX1NFQ09ORFMsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBzZXRTdHJlYW1LZXkodW5kZWZpbmVkKTtcbiAgICAgICAgICBzZXRTaG93U3RyZWFta2V5KGZhbHNlKTtcbiAgICAgICAgICBzZXRUaW1lUmVtYWluaW5nKDApO1xuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgc3RhcnRJbnRlcnZhbChzdGF0ZS5hZG1pblRvb2xraXRVaUVudGl0eSwgU1RSRUFNX0tFWV9JTlRFUlZBTF9BQ1RJT04sIDAuMSwgKCkgPT4ge1xuICAgICAgICBzZXRUaW1lUmVtYWluaW5nKHByZXYgPT4gTWF0aC5tYXgoMCwgcHJldiAtIDAuMSkpO1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHN0b3BUaW1lb3V0KHN0YXRlLmFkbWluVG9vbGtpdFVpRW50aXR5LCBTVFJFQU1fS0VZX1RJTUVPVVRfQUNUSU9OKTtcbiAgICAgICAgc3RvcEludGVydmFsKHN0YXRlLmFkbWluVG9vbGtpdFVpRW50aXR5LCBTVFJFQU1fS0VZX0lOVEVSVkFMX0FDVElPTik7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRUaW1lUmVtYWluaW5nKDApO1xuICAgIH1cbiAgfSwgW3N0cmVhbUtleV0pO1xuXG4gIHJldHVybiAoXG4gICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nIH19PlxuICAgICAgPExhYmVsXG4gICAgICAgIHZhbHVlPVwiPGI+UlRNUCBTZXJ2ZXI8L2I+XCJcbiAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgbWFyZ2luOiB7IHRvcDogMTYsIGJvdHRvbTogOCB9LFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogOCwgdG9wOiA4IH0sXG4gICAgICAgICAgaGVpZ2h0OiA0MixcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDEyLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICAgIHVpQmFja2dyb3VuZD17eyBjb2xvcjogQ29sb3I0LldoaXRlKCkgfX1cbiAgICAgID5cbiAgICAgICAgPExhYmVsXG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3sgbWFyZ2luOiB7IGxlZnQ6IDE2IH0gfX1cbiAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgdmFsdWU9e2A8Yj4ke1JUTVBfU0VSVkVSX1VSTH08L2I+YH1cbiAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNBMDlCQTgnKX1cbiAgICAgICAgLz5cbiAgICAgICAgPEZlZWRiYWNrQnV0dG9uXG4gICAgICAgICAgaWQ9XCJ2aWRlb19jb250cm9sX2NvcHlfcnRtcF9zZXJ2ZXJcIlxuICAgICAgICAgIHZhbHVlPVwiPGI+Q29weTwvYj5cIlxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogOCB9LFxuICAgICAgICAgICAgcGFkZGluZzogeyBsZWZ0OiA4LCByaWdodDogOCB9LFxuICAgICAgICAgIH19XG4gICAgICAgICAgb25Nb3VzZURvd249e2FzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvcHlUb0NsaXBib2FyZCh7IHRleHQ6IFJUTVBfU0VSVkVSX1VSTCB9KTtcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9VaUVudGl0eT5cbiAgICAgIDxMYWJlbFxuICAgICAgICB2YWx1ZT1cIjxiPlN0cmVhbSBLZXk8L2I+XCJcbiAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgbWFyZ2luOiB7IHRvcDogMTYsIGJvdHRvbTogOCB9LFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgbWFyZ2luOiB7IGJvdHRvbTogOCwgdG9wOiA4IH0sXG4gICAgICAgICAgaGVpZ2h0OiA0MixcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDEyLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgIH19XG4gICAgICAgIHVpQmFja2dyb3VuZD17eyBjb2xvcjogQ29sb3I0LldoaXRlKCkgfX1cbiAgICAgID5cbiAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2ZsZXgtc3RhcnQnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICB7bG9hZGluZyA/IChcbiAgICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICAgIG1hcmdpbjogeyBsZWZ0OiAxNiB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8TG9hZGluZ0RvdHMgZW5naW5lPXtlbmdpbmV9IC8+XG4gICAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICBtYXJnaW46IHsgbGVmdDogMTYgfSxcbiAgICAgICAgICAgICAgICBmbGV4U2hyaW5rOiAxLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICAgIHZhbHVlPXtgPGI+JHtzaG93U3RyZWFta2V5ICYmIHN0cmVhbUtleSA/IHN0cmVhbUtleSA6ICcqKioqKioqKioqKionfTwvYj5gfVxuICAgICAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNBMDlCQTgnKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6IDEwIH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgIHRleHR1cmVNb2RlOiAnc3RyZXRjaCcsXG4gICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICBzcmM6IHNob3dTdHJlYW1rZXkgJiYgc3RyZWFtS2V5ID8gU1RSRUFNX0lDT05TLmV5ZUhpZGUgOiBTVFJFQU1fSUNPTlMuZXllU2hvdyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY29sb3I6IENvbG9yNC5CbGFjaygpLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VEb3duPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghc3RyZWFtS2V5KSB7XG4gICAgICAgICAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBbZXJyb3IsIGRhdGFdID0gYXdhaXQgZ2V0U3RyZWFtS2V5KCk7XG4gICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFlcnJvciAmJiBkYXRhPy5zdHJlYW1pbmdLZXkpIHtcbiAgICAgICAgICAgICAgICAgIHNldFN0cmVhbUtleShkYXRhLnN0cmVhbWluZ0tleSk7XG4gICAgICAgICAgICAgICAgICBzZXRTaG93U3RyZWFta2V5KHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRTaG93U3RyZWFta2V5KCFzaG93U3RyZWFta2V5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxGZWVkYmFja0J1dHRvblxuICAgICAgICAgICAgaWQ9XCJ2aWRlb19jb250cm9sX2NvcHlfc3RyZWFtX2tleVwiXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPkNvcHk8L2I+XCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogOCB9LFxuICAgICAgICAgICAgICBwYWRkaW5nOiB7IGxlZnQ6IDgsIHJpZ2h0OiA4IH0sXG4gICAgICAgICAgICAgIG1pbldpZHRoOiA2MCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17YXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoc3RyZWFtS2V5KSB7XG4gICAgICAgICAgICAgICAgY29weVRvQ2xpcGJvYXJkKHsgdGV4dDogc3RyZWFtS2V5IH0pO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgW2Vycm9yLCBkYXRhXSA9IGF3YWl0IGdldFN0cmVhbUtleSgpO1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlmICghZXJyb3IgJiYgZGF0YT8uc3RyZWFtaW5nS2V5KSB7XG4gICAgICAgICAgICAgICAgICBzZXRTdHJlYW1LZXkoZGF0YS5zdHJlYW1pbmdLZXkpO1xuICAgICAgICAgICAgICAgICAgY29weVRvQ2xpcGJvYXJkKHsgdGV4dDogZGF0YS5zdHJlYW1pbmdLZXkgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICA8L1VpRW50aXR5PlxuXG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogNCxcbiAgICAgICAgICBtYXJnaW46IHsgdG9wOiA4IH0sXG4gICAgICAgICAgZGlzcGxheTogc3RyZWFtS2V5ICYmIHRpbWVSZW1haW5pbmcgPiAwICYmIHNob3dTdHJlYW1rZXkgPyAnZmxleCcgOiAnbm9uZScsXG4gICAgICAgIH19XG4gICAgICAgIHVpQmFja2dyb3VuZD17eyBjb2xvcjogQ29sb3I0LmZyb21IZXhTdHJpbmcoJyNGRkZGRkYxQScpIH19XG4gICAgICA+XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICB3aWR0aDogYCR7KHRpbWVSZW1haW5pbmcgLyBBVVRPX0hJREVfRFVSQVRJT05fU0VDT05EUykgKiAxMDB9JWAsXG4gICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICB9fVxuICAgICAgICAgIHVpQmFja2dyb3VuZD17eyBjb2xvcjogQ29sb3I0LmZyb21IZXhTdHJpbmcoJyMwMEQzRkYnKSB9fVxuICAgICAgICAvPlxuICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBoZWlnaHQ6IDQwLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG4gICAgICAgICAgbWFyZ2luOiB7IHRvcDogMTAsIGJvdHRvbTogMTYgfSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2VuZHNBdCA+IERhdGUubm93KCkgPyAoXG4gICAgICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nIH19PlxuICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgIHZhbHVlPVwiU3RyZWFtIGV4cGlyZXMgaW46XCJcbiAgICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5mcm9tSGV4U3RyaW5nKCcjRkZGRkZGQjInKX1cbiAgICAgICAgICAgICAgZm9udFNpemU9ezE0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICB2YWx1ZT17Zm9ybWF0VGltZVJlbWFpbmluZyhlbmRzQXQpfVxuICAgICAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNGRkZGRkZCMicpfVxuICAgICAgICAgICAgICBmb250U2l6ZT17MTR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiAxMCB9LFxuICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMixcbiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6IENvbG9yNC5HcmVlbigpLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNSxcbiAgICAgICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6IDQsIHRvcDogNCB9LFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICB1aUJhY2tncm91bmQ9e3tcbiAgICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICAgIHRleHR1cmU6IHtcbiAgICAgICAgICAgICAgICAgIHNyYzogZ2V0RXJyb3JJY29uKCksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgZm9udFNpemU9ezE0fVxuICAgICAgICAgICAgICB0ZXh0QWxpZ249XCJtaWRkbGUtbGVmdFwiXG4gICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuZnJvbUhleFN0cmluZygnI0ZGMDAwMCcpfVxuICAgICAgICAgICAgICB2YWx1ZT1cIlN0cmVhbSB0aW1lZCBvdXQuIFBsZWFzZSByZXN0YXJ0IHN0cmVhbSBpbiBicm9hZGNhc3Rpbmcgc29mdHdhcmUuXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgKX1cbiAgICAgICAge3ZpZGVvPy5zcmMgPT09IExJVkVLSVRfU1RSRUFNX1NSQyAmJiBzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRTdHJlYW0gPT09ICdsaXZlJyA/IChcbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICBpZD1cInZpZGVvX2NvbnRyb2xfc2hhcmVfc2NyZWVuX2NsZWFyXCJcbiAgICAgICAgICAgIHZhbHVlPVwiPGI+RGVhY3RpdmF0ZTwvYj5cIlxuICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5XaGl0ZSgpfVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgbWluV2lkdGg6IDEyMCxcbiAgICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiA4IH0sXG4gICAgICAgICAgICAgIHBhZGRpbmc6IHsgbGVmdDogOCwgcmlnaHQ6IDggfSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4ge1xuICAgICAgICAgICAgICBjb250cm9scy5zZXRTb3VyY2UoJycpO1xuICAgICAgICAgICAgICBzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRTdHJlYW0gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJ2aWRlb19jb250cm9sX3NoYXJlX3NjcmVlbl9zaGFyZVwiXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPkFjdGl2YXRlPC9iPlwiXG4gICAgICAgICAgICBsYWJlbFRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBtYXJnaW46IHsgbGVmdDogMjAsIHJpZ2h0OiAyMCB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIG1pbldpZHRoOiAxMjAsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7IGNvbG9yOiBDT0xPUlMuU1VDQ0VTUyB9fVxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5CbGFjaygpfVxuICAgICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICAgICAgY29udHJvbHMuc2V0U291cmNlKExJVkVLSVRfU1RSRUFNX1NSQyk7XG4gICAgICAgICAgICAgIHN0YXRlLnZpZGVvQ29udHJvbC5zZWxlY3RlZFN0cmVhbSA9ICdsaXZlJztcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvVWlFbnRpdHk+XG4gICAgICA8VmlkZW9Db250cm9sVm9sdW1lXG4gICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICBsYWJlbD1cIjxiPlN0cmVhbSBWb2x1bWU8L2I+XCJcbiAgICAgICAgZW50aXR5PXtlbnRpdHl9XG4gICAgICAgIHZpZGVvPXt2aWRlb31cbiAgICAgIC8+XG4gICAgICA8VWlFbnRpdHk+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICBpZD1cInZpZGVvX2NvbnRyb2xfcmVzZXRfc3RyZWFtX2tleVwiXG4gICAgICAgICAgdmFsdWU9XCI8Yj5SZXNldCBTdHJlYW0gS2V5PC9iPlwiXG4gICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNGQjNCM0InKX1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiA4LCB0b3A6IDIwIH0sXG4gICAgICAgICAgICBwYWRkaW5nOiB7IGxlZnQ6IDgsIHJpZ2h0OiA4IH0sXG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbk1vdXNlRG93bj17KCkgPT4gb25SZXNldCgpfVxuICAgICAgICAvPlxuICAgICAgPC9VaUVudGl0eT5cbiAgICA8L1VpRW50aXR5PlxuICApO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZm9ybWF0IHRpbWUgcmVtYWluaW5nIC0gc2hvd3MgZGF5cyBpZiA+IDEgZGF5LCBvdGhlcndpc2Ugc2hvd3MgaGg6bW06c3NcbmZ1bmN0aW9uIGZvcm1hdFRpbWVSZW1haW5pbmcoZW5kc0F0OiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICBjb25zdCB0aW1lUmVtYWluaW5nID0gTWF0aC5tYXgoMCwgZW5kc0F0IC0gbm93KTtcblxuICBjb25zdCBkYXlzID0gTWF0aC5mbG9vcih0aW1lUmVtYWluaW5nIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpKTtcblxuICBpZiAoZGF5cyA+PSAxKSB7XG4gICAgcmV0dXJuIGAke2RheXN9ICR7ZGF5cyA9PT0gMSA/ICdkYXknIDogJ2RheXMnfWA7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHRpbWVSZW1haW5pbmcgLyAoMTAwMCAqIDYwICogNjApKTtcbiAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcigodGltZVJlbWFpbmluZyAlICgxMDAwICogNjAgKiA2MCkpIC8gKDEwMDAgKiA2MCkpO1xuICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKCh0aW1lUmVtYWluaW5nICUgKDEwMDAgKiA2MCkpIC8gMTAwMCk7XG4gICAgcmV0dXJuIGAke2hvdXJzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06JHttaW51dGVzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX06JHtzZWNvbmRzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gO1xuICB9XG59XG4iXX0=
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2hvd1N0cmVhbUtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hZG1pbi10b29sa2l0LXVpL1ZpZGVvQ29udHJvbC9MaXZlU3RyZWFtL1Nob3dTdHJlYW1LZXkudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkMsT0FBTyxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRTVCLE1B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QUMsR0FBRyxFQUFFLENBQUM7SUFDdkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRWhELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUUvRCxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNkLE9BQU8sR0FBRyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsRCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDakUsT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDOUgsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvcjQgfSBmcm9tICdAZGNsL3Nkay9tYXRoJztcbmltcG9ydCB0eXBlIHsgRGVlcFJlYWRvbmx5T2JqZWN0LCBFbnRpdHksIElFbmdpbmUsIFBCVmlkZW9QbGF5ZXIgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgUmVhY3RFY3MsIHsgVWlFbnRpdHksIExhYmVsIH0gZnJvbSAnQGRjbC9yZWFjdC1lY3MnO1xuaW1wb3J0IHsgY29weVRvQ2xpcGJvYXJkIH0gZnJvbSAnfnN5c3RlbS9SZXN0cmljdGVkQWN0aW9ucyc7XG5pbXBvcnQgeyBMSVZFS0lUX1NUUkVBTV9TUkMgfSBmcm9tICcuLi8uLi8uLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBzdGFydFRpbWVvdXQsIHN0b3BUaW1lb3V0LCBzdGFydEludGVydmFsLCBzdG9wSW50ZXJ2YWwgfSBmcm9tICcuLi8uLi8uLi90aW1lcic7XG5pbXBvcnQgeyBnZXRDb250ZW50VXJsIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJy4uLy4uL0J1dHRvbic7XG5pbXBvcnQgeyBGZWVkYmFja0J1dHRvbiB9IGZyb20gJy4uLy4uL0ZlZWRiYWNrQnV0dG9uJztcbmltcG9ydCB7IGdldEVycm9ySWNvbiB9IGZyb20gJy4uLy4uL0Vycm9yJztcbmltcG9ydCB7IExvYWRpbmdEb3RzIH0gZnJvbSAnLi4vLi4vTG9hZGluZyc7XG5pbXBvcnQgeyBWaWRlb0NvbnRyb2xWb2x1bWUgfSBmcm9tICcuLi9Wb2x1bWVDb250cm9sJztcbmltcG9ydCB7IGdldFN0cmVhbUtleSB9IGZyb20gJy4uL2FwaSc7XG5pbXBvcnQgeyBjcmVhdGVWaWRlb1BsYXllckNvbnRyb2xzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgc3RhdGUgfSBmcm9tICcuLi8uLi9zdG9yZSc7XG5pbXBvcnQgeyBzZXRTdHJlYW0gfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uJztcblxuY29uc3QgU1RSRUFNX0lDT05TID0ge1xuICBnZXQgZXllU2hvdygpIHtcbiAgICByZXR1cm4gYCR7Z2V0Q29udGVudFVybCgpfS9hZG1pbl90b29sa2l0L2Fzc2V0cy9pY29ucy9leWUucG5nYDtcbiAgfSxcbiAgZ2V0IGV5ZUhpZGUoKSB7XG4gICAgcmV0dXJuIGAke2dldENvbnRlbnRVcmwoKX0vYWRtaW5fdG9vbGtpdC9hc3NldHMvaWNvbnMvZXllLW9mZi5wbmdgO1xuICB9LFxufTtcblxuY29uc3QgQVVUT19ISURFX0RVUkFUSU9OX1NFQ09ORFMgPSAzMDtcbmNvbnN0IFNUUkVBTV9LRVlfVElNRU9VVF9BQ1RJT04gPSAndmlkZW9fY29udHJvbF9zdHJlYW1fa2V5X3RpbWVvdXQnO1xuY29uc3QgU1RSRUFNX0tFWV9JTlRFUlZBTF9BQ1RJT04gPSAndmlkZW9fY29udHJvbF9zdHJlYW1fa2V5X2ludGVydmFsJztcbmNvbnN0IFJUTVBfU0VSVkVSX1VSTCA9ICdydG1wczovL2RjbC5ydG1wLmxpdmVraXQuY2xvdWQveCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBTaG93U3RyZWFtS2V5KHtcbiAgZW5naW5lLFxuICB2aWRlbyxcbiAgZW50aXR5LFxuICBvblJlc2V0LFxuICBlbmRzQXQsXG59OiB7XG4gIGVuZHNBdDogbnVtYmVyO1xuICBlbmdpbmU6IElFbmdpbmU7XG4gIGVudGl0eTogRW50aXR5O1xuICB2aWRlbzogRGVlcFJlYWRvbmx5T2JqZWN0PFBCVmlkZW9QbGF5ZXI+IHwgdW5kZWZpbmVkO1xuICBvblJlc2V0KCk6IHZvaWQ7XG59KSB7XG4gIGNvbnN0IGNvbnRyb2xzID0gY3JlYXRlVmlkZW9QbGF5ZXJDb250cm9scyhlbnRpdHksIGVuZ2luZSk7XG4gIGNvbnN0IFtzaG93U3RyZWFta2V5LCBzZXRTaG93U3RyZWFta2V5XSA9IFJlYWN0RWNzLnVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3RFY3MudXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc3RyZWFtS2V5LCBzZXRTdHJlYW1LZXldID0gUmVhY3RFY3MudXNlU3RhdGU8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBjb25zdCBbdGltZVJlbWFpbmluZywgc2V0VGltZVJlbWFpbmluZ10gPSBSZWFjdEVjcy51c2VTdGF0ZShBVVRPX0hJREVfRFVSQVRJT05fU0VDT05EUyk7XG5cbiAgLy8gYXV0by1oaWRlIHN0cmVhbSBrZXkgYWZ0ZXIgc3BlY2lmaWVkIGR1cmF0aW9uXG4gIFJlYWN0RWNzLnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHN0cmVhbUtleSkge1xuICAgICAgc2V0VGltZVJlbWFpbmluZyhBVVRPX0hJREVfRFVSQVRJT05fU0VDT05EUyk7XG5cbiAgICAgIHN0YXJ0VGltZW91dChcbiAgICAgICAgc3RhdGUuYWRtaW5Ub29sa2l0VWlFbnRpdHksXG4gICAgICAgIFNUUkVBTV9LRVlfVElNRU9VVF9BQ1RJT04sXG4gICAgICAgIEFVVE9fSElERV9EVVJBVElPTl9TRUNPTkRTLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc2V0U3RyZWFtS2V5KHVuZGVmaW5lZCk7XG4gICAgICAgICAgc2V0U2hvd1N0cmVhbWtleShmYWxzZSk7XG4gICAgICAgICAgc2V0VGltZVJlbWFpbmluZygwKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIHN0YXJ0SW50ZXJ2YWwoc3RhdGUuYWRtaW5Ub29sa2l0VWlFbnRpdHksIFNUUkVBTV9LRVlfSU5URVJWQUxfQUNUSU9OLCAwLjEsICgpID0+IHtcbiAgICAgICAgc2V0VGltZVJlbWFpbmluZyhwcmV2ID0+IE1hdGgubWF4KDAsIHByZXYgLSAwLjEpKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBzdG9wVGltZW91dChzdGF0ZS5hZG1pblRvb2xraXRVaUVudGl0eSwgU1RSRUFNX0tFWV9USU1FT1VUX0FDVElPTik7XG4gICAgICAgIHN0b3BJbnRlcnZhbChzdGF0ZS5hZG1pblRvb2xraXRVaUVudGl0eSwgU1RSRUFNX0tFWV9JTlRFUlZBTF9BQ1RJT04pO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0VGltZVJlbWFpbmluZygwKTtcbiAgICB9XG4gIH0sIFtzdHJlYW1LZXldKTtcblxuICByZXR1cm4gKFxuICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17eyBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyB9fT5cbiAgICAgIDxMYWJlbFxuICAgICAgICB2YWx1ZT1cIjxiPlJUTVAgU2VydmVyPC9iPlwiXG4gICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDE2LCBib3R0b206IDggfSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIG1hcmdpbjogeyBib3R0b206IDgsIHRvcDogOCB9LFxuICAgICAgICAgIGhlaWdodDogNDIsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAxMixcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5XaGl0ZSgpIH19XG4gICAgICA+XG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7IG1hcmdpbjogeyBsZWZ0OiAxNiB9IH19XG4gICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgIHZhbHVlPXtgPGI+JHtSVE1QX1NFUlZFUl9VUkx9PC9iPmB9XG4gICAgICAgICAgY29sb3I9e0NvbG9yNC5mcm9tSGV4U3RyaW5nKCcjQTA5QkE4Jyl9XG4gICAgICAgIC8+XG4gICAgICAgIDxGZWVkYmFja0J1dHRvblxuICAgICAgICAgIGlkPVwidmlkZW9fY29udHJvbF9jb3B5X3J0bXBfc2VydmVyXCJcbiAgICAgICAgICB2YWx1ZT1cIjxiPkNvcHk8L2I+XCJcbiAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6IDggfSxcbiAgICAgICAgICAgIHBhZGRpbmc6IHsgbGVmdDogOCwgcmlnaHQ6IDggfSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uTW91c2VEb3duPXthc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb3B5VG9DbGlwYm9hcmQoeyB0ZXh0OiBSVE1QX1NFUlZFUl9VUkwgfSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvVWlFbnRpdHk+XG4gICAgICA8TGFiZWxcbiAgICAgICAgdmFsdWU9XCI8Yj5TdHJlYW0gS2V5PC9iPlwiXG4gICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDE2LCBib3R0b206IDggfSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICA8VWlFbnRpdHlcbiAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIG1hcmdpbjogeyBib3R0b206IDgsIHRvcDogOCB9LFxuICAgICAgICAgIGhlaWdodDogNDIsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiAxMixcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5XaGl0ZSgpIH19XG4gICAgICA+XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdmbGV4LXN0YXJ0JyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgICBtYXJnaW46IHsgbGVmdDogMTYgfSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPExvYWRpbmdEb3RzIGVuZ2luZT17ZW5naW5lfSAvPlxuICAgICAgICAgICAgPC9VaUVudGl0eT5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiB7IGxlZnQ6IDE2IH0sXG4gICAgICAgICAgICAgICAgZmxleFNocmluazogMSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgICB2YWx1ZT17YDxiPiR7c2hvd1N0cmVhbWtleSAmJiBzdHJlYW1LZXkgPyBzdHJlYW1LZXkgOiAnKioqKioqKioqKioqJ308L2I+YH1cbiAgICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5mcm9tSGV4U3RyaW5nKCcjQTA5QkE4Jyl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3cnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBmbGV4U2hyaW5rOiAwLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNSxcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyNSxcbiAgICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiAxMCB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHVpQmFja2dyb3VuZD17e1xuICAgICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICAgICAgc3JjOiBzaG93U3RyZWFta2V5ICYmIHN0cmVhbUtleSA/IFNUUkVBTV9JQ09OUy5leWVIaWRlIDogU1RSRUFNX0lDT05TLmV5ZVNob3csXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGNvbG9yOiBDb2xvcjQuQmxhY2soKSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17YXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIXN0cmVhbUtleSkge1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgW2Vycm9yLCBkYXRhXSA9IGF3YWl0IGdldFN0cmVhbUtleSgpO1xuICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICAgIGlmICghZXJyb3IgJiYgZGF0YT8uc3RyZWFtaW5nS2V5KSB7XG4gICAgICAgICAgICAgICAgICBzZXRTdHJlYW1LZXkoZGF0YS5zdHJlYW1pbmdLZXkpO1xuICAgICAgICAgICAgICAgICAgc2V0U2hvd1N0cmVhbWtleSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0U2hvd1N0cmVhbWtleSghc2hvd1N0cmVhbWtleSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8RmVlZGJhY2tCdXR0b25cbiAgICAgICAgICAgIGlkPVwidmlkZW9fY29udHJvbF9jb3B5X3N0cmVhbV9rZXlcIlxuICAgICAgICAgICAgdmFsdWU9XCI8Yj5Db3B5PC9iPlwiXG4gICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICBmb250U2l6ZT17MTZ9XG4gICAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6IDggfSxcbiAgICAgICAgICAgICAgcGFkZGluZzogeyBsZWZ0OiA4LCByaWdodDogOCB9LFxuICAgICAgICAgICAgICBtaW5XaWR0aDogNjAsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZURvd249e2FzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHN0cmVhbUtleSkge1xuICAgICAgICAgICAgICAgIGNvcHlUb0NsaXBib2FyZCh7IHRleHQ6IHN0cmVhbUtleSB9KTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IFtlcnJvciwgZGF0YV0gPSBhd2FpdCBnZXRTdHJlYW1LZXkoKTtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgICBpZiAoIWVycm9yICYmIGRhdGE/LnN0cmVhbWluZ0tleSkge1xuICAgICAgICAgICAgICAgICAgc2V0U3RyZWFtS2V5KGRhdGEuc3RyZWFtaW5nS2V5KTtcbiAgICAgICAgICAgICAgICAgIGNvcHlUb0NsaXBib2FyZCh7IHRleHQ6IGRhdGEuc3RyZWFtaW5nS2V5IH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgPC9VaUVudGl0eT5cblxuICAgICAgPFVpRW50aXR5XG4gICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICBoZWlnaHQ6IDQsXG4gICAgICAgICAgbWFyZ2luOiB7IHRvcDogOCB9LFxuICAgICAgICAgIGRpc3BsYXk6IHN0cmVhbUtleSAmJiB0aW1lUmVtYWluaW5nID4gMCAmJiBzaG93U3RyZWFta2V5ID8gJ2ZsZXgnIDogJ25vbmUnLFxuICAgICAgICB9fVxuICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5mcm9tSGV4U3RyaW5nKCcjRkZGRkZGMUEnKSB9fVxuICAgICAgPlxuICAgICAgICA8VWlFbnRpdHlcbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgd2lkdGg6IGAkeyh0aW1lUmVtYWluaW5nIC8gQVVUT19ISURFX0RVUkFUSU9OX1NFQ09ORFMpICogMTAwfSVgLFxuICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgfX1cbiAgICAgICAgICB1aUJhY2tncm91bmQ9e3sgY29sb3I6IENvbG9yNC5mcm9tSGV4U3RyaW5nKCcjMDBEM0ZGJykgfX1cbiAgICAgICAgLz5cbiAgICAgIDwvVWlFbnRpdHk+XG5cbiAgICAgIDxVaUVudGl0eVxuICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgaGVpZ2h0OiA0MCxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICAgIG1hcmdpbjogeyB0b3A6IDEwLCBib3R0b206IDE2IH0sXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtlbmRzQXQgPiBEYXRlLm5vdygpID8gKFxuICAgICAgICAgIDxVaUVudGl0eSB1aVRyYW5zZm9ybT17eyBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyB9fT5cbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICB2YWx1ZT1cIlN0cmVhbSBleHBpcmVzIGluOlwiXG4gICAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuZnJvbUhleFN0cmluZygnI0ZGRkZGRkIyJyl9XG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1hdFRpbWVSZW1haW5pbmcoZW5kc0F0KX1cbiAgICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5mcm9tSGV4U3RyaW5nKCcjRkZGRkZGQjInKX1cbiAgICAgICAgICAgICAgZm9udFNpemU9ezE0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1VpRW50aXR5PlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgICAgdWlUcmFuc2Zvcm09e3tcbiAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ3JvdycsXG4gICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogMTAgfSxcbiAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDIsXG4gICAgICAgICAgICAgIGJvcmRlckNvbG9yOiBDb2xvcjQuR3JlZW4oKSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFVpRW50aXR5XG4gICAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1LFxuICAgICAgICAgICAgICAgIGhlaWdodDogMTUsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiB7IHJpZ2h0OiA0LCB0b3A6IDQgfSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICAgICAgdGV4dHVyZU1vZGU6ICdzdHJldGNoJyxcbiAgICAgICAgICAgICAgICB0ZXh0dXJlOiB7XG4gICAgICAgICAgICAgICAgICBzcmM6IGdldEVycm9ySWNvbigpLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICAgIGZvbnRTaXplPXsxNH1cbiAgICAgICAgICAgICAgdGV4dEFsaWduPVwibWlkZGxlLWxlZnRcIlxuICAgICAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNGRjAwMDAnKX1cbiAgICAgICAgICAgICAgdmFsdWU9XCJTdHJlYW0gdGltZWQgb3V0LiBQbGVhc2UgcmVzdGFydCBzdHJlYW0gaW4gYnJvYWRjYXN0aW5nIHNvZnR3YXJlLlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVWlFbnRpdHk+XG4gICAgICAgICl9XG4gICAgICAgIHt2aWRlbz8uc3JjID09PSBMSVZFS0lUX1NUUkVBTV9TUkMgJiYgc3RhdGUudmlkZW9Db250cm9sLnNlbGVjdGVkU3RyZWFtID09PSAnbGl2ZScgPyAoXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJ2aWRlb19jb250cm9sX3NoYXJlX3NjcmVlbl9jbGVhclwiXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPkRlYWN0aXZhdGU8L2I+XCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGZvbnRTaXplPXsxNn1cbiAgICAgICAgICAgIGNvbG9yPXtDb2xvcjQuV2hpdGUoKX1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIG1pbldpZHRoOiAxMjAsXG4gICAgICAgICAgICAgIG1hcmdpbjogeyByaWdodDogOCB9LFxuICAgICAgICAgICAgICBwYWRkaW5nOiB7IGxlZnQ6IDgsIHJpZ2h0OiA4IH0sXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICAgICAgY29udHJvbHMuc2V0U291cmNlKCcnKTtcbiAgICAgICAgICAgICAgc2V0U3RyZWFtKHVuZGVmaW5lZCk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJ2aWRlb19jb250cm9sX3NoYXJlX3NjcmVlbl9zaGFyZVwiXG4gICAgICAgICAgICB2YWx1ZT1cIjxiPkFjdGl2YXRlPC9iPlwiXG4gICAgICAgICAgICBsYWJlbFRyYW5zZm9ybT17e1xuICAgICAgICAgICAgICBtYXJnaW46IHsgbGVmdDogMjAsIHJpZ2h0OiAyMCB9LFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICAgIG1pbldpZHRoOiAxMjAsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7IGNvbG9yOiBDT0xPUlMuU1VDQ0VTUyB9fVxuICAgICAgICAgICAgY29sb3I9e0NvbG9yNC5CbGFjaygpfVxuICAgICAgICAgICAgb25Nb3VzZURvd249eygpID0+IHtcbiAgICAgICAgICAgICAgY29udHJvbHMuc2V0U291cmNlKExJVkVLSVRfU1RSRUFNX1NSQyk7XG4gICAgICAgICAgICAgIHNldFN0cmVhbSgnbGl2ZScpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9VaUVudGl0eT5cbiAgICAgIDxWaWRlb0NvbnRyb2xWb2x1bWVcbiAgICAgICAgZW5naW5lPXtlbmdpbmV9XG4gICAgICAgIGxhYmVsPVwiPGI+U3RyZWFtIFZvbHVtZTwvYj5cIlxuICAgICAgICBlbnRpdHk9e2VudGl0eX1cbiAgICAgICAgdmlkZW89e3ZpZGVvfVxuICAgICAgLz5cbiAgICAgIDxVaUVudGl0eT5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIGlkPVwidmlkZW9fY29udHJvbF9yZXNldF9zdHJlYW1fa2V5XCJcbiAgICAgICAgICB2YWx1ZT1cIjxiPlJlc2V0IFN0cmVhbSBLZXk8L2I+XCJcbiAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgICAgIGNvbG9yPXtDb2xvcjQuZnJvbUhleFN0cmluZygnI0ZCM0IzQicpfVxuICAgICAgICAgIHVpVHJhbnNmb3JtPXt7XG4gICAgICAgICAgICBtYXJnaW46IHsgcmlnaHQ6IDgsIHRvcDogMjAgfSxcbiAgICAgICAgICAgIHBhZGRpbmc6IHsgbGVmdDogOCwgcmlnaHQ6IDggfSxcbiAgICAgICAgICB9fVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiBvblJlc2V0KCl9XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuICAgIDwvVWlFbnRpdHk+XG4gICk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBmb3JtYXQgdGltZSByZW1haW5pbmcgLSBzaG93cyBkYXlzIGlmID4gMSBkYXksIG90aGVyd2lzZSBzaG93cyBoaDptbTpzc1xuZnVuY3Rpb24gZm9ybWF0VGltZVJlbWFpbmluZyhlbmRzQXQ6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IHRpbWVSZW1haW5pbmcgPSBNYXRoLm1heCgwLCBlbmRzQXQgLSBub3cpO1xuXG4gIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKHRpbWVSZW1haW5pbmcgLyAoMTAwMCAqIDYwICogNjAgKiAyNCkpO1xuXG4gIGlmIChkYXlzID49IDEpIHtcbiAgICByZXR1cm4gYCR7ZGF5c30gJHtkYXlzID09PSAxID8gJ2RheScgOiAnZGF5cyd9YDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IodGltZVJlbWFpbmluZyAvICgxMDAwICogNjAgKiA2MCkpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBNYXRoLmZsb29yKCh0aW1lUmVtYWluaW5nICUgKDEwMDAgKiA2MCAqIDYwKSkgLyAoMTAwMCAqIDYwKSk7XG4gICAgY29uc3Qgc2Vjb25kcyA9IE1hdGguZmxvb3IoKHRpbWVSZW1haW5pbmcgJSAoMTAwMCAqIDYwKSkgLyAxMDAwKTtcbiAgICByZXR1cm4gYCR7aG91cnMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke21pbnV0ZXMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke3NlY29uZHMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWA7XG4gIH1cbn1cbiJdfQ==
@@ -3,7 +3,7 @@ import ReactEcs, { UiEntity, Label } from '@dcl/react-ecs';
3
3
  import { openExternalUrl } from '~system/RestrictedActions';
4
4
  import { getComponents } from '../../../definitions';
5
5
  import { ICONS } from '..';
6
- import { state } from '../..';
6
+ import { state } from '../../store';
7
7
  import { getStreamKey } from '../api';
8
8
  import { Header } from '../../Header';
9
9
  import { LoadingDots } from '../../Loading';
@@ -60,4 +60,4 @@ export function LiveStream({ engine, entity, video, }) {
60
60
  loading ? (ReactEcs.createElement(LoadingDots, { uiTransform: { minHeight: 400 }, engine: engine })) : hasStreamKey ? (ReactEcs.createElement(ShowStreamKey, { endsAt: streamKeyEndsAt ?? 0, engine: engine, entity: entity, video: video, onReset: () => setResetStreamKey(true) })) : (ReactEcs.createElement(GenerateStreamKey, { engine: engine, onGenerate: () => setHasStreamKey(true) })),
61
61
  !hasStreamKey && (ReactEcs.createElement(Label, { fontSize: 14, color: Color4.fromHexString('#FF2D55'), value: "Do not share your stream key with anyone, and be careful not to display it on screen while streaming." }))));
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvTGl2ZVN0cmVhbS9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FDaEMsZ0ZBQWdGLENBQUM7QUFFbkYsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUN6QixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssR0FLTjtJQUNDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxp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WjtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDVCx1QkFBQyxXQUFXLElBQ1YsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUMvQixNQUFNLEVBQUUsTUFBTSxHQUNkLENBQ0gsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUNqQix1QkFBQyxhQUFhLElBQ1osTUFBTSxFQUFFLGVBQWUsSUFBSSxDQUFDLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxFQUFFLE1BQU0sRUFDZCxLQUFLLEVBQUUsS0FBSyxFQUNaLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FDdEMsQ0FDSCxDQUFDLENBQUMsQ0FBQyxDQUNGLHVCQUFDLGlCQUFpQixJQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQ3ZDLENBQ0g7UUFDQSxDQUFDLFlBQVksSUFBSSxDQUNoQix1QkFBQyxLQUFLLElBQ0osUUFBUSxFQUFFLEVBQUUsRUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFDdEMsS0FBSyxFQUFDLHVHQUF1RyxHQUM3RyxDQUNILENBQ1EsQ0FDWixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IFJlYWN0RWNzLCB7IFVpRW50aXR5LCBMYWJlbCB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcbmltcG9ydCB0eXBlIHsgRGVlcFJlYWRvbmx5T2JqZWN0LCBFbnRpdHksIElFbmdpbmUsIFBCVmlkZW9QbGF5ZXIgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBvcGVuRXh0ZXJuYWxVcmwgfSBmcm9tICd+c3lzdGVtL1Jlc3RyaWN0ZWRBY3Rpb25zJztcbmltcG9ydCB7IGdldENvbXBvbmVudHMgfSBmcm9tICcuLi8uLi8uLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uJztcbmltcG9ydCB7IHN0YXRlIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IHsgZ2V0U3RyZWFtS2V5IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gJy4uLy4uL0hlYWRlcic7XG5pbXBvcnQgeyBMb2FkaW5nRG90cyB9IGZyb20gJy4uLy4uL0xvYWRpbmcnO1xuaW1wb3J0IHsgZ2V0SGVscEljb24gfSBmcm9tICcuLi9WaWRlb1VybCc7XG5pbXBvcnQgeyBTaG93U3RyZWFtS2V5IH0gZnJvbSAnLi9TaG93U3RyZWFtS2V5JztcbmltcG9ydCB7IEdlbmVyYXRlU3RyZWFtS2V5IH0gZnJvbSAnLi9HZW5lcmF0ZVN0cmVhbUtleSc7XG5pbXBvcnQgeyBEZWxldGVTdHJlYW1LZXlDb25maXJtYXRpb24gfSBmcm9tICcuL0RlbGV0ZVN0cmVhbUtleSc7XG5cbmV4cG9ydCBjb25zdCBMSVZFS0lUX1NUUkVBTV9TUkMgPSAnbGl2ZWtpdC12aWRlbzovL2N1cnJlbnQtc3RyZWFtJztcbmV4cG9ydCBjb25zdCBTVFJFQU1JTkdfU1VQUE9SVF9VUkwgPVxuICAnaHR0cHM6Ly9kb2NzLmRlY2VudHJhbGFuZC5vcmcvY3JlYXRvci9zY2VuZS1lZGl0b3Ivb3BlcmF0ZS1saXZlL2xpdmUtc3RyZWFtaW5nJztcblxuZXhwb3J0IGZ1bmN0aW9uIExpdmVTdHJlYW0oe1xuICBlbmdpbmUsXG4gIGVudGl0eSxcbiAgdmlkZW8sXG59OiB7XG4gIGVuZ2luZTogSUVuZ2luZTtcbiAgZW50aXR5OiBFbnRpdHk7XG4gIHZpZGVvOiBEZWVwUmVhZG9ubHlPYmplY3Q8UEJWaWRlb1BsYXllcj4gfCB1bmRlZmluZWQ7XG59KSB7XG4gIGNvbnN0IFtzaG93UmVzZXRTdHJlYW1LZXksIHNldFJlc2V0U3RyZWFtS2V5XSA9IFJlYWN0RWNzLnVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3RFY3MudXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbaGFzU3RyZWFtS2V5LCBzZXRIYXNTdHJlYW1LZXldID0gUmVhY3RFY3MudXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCB7IFZpZGVvQ29udHJvbFN0YXRlIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG4gIGNvbnN0IHZpZGVvQ29udHJvbFN0YXRlID0gVmlkZW9Db250cm9sU3RhdGUuZ2V0T3JOdWxsKHN0YXRlLmFkbWluVG9vbGtpdFVpRW50aXR5KTtcbiAgY29uc3Qgc3RyZWFtS2V5RW5kc0F0ID0gdmlkZW9Db250cm9sU3RhdGU/LmVuZHNBdDtcblxuICBSZWFjdEVjcy51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFzeW5jIGZ1bmN0aW9uIHN0cmVhbUtleUZuKCkge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IFtlcnJvciwgZGF0YV0gPSBhd2FpdCBnZXRTdHJlYW1LZXkoKTtcbiAgICAgIGNvbnN0IHZpZGVvQ29udHJvbFN0YXRlID0gVmlkZW9Db250cm9sU3RhdGUuZ2V0TXV0YWJsZShzdGF0ZS5hZG1pblRvb2xraXRVaUVudGl0eSk7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgdmlkZW9Db250cm9sU3RhdGUuZW5kc0F0ID0gdW5kZWZpbmVkO1xuICAgICAgICBzZXRIYXNTdHJlYW1LZXkoZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmlkZW9Db250cm9sU3RhdGUuZW5kc0F0ID0gZGF0YT8uZW5kc0F0O1xuICAgICAgICBzZXRIYXNTdHJlYW1LZXkodHJ1ZSk7XG4gICAgICB9XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICB9XG4gICAgc3RyZWFtS2V5Rm4oKTtcbiAgfSwgW10pO1xuXG4gIGlmIChzaG93UmVzZXRTdHJlYW1LZXkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPERlbGV0ZVN0cmVhbUtleUNvbmZpcm1hdGlvblxuICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgb25DYW5jZWw9eygpID0+IHNldFJlc2V0U3RyZWFtS2V5KGZhbHNlKX1cbiAgICAgICAgb25SZXNldD17KCkgPT4ge1xuICAgICAgICAgIHNldFJlc2V0U3RyZWFtS2V5KGZhbHNlKTtcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCB3aWR0aDogJzEwMCUnIH19PlxuICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IHdpZHRoOiAnMTAwJScsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicgfX0+XG4gICAgICAgIDxIZWFkZXJcbiAgICAgICAgICBpY29uU3JjPXtJQ09OUy5MSVZFX1NPVVJDRX1cbiAgICAgICAgICB0aXRsZT1cIlN0cmVhbVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiBvcGVuRXh0ZXJuYWxVcmwoeyB1cmw6IFNUUkVBTUlOR19TVVBQT1JUX1VSTCB9KX1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgaGVpZ2h0OiAyNSxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgY29sb3I6IENvbG9yNC5XaGl0ZSgpLFxuICAgICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgICBzcmM6IGdldEhlbHBJY29uKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuICAgICAgPExhYmVsXG4gICAgICAgIHRleHRBbGlnbj1cIm1pZGRsZS1sZWZ0XCJcbiAgICAgICAgdmFsdWU9XCJVc2UgdGhlIFJUTVAgc2VydmVyIGFuZCBzdHJlYW0ga2V5IGJlbG93IGluIHlvdXIgYnJvYWRjYXN0aW5nIHNvZnR3YXJlIHRvIHN0YXJ0IHN0cmVhbWluZyB0byB0aGlzIHNjcmVlbi5cIlxuICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNBMDlCQTgnKX1cbiAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgLz5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8TG9hZGluZ0RvdHNcbiAgICAgICAgICB1aVRyYW5zZm9ybT17eyBtaW5IZWlnaHQ6IDQwMCB9fVxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAvPlxuICAgICAgKSA6IGhhc1N0cmVhbUtleSA/IChcbiAgICAgICAgPFNob3dTdHJlYW1LZXlcbiAgICAgICAgICBlbmRzQXQ9e3N0cmVhbUtleUVuZHNBdCA/PyAwfVxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAgIGVudGl0eT17ZW50aXR5fVxuICAgICAgICAgIHZpZGVvPXt2aWRlb31cbiAgICAgICAgICBvblJlc2V0PXsoKSA9PiBzZXRSZXNldFN0cmVhbUtleSh0cnVlKX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxHZW5lcmF0ZVN0cmVhbUtleVxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAgIG9uR2VuZXJhdGU9eygpID0+IHNldEhhc1N0cmVhbUtleSh0cnVlKX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7IWhhc1N0cmVhbUtleSAmJiAoXG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIGZvbnRTaXplPXsxNH1cbiAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNGRjJENTUnKX1cbiAgICAgICAgICB2YWx1ZT1cIkRvIG5vdCBzaGFyZSB5b3VyIHN0cmVhbSBrZXkgd2l0aCBhbnlvbmUsIGFuZCBiZSBjYXJlZnVsIG5vdCB0byBkaXNwbGF5IGl0IG9uIHNjcmVlbiB3aGlsZSBzdHJlYW1pbmcuXCJcbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9VaUVudGl0eT5cbiAgKTtcbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvTGl2ZVN0cmVhbS9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FDaEMsZ0ZBQWdGLENBQUM7QUFFbkYsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUN6QixNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssR0FLTjtJQUNDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxp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WjtRQUNELE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FDVCx1QkFBQyxXQUFXLElBQ1YsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUMvQixNQUFNLEVBQUUsTUFBTSxHQUNkLENBQ0gsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUNqQix1QkFBQyxhQUFhLElBQ1osTUFBTSxFQUFFLGVBQWUsSUFBSSxDQUFDLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxFQUFFLE1BQU0sRUFDZCxLQUFLLEVBQUUsS0FBSyxFQUNaLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FDdEMsQ0FDSCxDQUFDLENBQUMsQ0FBQyxDQUNGLHVCQUFDLGlCQUFpQixJQUNoQixNQUFNLEVBQUUsTUFBTSxFQUNkLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQ3ZDLENBQ0g7UUFDQSxDQUFDLFlBQVksSUFBSSxDQUNoQix1QkFBQyxLQUFLLElBQ0osUUFBUSxFQUFFLEVBQUUsRUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsRUFDdEMsS0FBSyxFQUFDLHVHQUF1RyxHQUM3RyxDQUNILENBQ1EsQ0FDWixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbG9yNCB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IFJlYWN0RWNzLCB7IFVpRW50aXR5LCBMYWJlbCB9IGZyb20gJ0BkY2wvcmVhY3QtZWNzJztcbmltcG9ydCB0eXBlIHsgRGVlcFJlYWRvbmx5T2JqZWN0LCBFbnRpdHksIElFbmdpbmUsIFBCVmlkZW9QbGF5ZXIgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBvcGVuRXh0ZXJuYWxVcmwgfSBmcm9tICd+c3lzdGVtL1Jlc3RyaWN0ZWRBY3Rpb25zJztcbmltcG9ydCB7IGdldENvbXBvbmVudHMgfSBmcm9tICcuLi8uLi8uLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBJQ09OUyB9IGZyb20gJy4uJztcbmltcG9ydCB7IHN0YXRlIH0gZnJvbSAnLi4vLi4vc3RvcmUnO1xuaW1wb3J0IHsgZ2V0U3RyZWFtS2V5IH0gZnJvbSAnLi4vYXBpJztcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gJy4uLy4uL0hlYWRlcic7XG5pbXBvcnQgeyBMb2FkaW5nRG90cyB9IGZyb20gJy4uLy4uL0xvYWRpbmcnO1xuaW1wb3J0IHsgZ2V0SGVscEljb24gfSBmcm9tICcuLi9WaWRlb1VybCc7XG5pbXBvcnQgeyBTaG93U3RyZWFtS2V5IH0gZnJvbSAnLi9TaG93U3RyZWFtS2V5JztcbmltcG9ydCB7IEdlbmVyYXRlU3RyZWFtS2V5IH0gZnJvbSAnLi9HZW5lcmF0ZVN0cmVhbUtleSc7XG5pbXBvcnQgeyBEZWxldGVTdHJlYW1LZXlDb25maXJtYXRpb24gfSBmcm9tICcuL0RlbGV0ZVN0cmVhbUtleSc7XG5cbmV4cG9ydCBjb25zdCBMSVZFS0lUX1NUUkVBTV9TUkMgPSAnbGl2ZWtpdC12aWRlbzovL2N1cnJlbnQtc3RyZWFtJztcbmV4cG9ydCBjb25zdCBTVFJFQU1JTkdfU1VQUE9SVF9VUkwgPVxuICAnaHR0cHM6Ly9kb2NzLmRlY2VudHJhbGFuZC5vcmcvY3JlYXRvci9zY2VuZS1lZGl0b3Ivb3BlcmF0ZS1saXZlL2xpdmUtc3RyZWFtaW5nJztcblxuZXhwb3J0IGZ1bmN0aW9uIExpdmVTdHJlYW0oe1xuICBlbmdpbmUsXG4gIGVudGl0eSxcbiAgdmlkZW8sXG59OiB7XG4gIGVuZ2luZTogSUVuZ2luZTtcbiAgZW50aXR5OiBFbnRpdHk7XG4gIHZpZGVvOiBEZWVwUmVhZG9ubHlPYmplY3Q8UEJWaWRlb1BsYXllcj4gfCB1bmRlZmluZWQ7XG59KSB7XG4gIGNvbnN0IFtzaG93UmVzZXRTdHJlYW1LZXksIHNldFJlc2V0U3RyZWFtS2V5XSA9IFJlYWN0RWNzLnVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3RFY3MudXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbaGFzU3RyZWFtS2V5LCBzZXRIYXNTdHJlYW1LZXldID0gUmVhY3RFY3MudXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCB7IFZpZGVvQ29udHJvbFN0YXRlIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG4gIGNvbnN0IHZpZGVvQ29udHJvbFN0YXRlID0gVmlkZW9Db250cm9sU3RhdGUuZ2V0T3JOdWxsKHN0YXRlLmFkbWluVG9vbGtpdFVpRW50aXR5KTtcbiAgY29uc3Qgc3RyZWFtS2V5RW5kc0F0ID0gdmlkZW9Db250cm9sU3RhdGU/LmVuZHNBdDtcblxuICBSZWFjdEVjcy51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFzeW5jIGZ1bmN0aW9uIHN0cmVhbUtleUZuKCkge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgIGNvbnN0IFtlcnJvciwgZGF0YV0gPSBhd2FpdCBnZXRTdHJlYW1LZXkoKTtcbiAgICAgIGNvbnN0IHZpZGVvQ29udHJvbFN0YXRlID0gVmlkZW9Db250cm9sU3RhdGUuZ2V0TXV0YWJsZShzdGF0ZS5hZG1pblRvb2xraXRVaUVudGl0eSk7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgdmlkZW9Db250cm9sU3RhdGUuZW5kc0F0ID0gdW5kZWZpbmVkO1xuICAgICAgICBzZXRIYXNTdHJlYW1LZXkoZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmlkZW9Db250cm9sU3RhdGUuZW5kc0F0ID0gZGF0YT8uZW5kc0F0O1xuICAgICAgICBzZXRIYXNTdHJlYW1LZXkodHJ1ZSk7XG4gICAgICB9XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICB9XG4gICAgc3RyZWFtS2V5Rm4oKTtcbiAgfSwgW10pO1xuXG4gIGlmIChzaG93UmVzZXRTdHJlYW1LZXkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPERlbGV0ZVN0cmVhbUtleUNvbmZpcm1hdGlvblxuICAgICAgICBlbmdpbmU9e2VuZ2luZX1cbiAgICAgICAgb25DYW5jZWw9eygpID0+IHNldFJlc2V0U3RyZWFtS2V5KGZhbHNlKX1cbiAgICAgICAgb25SZXNldD17KCkgPT4ge1xuICAgICAgICAgIHNldFJlc2V0U3RyZWFtS2V5KGZhbHNlKTtcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCB3aWR0aDogJzEwMCUnIH19PlxuICAgICAgPFVpRW50aXR5IHVpVHJhbnNmb3JtPXt7IHdpZHRoOiAnMTAwJScsIGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicgfX0+XG4gICAgICAgIDxIZWFkZXJcbiAgICAgICAgICBpY29uU3JjPXtJQ09OUy5MSVZFX1NPVVJDRX1cbiAgICAgICAgICB0aXRsZT1cIlN0cmVhbVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxVaUVudGl0eVxuICAgICAgICAgIG9uTW91c2VEb3duPXsoKSA9PiBvcGVuRXh0ZXJuYWxVcmwoeyB1cmw6IFNUUkVBTUlOR19TVVBQT1JUX1VSTCB9KX1cbiAgICAgICAgICB1aVRyYW5zZm9ybT17e1xuICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgaGVpZ2h0OiAyNSxcbiAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgIH19XG4gICAgICAgICAgdWlCYWNrZ3JvdW5kPXt7XG4gICAgICAgICAgICB0ZXh0dXJlTW9kZTogJ3N0cmV0Y2gnLFxuICAgICAgICAgICAgY29sb3I6IENvbG9yNC5XaGl0ZSgpLFxuICAgICAgICAgICAgdGV4dHVyZToge1xuICAgICAgICAgICAgICBzcmM6IGdldEhlbHBJY29uKCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICA8L1VpRW50aXR5PlxuICAgICAgPExhYmVsXG4gICAgICAgIHRleHRBbGlnbj1cIm1pZGRsZS1sZWZ0XCJcbiAgICAgICAgdmFsdWU9XCJVc2UgdGhlIFJUTVAgc2VydmVyIGFuZCBzdHJlYW0ga2V5IGJlbG93IGluIHlvdXIgYnJvYWRjYXN0aW5nIHNvZnR3YXJlIHRvIHN0YXJ0IHN0cmVhbWluZyB0byB0aGlzIHNjcmVlbi5cIlxuICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNBMDlCQTgnKX1cbiAgICAgICAgZm9udFNpemU9ezE2fVxuICAgICAgLz5cbiAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICA8TG9hZGluZ0RvdHNcbiAgICAgICAgICB1aVRyYW5zZm9ybT17eyBtaW5IZWlnaHQ6IDQwMCB9fVxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAvPlxuICAgICAgKSA6IGhhc1N0cmVhbUtleSA/IChcbiAgICAgICAgPFNob3dTdHJlYW1LZXlcbiAgICAgICAgICBlbmRzQXQ9e3N0cmVhbUtleUVuZHNBdCA/PyAwfVxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAgIGVudGl0eT17ZW50aXR5fVxuICAgICAgICAgIHZpZGVvPXt2aWRlb31cbiAgICAgICAgICBvblJlc2V0PXsoKSA9PiBzZXRSZXNldFN0cmVhbUtleSh0cnVlKX1cbiAgICAgICAgLz5cbiAgICAgICkgOiAoXG4gICAgICAgIDxHZW5lcmF0ZVN0cmVhbUtleVxuICAgICAgICAgIGVuZ2luZT17ZW5naW5lfVxuICAgICAgICAgIG9uR2VuZXJhdGU9eygpID0+IHNldEhhc1N0cmVhbUtleSh0cnVlKX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7IWhhc1N0cmVhbUtleSAmJiAoXG4gICAgICAgIDxMYWJlbFxuICAgICAgICAgIGZvbnRTaXplPXsxNH1cbiAgICAgICAgICBjb2xvcj17Q29sb3I0LmZyb21IZXhTdHJpbmcoJyNGRjJENTUnKX1cbiAgICAgICAgICB2YWx1ZT1cIkRvIG5vdCBzaGFyZSB5b3VyIHN0cmVhbSBrZXkgd2l0aCBhbnlvbmUsIGFuZCBiZSBjYXJlZnVsIG5vdCB0byBkaXNwbGF5IGl0IG9uIHNjcmVlbiB3aGlsZSBzdHJlYW1pbmcuXCJcbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9VaUVudGl0eT5cbiAgKTtcbn1cbiJdfQ==
@@ -31,9 +31,12 @@ export type DclCastTracksResponse = {
31
31
  }[];
32
32
  };
33
33
  export declare function getDclCastInfo(): Promise<Result<DclCastResponse, string>>;
34
- export declare function getPresenters(): Promise<Result<string[], string>>;
34
+ export type PresentersResponse = {
35
+ presenters: string[];
36
+ };
37
+ export declare function getPresenters(): Promise<Result<PresentersResponse, string>>;
35
38
  export declare function promotePresenter(address: string): Promise<Result<void, string>>;
36
- export declare function ensurePresenterRole(playerAddress: string): Promise<void>;
39
+ export declare function ensurePresenterRole(playerAddress: string): Promise<boolean>;
37
40
  type PresentationBotTokenResponse = {
38
41
  url: string;
39
42
  token: string;
@@ -35,17 +35,16 @@ export async function promotePresenter(address) {
35
35
  });
36
36
  }
37
37
  export async function ensurePresenterRole(playerAddress) {
38
- const [error, presenters] = await getPresenters();
39
- console.log('[DclCast] ensurePresenterRole - error:', error, 'presenters:', JSON.stringify(presenters), 'playerAddress:', playerAddress);
40
- if (error || !presenters)
41
- return;
38
+ const [error, response] = await getPresenters();
39
+ if (error || !response)
40
+ return false;
42
41
  const addr = playerAddress.toLowerCase();
43
- const isPresenter = Array.isArray(presenters) ? presenters.includes(addr) : false;
44
- console.log('[DclCast] isPresenter:', isPresenter, 'addr:', addr);
45
- if (!isPresenter) {
46
- const [promoteError] = await promotePresenter(addr);
47
- console.log('[DclCast] promotePresenter result - error:', promoteError);
48
- }
42
+ const presenters = Array.isArray(response.presenters) ? response.presenters : [];
43
+ const isPresenter = presenters.some(p => p.toLowerCase() === addr);
44
+ if (isPresenter)
45
+ return true;
46
+ const [promoteError] = await promotePresenter(addr);
47
+ return !promoteError;
49
48
  }
50
49
  export async function getPresentationBotToken(streamingKey) {
51
50
  return wrapSignedFetch({
@@ -138,9 +137,20 @@ export function requestPresentationState() {
138
137
  data: JSON.stringify({ type: 'presentation:get-state' }),
139
138
  });
140
139
  }
140
+ function isRecord(value) {
141
+ return typeof value === 'object' && value !== null;
142
+ }
143
+ function extractMessages(response) {
144
+ const raw = Array.isArray(response)
145
+ ? response
146
+ : isRecord(response) && Array.isArray(response.messages)
147
+ ? response.messages
148
+ : [];
149
+ return raw.filter((m) => isRecord(m) && typeof m.data === 'string');
150
+ }
141
151
  export async function consumePresentationMessages() {
142
152
  try {
143
- const { messages } = await consumeMessages({ topic: PRESENTATION_TOPIC });
153
+ const messages = extractMessages(await consumeMessages({ topic: PRESENTATION_TOPIC }));
144
154
  let latestState;
145
155
  for (const msg of messages) {
146
156
  try {
@@ -205,4 +215,4 @@ export function stopPresentation() {
205
215
  data: JSON.stringify({ type: 'presentation:stop' }),
206
216
  });
207
217
  }
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVmlkZW9Db250cm9sL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsQixVQUFVLEVBQUUseUNBQXlDLFNBQVMsRUFBRSxzQkFBc0I7SUFDdEYsaUJBQWlCLEVBQUUseUNBQXlDLFNBQVMsRUFBRSw0QkFBNEI7SUFDbkcsVUFBVSxFQUFFLHlDQUF5QyxTQUFTLEVBQUUsa0JBQWtCO0lBQ2xGLHNCQUFzQixFQUFFLHlDQUF5QyxTQUFTLEVBQUUsOEJBQThCO0lBQzFHLG1CQUFtQixFQUFFLCtDQUErQyxTQUFTLEVBQUUsZ0JBQWdCO0NBQ2hHLENBQUMsQ0FBQztBQW1CSCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVk7SUFDaEMsT0FBTyxlQUFlLENBQW9CLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDL0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCO0lBQ3JDLE9BQU8sZUFBZSxDQUNwQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFDakUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQ3RCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFB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QUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0QWN0aXZlVmlkZW9TdHJlYW1zLFxuICBzdWJzY3JpYmVUb1RvcGljLFxuICBwdWJsaXNoRGF0YSxcbiAgY29uc3VtZU1lc3NhZ2VzLFxufSBmcm9tICd+c3lzdGVtL0NvbW1zQXBpJztcbmltcG9ydCB7IGdldERvbWFpbiwgd3JhcFNpZ25lZEZldGNoIH0gZnJvbSAnLi4vZmV0Y2gtdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSZXN1bHQgfSBmcm9tICcuLi9mZXRjaC11dGlscyc7XG5pbXBvcnQgdHlwZSB7IFByZXNlbnRhdGlvblN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBVUkxTID0gKCkgPT4gKHtcbiAgU1RSRUFNX0tFWTogYGh0dHBzOi8vY29tbXMtZ2F0ZWtlZXBlci5kZWNlbnRyYWxhbmQuJHtnZXREb21haW4oKX0vc2NlbmUtc3RyZWFtLWFjY2Vzc2AsXG4gIEdFVF9EQ0xfQ0FTVF9JTkZPOiBgaHR0cHM6Ly9jb21tcy1nYXRla2VlcGVyLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9jYXN0L2dlbmVyYXRlLXN0cmVhbS1saW5rYCxcbiAgUFJFU0VOVEVSUzogYGh0dHBzOi8vY29tbXMtZ2F0ZWtlZXBlci5kZWNlbnRyYWxhbmQuJHtnZXREb21haW4oKX0vY2FzdC9wcmVzZW50ZXJzYCxcbiAgUFJFU0VOVEFUSU9OX0JPVF9UT0tFTjogYGh0dHBzOi8vY29tbXMtZ2F0ZWtlZXBlci5kZWNlbnRyYWxhbmQuJHtnZXREb21haW4oKX0vY2FzdC9wcmVzZW50YXRpb24tYm90LXRva2VuYCxcbiAgUFJFU0VOVEFUSU9OX1NFUlZFUjogYGh0dHBzOi8vY2FzdC1wcmVzZW50ZXItc2VydmljZS5kZWNlbnRyYWxhbmQuJHtnZXREb21haW4oKX0vcHJlc2VudGF0aW9uc2AsXG59KTtcblxudHlwZSBTdHJlYW1LZXlSZXNwb25zZSA9IHtcbiAgc3RyZWFtaW5nVXJsOiBzdHJpbmc7XG4gIHN0cmVhbWluZ0tleTogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgZW5kc0F0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBEY2xDYXN0UmVzcG9uc2UgPSB7XG4gIHN0cmVhbUxpbms6IHN0cmluZztcbiAgd2F0Y2hlckxpbms6IHN0cmluZztcbiAgc3RyZWFtaW5nS2V5OiBzdHJpbmc7XG4gIHBsYWNlSWQ6IHN0cmluZztcbiAgcGxhY2VOYW1lOiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogbnVtYmVyO1xuICBleHBpcmVzSW5EYXlzOiBudW1iZXI7XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0U3RyZWFtS2V5KCk6IFByb21pc2U8UmVzdWx0PFN0cmVhbUtleVJlc3BvbnNlLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8U3RyZWFtS2V5UmVzcG9uc2U+KHsgdXJsOiBVUkxTKCkuU1RSRUFNX0tFWSB9LCB7IHRvQ2FtZWxDYXNlOiB0cnVlIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVTdHJlYW1LZXkoKTogUHJvbWlzZTxSZXN1bHQ8U3RyZWFtS2V5UmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxTdHJlYW1LZXlSZXNwb25zZT4oXG4gICAgeyB1cmw6IFVSTFMoKS5TVFJFQU1fS0VZLCBpbml0OiB7IG1ldGhvZDogJ1BPU1QnLCBoZWFkZXJzOiB7fSB9IH0sXG4gICAgeyB0b0NhbWVsQ2FzZTogdHJ1ZSB9LFxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV2b2tlU3RyZWFtS2V5KCk6IFByb21pc2U8UmVzdWx0PFN0cmVhbUtleVJlc3BvbnNlLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8U3RyZWFtS2V5UmVzcG9uc2U+KHtcbiAgICB1cmw6IFVSTFMoKS5TVFJFQU1fS0VZLFxuICAgIGluaXQ6IHsgbWV0aG9kOiAnREVMRVRFJywgaGVhZGVyczoge30gfSxcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNldFN0cmVhbUtleSgpOiBQcm9taXNlPFJlc3VsdDxTdHJlYW1LZXlSZXNwb25zZSwgc3RyaW5nPj4ge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFN0cmVhbUtleVJlc3BvbnNlPihcbiAgICB7IHVybDogVVJMUygpLlNUUkVBTV9LRVksIGluaXQ6IHsgbWV0aG9kOiAnUFVUJywgaGVhZGVyczoge30gfSB9LFxuICAgIHsgdG9DYW1lbENhc2U6IHRydWUgfSxcbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgRGNsQ2FzdFRyYWNrc1Jlc3BvbnNlID0ge1xuICBwYXJ0aWNpcGFudHM6IHtcbiAgICBpZGVudGl0eTogc3RyaW5nO1xuICAgIHRyYWNrczoge1xuICAgICAgc2lkOiBzdHJpbmc7XG4gICAgICB0eXBlOiAnQVVESU8nIHwgJ1ZJREVPJztcbiAgICAgIHNvdXJjZTogJ01JQ1JPUEhPTkUnIHwgJ0NBTUVSQScgfCAnU0NSRUVOX1NIQVJFJztcbiAgICB9W107XG4gICAgbmFtZTogc3RyaW5nO1xuICB9W107XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGNsQ2FzdEluZm8oKTogUHJvbWlzZTxSZXN1bHQ8RGNsQ2FzdFJlc3BvbnNlLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8RGNsQ2FzdFJlc3BvbnNlPih7IHVybDogVVJMUygpLkdFVF9EQ0xfQ0FTVF9JTkZPIH0sIHsgdG9DYW1lbENhc2U6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQcmVzZW50ZXJzKCk6IFByb21pc2U8UmVzdWx0PHN0cmluZ1tdLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8c3RyaW5nW10+KHsgdXJsOiBVUkxTKCkuUFJFU0VOVEVSUyB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21vdGVQcmVzZW50ZXIoYWRkcmVzczogc3RyaW5nKTogUHJvbWlzZTxSZXN1bHQ8dm9pZCwgc3RyaW5nPj4ge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPHZvaWQ+KHtcbiAgICB1cmw6IGAke1VSTFMoKS5QUkVTRU5URVJTfS8ke2FkZHJlc3N9YCxcbiAgICBpbml0OiB7IG1ldGhvZDogJ1BVVCcsIGhlYWRlcnM6IHt9IH0sXG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlUHJlc2VudGVyUm9sZShwbGF5ZXJBZGRyZXNzOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgW2Vycm9yLCBwcmVzZW50ZXJzXSA9IGF3YWl0IGdldFByZXNlbnRlcnMoKTtcbiAgY29uc29sZS5sb2coXG4gICAgJ1tEY2xDYXN0XSBlbnN1cmVQcmVzZW50ZXJSb2xlIC0gZXJyb3I6JyxcbiAgICBlcnJvcixcbiAgICAncHJlc2VudGVyczonLFxuICAgIEpTT04uc3RyaW5naWZ5KHByZXNlbnRlcnMpLFxuICAgICdwbGF5ZXJBZGRyZXNzOicsXG4gICAgcGxheWVyQWRkcmVzcyxcbiAgKTtcbiAgaWYgKGVycm9yIHx8ICFwcmVzZW50ZXJzKSByZXR1cm47XG5cbiAgY29uc3QgYWRkciA9IHBsYXllckFkZHJlc3MudG9Mb3dlckNhc2UoKTtcbiAgY29uc3QgaXNQcmVzZW50ZXIgPSBBcnJheS5pc0FycmF5KHByZXNlbnRlcnMpID8gcHJlc2VudGVycy5pbmNsdWRlcyhhZGRyKSA6IGZhbHNlO1xuICBjb25zb2xlLmxvZygnW0RjbENhc3RdIGlzUHJlc2VudGVyOicsIGlzUHJlc2VudGVyLCAnYWRkcjonLCBhZGRyKTtcblxuICBpZiAoIWlzUHJlc2VudGVyKSB7XG4gICAgY29uc3QgW3Byb21vdGVFcnJvcl0gPSBhd2FpdCBwcm9tb3RlUHJlc2VudGVyKGFkZHIpO1xuICAgIGNvbnNvbGUubG9nKCdbRGNsQ2FzdF0gcHJvbW90ZVByZXNlbnRlciByZXN1bHQgLSBlcnJvcjonLCBwcm9tb3RlRXJyb3IpO1xuICB9XG59XG5cbnR5cGUgUHJlc2VudGF0aW9uQm90VG9rZW5SZXNwb25zZSA9IHtcbiAgdXJsOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHJvb21JZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFByZXNlbnRhdGlvbkJvdFRva2VuKFxuICBzdHJlYW1pbmdLZXk6IHN0cmluZyxcbik6IFByb21pc2U8UmVzdWx0PFByZXNlbnRhdGlvbkJvdFRva2VuUmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxQcmVzZW50YXRpb25Cb3RUb2tlblJlc3BvbnNlPihcbiAgICB7XG4gICAgICB1cmw6IFVSTFMoKS5QUkVTRU5UQVRJT05fQk9UX1RPS0VOLFxuICAgICAgaW5pdDoge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgc3RyZWFtaW5nS2V5IH0pLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHsgdG9DYW1lbENhc2U6IHRydWUgfSxcbiAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0UHJlc2VudGF0aW9uKFxuICB1cmw6IHN0cmluZyxcbiAgbGl2ZWtpdFRva2VuOiBzdHJpbmcsXG4gIGxpdmVraXRVcmw6IHN0cmluZyxcbik6IFByb21pc2U8UmVzdWx0PHZvaWQsIHN0cmluZz4+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFVSTFMoKS5QUkVTRU5UQVRJT05fU0VSVkVSLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB1cmwsIGxpdmVraXRUb2tlbiwgbGl2ZWtpdFVybCB9KSxcbiAgICB9KTtcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgICAgcmV0dXJuIFtib2R5IHx8ICdGYWlsZWQgdG8gc3RhcnQgcHJlc2VudGF0aW9uJywgbnVsbF07XG4gICAgfVxuICAgIHJldHVybiBbbnVsbCwgdW5kZWZpbmVkIGFzIHVua25vd24gYXMgdm9pZF07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIFsoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2UgPz8gJ0ZhaWxlZCB0byBzdGFydCBwcmVzZW50YXRpb24nLCBudWxsXTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBGbGF0dGVuZWRUcmFjayA9IHtcbiAgc2lkOiBzdHJpbmc7XG4gIGlkZW50aXR5OiBzdHJpbmc7XG4gIHNvdXJjZVR5cGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBjdXN0b21OYW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBQYXJ0aWNpcGFudCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBpZGVudGl0eTogc3RyaW5nO1xuICB0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW107XG59O1xuXG5leHBvcnQgY29uc3QgU09VUkNFX1RZUEVfTEFCRUxTOiBSZWNvcmQ8bnVtYmVyLCBzdHJpbmc+ID0ge1xuICAxOiAnQ2FtZXJhJyxcbiAgMjogJ1NjcmVlbicsXG4gIDM6ICdQcmVzZW50YXRpb24nLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldFNvdXJjZUxhYmVsID0gKHNvdXJjZVR5cGU6IG51bWJlcikgPT4gU09VUkNFX1RZUEVfTEFCRUxTW3NvdXJjZVR5cGVdID8/ICdVbmtub3duJztcblxuY29uc3QgUFJFU0VOVEFUSU9OX1RPUElDID0gJ3ByZXNlbnRhdGlvbic7XG5jb25zdCBQUkVTRU5UQVRJT05fU09VUkNFX1RZUEUgPSAzO1xuY29uc3QgUFJFU0VOVEFUSU9OX0JPVF9QUkVGSVggPSAncHJlc2VudGF0aW9uLWJvdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXNlbnRhdGlvbkJvdChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5hbWUuc3RhcnRzV2l0aChQUkVTRU5UQVRJT05fQk9UX1BSRUZJWCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNQcmVzZW50YXRpb25UcmFjayh0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW10pOiBib29sZWFuIHtcbiAgcmV0dXJuIHRyYWNrcy5zb21lKFxuICAgIHRyYWNrID0+IHRyYWNrLnNvdXJjZVR5cGUgPT09IFBSRVNFTlRBVElPTl9TT1VSQ0VfVFlQRSB8fCBpc1ByZXNlbnRhdGlvbkJvdCh0cmFjay5uYW1lKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwVHJhY2tzQnlQYXJ0aWNpcGFudCh0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW10pOiBQYXJ0aWNpcGFudFtdIHtcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFBhcnRpY2lwYW50PigpO1xuICBmb3IgKGNvbnN0IHRyYWNrIG9mIHRyYWNrcykge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gbWFwLmdldCh0cmFjay5uYW1lKTtcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGV4aXN0aW5nLnRyYWNrcy5wdXNoKHRyYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWFwLnNldCh0cmFjay5uYW1lLCB7IG5hbWU6IHRyYWNrLm5hbWUsIGlkZW50aXR5OiB0cmFjay5pZGVudGl0eSwgdHJhY2tzOiBbdHJhY2tdIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gQXJyYXkuZnJvbShtYXAudmFsdWVzKCkpO1xufVxuXG5mdW5jdGlvbiBnZXREaXNwbGF5TmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoaXNQcmVzZW50YXRpb25Cb3QobmFtZSkpIHJldHVybiAnUHJlc2VudGF0aW9uJztcbiAgcmV0dXJuIG5hbWU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBY3RpdmVTdHJlYW1zKCk6IFByb21pc2U8RmxhdHRlbmVkVHJhY2tbXSB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBydW50aW1lU3RyZWFtcyA9IGF3YWl0IGdldEFjdGl2ZVZpZGVvU3RyZWFtcyh7fSk7XG4gIGlmICghcnVudGltZVN0cmVhbXMpIHJldHVybjtcbiAgcmV0dXJuIHJ1bnRpbWVTdHJlYW1zLnN0cmVhbXMubWFwKFxuICAgIChzdHJlYW06IHsgdHJhY2tTaWQ6IHN0cmluZzsgaWRlbnRpdHk6IHN0cmluZzsgc291cmNlVHlwZTogbnVtYmVyOyBuYW1lPzogc3RyaW5nIH0pID0+IHtcbiAgICAgIGNvbnN0IHJhd05hbWUgPSBzdHJlYW0ubmFtZSA/PyBzdHJlYW0uaWRlbnRpdHk7XG4gICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGdldERpc3BsYXlOYW1lKHJhd05hbWUpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2lkOiBzdHJlYW0udHJhY2tTaWQsXG4gICAgICAgIGlkZW50aXR5OiBzdHJlYW0uaWRlbnRpdHksXG4gICAgICAgIHNvdXJjZVR5cGU6IHN0cmVhbS5zb3VyY2VUeXBlLFxuICAgICAgICBuYW1lOiByYXdOYW1lLFxuICAgICAgICBjdXN0b21OYW1lOiBgJHtkaXNwbGF5TmFtZX0gLSAke2dldFNvdXJjZUxhYmVsKHN0cmVhbS5zb3VyY2VUeXBlKX1gLFxuICAgICAgfTtcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlVG9QcmVzZW50YXRpb25Ub3BpYygpOiB2b2lkIHtcbiAgc3Vic2NyaWJlVG9Ub3BpYyh7IHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMgfSlcbiAgICAudGhlbigoKSA9PiB7XG4gICAgICAvLyBSZXF1ZXN0IGN1cnJlbnQgc3RhdGUgZnJvbSBib3Qgc28gbGF0ZSBqb2luZXJzIGdldCB0aGUgcHJlc2VudGF0aW9uIHN0YXRlXG4gICAgICByZXF1ZXN0UHJlc2VudGF0aW9uU3RhdGUoKTtcbiAgICB9KVxuICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnW0RjbENhc3RdIEZhaWxlZCB0byBzdWJzY3JpYmUgdG8gcHJlc2VudGF0aW9uIHRvcGljJyk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1ZXN0UHJlc2VudGF0aW9uU3RhdGUoKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjpnZXQtc3RhdGUnIH0pLFxuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbnN1bWVQcmVzZW50YXRpb25NZXNzYWdlcygpOiBQcm9taXNlPFxuICBQcmVzZW50YXRpb25TdGF0ZSB8ICdzdG9wcGVkJyB8IHVuZGVmaW5lZFxuPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgeyBtZXNzYWdlcyB9ID0gYXdhaXQgY29uc3VtZU1lc3NhZ2VzKHsgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyB9KTtcblxuICAgIGxldCBsYXRlc3RTdGF0ZTogUHJlc2VudGF0aW9uU3RhdGUgfCAnc3RvcHBlZCcgfCB1bmRlZmluZWQ7XG4gICAgZm9yIChjb25zdCBtc2cgb2YgbWVzc2FnZXMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UobXNnLmRhdGEpO1xuICAgICAgICBpZiAocGFyc2VkLnR5cGUgPT09ICdwcmVzZW50YXRpb246c3RhdGUnKSB7XG4gICAgICAgICAgbGF0ZXN0U3RhdGUgPSB7XG4gICAgICAgICAgICBpZDogcGFyc2VkLmlkLFxuICAgICAgICAgICAgZmlsZU5hbWU6IHBhcnNlZC5maWxlTmFtZSxcbiAgICAgICAgICAgIGN1cnJlbnRTbGlkZTogcGFyc2VkLmN1cnJlbnRTbGlkZSxcbiAgICAgICAgICAgIHNsaWRlQ291bnQ6IHBhcnNlZC5zbGlkZUNvdW50LFxuICAgICAgICAgICAgZmlsZVR5cGU6IHBhcnNlZC5maWxlVHlwZSxcbiAgICAgICAgICAgIHNsaWRlVmlkZW9zOiBwYXJzZWQuc2xpZGVWaWRlb3MgPz8gW10sXG4gICAgICAgICAgICB2aWRlb1N0YXRlOiBwYXJzZWQudmlkZW9TdGF0ZSA/PyAnaWRsZScsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChwYXJzZWQudHlwZSA9PT0gJ3ByZXNlbnRhdGlvbjpzdG9wcGVkJykge1xuICAgICAgICAgIGxhdGVzdFN0YXRlID0gJ3N0b3BwZWQnO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gU2tpcCBtYWxmb3JtZWQgaW5kaXZpZHVhbCBtZXNzYWdlc1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGF0ZXN0U3RhdGU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gY29uc3VtZU1lc3NhZ2VzIGZhaWxlZCBvciBvdXRlciBKU09OIHBhcnNlIGZhaWxlZCDigJQgcmV0dXJuIHVuZGVmaW5lZFxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5leHRTbGlkZSgpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOm5hdmlnYXRlJywgYWN0aW9uOiAnbmV4dCcgfSksXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJldlNsaWRlKCk6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246bmF2aWdhdGUnLCBhY3Rpb246ICdwcmV2JyB9KSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwbGF5UHJlc2VudGF0aW9uVmlkZW8odmlkZW9JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjp2aWRlbzpwbGF5JywgdmlkZW9JbmRleCB9KSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXVzZVByZXNlbnRhdGlvblZpZGVvKCk6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246dmlkZW86cGF1c2UnIH0pLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0b3BQcmVzZW50YXRpb25WaWRlbygpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOnZpZGVvOnN0b3AnIH0pLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0b3BQcmVzZW50YXRpb24oKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjpzdG9wJyB9KSxcbiAgfSk7XG59XG4iXX0=
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVmlkZW9Db250cm9sL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsQixVQUFVLEVBQUUseUNBQXlDLFNBQVMsRUFBRSxzQkFBc0I7SUFDdEYsaUJBQWlCLEVBQUUseUNBQXlDLFNBQVMsRUFBRSw0QkFBNEI7SUFDbkcsVUFBVSxFQUFFLHlDQUF5QyxTQUFTLEVBQUUsa0JBQWtCO0lBQ2xGLHNCQUFzQixFQUFFLHlDQUF5QyxTQUFTLEVBQUUsOEJBQThCO0lBQzFHLG1CQUFtQixFQUFFLCtDQUErQyxTQUFTLEVBQUUsZ0JBQWdCO0NBQ2hHLENBQUMsQ0FBQztBQW1CSCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVk7SUFDaEMsT0FBTyxlQUFlLENBQW9CLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDL0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCO0lBQ3JDLE9BQU8sZUFBZSxDQUNwQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFDakUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQ3RCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFB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RSxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQztLQUMzRCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxXQUFXLENBQUM7UUFDVixLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLENBQUM7S0FDMUQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsV0FBVyxDQUFDO1FBQ1YsS0FBSyxFQUFFLGtCQUFrQjtRQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0tBQ3BELENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBnZXRBY3RpdmVWaWRlb1N0cmVhbXMsXG4gIHN1YnNjcmliZVRvVG9waWMsXG4gIHB1Ymxpc2hEYXRhLFxuICBjb25zdW1lTWVzc2FnZXMsXG59IGZyb20gJ35zeXN0ZW0vQ29tbXNBcGknO1xuaW1wb3J0IHsgZ2V0RG9tYWluLCB3cmFwU2lnbmVkRmV0Y2ggfSBmcm9tICcuLi9mZXRjaC11dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJlc3VsdCB9IGZyb20gJy4uL2ZldGNoLXV0aWxzJztcbmltcG9ydCB0eXBlIHsgUHJlc2VudGF0aW9uU3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IFVSTFMgPSAoKSA9PiAoe1xuICBTVFJFQU1fS0VZOiBgaHR0cHM6Ly9jb21tcy1nYXRla2VlcGVyLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9zY2VuZS1zdHJlYW0tYWNjZXNzYCxcbiAgR0VUX0RDTF9DQVNUX0lORk86IGBodHRwczovL2NvbW1zLWdhdGVrZWVwZXIuZGVjZW50cmFsYW5kLiR7Z2V0RG9tYWluKCl9L2Nhc3QvZ2VuZXJhdGUtc3RyZWFtLWxpbmtgLFxuICBQUkVTRU5URVJTOiBgaHR0cHM6Ly9jb21tcy1nYXRla2VlcGVyLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9jYXN0L3ByZXNlbnRlcnNgLFxuICBQUkVTRU5UQVRJT05fQk9UX1RPS0VOOiBgaHR0cHM6Ly9jb21tcy1nYXRla2VlcGVyLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9jYXN0L3ByZXNlbnRhdGlvbi1ib3QtdG9rZW5gLFxuICBQUkVTRU5UQVRJT05fU0VSVkVSOiBgaHR0cHM6Ly9jYXN0LXByZXNlbnRlci1zZXJ2aWNlLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9wcmVzZW50YXRpb25zYCxcbn0pO1xuXG50eXBlIFN0cmVhbUtleVJlc3BvbnNlID0ge1xuICBzdHJlYW1pbmdVcmw6IHN0cmluZztcbiAgc3RyZWFtaW5nS2V5OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogbnVtYmVyO1xuICBlbmRzQXQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIERjbENhc3RSZXNwb25zZSA9IHtcbiAgc3RyZWFtTGluazogc3RyaW5nO1xuICB3YXRjaGVyTGluazogc3RyaW5nO1xuICBzdHJlYW1pbmdLZXk6IHN0cmluZztcbiAgcGxhY2VJZDogc3RyaW5nO1xuICBwbGFjZU5hbWU6IHN0cmluZztcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG4gIGV4cGlyZXNJbkRheXM6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTdHJlYW1LZXkoKTogUHJvbWlzZTxSZXN1bHQ8U3RyZWFtS2V5UmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxTdHJlYW1LZXlSZXNwb25zZT4oeyB1cmw6IFVSTFMoKS5TVFJFQU1fS0VZIH0sIHsgdG9DYW1lbENhc2U6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZVN0cmVhbUtleSgpOiBQcm9taXNlPFJlc3VsdDxTdHJlYW1LZXlSZXNwb25zZSwgc3RyaW5nPj4ge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFN0cmVhbUtleVJlc3BvbnNlPihcbiAgICB7IHVybDogVVJMUygpLlNUUkVBTV9LRVksIGluaXQ6IHsgbWV0aG9kOiAnUE9TVCcsIGhlYWRlcnM6IHt9IH0gfSxcbiAgICB7IHRvQ2FtZWxDYXNlOiB0cnVlIH0sXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXZva2VTdHJlYW1LZXkoKTogUHJvbWlzZTxSZXN1bHQ8U3RyZWFtS2V5UmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxTdHJlYW1LZXlSZXNwb25zZT4oe1xuICAgIHVybDogVVJMUygpLlNUUkVBTV9LRVksXG4gICAgaW5pdDogeyBtZXRob2Q6ICdERUxFVEUnLCBoZWFkZXJzOiB7fSB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc2V0U3RyZWFtS2V5KCk6IFByb21pc2U8UmVzdWx0PFN0cmVhbUtleVJlc3BvbnNlLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8U3RyZWFtS2V5UmVzcG9uc2U+KFxuICAgIHsgdXJsOiBVUkxTKCkuU1RSRUFNX0tFWSwgaW5pdDogeyBtZXRob2Q6ICdQVVQnLCBoZWFkZXJzOiB7fSB9IH0sXG4gICAgeyB0b0NhbWVsQ2FzZTogdHJ1ZSB9LFxuICApO1xufVxuXG5leHBvcnQgdHlwZSBEY2xDYXN0VHJhY2tzUmVzcG9uc2UgPSB7XG4gIHBhcnRpY2lwYW50czoge1xuICAgIGlkZW50aXR5OiBzdHJpbmc7XG4gICAgdHJhY2tzOiB7XG4gICAgICBzaWQ6IHN0cmluZztcbiAgICAgIHR5cGU6ICdBVURJTycgfCAnVklERU8nO1xuICAgICAgc291cmNlOiAnTUlDUk9QSE9ORScgfCAnQ0FNRVJBJyB8ICdTQ1JFRU5fU0hBUkUnO1xuICAgIH1bXTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH1bXTtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREY2xDYXN0SW5mbygpOiBQcm9taXNlPFJlc3VsdDxEY2xDYXN0UmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxEY2xDYXN0UmVzcG9uc2U+KHsgdXJsOiBVUkxTKCkuR0VUX0RDTF9DQVNUX0lORk8gfSwgeyB0b0NhbWVsQ2FzZTogdHJ1ZSB9KTtcbn1cblxuZXhwb3J0IHR5cGUgUHJlc2VudGVyc1Jlc3BvbnNlID0geyBwcmVzZW50ZXJzOiBzdHJpbmdbXSB9O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHJlc2VudGVycygpOiBQcm9taXNlPFJlc3VsdDxQcmVzZW50ZXJzUmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxQcmVzZW50ZXJzUmVzcG9uc2U+KHsgdXJsOiBVUkxTKCkuUFJFU0VOVEVSUyB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21vdGVQcmVzZW50ZXIoYWRkcmVzczogc3RyaW5nKTogUHJvbWlzZTxSZXN1bHQ8dm9pZCwgc3RyaW5nPj4ge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPHZvaWQ+KHtcbiAgICB1cmw6IGAke1VSTFMoKS5QUkVTRU5URVJTfS8ke2FkZHJlc3N9YCxcbiAgICBpbml0OiB7IG1ldGhvZDogJ1BVVCcsIGhlYWRlcnM6IHt9IH0sXG4gIH0pO1xufVxuXG4vLyBSZXNvbHZlcyB0cnVlIGlmIHRoZSBwbGF5ZXIgaXMgKG9yIHdhcyBzdWNjZXNzZnVsbHkgcHJvbW90ZWQgdG8pIGEgcHJlc2VudGVyLFxuLy8gZmFsc2UgaWYgdGhlIGxvb2t1cCBvciBwcm9tb3Rpb24gZmFpbGVkLiBDYWxsZXJzIHRoYXQgZ2F0ZSBvbiBwcmVzZW50ZXItb25seVxuLy8gZGF0YSAodGhlIHByZXNlbnRhdGlvbjpzdGF0ZSB0b3BpYykgc2hvdWxkIHJldHJ5IHdoZW4gdGhpcyBpcyBmYWxzZS5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnN1cmVQcmVzZW50ZXJSb2xlKHBsYXllckFkZHJlc3M6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBbZXJyb3IsIHJlc3BvbnNlXSA9IGF3YWl0IGdldFByZXNlbnRlcnMoKTtcbiAgaWYgKGVycm9yIHx8ICFyZXNwb25zZSkgcmV0dXJuIGZhbHNlO1xuXG4gIC8vIFRoZSBlbmRwb2ludCByZXR1cm5zIHsgcHJlc2VudGVyczogc3RyaW5nW10gfSwgYW5kIGFkZHJlc3NlcyBtYXkgYmVcbiAgLy8gY2hlY2tzdW1tZWQg4oCUIGNvbXBhcmUgY2FzZS1pbnNlbnNpdGl2ZWx5IGFnYWluc3QgdGhlIGxvd2VyY2FzZWQgcGxheWVyLlxuICBjb25zdCBhZGRyID0gcGxheWVyQWRkcmVzcy50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBwcmVzZW50ZXJzID0gQXJyYXkuaXNBcnJheShyZXNwb25zZS5wcmVzZW50ZXJzKSA/IHJlc3BvbnNlLnByZXNlbnRlcnMgOiBbXTtcbiAgY29uc3QgaXNQcmVzZW50ZXIgPSBwcmVzZW50ZXJzLnNvbWUocCA9PiBwLnRvTG93ZXJDYXNlKCkgPT09IGFkZHIpO1xuICBpZiAoaXNQcmVzZW50ZXIpIHJldHVybiB0cnVlO1xuXG4gIGNvbnN0IFtwcm9tb3RlRXJyb3JdID0gYXdhaXQgcHJvbW90ZVByZXNlbnRlcihhZGRyKTtcbiAgcmV0dXJuICFwcm9tb3RlRXJyb3I7XG59XG5cbnR5cGUgUHJlc2VudGF0aW9uQm90VG9rZW5SZXNwb25zZSA9IHtcbiAgdXJsOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHJvb21JZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFByZXNlbnRhdGlvbkJvdFRva2VuKFxuICBzdHJlYW1pbmdLZXk6IHN0cmluZyxcbik6IFByb21pc2U8UmVzdWx0PFByZXNlbnRhdGlvbkJvdFRva2VuUmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxQcmVzZW50YXRpb25Cb3RUb2tlblJlc3BvbnNlPihcbiAgICB7XG4gICAgICB1cmw6IFVSTFMoKS5QUkVTRU5UQVRJT05fQk9UX1RPS0VOLFxuICAgICAgaW5pdDoge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgc3RyZWFtaW5nS2V5IH0pLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHsgdG9DYW1lbENhc2U6IHRydWUgfSxcbiAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0UHJlc2VudGF0aW9uKFxuICB1cmw6IHN0cmluZyxcbiAgbGl2ZWtpdFRva2VuOiBzdHJpbmcsXG4gIGxpdmVraXRVcmw6IHN0cmluZyxcbik6IFByb21pc2U8UmVzdWx0PHZvaWQsIHN0cmluZz4+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFVSTFMoKS5QUkVTRU5UQVRJT05fU0VSVkVSLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB1cmwsIGxpdmVraXRUb2tlbiwgbGl2ZWtpdFVybCB9KSxcbiAgICB9KTtcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgICAgcmV0dXJuIFtib2R5IHx8ICdGYWlsZWQgdG8gc3RhcnQgcHJlc2VudGF0aW9uJywgbnVsbF07XG4gICAgfVxuICAgIHJldHVybiBbbnVsbCwgdW5kZWZpbmVkIGFzIHVua25vd24gYXMgdm9pZF07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIFsoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2UgPz8gJ0ZhaWxlZCB0byBzdGFydCBwcmVzZW50YXRpb24nLCBudWxsXTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBGbGF0dGVuZWRUcmFjayA9IHtcbiAgc2lkOiBzdHJpbmc7XG4gIGlkZW50aXR5OiBzdHJpbmc7XG4gIHNvdXJjZVR5cGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBjdXN0b21OYW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBQYXJ0aWNpcGFudCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBpZGVudGl0eTogc3RyaW5nO1xuICB0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW107XG59O1xuXG5leHBvcnQgY29uc3QgU09VUkNFX1RZUEVfTEFCRUxTOiBSZWNvcmQ8bnVtYmVyLCBzdHJpbmc+ID0ge1xuICAxOiAnQ2FtZXJhJyxcbiAgMjogJ1NjcmVlbicsXG4gIDM6ICdQcmVzZW50YXRpb24nLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldFNvdXJjZUxhYmVsID0gKHNvdXJjZVR5cGU6IG51bWJlcikgPT4gU09VUkNFX1RZUEVfTEFCRUxTW3NvdXJjZVR5cGVdID8/ICdVbmtub3duJztcblxuY29uc3QgUFJFU0VOVEFUSU9OX1RPUElDID0gJ3ByZXNlbnRhdGlvbic7XG5jb25zdCBQUkVTRU5UQVRJT05fU09VUkNFX1RZUEUgPSAzO1xuY29uc3QgUFJFU0VOVEFUSU9OX0JPVF9QUkVGSVggPSAncHJlc2VudGF0aW9uLWJvdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXNlbnRhdGlvbkJvdChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5hbWUuc3RhcnRzV2l0aChQUkVTRU5UQVRJT05fQk9UX1BSRUZJWCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNQcmVzZW50YXRpb25UcmFjayh0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW10pOiBib29sZWFuIHtcbiAgcmV0dXJuIHRyYWNrcy5zb21lKFxuICAgIHRyYWNrID0+IHRyYWNrLnNvdXJjZVR5cGUgPT09IFBSRVNFTlRBVElPTl9TT1VSQ0VfVFlQRSB8fCBpc1ByZXNlbnRhdGlvbkJvdCh0cmFjay5uYW1lKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwVHJhY2tzQnlQYXJ0aWNpcGFudCh0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW10pOiBQYXJ0aWNpcGFudFtdIHtcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFBhcnRpY2lwYW50PigpO1xuICBmb3IgKGNvbnN0IHRyYWNrIG9mIHRyYWNrcykge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gbWFwLmdldCh0cmFjay5uYW1lKTtcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGV4aXN0aW5nLnRyYWNrcy5wdXNoKHRyYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWFwLnNldCh0cmFjay5uYW1lLCB7IG5hbWU6IHRyYWNrLm5hbWUsIGlkZW50aXR5OiB0cmFjay5pZGVudGl0eSwgdHJhY2tzOiBbdHJhY2tdIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gQXJyYXkuZnJvbShtYXAudmFsdWVzKCkpO1xufVxuXG5mdW5jdGlvbiBnZXREaXNwbGF5TmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoaXNQcmVzZW50YXRpb25Cb3QobmFtZSkpIHJldHVybiAnUHJlc2VudGF0aW9uJztcbiAgcmV0dXJuIG5hbWU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBY3RpdmVTdHJlYW1zKCk6IFByb21pc2U8RmxhdHRlbmVkVHJhY2tbXSB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBydW50aW1lU3RyZWFtcyA9IGF3YWl0IGdldEFjdGl2ZVZpZGVvU3RyZWFtcyh7fSk7XG4gIGlmICghcnVudGltZVN0cmVhbXMpIHJldHVybjtcbiAgcmV0dXJuIHJ1bnRpbWVTdHJlYW1zLnN0cmVhbXMubWFwKFxuICAgIChzdHJlYW06IHsgdHJhY2tTaWQ6IHN0cmluZzsgaWRlbnRpdHk6IHN0cmluZzsgc291cmNlVHlwZTogbnVtYmVyOyBuYW1lPzogc3RyaW5nIH0pID0+IHtcbiAgICAgIGNvbnN0IHJhd05hbWUgPSBzdHJlYW0ubmFtZSA/PyBzdHJlYW0uaWRlbnRpdHk7XG4gICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGdldERpc3BsYXlOYW1lKHJhd05hbWUpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2lkOiBzdHJlYW0udHJhY2tTaWQsXG4gICAgICAgIGlkZW50aXR5OiBzdHJlYW0uaWRlbnRpdHksXG4gICAgICAgIHNvdXJjZVR5cGU6IHN0cmVhbS5zb3VyY2VUeXBlLFxuICAgICAgICBuYW1lOiByYXdOYW1lLFxuICAgICAgICBjdXN0b21OYW1lOiBgJHtkaXNwbGF5TmFtZX0gLSAke2dldFNvdXJjZUxhYmVsKHN0cmVhbS5zb3VyY2VUeXBlKX1gLFxuICAgICAgfTtcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlVG9QcmVzZW50YXRpb25Ub3BpYygpOiB2b2lkIHtcbiAgc3Vic2NyaWJlVG9Ub3BpYyh7IHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMgfSlcbiAgICAudGhlbigoKSA9PiB7XG4gICAgICAvLyBSZXF1ZXN0IGN1cnJlbnQgc3RhdGUgZnJvbSB0aGUgYm90IHNvIGxhdGUgam9pbmVycyBnZXQgdGhlIHByZXNlbnRhdGlvbiBzdGF0ZVxuICAgICAgcmVxdWVzdFByZXNlbnRhdGlvblN0YXRlKCk7XG4gICAgfSlcbiAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ1tEY2xDYXN0XSBGYWlsZWQgdG8gc3Vic2NyaWJlIHRvIHByZXNlbnRhdGlvbiB0b3BpYycpO1xuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdFByZXNlbnRhdGlvblN0YXRlKCk6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246Z2V0LXN0YXRlJyB9KSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGlzUmVjb3JkKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbDtcbn1cblxuLy8gY29uc3VtZU1lc3NhZ2VzIHJlc29sdmVzIHRvIGEgYmFyZSBhcnJheSBvZiB7IHNlbmRlciwgZGF0YSB9OyB0b2xlcmF0ZSBhXG4vLyB7IG1lc3NhZ2VzOiBbLi4uXSB9IHdyYXBwZXIgdG9vIGluIGNhc2UgdGhlIHJ1bnRpbWUgc2hhcGUgY2hhbmdlcy4gTmFycm93XG4vLyBlYWNoIGVudHJ5IHRvIGEgc3RyaW5nIGBkYXRhYCBiZWZvcmUgaXQgcmVhY2hlcyBKU09OLnBhcnNlLlxuZnVuY3Rpb24gZXh0cmFjdE1lc3NhZ2VzKHJlc3BvbnNlOiB1bmtub3duKTogeyBkYXRhOiBzdHJpbmcgfVtdIHtcbiAgY29uc3QgcmF3ID0gQXJyYXkuaXNBcnJheShyZXNwb25zZSlcbiAgICA/IHJlc3BvbnNlXG4gICAgOiBpc1JlY29yZChyZXNwb25zZSkgJiYgQXJyYXkuaXNBcnJheShyZXNwb25zZS5tZXNzYWdlcylcbiAgICAgID8gcmVzcG9uc2UubWVzc2FnZXNcbiAgICAgIDogW107XG4gIHJldHVybiByYXcuZmlsdGVyKChtKTogbSBpcyB7IGRhdGE6IHN0cmluZyB9ID0+IGlzUmVjb3JkKG0pICYmIHR5cGVvZiBtLmRhdGEgPT09ICdzdHJpbmcnKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbnN1bWVQcmVzZW50YXRpb25NZXNzYWdlcygpOiBQcm9taXNlPFxuICBQcmVzZW50YXRpb25TdGF0ZSB8ICdzdG9wcGVkJyB8IHVuZGVmaW5lZFxuPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgbWVzc2FnZXMgPSBleHRyYWN0TWVzc2FnZXMoYXdhaXQgY29uc3VtZU1lc3NhZ2VzKHsgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyB9KSk7XG5cbiAgICBsZXQgbGF0ZXN0U3RhdGU6IFByZXNlbnRhdGlvblN0YXRlIHwgJ3N0b3BwZWQnIHwgdW5kZWZpbmVkO1xuICAgIGZvciAoY29uc3QgbXNnIG9mIG1lc3NhZ2VzKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKG1zZy5kYXRhKTtcbiAgICAgICAgaWYgKHBhcnNlZC50eXBlID09PSAncHJlc2VudGF0aW9uOnN0YXRlJykge1xuICAgICAgICAgIGxhdGVzdFN0YXRlID0ge1xuICAgICAgICAgICAgaWQ6IHBhcnNlZC5pZCxcbiAgICAgICAgICAgIGZpbGVOYW1lOiBwYXJzZWQuZmlsZU5hbWUsXG4gICAgICAgICAgICBjdXJyZW50U2xpZGU6IHBhcnNlZC5jdXJyZW50U2xpZGUsXG4gICAgICAgICAgICBzbGlkZUNvdW50OiBwYXJzZWQuc2xpZGVDb3VudCxcbiAgICAgICAgICAgIGZpbGVUeXBlOiBwYXJzZWQuZmlsZVR5cGUsXG4gICAgICAgICAgICBzbGlkZVZpZGVvczogcGFyc2VkLnNsaWRlVmlkZW9zID8/IFtdLFxuICAgICAgICAgICAgdmlkZW9TdGF0ZTogcGFyc2VkLnZpZGVvU3RhdGUgPz8gJ2lkbGUnLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAocGFyc2VkLnR5cGUgPT09ICdwcmVzZW50YXRpb246c3RvcHBlZCcpIHtcbiAgICAgICAgICBsYXRlc3RTdGF0ZSA9ICdzdG9wcGVkJztcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIFNraXAgbWFsZm9ybWVkIGluZGl2aWR1YWwgbWVzc2FnZXNcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxhdGVzdFN0YXRlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIGNvbnN1bWVNZXNzYWdlcyBmYWlsZWQgb3Igb3V0ZXIgSlNPTiBwYXJzZSBmYWlsZWQg4oCUIHJldHVybiB1bmRlZmluZWRcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0U2xpZGUoKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjpuYXZpZ2F0ZScsIGFjdGlvbjogJ25leHQnIH0pLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXZTbGlkZSgpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOm5hdmlnYXRlJywgYWN0aW9uOiAncHJldicgfSksXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGxheVByZXNlbnRhdGlvblZpZGVvKHZpZGVvSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246dmlkZW86cGxheScsIHZpZGVvSW5kZXggfSksXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF1c2VQcmVzZW50YXRpb25WaWRlbygpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOnZpZGVvOnBhdXNlJyB9KSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdG9wUHJlc2VudGF0aW9uVmlkZW8oKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjp2aWRlbzpzdG9wJyB9KSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdG9wUHJlc2VudGF0aW9uKCk6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246c3RvcCcgfSksXG4gIH0pO1xufVxuIl19