@comet/cms-admin 8.10.0 → 8.11.0-canary-20251209132026

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 (35) hide show
  1. package/lib/blocks/clipboard/useBlockClipboard.d.ts +1 -1
  2. package/lib/blocks/clipboard/useBlockClipboard.d.ts.map +1 -1
  3. package/lib/dam/DataGrid/FolderDataGrid.d.ts +1 -1
  4. package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -1
  5. package/lib/dam/DataGrid/FolderDataGrid.js +0 -49
  6. package/lib/dam/MoveDamItemDialog/ChooseFolder.d.ts +1 -1
  7. package/lib/dam/MoveDamItemDialog/ChooseFolder.d.ts.map +1 -1
  8. package/lib/dam/MoveDamItemDialog/ChooseFolder.js +1 -14
  9. package/lib/form/file/FileField.d.ts +1 -1
  10. package/lib/form/file/FileField.d.ts.map +1 -1
  11. package/lib/form/file/FileField.js +0 -7
  12. package/lib/index.d.ts +14 -14
  13. package/lib/index.d.ts.map +1 -1
  14. package/lib/index.js +0 -104
  15. package/lib/pages/pageTree/Page.d.ts +1 -1
  16. package/lib/pages/pageTree/Page.d.ts.map +1 -1
  17. package/lib/pages/pageTree/Page.js +0 -13
  18. package/lib/pages/pageTree/PageTree.d.ts +1 -1
  19. package/lib/pages/pageTree/PageTree.d.ts.map +1 -1
  20. package/lib/pages/pageTree/PageTree.js +2 -2
  21. package/lib/pages/pageTree/usePageTree.d.ts +1 -1
  22. package/lib/pages/pageTree/usePageTree.d.ts.map +1 -1
  23. package/lib/pages/pageTree/usePageTree.js +0 -7
  24. package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts +2 -2
  25. package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts.map +1 -1
  26. package/lib/pages/pageTreeSelect/PageTreeSelectDialog.js +5 -12
  27. package/lib/pages/pagesPage/createPagesQuery.d.ts +2 -2
  28. package/lib/pages/pagesPage/createPagesQuery.d.ts.map +1 -1
  29. package/lib/pages/pagesPage/createPagesQuery.js +0 -19
  30. package/lib/preview/block/useBlockPreview.d.ts +1 -1
  31. package/lib/preview/block/useBlockPreview.d.ts.map +1 -1
  32. package/lib/redirects/RedirectForm.d.ts +1 -1
  33. package/lib/redirects/RedirectForm.d.ts.map +1 -1
  34. package/lib/redirects/RedirectForm.js +0 -13
  35. package/package.json +9 -9
@@ -466,7 +466,7 @@ var Root = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "pro
466
466
  styles: "height:100%;display:flex;flex-direction:column"
