@agilemotion/oui-react-js 2.0.12 → 2.0.13

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.
@@ -10,6 +10,7 @@ var _Observable = _interopRequireDefault(require("../../event/Observable"));
10
10
  var _Toolbar = _interopRequireDefault(require("../Toolbar"));
11
11
  var _DataGrid = require("../DataGrid");
12
12
  var _HtmlPanel = _interopRequireDefault(require("../HtmlPanel"));
13
+ var _Turnstile = _interopRequireDefault(require("../Turnstile"));
13
14
  var _SignatureTemplateDesigner = _interopRequireDefault(require("../signatures/SignatureTemplateDesigner"));
14
15
  var _TemplateDesigner = _interopRequireDefault(require("../TemplateDesigner"));
15
16
  var _AlertBar = _interopRequireDefault(require("../AlertBar"));
@@ -144,6 +145,13 @@ const Layout = props => {
144
145
  viewId: props.viewId,
145
146
  key: index
146
147
  });
148
+ case 'turnstile':
149
+ return /*#__PURE__*/_react.default.createElement(_Turnstile.default, {
150
+ config: component,
151
+ handle: createComponentHandle(component),
152
+ viewId: props.viewId,
153
+ key: index
154
+ });
147
155
  case 'portlet':
148
156
  return /*#__PURE__*/_react.default.createElement(_Portlet.default, {
149
157
  config: component,
@@ -424,10 +432,10 @@ const Layout = props => {
424
432
  }
425
433
  return /*#__PURE__*/_react.default.createElement("div", {
426
434
  id: props.config.id,
427
- style: getLayoutStyle(props.config, 'transparent'),
435
+ style: getLayoutStyle(props.config, null),
428
436
  className: "".concat(_Utils.default.getComponentAttribute(props.config, 'className', 'default-oui-layout') + (props.config.orientation === 'HORIZONTAL' ? ' row' : '')),
429
437
  key: props.config.id
430
438
  }, render(props.config));
431
439
  };
432
440
  exports.Layout = Layout;
433
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX09ic2VydmFibGUiLCJfVG9vbGJhciIsIl9EYXRhR3JpZCIsIl9IdG1sUGFuZWwiLCJfU2lnbmF0dXJlVGVtcGxhdGVEZXNpZ25lciIsIl9UZW1wbGF0ZURlc2lnbmVyIiwiX0FsZXJ0QmFyIiwiX1RpdGxlQmFyIiwiX1N0ZXBwZXJUaXRsZUJhciIsIl9UcmVlIiwiX0Zvcm0iLCJfRG9jdW1lbnRWaWV3ZXIiLCJfU2lnbmF0dXJlUGFuZWwiLCJfRGlhbG9nIiwiX0NhbGVuZGFyIiwiX1ZpZGVvIiwiX1ZDUm9vbSIsIl9WaWRlb1BsYXllciIsIl9Qb3J0bGV0IiwiX1RhYlBhbmVsIiwiX0RvY3VtZW50VGVtcGxhdGVEZXNpZ25lciIsIl9DaGF0Um9vbVdyYXBwZXIiLCJfUHJvZ3Jlc3NUcmFja2VyIiwiX0NoYXJ0IiwiX0ZhY2lhbFJlZ2lzdHJhdGlvbiIsIl9GYWNpYWxWZXJpZmljYXRpb24iLCJfU3Bpbm5lciIsIl9yZWFjdFJlc2l6YWJsZVBhbmVscyIsIl9DaGF0IiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiTGF5b3V0IiwicHJvcHMiLCJjb21wb25lbnRIYW5kbGVzIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImxvYWRlZENvbXBvbmVudHMiLCJ2aXNpYmxlIiwic2V0VmlzaWJsZSIsImtleUNvdW50ZXIiLCJ1c2VFZmZlY3QiLCJoYW5kbGUiLCJhcGkiLCJ0YWJsZVJvdyIsIl9wcm9wcyR0YWJsZVJvdyRpZCIsImNvbmZpZyIsImlkIiwicmVwbGFjZUFsbCIsInBhcnNlZENvbmZpZyIsIlV0aWxzIiwicGFyc2VDb25maWciLCJ2aWV3SWQiLCJldmVudE1hbmFnZXIiLCJhZGRTdWJzY3JpcHRpb25zIiwiZXZlbnRIYW5kbGluZ0NvbmZpZyIsImFkZFN5c3RlbVN1YnNjcmlwdGlvbnMiLCJpc051bGwiLCJldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIiwiY3JlYXRlQ29tcG9uZW50SGFuZGxlIiwiY29tcG9uZW50IiwidXNlTGF5b3V0RWZmZWN0IiwidW5pcXVlSWQiLCJwcmVmaXgiLCJfYyIsIkRhdGUiLCJub3ciLCJ0b1N0cmluZyIsIk1hdGgiLCJyYW5kb20iLCJzbGljZSIsInNldE1pc3NpbmdDb21wb25lbnRJZHMiLCJsYXlvdXQiLCJrZXkiLCJjb21wb25lbnRzIiwibGVuZ3RoIiwidHlwZSIsInJlbmRlckNvbXBvbmVudCIsImluZGV4IiwiY3JlYXRlRWxlbWVudCIsIkRhdGFHcmlkIiwiY2xhc3NOYW1lIiwiZ2V0Q29tcG9uZW50QXR0cmlidXRlIiwiVHJlZSIsImdldENoaWxkcmVuIiwiY2hpbGRyZW4iLCJwcm9wZXJ0aWVzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInByb3BlcnR5IiwiY29tcG9uZW50SGFuZGxlIiwicHVzaCIsIm1vcmVDaGlsZHJlbiIsImNoaWxkIiwidmFsIiwicmVmcmVzaCIsImdldERlZmF1bHRDb21wb25lbnRDb250YWluZXJTdHlsZSIsIm1lcmdlU3R5bGVzIiwid2lkdGgiLCJoZWlnaHQiLCJtYXJnaW4iLCJtaW5IZWlnaHQiLCJnZXRMYXlvdXRTdHlsZSIsImJhY2tncm91bmRDb2xvciIsInN0eWxlIiwib3ZlcmZsb3ciLCJib3JkZXIiLCJtaW5XaWR0aCIsInBhZGRpbmciLCJkaXNwbGF5IiwicmVuZGVyV2l0aFNwbGl0dGVycyIsImRpcmVjdGlvbiIsIm9yaWVudGF0aW9uIiwiaGFuZGxlQ2xhc3MiLCJmb3JFYWNoIiwiU2VwYXJhdG9yIiwiY29uY2F0IiwiUGFuZWwiLCJkZWZhdWx0U2l6ZSIsInNwbGl0dGVyRGVmYXVsdFNpemUiLCJtaW5TaXplIiwic3BsaXR0ZXJNaW5TaXplIiwibWF4U2l6ZSIsInNwbGl0dGVyTWF4U2l6ZSIsImNvbGxhcHNpYmxlIiwic3BsaXR0ZXJDb2xsYXBzaWJsZSIsIkdyb3VwIiwicmVuZGVyIiwic3BsaXR0ZXIiLCJGcmFnbWVudCIsIm1hcCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L0xheW91dC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsi77u/aW1wb3J0IFJlYWN0LCB7RnJhZ21lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBVdGlscyBmcm9tICcuLi8uLi9VdGlscyc7XG5pbXBvcnQgZXZlbnRNYW5hZ2VyIGZyb20gJy4uLy4uL2V2ZW50L09ic2VydmFibGUnO1xuaW1wb3J0IFRvb2xiYXIgZnJvbSAnLi4vVG9vbGJhcic7XG5pbXBvcnQge0RhdGFHcmlkfSBmcm9tICcuLi9EYXRhR3JpZCc7XG5pbXBvcnQgSHRtbFBhbmVsIGZyb20gJy4uL0h0bWxQYW5lbCc7XG5pbXBvcnQgU2lnbmF0dXJlVGVtcGxhdGVEZXNpZ25lciBmcm9tICcuLi9zaWduYXR1cmVzL1NpZ25hdHVyZVRlbXBsYXRlRGVzaWduZXInO1xuaW1wb3J0IFRlbXBsYXRlRGVzaWduZXIgZnJvbSAnLi4vVGVtcGxhdGVEZXNpZ25lcic7XG5pbXBvcnQgQWxlcnRCYXIgZnJvbSAnLi4vQWxlcnRCYXInO1xuaW1wb3J0IFRpdGxlQmFyIGZyb20gJy4uL1RpdGxlQmFyJztcbmltcG9ydCBTdGVwcGVyVGl0bGVCYXIgZnJvbSAnLi4vU3RlcHBlclRpdGxlQmFyJztcbmltcG9ydCB7VHJlZX0gZnJvbSAnLi4vVHJlZSc7XG5pbXBvcnQgRm9ybSBmcm9tICcuLi9mb3JtL0Zvcm0nO1xuaW1wb3J0IERvY3VtZW50Vmlld2VyIGZyb20gJy4uL0RvY3VtZW50Vmlld2VyJztcbmltcG9ydCBTaWduYXR1cmVQYW5lbCBmcm9tICcuLi9TaWduYXR1cmVQYW5lbCc7XG5pbXBvcnQgRGlhbG9nIGZyb20gJy4uL0RpYWxvZyc7XG5pbXBvcnQgQ2FsZW5kYXIgZnJvbSAnLi4vQ2FsZW5kYXInO1xuaW1wb3J0IFZpZGVvIGZyb20gJy4uL21lZGlhL1ZpZGVvJztcbmltcG9ydCBWQ1Jvb20gZnJvbSAnLi4vbWVkaWEvVkNSb29tJztcbmltcG9ydCBWaWRlb1BsYXllciBmcm9tICcuLi9tZWRpYS9WaWRlb1BsYXllcic7XG5pbXBvcnQgUG9ydGxldCBmcm9tICcuLi9Qb3J0bGV0JztcbmltcG9ydCBUYWJQYW5lbCBmcm9tICcuLi9UYWJQYW5lbCc7XG5pbXBvcnQgRG9jdW1lbnRUZW1wbGF0ZURlc2lnbmVyIGZyb20gXCIuLi9Eb2N1bWVudFRlbXBsYXRlRGVzaWduZXJcIjtcbmltcG9ydCBDaGF0Um9vbVdyYXBwZXIgZnJvbSBcIi4uL21lZGlhL2NoYXQvQ2hhdFJvb21XcmFwcGVyXCI7XG5pbXBvcnQgUHJvZ3Jlc3NUcmFja2VyIGZyb20gXCIuLi9Qcm9ncmVzc1RyYWNrZXJcIjtcbmltcG9ydCBDaGFydCBmcm9tIFwiLi4vQ2hhcnRcIjtcbmltcG9ydCBGYWNpYWxSZWdpc3RyYXRpb24gZnJvbSBcIi4uL2ZhY2lhbFJlY29nbml0aW9uL0ZhY2lhbFJlZ2lzdHJhdGlvblwiO1xuaW1wb3J0IEZhY2lhbFZlcmlmaWNhdGlvbiBmcm9tIFwiLi4vZmFjaWFsUmVjb2duaXRpb24vRmFjaWFsVmVyaWZpY2F0aW9uXCI7XG5pbXBvcnQgU3Bpbm5lciBmcm9tIFwiLi4vU3Bpbm5lclwiO1xuaW1wb3J0IHtHcm91cCBhcyBQYW5lbEdyb3VwLCBQYW5lbCwgU2VwYXJhdG9yIGFzIFBhbmVsUmVzaXplSGFuZGxlfSBmcm9tIFwicmVhY3QtcmVzaXphYmxlLXBhbmVsc1wiO1xuaW1wb3J0IFwiLi9MYXlvdXQuY3NzXCJcbmltcG9ydCBDaGF0IGZyb20gXCIuLi9tZWRpYS9DaGF0XCI7XG5cbmV4cG9ydCBjb25zdCBMYXlvdXQgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBbY29tcG9uZW50SGFuZGxlc10gPSBSZWFjdC51c2VTdGF0ZSh7fSk7XG4gICAgY29uc3QgW2xvYWRlZENvbXBvbmVudHNdID0gUmVhY3QudXNlU3RhdGUoW10pO1xuICAgIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9IFJlYWN0LnVzZVN0YXRlKHRydWUpO1xuICAgIGxldCBrZXlDb3VudGVyID0gMDtcblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuICAgICAgICB9KTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdChcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb3BzLnRhYmxlUm93KSB7XG4gICAgICAgICAgICAgICAgcHJvcHMuY29uZmlnLmlkID0gcHJvcHMuY29uZmlnLmlkICsgJ18nICsgcHJvcHMudGFibGVSb3cuaWQ/LnJlcGxhY2VBbGwoJy0nLCAnJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBhcGkoKTtcbiAgICAgICAgICAgIGxldCBwYXJzZWRDb25maWcgPSBVdGlscy5wYXJzZUNvbmZpZyhwcm9wcy5jb25maWcsIHByb3BzLnZpZXdJZCk7XG4gICAgICAgICAgICBldmVudE1hbmFnZXIuYWRkU3Vic2NyaXB0aW9ucyhwYXJzZWRDb25maWcuZXZlbnRIYW5kbGluZ0NvbmZpZywgcHJvcHMuaGFuZGxlLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgZXZlbnRNYW5hZ2VyLmFkZFN5c3RlbVN1YnNjcmlwdGlvbnMocHJvcHMudmlld0lkLCBwYXJzZWRDb25maWcpO1xuXG4gICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChwYXJzZWRDb25maWcudmlzaWJsZSkpIHtcbiAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKFV0aWxzLmV2YWx1YXRlQm9vbGVhbkV4cHJlc3Npb24ocGFyc2VkQ29uZmlnLnZpc2libGUsIHByb3BzLmNvbmZpZy5pZCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBbXSk7XG5cbiAgICBmdW5jdGlvbiBjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KSB7XG4gICAgICAgIGlmIChVdGlscy5pc051bGwoY29tcG9uZW50SGFuZGxlc1tjb21wb25lbnQuaWRdKSkge1xuICAgICAgICAgICAgbGV0IGhhbmRsZSA9IHt9O1xuICAgICAgICAgICAgY29tcG9uZW50SGFuZGxlc1tjb21wb25lbnQuaWRdID0gaGFuZGxlO1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRIYW5kbGVzW2NvbXBvbmVudC5pZF07XG4gICAgfVxuXG4gICAgUmVhY3QudXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuICAgIH0sIFtdKTtcblxuICAgIGZ1bmN0aW9uIHVuaXF1ZUlkKHByZWZpeCkge1xuICAgICAgICAvLyB0aW1lICsgcmFuZG9tICsgY291bnRlciwgYWxsIGJhc2UzNiAobm8gZGFzaGVzKVxuICAgICAgICB1bmlxdWVJZC5fYyA9ICh1bmlxdWVJZC5fYyB8fCAwKSArIDE7XG4gICAgICAgIHJldHVybiBwcmVmaXggKyBEYXRlLm5vdygpLnRvU3RyaW5nKDM2KVxuICAgICAgICAgICAgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKVxuICAgICAgICAgICAgKyB1bmlxdWVJZC5fYy50b1N0cmluZygzNik7XG4gICAgfVxuXG4gICAgY29uc3Qgc2V0TWlzc2luZ0NvbXBvbmVudElkcyA9ICgpID0+IHtcbiAgICAgICAgbGV0IGxheW91dCA9IHByb3BzLmNvbmZpZztcbiAgICAgICAgaWYgKCFsYXlvdXQuaWQpIHtcbiAgICAgICAgICAgIGxheW91dC5pZCA9IHVuaXF1ZUlkKCdfcGFyZW50X2xheW91dF8nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxheW91dC5rZXkgPSBrZXlDb3VudGVyKys7XG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKGxheW91dC5jb21wb25lbnRzKSkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsYXlvdXQuY29tcG9uZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGxldCBjb21wb25lbnQgPSBsYXlvdXQuY29tcG9uZW50c1tpXTtcbiAgICAgICAgICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGNvbXBvbmVudC5pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50LmlkID0gdW5pcXVlSWQobGF5b3V0LmlkICsgJ18nICsgY29tcG9uZW50LnR5cGUgKyAnXycpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbXBvbmVudC5rZXkgPSBrZXlDb3VudGVyKys7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gcmVuZGVyQ29tcG9uZW50KGNvbXBvbmVudCwgaW5kZXgpIHtcbiAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChjb21wb25lbnQuaWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN3aXRjaCAoY29tcG9uZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdsYXlvdXQnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPExheW91dCBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfSBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVSb3c9e3Byb3BzLnRhYmxlUm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICd0b29sYmFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxUb29sYmFyIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVSb3c9e3Byb3BzLnRhYmxlUm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RhYic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VGFiUGFuZWwgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibGVSb3c9e3Byb3BzLnRhYmxlUm93fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnZGF0YUdyaWQnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPERhdGFHcmlkIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnZm9ybSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8Rm9ybSBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17VXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKGNvbXBvbmVudCwgJ2NsYXNzTmFtZScsJ2RlZmF1bHRGb3JtJyl9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnaHRtbFBhbmVsJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxIdG1sUGFuZWwgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3BvcnRsZXQnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFBvcnRsZXQgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICd0cmVlJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxUcmVlIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RpdGxlQmFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxUaXRsZUJhciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnc3RlcHBlclRpdGxlQmFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxTdGVwcGVyVGl0bGVCYXIgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2FsZXJ0QmFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxBbGVydEJhciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnc2lnbmF0dXJlVGVtcGxhdGVEZXNpZ25lcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8U2lnbmF0dXJlVGVtcGxhdGVEZXNpZ25lciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RvY3VtZW50Vmlld2VyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxEb2N1bWVudFZpZXdlciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3ZjUm9vbSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VkNSb29tIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnY2hhdCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8Q2hhdCBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3VzZXJWaWRlbyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VmlkZW8gY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICd2aWRlb1BsYXllcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VmlkZW9QbGF5ZXIgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdzaWduYXR1cmVQYW5lbCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8U2lnbmF0dXJlUGFuZWwgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdkaWFsb2cnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPERpYWxvZyBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NhbGVuZGFyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxDYWxlbmRhciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RlbXBsYXRlRGVzaWduZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFRlbXBsYXRlRGVzaWduZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnZG9jdW1lbnRUZW1wbGF0ZURlc2lnbmVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxEb2N1bWVudFRlbXBsYXRlRGVzaWduZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnY2hhdFJvb20nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPENoYXRSb29tV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdwcm9ncmVzc1RyYWNrZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFByb2dyZXNzVHJhY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdmYWNpYWxSZWdpc3RyYXRpb24nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZhY2lhbFJlZ2lzdHJhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdmYWNpYWxWZXJpZmljYXRpb24nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZhY2lhbFZlcmlmaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdjaGFydCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8Q2hhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnc3Bpbm5lcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8U3Bpbm5lclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPGRpdj57J1Vuc3VwcG9ydGVkIGNvbXBvbmVudCB0eXBlICcgKyBjb21wb25lbnQudHlwZX08L2Rpdj47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRDaGlsZHJlbigpIHtcbiAgICAgICAgbGV0IGNoaWxkcmVuID0gW107XG4gICAgICAgIGxldCBwcm9wZXJ0aWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY29tcG9uZW50SGFuZGxlcyk7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICAgICAgbGV0IGNvbXBvbmVudEhhbmRsZSA9IGNvbXBvbmVudEhhbmRsZXNbcHJvcGVydHldO1xuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChjb21wb25lbnRIYW5kbGUpO1xuICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwoY29tcG9uZW50SGFuZGxlLmFwaSkgJiYgIVV0aWxzLmlzTnVsbChjb21wb25lbnRIYW5kbGUuYXBpLmdldENoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgIGxldCBtb3JlQ2hpbGRyZW4gPSBjb21wb25lbnRIYW5kbGUuYXBpLmdldENoaWxkcmVuKCk7XG4gICAgICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwobW9yZUNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG1vcmVDaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgfVxuXG4gICAgY29uc3QgYXBpID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgIC8vIExheW91dFxuICAgICAgICAgICAgICAgIHJldHVybiBwcm9wcy5jb25maWcuaWQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0IHZpc2libGUodmFsKSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaWJsZSh2YWwpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldENoaWxkcmVuOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldENoaWxkcmVuKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmcmVzaCgpIHtcbiAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChwcm9wcy5jb25maWcudmlzaWJsZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHBhcnNlZENvbmZpZyA9IFV0aWxzLnBhcnNlQ29uZmlnKHByb3BzLmNvbmZpZywgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VmlzaWJsZShVdGlscy5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uKHBhcnNlZENvbmZpZy52aXNpYmxlLCBwcm9wcy5jb25maWcuaWQpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGdldENoaWxkcmVuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYoY2hpbGQuYXBpICYmIGNoaWxkLmFwaS5yZWZyZXNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZC5hcGkucmVmcmVzaCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBnZXREZWZhdWx0Q29tcG9uZW50Q29udGFpbmVyU3R5bGUoY29tcG9uZW50KSB7XG4gICAgICAgIHJldHVybiBVdGlscy5tZXJnZVN0eWxlcyh7XG4gICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICBtaW5IZWlnaHQ6IDBcbiAgICAgICAgfSwgY29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRMYXlvdXRTdHlsZShjb21wb25lbnQsIGJhY2tncm91bmRDb2xvcikge1xuICAgICAgICBsZXQgc3R5bGUgPSBVdGlscy5tZXJnZVN0eWxlcyh7XG4gICAgICAgICAgICBvdmVyZmxvdzogJ2F1dG8nLFxuICAgICAgICAgICAgYm9yZGVyOiAnbm9uZScsXG4gICAgICAgICAgICBtaW5XaWR0aDogJzEyOHB4JyxcbiAgICAgICAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICBoZWlnaHQ6IFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShjb21wb25lbnQsICdjbGFzc05hbWUnLCAnJykgPT09ICdzY3JvbGxpbmctYm9keScgPyBudWxsIDogJzEwMCUnLFxuICAgICAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICAgICAgcGFkZGluZzogMFxuICAgICAgICB9LCBjb21wb25lbnQpO1xuXG4gICAgICAgIGlmICghdmlzaWJsZSkge1xuICAgICAgICAgICAgc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKGJhY2tncm91bmRDb2xvcikpIHtcbiAgICAgICAgICAgIHN0eWxlLmJhY2tncm91bmRDb2xvciA9IGJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW5kZXIgY2hpbGRyZW4gd3JhcHBlZCBpbiBhIDxQYW5lbEdyb3VwPiB3aXRoIDxQYW5lbFJlc2l6ZUhhbmRsZT5zXG4gICAgICogYmV0d2VlbiBjb25zZWN1dGl2ZSBjaGlsZHJlbi4gQWN0aXZhdGVkIHdoZW4gbGF5b3V0LnNwbGl0dGVyID09PSB0cnVlLlxuICAgICAqIFBlci1jb21wb25lbnQgc2l6aW5nIGZsb3dzIHRocm91Z2ggdGhlc2Ugb3B0aW9uYWwgZmllbGRzOlxuICAgICAqICAgc3BsaXR0ZXJEZWZhdWx0U2l6ZSAg4oCUIGluaXRpYWwgc2l6ZSBhcyBhIHBlcmNlbnRhZ2UgKDAtMTAwKVxuICAgICAqICAgc3BsaXR0ZXJNaW5TaXplICAgICAg4oCUIG1pbmltdW0gc2l6ZSBhcyBhIHBlcmNlbnRhZ2VcbiAgICAgKiAgIHNwbGl0dGVyTWF4U2l6ZSAgICAgIOKAlCBtYXhpbXVtIHNpemUgYXMgYSBwZXJjZW50YWdlXG4gICAgICogICBzcGxpdHRlckNvbGxhcHNpYmxlICDigJQgd2hldGhlciB0aGUgcGFuZWwgY2FuIGJlIGRyYWdnZWQgdG8gY29sbGFwc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZW5kZXJXaXRoU3BsaXR0ZXJzKGxheW91dCkge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBsYXlvdXQub3JpZW50YXRpb24gPT09ICdWRVJUSUNBTCcgPyAndmVydGljYWwnIDogJ2hvcml6b250YWwnO1xuICAgICAgICBjb25zdCBoYW5kbGVDbGFzcyA9IGRpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnXG4gICAgICAgICAgICA/ICdvdWktc3BsaXR0ZXIgb3VpLXNwbGl0dGVyLWgnXG4gICAgICAgICAgICA6ICdvdWktc3BsaXR0ZXIgb3VpLXNwbGl0dGVyLXYnO1xuXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gW107XG4gICAgICAgIGxheW91dC5jb21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKFxuICAgICAgICAgICAgICAgICAgICA8UGFuZWxSZXNpemVIYW5kbGUga2V5PXtgaGFuZGxlLSR7Y29tcG9uZW50LmlkfWB9IGNsYXNzTmFtZT17aGFuZGxlQ2xhc3N9Lz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChcbiAgICAgICAgICAgICAgICA8UGFuZWxcbiAgICAgICAgICAgICAgICAgICAga2V5PXtgcGFuZWwtJHtjb21wb25lbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFNpemU9e2NvbXBvbmVudC5zcGxpdHRlckRlZmF1bHRTaXplfVxuICAgICAgICAgICAgICAgICAgICBtaW5TaXplPXtjb21wb25lbnQuc3BsaXR0ZXJNaW5TaXplfVxuICAgICAgICAgICAgICAgICAgICBtYXhTaXplPXtjb21wb25lbnQuc3BsaXR0ZXJNYXhTaXplfVxuICAgICAgICAgICAgICAgICAgICBjb2xsYXBzaWJsZT17Y29tcG9uZW50LnNwbGl0dGVyQ29sbGFwc2libGV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7cmVuZGVyQ29tcG9uZW50KGNvbXBvbmVudCwgbnVsbCl9XG4gICAgICAgICAgICAgICAgPC9QYW5lbD5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8UGFuZWxHcm91cCBvcmllbnRhdGlvbj17ZGlyZWN0aW9ufT5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1BhbmVsR3JvdXA+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVuZGVyKGxheW91dCkge1xuICAgICAgICBzZXRNaXNzaW5nQ29tcG9uZW50SWRzKCk7XG5cbiAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChsYXlvdXQuY29tcG9uZW50cykgfHwgbGF5b3V0LmNvbXBvbmVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gPGRpdj5JIGFtIGEgZHVtIGVtcHR5IExheW91dDwvZGl2PjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsYXlvdXQuc3BsaXR0ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHJldHVybiByZW5kZXJXaXRoU3BsaXR0ZXJzKGxheW91dCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgbGF5b3V0Lm9yaWVudGF0aW9uID09PSAnVkVSVElDQUwnID9cbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJDb21wb25lbnQoY29tcG9uZW50LCBudWxsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GcmFnbWVudD47XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjbGFzc05hbWUgPSBVdGlscy5nZXRDb21wb25lbnRBdHRyaWJ1dGUoY29tcG9uZW50LCAnY2xhc3NOYW1lJywgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQudHlwZSA9PT0gJ2xheW91dCcgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckNvbXBvbmVudChjb21wb25lbnQsIGluZGV4KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RnJhZ21lbnQga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyQ29tcG9uZW50KGNvbXBvbmVudCwgbnVsbClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9GcmFnbWVudD47XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDxkaXYgaWQ9e3Byb3BzLmNvbmZpZy5pZH0gc3R5bGU9e2dldExheW91dFN0eWxlKHByb3BzLmNvbmZpZywgJ3RyYW5zcGFyZW50Jyl9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtVdGlscy5nZXRDb21wb25lbnRBdHRyaWJ1dGUocHJvcHMuY29uZmlnLCAnY2xhc3NOYW1lJywgJ2RlZmF1bHQtb3VpLWxheW91dCcpXG4gICAgICAgICAgICAgICAgKyAocHJvcHMuY29uZmlnLm9yaWVudGF0aW9uID09PSAnSE9SSVpPTlRBTCcgPyAnIHJvdycgOiAnJyl9YH0ga2V5PXtwcm9wcy5jb25maWcuaWR9PlxuICAgICAgICB7XG4gICAgICAgICAgICByZW5kZXIocHJvcHMuY29uZmlnKVxuICAgICAgICB9XG4gICAgPC9kaXY+XG59O1xuXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFDLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNELElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLDBCQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxpQkFBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMsU0FBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBUixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVcsZ0JBQUEsR0FBQVQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFZLEtBQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLEtBQUEsR0FBQVgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFjLGVBQUEsR0FBQVosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFlLGVBQUEsR0FBQWIsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFnQixPQUFBLEdBQUFkLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBaUIsU0FBQSxHQUFBZixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQWtCLE1BQUEsR0FBQWhCLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBbUIsT0FBQSxHQUFBakIsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFvQixZQUFBLEdBQUFs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
441
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX09ic2VydmFibGUiLCJfVG9vbGJhciIsIl9EYXRhR3JpZCIsIl9IdG1sUGFuZWwiLCJfVHVybnN0aWxlIiwiX1NpZ25hdHVyZVRlbXBsYXRlRGVzaWduZXIiLCJfVGVtcGxhdGVEZXNpZ25lciIsIl9BbGVydEJhciIsIl9UaXRsZUJhciIsIl9TdGVwcGVyVGl0bGVCYXIiLCJfVHJlZSIsIl9Gb3JtIiwiX0RvY3VtZW50Vmlld2VyIiwiX1NpZ25hdHVyZVBhbmVsIiwiX0RpYWxvZyIsIl9DYWxlbmRhciIsIl9WaWRlbyIsIl9WQ1Jvb20iLCJfVmlkZW9QbGF5ZXIiLCJfUG9ydGxldCIsIl9UYWJQYW5lbCIsIl9Eb2N1bWVudFRlbXBsYXRlRGVzaWduZXIiLCJfQ2hhdFJvb21XcmFwcGVyIiwiX1Byb2dyZXNzVHJhY2tlciIsIl9DaGFydCIsIl9GYWNpYWxSZWdpc3RyYXRpb24iLCJfRmFjaWFsVmVyaWZpY2F0aW9uIiwiX1NwaW5uZXIiLCJfcmVhY3RSZXNpemFibGVQYW5lbHMiLCJfQ2hhdCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkxheW91dCIsInByb3BzIiwiY29tcG9uZW50SGFuZGxlcyIsIlJlYWN0IiwidXNlU3RhdGUiLCJsb2FkZWRDb21wb25lbnRzIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJrZXlDb3VudGVyIiwidXNlRWZmZWN0IiwiaGFuZGxlIiwiYXBpIiwidGFibGVSb3ciLCJfcHJvcHMkdGFibGVSb3ckaWQiLCJjb25maWciLCJpZCIsInJlcGxhY2VBbGwiLCJwYXJzZWRDb25maWciLCJVdGlscyIsInBhcnNlQ29uZmlnIiwidmlld0lkIiwiZXZlbnRNYW5hZ2VyIiwiYWRkU3Vic2NyaXB0aW9ucyIsImV2ZW50SGFuZGxpbmdDb25maWciLCJhZGRTeXN0ZW1TdWJzY3JpcHRpb25zIiwiaXNOdWxsIiwiZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbiIsImNyZWF0ZUNvbXBvbmVudEhhbmRsZSIsImNvbXBvbmVudCIsInVzZUxheW91dEVmZmVjdCIsInVuaXF1ZUlkIiwicHJlZml4IiwiX2MiLCJEYXRlIiwibm93IiwidG9TdHJpbmciLCJNYXRoIiwicmFuZG9tIiwic2xpY2UiLCJzZXRNaXNzaW5nQ29tcG9uZW50SWRzIiwibGF5b3V0Iiwia2V5IiwiY29tcG9uZW50cyIsImxlbmd0aCIsInR5cGUiLCJyZW5kZXJDb21wb25lbnQiLCJpbmRleCIsImNyZWF0ZUVsZW1lbnQiLCJEYXRhR3JpZCIsImNsYXNzTmFtZSIsImdldENvbXBvbmVudEF0dHJpYnV0ZSIsIlRyZWUiLCJnZXRDaGlsZHJlbiIsImNoaWxkcmVuIiwicHJvcGVydGllcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wZXJ0eSIsImNvbXBvbmVudEhhbmRsZSIsInB1c2giLCJtb3JlQ2hpbGRyZW4iLCJjaGlsZCIsInZhbCIsInJlZnJlc2giLCJnZXREZWZhdWx0Q29tcG9uZW50Q29udGFpbmVyU3R5bGUiLCJtZXJnZVN0eWxlcyIsIndpZHRoIiwiaGVpZ2h0IiwibWFyZ2luIiwibWluSGVpZ2h0IiwiZ2V0TGF5b3V0U3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJzdHlsZSIsIm92ZXJmbG93IiwiYm9yZGVyIiwibWluV2lkdGgiLCJwYWRkaW5nIiwiZGlzcGxheSIsInJlbmRlcldpdGhTcGxpdHRlcnMiLCJkaXJlY3Rpb24iLCJvcmllbnRhdGlvbiIsImhhbmRsZUNsYXNzIiwiZm9yRWFjaCIsIlNlcGFyYXRvciIsImNvbmNhdCIsIlBhbmVsIiwiZGVmYXVsdFNpemUiLCJzcGxpdHRlckRlZmF1bHRTaXplIiwibWluU2l6ZSIsInNwbGl0dGVyTWluU2l6ZSIsIm1heFNpemUiLCJzcGxpdHRlck1heFNpemUiLCJjb2xsYXBzaWJsZSIsInNwbGl0dGVyQ29sbGFwc2libGUiLCJHcm91cCIsInJlbmRlciIsInNwbGl0dGVyIiwiRnJhZ21lbnQiLCJtYXAiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9MYXlvdXQuanN4Il0sInNvdXJjZXNDb250ZW50IjpbIu+7v2ltcG9ydCBSZWFjdCwge0ZyYWdtZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vLi4vVXRpbHMnO1xuaW1wb3J0IGV2ZW50TWFuYWdlciBmcm9tICcuLi8uLi9ldmVudC9PYnNlcnZhYmxlJztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4uL1Rvb2xiYXInO1xuaW1wb3J0IHtEYXRhR3JpZH0gZnJvbSAnLi4vRGF0YUdyaWQnO1xuaW1wb3J0IEh0bWxQYW5lbCBmcm9tICcuLi9IdG1sUGFuZWwnO1xuaW1wb3J0IFR1cm5zdGlsZSBmcm9tICcuLi9UdXJuc3RpbGUnO1xuaW1wb3J0IFNpZ25hdHVyZVRlbXBsYXRlRGVzaWduZXIgZnJvbSAnLi4vc2lnbmF0dXJlcy9TaWduYXR1cmVUZW1wbGF0ZURlc2lnbmVyJztcbmltcG9ydCBUZW1wbGF0ZURlc2lnbmVyIGZyb20gJy4uL1RlbXBsYXRlRGVzaWduZXInO1xuaW1wb3J0IEFsZXJ0QmFyIGZyb20gJy4uL0FsZXJ0QmFyJztcbmltcG9ydCBUaXRsZUJhciBmcm9tICcuLi9UaXRsZUJhcic7XG5pbXBvcnQgU3RlcHBlclRpdGxlQmFyIGZyb20gJy4uL1N0ZXBwZXJUaXRsZUJhcic7XG5pbXBvcnQge1RyZWV9IGZyb20gJy4uL1RyZWUnO1xuaW1wb3J0IEZvcm0gZnJvbSAnLi4vZm9ybS9Gb3JtJztcbmltcG9ydCBEb2N1bWVudFZpZXdlciBmcm9tICcuLi9Eb2N1bWVudFZpZXdlcic7XG5pbXBvcnQgU2lnbmF0dXJlUGFuZWwgZnJvbSAnLi4vU2lnbmF0dXJlUGFuZWwnO1xuaW1wb3J0IERpYWxvZyBmcm9tICcuLi9EaWFsb2cnO1xuaW1wb3J0IENhbGVuZGFyIGZyb20gJy4uL0NhbGVuZGFyJztcbmltcG9ydCBWaWRlbyBmcm9tICcuLi9tZWRpYS9WaWRlbyc7XG5pbXBvcnQgVkNSb29tIGZyb20gJy4uL21lZGlhL1ZDUm9vbSc7XG5pbXBvcnQgVmlkZW9QbGF5ZXIgZnJvbSAnLi4vbWVkaWEvVmlkZW9QbGF5ZXInO1xuaW1wb3J0IFBvcnRsZXQgZnJvbSAnLi4vUG9ydGxldCc7XG5pbXBvcnQgVGFiUGFuZWwgZnJvbSAnLi4vVGFiUGFuZWwnO1xuaW1wb3J0IERvY3VtZW50VGVtcGxhdGVEZXNpZ25lciBmcm9tIFwiLi4vRG9jdW1lbnRUZW1wbGF0ZURlc2lnbmVyXCI7XG5pbXBvcnQgQ2hhdFJvb21XcmFwcGVyIGZyb20gXCIuLi9tZWRpYS9jaGF0L0NoYXRSb29tV3JhcHBlclwiO1xuaW1wb3J0IFByb2dyZXNzVHJhY2tlciBmcm9tIFwiLi4vUHJvZ3Jlc3NUcmFja2VyXCI7XG5pbXBvcnQgQ2hhcnQgZnJvbSBcIi4uL0NoYXJ0XCI7XG5pbXBvcnQgRmFjaWFsUmVnaXN0cmF0aW9uIGZyb20gXCIuLi9mYWNpYWxSZWNvZ25pdGlvbi9GYWNpYWxSZWdpc3RyYXRpb25cIjtcbmltcG9ydCBGYWNpYWxWZXJpZmljYXRpb24gZnJvbSBcIi4uL2ZhY2lhbFJlY29nbml0aW9uL0ZhY2lhbFZlcmlmaWNhdGlvblwiO1xuaW1wb3J0IFNwaW5uZXIgZnJvbSBcIi4uL1NwaW5uZXJcIjtcbmltcG9ydCB7R3JvdXAgYXMgUGFuZWxHcm91cCwgUGFuZWwsIFNlcGFyYXRvciBhcyBQYW5lbFJlc2l6ZUhhbmRsZX0gZnJvbSBcInJlYWN0LXJlc2l6YWJsZS1wYW5lbHNcIjtcbmltcG9ydCBcIi4vTGF5b3V0LmNzc1wiXG5pbXBvcnQgQ2hhdCBmcm9tIFwiLi4vbWVkaWEvQ2hhdFwiO1xuXG5leHBvcnQgY29uc3QgTGF5b3V0ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgW2NvbXBvbmVudEhhbmRsZXNdID0gUmVhY3QudXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IFtsb2FkZWRDb21wb25lbnRzXSA9IFJlYWN0LnVzZVN0YXRlKFtdKTtcbiAgICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSBSZWFjdC51c2VTdGF0ZSh0cnVlKTtcbiAgICBsZXQga2V5Q291bnRlciA9IDA7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBhcGkoKTtcbiAgICAgICAgfSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIGlmIChwcm9wcy50YWJsZVJvdykge1xuICAgICAgICAgICAgICAgIHByb3BzLmNvbmZpZy5pZCA9IHByb3BzLmNvbmZpZy5pZCArICdfJyArIHByb3BzLnRhYmxlUm93LmlkPy5yZXBsYWNlQWxsKCctJywgJycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcm9wcy5oYW5kbGUuYXBpID0gYXBpKCk7XG4gICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcocHJvcHMuY29uZmlnLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgZXZlbnRNYW5hZ2VyLmFkZFN1YnNjcmlwdGlvbnMocGFyc2VkQ29uZmlnLmV2ZW50SGFuZGxpbmdDb25maWcsIHByb3BzLmhhbmRsZSwgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgIGV2ZW50TWFuYWdlci5hZGRTeXN0ZW1TdWJzY3JpcHRpb25zKHByb3BzLnZpZXdJZCwgcGFyc2VkQ29uZmlnKTtcblxuICAgICAgICAgICAgaWYgKCFVdGlscy5pc051bGwocGFyc2VkQ29uZmlnLnZpc2libGUpKSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaWJsZShVdGlscy5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uKHBhcnNlZENvbmZpZy52aXNpYmxlLCBwcm9wcy5jb25maWcuaWQpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaWJsZSh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgW10pO1xuXG4gICAgZnVuY3Rpb24gY3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCkge1xuICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGNvbXBvbmVudEhhbmRsZXNbY29tcG9uZW50LmlkXSkpIHtcbiAgICAgICAgICAgIGxldCBoYW5kbGUgPSB7fTtcbiAgICAgICAgICAgIGNvbXBvbmVudEhhbmRsZXNbY29tcG9uZW50LmlkXSA9IGhhbmRsZTtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50SGFuZGxlc1tjb21wb25lbnQuaWRdO1xuICAgIH1cblxuICAgIFJlYWN0LnVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBhcGkoKTtcbiAgICB9LCBbXSk7XG5cbiAgICBmdW5jdGlvbiB1bmlxdWVJZChwcmVmaXgpIHtcbiAgICAgICAgLy8gdGltZSArIHJhbmRvbSArIGNvdW50ZXIsIGFsbCBiYXNlMzYgKG5vIGRhc2hlcylcbiAgICAgICAgdW5pcXVlSWQuX2MgPSAodW5pcXVlSWQuX2MgfHwgMCkgKyAxO1xuICAgICAgICByZXR1cm4gcHJlZml4ICsgRGF0ZS5ub3coKS50b1N0cmluZygzNilcbiAgICAgICAgICAgICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMilcbiAgICAgICAgICAgICsgdW5pcXVlSWQuX2MudG9TdHJpbmcoMzYpO1xuICAgIH1cblxuICAgIGNvbnN0IHNldE1pc3NpbmdDb21wb25lbnRJZHMgPSAoKSA9PiB7XG4gICAgICAgIGxldCBsYXlvdXQgPSBwcm9wcy5jb25maWc7XG4gICAgICAgIGlmICghbGF5b3V0LmlkKSB7XG4gICAgICAgICAgICBsYXlvdXQuaWQgPSB1bmlxdWVJZCgnX3BhcmVudF9sYXlvdXRfJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsYXlvdXQua2V5ID0ga2V5Q291bnRlcisrO1xuICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChsYXlvdXQuY29tcG9uZW50cykpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGF5b3V0LmNvbXBvbmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgY29tcG9uZW50ID0gbGF5b3V0LmNvbXBvbmVudHNbaV07XG4gICAgICAgICAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChjb21wb25lbnQuaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudC5pZCA9IHVuaXF1ZUlkKGxheW91dC5pZCArICdfJyArIGNvbXBvbmVudC50eXBlICsgJ18nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb21wb25lbnQua2V5ID0ga2V5Q291bnRlcisrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIHJlbmRlckNvbXBvbmVudChjb21wb25lbnQsIGluZGV4KSB7XG4gICAgICAgIGlmIChVdGlscy5pc051bGwoY29tcG9uZW50LmlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGNvbXBvbmVudC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbGF5b3V0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxMYXlvdXQgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX0gY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlUm93PXtwcm9wcy50YWJsZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAndG9vbGJhcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VG9vbGJhciBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlUm93PXtwcm9wcy50YWJsZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICd0YWInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFRhYlBhbmVsIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlUm93PXtwcm9wcy50YWJsZVJvd31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGFHcmlkJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxEYXRhR3JpZCBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Zvcm0nOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEZvcm0gY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e1V0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShjb21wb25lbnQsICdjbGFzc05hbWUnLCdkZWZhdWx0Rm9ybScpfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2h0bWxQYW5lbCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8SHRtbFBhbmVsIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICd0dXJuc3RpbGUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFR1cm5zdGlsZSBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAncG9ydGxldCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8UG9ydGxldCBjb25maWc9e2NvbXBvbmVudH0gaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3RyZWUnOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFRyZWUgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAndGl0bGVCYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFRpdGxlQmFyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICdzdGVwcGVyVGl0bGVCYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPFN0ZXBwZXJUaXRsZUJhciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz47XG4gICAgICAgICAgICAgICAgY2FzZSAnYWxlcnRCYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPEFsZXJ0QmFyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH0vPjtcbiAgICAgICAgICAgICAgICBjYXNlICdzaWduYXR1cmVUZW1wbGF0ZURlc2lnbmVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxTaWduYXR1cmVUZW1wbGF0ZURlc2lnbmVyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnZG9jdW1lbnRWaWV3ZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPERvY3VtZW50Vmlld2VyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAndmNSb29tJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxWQ1Jvb20gY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdjaGF0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxDaGF0IGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAndXNlclZpZGVvJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxWaWRlbyBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3ZpZGVvUGxheWVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxWaWRlb1BsYXllciBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3NpZ25hdHVyZVBhbmVsJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxTaWduYXR1cmVQYW5lbCBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RpYWxvZyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8RGlhbG9nIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAnY2FsZW5kYXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPENhbGVuZGFyIGNvbmZpZz17Y29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgLz47XG4gICAgICAgICAgICAgICAgY2FzZSAndGVtcGxhdGVEZXNpZ25lcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8VGVtcGxhdGVEZXNpZ25lclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdkb2N1bWVudFRlbXBsYXRlRGVzaWduZXInOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gPERvY3VtZW50VGVtcGxhdGVEZXNpZ25lclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdjaGF0Um9vbSc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8Q2hhdFJvb21XcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ3Byb2dyZXNzVHJhY2tlcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8UHJvZ3Jlc3NUcmFja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ZhY2lhbFJlZ2lzdHJhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8RmFjaWFsUmVnaXN0cmF0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2ZhY2lhbFZlcmlmaWNhdGlvbic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8RmFjaWFsVmVyaWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NoYXJ0JzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxDaGFydFxuICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAvPjtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGlubmVyJzpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxTcGlubmVyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9XG4gICAgICAgICAgICAgICAgICAgIC8+O1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiA8ZGl2PnsnVW5zdXBwb3J0ZWQgY29tcG9uZW50IHR5cGUgJyArIGNvbXBvbmVudC50eXBlfTwvZGl2PjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldENoaWxkcmVuKCkge1xuICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgbGV0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjb21wb25lbnRIYW5kbGVzKTtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBsZXQgY29tcG9uZW50SGFuZGxlID0gY29tcG9uZW50SGFuZGxlc1twcm9wZXJ0eV07XG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNvbXBvbmVudEhhbmRsZSk7XG4gICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChjb21wb25lbnRIYW5kbGUuYXBpKSAmJiAhVXRpbHMuaXNOdWxsKGNvbXBvbmVudEhhbmRsZS5hcGkuZ2V0Q2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vcmVDaGlsZHJlbiA9IGNvbXBvbmVudEhhbmRsZS5hcGkuZ2V0Q2hpbGRyZW4oKTtcbiAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChtb3JlQ2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgbW9yZUNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICB9XG5cbiAgICBjb25zdCBhcGkgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBnZXQgaWQoKSB7XG4gICAgICAgICAgICAgICAgLy8gTGF5b3V0XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLmNvbmZpZy5pZDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQgdmlzaWJsZSh2YWwpIHtcbiAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKHZhbCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0Q2hpbGRyZW46ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0Q2hpbGRyZW4oKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWZyZXNoKCkge1xuICAgICAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZy52aXNpYmxlKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcocHJvcHMuY29uZmlnLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKFV0aWxzLmV2YWx1YXRlQm9vbGVhbkV4cHJlc3Npb24ocGFyc2VkQ29uZmlnLnZpc2libGUsIHByb3BzLmNvbmZpZy5pZCkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgZ2V0Q2hpbGRyZW4oKSkge1xuICAgICAgICAgICAgICAgICAgICBpZihjaGlsZC5hcGkgJiYgY2hpbGQuYXBpLnJlZnJlc2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLmFwaS5yZWZyZXNoKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGdldERlZmF1bHRDb21wb25lbnRDb250YWluZXJTdHlsZShjb21wb25lbnQpIHtcbiAgICAgICAgcmV0dXJuIFV0aWxzLm1lcmdlU3R5bGVzKHtcbiAgICAgICAgICAgIHdpZHRoOiAnYXV0bycsXG4gICAgICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgIG1pbkhlaWdodDogMFxuICAgICAgICB9LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldExheW91dFN0eWxlKGNvbXBvbmVudCwgYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgIGxldCBzdHlsZSA9IFV0aWxzLm1lcmdlU3R5bGVzKHtcbiAgICAgICAgICAgIG92ZXJmbG93OiAnYXV0bycsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMTI4cHgnLFxuICAgICAgICAgICAgd2lkdGg6ICdhdXRvJyxcbiAgICAgICAgICAgIGhlaWdodDogVXRpbHMuZ2V0Q29tcG9uZW50QXR0cmlidXRlKGNvbXBvbmVudCwgJ2NsYXNzTmFtZScsICcnKSA9PT0gJ3Njcm9sbGluZy1ib2R5JyA/IG51bGwgOiAnMTAwJScsXG4gICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICBwYWRkaW5nOiAwXG4gICAgICAgIH0sIGNvbXBvbmVudCk7XG5cbiAgICAgICAgaWYgKCF2aXNpYmxlKSB7XG4gICAgICAgICAgICBzdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwoYmFja2dyb3VuZENvbG9yKSkge1xuICAgICAgICAgICAgc3R5bGUuYmFja2dyb3VuZENvbG9yID0gYmFja2dyb3VuZENvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbmRlciBjaGlsZHJlbiB3cmFwcGVkIGluIGEgPFBhbmVsR3JvdXA+IHdpdGggPFBhbmVsUmVzaXplSGFuZGxlPnNcbiAgICAgKiBiZXR3ZWVuIGNvbnNlY3V0aXZlIGNoaWxkcmVuLiBBY3RpdmF0ZWQgd2hlbiBsYXlvdXQuc3BsaXR0ZXIgPT09IHRydWUuXG4gICAgICogUGVyLWNvbXBvbmVudCBzaXppbmcgZmxvd3MgdGhyb3VnaCB0aGVzZSBvcHRpb25hbCBmaWVsZHM6XG4gICAgICogICBzcGxpdHRlckRlZmF1bHRTaXplICDigJQgaW5pdGlhbCBzaXplIGFzIGEgcGVyY2VudGFnZSAoMC0xMDApXG4gICAgICogICBzcGxpdHRlck1pblNpemUgICAgICDigJQgbWluaW11bSBzaXplIGFzIGEgcGVyY2VudGFnZVxuICAgICAqICAgc3BsaXR0ZXJNYXhTaXplICAgICAg4oCUIG1heGltdW0gc2l6ZSBhcyBhIHBlcmNlbnRhZ2VcbiAgICAgKiAgIHNwbGl0dGVyQ29sbGFwc2libGUgIOKAlCB3aGV0aGVyIHRoZSBwYW5lbCBjYW4gYmUgZHJhZ2dlZCB0byBjb2xsYXBzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlbmRlcldpdGhTcGxpdHRlcnMobGF5b3V0KSB7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IGxheW91dC5vcmllbnRhdGlvbiA9PT0gJ1ZFUlRJQ0FMJyA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCc7XG4gICAgICAgIGNvbnN0IGhhbmRsZUNsYXNzID0gZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCdcbiAgICAgICAgICAgID8gJ291aS1zcGxpdHRlciBvdWktc3BsaXR0ZXItaCdcbiAgICAgICAgICAgIDogJ291aS1zcGxpdHRlciBvdWktc3BsaXR0ZXItdic7XG5cbiAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgbGF5b3V0LmNvbXBvbmVudHMuZm9yRWFjaCgoY29tcG9uZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIDxQYW5lbFJlc2l6ZUhhbmRsZSBrZXk9e2BoYW5kbGUtJHtjb21wb25lbnQuaWR9YH0gY2xhc3NOYW1lPXtoYW5kbGVDbGFzc30vPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaGlsZHJlbi5wdXNoKFxuICAgICAgICAgICAgICAgIDxQYW5lbFxuICAgICAgICAgICAgICAgICAgICBrZXk9e2BwYW5lbC0ke2NvbXBvbmVudC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0U2l6ZT17Y29tcG9uZW50LnNwbGl0dGVyRGVmYXVsdFNpemV9XG4gICAgICAgICAgICAgICAgICAgIG1pblNpemU9e2NvbXBvbmVudC5zcGxpdHRlck1pblNpemV9XG4gICAgICAgICAgICAgICAgICAgIG1heFNpemU9e2NvbXBvbmVudC5zcGxpdHRlck1heFNpemV9XG4gICAgICAgICAgICAgICAgICAgIGNvbGxhcHNpYmxlPXtjb21wb25lbnQuc3BsaXR0ZXJDb2xsYXBzaWJsZX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtyZW5kZXJDb21wb25lbnQoY29tcG9uZW50LCBudWxsKX1cbiAgICAgICAgICAgICAgICA8L1BhbmVsPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxQYW5lbEdyb3VwIG9yaWVudGF0aW9uPXtkaXJlY3Rpb259PlxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvUGFuZWxHcm91cD5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW5kZXIobGF5b3V0KSB7XG4gICAgICAgIHNldE1pc3NpbmdDb21wb25lbnRJZHMoKTtcblxuICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGxheW91dC5jb21wb25lbnRzKSB8fCBsYXlvdXQuY29tcG9uZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiA8ZGl2PkkgYW0gYSBkdW0gZW1wdHkgTGF5b3V0PC9kaXY+O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxheW91dC5zcGxpdHRlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlbmRlcldpdGhTcGxpdHRlcnMobGF5b3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBsYXlvdXQub3JpZW50YXRpb24gPT09ICdWRVJUSUNBTCcgP1xuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8RnJhZ21lbnQga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckNvbXBvbmVudChjb21wb25lbnQsIG51bGwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZyYWdtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0LmNvbXBvbmVudHMubWFwKChjb21wb25lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGNsYXNzTmFtZSA9IFV0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShjb21wb25lbnQsICdjbGFzc05hbWUnLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudC50eXBlID09PSAnbGF5b3V0JyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyQ29tcG9uZW50KGNvbXBvbmVudCwgaW5kZXgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGcmFnbWVudCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJDb21wb25lbnQoY29tcG9uZW50LCBudWxsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0ZyYWdtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gPGRpdiBpZD17cHJvcHMuY29uZmlnLmlkfSBzdHlsZT17Z2V0TGF5b3V0U3R5bGUocHJvcHMuY29uZmlnLCBudWxsKX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1V0aWxzLmdldENvbXBvbmVudEF0dHJpYnV0ZShwcm9wcy5jb25maWcsICdjbGFzc05hbWUnLCAnZGVmYXVsdC1vdWktbGF5b3V0JylcbiAgICAgICAgICAgICAgICArIChwcm9wcy5jb25maWcub3JpZW50YXRpb24gPT09ICdIT1JJWk9OVEFMJyA/ICcgcm93JyA6ICcnKX1gfSBrZXk9e3Byb3BzLmNvbmZpZy5pZH0+XG4gICAgICAgIHtcbiAgICAgICAgICAgIHJlbmRlcihwcm9wcy5jb25maWcpXG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbn07XG5cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUMsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0QsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sVUFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsMEJBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLGlCQUFBLEdBQUFQLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVSxTQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVyxTQUFBLEdBQUFULHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBWSxnQkFBQSxHQUFBVixzQkFBQSxDQUFBRixP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
@@ -12,6 +12,7 @@ var _ConfirmationDialog = require("../ConfirmationDialog");
12
12
  var _PopupView = _interopRequireDefault(require("../PopupView"));
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
14
  const ViewPort = props => {
15
+ var _props$style;
15
16
  const navigate = (0, _reactRouterDom.useNavigate)();
16
17
  const [loading, setLoading] = _react.default.useState(true);
17
18
  const [width, setWidth] = _react.default.useState('100%');
@@ -29,8 +30,10 @@ const ViewPort = props => {
29
30
  }
30
31
  });
