@agilemotion/oui-react-js 2.0.22 → 2.0.23

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.
@@ -468,9 +468,9 @@ FoldingSideTabDashboard.propTypes = {
468
468
  showDashboardMenu: _propTypes.default.bool,
469
469
  logo: _propTypes.default.string,
470
470
  logoStyle: _propTypes.default.object,
471
- appLogoPath: _propTypes.default.object,
471
+ appLogoPath: _propTypes.default.string,
472
472
  avatar: _propTypes.default.string,
473
473
  logoutCallBack: _propTypes.default.func,
474
474
  homeButtonSettings: _propTypes.default.object
475
475
  };
476
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9tYXRlcmlhbCIsIl9NZW51T3BlbiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfTWVudSIsIl9Mb2dvdXQiLCJfTWFuYWdlQWNjb3VudHMiLCJfd2l0aFdpZHRoIiwiX3Byb3BUeXBlcyIsIl9VdGlscyIsIl9WaWV3UG9ydCIsIl9yZWFjdFJvdXRlckRvbSIsIl9wZXJmZWN0U2Nyb2xsYmFyIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9Tb2NrZXRNYW5hZ2VyIiwiX1dpbmRvd1ZpZXdQb3J0IiwiX0FjdGlvbkhhbmRsZXJzIiwiX0ZvbGRpbmdUYWJTaWRlYmFyIiwiX3N0eWxlcyIsIl91c2VNZWRpYVF1ZXJ5IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJEUkFXRVJfV0lEVEgiLCJleHBvcnRzIiwiTUlOSV9XSURUSCIsIkRyYXdlclN0eWxlZCIsInN0eWxlZCIsIkRyYXdlciIsInNob3VsZEZvcndhcmRQcm9wIiwicHJvcCIsIl9yZWYiLCJ0aGVtZSIsIm9wZW4iLCJ3aWR0aCIsImZsZXhTaHJpbmsiLCJ3aGl0ZVNwYWNlIiwib3ZlcmZsb3dYIiwidHJhbnNpdGlvbiIsInRyYW5zaXRpb25zIiwiY3JlYXRlIiwiZWFzaW5nIiwic2hhcnAiLCJkdXJhdGlvbiIsInN0YW5kYXJkIiwiTWFpbiIsIl9yZWYyIiwiZmxleEdyb3ciLCJwYWRkaW5nIiwiYmFja2dyb3VuZCIsInBzIiwiREFUQV9VUkxfUFJFRklYIiwibm9ybWFsaXplTG9nbyIsInNyYyIsInVuZGVmaW5lZCIsInMiLCJ0cmltIiwidGVzdCIsImR1cCIsIlJlZ0V4cCIsImNvbmNhdCIsInJlcGxhY2UiLCJGb2xkaW5nU2lkZVRhYkRhc2hib2FyZCIsInByb3BzIiwiX3Byb3BzJGFwcExvZ29QYXRoIiwic2V0T3BlbiIsInVzZVN0YXRlIiwibmF2RHJhd2VyT3BlbiIsInNldE5hdkRyYXdlck9wZW4iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImFjdGl2ZUNvbG9yIiwic2V0QWN0aXZlQ29sb3IiLCJzZWNvbmRhcnlUaGVtZUNvbG9yIiwic2V0U2Vjb25kYXJ5VGhlbWVDb2xvciIsInByaW1hcnlUaGVtZUNvbG9yIiwic2V0UHJpbWFyeVRoZW1lQ29sb3IiLCJ0aGVtZVRleHRDb2xvciIsInNldFRoZW1lVGV4dENvbG9yIiwicm91dGVzIiwic2V0Um91dGVzIiwibG9nbyIsInNldExvZ28iLCJzaWRlYmFyT3BlbmVkIiwic2V0U2lkZWJhck9wZW5lZCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiY2xhc3NOYW1lIiwiaW5kZXhPZiIsInNpZGViYXJNaW5pIiwic2V0U2lkZWJhck1pbmkiLCJvcGFjaXR5Iiwic2V0T3BhY2l0eSIsIndpbmRvd1Bpbm5lZCIsInNldFdpbmRvd1Bpbm5lZCIsInVzZXJNZW51RWwiLCJzZXRVc2VyTWVudUVsIiwidXNlck1lbnVPcGVuIiwiQm9vbGVhbiIsImhhbmRsZVVzZXJNZW51T3BlbiIsImN1cnJlbnRUYXJnZXQiLCJoYW5kbGVVc2VyTWVudUNsb3NlIiwidXNlVGhlbWUiLCJpc01vYmlsZSIsInVzZU1lZGlhUXVlcnkiLCJicmVha3BvaW50cyIsImRvd24iLCJoYW5kbGVQcm9maWxlIiwibGF1bmNoVmlldyIsImhhbmRsZUxvZ291dCIsImxvZ291dENhbGxCYWNrIiwiaGFuZGxlQ2hhbmdlUmVxdWVzdE5hdkRyYXdlciIsImhhbmRsZUJnQ2xpY2siLCJjb2xvciIsInVzZUVmZmVjdCIsImFwcGxpY2F0aW9uTWFuYWdlciIsInNldERhc2hib2FyZFN0YXRlIiwibGVmdE9mZnNldCIsIm5hdmlnYXRvciIsInBsYXRmb3JtIiwiY2xhc3NMaXN0IiwiYWRkIiwicmVtb3ZlIiwidGFibGVzIiwicXVlcnlTZWxlY3RvckFsbCIsIlBlcmZlY3RTY3JvbGxiYXIiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwic2hvd05hdmJhckJ1dHRvbiIsIkxBUkdFIiwiU29ja2V0cyIsImluaXQiLCJkaXNjb25uZWN0IiwiYm9keSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzZXR0aW5ncyIsInN5c3RlbVByb2ZpbGVEdG8iLCJzZWNvbmRDb3Jwb3JhdGVCcmFuZENvbG9yIiwiZmlyc3RDb3Jwb3JhdGVCcmFuZENvbG9yIiwiVXRpbHMiLCJpc051bGwiLCJkYXNoYm9hcmRNZW51IiwiaWQiLCJtZW51cyIsIm15RGFzaGJvYXJkTWVudSIsIml0ZW1zIiwiYXR0cmlidXRlcyIsImxhYmVsIiwicHVzaCIsInVzZXJEYXNoYm9hcmRzIiwidXNlckRhc2hib2FyZCIsIml0ZW0iLCJwYXJhbWV0ZXJzIiwibWFwIiwiZGFzaGJvYXJkTmFtZSIsImNyZWF0ZU5ld01lbnUiLCJtb2R1bGVzIiwibW9kdWxlIiwiZGFzaEJvYXJkTWVudUJhciIsImoiLCJtZW51IiwibmV3Um91dGVzIiwibmV3Um91dGUiLCJzaG93RGFzaGJvYXJkTWVudSIsIm5hbWUiLCJpY29uIiwibGF5b3V0IiwibGV2ZWwiLCJpc1BhcmVudCIsInJvdXRlIiwiY29sbGFwc2UiLCJzdGF0ZSIsInNldHRpbmdzTWVudSIsInRvZ2dsZVNpZGViYXIiLCJ0b2dnbGUiLCJzY3JvbGxUb3AiLCJzY3JvbGxpbmdFbGVtZW50IiwiZ2V0Um91dGVzIiwia2V5Iiwidmlld3MiLCJjcmVhdGVFbGVtZW50IiwiUm91dGUiLCJwYXRoIiwiY29tcG9uZW50IiwiZ2V0QWN0aXZlUm91dGUiLCJhY3RpdmVSb3V0ZSIsImNvbGxhcHNlQWN0aXZlUm91dGUiLCJsb2NhdGlvbiIsImhyZWYiLCJoYW5kbGVBY3RpdmVDbGljayIsImNsb3NlU2lkZWJhciIsImxhdW5jaERhc2hib2FyZCIsImNsb3NlQWxsVmlld3MiLCJuYXZpZ2F0ZSIsImFjdGlvbkNvbmZpZyIsImFjdGlvblR5cGUiLCJwYXJlbnQiLCJBY3Rpb25IYW5kbGVycyIsImludm9rZUhhbmRsZXIiLCJCb3giLCJzeCIsImRpc3BsYXkiLCJDc3NCYXNlbGluZSIsIkFwcEJhciIsInBvc2l0aW9uIiwiZWxldmF0aW9uIiwiekluZGV4IiwiZHJhd2VyIiwiVG9vbGJhciIsIlRvb2x0aXAiLCJ0aXRsZSIsIkljb25CdXR0b24iLCJlZGdlIiwib25DbGljayIsIm1sIiwiZm9udFdlaWdodCIsImFsaWduSXRlbXMiLCJzaXplIiwiQXZhdGFyIiwiYWx0IiwiYXZhdGFyIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiTWVudSIsImFuY2hvckVsIiwib25DbG9zZSIsInRyYW5zZm9ybU9yaWdpbiIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCIsImFuY2hvck9yaWdpbiIsIlBhcGVyUHJvcHMiLCJtdCIsIm1pbldpZHRoIiwib3ZlcmZsb3ciLCJjb250ZW50IiwidG9wIiwicmlnaHQiLCJiZ2NvbG9yIiwidHJhbnNmb3JtIiwiTWVudUl0ZW0iLCJMaXN0SXRlbUljb24iLCJmb250U2l6ZSIsIlR5cG9ncmFwaHkiLCJEaXZpZGVyIiwidmFyaWFudCIsIm9uT3BlbkRyYXdlciIsImFjdGl2ZVJvdXRlTWVudSIsImRhc2hib2FyZExhdW5jaGVyIiwiYXBwTG9nb1BhdGgiLCJvdXR0ZXJMaW5rIiwidGV4dCIsImltZ1NyYyIsImxvZ29TdHlsZSIsImhvbWVCdXR0b25TZXR0aW5ncyIsInN0eWxlIiwibWF4SGVpZ2h0IiwibXhIZWlnaHQiLCJtZW51T2Zmc2V0IiwibWFyZ2luIiwic3RhdGVDaGFuZ2VIYW5kbGVyIiwicGlubmVkIiwicHJvcFR5cGVzIiwiY2hpbGRyZW4iLCJQcm9wVHlwZXMiLCJlbGVtZW50IiwibnVtYmVyIiwib2JqZWN0IiwiYm9vbCIsInN0cmluZyIsImZ1bmMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGFzaGJvYXJkL0ZvbGRpbmdTaWRlVGFiRGFzaGJvYXJkLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb2xkaW5nU2lkZVRhYkRhc2hib2FyZC5qc3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgICBBcHBCYXIsXG4gICAgQXZhdGFyLFxuICAgIEJveCxcbiAgICBDc3NCYXNlbGluZSxcbiAgICBEaXZpZGVyLFxuICAgIERyYXdlcixcbiAgICBJY29uQnV0dG9uLFxuICAgIExpc3RJdGVtSWNvbixcbiAgICBNZW51LFxuICAgIE1lbnVJdGVtLFxuICAgIFRvb2xiYXIsXG4gICAgVG9vbHRpcCxcbiAgICBUeXBvZ3JhcGh5XG59IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgTWVudU9wZW5JY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL01lbnVPcGVuXCI7XG5pbXBvcnQgTWVudUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvTWVudVwiO1xuaW1wb3J0IExvZ291dCBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9Mb2dvdXRcIjtcbmltcG9ydCBNYW5hZ2VBY2NvdW50cyBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9NYW5hZ2VBY2NvdW50c1wiO1xuXG5pbXBvcnQge0xBUkdFfSBmcm9tIFwibWF0ZXJpYWwtdWkvdXRpbHMvd2l0aFdpZHRoXCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQgVmlld1BvcnQgZnJvbSBcIi4uL2xheW91dC9WaWV3UG9ydFwiO1xuaW1wb3J0IHtSb3V0ZX0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCBQZXJmZWN0U2Nyb2xsYmFyIGZyb20gXCJwZXJmZWN0LXNjcm9sbGJhclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgU29ja2V0cyBmcm9tIFwiLi4vU29ja2V0TWFuYWdlclwiO1xuaW1wb3J0IFdpbmRvd1ZpZXdQb3J0IGZyb20gXCIuLi9sYXlvdXQvV2luZG93Vmlld1BvcnRcIjtcbmltcG9ydCBcIi4vRm9sZGluZ1NpZGVUYWJEYXNoYm9hcmQuY3NzXCI7XG5pbXBvcnQgQWN0aW9uSGFuZGxlcnMgZnJvbSBcIi4uLy4uL2V2ZW50L0FjdGlvbkhhbmRsZXJzXCI7XG5pbXBvcnQgRm9sZGluZ1RhYlNpZGViYXIgZnJvbSBcIi4vY29tcG9uZW50cy9ibGFja0Rhc2hib2FyZC9zaWRlYmFyL0ZvbGRpbmdUYWJTaWRlYmFyXCI7XG5pbXBvcnQge3N0eWxlZCwgdXNlVGhlbWV9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHVzZU1lZGlhUXVlcnkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvdXNlTWVkaWFRdWVyeVwiO1xuXG5leHBvcnQgY29uc3QgRFJBV0VSX1dJRFRIID0gMzIwO1xuY29uc3QgTUlOSV9XSURUSCA9IDcyO1xuXG5jb25zdCBEcmF3ZXJTdHlsZWQgPSBzdHlsZWQoRHJhd2VyLCB7XG4gICAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBwcm9wICE9PSBcIm9wZW5cIlxufSkoKHsgdGhlbWUsIG9wZW4gfSkgPT4gKHtcbiAgICB3aWR0aDogb3BlbiA/IERSQVdFUl9XSURUSCA6IE1JTklfV0lEVEgsXG4gICAgZmxleFNocmluazogMCxcbiAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiLFxuICAgIFwiJiAuTXVpRHJhd2VyLXBhcGVyXCI6IHtcbiAgICAgICAgd2lkdGg6IG9wZW4gPyBEUkFXRVJfV0lEVEggOiBNSU5JX1dJRFRILFxuICAgICAgICBvdmVyZmxvd1g6IFwiaGlkZGVuXCIsXG4gICAgICAgIHRyYW5zaXRpb246IHRoZW1lLnRyYW5zaXRpb25zLmNyZWF0ZShcIndpZHRoXCIsIHtcbiAgICAgICAgICAgIGVhc2luZzogdGhlbWUudHJhbnNpdGlvbnMuZWFzaW5nLnNoYXJwLFxuICAgICAgICAgICAgZHVyYXRpb246IHRoZW1lLnRyYW5zaXRpb25zLmR1cmF0aW9uLnN0YW5kYXJkXG4gICAgICAgIH0pXG4gICAgfVxufSkpO1xuXG5jb25zdCBNYWluID0gc3R5bGVkKFwibWFpblwiLCB7IHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gcHJvcCAhPT0gXCJvcGVuXCIgfSkoXG4gICAgKHsgdGhlbWUsIG9wZW4gfSkgPT4gKHtcbiAgICAgICAgZmxleEdyb3c6IDEsXG4gICAgICAgIHRyYW5zaXRpb246IHRoZW1lLnRyYW5zaXRpb25zLmNyZWF0ZShcIm1hcmdpbi1sZWZ0XCIsIHtcbiAgICAgICAgICAgIGVhc2luZzogdGhlbWUudHJhbnNpdGlvbnMuZWFzaW5nLnNoYXJwLFxuICAgICAgICAgICAgZHVyYXRpb246IHRoZW1lLnRyYW5zaXRpb25zLmR1cmF0aW9uLnN0YW5kYXJkXG4gICAgICAgIH0pLFxuICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCJcbiAgICB9KVxuKTtcblxubGV0IHBzO1xuY29uc3QgREFUQV9VUkxfUFJFRklYID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsXCI7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUxvZ28oc3JjKSB7XG4gICAgaWYgKCFzcmMpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcyA9IHNyYy50cmltKCk7XG5cbiAgICBpZiAoL15kYXRhOi9pLnRlc3QocykpIHtcbiAgICAgICAgY29uc3QgZHVwID0gbmV3IFJlZ0V4cChgXigke0RBVEFfVVJMX1BSRUZJWH0pK2AsIFwiaVwiKTtcbiAgICAgICAgcmV0dXJuIHMucmVwbGFjZShkdXAsIERBVEFfVVJMX1BSRUZJWCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIERBVEFfVVJMX1BSRUZJWCArIHM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEZvbGRpbmdTaWRlVGFiRGFzaGJvYXJkKHByb3BzKSB7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gUmVhY3QudXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW25hdkRyYXdlck9wZW4sIHNldE5hdkRyYXdlck9wZW5dID0gUmVhY3QudXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3QudXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2FjdGl2ZUNvbG9yLCBzZXRBY3RpdmVDb2xvcl0gPSBSZWFjdC51c2VTdGF0ZShcImJsdWVcIik7XG4gICAgY29uc3QgW3NlY29uZGFyeVRoZW1lQ29sb3IsIHNldFNlY29uZGFyeVRoZW1lQ29sb3JdID0gUmVhY3QudXNlU3RhdGUoXCJcIik7XG4gICAgY29uc3QgW3ByaW1hcnlUaGVtZUNvbG9yLCBzZXRQcmltYXJ5VGhlbWVDb2xvcl0gPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgICBjb25zdCBbdGhlbWVUZXh0Q29sb3IsIHNldFRoZW1lVGV4dENvbG9yXSA9IFJlYWN0LnVzZVN0YXRlKFwiXCIpO1xuICAgIGNvbnN0IFtyb3V0ZXMsIHNldFJvdXRlc10gPSBSZWFjdC51c2VTdGF0ZShbXSk7XG4gICAgY29uc3QgW2xvZ28sIHNldExvZ29dID0gUmVhY3QudXNlU3RhdGUobm9ybWFsaXplTG9nbyhwcm9wcy5sb2dvKSk7XG4gICAgY29uc3QgW3NpZGViYXJPcGVuZWQsIHNldFNpZGViYXJPcGVuZWRdID0gUmVhY3QudXNlU3RhdGUoXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc05hbWUuaW5kZXhPZihcIm5hdi1vcGVuXCIpICE9PSAtMVxuICAgICk7XG4gICAgY29uc3QgW3NpZGViYXJNaW5pLCBzZXRTaWRlYmFyTWluaV0gPSBSZWFjdC51c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbb3BhY2l0eSwgc2V0T3BhY2l0eV0gPSBSZWFjdC51c2VTdGF0ZSgwKTtcbiAgICBjb25zdCBbd2luZG93UGlubmVkLCBzZXRXaW5kb3dQaW5uZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgLy8gQXZhdGFyIG1lbnUgc3RhdGVcbiAgICBjb25zdCBbdXNlck1lbnVFbCwgc2V0VXNlck1lbnVFbF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCB1c2VyTWVudU9wZW4gPSBCb29sZWFuKHVzZXJNZW51RWwpO1xuICAgIGNvbnN0IGhhbmRsZVVzZXJNZW51T3BlbiA9IChlKSA9PiBzZXRVc2VyTWVudUVsKGUuY3VycmVudFRhcmdldCk7XG4gICAgY29uc3QgaGFuZGxlVXNlck1lbnVDbG9zZSA9ICgpID0+IHNldFVzZXJNZW51RWwobnVsbCk7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IGlzTW9iaWxlID0gdXNlTWVkaWFRdWVyeSh0aGVtZS5icmVha3BvaW50cy5kb3duKFwic21cIikpO1xuXG4gICAgY29uc3QgaGFuZGxlUHJvZmlsZSA9ICgpID0+IHtcbiAgICAgICAgaGFuZGxlVXNlck1lbnVDbG9zZSgpO1xuICAgICAgICBsYXVuY2hWaWV3KFwiL3N5c3RlbS92aWV3cy91c2VyLXByb2ZpbGUuanNvblwiKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlTG9nb3V0ID0gKCkgPT4ge1xuICAgICAgICBoYW5kbGVVc2VyTWVudUNsb3NlKCk7XG4gICAgICAgIHByb3BzLmxvZ291dENhbGxCYWNrICYmIHByb3BzLmxvZ291dENhbGxCYWNrKCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZVJlcXVlc3ROYXZEcmF3ZXIgPSAoKSA9PiB7XG4gICAgICAgIHNldE5hdkRyYXdlck9wZW4oIW5hdkRyYXdlck9wZW4pO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCZ0NsaWNrID0gKGNvbG9yKSA9PiB7XG4gICAgICAgIHNldEFjdGl2ZUNvbG9yKGNvbG9yKTtcbiAgICB9O1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgICBzZXRPcGVuKGZhbHNlKTsgICAvLyBhdXRvIGNvbGxhcHNlIHdoZW4gc2NyZWVuIGlzIHNtYWxsXG4gICAgICAgIH1cbiAgICB9LCBbaXNNb2JpbGVdKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXREYXNoYm9hcmRTdGF0ZSh7bGVmdE9mZnNldDogb3BlbiA/IERSQVdFUl9XSURUSCA6IE1JTklfV0lEVEh9KVxuICAgIH0sIFtvcGVuXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoXCJXaW5cIikgPiAtMSkge1xuICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJwZXJmZWN0LXNjcm9sbGJhci1vblwiKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwicGVyZmVjdC1zY3JvbGxiYXItb2ZmXCIpO1xuICAgICAgICAgICAgbGV0IHRhYmxlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIudGFibGUtcmVzcG9uc2l2ZVwiKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFibGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgcHMgPSBuZXcgUGVyZmVjdFNjcm9sbGJhcih0YWJsZXNbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHNob3dOYXZiYXJCdXR0b24pO1xuICAgIH0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzLndpZHRoICE9PSBudWxsICYmIHR5cGVvZiBwcm9wcy53aWR0aCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgc2V0TmF2RHJhd2VyT3Blbihwcm9wcy53aWR0aCA9PT0gTEFSR0UpO1xuICAgICAgICB9XG4gICAgfSwgW3Byb3BzLndpZHRoXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBTb2NrZXRzLmluaXQoKTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldERhc2hib2FyZFN0YXRlKHtsZWZ0T2Zmc2V0OiBvcGVuID8gRFJBV0VSX1dJRFRIIDogTUlOSV9XSURUSH0pXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBTb2NrZXRzLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJ3aGl0ZS1jb250ZW50XCIpO1xuXG4gICAgICAgIGlmIChuYXZpZ2F0b3IucGxhdGZvcm0uaW5kZXhPZihcIldpblwiKSA+IC0xKSB7XG4gICAgICAgICAgICAvLyBLZWVwaW5nIGZvciBwYXJpdHkgd2l0aCB5b3VyIG9yaWdpbmFsIGNvZGVcbiAgICAgICAgfVxuXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHNob3dOYXZiYXJCdXR0b24pO1xuXG4gICAgICAgIHNldEFjdGl2ZUNvbG9yKFwiYWdpbGl0eVwiKTtcbiAgICAgICAgc2V0U2Vjb25kYXJ5VGhlbWVDb2xvcihwcm9wcy5zZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLnNlY29uZENvcnBvcmF0ZUJyYW5kQ29sb3IpO1xuICAgICAgICBzZXRQcmltYXJ5VGhlbWVDb2xvcihwcm9wcy5zZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLmZpcnN0Q29ycG9yYXRlQnJhbmRDb2xvcik7XG4gICAgICAgIHNldFRoZW1lVGV4dENvbG9yKHByb3BzLnNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8udGhlbWVUZXh0Q29sb3IpO1xuXG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLnNldHRpbmdzKSkge1xuICAgICAgICAgICAgbGV0IGRhc2hib2FyZE1lbnUgPSB7fTtcbiAgICAgICAgICAgIGRhc2hib2FyZE1lbnUuaWQgPSBcImRhc2hib2FyZFwiO1xuICAgICAgICAgICAgZGFzaGJvYXJkTWVudS5tZW51cyA9IFtdO1xuXG4gICAgICAgICAgICBsZXQgbXlEYXNoYm9hcmRNZW51ID0ge307XG4gICAgICAgICAgICBteURhc2hib2FyZE1lbnUuaWQgPSBcIm15RGFzaGJvYXJkXCI7XG4gICAgICAgICAgICBteURhc2hib2FyZE1lbnUuaXRlbXMgPSBbXTtcbiAgICAgICAgICAgIG15RGFzaGJvYXJkTWVudS5hdHRyaWJ1dGVzID0ge307XG4gICAgICAgICAgICBteURhc2hib2FyZE1lbnUuYXR0cmlidXRlcy5sYWJlbCA9IFwiTXkgRGFzaGJvYXJkc1wiO1xuICAgICAgICAgICAgZGFzaGJvYXJkTWVudS5tZW51cy5wdXNoKG15RGFzaGJvYXJkTWVudSk7XG5cbiAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLnNldHRpbmdzLnVzZXJEYXNoYm9hcmRzKSkge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvcHMuc2V0dGluZ3MudXNlckRhc2hib2FyZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHVzZXJEYXNoYm9hcmQgPSBwcm9wcy5zZXR0aW5ncy51c2VyRGFzaGJvYXJkc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pZCA9IHVzZXJEYXNoYm9hcmQuaWQ7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uYXR0cmlidXRlcyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmF0dHJpYnV0ZXMubGFiZWwgPSB1c2VyRGFzaGJvYXJkLnBhcmFtZXRlcnMubWFwLmRhc2hib2FyZE5hbWU7XG5cbiAgICAgICAgICAgICAgICAgICAgbXlEYXNoYm9hcmRNZW51Lml0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgY3JlYXRlTmV3TWVudSA9IHt9O1xuICAgICAgICAgICAgY3JlYXRlTmV3TWVudS5pZCA9IFwiY3JlYXRlTmV3XCI7XG4gICAgICAgICAgICBjcmVhdGVOZXdNZW51Lml0ZW1zID0gW107XG4gICAgICAgICAgICBjcmVhdGVOZXdNZW51LmF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgICAgIGNyZWF0ZU5ld01lbnUuYXR0cmlidXRlcy5sYWJlbCA9IFwiQ3JlYXRlIE5ld1wiO1xuICAgICAgICAgICAgZGFzaGJvYXJkTWVudS5tZW51cy5wdXNoKGNyZWF0ZU5ld01lbnUpO1xuXG4gICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChwcm9wcy5zZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLm1vZHVsZXMpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wcy5zZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLm1vZHVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZHVsZSA9IHByb3BzLnNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwobW9kdWxlLmRhc2hCb2FyZE1lbnVCYXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG1vZHVsZS5kYXNoQm9hcmRNZW51QmFyLm1lbnVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1lbnUgPSBtb2R1bGUuZGFzaEJvYXJkTWVudUJhci5tZW51c1tqXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvIGtlZXAgdGhlIG1vZHVsZSBjbGFzc2lmaWNhdGlvbiwgcmVwbGFjZSB0aGUgbGluZSBiZWxvdyB3aXRoIGNyZWF0ZU5ld01lbnUuaXRlbXMucHVzaChtZW51KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld01lbnUuaXRlbXMgPSBjcmVhdGVOZXdNZW51Lml0ZW1zLmNvbmNhdChtZW51Lml0ZW1zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG5ld1JvdXRlcyA9IFtdO1xuICAgICAgICAgICAgbGV0IG5ld1JvdXRlID0ge307XG5cbiAgICAgICAgICAgIGlmIChVdGlscy5pc051bGwocHJvcHMuc2hvd0Rhc2hib2FyZE1lbnUpIHx8IHByb3BzLnNob3dEYXNoYm9hcmRNZW51KSB7XG4gICAgICAgICAgICAgICAgbmV3Um91dGUubmFtZSA9IFwiRGFzaGJvYXJkXCI7XG4gICAgICAgICAgICAgICAgbmV3Um91dGUuaWQgPSBcImRhc2hib2FyZFwiO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLmljb24gPSBcImZhIGZhLXBpZS1jaGFydFwiO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLmxheW91dCA9IFwiL2FkbWluXCI7XG4gICAgICAgICAgICAgICAgbmV3Um91dGUubGV2ZWwgPSAwO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLmlzUGFyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZXMucHVzaChuZXdSb3V0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLnNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlcykpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BzLnNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kdWxlID0gcHJvcHMuc2V0dGluZ3Muc3lzdGVtUHJvZmlsZUR0by5tb2R1bGVzW2ldO1xuICAgICAgICAgICAgICAgICAgICBsZXQgcm91dGUgPSB7fTtcblxuICAgICAgICAgICAgICAgICAgICByb3V0ZS5uYW1lID0gbW9kdWxlLmxhYmVsO1xuICAgICAgICAgICAgICAgICAgICByb3V0ZS5pY29uID0gbW9kdWxlLmljb247XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlLm1lbnUgPSBtb2R1bGUubWVudTtcbiAgICAgICAgICAgICAgICAgICAgcm91dGUubGF5b3V0ID0gXCIvYWRtaW5cIjtcbiAgICAgICAgICAgICAgICAgICAgcm91dGUubGV2ZWwgPSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChtb2R1bGUubWVudSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGUuY29sbGFwc2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGUuc3RhdGUgPSBtb2R1bGUubmFtZSArIFwiQ29sbGFwc2VcIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIG5ld1JvdXRlcy5wdXNoKHJvdXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwcm9wcy5zZXR0aW5ncy5zZXR0aW5nc01lbnUpIHtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZSA9IHt9O1xuXG4gICAgICAgICAgICAgICAgbmV3Um91dGUubmFtZSA9IFwiU2V0dGluZ3NcIjtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZS5pY29uID0gXCJmYSBmYS1jb2dcIjtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZS5sYXlvdXQgPSBcIi9hZG1pblwiO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLmlzUGFyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZS5jb2xsYXBzZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgbmV3Um91dGUubGV2ZWwgPSAwO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLm1lbnUgPSBcIlwiOyAvLyBUT0RPIDogc2V0IG1lbnUgdmFsdWVcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZS5zdGF0ZSA9IFwic2V0dGluZ3NNZW51Q29sbGFwc2VcIjtcblxuICAgICAgICAgICAgICAgIG5ld1JvdXRlcy5wdXNoKG5ld1JvdXRlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0Um91dGVzKG5ld1JvdXRlcyk7XG5cbiAgICAgICAgICAgIHByb3BzLnNldHRpbmdzLmRhc2hib2FyZE1lbnUgPSBjcmVhdGVOZXdNZW51Lml0ZW1zLmxlbmd0aCA+IDAgPyBkYXNoYm9hcmRNZW51IDogbnVsbDtcbiAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSwgW3Byb3BzLnNldHRpbmdzXSk7XG5cbiAgICBjb25zdCB0b2dnbGVTaWRlYmFyID0gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShcIm5hdi1vcGVuXCIpO1xuICAgICAgICBzZXRTaWRlYmFyT3BlbmVkKCFzaWRlYmFyT3BlbmVkKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2hvd05hdmJhckJ1dHRvbiA9ICgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA+IDUwIHx8XG4gICAgICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA+IDUwXG4gICAgICAgICkge1xuICAgICAgICAgICAgc2V0T3BhY2l0eSgxKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPD0gNTAgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wIDw9IDUwXG4gICAgICAgICkge1xuICAgICAgICAgICAgc2V0T3BhY2l0eSgwKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBnZXRSb3V0ZXMgPSAocm91dGVzKSA9PiB7XG4gICAgICAgIHJldHVybiByb3V0ZXMubWFwKChwcm9wLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wLmNvbGxhcHNlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFJvdXRlcyhwcm9wLnZpZXdzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHByb3AubGF5b3V0ID09PSBcIi9hZG1pblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoPXtwcm9wLmxheW91dCArIHByb3AucGF0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17cHJvcC5jb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldEFjdGl2ZVJvdXRlID0gKHJvdXRlcykgPT4ge1xuICAgICAgICBsZXQgYWN0aXZlUm91dGUgPSBcIkRhc2hib2FyZFwiO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHJvdXRlc1tpXS5jb2xsYXBzZSAmJiByb3V0ZXNbaV0udmlld3MpIHtcbiAgICAgICAgICAgICAgICBsZXQgY29sbGFwc2VBY3RpdmVSb3V0ZSA9IGdldEFjdGl2ZVJvdXRlKHJvdXRlc1tpXS52aWV3cyk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbGxhcHNlQWN0aXZlUm91dGUgIT09IGFjdGl2ZVJvdXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb2xsYXBzZUFjdGl2ZVJvdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKHJvdXRlc1tpXS5sYXlvdXQgKyByb3V0ZXNbaV0ucGF0aCkgIT09IC0xXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByb3V0ZXNbaV0ubmFtZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjdGl2ZVJvdXRlO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVBY3RpdmVDbGljayA9IChjb2xvcikgPT4ge1xuICAgICAgICBzZXRBY3RpdmVDb2xvcihjb2xvcik7XG4gICAgfTtcblxuICAgIGNvbnN0IGNsb3NlU2lkZWJhciA9ICgpID0+IHtcbiAgICAgICAgc2V0U2lkZWJhck9wZW5lZChmYWxzZSk7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwibmF2LW9wZW5cIik7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGxhdW5jaERhc2hib2FyZCgpIHtcbiAgICAgICAgLy8gUHJlc2VydmUgdGhlIFdpbmRvd1ZpZXdQb3J0IG92ZXJsYXkg4oCUIGNsaWNraW5nIHRoZSBEYXNoYm9hcmQgbWVudSBpdGVtIG11c3Qgbm90IGNsb3NlIHRoZVxuICAgICAgICAvLyBmbG9hdGluZyB3aW5kb3cgKGl0J3MgYSBzZXBhcmF0ZSB2aWV3cG9ydCBpbiBvdXIgbXVsdGktdmlld3BvcnQgZGFzaGJvYXJkKS5cbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmNsb3NlQWxsVmlld3ModHJ1ZSk7XG4gICAgICAgIC8vYXBwbGljYXRpb25NYW5hZ2VyLm5hdmlnYXRlKCcvc3dpdGNoJyk7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5uYXZpZ2F0ZShcIi92aWV3L2Rhc2hib2FyZFwiKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsYXVuY2hWaWV3KHBhdGgpIHtcbiAgICAgICAgbGV0IGFjdGlvbkNvbmZpZyA9IHt9O1xuICAgICAgICBhY3Rpb25Db25maWcuYWN0aW9uVHlwZSA9IFwicm91dGVcIjtcbiAgICAgICAgYWN0aW9uQ29uZmlnLnBhdGggPSBwYXRoO1xuICAgICAgICBhY3Rpb25Db25maWcucGFyZW50ID0gdHJ1ZTtcblxuICAgICAgICBBY3Rpb25IYW5kbGVycy5pbnZva2VIYW5kbGVyKGFjdGlvbkNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIDxkaXY+TG9hZGluZy4uLjwvZGl2PjtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8Qm94IHN4PXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxuICAgICAgICAgICAgPENzc0Jhc2VsaW5lIC8+XG5cbiAgICAgICAgICAgIHsvKiBFbnN1cmUgdGhlIHRvZ2dsZSBidXR0b24gYWx3YXlzIHNpdHMgYWJvdmUgdGhlIGRyYXdlciAqL31cbiAgICAgICAgICAgIDxBcHBCYXJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImZpeGVkXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGVsZXZhdGlvbj17MX1cbiAgICAgICAgICAgICAgICBzeD17eyB6SW5kZXg6ICh0aGVtZSkgPT4gdGhlbWUuekluZGV4LmRyYXdlciArIDEgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VG9vbGJhcj5cbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e29wZW4gPyBcIkNvbGxhcHNlIG1lbnVcIiA6IFwiRXhwYW5kIG1lbnVcIn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBjb2xvcj1cImluaGVyaXRcIiBlZGdlPVwic3RhcnRcIiBvbkNsaWNrPXsoKSA9PiBzZXRPcGVuKChvKSA9PiAhbyl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcGVuID8gPE1lbnVPcGVuSWNvbiAvPiA6IDxNZW51SWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgICA8Qm94IHN4PXt7IG1sOiAxLCBmb250V2VpZ2h0OiA2MDAgfX0+PC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgIDxCb3ggc3g9e3sgbWw6IFwiYXV0b1wiLCBkaXNwbGF5OiBcImZsZXhcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPVwiQWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVVzZXJNZW51T3Blbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3g9e3sgbWw6IDEgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz17dXNlck1lbnVPcGVuID8gXCJhY2NvdW50LW1lbnVcIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXt1c2VyTWVudU9wZW4gPyBcInRydWVcIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlVzZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtwcm9wcy5hdmF0YXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeD17eyB3aWR0aDogMzYsIGhlaWdodDogMzYsIGJvcmRlclJhZGl1czogXCI1MCVcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNob3JFbD17dXNlck1lbnVFbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFjY291bnQtbWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Blbj17dXNlck1lbnVPcGVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZVVzZXJNZW51Q2xvc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVXNlck1lbnVDbG9zZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3sgaG9yaXpvbnRhbDogXCJyaWdodFwiLCB2ZXJ0aWNhbDogXCJ0b3BcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvck9yaWdpbj17eyBob3Jpem9udGFsOiBcInJpZ2h0XCIsIHZlcnRpY2FsOiBcImJvdHRvbVwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFwZXJQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGV2YXRpb246IDMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN4OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdDogMS41LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6IDIyMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBcInZpc2libGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJjpiZWZvcmVcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcIlwiJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImJsb2NrXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnY29sb3I6IFwiYmFja2dyb3VuZC5wYXBlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZylcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtIG9uQ2xpY2s9e2hhbmRsZVByb2ZpbGV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdEl0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hbmFnZUFjY291bnRzIGZvbnRTaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3RJdGVtSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+UHJvZmlsZTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtIG9uQ2xpY2s9e2hhbmRsZUxvZ291dH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0SXRlbUljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TG9nb3V0IGZvbnRTaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3RJdGVtSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+TG9nIG91dDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9NZW51PlxuICAgICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1Rvb2xiYXI+XG4gICAgICAgICAgICA8L0FwcEJhcj5cblxuICAgICAgICAgICAgPERyYXdlclN0eWxlZCB2YXJpYW50PXtpc01vYmlsZSA/IFwidGVtcG9yYXJ5XCIgOiBcInBlcm1hbmVudFwifSBvcGVuPXtvcGVufT5cbiAgICAgICAgICAgICAgICA8VG9vbGJhciAvPlxuICAgICAgICAgICAgICAgIDxGb2xkaW5nVGFiU2lkZWJhclxuICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlcz17cm91dGVzfVxuICAgICAgICAgICAgICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVDb2xvcj17J2FnaWxpdHknfVxuICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnlUaGVtZUNvbG9yPXtzZWNvbmRhcnlUaGVtZUNvbG9yfVxuICAgICAgICAgICAgICAgICAgICBvbk9wZW5EcmF3ZXI9eygpID0+IHNldE9wZW4odHJ1ZSl9XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZVJvdXRlTWVudT17cHJvcHMuc2hvd0Rhc2hib2FyZE1lbnUgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2Rhc2hib2FyZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRGFzaGJvYXJkJ1xuICAgICAgICAgICAgICAgICAgICB9IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgZGFzaGJvYXJkTGF1bmNoZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdW5jaERhc2hib2FyZCgpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBhcHBMb2dvUGF0aD17cHJvcHMuYXBwTG9nb1BhdGggPz8gJyd9XG4gICAgICAgICAgICAgICAgICAgIGxvZ289e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dHRlckxpbms6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWdTcmM6IGxvZ28sXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGxvZ29TdHlsZT17cHJvcHMubG9nb1N0eWxlfVxuICAgICAgICAgICAgICAgICAgICBjbG9zZVNpZGViYXI9e2Nsb3NlU2lkZWJhcn1cbiAgICAgICAgICAgICAgICAgICAgaG9tZUJ1dHRvblNldHRpbmdzPXtwcm9wcy5ob21lQnV0dG9uU2V0dGluZ3N9XG4gICAgICAgICAgICAgICAgLz57JyAnfVxuICAgICAgICAgICAgPC9EcmF3ZXJTdHlsZWQ+XG4gICAgICAgICAgICA8TWFpbiBvcGVuPXtvcGVufT5cbiAgICAgICAgICAgICAgICA8VG9vbGJhciAvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGFzaGJvYXJkLW1haW4tY29udGVudFwiIHN0eWxlPXt7aGVpZ2h0OiBcImNhbGMoMTAwdmggLSA3MHB4KVwiLCBtYXhIZWlnaHQ6IFwiY2FsYygxMDB2aCAtIDcwcHgpXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50IHctMTAwIGgtMTAwIHJvdyBuby1tYXJnaW4gbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9uIG1vYmlsZSBhIHBpbm5lZCB3aW5kb3cgY29sbGFwc2VzIHRvIGEgZmxvYXRpbmcgcGlsbCwgc29cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkb24ndCByZXNlcnZlIHRoZSAzMjBweCBzdHJpcCAoaXQgd291bGQgc2hyaW5rIGNvbnRlbnQgdG8gYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsaXZlciBhbmQgb3ZlcmZsb3cgdGhlIHZpZXdwb3J0KS4gUGlsbCBmbG9hdHMgb3ZlciBjb250ZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aW5kb3dQaW5uZWQgJiYgIWlzTW9iaWxlID8gJ2NhbGMoMTAwJSAtIDMyMHB4KScgOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteEhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdhdXRvJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXdQb3J0IHdpbmRvd1Bpbm5lZD17d2luZG93UGlubmVkfSBtZW51T2Zmc2V0PXtpc01vYmlsZSA/IDAgOiAob3BlbiA/IERSQVdFUl9XSURUSCA6IE1JTklfV0lEVEgpfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnY29sIG5vLW1hcmdpbiBuby1wYWRkaW5nJ30gc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogd2luZG93UGlubmVkICYmICFpc01vYmlsZSA/ICczMjBweCcgOiAnMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB3aW5kb3dQaW5uZWQgJiYgIWlzTW9iaWxlID8gJzhweCcgOiAnMCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5kb3dWaWV3UG9ydCBtZW51T2Zmc2V0PXtpc01vYmlsZSA/IDAgOiAob3BlbiA/IERSQVdFUl9XSURUSCA6IE1JTklfV0lEVEgpfSBzdGF0ZUNoYW5nZUhhbmRsZXI9eyhzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRXaW5kb3dQaW5uZWQoc3RhdGUucGlubmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L01haW4+XG4gICAgICAgIDwvQm94PlxuICAgICk7XG59XG5cbkZvbGRpbmdTaWRlVGFiRGFzaGJvYXJkLnByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmVsZW1lbnQsXG4gICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgc2V0dGluZ3M6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgc2hvd0Rhc2hib2FyZE1lbnU6IFByb3BUeXBlcy5ib29sLFxuICAgIGxvZ286IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbG9nb1N0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGFwcExvZ29QYXRoOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGF2YXRhcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsb2dvdXRDYWxsQmFjazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaG9tZUJ1dHRvblNldHRpbmdzOiBQcm9wVHlwZXMub2JqZWN0XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBZUEsSUFBQUUsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRCxzQkFBQSxD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
476
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9tYXRlcmlhbCIsIl9NZW51T3BlbiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfTWVudSIsIl9Mb2dvdXQiLCJfTWFuYWdlQWNjb3VudHMiLCJfd2l0aFdpZHRoIiwiX3Byb3BUeXBlcyIsIl9VdGlscyIsIl9WaWV3UG9ydCIsIl9yZWFjdFJvdXRlckRvbSIsIl9wZXJmZWN0U2Nyb2xsYmFyIiwiX0FwcGxpY2F0aW9uTWFuYWdlciIsIl9Tb2NrZXRNYW5hZ2VyIiwiX1dpbmRvd1ZpZXdQb3J0IiwiX0FjdGlvbkhhbmRsZXJzIiwiX0ZvbGRpbmdUYWJTaWRlYmFyIiwiX3N0eWxlcyIsIl91c2VNZWRpYVF1ZXJ5IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXBwbHkiLCJEUkFXRVJfV0lEVEgiLCJleHBvcnRzIiwiTUlOSV9XSURUSCIsIkRyYXdlclN0eWxlZCIsInN0eWxlZCIsIkRyYXdlciIsInNob3VsZEZvcndhcmRQcm9wIiwicHJvcCIsIl9yZWYiLCJ0aGVtZSIsIm9wZW4iLCJ3aWR0aCIsImZsZXhTaHJpbmsiLCJ3aGl0ZVNwYWNlIiwib3ZlcmZsb3dYIiwidHJhbnNpdGlvbiIsInRyYW5zaXRpb25zIiwiY3JlYXRlIiwiZWFzaW5nIiwic2hhcnAiLCJkdXJhdGlvbiIsInN0YW5kYXJkIiwiTWFpbiIsIl9yZWYyIiwiZmxleEdyb3ciLCJwYWRkaW5nIiwiYmFja2dyb3VuZCIsInBzIiwiREFUQV9VUkxfUFJFRklYIiwibm9ybWFsaXplTG9nbyIsInNyYyIsInVuZGVmaW5lZCIsInMiLCJ0cmltIiwidGVzdCIsImR1cCIsIlJlZ0V4cCIsImNvbmNhdCIsInJlcGxhY2UiLCJGb2xkaW5nU2lkZVRhYkRhc2hib2FyZCIsInByb3BzIiwiX3Byb3BzJGFwcExvZ29QYXRoIiwic2V0T3BlbiIsInVzZVN0YXRlIiwibmF2RHJhd2VyT3BlbiIsInNldE5hdkRyYXdlck9wZW4iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsImFjdGl2ZUNvbG9yIiwic2V0QWN0aXZlQ29sb3IiLCJzZWNvbmRhcnlUaGVtZUNvbG9yIiwic2V0U2Vjb25kYXJ5VGhlbWVDb2xvciIsInByaW1hcnlUaGVtZUNvbG9yIiwic2V0UHJpbWFyeVRoZW1lQ29sb3IiLCJ0aGVtZVRleHRDb2xvciIsInNldFRoZW1lVGV4dENvbG9yIiwicm91dGVzIiwic2V0Um91dGVzIiwibG9nbyIsInNldExvZ28iLCJzaWRlYmFyT3BlbmVkIiwic2V0U2lkZWJhck9wZW5lZCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiY2xhc3NOYW1lIiwiaW5kZXhPZiIsInNpZGViYXJNaW5pIiwic2V0U2lkZWJhck1pbmkiLCJvcGFjaXR5Iiwic2V0T3BhY2l0eSIsIndpbmRvd1Bpbm5lZCIsInNldFdpbmRvd1Bpbm5lZCIsInVzZXJNZW51RWwiLCJzZXRVc2VyTWVudUVsIiwidXNlck1lbnVPcGVuIiwiQm9vbGVhbiIsImhhbmRsZVVzZXJNZW51T3BlbiIsImN1cnJlbnRUYXJnZXQiLCJoYW5kbGVVc2VyTWVudUNsb3NlIiwidXNlVGhlbWUiLCJpc01vYmlsZSIsInVzZU1lZGlhUXVlcnkiLCJicmVha3BvaW50cyIsImRvd24iLCJoYW5kbGVQcm9maWxlIiwibGF1bmNoVmlldyIsImhhbmRsZUxvZ291dCIsImxvZ291dENhbGxCYWNrIiwiaGFuZGxlQ2hhbmdlUmVxdWVzdE5hdkRyYXdlciIsImhhbmRsZUJnQ2xpY2siLCJjb2xvciIsInVzZUVmZmVjdCIsImFwcGxpY2F0aW9uTWFuYWdlciIsInNldERhc2hib2FyZFN0YXRlIiwibGVmdE9mZnNldCIsIm5hdmlnYXRvciIsInBsYXRmb3JtIiwiY2xhc3NMaXN0IiwiYWRkIiwicmVtb3ZlIiwidGFibGVzIiwicXVlcnlTZWxlY3RvckFsbCIsIlBlcmZlY3RTY3JvbGxiYXIiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwic2hvd05hdmJhckJ1dHRvbiIsIkxBUkdFIiwiU29ja2V0cyIsImluaXQiLCJkaXNjb25uZWN0IiwiYm9keSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJzZXR0aW5ncyIsInN5c3RlbVByb2ZpbGVEdG8iLCJzZWNvbmRDb3Jwb3JhdGVCcmFuZENvbG9yIiwiZmlyc3RDb3Jwb3JhdGVCcmFuZENvbG9yIiwiVXRpbHMiLCJpc051bGwiLCJkYXNoYm9hcmRNZW51IiwiaWQiLCJtZW51cyIsIm15RGFzaGJvYXJkTWVudSIsIml0ZW1zIiwiYXR0cmlidXRlcyIsImxhYmVsIiwicHVzaCIsInVzZXJEYXNoYm9hcmRzIiwidXNlckRhc2hib2FyZCIsIml0ZW0iLCJwYXJhbWV0ZXJzIiwibWFwIiwiZGFzaGJvYXJkTmFtZSIsImNyZWF0ZU5ld01lbnUiLCJtb2R1bGVzIiwibW9kdWxlIiwiZGFzaEJvYXJkTWVudUJhciIsImoiLCJtZW51IiwibmV3Um91dGVzIiwibmV3Um91dGUiLCJzaG93RGFzaGJvYXJkTWVudSIsIm5hbWUiLCJpY29uIiwibGF5b3V0IiwibGV2ZWwiLCJpc1BhcmVudCIsInJvdXRlIiwiY29sbGFwc2UiLCJzdGF0ZSIsInNldHRpbmdzTWVudSIsInRvZ2dsZVNpZGViYXIiLCJ0b2dnbGUiLCJzY3JvbGxUb3AiLCJzY3JvbGxpbmdFbGVtZW50IiwiZ2V0Um91dGVzIiwia2V5Iiwidmlld3MiLCJjcmVhdGVFbGVtZW50IiwiUm91dGUiLCJwYXRoIiwiY29tcG9uZW50IiwiZ2V0QWN0aXZlUm91dGUiLCJhY3RpdmVSb3V0ZSIsImNvbGxhcHNlQWN0aXZlUm91dGUiLCJsb2NhdGlvbiIsImhyZWYiLCJoYW5kbGVBY3RpdmVDbGljayIsImNsb3NlU2lkZWJhciIsImxhdW5jaERhc2hib2FyZCIsImNsb3NlQWxsVmlld3MiLCJuYXZpZ2F0ZSIsImFjdGlvbkNvbmZpZyIsImFjdGlvblR5cGUiLCJwYXJlbnQiLCJBY3Rpb25IYW5kbGVycyIsImludm9rZUhhbmRsZXIiLCJCb3giLCJzeCIsImRpc3BsYXkiLCJDc3NCYXNlbGluZSIsIkFwcEJhciIsInBvc2l0aW9uIiwiZWxldmF0aW9uIiwiekluZGV4IiwiZHJhd2VyIiwiVG9vbGJhciIsIlRvb2x0aXAiLCJ0aXRsZSIsIkljb25CdXR0b24iLCJlZGdlIiwib25DbGljayIsIm1sIiwiZm9udFdlaWdodCIsImFsaWduSXRlbXMiLCJzaXplIiwiQXZhdGFyIiwiYWx0IiwiYXZhdGFyIiwiaGVpZ2h0IiwiYm9yZGVyUmFkaXVzIiwiTWVudSIsImFuY2hvckVsIiwib25DbG9zZSIsInRyYW5zZm9ybU9yaWdpbiIsImhvcml6b250YWwiLCJ2ZXJ0aWNhbCIsImFuY2hvck9yaWdpbiIsIlBhcGVyUHJvcHMiLCJtdCIsIm1pbldpZHRoIiwib3ZlcmZsb3ciLCJjb250ZW50IiwidG9wIiwicmlnaHQiLCJiZ2NvbG9yIiwidHJhbnNmb3JtIiwiTWVudUl0ZW0iLCJMaXN0SXRlbUljb24iLCJmb250U2l6ZSIsIlR5cG9ncmFwaHkiLCJEaXZpZGVyIiwidmFyaWFudCIsIm9uT3BlbkRyYXdlciIsImFjdGl2ZVJvdXRlTWVudSIsImRhc2hib2FyZExhdW5jaGVyIiwiYXBwTG9nb1BhdGgiLCJvdXR0ZXJMaW5rIiwidGV4dCIsImltZ1NyYyIsImxvZ29TdHlsZSIsImhvbWVCdXR0b25TZXR0aW5ncyIsInN0eWxlIiwibWF4SGVpZ2h0IiwibXhIZWlnaHQiLCJtZW51T2Zmc2V0IiwibWFyZ2luIiwic3RhdGVDaGFuZ2VIYW5kbGVyIiwicGlubmVkIiwicHJvcFR5cGVzIiwiY2hpbGRyZW4iLCJQcm9wVHlwZXMiLCJlbGVtZW50IiwibnVtYmVyIiwib2JqZWN0IiwiYm9vbCIsInN0cmluZyIsImZ1bmMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZGFzaGJvYXJkL0ZvbGRpbmdTaWRlVGFiRGFzaGJvYXJkLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBGb2xkaW5nU2lkZVRhYkRhc2hib2FyZC5qc3hcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgICBBcHBCYXIsXG4gICAgQXZhdGFyLFxuICAgIEJveCxcbiAgICBDc3NCYXNlbGluZSxcbiAgICBEaXZpZGVyLFxuICAgIERyYXdlcixcbiAgICBJY29uQnV0dG9uLFxuICAgIExpc3RJdGVtSWNvbixcbiAgICBNZW51LFxuICAgIE1lbnVJdGVtLFxuICAgIFRvb2xiYXIsXG4gICAgVG9vbHRpcCxcbiAgICBUeXBvZ3JhcGh5XG59IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgTWVudU9wZW5JY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL01lbnVPcGVuXCI7XG5pbXBvcnQgTWVudUljb24gZnJvbSBcIkBtdWkvaWNvbnMtbWF0ZXJpYWwvTWVudVwiO1xuaW1wb3J0IExvZ291dCBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9Mb2dvdXRcIjtcbmltcG9ydCBNYW5hZ2VBY2NvdW50cyBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9NYW5hZ2VBY2NvdW50c1wiO1xuXG5pbXBvcnQge0xBUkdFfSBmcm9tIFwibWF0ZXJpYWwtdWkvdXRpbHMvd2l0aFdpZHRoXCI7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQgVmlld1BvcnQgZnJvbSBcIi4uL2xheW91dC9WaWV3UG9ydFwiO1xuaW1wb3J0IHtSb3V0ZX0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCBQZXJmZWN0U2Nyb2xsYmFyIGZyb20gXCJwZXJmZWN0LXNjcm9sbGJhclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgU29ja2V0cyBmcm9tIFwiLi4vU29ja2V0TWFuYWdlclwiO1xuaW1wb3J0IFdpbmRvd1ZpZXdQb3J0IGZyb20gXCIuLi9sYXlvdXQvV2luZG93Vmlld1BvcnRcIjtcbmltcG9ydCBcIi4vRm9sZGluZ1NpZGVUYWJEYXNoYm9hcmQuY3NzXCI7XG5pbXBvcnQgQWN0aW9uSGFuZGxlcnMgZnJvbSBcIi4uLy4uL2V2ZW50L0FjdGlvbkhhbmRsZXJzXCI7XG5pbXBvcnQgRm9sZGluZ1RhYlNpZGViYXIgZnJvbSBcIi4vY29tcG9uZW50cy9ibGFja0Rhc2hib2FyZC9zaWRlYmFyL0ZvbGRpbmdUYWJTaWRlYmFyXCI7XG5pbXBvcnQge3N0eWxlZCwgdXNlVGhlbWV9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IHVzZU1lZGlhUXVlcnkgZnJvbSBcIkBtdWkvbWF0ZXJpYWwvdXNlTWVkaWFRdWVyeVwiO1xuXG5leHBvcnQgY29uc3QgRFJBV0VSX1dJRFRIID0gMzIwO1xuY29uc3QgTUlOSV9XSURUSCA9IDcyO1xuXG5jb25zdCBEcmF3ZXJTdHlsZWQgPSBzdHlsZWQoRHJhd2VyLCB7XG4gICAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBwcm9wICE9PSBcIm9wZW5cIlxufSkoKHsgdGhlbWUsIG9wZW4gfSkgPT4gKHtcbiAgICB3aWR0aDogb3BlbiA/IERSQVdFUl9XSURUSCA6IE1JTklfV0lEVEgsXG4gICAgZmxleFNocmluazogMCxcbiAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiLFxuICAgIFwiJiAuTXVpRHJhd2VyLXBhcGVyXCI6IHtcbiAgICAgICAgd2lkdGg6IG9wZW4gPyBEUkFXRVJfV0lEVEggOiBNSU5JX1dJRFRILFxuICAgICAgICBvdmVyZmxvd1g6IFwiaGlkZGVuXCIsXG4gICAgICAgIHRyYW5zaXRpb246IHRoZW1lLnRyYW5zaXRpb25zLmNyZWF0ZShcIndpZHRoXCIsIHtcbiAgICAgICAgICAgIGVhc2luZzogdGhlbWUudHJhbnNpdGlvbnMuZWFzaW5nLnNoYXJwLFxuICAgICAgICAgICAgZHVyYXRpb246IHRoZW1lLnRyYW5zaXRpb25zLmR1cmF0aW9uLnN0YW5kYXJkXG4gICAgICAgIH0pXG4gICAgfVxufSkpO1xuXG5jb25zdCBNYWluID0gc3R5bGVkKFwibWFpblwiLCB7IHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gcHJvcCAhPT0gXCJvcGVuXCIgfSkoXG4gICAgKHsgdGhlbWUsIG9wZW4gfSkgPT4gKHtcbiAgICAgICAgZmxleEdyb3c6IDEsXG4gICAgICAgIHRyYW5zaXRpb246IHRoZW1lLnRyYW5zaXRpb25zLmNyZWF0ZShcIm1hcmdpbi1sZWZ0XCIsIHtcbiAgICAgICAgICAgIGVhc2luZzogdGhlbWUudHJhbnNpdGlvbnMuZWFzaW5nLnNoYXJwLFxuICAgICAgICAgICAgZHVyYXRpb246IHRoZW1lLnRyYW5zaXRpb25zLmR1cmF0aW9uLnN0YW5kYXJkXG4gICAgICAgIH0pLFxuICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCJcbiAgICB9KVxuKTtcblxubGV0IHBzO1xuY29uc3QgREFUQV9VUkxfUFJFRklYID0gXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsXCI7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUxvZ28oc3JjKSB7XG4gICAgaWYgKCFzcmMpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcyA9IHNyYy50cmltKCk7XG5cbiAgICBpZiAoL15kYXRhOi9pLnRlc3QocykpIHtcbiAgICAgICAgY29uc3QgZHVwID0gbmV3IFJlZ0V4cChgXigke0RBVEFfVVJMX1BSRUZJWH0pK2AsIFwiaVwiKTtcbiAgICAgICAgcmV0dXJuIHMucmVwbGFjZShkdXAsIERBVEFfVVJMX1BSRUZJWCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIERBVEFfVVJMX1BSRUZJWCArIHM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEZvbGRpbmdTaWRlVGFiRGFzaGJvYXJkKHByb3BzKSB7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gUmVhY3QudXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW25hdkRyYXdlck9wZW4sIHNldE5hdkRyYXdlck9wZW5dID0gUmVhY3QudXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gUmVhY3QudXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3QgW2FjdGl2ZUNvbG9yLCBzZXRBY3RpdmVDb2xvcl0gPSBSZWFjdC51c2VTdGF0ZShcImJsdWVcIik7XG4gICAgY29uc3QgW3NlY29uZGFyeVRoZW1lQ29sb3IsIHNldFNlY29uZGFyeVRoZW1lQ29sb3JdID0gUmVhY3QudXNlU3RhdGUoXCJcIik7XG4gICAgY29uc3QgW3ByaW1hcnlUaGVtZUNvbG9yLCBzZXRQcmltYXJ5VGhlbWVDb2xvcl0gPSBSZWFjdC51c2VTdGF0ZShcIlwiKTtcbiAgICBjb25zdCBbdGhlbWVUZXh0Q29sb3IsIHNldFRoZW1lVGV4dENvbG9yXSA9IFJlYWN0LnVzZVN0YXRlKFwiXCIpO1xuICAgIGNvbnN0IFtyb3V0ZXMsIHNldFJvdXRlc10gPSBSZWFjdC51c2VTdGF0ZShbXSk7XG4gICAgY29uc3QgW2xvZ28sIHNldExvZ29dID0gUmVhY3QudXNlU3RhdGUobm9ybWFsaXplTG9nbyhwcm9wcy5sb2dvKSk7XG4gICAgY29uc3QgW3NpZGViYXJPcGVuZWQsIHNldFNpZGViYXJPcGVuZWRdID0gUmVhY3QudXNlU3RhdGUoXG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc05hbWUuaW5kZXhPZihcIm5hdi1vcGVuXCIpICE9PSAtMVxuICAgICk7XG4gICAgY29uc3QgW3NpZGViYXJNaW5pLCBzZXRTaWRlYmFyTWluaV0gPSBSZWFjdC51c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbb3BhY2l0eSwgc2V0T3BhY2l0eV0gPSBSZWFjdC51c2VTdGF0ZSgwKTtcbiAgICBjb25zdCBbd2luZG93UGlubmVkLCBzZXRXaW5kb3dQaW5uZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgLy8gQXZhdGFyIG1lbnUgc3RhdGVcbiAgICBjb25zdCBbdXNlck1lbnVFbCwgc2V0VXNlck1lbnVFbF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCB1c2VyTWVudU9wZW4gPSBCb29sZWFuKHVzZXJNZW51RWwpO1xuICAgIGNvbnN0IGhhbmRsZVVzZXJNZW51T3BlbiA9IChlKSA9PiBzZXRVc2VyTWVudUVsKGUuY3VycmVudFRhcmdldCk7XG4gICAgY29uc3QgaGFuZGxlVXNlck1lbnVDbG9zZSA9ICgpID0+IHNldFVzZXJNZW51RWwobnVsbCk7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICAgIGNvbnN0IGlzTW9iaWxlID0gdXNlTWVkaWFRdWVyeSh0aGVtZS5icmVha3BvaW50cy5kb3duKFwic21cIikpO1xuXG4gICAgY29uc3QgaGFuZGxlUHJvZmlsZSA9ICgpID0+IHtcbiAgICAgICAgaGFuZGxlVXNlck1lbnVDbG9zZSgpO1xuICAgICAgICBsYXVuY2hWaWV3KFwiL3N5c3RlbS92aWV3cy91c2VyLXByb2ZpbGUuanNvblwiKTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlTG9nb3V0ID0gKCkgPT4ge1xuICAgICAgICBoYW5kbGVVc2VyTWVudUNsb3NlKCk7XG4gICAgICAgIHByb3BzLmxvZ291dENhbGxCYWNrICYmIHByb3BzLmxvZ291dENhbGxCYWNrKCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZVJlcXVlc3ROYXZEcmF3ZXIgPSAoKSA9PiB7XG4gICAgICAgIHNldE5hdkRyYXdlck9wZW4oIW5hdkRyYXdlck9wZW4pO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCZ0NsaWNrID0gKGNvbG9yKSA9PiB7XG4gICAgICAgIHNldEFjdGl2ZUNvbG9yKGNvbG9yKTtcbiAgICB9O1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKGlzTW9iaWxlKSB7XG4gICAgICAgICAgICBzZXRPcGVuKGZhbHNlKTsgICAvLyBhdXRvIGNvbGxhcHNlIHdoZW4gc2NyZWVuIGlzIHNtYWxsXG4gICAgICAgIH1cbiAgICB9LCBbaXNNb2JpbGVdKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXREYXNoYm9hcmRTdGF0ZSh7bGVmdE9mZnNldDogb3BlbiA/IERSQVdFUl9XSURUSCA6IE1JTklfV0lEVEh9KVxuICAgIH0sIFtvcGVuXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobmF2aWdhdG9yLnBsYXRmb3JtLmluZGV4T2YoXCJXaW5cIikgPiAtMSkge1xuICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJwZXJmZWN0LXNjcm9sbGJhci1vblwiKTtcbiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwicGVyZmVjdC1zY3JvbGxiYXItb2ZmXCIpO1xuICAgICAgICAgICAgbGV0IHRhYmxlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCIudGFibGUtcmVzcG9uc2l2ZVwiKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGFibGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgcHMgPSBuZXcgUGVyZmVjdFNjcm9sbGJhcih0YWJsZXNbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHNob3dOYXZiYXJCdXR0b24pO1xuICAgIH0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKHByb3BzLndpZHRoICE9PSBudWxsICYmIHR5cGVvZiBwcm9wcy53aWR0aCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgc2V0TmF2RHJhd2VyT3Blbihwcm9wcy53aWR0aCA9PT0gTEFSR0UpO1xuICAgICAgICB9XG4gICAgfSwgW3Byb3BzLndpZHRoXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBTb2NrZXRzLmluaXQoKTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldERhc2hib2FyZFN0YXRlKHtsZWZ0T2Zmc2V0OiBvcGVuID8gRFJBV0VSX1dJRFRIIDogTUlOSV9XSURUSH0pXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICBTb2NrZXRzLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoXCJ3aGl0ZS1jb250ZW50XCIpO1xuXG4gICAgICAgIGlmIChuYXZpZ2F0b3IucGxhdGZvcm0uaW5kZXhPZihcIldpblwiKSA+IC0xKSB7XG4gICAgICAgICAgICAvLyBLZWVwaW5nIGZvciBwYXJpdHkgd2l0aCB5b3VyIG9yaWdpbmFsIGNvZGVcbiAgICAgICAgfVxuXG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIHNob3dOYXZiYXJCdXR0b24pO1xuXG4gICAgICAgIHNldEFjdGl2ZUNvbG9yKFwiYWdpbGl0eVwiKTtcbiAgICAgICAgc2V0U2Vjb25kYXJ5VGhlbWVDb2xvcihwcm9wcy5zZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLnNlY29uZENvcnBvcmF0ZUJyYW5kQ29sb3IpO1xuICAgICAgICBzZXRQcmltYXJ5VGhlbWVDb2xvcihwcm9wcy5zZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLmZpcnN0Q29ycG9yYXRlQnJhbmRDb2xvcik7XG4gICAgICAgIHNldFRoZW1lVGV4dENvbG9yKHByb3BzLnNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8udGhlbWVUZXh0Q29sb3IpO1xuXG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLnNldHRpbmdzKSkge1xuICAgICAgICAgICAgbGV0IGRhc2hib2FyZE1lbnUgPSB7fTtcbiAgICAgICAgICAgIGRhc2hib2FyZE1lbnUuaWQgPSBcImRhc2hib2FyZFwiO1xuICAgICAgICAgICAgZGFzaGJvYXJkTWVudS5tZW51cyA9IFtdO1xuXG4gICAgICAgICAgICBsZXQgbXlEYXNoYm9hcmRNZW51ID0ge307XG4gICAgICAgICAgICBteURhc2hib2FyZE1lbnUuaWQgPSBcIm15RGFzaGJvYXJkXCI7XG4gICAgICAgICAgICBteURhc2hib2FyZE1lbnUuaXRlbXMgPSBbXTtcbiAgICAgICAgICAgIG15RGFzaGJvYXJkTWVudS5hdHRyaWJ1dGVzID0ge307XG4gICAgICAgICAgICBteURhc2hib2FyZE1lbnUuYXR0cmlidXRlcy5sYWJlbCA9IFwiTXkgRGFzaGJvYXJkc1wiO1xuICAgICAgICAgICAgZGFzaGJvYXJkTWVudS5tZW51cy5wdXNoKG15RGFzaGJvYXJkTWVudSk7XG5cbiAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLnNldHRpbmdzLnVzZXJEYXNoYm9hcmRzKSkge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcHJvcHMuc2V0dGluZ3MudXNlckRhc2hib2FyZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHVzZXJEYXNoYm9hcmQgPSBwcm9wcy5zZXR0aW5ncy51c2VyRGFzaGJvYXJkc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pZCA9IHVzZXJEYXNoYm9hcmQuaWQ7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uYXR0cmlidXRlcyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmF0dHJpYnV0ZXMubGFiZWwgPSB1c2VyRGFzaGJvYXJkLnBhcmFtZXRlcnMubWFwLmRhc2hib2FyZE5hbWU7XG5cbiAgICAgICAgICAgICAgICAgICAgbXlEYXNoYm9hcmRNZW51Lml0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgY3JlYXRlTmV3TWVudSA9IHt9O1xuICAgICAgICAgICAgY3JlYXRlTmV3TWVudS5pZCA9IFwiY3JlYXRlTmV3XCI7XG4gICAgICAgICAgICBjcmVhdGVOZXdNZW51Lml0ZW1zID0gW107XG4gICAgICAgICAgICBjcmVhdGVOZXdNZW51LmF0dHJpYnV0ZXMgPSB7fTtcbiAgICAgICAgICAgIGNyZWF0ZU5ld01lbnUuYXR0cmlidXRlcy5sYWJlbCA9IFwiQ3JlYXRlIE5ld1wiO1xuICAgICAgICAgICAgZGFzaGJvYXJkTWVudS5tZW51cy5wdXNoKGNyZWF0ZU5ld01lbnUpO1xuXG4gICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChwcm9wcy5zZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLm1vZHVsZXMpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcm9wcy5zZXR0aW5ncy5zeXN0ZW1Qcm9maWxlRHRvLm1vZHVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZHVsZSA9IHByb3BzLnNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwobW9kdWxlLmRhc2hCb2FyZE1lbnVCYXIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IG1vZHVsZS5kYXNoQm9hcmRNZW51QmFyLm1lbnVzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1lbnUgPSBtb2R1bGUuZGFzaEJvYXJkTWVudUJhci5tZW51c1tqXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvIGtlZXAgdGhlIG1vZHVsZSBjbGFzc2lmaWNhdGlvbiwgcmVwbGFjZSB0aGUgbGluZSBiZWxvdyB3aXRoIGNyZWF0ZU5ld01lbnUuaXRlbXMucHVzaChtZW51KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZU5ld01lbnUuaXRlbXMgPSBjcmVhdGVOZXdNZW51Lml0ZW1zLmNvbmNhdChtZW51Lml0ZW1zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG5ld1JvdXRlcyA9IFtdO1xuICAgICAgICAgICAgbGV0IG5ld1JvdXRlID0ge307XG5cbiAgICAgICAgICAgIGlmIChVdGlscy5pc051bGwocHJvcHMuc2hvd0Rhc2hib2FyZE1lbnUpIHx8IHByb3BzLnNob3dEYXNoYm9hcmRNZW51KSB7XG4gICAgICAgICAgICAgICAgbmV3Um91dGUubmFtZSA9IFwiRGFzaGJvYXJkXCI7XG4gICAgICAgICAgICAgICAgbmV3Um91dGUuaWQgPSBcImRhc2hib2FyZFwiO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLmljb24gPSBcImZhIGZhLXBpZS1jaGFydFwiO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLmxheW91dCA9IFwiL2FkbWluXCI7XG4gICAgICAgICAgICAgICAgbmV3Um91dGUubGV2ZWwgPSAwO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLmlzUGFyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZXMucHVzaChuZXdSb3V0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLnNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlcykpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByb3BzLnNldHRpbmdzLnN5c3RlbVByb2ZpbGVEdG8ubW9kdWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbW9kdWxlID0gcHJvcHMuc2V0dGluZ3Muc3lzdGVtUHJvZmlsZUR0by5tb2R1bGVzW2ldO1xuICAgICAgICAgICAgICAgICAgICBsZXQgcm91dGUgPSB7fTtcblxuICAgICAgICAgICAgICAgICAgICByb3V0ZS5uYW1lID0gbW9kdWxlLmxhYmVsO1xuICAgICAgICAgICAgICAgICAgICByb3V0ZS5pY29uID0gbW9kdWxlLmljb247XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlLm1lbnUgPSBtb2R1bGUubWVudTtcbiAgICAgICAgICAgICAgICAgICAgcm91dGUubGF5b3V0ID0gXCIvYWRtaW5cIjtcbiAgICAgICAgICAgICAgICAgICAgcm91dGUubGV2ZWwgPSAwO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChtb2R1bGUubWVudSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGUuY29sbGFwc2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGUuc3RhdGUgPSBtb2R1bGUubmFtZSArIFwiQ29sbGFwc2VcIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIG5ld1JvdXRlcy5wdXNoKHJvdXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChwcm9wcy5zZXR0aW5ncy5zZXR0aW5nc01lbnUpIHtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZSA9IHt9O1xuXG4gICAgICAgICAgICAgICAgbmV3Um91dGUubmFtZSA9IFwiU2V0dGluZ3NcIjtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZS5pY29uID0gXCJmYSBmYS1jb2dcIjtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZS5sYXlvdXQgPSBcIi9hZG1pblwiO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLmlzUGFyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZS5jb2xsYXBzZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgbmV3Um91dGUubGV2ZWwgPSAwO1xuICAgICAgICAgICAgICAgIG5ld1JvdXRlLm1lbnUgPSBcIlwiOyAvLyBUT0RPIDogc2V0IG1lbnUgdmFsdWVcbiAgICAgICAgICAgICAgICBuZXdSb3V0ZS5zdGF0ZSA9IFwic2V0dGluZ3NNZW51Q29sbGFwc2VcIjtcblxuICAgICAgICAgICAgICAgIG5ld1JvdXRlcy5wdXNoKG5ld1JvdXRlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0Um91dGVzKG5ld1JvdXRlcyk7XG5cbiAgICAgICAgICAgIHByb3BzLnNldHRpbmdzLmRhc2hib2FyZE1lbnUgPSBjcmVhdGVOZXdNZW51Lml0ZW1zLmxlbmd0aCA+IDAgPyBkYXNoYm9hcmRNZW51IDogbnVsbDtcbiAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfSwgW3Byb3BzLnNldHRpbmdzXSk7XG5cbiAgICBjb25zdCB0b2dnbGVTaWRlYmFyID0gKCkgPT4ge1xuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShcIm5hdi1vcGVuXCIpO1xuICAgICAgICBzZXRTaWRlYmFyT3BlbmVkKCFzaWRlYmFyT3BlbmVkKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2hvd05hdmJhckJ1dHRvbiA9ICgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA+IDUwIHx8XG4gICAgICAgICAgICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA+IDUwXG4gICAgICAgICkge1xuICAgICAgICAgICAgc2V0T3BhY2l0eSgxKTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPD0gNTAgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wIDw9IDUwXG4gICAgICAgICkge1xuICAgICAgICAgICAgc2V0T3BhY2l0eSgwKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBnZXRSb3V0ZXMgPSAocm91dGVzKSA9PiB7XG4gICAgICAgIHJldHVybiByb3V0ZXMubWFwKChwcm9wLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wLmNvbGxhcHNlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFJvdXRlcyhwcm9wLnZpZXdzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHByb3AubGF5b3V0ID09PSBcIi9hZG1pblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgPFJvdXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoPXtwcm9wLmxheW91dCArIHByb3AucGF0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudD17cHJvcC5jb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldEFjdGl2ZVJvdXRlID0gKHJvdXRlcykgPT4ge1xuICAgICAgICBsZXQgYWN0aXZlUm91dGUgPSBcIkRhc2hib2FyZFwiO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJvdXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHJvdXRlc1tpXS5jb2xsYXBzZSAmJiByb3V0ZXNbaV0udmlld3MpIHtcbiAgICAgICAgICAgICAgICBsZXQgY29sbGFwc2VBY3RpdmVSb3V0ZSA9IGdldEFjdGl2ZVJvdXRlKHJvdXRlc1tpXS52aWV3cyk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbGxhcHNlQWN0aXZlUm91dGUgIT09IGFjdGl2ZVJvdXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb2xsYXBzZUFjdGl2ZVJvdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKHJvdXRlc1tpXS5sYXlvdXQgKyByb3V0ZXNbaV0ucGF0aCkgIT09IC0xXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByb3V0ZXNbaV0ubmFtZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjdGl2ZVJvdXRlO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVBY3RpdmVDbGljayA9IChjb2xvcikgPT4ge1xuICAgICAgICBzZXRBY3RpdmVDb2xvcihjb2xvcik7XG4gICAgfTtcblxuICAgIGNvbnN0IGNsb3NlU2lkZWJhciA9ICgpID0+IHtcbiAgICAgICAgc2V0U2lkZWJhck9wZW5lZChmYWxzZSk7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwibmF2LW9wZW5cIik7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGxhdW5jaERhc2hib2FyZCgpIHtcbiAgICAgICAgLy8gUHJlc2VydmUgdGhlIFdpbmRvd1ZpZXdQb3J0IG92ZXJsYXkg4oCUIGNsaWNraW5nIHRoZSBEYXNoYm9hcmQgbWVudSBpdGVtIG11c3Qgbm90IGNsb3NlIHRoZVxuICAgICAgICAvLyBmbG9hdGluZyB3aW5kb3cgKGl0J3MgYSBzZXBhcmF0ZSB2aWV3cG9ydCBpbiBvdXIgbXVsdGktdmlld3BvcnQgZGFzaGJvYXJkKS5cbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmNsb3NlQWxsVmlld3ModHJ1ZSk7XG4gICAgICAgIC8vYXBwbGljYXRpb25NYW5hZ2VyLm5hdmlnYXRlKCcvc3dpdGNoJyk7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5uYXZpZ2F0ZShcIi92aWV3L2Rhc2hib2FyZFwiKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBsYXVuY2hWaWV3KHBhdGgpIHtcbiAgICAgICAgbGV0IGFjdGlvbkNvbmZpZyA9IHt9O1xuICAgICAgICBhY3Rpb25Db25maWcuYWN0aW9uVHlwZSA9IFwicm91dGVcIjtcbiAgICAgICAgYWN0aW9uQ29uZmlnLnBhdGggPSBwYXRoO1xuICAgICAgICBhY3Rpb25Db25maWcucGFyZW50ID0gdHJ1ZTtcblxuICAgICAgICBBY3Rpb25IYW5kbGVycy5pbnZva2VIYW5kbGVyKGFjdGlvbkNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIDxkaXY+TG9hZGluZy4uLjwvZGl2PjtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8Qm94IHN4PXt7IGRpc3BsYXk6IFwiZmxleFwiIH19PlxuICAgICAgICAgICAgPENzc0Jhc2VsaW5lIC8+XG5cbiAgICAgICAgICAgIHsvKiBFbnN1cmUgdGhlIHRvZ2dsZSBidXR0b24gYWx3YXlzIHNpdHMgYWJvdmUgdGhlIGRyYXdlciAqL31cbiAgICAgICAgICAgIDxBcHBCYXJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImZpeGVkXCJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgIGVsZXZhdGlvbj17MX1cbiAgICAgICAgICAgICAgICBzeD17eyB6SW5kZXg6ICh0aGVtZSkgPT4gdGhlbWUuekluZGV4LmRyYXdlciArIDEgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VG9vbGJhcj5cbiAgICAgICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e29wZW4gPyBcIkNvbGxhcHNlIG1lbnVcIiA6IFwiRXhwYW5kIG1lbnVcIn0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvbiBjb2xvcj1cImluaGVyaXRcIiBlZGdlPVwic3RhcnRcIiBvbkNsaWNrPXsoKSA9PiBzZXRPcGVuKChvKSA9PiAhbyl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtvcGVuID8gPE1lbnVPcGVuSWNvbiAvPiA6IDxNZW51SWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgICA8Qm94IHN4PXt7IG1sOiAxLCBmb250V2VpZ2h0OiA2MDAgfX0+PC9Cb3g+XG4gICAgICAgICAgICAgICAgICAgIDxCb3ggc3g9e3sgbWw6IFwiYXV0b1wiLCBkaXNwbGF5OiBcImZsZXhcIiwgYWxpZ25JdGVtczogXCJjZW50ZXJcIiB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPVwiQWNjb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVVzZXJNZW51T3Blbn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3g9e3sgbWw6IDEgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz17dXNlck1lbnVPcGVuID8gXCJhY2NvdW50LW1lbnVcIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXt1c2VyTWVudU9wZW4gPyBcInRydWVcIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBdmF0YXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlVzZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtwcm9wcy5hdmF0YXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeD17eyB3aWR0aDogMzYsIGhlaWdodDogMzYsIGJvcmRlclJhZGl1czogXCI1MCVcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmNob3JFbD17dXNlck1lbnVFbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFjY291bnQtbWVudVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Blbj17dXNlck1lbnVPcGVufVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xvc2U9e2hhbmRsZVVzZXJNZW51Q2xvc2V9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlVXNlck1lbnVDbG9zZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW49e3sgaG9yaXpvbnRhbDogXCJyaWdodFwiLCB2ZXJ0aWNhbDogXCJ0b3BcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvck9yaWdpbj17eyBob3Jpem9udGFsOiBcInJpZ2h0XCIsIHZlcnRpY2FsOiBcImJvdHRvbVwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFwZXJQcm9wcz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGV2YXRpb246IDMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN4OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdDogMS41LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluV2lkdGg6IDIyMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBcInZpc2libGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJjpiZWZvcmVcIjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcIlwiJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBcImJsb2NrXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnY29sb3I6IFwiYmFja2dyb3VuZC5wYXBlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZylcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6SW5kZXg6IDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtIG9uQ2xpY2s9e2hhbmRsZVByb2ZpbGV9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlzdEl0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1hbmFnZUFjY291bnRzIGZvbnRTaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3RJdGVtSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+UHJvZmlsZTwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxEaXZpZGVyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtIG9uQ2xpY2s9e2hhbmRsZUxvZ291dH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0SXRlbUljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TG9nb3V0IGZvbnRTaXplPVwic21hbGxcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3RJdGVtSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFR5cG9ncmFwaHk+TG9nIG91dDwvVHlwb2dyYXBoeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9NZW51PlxuICAgICAgICAgICAgICAgICAgICA8L0JveD5cbiAgICAgICAgICAgICAgICA8L1Rvb2xiYXI+XG4gICAgICAgICAgICA8L0FwcEJhcj5cblxuICAgICAgICAgICAgPERyYXdlclN0eWxlZCB2YXJpYW50PXtpc01vYmlsZSA/IFwidGVtcG9yYXJ5XCIgOiBcInBlcm1hbmVudFwifSBvcGVuPXtvcGVufT5cbiAgICAgICAgICAgICAgICA8VG9vbGJhciAvPlxuICAgICAgICAgICAgICAgIDxGb2xkaW5nVGFiU2lkZWJhclxuICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlcz17cm91dGVzfVxuICAgICAgICAgICAgICAgICAgICBvcGVuPXtvcGVufVxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVDb2xvcj17J2FnaWxpdHknfVxuICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnlUaGVtZUNvbG9yPXtzZWNvbmRhcnlUaGVtZUNvbG9yfVxuICAgICAgICAgICAgICAgICAgICBvbk9wZW5EcmF3ZXI9eygpID0+IHNldE9wZW4odHJ1ZSl9XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZVJvdXRlTWVudT17cHJvcHMuc2hvd0Rhc2hib2FyZE1lbnUgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogJ2Rhc2hib2FyZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnRGFzaGJvYXJkJ1xuICAgICAgICAgICAgICAgICAgICB9IDogbnVsbH1cbiAgICAgICAgICAgICAgICAgICAgZGFzaGJvYXJkTGF1bmNoZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhdW5jaERhc2hib2FyZCgpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBhcHBMb2dvUGF0aD17cHJvcHMuYXBwTG9nb1BhdGggPz8gJyd9XG4gICAgICAgICAgICAgICAgICAgIGxvZ289e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG91dHRlckxpbms6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbWdTcmM6IGxvZ28sXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIGxvZ29TdHlsZT17cHJvcHMubG9nb1N0eWxlfVxuICAgICAgICAgICAgICAgICAgICBjbG9zZVNpZGViYXI9e2Nsb3NlU2lkZWJhcn1cbiAgICAgICAgICAgICAgICAgICAgaG9tZUJ1dHRvblNldHRpbmdzPXtwcm9wcy5ob21lQnV0dG9uU2V0dGluZ3N9XG4gICAgICAgICAgICAgICAgLz57JyAnfVxuICAgICAgICAgICAgPC9EcmF3ZXJTdHlsZWQ+XG4gICAgICAgICAgICA8TWFpbiBvcGVuPXtvcGVufT5cbiAgICAgICAgICAgICAgICA8VG9vbGJhciAvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGFzaGJvYXJkLW1haW4tY29udGVudFwiIHN0eWxlPXt7aGVpZ2h0OiBcImNhbGMoMTAwdmggLSA3MHB4KVwiLCBtYXhIZWlnaHQ6IFwiY2FsYygxMDB2aCAtIDcwcHgpXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50IHctMTAwIGgtMTAwIHJvdyBuby1tYXJnaW4gbm8tcGFkZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9uIG1vYmlsZSBhIHBpbm5lZCB3aW5kb3cgY29sbGFwc2VzIHRvIGEgZmxvYXRpbmcgcGlsbCwgc29cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkb24ndCByZXNlcnZlIHRoZSAzMjBweCBzdHJpcCAoaXQgd291bGQgc2hyaW5rIGNvbnRlbnQgdG8gYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNsaXZlciBhbmQgb3ZlcmZsb3cgdGhlIHZpZXdwb3J0KS4gUGlsbCBmbG9hdHMgb3ZlciBjb250ZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiB3aW5kb3dQaW5uZWQgJiYgIWlzTW9iaWxlID8gJ2NhbGMoMTAwJSAtIDMyMHB4KScgOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBteEhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdhdXRvJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXdQb3J0IHdpbmRvd1Bpbm5lZD17d2luZG93UGlubmVkfSBtZW51T2Zmc2V0PXtpc01vYmlsZSA/IDAgOiAob3BlbiA/IERSQVdFUl9XSURUSCA6IE1JTklfV0lEVEgpfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnY29sIG5vLW1hcmdpbiBuby1wYWRkaW5nJ30gc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogd2luZG93UGlubmVkICYmICFpc01vYmlsZSA/ICczMjBweCcgOiAnMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB3aW5kb3dQaW5uZWQgJiYgIWlzTW9iaWxlID8gJzhweCcgOiAnMCdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5kb3dWaWV3UG9ydCBtZW51T2Zmc2V0PXtpc01vYmlsZSA/IDAgOiAob3BlbiA/IERSQVdFUl9XSURUSCA6IE1JTklfV0lEVEgpfSBzdGF0ZUNoYW5nZUhhbmRsZXI9eyhzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRXaW5kb3dQaW5uZWQoc3RhdGUucGlubmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L01haW4+XG4gICAgICAgIDwvQm94PlxuICAgICk7XG59XG5cbkZvbGRpbmdTaWRlVGFiRGFzaGJvYXJkLnByb3BUeXBlcyA9IHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmVsZW1lbnQsXG4gICAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgc2V0dGluZ3M6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgc2hvd0Rhc2hib2FyZE1lbnU6IFByb3BUeXBlcy5ib29sLFxuICAgIGxvZ286IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbG9nb1N0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGFwcExvZ29QYXRoOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGF2YXRhcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsb2dvdXRDYWxsQmFjazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaG9tZUJ1dHRvblNldHRpbmdzOiBQcm9wVHlwZXMub2JqZWN0XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsS0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBZUEsSUFBQUUsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRCxzQkFBQSxD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