467
467
  } : {
468
468
  name: "kdbhus",
469
- styles: "height:100%;display:flex;flex-direction:column/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa1owQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsLCB0eXBlIE9ic2VydmFibGVRdWVyeSwgdXNlQXBvbGxvQ2xpZW50IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQgeyB0eXBlIElFZGl0RGlhbG9nQXBpLCBVbmRvU25hY2tiYXIsIHVzZVNuYWNrYmFyQXBpIH0gZnJvbSBcIkBjb21ldC9hZG1pblwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgaXNFcXVhbCBmcm9tIFwibG9kYXNoLmlzZXF1YWxcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBEaXNwYXRjaCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIHR5cGUgRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uLFxuICAgIHR5cGUgU2V0U3RhdGVBY3Rpb24sXG4gICAgdXNlQ2FsbGJhY2ssXG4gICAgdXNlRWZmZWN0LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gICAgdXNlTWVtbyxcbiAgICB1c2VSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5pbXBvcnQgQXV0b1NpemVyLCB7IHR5cGUgU2l6ZSB9IGZyb20gXCJyZWFjdC12aXJ0dWFsaXplZC1hdXRvLXNpemVyXCI7XG5pbXBvcnQgeyB0eXBlIEFsaWduLCBGaXhlZFNpemVMaXN0IGFzIExpc3QgfSBmcm9tIFwicmVhY3Qtd2luZG93XCI7XG5pbXBvcnQgeyB1c2VEZWJvdW5jZWRDYWxsYmFjayB9IGZyb20gXCJ1c2UtZGVib3VuY2VcIjtcblxuaW1wb3J0IHsgdXNlUGFnZVRyZWVTY29wZSB9IGZyb20gXCIuLi9jb25maWcvdXNlUGFnZVRyZWVTY29wZVwiO1xuaW1wb3J0IHsgdHlwZSBHUUxQYWdlc1F1ZXJ5LCB0eXBlIEdRTFBhZ2VzUXVlcnlWYXJpYWJsZXMgfSBmcm9tIFwiLi4vcGFnZXNQYWdlL2NyZWF0ZVBhZ2VzUXVlcnlcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBHUUxNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zTXV0YXRpb24sXG4gICAgdHlwZSBHUUxQYWdlc0NhY2hlUXVlcnksXG4gICAgdHlwZSBHUUxQYWdlc0NhY2hlUXVlcnlWYXJpYWJsZXMsXG4gICAgdHlwZSBHUUxQYWdlU2x1Z1BhdGhGcmFnbWVudCxcbiAgICB0eXBlIEdRTFJlc2V0U2x1Z011dGF0aW9uLFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXMsXG59IGZyb20gXCIuL1BhZ2VUcmVlLmdlbmVyYXRlZFwiO1xuaW1wb3J0IFBhZ2VUcmVlRHJhZ0xheWVyIGZyb20gXCIuL1BhZ2VUcmVlRHJhZ0xheWVyXCI7XG5pbXBvcnQgUGFnZVRyZWVSb3csIHsgdHlwZSBEcm9wVGFyZ2V0LCB0eXBlIFBhZ2VUcmVlRHJhZ09iamVjdCB9IGZyb20gXCIuL1BhZ2VUcmVlUm93XCI7XG5pbXBvcnQgeyB0eXBlIERyb3BJbmZvLCBQYWdlVHJlZVNlcnZpY2UgfSBmcm9tIFwiLi9QYWdlVHJlZVNlcnZpY2VcIjtcbmltcG9ydCB7IHVzZURuZFdpbmRvd1Njcm9sbCB9IGZyb20gXCIuL3VzZURuZFdpbmRvd1Njcm9sbC91c2VEbmRXaW5kb3dTY3JvbGxcIjtcbmltcG9ydCB7IHR5cGUgUGFnZVRyZWVQYWdlIH0gZnJvbSBcIi4vdXNlUGFnZVRyZWVcIjtcblxuaW50ZXJmYWNlIFBhZ2VUcmVlUHJvcHMge1xuICAgIHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICBlZGl0RGlhbG9nQXBpOiBJRWRpdERpYWxvZ0FwaTtcbiAgICB0b2dnbGVFeHBhbmQ6IChwYWdlSWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICBvblNlbGVjdENoYW5nZWQ6IChwYWdlSWQ6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgICBzaXRlVXJsOiBzdHJpbmc7XG59XG5cbnR5cGUgUGFnZVRyZWVSZWZBcGkgPSB7IHNjcm9sbFRvSXRlbTogTGlzdFtcInNjcm9sbFRvSXRlbVwiXSB9O1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zKCRpZHM6IFtJRCFdISwgJGlucHV0OiBNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zSW5wdXQhKSB7XG4gICAgICAgIG1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoaWRzOiAkaWRzLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cnNNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3VyKCRpZHM6IFtJRCFdISwgJGlucHV0OiBNb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3VySW5wdXQhKSB7XG4gICAgICAgIG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoaWRzOiAkaWRzLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgcmVzZXRTbHVnTXV0YXRpb24gPSBncWxgXG4gICAgbXV0YXRpb24gUmVzZXRTbHVnKCRpZDogSUQhLCAkc2x1ZzogU3RyaW5nISkge1xuICAgICAgICB1cGRhdGVQYWdlVHJlZU5vZGVTbHVnKGlkOiAkaWQsIHNsdWc6ICRzbHVnKSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc2x1Z1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgcGFnZXNDYWNoZVF1ZXJ5ID0gZ3FsYFxuICAgIHF1ZXJ5IFBhZ2VzQ2FjaGUoJGNvbnRlbnRTY29wZTogUGFnZVRyZWVOb2RlU2NvcGVJbnB1dCEsICRjYXRlZ29yeTogU3RyaW5nISkge1xuICAgICAgICBwYWdlczogcGFnZVRyZWVOb2RlTGlzdChzY29wZTogJGNvbnRlbnRTY29wZSwgY2F0ZWdvcnk6ICRjYXRlZ29yeSkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHBhcmVudElkXG4gICAgICAgICAgICBwb3NcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbi8vIEBUT0RPOiBDYWxjdWxhdGUgZHluYW1pY2FsbHlcbmNvbnN0IGxldmVsT2Zmc2V0UHggPSA1MDtcblxuY29uc3QgUGFnZVRyZWU6IEZvcndhcmRSZWZSZW5kZXJGdW5jdGlvbjxQYWdlVHJlZVJlZkFwaSwgUGFnZVRyZWVQcm9wcz4gPSAoXG4gICAgeyBwYWdlcywgZWRpdERpYWxvZ0FwaSwgdG9nZ2xlRXhwYW5kLCBvblNlbGVjdENoYW5nZWQsIGNhdGVnb3J5LCBzaXRlVXJsIH0sXG4gICAgcmVmLFxuKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gdXNlQXBvbGxvQ2xpZW50KCk7XG4gICAgY29uc3QgbmV3UGFnZUlkcyA9IHVzZVJlZjxzdHJpbmdbXT4oW10pO1xuXG4gICAgY29uc3QgcXVlcmllcyA9IGNsaWVudC5nZXRPYnNlcnZhYmxlUXVlcmllcygpO1xuICAgIGNvbnN0IHBhZ2VzUXVlcnkgPSBBcnJheS5mcm9tKHF1ZXJpZXMudmFsdWVzKCkpLmZpbmQoKHF1ZXJ5KSA9PiBxdWVyeS5xdWVyeU5hbWUgPT09IFwiUGFnZXNcIikgYXNcbiAgICAgICAgfCBPYnNlcnZhYmxlUXVlcnk8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz5cbiAgICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAocGFnZXNRdWVyeSkge1xuICAgICAgICAgICAgY2xpZW50LmNhY2hlLndhdGNoPEdRTFBhZ2VzUXVlcnksIEdRTFBhZ2VzUXVlcnlWYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICBxdWVyeTogcGFnZXNRdWVyeS5xdWVyeSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHBhZ2VzUXVlcnkudmFyaWFibGVzLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAobmV3UGFnZXNRdWVyeSwgcHJldmlvdXNQYWdlc1F1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXdQYWdlc1F1ZXJ5ICYmIHByZXZpb3VzUGFnZXNRdWVyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdQYWdlSWRzID0gcHJldmlvdXNQYWdlc1F1ZXJ5LnJlc3VsdD8ucGFnZXM/Lm1hcCgocGFnZSkgPT4gcGFnZS5pZCkgPz8gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQYWdlSWRzLmN1cnJlbnQgPSBuZXdQYWdlc1F1ZXJ5LnJlc3VsdD8ucGFnZXM/Lm1hcCgocGFnZSkgPT4gcGFnZS5pZCkuZmlsdGVyKChpZCkgPT4gIWV4aXN0aW5nUGFnZUlkcy5pbmNsdWRlcyhpZCkpID8/IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXNldCBuZXdQYWdlSWRzIHRvIHByZXZlbnQgc2xpZGVJbiBvbiBldmVyeSByZXJlbmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGltaXN0aWM6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtjbGllbnQuY2FjaGUsIHBhZ2VzUXVlcnldKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuZXdQYWdlSWRzLmN1cnJlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYWdlcy5maW5kSW5kZXgoKHBhZ2UpID0+IG5ld1BhZ2VJZHMuY3VycmVudC5pbmNsdWRlcyhwYWdlLmlkKSk7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgXCJzbWFydFwiKTtcbiAgICAgICAgfVxuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgcGFnZVRyZWVTZXJ2aWNlID0gdXNlTWVtbygoKSA9PiBuZXcgUGFnZVRyZWVTZXJ2aWNlKGxldmVsT2Zmc2V0UHgsIHBhZ2VzKSwgW3BhZ2VzXSk7XG4gICAgY29uc3Qgc2NvcGUgPSB1c2VQYWdlVHJlZVNjb3BlKCk7XG4gICAgY29uc3Qgc25hY2tiYXJBcGkgPSB1c2VTbmFja2JhckFwaSgpO1xuXG4gICAgY29uc3QgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZSA9IHVzZURlYm91bmNlZENhbGxiYWNrKFxuICAgICAgICAoc2V0SG92ZXJTdGF0ZTogRGlzcGF0Y2g8U2V0U3RhdGVBY3Rpb248RHJvcEluZm8gfCB1bmRlZmluZWQ+PiwgbmV3SG92ZXJTdGF0ZTogRHJvcEluZm8gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgICAgIHNldEhvdmVyU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0VxdWFsKG5ld0hvdmVyU3RhdGUsIHByZXZTdGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZTdGF0ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3SG92ZXJTdGF0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgNSxcbiAgICApO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRQYWdlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gcGFnZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLnNlbGVjdGVkKTtcbiAgICB9LCBbcGFnZXNdKTtcblxuICAgIGNvbnN0IG1vdmVCeVBvc1JlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgLy8gQFRPRE86IGhhbmRsZSBwYXRoIGNvbGxpc2lvbnMgd2hlbiBtb3ZpbmcgcGFnZXNcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgcG9zaXRpb24gfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgcG9zaXRpb246IG51bWJlciB9KSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBjbGllbnQubXV0YXRlKHtcbiAgICAgICAgICAgICAgICBtdXRhdGlvbjogbW92ZVBhZ2VUcmVlTm9kZXNCeVBvc2l0aW9uTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zOiBwb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGltaXN0aWNSZXNwb25zZTogKHZhcmlhYmxlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlVHJlZU5vZGVzOiBHUUxNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zTXV0YXRpb25bXCJtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zXCJdID0gKHZhcmlhYmxlcy5pZHMgYXMgc3RyaW5nW10pLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzbHVnUGF0aFBhZ2UgPSBjbGllbnQuY2FjaGUucmVhZEZyYWdtZW50PEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50Pih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQ6IGdxbGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWdtZW50IFBhZ2VTbHVnUGF0aCBvbiBQYWdlVHJlZU5vZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdHlwZW5hbWU6IFwiUGFnZVRyZWVOb2RlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHNsdWdQYXRoUGFnZT8uc2x1ZyA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBzbHVnUGF0aFBhZ2U/LnBhdGggPz8gXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvczogcGFnZVRyZWVOb2RlcyxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHVwZGF0ZTogKHByb3h5LCB7IGRhdGEgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgcGFnZSBwb3NpdGlvbnMgb2YgYWxsIG90aGVyIHBhZ2V0cmVlIG5vZGVzIGFyZSB1cGRhdGVkIGluIHRoZSBjYWNoZVxuICAgICAgICAgICAgICAgICAgICAvLyA9PiByZWFsdGltZSB1cGRhdGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW92ZWRQYWdlVHJlZU5vZGVzID0gZGF0YT8ubW92ZVBhZ2VUcmVlTm9kZXNCeVBvcztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZSA9IG1vdmVkUGFnZVRyZWVOb2Rlcz8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vdmVkUGFnZVRyZWVOb2RlcyB8fCAhZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNRdWVyeURhdGEgPSBwcm94eS5yZWFkUXVlcnk8R1FMUGFnZXNDYWNoZVF1ZXJ5LCBHUUxQYWdlc0NhY2hlUXVlcnlWYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc0NhY2hlUXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50U2NvcGU6IHNjb3BlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VzRGF0YSA9IHBhZ2VzUXVlcnlEYXRhPy5wYWdlcyA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VzID0gcGFnZXNEYXRhLm1hcCgocGFnZURhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRQYWdlRGF0YSA9IHsgLi4ucGFnZURhdGEgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaWRzLmluY2x1ZGVzKHBhZ2VEYXRhLmlkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEYXRhLnBhcmVudElkID09PSBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlLnBhcmVudElkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucG9zID49IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucG9zXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkUGFnZURhdGEucG9zID0gdXBkYXRlZFBhZ2VEYXRhLnBvcyArIG1vdmVkUGFnZVRyZWVOb2Rlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVkUGFnZURhdGE7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBwcm94eS53cml0ZVF1ZXJ5KHsgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSwgZGF0YTogeyBwYWdlczogdXBkYXRlZFBhZ2VzIH0gfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbY2xpZW50LCBzY29wZSwgY2F0ZWdvcnldLFxuICAgICk7XG5cbiAgICBjb25zdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0ID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jICh7IGlkcywgcGFyZW50SWQsIGFmdGVySWQsIGJlZm9yZUlkIH06IHsgaWRzOiBzdHJpbmdbXTsgcGFyZW50SWQ6IHN0cmluZyB8IG51bGw7IGFmdGVySWQ6IHN0cmluZyB8IG51bGw7IGJlZm9yZUlkOiBzdHJpbmcgfCBudWxsIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICBpZHM6IGlkcyxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVySWQ6IGFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogYmVmb3JlSWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbY2xpZW50XSxcbiAgICApO1xuXG4gICAgY29uc3Qgb25Ecm9wID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jIChkcmFnT2JqZWN0OiBQYWdlVHJlZURyYWdPYmplY3QsIGRyb3BUYXJnZXRQYWdlOiBQYWdlVHJlZVBhZ2UsIGRyb3BUYXJnZXQ6IERyb3BUYXJnZXQsIHRhcmdldExldmVsOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUGFnZUlkcyA9IHNlbGVjdGVkUGFnZXMubWFwKChwYWdlKSA9PiBwYWdlLmlkKTtcbiAgICAgICAgICAgIGxldCBwYWdlc1RvTW92ZTogUGFnZVRyZWVQYWdlW107XG4gICAgICAgICAgICBsZXQgaWRzVG9Nb3ZlOiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUGFnZUlkcy5pbmNsdWRlcyhkcmFnT2JqZWN0LmlkKSkge1xuICAgICAgICAgICAgICAgIC8vIGZpbHRlciBvdXQgc3VicGFnZXMgaWYgdGhlaXIgcGFyZW50IGlzIHNlbGVjdGVkID0+IG9ubHkgdGhlIHBhcmVudCBoYXMgdG8gYmUgbW92ZWRcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFNlbGVjdGVkUGFnZXMgPSBzZWxlY3RlZFBhZ2VzLmZpbHRlcigocGFnZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFnZS5wYXJlbnRJZCA9PT0gbnVsbCB8fCAhc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKHBhZ2UucGFyZW50SWQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlkc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuXG4gICAgICAgICAgICAgICAgcGFnZXNUb01vdmUgPSBmaWx0ZXJlZFNlbGVjdGVkUGFnZXM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlkc1RvTW92ZSA9IFtkcmFnT2JqZWN0LmlkXTtcbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IFtkcmFnT2JqZWN0XTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5mbyA9IHBhZ2VUcmVlU2VydmljZS5kcm9wQWxsb3dlZChwYWdlc1RvTW92ZSwgZHJvcFRhcmdldFBhZ2UsIGRyb3BUYXJnZXQsIHRhcmdldExldmVsKTtcbiAgICAgICAgICAgIGlmICghdXBkYXRlSW5mbykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgbW92ZUJ5UG9zUmVxdWVzdCh7IGlkczogaWRzVG9Nb3ZlLCBwYXJlbnRJZDogdXBkYXRlSW5mby5wYXJlbnRJZCwgcG9zaXRpb246IHVwZGF0ZUluZm8ucG9zaXRpb24gfSk7XG5cbiAgICAgICAgICAgIHNuYWNrYmFyQXBpLnNob3dTbmFja2JhcihcbiAgICAgICAgICAgICAgICA8VW5kb1NuYWNrYmFyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQucGFnZXRyZWUucGFnZU1vdmVkXCIgZGVmYXVsdE1lc3NhZ2U9XCJQYWdlIE1vdmVkXCIgLz59XG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ9e3sgcHJldmlvdXNQYWdlczogcGFnZXMsIHBhZ2VzVG9VbmRvOiBwYWdlc1RvTW92ZSB9fVxuICAgICAgICAgICAgICAgICAgICBvblVuZG9DbGljaz17YXN5bmMgKHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXlsb2FkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwcmV2aW91c1BhZ2VzLCBwYWdlc1RvVW5kbyB9ID0gcGF5bG9hZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkaXNhbGxvd2VkUmVmZXJlbmNlcyA9IFsuLi5wYWdlc1RvVW5kb107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBhZ2VUb1VuZG8gb2YgcGFnZXNUb1VuZG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5mbyA9IHBhZ2VUcmVlU2VydmljZS5nZXRVbmRvVXBkYXRlSW5mbyhwcmV2aW91c1BhZ2VzLCBwYWdlVG9VbmRvLCBkaXNhbGxvd2VkUmVmZXJlbmNlcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbW92ZUJ5TmVpZ2hib3VyUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHM6IFtwYWdlVG9VbmRvLmlkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYWdlVG9VbmRvLnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogdXBkYXRlSW5mby5hZnRlcklkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlSWQ6IHVwZGF0ZUluZm8uYmVmb3JlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGU8R1FMUmVzZXRTbHVnTXV0YXRpb24sIEdRTFJlc2V0U2x1Z011dGF0aW9uVmFyaWFibGVzPih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbjogcmVzZXRTbHVnTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogcGFnZVRvVW5kby5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnOiBwYWdlVG9VbmRvLnNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhbGxvd2VkUmVmZXJlbmNlcyA9IGRpc2FsbG93ZWRSZWZlcmVuY2VzLmZpbHRlcigocGFnZSkgPT4gcGFnZS5pZCAhPT0gcGFnZVRvVW5kby5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50LnJlZmV0Y2hRdWVyaWVzKHsgaW5jbHVkZTogW1wiUGFnZXNcIl0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBbc2VsZWN0ZWRQYWdlcywgcGFnZVRyZWVTZXJ2aWNlLCBwYWdlcywgbW92ZUJ5UG9zUmVxdWVzdCwgc25hY2tiYXJBcGksIGNsaWVudCwgbW92ZUJ5TmVpZ2hib3VyUmVxdWVzdF0sXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZkxpc3QgPSB1c2VSZWY8TGlzdD4obnVsbCk7XG4gICAgLy8gZXhwb3NlIHRoaXMgbWV0aG9kIHRvIHRoZSBwdWJsaWNcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgc2Nyb2xsVG9JdGVtOiAoaW5kZXg6IG51bWJlciwgYWxpZ24/OiBBbGlnbikgPT4ge1xuICAgICAgICAgICAgcmVmTGlzdC5jdXJyZW50Py5zY3JvbGxUb0l0ZW0oaW5kZXgsIGFsaWduKTtcbiAgICAgICAgfSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCBwcm9wc0ZvclZpcnR1YWxMaXN0ID0gdXNlRG5kV2luZG93U2Nyb2xsKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPFBhZ2VUcmVlRHJhZ0xheWVyIG51bWJlclNlbGVjdGVkUGFnZXM9e3NlbGVjdGVkUGFnZXMubGVuZ3RofSAvPlxuICAgICAgICAgICAgPFJvb3Q+XG4gICAgICAgICAgICAgICAgPFRhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8QXV0b1NpemVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGhlaWdodCwgd2lkdGggfTogU2l6ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBUT0RPOiBhZGp1c3QgaXRlbVNpemUgZm9yIHNtYWxsZXIgc2NyZWVuc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtyZWZMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtQ291bnQ9e3BhZ2VzLmxlbmd0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TaXplPXs1MX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJzY2FuQ291bnQ9ezF9IC8vIGRvIG5vdCBpbmNyZWFzZSB0aGlzIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBzY3JvbGxCZWhhdmlvcjogXCJzbW9vdGhcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJFbGVtZW50VHlwZT17VmlydHVhbExpc3RQYWRkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHNGb3JWaXJ0dWFsTGlzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGluZGV4LCBzdHlsZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3ByZXZQYWdlLCBwYWdlLCBuZXh0UGFnZV0gPSBnZXRMaW5rZWRQYWdlcyhwYWdlcywgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQYWdlVHJlZVJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtwYWdlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbGl6ZWRTdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0eWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LnRvcCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRX1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVJbj17bmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZT17cGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZQYWdlPXtwcmV2UGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRQYWdlPXtuZXh0UGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXREaWFsb2dBcGk9e2VkaXREaWFsb2dBcGl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbmQ9e3RvZ2dsZUV4cGFuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJvcD17b25Ecm9wfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TZWxlY3RDaGFuZ2VkPXtvblNlbGVjdENoYW5nZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlVHJlZVNlcnZpY2U9e3BhZ2VUcmVlU2VydmljZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZFNldEhvdmVyU3RhdGU9e2RlYm91bmNlZFNldEhvdmVyU3RhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXRlVXJsPXtzaXRlVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L0F1dG9TaXplcj5cbiAgICAgICAgICAgICAgICA8L1RhYmxlPlxuICAgICAgICAgICAgPC9Sb290PlxuICAgICAgICA8Lz5cbiAgICApO1xufTtcblxuY29uc3QgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSA9IDI0O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuY29uc3QgVmlydHVhbExpc3RQYWRkZXIgPSBmb3J3YXJkUmVmPGFueSwgYW55PigoeyBzdHlsZSwgLi4ucmVzdCB9LCByZWYpID0+IChcbiAgICA8ZGl2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICBoZWlnaHQ6IGAke3BhcnNlRmxvYXQoU3RyaW5nKHN0eWxlPy5oZWlnaHQpKSArIFZJUlRVQUxfTElTVF9QQURESU5HX1NJWkUgKiAyfXB4YCxcbiAgICAgICAgfX1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgLz5cbikpO1xuXG5mdW5jdGlvbiBnZXRMaW5rZWRQYWdlcyhwYWdlczogUGFnZVRyZWVQYWdlW10sIGluZGV4OiBudW1iZXIpOiBbUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkLCBQYWdlVHJlZVBhZ2UsIFBhZ2VUcmVlUGFnZSB8IHVuZGVmaW5lZF0ge1xuICAgIGNvbnN0IHByZXZQYWdlID0gaW5kZXggPiAwID8gcGFnZXNbaW5kZXggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuZXh0UGFnZSA9IGluZGV4ICsgMSA8IHBhZ2VzLmxlbmd0aCA/IHBhZ2VzW2luZGV4ICsgMV0gOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIFtwcmV2UGFnZSwgcGFnZXNbaW5kZXhdLCBuZXh0UGFnZV07XG59XG5cbmNvbnN0IFBhZ2VUcmVlV2l0aFJlZiA9IGZvcndhcmRSZWYoUGFnZVRyZWUpO1xuXG5leHBvcnQgeyBQYWdlVHJlZVdpdGhSZWYgYXMgUGFnZVRyZWUsIFBhZ2VUcmVlUmVmQXBpIH07XG5cbmNvbnN0IFJvb3QgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbmNvbnN0IFRhYmxlID0gc3R5bGVkKFwiZGl2XCIpYFxuICAgIGZsZXg6IDE7XG5gO1xuIl19 */",
469
+ styles: "height:100%;display:flex;flex-direction:column/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa1owQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsLCB0eXBlIE9ic2VydmFibGVRdWVyeSwgdXNlQXBvbGxvQ2xpZW50IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQgeyB0eXBlIElFZGl0RGlhbG9nQXBpLCBVbmRvU25hY2tiYXIsIHVzZVNuYWNrYmFyQXBpIH0gZnJvbSBcIkBjb21ldC9hZG1pblwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgaXNFcXVhbCBmcm9tIFwibG9kYXNoLmlzZXF1YWxcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBEaXNwYXRjaCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIHR5cGUgRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uLFxuICAgIHR5cGUgU2V0U3RhdGVBY3Rpb24sXG4gICAgdXNlQ2FsbGJhY2ssXG4gICAgdXNlRWZmZWN0LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gICAgdXNlTWVtbyxcbiAgICB1c2VSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5pbXBvcnQgQXV0b1NpemVyLCB7IHR5cGUgU2l6ZSB9IGZyb20gXCJyZWFjdC12aXJ0dWFsaXplZC1hdXRvLXNpemVyXCI7XG5pbXBvcnQgeyB0eXBlIEFsaWduLCBGaXhlZFNpemVMaXN0IGFzIExpc3QgfSBmcm9tIFwicmVhY3Qtd2luZG93XCI7XG5pbXBvcnQgeyB1c2VEZWJvdW5jZWRDYWxsYmFjayB9IGZyb20gXCJ1c2UtZGVib3VuY2VcIjtcblxuaW1wb3J0IHsgdXNlUGFnZVRyZWVTY29wZSB9IGZyb20gXCIuLi9jb25maWcvdXNlUGFnZVRyZWVTY29wZVwiO1xuaW1wb3J0IHsgdHlwZSBHUUxQYWdlc1F1ZXJ5LCB0eXBlIEdRTFBhZ2VzUXVlcnlWYXJpYWJsZXMgfSBmcm9tIFwiLi4vcGFnZXNQYWdlL2NyZWF0ZVBhZ2VzUXVlcnlcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBHUUxNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zTXV0YXRpb24sXG4gICAgdHlwZSBHUUxQYWdlc0NhY2hlUXVlcnksXG4gICAgdHlwZSBHUUxQYWdlc0NhY2hlUXVlcnlWYXJpYWJsZXMsXG4gICAgdHlwZSBHUUxQYWdlU2x1Z1BhdGhGcmFnbWVudCxcbiAgICB0eXBlIEdRTFJlc2V0U2x1Z011dGF0aW9uLFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXMsXG59IGZyb20gXCIuL1BhZ2VUcmVlLmdlbmVyYXRlZFwiO1xuaW1wb3J0IFBhZ2VUcmVlRHJhZ0xheWVyIGZyb20gXCIuL1BhZ2VUcmVlRHJhZ0xheWVyXCI7XG5pbXBvcnQgUGFnZVRyZWVSb3csIHsgdHlwZSBEcm9wVGFyZ2V0LCB0eXBlIFBhZ2VUcmVlRHJhZ09iamVjdCB9IGZyb20gXCIuL1BhZ2VUcmVlUm93XCI7XG5pbXBvcnQgeyB0eXBlIERyb3BJbmZvLCBQYWdlVHJlZVNlcnZpY2UgfSBmcm9tIFwiLi9QYWdlVHJlZVNlcnZpY2VcIjtcbmltcG9ydCB7IHVzZURuZFdpbmRvd1Njcm9sbCB9IGZyb20gXCIuL3VzZURuZFdpbmRvd1Njcm9sbC91c2VEbmRXaW5kb3dTY3JvbGxcIjtcbmltcG9ydCB7IHR5cGUgUGFnZVRyZWVQYWdlIH0gZnJvbSBcIi4vdXNlUGFnZVRyZWVcIjtcblxuaW50ZXJmYWNlIFBhZ2VUcmVlUHJvcHMge1xuICAgIHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICBlZGl0RGlhbG9nQXBpOiBJRWRpdERpYWxvZ0FwaTtcbiAgICB0b2dnbGVFeHBhbmQ6IChwYWdlSWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICBvblNlbGVjdENoYW5nZWQ6IChwYWdlSWQ6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgICBzaXRlVXJsOiBzdHJpbmc7XG59XG5cbnR5cGUgUGFnZVRyZWVSZWZBcGkgPSB7IHNjcm9sbFRvSXRlbTogTGlzdFtcInNjcm9sbFRvSXRlbVwiXSB9O1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zKCRpZHM6IFtJRCFdISwgJGlucHV0OiBNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zSW5wdXQhKSB7XG4gICAgICAgIG1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoaWRzOiAkaWRzLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cnNNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3VyKCRpZHM6IFtJRCFdISwgJGlucHV0OiBNb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3VySW5wdXQhKSB7XG4gICAgICAgIG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoaWRzOiAkaWRzLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgcmVzZXRTbHVnTXV0YXRpb24gPSBncWxgXG4gICAgbXV0YXRpb24gUmVzZXRTbHVnKCRpZDogSUQhLCAkc2x1ZzogU3RyaW5nISkge1xuICAgICAgICB1cGRhdGVQYWdlVHJlZU5vZGVTbHVnKGlkOiAkaWQsIHNsdWc6ICRzbHVnKSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc2x1Z1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgcGFnZXNDYWNoZVF1ZXJ5ID0gZ3FsYFxuICAgIHF1ZXJ5IFBhZ2VzQ2FjaGUoJGNvbnRlbnRTY29wZTogUGFnZVRyZWVOb2RlU2NvcGVJbnB1dCEsICRjYXRlZ29yeTogU3RyaW5nISkge1xuICAgICAgICBwYWdlczogcGFnZVRyZWVOb2RlTGlzdChzY29wZTogJGNvbnRlbnRTY29wZSwgY2F0ZWdvcnk6ICRjYXRlZ29yeSkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHBhcmVudElkXG4gICAgICAgICAgICBwb3NcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbi8vIEBUT0RPOiBDYWxjdWxhdGUgZHluYW1pY2FsbHlcbmNvbnN0IGxldmVsT2Zmc2V0UHggPSA1MDtcblxuY29uc3QgUGFnZVRyZWU6IEZvcndhcmRSZWZSZW5kZXJGdW5jdGlvbjxQYWdlVHJlZVJlZkFwaSwgUGFnZVRyZWVQcm9wcz4gPSAoXG4gICAgeyBwYWdlcywgZWRpdERpYWxvZ0FwaSwgdG9nZ2xlRXhwYW5kLCBvblNlbGVjdENoYW5nZWQsIGNhdGVnb3J5LCBzaXRlVXJsIH0sXG4gICAgcmVmLFxuKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gdXNlQXBvbGxvQ2xpZW50KCk7XG4gICAgY29uc3QgbmV3UGFnZUlkcyA9IHVzZVJlZjxzdHJpbmdbXT4oW10pO1xuXG4gICAgY29uc3QgcXVlcmllcyA9IGNsaWVudC5nZXRPYnNlcnZhYmxlUXVlcmllcygpO1xuICAgIGNvbnN0IHBhZ2VzUXVlcnkgPSBBcnJheS5mcm9tKHF1ZXJpZXMudmFsdWVzKCkpLmZpbmQoKHF1ZXJ5KSA9PiBxdWVyeS5xdWVyeU5hbWUgPT09IFwiUGFnZXNcIikgYXNcbiAgICAgICAgfCBPYnNlcnZhYmxlUXVlcnk8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz5cbiAgICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAocGFnZXNRdWVyeSkge1xuICAgICAgICAgICAgY2xpZW50LmNhY2hlLndhdGNoPEdRTFBhZ2VzUXVlcnksIEdRTFBhZ2VzUXVlcnlWYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICBxdWVyeTogcGFnZXNRdWVyeS5xdWVyeSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHBhZ2VzUXVlcnkudmFyaWFibGVzLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAobmV3UGFnZXNRdWVyeSwgcHJldmlvdXNQYWdlc1F1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXdQYWdlc1F1ZXJ5ICYmIHByZXZpb3VzUGFnZXNRdWVyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdQYWdlSWRzID0gcHJldmlvdXNQYWdlc1F1ZXJ5LnJlc3VsdD8ucGFnZXM/Lm1hcCgocGFnZSkgPT4gcGFnZS5pZCkgPz8gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQYWdlSWRzLmN1cnJlbnQgPSBuZXdQYWdlc1F1ZXJ5LnJlc3VsdD8ucGFnZXM/Lm1hcCgocGFnZSkgPT4gcGFnZS5pZCkuZmlsdGVyKChpZCkgPT4gIWV4aXN0aW5nUGFnZUlkcy5pbmNsdWRlcyhpZCkpID8/IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXNldCBuZXdQYWdlSWRzIHRvIHByZXZlbnQgc2xpZGVJbiBvbiBldmVyeSByZXJlbmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGltaXN0aWM6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtjbGllbnQuY2FjaGUsIHBhZ2VzUXVlcnldKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuZXdQYWdlSWRzLmN1cnJlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYWdlcy5maW5kSW5kZXgoKHBhZ2UpID0+IG5ld1BhZ2VJZHMuY3VycmVudC5pbmNsdWRlcyhwYWdlLmlkKSk7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgXCJzbWFydFwiKTtcbiAgICAgICAgfVxuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgcGFnZVRyZWVTZXJ2aWNlID0gdXNlTWVtbygoKSA9PiBuZXcgUGFnZVRyZWVTZXJ2aWNlKGxldmVsT2Zmc2V0UHgsIHBhZ2VzKSwgW3BhZ2VzXSk7XG4gICAgY29uc3Qgc2NvcGUgPSB1c2VQYWdlVHJlZVNjb3BlKCk7XG4gICAgY29uc3Qgc25hY2tiYXJBcGkgPSB1c2VTbmFja2JhckFwaSgpO1xuXG4gICAgY29uc3QgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZSA9IHVzZURlYm91bmNlZENhbGxiYWNrKFxuICAgICAgICAoc2V0SG92ZXJTdGF0ZTogRGlzcGF0Y2g8U2V0U3RhdGVBY3Rpb248RHJvcEluZm8gfCB1bmRlZmluZWQ+PiwgbmV3SG92ZXJTdGF0ZTogRHJvcEluZm8gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgICAgIHNldEhvdmVyU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0VxdWFsKG5ld0hvdmVyU3RhdGUsIHByZXZTdGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZTdGF0ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3SG92ZXJTdGF0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgNSxcbiAgICApO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRQYWdlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gcGFnZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLnNlbGVjdGVkKTtcbiAgICB9LCBbcGFnZXNdKTtcblxuICAgIGNvbnN0IG1vdmVCeVBvc1JlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgLy8gQFRPRE86IGhhbmRsZSBwYXRoIGNvbGxpc2lvbnMgd2hlbiBtb3ZpbmcgcGFnZXNcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgcG9zaXRpb24gfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgcG9zaXRpb246IG51bWJlciB9KSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBjbGllbnQubXV0YXRlKHtcbiAgICAgICAgICAgICAgICBtdXRhdGlvbjogbW92ZVBhZ2VUcmVlTm9kZXNCeVBvc2l0aW9uTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zOiBwb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGltaXN0aWNSZXNwb25zZTogKHZhcmlhYmxlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlVHJlZU5vZGVzOiBHUUxNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zTXV0YXRpb25bXCJtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zXCJdID0gKHZhcmlhYmxlcy5pZHMgYXMgc3RyaW5nW10pLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzbHVnUGF0aFBhZ2UgPSBjbGllbnQuY2FjaGUucmVhZEZyYWdtZW50PEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50Pih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQ6IGdxbGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWdtZW50IFBhZ2VTbHVnUGF0aCBvbiBQYWdlVHJlZU5vZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdHlwZW5hbWU6IFwiUGFnZVRyZWVOb2RlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHNsdWdQYXRoUGFnZT8uc2x1ZyA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBzbHVnUGF0aFBhZ2U/LnBhdGggPz8gXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvczogcGFnZVRyZWVOb2RlcyxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHVwZGF0ZTogKHByb3h5LCB7IGRhdGEgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgcGFnZSBwb3NpdGlvbnMgb2YgYWxsIG90aGVyIHBhZ2V0cmVlIG5vZGVzIGFyZSB1cGRhdGVkIGluIHRoZSBjYWNoZVxuICAgICAgICAgICAgICAgICAgICAvLyA9PiByZWFsdGltZSB1cGRhdGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW92ZWRQYWdlVHJlZU5vZGVzID0gZGF0YT8ubW92ZVBhZ2VUcmVlTm9kZXNCeVBvcztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZSA9IG1vdmVkUGFnZVRyZWVOb2Rlcz8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vdmVkUGFnZVRyZWVOb2RlcyB8fCAhZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNRdWVyeURhdGEgPSBwcm94eS5yZWFkUXVlcnk8R1FMUGFnZXNDYWNoZVF1ZXJ5LCBHUUxQYWdlc0NhY2hlUXVlcnlWYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc0NhY2hlUXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50U2NvcGU6IHNjb3BlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VzRGF0YSA9IHBhZ2VzUXVlcnlEYXRhPy5wYWdlcyA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VzID0gcGFnZXNEYXRhLm1hcCgocGFnZURhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRQYWdlRGF0YSA9IHsgLi4ucGFnZURhdGEgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaWRzLmluY2x1ZGVzKHBhZ2VEYXRhLmlkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEYXRhLnBhcmVudElkID09PSBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlLnBhcmVudElkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucG9zID49IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucG9zXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkUGFnZURhdGEucG9zID0gdXBkYXRlZFBhZ2VEYXRhLnBvcyArIG1vdmVkUGFnZVRyZWVOb2Rlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVkUGFnZURhdGE7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBwcm94eS53cml0ZVF1ZXJ5KHsgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSwgZGF0YTogeyBwYWdlczogdXBkYXRlZFBhZ2VzIH0gfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbY2xpZW50LCBzY29wZSwgY2F0ZWdvcnldLFxuICAgICk7XG5cbiAgICBjb25zdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0ID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jICh7IGlkcywgcGFyZW50SWQsIGFmdGVySWQsIGJlZm9yZUlkIH06IHsgaWRzOiBzdHJpbmdbXTsgcGFyZW50SWQ6IHN0cmluZyB8IG51bGw7IGFmdGVySWQ6IHN0cmluZyB8IG51bGw7IGJlZm9yZUlkOiBzdHJpbmcgfCBudWxsIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICBpZHM6IGlkcyxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVySWQ6IGFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogYmVmb3JlSWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbY2xpZW50XSxcbiAgICApO1xuXG4gICAgY29uc3Qgb25Ecm9wID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jIChkcmFnT2JqZWN0OiBQYWdlVHJlZURyYWdPYmplY3QsIGRyb3BUYXJnZXRQYWdlOiBQYWdlVHJlZVBhZ2UsIGRyb3BUYXJnZXQ6IERyb3BUYXJnZXQsIHRhcmdldExldmVsOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUGFnZUlkcyA9IHNlbGVjdGVkUGFnZXMubWFwKChwYWdlKSA9PiBwYWdlLmlkKTtcbiAgICAgICAgICAgIGxldCBwYWdlc1RvTW92ZTogUGFnZVRyZWVQYWdlW107XG4gICAgICAgICAgICBsZXQgaWRzVG9Nb3ZlOiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUGFnZUlkcy5pbmNsdWRlcyhkcmFnT2JqZWN0LmlkKSkge1xuICAgICAgICAgICAgICAgIC8vIGZpbHRlciBvdXQgc3VicGFnZXMgaWYgdGhlaXIgcGFyZW50IGlzIHNlbGVjdGVkID0+IG9ubHkgdGhlIHBhcmVudCBoYXMgdG8gYmUgbW92ZWRcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFNlbGVjdGVkUGFnZXMgPSBzZWxlY3RlZFBhZ2VzLmZpbHRlcigocGFnZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFnZS5wYXJlbnRJZCA9PT0gbnVsbCB8fCAhc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKHBhZ2UucGFyZW50SWQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlkc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuXG4gICAgICAgICAgICAgICAgcGFnZXNUb01vdmUgPSBmaWx0ZXJlZFNlbGVjdGVkUGFnZXM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlkc1RvTW92ZSA9IFtkcmFnT2JqZWN0LmlkXTtcbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IFtkcmFnT2JqZWN0XTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5mbyA9IHBhZ2VUcmVlU2VydmljZS5kcm9wQWxsb3dlZChwYWdlc1RvTW92ZSwgZHJvcFRhcmdldFBhZ2UsIGRyb3BUYXJnZXQsIHRhcmdldExldmVsKTtcbiAgICAgICAgICAgIGlmICghdXBkYXRlSW5mbykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgbW92ZUJ5UG9zUmVxdWVzdCh7IGlkczogaWRzVG9Nb3ZlLCBwYXJlbnRJZDogdXBkYXRlSW5mby5wYXJlbnRJZCwgcG9zaXRpb246IHVwZGF0ZUluZm8ucG9zaXRpb24gfSk7XG5cbiAgICAgICAgICAgIHNuYWNrYmFyQXBpLnNob3dTbmFja2JhcihcbiAgICAgICAgICAgICAgICA8VW5kb1NuYWNrYmFyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQucGFnZXRyZWUucGFnZU1vdmVkXCIgZGVmYXVsdE1lc3NhZ2U9XCJQYWdlIE1vdmVkXCIgLz59XG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ9e3sgcHJldmlvdXNQYWdlczogcGFnZXMsIHBhZ2VzVG9VbmRvOiBwYWdlc1RvTW92ZSB9fVxuICAgICAgICAgICAgICAgICAgICBvblVuZG9DbGljaz17YXN5bmMgKHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXlsb2FkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwcmV2aW91c1BhZ2VzLCBwYWdlc1RvVW5kbyB9ID0gcGF5bG9hZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkaXNhbGxvd2VkUmVmZXJlbmNlcyA9IFsuLi5wYWdlc1RvVW5kb107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBhZ2VUb1VuZG8gb2YgcGFnZXNUb1VuZG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5mbyA9IHBhZ2VUcmVlU2VydmljZS5nZXRVbmRvVXBkYXRlSW5mbyhwcmV2aW91c1BhZ2VzLCBwYWdlVG9VbmRvLCBkaXNhbGxvd2VkUmVmZXJlbmNlcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbW92ZUJ5TmVpZ2hib3VyUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHM6IFtwYWdlVG9VbmRvLmlkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYWdlVG9VbmRvLnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogdXBkYXRlSW5mby5hZnRlcklkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlSWQ6IHVwZGF0ZUluZm8uYmVmb3JlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGU8R1FMUmVzZXRTbHVnTXV0YXRpb24sIEdRTFJlc2V0U2x1Z011dGF0aW9uVmFyaWFibGVzPih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbjogcmVzZXRTbHVnTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogcGFnZVRvVW5kby5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnOiBwYWdlVG9VbmRvLnNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhbGxvd2VkUmVmZXJlbmNlcyA9IGRpc2FsbG93ZWRSZWZlcmVuY2VzLmZpbHRlcigocGFnZSkgPT4gcGFnZS5pZCAhPT0gcGFnZVRvVW5kby5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50LnJlZmV0Y2hRdWVyaWVzKHsgaW5jbHVkZTogW1wiUGFnZXNcIl0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBbc2VsZWN0ZWRQYWdlcywgcGFnZVRyZWVTZXJ2aWNlLCBwYWdlcywgbW92ZUJ5UG9zUmVxdWVzdCwgc25hY2tiYXJBcGksIGNsaWVudCwgbW92ZUJ5TmVpZ2hib3VyUmVxdWVzdF0sXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZkxpc3QgPSB1c2VSZWY8TGlzdD4obnVsbCk7XG4gICAgLy8gZXhwb3NlIHRoaXMgbWV0aG9kIHRvIHRoZSBwdWJsaWNcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgc2Nyb2xsVG9JdGVtOiAoaW5kZXg6IG51bWJlciwgYWxpZ24/OiBBbGlnbikgPT4ge1xuICAgICAgICAgICAgcmVmTGlzdC5jdXJyZW50Py5zY3JvbGxUb0l0ZW0oaW5kZXgsIGFsaWduKTtcbiAgICAgICAgfSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCBwcm9wc0ZvclZpcnR1YWxMaXN0ID0gdXNlRG5kV2luZG93U2Nyb2xsKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPFBhZ2VUcmVlRHJhZ0xheWVyIG51bWJlclNlbGVjdGVkUGFnZXM9e3NlbGVjdGVkUGFnZXMubGVuZ3RofSAvPlxuICAgICAgICAgICAgPFJvb3Q+XG4gICAgICAgICAgICAgICAgPFRhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8QXV0b1NpemVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGhlaWdodCwgd2lkdGggfTogU2l6ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBUT0RPOiBhZGp1c3QgaXRlbVNpemUgZm9yIHNtYWxsZXIgc2NyZWVuc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtyZWZMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtQ291bnQ9e3BhZ2VzLmxlbmd0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TaXplPXs1MX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJzY2FuQ291bnQ9ezF9IC8vIGRvIG5vdCBpbmNyZWFzZSB0aGlzIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBzY3JvbGxCZWhhdmlvcjogXCJzbW9vdGhcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJFbGVtZW50VHlwZT17VmlydHVhbExpc3RQYWRkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHNGb3JWaXJ0dWFsTGlzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGluZGV4LCBzdHlsZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3ByZXZQYWdlLCBwYWdlLCBuZXh0UGFnZV0gPSBnZXRMaW5rZWRQYWdlcyhwYWdlcywgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQYWdlVHJlZVJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtwYWdlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbGl6ZWRTdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0eWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LnRvcCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRX1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVJbj17bmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZT17cGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZQYWdlPXtwcmV2UGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRQYWdlPXtuZXh0UGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXREaWFsb2dBcGk9e2VkaXREaWFsb2dBcGl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbmQ9e3RvZ2dsZUV4cGFuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJvcD17b25Ecm9wfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TZWxlY3RDaGFuZ2VkPXtvblNlbGVjdENoYW5nZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlVHJlZVNlcnZpY2U9e3BhZ2VUcmVlU2VydmljZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZFNldEhvdmVyU3RhdGU9e2RlYm91bmNlZFNldEhvdmVyU3RhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXRlVXJsPXtzaXRlVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L0F1dG9TaXplcj5cbiAgICAgICAgICAgICAgICA8L1RhYmxlPlxuICAgICAgICAgICAgPC9Sb290PlxuICAgICAgICA8Lz5cbiAgICApO1xufTtcblxuY29uc3QgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSA9IDI0O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuY29uc3QgVmlydHVhbExpc3RQYWRkZXIgPSBmb3J3YXJkUmVmPGFueSwgYW55PigoeyBzdHlsZSwgLi4ucmVzdCB9LCByZWYpID0+IChcbiAgICA8ZGl2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICBoZWlnaHQ6IGAke3BhcnNlRmxvYXQoU3RyaW5nKHN0eWxlPy5oZWlnaHQpKSArIFZJUlRVQUxfTElTVF9QQURESU5HX1NJWkUgKiAyfXB4YCxcbiAgICAgICAgfX1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgLz5cbikpO1xuXG5mdW5jdGlvbiBnZXRMaW5rZWRQYWdlcyhwYWdlczogUGFnZVRyZWVQYWdlW10sIGluZGV4OiBudW1iZXIpOiBbUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkLCBQYWdlVHJlZVBhZ2UsIFBhZ2VUcmVlUGFnZSB8IHVuZGVmaW5lZF0ge1xuICAgIGNvbnN0IHByZXZQYWdlID0gaW5kZXggPiAwID8gcGFnZXNbaW5kZXggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuZXh0UGFnZSA9IGluZGV4ICsgMSA8IHBhZ2VzLmxlbmd0aCA/IHBhZ2VzW2luZGV4ICsgMV0gOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIFtwcmV2UGFnZSwgcGFnZXNbaW5kZXhdLCBuZXh0UGFnZV07XG59XG5cbmNvbnN0IFBhZ2VUcmVlV2l0aFJlZiA9IGZvcndhcmRSZWYoUGFnZVRyZWUpO1xuXG5leHBvcnQgeyBQYWdlVHJlZVdpdGhSZWYgYXMgUGFnZVRyZWUsIHR5cGUgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
470
470
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
471
471
  });