31
32
  _react.default.useEffect(() => {
32
- if (!loading) {
33
- navigate("/view/dashboard");
33
+ var _props$landingPage;
34
+ const landingPage = (_props$landingPage = props.landingPage) !== null && _props$landingPage !== void 0 ? _props$landingPage : "/view/dashboard";
35
+ if (!loading && landingPage && landingPage !== 'NONE') {
36
+ navigate(landingPage);
34
37
  }
35
38
  }, [loading]);
36
39
  _react.default.useEffect(() => {
@@ -43,7 +46,7 @@ const ViewPort = props => {
43
46
  }, []);
44
47
  return /*#__PURE__*/_react.default.createElement("div", {
45
48
  className: "viewport",
46
- style: {
49
+ style: (_props$style = props.style) !== null && _props$style !== void 0 ? _props$style : {
47
50
  height: 'calc(100vh - 72px)',
48
51
  maxHeight: 'calc(100vh - 72px)',
49
52
  position: 'fixed',
@@ -57,4 +60,4 @@ const ViewPort = props => {
57
60
  }));
58
61
  };
59
62
  var _default = exports.default = ViewPort;
60
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9VdGlscyIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfQ29uZmlybWF0aW9uRGlhbG9nIiwiX1BvcHVwVmlldyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlZpZXdQb3J0IiwicHJvcHMiLCJuYXZpZ2F0ZSIsInVzZU5hdmlnYXRlIiwibG9hZGluZyIsInNldExvYWRpbmciLCJSZWFjdCIsInVzZVN0YXRlIiwid2lkdGgiLCJzZXRXaWR0aCIsImNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIiLCJ1c2VSZWYiLCJwb3B1cFZpZXdDb250cm9sbGVyIiwib3BlblBvcHVwVmlldyIsInZpZXciLCJjdXJyZW50Iiwib3BlbiIsImNsb3NlUG9wdXBWaWV3IiwiY2xvc2UiLCJ1c2VFZmZlY3QiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXRDb25maXJtRGlhbG9nSGFuZGxlciIsImNvbnNvbGUiLCJsb2ciLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJoZWlnaHQiLCJtYXhIZWlnaHQiLCJwb3NpdGlvbiIsIndpbmRvd1Bpbm5lZCIsImNvbmNhdCIsIm1lbnVPZmZzZXQiLCJib3JkZXJSYWRpdXMiLCJjb250cm9sbGVyIiwiT3V0bGV0IiwiQ29uZmlybWF0aW9uRGlhbG9nIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9WaWV3UG9ydC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsi77u/aW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Um91dGUsIFJvdXRlcywgdXNlTmF2aWdhdGUsIE91dGxldH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gXCIuLi8uLi9BcHBsaWNhdGlvbk1hbmFnZXJcIjtcbmltcG9ydCB7Q29uZmlybWF0aW9uRGlhbG9nfSBmcm9tIFwiLi4vQ29uZmlybWF0aW9uRGlhbG9nXCI7XG5pbXBvcnQgUG9wdXBWaWV3IGZyb20gXCIuLi9Qb3B1cFZpZXdcIjtcblxuY29uc3QgVmlld1BvcnQgPSAocHJvcHMpID0+IHtcblxuICAgIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSBSZWFjdC51c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBbd2lkdGgsIHNldFdpZHRoXSA9IFJlYWN0LnVzZVN0YXRlKCcxMDAlJyk7XG5cbiAgICBjb25zdCBjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyID0gUmVhY3QudXNlUmVmKHt9KTtcbiAgICBjb25zdCBwb3B1cFZpZXdDb250cm9sbGVyID0gUmVhY3QudXNlUmVmKHt9KTtcblxuICAgIGNvbnN0IG9wZW5Qb3B1cFZpZXcgPSAodmlldykgPT4ge1xuICAgICAgICBwb3B1cFZpZXdDb250cm9sbGVyLmN1cnJlbnQub3Blbih2aWV3KTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2xvc2VQb3B1cFZpZXcgPSAoKSA9PiB7XG4gICAgICAgIHBvcHVwVmlld0NvbnRyb2xsZXIuY3VycmVudC5jbG9zZSgpO1xuICAgIH07XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAobG9hZGluZykge1xuICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghbG9hZGluZykge1xuICAgICAgICAgICAgbmF2aWdhdGUoXCIvdmlldy9kYXNoYm9hcmRcIilcbiAgICAgICAgfVxuICAgIH0sIFtsb2FkaW5nXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyLmN1cnJlbnQub3BlblBvcHVwVmlldyA9IG9wZW5Qb3B1cFZpZXc7XG4gICAgICAgIGNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIuY3VycmVudC5jbG9zZVBvcHVwVmlldyA9IGNsb3NlUG9wdXBWaWV3O1xuXG4gICAgICAgIC8vYXBwbGljYXRpb25NYW5hZ2VyLnNldFZpZXdQb3J0SGlzdG9yeShwcm9wcy5oaXN0b3J5KTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldENvbmZpcm1EaWFsb2dIYW5kbGVyKGNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIuY3VycmVudCk7XG5cbiAgICAgICAgY29uc29sZS5sb2coXCJMT0FESU5HIFZJRVdQT1JUXCIpO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidmlld3BvcnRcIiBzdHlsZT17e1xuICAgICAgICAgICAgaGVpZ2h0OiAnY2FsYygxMDB2aCAtIDcycHgpJyxcbiAgICAgICAgICAgIG1heEhlaWdodDogJ2NhbGMoMTAwdmggLSA3MnB4KScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICAgICAgICAgIHdpZHRoOiBwcm9wcy53aW5kb3dQaW5uZWQgPyBgY2FsYygxMDAlIC0gJHtwcm9wcy5tZW51T2Zmc2V0fXB4IC0gMzI4cHggLSAxMnB4KWAgOiBgY2FsYygxMDAlIC0gJHtwcm9wcy5tZW51T2Zmc2V0fXB4IC0gMTJweClgLFxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4J1xuICAgICAgICB9fT5cbiAgICAgICAgICAgIDxQb3B1cFZpZXcgY29udHJvbGxlcj17cG9wdXBWaWV3Q29udHJvbGxlci5jdXJyZW50fS8+XG4gICAgICAgICAgICA8T3V0bGV0Lz5cbiAgICAgICAgICAgIDxDb25maXJtYXRpb25EaWFsb2cgY29udHJvbGxlcj17Y29uZmlybWF0aW9uRGlhbG9nQ29udHJvbGxlci5jdXJyZW50fS8+XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgVmlld1BvcnRcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUMsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0QsSUFBQUMsZUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsbUJBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLG1CQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFBcUMsU0FBQUQsdUJBQUFPLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFFckMsTUFBTUcsUUFBUSxHQUFJQyxLQUFLLElBQUs7RUFFeEIsTUFBTUMsUUFBUSxHQUFHLElBQUFDLDJCQUFXLEVBQUMsQ0FBQztFQUM5QixNQUFNLENBQUNDLE9BQU8sRUFBRUMsVUFBVSxDQUFDLEdBQUdDLGNBQUssQ0FBQ0MsUUFBUSxDQUFDLElBQUksQ0FBQztFQUNsRCxNQUFNLENBQUNDLEtBQUssRUFBRUMsUUFBUSxDQUFDLEdBQUdILGNBQUssQ0FBQ0MsUUFBUSxDQUFDLE1BQU0sQ0FBQztFQUVoRCxNQUFNRyw0QkFBNEIsR0FBR0osY0FBSyxDQUFDSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDckQsTUFBTUMsbUJBQW1CLEdBQUdOLGNBQUssQ0FBQ0ssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBRTVDLE1BQU1FLGFBQWEsR0FBSUMsSUFBSSxJQUFLO0lBQzVCRixtQkFBbUIsQ0FBQ0csT0FBTyxDQUFDQyxJQUFJLENBQUNGLElBQUksQ0FBQztFQUMxQyxDQUFDO0VBRUQsTUFBTUcsY0FBYyxHQUFHQSxDQUFBLEtBQU07SUFDekJMLG1CQUFtQixDQUFDRyxPQUFPLENBQUNHLEtBQUssQ0FBQyxDQUFDO0VBQ3ZDLENBQUM7RUFFRFosY0FBSyxDQUFDYSxTQUFTLENBQUMsTUFBTTtJQUNsQixJQUFJZixPQUFPLEVBQUU7TUFDVEMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUNyQjtFQUNKLENBQUMsQ0FBQztFQUVGQyxjQUFLLENBQUNhLFNBQVMsQ0FBQyxNQUFNO0lBQ2xCLElBQUksQ0FBQ2YsT0FBTyxFQUFFO01BQ1ZGLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztJQUMvQjtFQUNKLENBQUMsRUFBRSxDQUFDRSxPQUFPLENBQUMsQ0FBQztFQUViRSxjQUFLLENBQUNhLFNBQVMsQ0FBQyxNQUFNO0lBQ2xCVCw0QkFBNEIsQ0FBQ0ssT0FBTyxDQUFDRixhQUFhLEdBQUdBLGFBQWE7SUFDbEVILDRCQUE0QixDQUFDSyxPQUFPLENBQUNFLGNBQWMsR0FBR0EsY0FBYzs7SUFFcEU7SUFDQUcsMkJBQWtCLENBQUNDLHVCQUF1QixDQUFDWCw0QkFBNEIsQ0FBQ0ssT0FBTyxDQUFDO0lBRWhGTyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztFQUNuQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sb0JBQ0lsQyxNQUFBLENBQUFVLE9BQUEsQ0FBQXlCLGFBQUE7SUFBS0MsU0FBUyxFQUFDLFVBQVU7SUFBQ0MsS0FBSyxFQUFFO01BQzdCQyxNQUFNLEVBQUUsb0JBQW9CO01BQzVCQyxTQUFTLEVBQUUsb0JBQW9CO01BQy9CQyxRQUFRLEVBQUUsT0FBTztNQUNqQnJCLEtBQUssRUFBRVAsS0FBSyxDQUFDNkIsWUFBWSxrQkFBQUMsTUFBQSxDQUFrQjlCLEtBQUssQ0FBQytCLFVBQVUseUNBQUFELE1BQUEsQ0FBc0M5QixLQUFLLENBQUMrQixVQUFVLGVBQVk7TUFDN0hDLFlBQVksRUFBRTtJQUNsQjtFQUFFLGdCQUNFNUMsTUFBQSxDQUFBVSxPQUFBLENBQUF5QixhQUFBLENBQUM1QixVQUFBLENBQUFHLE9BQVM7SUFBQ21DLFVBQVUsRUFBRXRCLG1CQUFtQixDQUFDRztFQUFRLENBQUMsQ0FBQyxlQUNyRDFCLE1BQUEsQ0FBQVUsT0FBQSxDQUFBeUIsYUFBQSxDQUFDaEMsZUFBQSxDQUFBMkMsTUFBTSxNQUFDLENBQUMsZUFDVDlDLE1BQUEsQ0FBQVUsT0FBQSxDQUFBeUIsYUFBQSxDQUFDN0IsbUJBQUEsQ0FBQXlDLGtCQUFrQjtJQUFDRixVQUFVLEVBQUV4Qiw0QkFBNEIsQ0FBQ0s7RUFBUSxDQUFDLENBQ3JFLENBQUM7QUFFZCxDQUFDO0FBQUEsSUFBQXNCLFFBQUEsR0FBQUMsT0FBQSxDQUFBdkMsT0FBQSxHQUVjQyxRQUFRIiwiaWdub3JlTGlzdCI6W119
63
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9VdGlscyIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfQ29uZmlybWF0aW9uRGlhbG9nIiwiX1BvcHVwVmlldyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIlZpZXdQb3J0IiwicHJvcHMiLCJfcHJvcHMkc3R5bGUiLCJuYXZpZ2F0ZSIsInVzZU5hdmlnYXRlIiwibG9hZGluZyIsInNldExvYWRpbmciLCJSZWFjdCIsInVzZVN0YXRlIiwid2lkdGgiLCJzZXRXaWR0aCIsImNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIiLCJ1c2VSZWYiLCJwb3B1cFZpZXdDb250cm9sbGVyIiwib3BlblBvcHVwVmlldyIsInZpZXciLCJjdXJyZW50Iiwib3BlbiIsImNsb3NlUG9wdXBWaWV3IiwiY2xvc2UiLCJ1c2VFZmZlY3QiLCJfcHJvcHMkbGFuZGluZ1BhZ2UiLCJsYW5kaW5nUGFnZSIsImFwcGxpY2F0aW9uTWFuYWdlciIsInNldENvbmZpcm1EaWFsb2dIYW5kbGVyIiwiY29uc29sZSIsImxvZyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImhlaWdodCIsIm1heEhlaWdodCIsInBvc2l0aW9uIiwid2luZG93UGlubmVkIiwiY29uY2F0IiwibWVudU9mZnNldCIsImJvcmRlclJhZGl1cyIsImNvbnRyb2xsZXIiLCJPdXRsZXQiLCJDb25maXJtYXRpb25EaWFsb2ciLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyLvu79pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtSb3V0ZSwgUm91dGVzLCB1c2VOYXZpZ2F0ZSwgT3V0bGV0fSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBVdGlscyBmcm9tIFwiLi4vLi4vVXRpbHNcIjtcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IHtDb25maXJtYXRpb25EaWFsb2d9IGZyb20gXCIuLi9Db25maXJtYXRpb25EaWFsb2dcIjtcbmltcG9ydCBQb3B1cFZpZXcgZnJvbSBcIi4uL1BvcHVwVmlld1wiO1xuXG5jb25zdCBWaWV3UG9ydCA9IChwcm9wcykgPT4ge1xuXG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IFJlYWN0LnVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFt3aWR0aCwgc2V0V2lkdGhdID0gUmVhY3QudXNlU3RhdGUoJzEwMCUnKTtcblxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIgPSBSZWFjdC51c2VSZWYoe30pO1xuICAgIGNvbnN0IHBvcHVwVmlld0NvbnRyb2xsZXIgPSBSZWFjdC51c2VSZWYoe30pO1xuXG4gICAgY29uc3Qgb3BlblBvcHVwVmlldyA9ICh2aWV3KSA9PiB7XG4gICAgICAgIHBvcHVwVmlld0NvbnRyb2xsZXIuY3VycmVudC5vcGVuKHZpZXcpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbG9zZVBvcHVwVmlldyA9ICgpID0+IHtcbiAgICAgICAgcG9wdXBWaWV3Q29udHJvbGxlci5jdXJyZW50LmNsb3NlKCk7XG4gICAgfTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgbGFuZGluZ1BhZ2UgPSBwcm9wcy5sYW5kaW5nUGFnZSA/PyBcIi92aWV3L2Rhc2hib2FyZFwiO1xuICAgICAgICBpZiAoIWxvYWRpbmcgJiYgbGFuZGluZ1BhZ2UgJiYgbGFuZGluZ1BhZ2UgIT09ICdOT05FJykge1xuICAgICAgICAgICAgbmF2aWdhdGUobGFuZGluZ1BhZ2UpXG4gICAgICAgIH1cbiAgICB9LCBbbG9hZGluZ10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uZmlybWF0aW9uRGlhbG9nQ29udHJvbGxlci5jdXJyZW50Lm9wZW5Qb3B1cFZpZXcgPSBvcGVuUG9wdXBWaWV3O1xuICAgICAgICBjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyLmN1cnJlbnQuY2xvc2VQb3B1cFZpZXcgPSBjbG9zZVBvcHVwVmlldztcblxuICAgICAgICAvL2FwcGxpY2F0aW9uTWFuYWdlci5zZXRWaWV3UG9ydEhpc3RvcnkocHJvcHMuaGlzdG9yeSk7XG4gICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5zZXRDb25maXJtRGlhbG9nSGFuZGxlcihjb25maXJtYXRpb25EaWFsb2dDb250cm9sbGVyLmN1cnJlbnQpO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTE9BRElORyBWSUVXUE9SVFwiKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInZpZXdwb3J0XCIgc3R5bGU9e3Byb3BzLnN0eWxlID8/IHtcbiAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwdmggLSA3MnB4KScsXG4gICAgICAgICAgICBtYXhIZWlnaHQ6ICdjYWxjKDEwMHZoIC0gNzJweCknLFxuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICB3aWR0aDogcHJvcHMud2luZG93UGlubmVkID8gYGNhbGMoMTAwJSAtICR7cHJvcHMubWVudU9mZnNldH1weCAtIDMyOHB4IC0gMTJweClgIDogYGNhbGMoMTAwJSAtICR7cHJvcHMubWVudU9mZnNldH1weCAtIDEycHgpYCxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCdcbiAgICAgICAgfX0+XG4gICAgICAgICAgICA8UG9wdXBWaWV3IGNvbnRyb2xsZXI9e3BvcHVwVmlld0NvbnRyb2xsZXIuY3VycmVudH0vPlxuICAgICAgICAgICAgPE91dGxldC8+XG4gICAgICAgICAgICA8Q29uZmlybWF0aW9uRGlhbG9nIGNvbnRyb2xsZXI9e2NvbmZpcm1hdGlvbkRpYWxvZ0NvbnRyb2xsZXIuY3VycmVudH0vPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IFZpZXdQb3J0XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFDLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNELElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLG1CQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxtQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQXFDLFNBQUFELHVCQUFBTyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRXJDLE1BQU1HLFFBQVEsR0FBSUMsS0FBSyxJQUFLO0VBQUEsSUFBQUMsWUFBQTtFQUV4QixNQUFNQyxRQUFRLEdBQUcsSUFBQUMsMkJBQVcsRUFBQyxDQUFDO0VBQzlCLE1BQU0sQ0FBQ0MsT0FBTyxFQUFFQyxVQUFVLENBQUMsR0FBR0MsY0FBSyxDQUFDQyxRQUFRLENBQUMsSUFBSSxDQUFDO0VBQ2xELE1BQU0sQ0FBQ0MsS0FBSyxFQUFFQyxRQUFRLENBQUMsR0FBR0gsY0FBSyxDQUFDQyxRQUFRLENBQUMsTUFBTSxDQUFDO0VBRWhELE1BQU1HLDRCQUE0QixHQUFHSixjQUFLLENBQUNLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUNyRCxNQUFNQyxtQkFBbUIsR0FBR04sY0FB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