472
472
  var Table = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "production" ? {
@@ -479,6 +479,6 @@ var Table = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "pr
479
479
  styles: "flex:1"
480
480
  } : {
481
481
  name: "82a6rk",
482
- styles: "flex:1/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd1oyQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsLCB0eXBlIE9ic2VydmFibGVRdWVyeSwgdXNlQXBvbGxvQ2xpZW50IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQgeyB0eXBlIElFZGl0RGlhbG9nQXBpLCBVbmRvU25hY2tiYXIsIHVzZVNuYWNrYmFyQXBpIH0gZnJvbSBcIkBjb21ldC9hZG1pblwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgaXNFcXVhbCBmcm9tIFwibG9kYXNoLmlzZXF1YWxcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBEaXNwYXRjaCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIHR5cGUgRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uLFxuICAgIHR5cGUgU2V0U3RhdGVBY3Rpb24sXG4gICAgdXNlQ2FsbGJhY2ssXG4gICAgdXNlRWZmZWN0LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gICAgdXNlTWVtbyxcbiAgICB1c2VSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5pbXBvcnQgQXV0b1NpemVyLCB7IHR5cGUgU2l6ZSB9IGZyb20gXCJyZWFjdC12aXJ0dWFsaXplZC1hdXRvLXNpemVyXCI7XG5pbXBvcnQgeyB0eXBlIEFsaWduLCBGaXhlZFNpemVMaXN0IGFzIExpc3QgfSBmcm9tIFwicmVhY3Qtd2luZG93XCI7XG5pbXBvcnQgeyB1c2VEZWJvdW5jZWRDYWxsYmFjayB9IGZyb20gXCJ1c2UtZGVib3VuY2VcIjtcblxuaW1wb3J0IHsgdXNlUGFnZVRyZWVTY29wZSB9IGZyb20gXCIuLi9jb25maWcvdXNlUGFnZVRyZWVTY29wZVwiO1xuaW1wb3J0IHsgdHlwZSBHUUxQYWdlc1F1ZXJ5LCB0eXBlIEdRTFBhZ2VzUXVlcnlWYXJpYWJsZXMgfSBmcm9tIFwiLi4vcGFnZXNQYWdlL2NyZWF0ZVBhZ2VzUXVlcnlcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBHUUxNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zTXV0YXRpb24sXG4gICAgdHlwZSBHUUxQYWdlc0NhY2hlUXVlcnksXG4gICAgdHlwZSBHUUxQYWdlc0NhY2hlUXVlcnlWYXJpYWJsZXMsXG4gICAgdHlwZSBHUUxQYWdlU2x1Z1BhdGhGcmFnbWVudCxcbiAgICB0eXBlIEdRTFJlc2V0U2x1Z011dGF0aW9uLFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXMsXG59IGZyb20gXCIuL1BhZ2VUcmVlLmdlbmVyYXRlZFwiO1xuaW1wb3J0IFBhZ2VUcmVlRHJhZ0xheWVyIGZyb20gXCIuL1BhZ2VUcmVlRHJhZ0xheWVyXCI7XG5pbXBvcnQgUGFnZVRyZWVSb3csIHsgdHlwZSBEcm9wVGFyZ2V0LCB0eXBlIFBhZ2VUcmVlRHJhZ09iamVjdCB9IGZyb20gXCIuL1BhZ2VUcmVlUm93XCI7XG5pbXBvcnQgeyB0eXBlIERyb3BJbmZvLCBQYWdlVHJlZVNlcnZpY2UgfSBmcm9tIFwiLi9QYWdlVHJlZVNlcnZpY2VcIjtcbmltcG9ydCB7IHVzZURuZFdpbmRvd1Njcm9sbCB9IGZyb20gXCIuL3VzZURuZFdpbmRvd1Njcm9sbC91c2VEbmRXaW5kb3dTY3JvbGxcIjtcbmltcG9ydCB7IHR5cGUgUGFnZVRyZWVQYWdlIH0gZnJvbSBcIi4vdXNlUGFnZVRyZWVcIjtcblxuaW50ZXJmYWNlIFBhZ2VUcmVlUHJvcHMge1xuICAgIHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICBlZGl0RGlhbG9nQXBpOiBJRWRpdERpYWxvZ0FwaTtcbiAgICB0b2dnbGVFeHBhbmQ6IChwYWdlSWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICBvblNlbGVjdENoYW5nZWQ6IChwYWdlSWQ6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgICBzaXRlVXJsOiBzdHJpbmc7XG59XG5cbnR5cGUgUGFnZVRyZWVSZWZBcGkgPSB7IHNjcm9sbFRvSXRlbTogTGlzdFtcInNjcm9sbFRvSXRlbVwiXSB9O1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zKCRpZHM6IFtJRCFdISwgJGlucHV0OiBNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zSW5wdXQhKSB7XG4gICAgICAgIG1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoaWRzOiAkaWRzLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cnNNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3VyKCRpZHM6IFtJRCFdISwgJGlucHV0OiBNb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3VySW5wdXQhKSB7XG4gICAgICAgIG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoaWRzOiAkaWRzLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgcmVzZXRTbHVnTXV0YXRpb24gPSBncWxgXG4gICAgbXV0YXRpb24gUmVzZXRTbHVnKCRpZDogSUQhLCAkc2x1ZzogU3RyaW5nISkge1xuICAgICAgICB1cGRhdGVQYWdlVHJlZU5vZGVTbHVnKGlkOiAkaWQsIHNsdWc6ICRzbHVnKSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc2x1Z1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgcGFnZXNDYWNoZVF1ZXJ5ID0gZ3FsYFxuICAgIHF1ZXJ5IFBhZ2VzQ2FjaGUoJGNvbnRlbnRTY29wZTogUGFnZVRyZWVOb2RlU2NvcGVJbnB1dCEsICRjYXRlZ29yeTogU3RyaW5nISkge1xuICAgICAgICBwYWdlczogcGFnZVRyZWVOb2RlTGlzdChzY29wZTogJGNvbnRlbnRTY29wZSwgY2F0ZWdvcnk6ICRjYXRlZ29yeSkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHBhcmVudElkXG4gICAgICAgICAgICBwb3NcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbi8vIEBUT0RPOiBDYWxjdWxhdGUgZHluYW1pY2FsbHlcbmNvbnN0IGxldmVsT2Zmc2V0UHggPSA1MDtcblxuY29uc3QgUGFnZVRyZWU6IEZvcndhcmRSZWZSZW5kZXJGdW5jdGlvbjxQYWdlVHJlZVJlZkFwaSwgUGFnZVRyZWVQcm9wcz4gPSAoXG4gICAgeyBwYWdlcywgZWRpdERpYWxvZ0FwaSwgdG9nZ2xlRXhwYW5kLCBvblNlbGVjdENoYW5nZWQsIGNhdGVnb3J5LCBzaXRlVXJsIH0sXG4gICAgcmVmLFxuKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gdXNlQXBvbGxvQ2xpZW50KCk7XG4gICAgY29uc3QgbmV3UGFnZUlkcyA9IHVzZVJlZjxzdHJpbmdbXT4oW10pO1xuXG4gICAgY29uc3QgcXVlcmllcyA9IGNsaWVudC5nZXRPYnNlcnZhYmxlUXVlcmllcygpO1xuICAgIGNvbnN0IHBhZ2VzUXVlcnkgPSBBcnJheS5mcm9tKHF1ZXJpZXMudmFsdWVzKCkpLmZpbmQoKHF1ZXJ5KSA9PiBxdWVyeS5xdWVyeU5hbWUgPT09IFwiUGFnZXNcIikgYXNcbiAgICAgICAgfCBPYnNlcnZhYmxlUXVlcnk8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz5cbiAgICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAocGFnZXNRdWVyeSkge1xuICAgICAgICAgICAgY2xpZW50LmNhY2hlLndhdGNoPEdRTFBhZ2VzUXVlcnksIEdRTFBhZ2VzUXVlcnlWYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICBxdWVyeTogcGFnZXNRdWVyeS5xdWVyeSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHBhZ2VzUXVlcnkudmFyaWFibGVzLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAobmV3UGFnZXNRdWVyeSwgcHJldmlvdXNQYWdlc1F1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXdQYWdlc1F1ZXJ5ICYmIHByZXZpb3VzUGFnZXNRdWVyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdQYWdlSWRzID0gcHJldmlvdXNQYWdlc1F1ZXJ5LnJlc3VsdD8ucGFnZXM/Lm1hcCgocGFnZSkgPT4gcGFnZS5pZCkgPz8gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQYWdlSWRzLmN1cnJlbnQgPSBuZXdQYWdlc1F1ZXJ5LnJlc3VsdD8ucGFnZXM/Lm1hcCgocGFnZSkgPT4gcGFnZS5pZCkuZmlsdGVyKChpZCkgPT4gIWV4aXN0aW5nUGFnZUlkcy5pbmNsdWRlcyhpZCkpID8/IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXNldCBuZXdQYWdlSWRzIHRvIHByZXZlbnQgc2xpZGVJbiBvbiBldmVyeSByZXJlbmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGltaXN0aWM6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtjbGllbnQuY2FjaGUsIHBhZ2VzUXVlcnldKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuZXdQYWdlSWRzLmN1cnJlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYWdlcy5maW5kSW5kZXgoKHBhZ2UpID0+IG5ld1BhZ2VJZHMuY3VycmVudC5pbmNsdWRlcyhwYWdlLmlkKSk7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgXCJzbWFydFwiKTtcbiAgICAgICAgfVxuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgcGFnZVRyZWVTZXJ2aWNlID0gdXNlTWVtbygoKSA9PiBuZXcgUGFnZVRyZWVTZXJ2aWNlKGxldmVsT2Zmc2V0UHgsIHBhZ2VzKSwgW3BhZ2VzXSk7XG4gICAgY29uc3Qgc2NvcGUgPSB1c2VQYWdlVHJlZVNjb3BlKCk7XG4gICAgY29uc3Qgc25hY2tiYXJBcGkgPSB1c2VTbmFja2JhckFwaSgpO1xuXG4gICAgY29uc3QgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZSA9IHVzZURlYm91bmNlZENhbGxiYWNrKFxuICAgICAgICAoc2V0SG92ZXJTdGF0ZTogRGlzcGF0Y2g8U2V0U3RhdGVBY3Rpb248RHJvcEluZm8gfCB1bmRlZmluZWQ+PiwgbmV3SG92ZXJTdGF0ZTogRHJvcEluZm8gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgICAgIHNldEhvdmVyU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0VxdWFsKG5ld0hvdmVyU3RhdGUsIHByZXZTdGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZTdGF0ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3SG92ZXJTdGF0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgNSxcbiAgICApO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRQYWdlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gcGFnZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLnNlbGVjdGVkKTtcbiAgICB9LCBbcGFnZXNdKTtcblxuICAgIGNvbnN0IG1vdmVCeVBvc1JlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgLy8gQFRPRE86IGhhbmRsZSBwYXRoIGNvbGxpc2lvbnMgd2hlbiBtb3ZpbmcgcGFnZXNcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgcG9zaXRpb24gfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgcG9zaXRpb246IG51bWJlciB9KSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBjbGllbnQubXV0YXRlKHtcbiAgICAgICAgICAgICAgICBtdXRhdGlvbjogbW92ZVBhZ2VUcmVlTm9kZXNCeVBvc2l0aW9uTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zOiBwb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGltaXN0aWNSZXNwb25zZTogKHZhcmlhYmxlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlVHJlZU5vZGVzOiBHUUxNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zTXV0YXRpb25bXCJtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zXCJdID0gKHZhcmlhYmxlcy5pZHMgYXMgc3RyaW5nW10pLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzbHVnUGF0aFBhZ2UgPSBjbGllbnQuY2FjaGUucmVhZEZyYWdtZW50PEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50Pih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQ6IGdxbGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWdtZW50IFBhZ2VTbHVnUGF0aCBvbiBQYWdlVHJlZU5vZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdHlwZW5hbWU6IFwiUGFnZVRyZWVOb2RlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHNsdWdQYXRoUGFnZT8uc2x1ZyA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBzbHVnUGF0aFBhZ2U/LnBhdGggPz8gXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvczogcGFnZVRyZWVOb2RlcyxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHVwZGF0ZTogKHByb3h5LCB7IGRhdGEgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgcGFnZSBwb3NpdGlvbnMgb2YgYWxsIG90aGVyIHBhZ2V0cmVlIG5vZGVzIGFyZSB1cGRhdGVkIGluIHRoZSBjYWNoZVxuICAgICAgICAgICAgICAgICAgICAvLyA9PiByZWFsdGltZSB1cGRhdGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW92ZWRQYWdlVHJlZU5vZGVzID0gZGF0YT8ubW92ZVBhZ2VUcmVlTm9kZXNCeVBvcztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZSA9IG1vdmVkUGFnZVRyZWVOb2Rlcz8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vdmVkUGFnZVRyZWVOb2RlcyB8fCAhZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNRdWVyeURhdGEgPSBwcm94eS5yZWFkUXVlcnk8R1FMUGFnZXNDYWNoZVF1ZXJ5LCBHUUxQYWdlc0NhY2hlUXVlcnlWYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc0NhY2hlUXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50U2NvcGU6IHNjb3BlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VzRGF0YSA9IHBhZ2VzUXVlcnlEYXRhPy5wYWdlcyA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VzID0gcGFnZXNEYXRhLm1hcCgocGFnZURhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRQYWdlRGF0YSA9IHsgLi4ucGFnZURhdGEgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaWRzLmluY2x1ZGVzKHBhZ2VEYXRhLmlkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEYXRhLnBhcmVudElkID09PSBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlLnBhcmVudElkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucG9zID49IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucG9zXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkUGFnZURhdGEucG9zID0gdXBkYXRlZFBhZ2VEYXRhLnBvcyArIG1vdmVkUGFnZVRyZWVOb2Rlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVkUGFnZURhdGE7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBwcm94eS53cml0ZVF1ZXJ5KHsgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSwgZGF0YTogeyBwYWdlczogdXBkYXRlZFBhZ2VzIH0gfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbY2xpZW50LCBzY29wZSwgY2F0ZWdvcnldLFxuICAgICk7XG5cbiAgICBjb25zdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0ID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jICh7IGlkcywgcGFyZW50SWQsIGFmdGVySWQsIGJlZm9yZUlkIH06IHsgaWRzOiBzdHJpbmdbXTsgcGFyZW50SWQ6IHN0cmluZyB8IG51bGw7IGFmdGVySWQ6IHN0cmluZyB8IG51bGw7IGJlZm9yZUlkOiBzdHJpbmcgfCBudWxsIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICBpZHM6IGlkcyxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVySWQ6IGFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogYmVmb3JlSWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbY2xpZW50XSxcbiAgICApO1xuXG4gICAgY29uc3Qgb25Ecm9wID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jIChkcmFnT2JqZWN0OiBQYWdlVHJlZURyYWdPYmplY3QsIGRyb3BUYXJnZXRQYWdlOiBQYWdlVHJlZVBhZ2UsIGRyb3BUYXJnZXQ6IERyb3BUYXJnZXQsIHRhcmdldExldmVsOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUGFnZUlkcyA9IHNlbGVjdGVkUGFnZXMubWFwKChwYWdlKSA9PiBwYWdlLmlkKTtcbiAgICAgICAgICAgIGxldCBwYWdlc1RvTW92ZTogUGFnZVRyZWVQYWdlW107XG4gICAgICAgICAgICBsZXQgaWRzVG9Nb3ZlOiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUGFnZUlkcy5pbmNsdWRlcyhkcmFnT2JqZWN0LmlkKSkge1xuICAgICAgICAgICAgICAgIC8vIGZpbHRlciBvdXQgc3VicGFnZXMgaWYgdGhlaXIgcGFyZW50IGlzIHNlbGVjdGVkID0+IG9ubHkgdGhlIHBhcmVudCBoYXMgdG8gYmUgbW92ZWRcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFNlbGVjdGVkUGFnZXMgPSBzZWxlY3RlZFBhZ2VzLmZpbHRlcigocGFnZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFnZS5wYXJlbnRJZCA9PT0gbnVsbCB8fCAhc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKHBhZ2UucGFyZW50SWQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlkc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuXG4gICAgICAgICAgICAgICAgcGFnZXNUb01vdmUgPSBmaWx0ZXJlZFNlbGVjdGVkUGFnZXM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlkc1RvTW92ZSA9IFtkcmFnT2JqZWN0LmlkXTtcbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IFtkcmFnT2JqZWN0XTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5mbyA9IHBhZ2VUcmVlU2VydmljZS5kcm9wQWxsb3dlZChwYWdlc1RvTW92ZSwgZHJvcFRhcmdldFBhZ2UsIGRyb3BUYXJnZXQsIHRhcmdldExldmVsKTtcbiAgICAgICAgICAgIGlmICghdXBkYXRlSW5mbykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgbW92ZUJ5UG9zUmVxdWVzdCh7IGlkczogaWRzVG9Nb3ZlLCBwYXJlbnRJZDogdXBkYXRlSW5mby5wYXJlbnRJZCwgcG9zaXRpb246IHVwZGF0ZUluZm8ucG9zaXRpb24gfSk7XG5cbiAgICAgICAgICAgIHNuYWNrYmFyQXBpLnNob3dTbmFja2JhcihcbiAgICAgICAgICAgICAgICA8VW5kb1NuYWNrYmFyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQucGFnZXRyZWUucGFnZU1vdmVkXCIgZGVmYXVsdE1lc3NhZ2U9XCJQYWdlIE1vdmVkXCIgLz59XG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ9e3sgcHJldmlvdXNQYWdlczogcGFnZXMsIHBhZ2VzVG9VbmRvOiBwYWdlc1RvTW92ZSB9fVxuICAgICAgICAgICAgICAgICAgICBvblVuZG9DbGljaz17YXN5bmMgKHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXlsb2FkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwcmV2aW91c1BhZ2VzLCBwYWdlc1RvVW5kbyB9ID0gcGF5bG9hZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkaXNhbGxvd2VkUmVmZXJlbmNlcyA9IFsuLi5wYWdlc1RvVW5kb107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBhZ2VUb1VuZG8gb2YgcGFnZXNUb1VuZG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5mbyA9IHBhZ2VUcmVlU2VydmljZS5nZXRVbmRvVXBkYXRlSW5mbyhwcmV2aW91c1BhZ2VzLCBwYWdlVG9VbmRvLCBkaXNhbGxvd2VkUmVmZXJlbmNlcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbW92ZUJ5TmVpZ2hib3VyUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHM6IFtwYWdlVG9VbmRvLmlkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYWdlVG9VbmRvLnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogdXBkYXRlSW5mby5hZnRlcklkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlSWQ6IHVwZGF0ZUluZm8uYmVmb3JlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGU8R1FMUmVzZXRTbHVnTXV0YXRpb24sIEdRTFJlc2V0U2x1Z011dGF0aW9uVmFyaWFibGVzPih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbjogcmVzZXRTbHVnTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogcGFnZVRvVW5kby5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnOiBwYWdlVG9VbmRvLnNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhbGxvd2VkUmVmZXJlbmNlcyA9IGRpc2FsbG93ZWRSZWZlcmVuY2VzLmZpbHRlcigocGFnZSkgPT4gcGFnZS5pZCAhPT0gcGFnZVRvVW5kby5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50LnJlZmV0Y2hRdWVyaWVzKHsgaW5jbHVkZTogW1wiUGFnZXNcIl0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBbc2VsZWN0ZWRQYWdlcywgcGFnZVRyZWVTZXJ2aWNlLCBwYWdlcywgbW92ZUJ5UG9zUmVxdWVzdCwgc25hY2tiYXJBcGksIGNsaWVudCwgbW92ZUJ5TmVpZ2hib3VyUmVxdWVzdF0sXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZkxpc3QgPSB1c2VSZWY8TGlzdD4obnVsbCk7XG4gICAgLy8gZXhwb3NlIHRoaXMgbWV0aG9kIHRvIHRoZSBwdWJsaWNcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgc2Nyb2xsVG9JdGVtOiAoaW5kZXg6IG51bWJlciwgYWxpZ24/OiBBbGlnbikgPT4ge1xuICAgICAgICAgICAgcmVmTGlzdC5jdXJyZW50Py5zY3JvbGxUb0l0ZW0oaW5kZXgsIGFsaWduKTtcbiAgICAgICAgfSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCBwcm9wc0ZvclZpcnR1YWxMaXN0ID0gdXNlRG5kV2luZG93U2Nyb2xsKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPFBhZ2VUcmVlRHJhZ0xheWVyIG51bWJlclNlbGVjdGVkUGFnZXM9e3NlbGVjdGVkUGFnZXMubGVuZ3RofSAvPlxuICAgICAgICAgICAgPFJvb3Q+XG4gICAgICAgICAgICAgICAgPFRhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8QXV0b1NpemVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGhlaWdodCwgd2lkdGggfTogU2l6ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBUT0RPOiBhZGp1c3QgaXRlbVNpemUgZm9yIHNtYWxsZXIgc2NyZWVuc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtyZWZMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtQ291bnQ9e3BhZ2VzLmxlbmd0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TaXplPXs1MX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJzY2FuQ291bnQ9ezF9IC8vIGRvIG5vdCBpbmNyZWFzZSB0aGlzIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBzY3JvbGxCZWhhdmlvcjogXCJzbW9vdGhcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJFbGVtZW50VHlwZT17VmlydHVhbExpc3RQYWRkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHNGb3JWaXJ0dWFsTGlzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGluZGV4LCBzdHlsZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3ByZXZQYWdlLCBwYWdlLCBuZXh0UGFnZV0gPSBnZXRMaW5rZWRQYWdlcyhwYWdlcywgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQYWdlVHJlZVJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtwYWdlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbGl6ZWRTdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0eWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LnRvcCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRX1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVJbj17bmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZT17cGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZQYWdlPXtwcmV2UGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRQYWdlPXtuZXh0UGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXREaWFsb2dBcGk9e2VkaXREaWFsb2dBcGl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbmQ9e3RvZ2dsZUV4cGFuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJvcD17b25Ecm9wfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TZWxlY3RDaGFuZ2VkPXtvblNlbGVjdENoYW5nZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlVHJlZVNlcnZpY2U9e3BhZ2VUcmVlU2VydmljZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZFNldEhvdmVyU3RhdGU9e2RlYm91bmNlZFNldEhvdmVyU3RhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXRlVXJsPXtzaXRlVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L0F1dG9TaXplcj5cbiAgICAgICAgICAgICAgICA8L1RhYmxlPlxuICAgICAgICAgICAgPC9Sb290PlxuICAgICAgICA8Lz5cbiAgICApO1xufTtcblxuY29uc3QgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSA9IDI0O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuY29uc3QgVmlydHVhbExpc3RQYWRkZXIgPSBmb3J3YXJkUmVmPGFueSwgYW55PigoeyBzdHlsZSwgLi4ucmVzdCB9LCByZWYpID0+IChcbiAgICA8ZGl2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICBoZWlnaHQ6IGAke3BhcnNlRmxvYXQoU3RyaW5nKHN0eWxlPy5oZWlnaHQpKSArIFZJUlRVQUxfTElTVF9QQURESU5HX1NJWkUgKiAyfXB4YCxcbiAgICAgICAgfX1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgLz5cbikpO1xuXG5mdW5jdGlvbiBnZXRMaW5rZWRQYWdlcyhwYWdlczogUGFnZVRyZWVQYWdlW10sIGluZGV4OiBudW1iZXIpOiBbUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkLCBQYWdlVHJlZVBhZ2UsIFBhZ2VUcmVlUGFnZSB8IHVuZGVmaW5lZF0ge1xuICAgIGNvbnN0IHByZXZQYWdlID0gaW5kZXggPiAwID8gcGFnZXNbaW5kZXggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuZXh0UGFnZSA9IGluZGV4ICsgMSA8IHBhZ2VzLmxlbmd0aCA/IHBhZ2VzW2luZGV4ICsgMV0gOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIFtwcmV2UGFnZSwgcGFnZXNbaW5kZXhdLCBuZXh0UGFnZV07XG59XG5cbmNvbnN0IFBhZ2VUcmVlV2l0aFJlZiA9IGZvcndhcmRSZWYoUGFnZVRyZWUpO1xuXG5leHBvcnQgeyBQYWdlVHJlZVdpdGhSZWYgYXMgUGFnZVRyZWUsIFBhZ2VUcmVlUmVmQXBpIH07XG5cbmNvbnN0IFJvb3QgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbmNvbnN0IFRhYmxlID0gc3R5bGVkKFwiZGl2XCIpYFxuICAgIGZsZXg6IDE7XG5gO1xuIl19 */",
482
+ styles: "flex:1/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd1oyQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ3FsLCB0eXBlIE9ic2VydmFibGVRdWVyeSwgdXNlQXBvbGxvQ2xpZW50IH0gZnJvbSBcIkBhcG9sbG8vY2xpZW50XCI7XG5pbXBvcnQgeyB0eXBlIElFZGl0RGlhbG9nQXBpLCBVbmRvU25hY2tiYXIsIHVzZVNuYWNrYmFyQXBpIH0gZnJvbSBcIkBjb21ldC9hZG1pblwiO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSBcIkBtdWkvbWF0ZXJpYWwvc3R5bGVzXCI7XG5pbXBvcnQgaXNFcXVhbCBmcm9tIFwibG9kYXNoLmlzZXF1YWxcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBEaXNwYXRjaCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIHR5cGUgRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uLFxuICAgIHR5cGUgU2V0U3RhdGVBY3Rpb24sXG4gICAgdXNlQ2FsbGJhY2ssXG4gICAgdXNlRWZmZWN0LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gICAgdXNlTWVtbyxcbiAgICB1c2VSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRm9ybWF0dGVkTWVzc2FnZSB9IGZyb20gXCJyZWFjdC1pbnRsXCI7XG5pbXBvcnQgQXV0b1NpemVyLCB7IHR5cGUgU2l6ZSB9IGZyb20gXCJyZWFjdC12aXJ0dWFsaXplZC1hdXRvLXNpemVyXCI7XG5pbXBvcnQgeyB0eXBlIEFsaWduLCBGaXhlZFNpemVMaXN0IGFzIExpc3QgfSBmcm9tIFwicmVhY3Qtd2luZG93XCI7XG5pbXBvcnQgeyB1c2VEZWJvdW5jZWRDYWxsYmFjayB9IGZyb20gXCJ1c2UtZGVib3VuY2VcIjtcblxuaW1wb3J0IHsgdXNlUGFnZVRyZWVTY29wZSB9IGZyb20gXCIuLi9jb25maWcvdXNlUGFnZVRyZWVTY29wZVwiO1xuaW1wb3J0IHsgdHlwZSBHUUxQYWdlc1F1ZXJ5LCB0eXBlIEdRTFBhZ2VzUXVlcnlWYXJpYWJsZXMgfSBmcm9tIFwiLi4vcGFnZXNQYWdlL2NyZWF0ZVBhZ2VzUXVlcnlcIjtcbmltcG9ydCB7XG4gICAgdHlwZSBHUUxNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zTXV0YXRpb24sXG4gICAgdHlwZSBHUUxQYWdlc0NhY2hlUXVlcnksXG4gICAgdHlwZSBHUUxQYWdlc0NhY2hlUXVlcnlWYXJpYWJsZXMsXG4gICAgdHlwZSBHUUxQYWdlU2x1Z1BhdGhGcmFnbWVudCxcbiAgICB0eXBlIEdRTFJlc2V0U2x1Z011dGF0aW9uLFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXMsXG59IGZyb20gXCIuL1BhZ2VUcmVlLmdlbmVyYXRlZFwiO1xuaW1wb3J0IFBhZ2VUcmVlRHJhZ0xheWVyIGZyb20gXCIuL1BhZ2VUcmVlRHJhZ0xheWVyXCI7XG5pbXBvcnQgUGFnZVRyZWVSb3csIHsgdHlwZSBEcm9wVGFyZ2V0LCB0eXBlIFBhZ2VUcmVlRHJhZ09iamVjdCB9IGZyb20gXCIuL1BhZ2VUcmVlUm93XCI7XG5pbXBvcnQgeyB0eXBlIERyb3BJbmZvLCBQYWdlVHJlZVNlcnZpY2UgfSBmcm9tIFwiLi9QYWdlVHJlZVNlcnZpY2VcIjtcbmltcG9ydCB7IHVzZURuZFdpbmRvd1Njcm9sbCB9IGZyb20gXCIuL3VzZURuZFdpbmRvd1Njcm9sbC91c2VEbmRXaW5kb3dTY3JvbGxcIjtcbmltcG9ydCB7IHR5cGUgUGFnZVRyZWVQYWdlIH0gZnJvbSBcIi4vdXNlUGFnZVRyZWVcIjtcblxuaW50ZXJmYWNlIFBhZ2VUcmVlUHJvcHMge1xuICAgIHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICBlZGl0RGlhbG9nQXBpOiBJRWRpdERpYWxvZ0FwaTtcbiAgICB0b2dnbGVFeHBhbmQ6IChwYWdlSWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgICBvblNlbGVjdENoYW5nZWQ6IChwYWdlSWQ6IHN0cmluZywgdmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gICAgY2F0ZWdvcnk6IHN0cmluZztcbiAgICBzaXRlVXJsOiBzdHJpbmc7XG59XG5cbnR5cGUgUGFnZVRyZWVSZWZBcGkgPSB7IHNjcm9sbFRvSXRlbTogTGlzdFtcInNjcm9sbFRvSXRlbVwiXSB9O1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zKCRpZHM6IFtJRCFdISwgJGlucHV0OiBNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zSW5wdXQhKSB7XG4gICAgICAgIG1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoaWRzOiAkaWRzLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cnNNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3VyKCRpZHM6IFtJRCFdISwgJGlucHV0OiBNb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3VySW5wdXQhKSB7XG4gICAgICAgIG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoaWRzOiAkaWRzLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgcGF0aFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgcmVzZXRTbHVnTXV0YXRpb24gPSBncWxgXG4gICAgbXV0YXRpb24gUmVzZXRTbHVnKCRpZDogSUQhLCAkc2x1ZzogU3RyaW5nISkge1xuICAgICAgICB1cGRhdGVQYWdlVHJlZU5vZGVTbHVnKGlkOiAkaWQsIHNsdWc6ICRzbHVnKSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgc2x1Z1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuY29uc3QgcGFnZXNDYWNoZVF1ZXJ5ID0gZ3FsYFxuICAgIHF1ZXJ5IFBhZ2VzQ2FjaGUoJGNvbnRlbnRTY29wZTogUGFnZVRyZWVOb2RlU2NvcGVJbnB1dCEsICRjYXRlZ29yeTogU3RyaW5nISkge1xuICAgICAgICBwYWdlczogcGFnZVRyZWVOb2RlTGlzdChzY29wZTogJGNvbnRlbnRTY29wZSwgY2F0ZWdvcnk6ICRjYXRlZ29yeSkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHBhcmVudElkXG4gICAgICAgICAgICBwb3NcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbi8vIEBUT0RPOiBDYWxjdWxhdGUgZHluYW1pY2FsbHlcbmNvbnN0IGxldmVsT2Zmc2V0UHggPSA1MDtcblxuY29uc3QgUGFnZVRyZWU6IEZvcndhcmRSZWZSZW5kZXJGdW5jdGlvbjxQYWdlVHJlZVJlZkFwaSwgUGFnZVRyZWVQcm9wcz4gPSAoXG4gICAgeyBwYWdlcywgZWRpdERpYWxvZ0FwaSwgdG9nZ2xlRXhwYW5kLCBvblNlbGVjdENoYW5nZWQsIGNhdGVnb3J5LCBzaXRlVXJsIH0sXG4gICAgcmVmLFxuKSA9PiB7XG4gICAgY29uc3QgY2xpZW50ID0gdXNlQXBvbGxvQ2xpZW50KCk7XG4gICAgY29uc3QgbmV3UGFnZUlkcyA9IHVzZVJlZjxzdHJpbmdbXT4oW10pO1xuXG4gICAgY29uc3QgcXVlcmllcyA9IGNsaWVudC5nZXRPYnNlcnZhYmxlUXVlcmllcygpO1xuICAgIGNvbnN0IHBhZ2VzUXVlcnkgPSBBcnJheS5mcm9tKHF1ZXJpZXMudmFsdWVzKCkpLmZpbmQoKHF1ZXJ5KSA9PiBxdWVyeS5xdWVyeU5hbWUgPT09IFwiUGFnZXNcIikgYXNcbiAgICAgICAgfCBPYnNlcnZhYmxlUXVlcnk8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz5cbiAgICAgICAgfCB1bmRlZmluZWQ7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAocGFnZXNRdWVyeSkge1xuICAgICAgICAgICAgY2xpZW50LmNhY2hlLndhdGNoPEdRTFBhZ2VzUXVlcnksIEdRTFBhZ2VzUXVlcnlWYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICBxdWVyeTogcGFnZXNRdWVyeS5xdWVyeSxcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHBhZ2VzUXVlcnkudmFyaWFibGVzLFxuICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAobmV3UGFnZXNRdWVyeSwgcHJldmlvdXNQYWdlc1F1ZXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChuZXdQYWdlc1F1ZXJ5ICYmIHByZXZpb3VzUGFnZXNRdWVyeSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdQYWdlSWRzID0gcHJldmlvdXNQYWdlc1F1ZXJ5LnJlc3VsdD8ucGFnZXM/Lm1hcCgocGFnZSkgPT4gcGFnZS5pZCkgPz8gW107XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQYWdlSWRzLmN1cnJlbnQgPSBuZXdQYWdlc1F1ZXJ5LnJlc3VsdD8ucGFnZXM/Lm1hcCgocGFnZSkgPT4gcGFnZS5pZCkuZmlsdGVyKChpZCkgPT4gIWV4aXN0aW5nUGFnZUlkcy5pbmNsdWRlcyhpZCkpID8/IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXNldCBuZXdQYWdlSWRzIHRvIHByZXZlbnQgc2xpZGVJbiBvbiBldmVyeSByZXJlbmRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGltaXN0aWM6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0sIFtjbGllbnQuY2FjaGUsIHBhZ2VzUXVlcnldKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChuZXdQYWdlSWRzLmN1cnJlbnQubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBwYWdlcy5maW5kSW5kZXgoKHBhZ2UpID0+IG5ld1BhZ2VJZHMuY3VycmVudC5pbmNsdWRlcyhwYWdlLmlkKSk7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgXCJzbWFydFwiKTtcbiAgICAgICAgfVxuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgcGFnZVRyZWVTZXJ2aWNlID0gdXNlTWVtbygoKSA9PiBuZXcgUGFnZVRyZWVTZXJ2aWNlKGxldmVsT2Zmc2V0UHgsIHBhZ2VzKSwgW3BhZ2VzXSk7XG4gICAgY29uc3Qgc2NvcGUgPSB1c2VQYWdlVHJlZVNjb3BlKCk7XG4gICAgY29uc3Qgc25hY2tiYXJBcGkgPSB1c2VTbmFja2JhckFwaSgpO1xuXG4gICAgY29uc3QgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZSA9IHVzZURlYm91bmNlZENhbGxiYWNrKFxuICAgICAgICAoc2V0SG92ZXJTdGF0ZTogRGlzcGF0Y2g8U2V0U3RhdGVBY3Rpb248RHJvcEluZm8gfCB1bmRlZmluZWQ+PiwgbmV3SG92ZXJTdGF0ZTogRHJvcEluZm8gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgICAgIHNldEhvdmVyU3RhdGUoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0VxdWFsKG5ld0hvdmVyU3RhdGUsIHByZXZTdGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXZTdGF0ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3SG92ZXJTdGF0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgNSxcbiAgICApO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRQYWdlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gcGFnZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLnNlbGVjdGVkKTtcbiAgICB9LCBbcGFnZXNdKTtcblxuICAgIGNvbnN0IG1vdmVCeVBvc1JlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgLy8gQFRPRE86IGhhbmRsZSBwYXRoIGNvbGxpc2lvbnMgd2hlbiBtb3ZpbmcgcGFnZXNcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgcG9zaXRpb24gfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgcG9zaXRpb246IG51bWJlciB9KSA9PiB7XG4gICAgICAgICAgICBhd2FpdCBjbGllbnQubXV0YXRlKHtcbiAgICAgICAgICAgICAgICBtdXRhdGlvbjogbW92ZVBhZ2VUcmVlTm9kZXNCeVBvc2l0aW9uTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zOiBwb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wdGltaXN0aWNSZXNwb25zZTogKHZhcmlhYmxlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlVHJlZU5vZGVzOiBHUUxNb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zTXV0YXRpb25bXCJtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zXCJdID0gKHZhcmlhYmxlcy5pZHMgYXMgc3RyaW5nW10pLm1hcChcbiAgICAgICAgICAgICAgICAgICAgICAgIChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzbHVnUGF0aFBhZ2UgPSBjbGllbnQuY2FjaGUucmVhZEZyYWdtZW50PEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50Pih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQ6IGdxbGBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWdtZW50IFBhZ2VTbHVnUGF0aCBvbiBQYWdlVHJlZU5vZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fdHlwZW5hbWU6IFwiUGFnZVRyZWVOb2RlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHNsdWdQYXRoUGFnZT8uc2x1ZyA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBzbHVnUGF0aFBhZ2U/LnBhdGggPz8gXCJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvczogcGFnZVRyZWVOb2RlcyxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHVwZGF0ZTogKHByb3h5LCB7IGRhdGEgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgcGFnZSBwb3NpdGlvbnMgb2YgYWxsIG90aGVyIHBhZ2V0cmVlIG5vZGVzIGFyZSB1cGRhdGVkIGluIHRoZSBjYWNoZVxuICAgICAgICAgICAgICAgICAgICAvLyA9PiByZWFsdGltZSB1cGRhdGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW92ZWRQYWdlVHJlZU5vZGVzID0gZGF0YT8ubW92ZVBhZ2VUcmVlTm9kZXNCeVBvcztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZSA9IG1vdmVkUGFnZVRyZWVOb2Rlcz8uWzBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW1vdmVkUGFnZVRyZWVOb2RlcyB8fCAhZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNRdWVyeURhdGEgPSBwcm94eS5yZWFkUXVlcnk8R1FMUGFnZXNDYWNoZVF1ZXJ5LCBHUUxQYWdlc0NhY2hlUXVlcnlWYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc0NhY2hlUXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50U2NvcGU6IHNjb3BlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VzRGF0YSA9IHBhZ2VzUXVlcnlEYXRhPy5wYWdlcyA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VzID0gcGFnZXNEYXRhLm1hcCgocGFnZURhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRQYWdlRGF0YSA9IHsgLi4ucGFnZURhdGEgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaWRzLmluY2x1ZGVzKHBhZ2VEYXRhLmlkKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VEYXRhLnBhcmVudElkID09PSBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlLnBhcmVudElkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucG9zID49IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucG9zXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkUGFnZURhdGEucG9zID0gdXBkYXRlZFBhZ2VEYXRhLnBvcyArIG1vdmVkUGFnZVRyZWVOb2Rlcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVkUGFnZURhdGE7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBwcm94eS53cml0ZVF1ZXJ5KHsgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSwgZGF0YTogeyBwYWdlczogdXBkYXRlZFBhZ2VzIH0gfSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbY2xpZW50LCBzY29wZSwgY2F0ZWdvcnldLFxuICAgICk7XG5cbiAgICBjb25zdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0ID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jICh7IGlkcywgcGFyZW50SWQsIGFmdGVySWQsIGJlZm9yZUlkIH06IHsgaWRzOiBzdHJpbmdbXTsgcGFyZW50SWQ6IHN0cmluZyB8IG51bGw7IGFmdGVySWQ6IHN0cmluZyB8IG51bGw7IGJlZm9yZUlkOiBzdHJpbmcgfCBudWxsIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICBpZHM6IGlkcyxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYXJlbnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVySWQ6IGFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogYmVmb3JlSWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBbY2xpZW50XSxcbiAgICApO1xuXG4gICAgY29uc3Qgb25Ecm9wID0gdXNlQ2FsbGJhY2soXG4gICAgICAgIGFzeW5jIChkcmFnT2JqZWN0OiBQYWdlVHJlZURyYWdPYmplY3QsIGRyb3BUYXJnZXRQYWdlOiBQYWdlVHJlZVBhZ2UsIGRyb3BUYXJnZXQ6IERyb3BUYXJnZXQsIHRhcmdldExldmVsOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUGFnZUlkcyA9IHNlbGVjdGVkUGFnZXMubWFwKChwYWdlKSA9PiBwYWdlLmlkKTtcbiAgICAgICAgICAgIGxldCBwYWdlc1RvTW92ZTogUGFnZVRyZWVQYWdlW107XG4gICAgICAgICAgICBsZXQgaWRzVG9Nb3ZlOiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgaWYgKHNlbGVjdGVkUGFnZUlkcy5pbmNsdWRlcyhkcmFnT2JqZWN0LmlkKSkge1xuICAgICAgICAgICAgICAgIC8vIGZpbHRlciBvdXQgc3VicGFnZXMgaWYgdGhlaXIgcGFyZW50IGlzIHNlbGVjdGVkID0+IG9ubHkgdGhlIHBhcmVudCBoYXMgdG8gYmUgbW92ZWRcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZFNlbGVjdGVkUGFnZXMgPSBzZWxlY3RlZFBhZ2VzLmZpbHRlcigocGFnZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFnZS5wYXJlbnRJZCA9PT0gbnVsbCB8fCAhc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKHBhZ2UucGFyZW50SWQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlkc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuXG4gICAgICAgICAgICAgICAgcGFnZXNUb01vdmUgPSBmaWx0ZXJlZFNlbGVjdGVkUGFnZXM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlkc1RvTW92ZSA9IFtkcmFnT2JqZWN0LmlkXTtcbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IFtkcmFnT2JqZWN0XTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5mbyA9IHBhZ2VUcmVlU2VydmljZS5kcm9wQWxsb3dlZChwYWdlc1RvTW92ZSwgZHJvcFRhcmdldFBhZ2UsIGRyb3BUYXJnZXQsIHRhcmdldExldmVsKTtcbiAgICAgICAgICAgIGlmICghdXBkYXRlSW5mbykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgbW92ZUJ5UG9zUmVxdWVzdCh7IGlkczogaWRzVG9Nb3ZlLCBwYXJlbnRJZDogdXBkYXRlSW5mby5wYXJlbnRJZCwgcG9zaXRpb246IHVwZGF0ZUluZm8ucG9zaXRpb24gfSk7XG5cbiAgICAgICAgICAgIHNuYWNrYmFyQXBpLnNob3dTbmFja2JhcihcbiAgICAgICAgICAgICAgICA8VW5kb1NuYWNrYmFyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9ezxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tZXQucGFnZXRyZWUucGFnZU1vdmVkXCIgZGVmYXVsdE1lc3NhZ2U9XCJQYWdlIE1vdmVkXCIgLz59XG4gICAgICAgICAgICAgICAgICAgIHBheWxvYWQ9e3sgcHJldmlvdXNQYWdlczogcGFnZXMsIHBhZ2VzVG9VbmRvOiBwYWdlc1RvTW92ZSB9fVxuICAgICAgICAgICAgICAgICAgICBvblVuZG9DbGljaz17YXN5bmMgKHBheWxvYWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXlsb2FkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwcmV2aW91c1BhZ2VzLCBwYWdlc1RvVW5kbyB9ID0gcGF5bG9hZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkaXNhbGxvd2VkUmVmZXJlbmNlcyA9IFsuLi5wYWdlc1RvVW5kb107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHBhZ2VUb1VuZG8gb2YgcGFnZXNUb1VuZG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSW5mbyA9IHBhZ2VUcmVlU2VydmljZS5nZXRVbmRvVXBkYXRlSW5mbyhwcmV2aW91c1BhZ2VzLCBwYWdlVG9VbmRvLCBkaXNhbGxvd2VkUmVmZXJlbmNlcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgbW92ZUJ5TmVpZ2hib3VyUmVxdWVzdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHM6IFtwYWdlVG9VbmRvLmlkXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkOiBwYWdlVG9VbmRvLnBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogdXBkYXRlSW5mby5hZnRlcklkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlSWQ6IHVwZGF0ZUluZm8uYmVmb3JlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGU8R1FMUmVzZXRTbHVnTXV0YXRpb24sIEdRTFJlc2V0U2x1Z011dGF0aW9uVmFyaWFibGVzPih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbjogcmVzZXRTbHVnTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogcGFnZVRvVW5kby5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnOiBwYWdlVG9VbmRvLnNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhbGxvd2VkUmVmZXJlbmNlcyA9IGRpc2FsbG93ZWRSZWZlcmVuY2VzLmZpbHRlcigocGFnZSkgPT4gcGFnZS5pZCAhPT0gcGFnZVRvVW5kby5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50LnJlZmV0Y2hRdWVyaWVzKHsgaW5jbHVkZTogW1wiUGFnZXNcIl0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBbc2VsZWN0ZWRQYWdlcywgcGFnZVRyZWVTZXJ2aWNlLCBwYWdlcywgbW92ZUJ5UG9zUmVxdWVzdCwgc25hY2tiYXJBcGksIGNsaWVudCwgbW92ZUJ5TmVpZ2hib3VyUmVxdWVzdF0sXG4gICAgKTtcblxuICAgIGNvbnN0IHJlZkxpc3QgPSB1c2VSZWY8TGlzdD4obnVsbCk7XG4gICAgLy8gZXhwb3NlIHRoaXMgbWV0aG9kIHRvIHRoZSBwdWJsaWNcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgc2Nyb2xsVG9JdGVtOiAoaW5kZXg6IG51bWJlciwgYWxpZ24/OiBBbGlnbikgPT4ge1xuICAgICAgICAgICAgcmVmTGlzdC5jdXJyZW50Py5zY3JvbGxUb0l0ZW0oaW5kZXgsIGFsaWduKTtcbiAgICAgICAgfSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCBwcm9wc0ZvclZpcnR1YWxMaXN0ID0gdXNlRG5kV2luZG93U2Nyb2xsKCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPFBhZ2VUcmVlRHJhZ0xheWVyIG51bWJlclNlbGVjdGVkUGFnZXM9e3NlbGVjdGVkUGFnZXMubGVuZ3RofSAvPlxuICAgICAgICAgICAgPFJvb3Q+XG4gICAgICAgICAgICAgICAgPFRhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8QXV0b1NpemVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGhlaWdodCwgd2lkdGggfTogU2l6ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEBUT0RPOiBhZGp1c3QgaXRlbVNpemUgZm9yIHNtYWxsZXIgc2NyZWVuc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXtyZWZMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtQ291bnQ9e3BhZ2VzLmxlbmd0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1TaXplPXs1MX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJzY2FuQ291bnQ9ezF9IC8vIGRvIG5vdCBpbmNyZWFzZSB0aGlzIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBzY3JvbGxCZWhhdmlvcjogXCJzbW9vdGhcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJFbGVtZW50VHlwZT17VmlydHVhbExpc3RQYWRkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHNGb3JWaXJ0dWFsTGlzdH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyh7IGluZGV4LCBzdHlsZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3ByZXZQYWdlLCBwYWdlLCBuZXh0UGFnZV0gPSBnZXRMaW5rZWRQYWdlcyhwYWdlcywgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQYWdlVHJlZVJvd1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtwYWdlLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlydHVhbGl6ZWRTdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0eWxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LnRvcCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRX1weGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVJbj17bmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZT17cGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZQYWdlPXtwcmV2UGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRQYWdlPXtuZXh0UGFnZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXREaWFsb2dBcGk9e2VkaXREaWFsb2dBcGl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbmQ9e3RvZ2dsZUV4cGFuZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRHJvcD17b25Ecm9wfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25TZWxlY3RDaGFuZ2VkPXtvblNlbGVjdENoYW5nZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlVHJlZVNlcnZpY2U9e3BhZ2VUcmVlU2VydmljZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYm91bmNlZFNldEhvdmVyU3RhdGU9e2RlYm91bmNlZFNldEhvdmVyU3RhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXRlVXJsPXtzaXRlVXJsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L0F1dG9TaXplcj5cbiAgICAgICAgICAgICAgICA8L1RhYmxlPlxuICAgICAgICAgICAgPC9Sb290PlxuICAgICAgICA8Lz5cbiAgICApO1xufTtcblxuY29uc3QgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSA9IDI0O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuY29uc3QgVmlydHVhbExpc3RQYWRkZXIgPSBmb3J3YXJkUmVmPGFueSwgYW55PigoeyBzdHlsZSwgLi4ucmVzdCB9LCByZWYpID0+IChcbiAgICA8ZGl2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICBoZWlnaHQ6IGAke3BhcnNlRmxvYXQoU3RyaW5nKHN0eWxlPy5oZWlnaHQpKSArIFZJUlRVQUxfTElTVF9QQURESU5HX1NJWkUgKiAyfXB4YCxcbiAgICAgICAgfX1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgLz5cbikpO1xuXG5mdW5jdGlvbiBnZXRMaW5rZWRQYWdlcyhwYWdlczogUGFnZVRyZWVQYWdlW10sIGluZGV4OiBudW1iZXIpOiBbUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkLCBQYWdlVHJlZVBhZ2UsIFBhZ2VUcmVlUGFnZSB8IHVuZGVmaW5lZF0ge1xuICAgIGNvbnN0IHByZXZQYWdlID0gaW5kZXggPiAwID8gcGFnZXNbaW5kZXggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBuZXh0UGFnZSA9IGluZGV4ICsgMSA8IHBhZ2VzLmxlbmd0aCA/IHBhZ2VzW2luZGV4ICsgMV0gOiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIFtwcmV2UGFnZSwgcGFnZXNbaW5kZXhdLCBuZXh0UGFnZV07XG59XG5cbmNvbnN0IFBhZ2VUcmVlV2l0aFJlZiA9IGZvcndhcmRSZWYoUGFnZVRyZWUpO1xuXG5leHBvcnQgeyBQYWdlVHJlZVdpdGhSZWYgYXMgUGFnZVRyZWUsIHR5cGUgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
483
483
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
484
484
  });
@@ -2,7 +2,7 @@ import { type Dispatch, type SetStateAction } from "react";
2
2
  import { type PageSearchMatch } from "../pageSearch/usePageSearch";
3
3
  import { type TreeMap } from "./treemap/TreeMapUtils";
4
4
  import { type GQLPageTreePageFragment } from "./usePageTree.generated";
5
- export { GQLPageTreePageFragment } from "./usePageTree.generated";
5
+ export type { GQLPageTreePageFragment } from "./usePageTree.generated";
6
6
  export declare const pageTreePageFragment: import("@apollo/client").DocumentNode;
7
7
  interface PageTreePageAdditionalFieldsForUi {
8
8
  selected: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"usePageTree.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTree/usePageTree.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAkC,MAAM,OAAO,CAAC;AAE3F,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAoC,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,eAAO,MAAM,oBAAoB,uCAahC,CAAC;AAEF,UAAU,iCAAiC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;CAC9B;AACD,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,iCAAiC,CAAC;AAEvF,UAAU,gBAAgB;IACtB,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,OAAO,CAAC;CACvD;AAED,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG,eAAe,GAAG,cAAc,CAAC;AAC3F,UAAU,cAAc;IACpB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/C,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,WAAW,EAAE,sBAAsB,CAAC;IACpC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,wBAAgB,WAAW,CAAC,EACxB,KAAK,EAAE,WAAW,EAClB,qBAA6C,EAC7C,MAAmB,GACtB,EAAE,gBAAgB,GAAG,cAAc,CAyHnC"}
1
+ {"version":3,"file":"usePageTree.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTree/usePageTree.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAkC,MAAM,OAAO,CAAC;AAE3F,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAoC,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACxF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,eAAO,MAAM,oBAAoB,uCAahC,CAAC;AAEF,UAAU,iCAAiC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,EAAE,CAAC;CAC9B;AACD,MAAM,MAAM,YAAY,GAAG,uBAAuB,GAAG,iCAAiC,CAAC;AAEvF,UAAU,gBAAgB;IACtB,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,OAAO,CAAC;CACvD;AAED,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,GAAG,eAAe,GAAG,cAAc,CAAC;AAC3F,UAAU,cAAc;IACpB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC/C,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,WAAW,EAAE,sBAAsB,CAAC;IACpC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,wBAAgB,WAAW,CAAC,EACxB,KAAK,EAAE,WAAW,EAClB,qBAA6C,EAC7C,MAAmB,GACtB,EAAE,gBAAgB,GAAG,cAAc,CAyHnC"}
@@ -4,19 +4,12 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- Object.defineProperty(exports, "GQLPageTreePageFragment", {
8
- enumerable: true,
9
- get: function get() {
10
- return _usePageTree.GQLPageTreePageFragment;
11
- }
12
- });
13
7
  exports.pageTreePageFragment = void 0;
14
8
  exports.usePageTree = usePageTree;
15
9
  var _client = require("@apollo/client");
16
10
  var _admin = require("@comet/admin");
17
11
  var _react = require("react");
18
12
  var _TreeMapUtils = require("./treemap/TreeMapUtils");
19
- var _usePageTree = require("./usePageTree.generated");
20
13
  var _templateObject;
21
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1,6 +1,6 @@
1
1
  import { type ContentScope } from "../../contentScope/Provider";
2
- import { GQLSelectedPageFragment } from "./PageTreeSelectDialog.generated";
3
- export { GQLSelectedPageFragment };
2
+ import { type GQLSelectedPageFragment } from "./PageTreeSelectDialog.generated";
3
+ export type { GQLSelectedPageFragment };
4
4
  export declare const selectedPageFragment: import("@apollo/client").DocumentNode;
5
5
  interface PageTreeSelectProps {
6
6
  value: (GQLSelectedPageFragment & {
@@ -1 +1 @@
1
- {"version":3,"file":"PageTreeSelectDialog.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTreeSelect/PageTreeSelectDialog.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAehE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,eAAO,MAAM,oBAAoB,uCAOhC,CAAC;AA2BF,UAAU,mBAAmB;IACzB,KAAK,EAAE,CAAC,uBAAuB,GAAG;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/E,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,uBAAuB,GAAG;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1F,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA4LlI"}
1
+ {"version":3,"file":"PageTreeSelectDialog.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTreeSelect/PageTreeSelectDialog.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAehE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAGhF,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC,eAAO,MAAM,oBAAoB,uCAOhC,CAAC;AA2BF,UAAU,mBAAmB;IACzB,KAAK,EAAE,CAAC,uBAAuB,GAAG;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/E,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,uBAAuB,GAAG;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1F,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA4LlI"}