react-magma-dom 4.9.0-next.12 → 4.9.0-next.14

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.
package/dist/esm/index.js CHANGED
@@ -4746,7 +4746,7 @@ var StyledLabel = /*#__PURE__*/_styled("label", {
4746
4746
  label: "StyledLabel"
4747
4747
  })("color:", function (props) {
4748
4748
  return props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700;
4749
- }, ";display:inline-block;font-size:", function (props) {
4749
+ }, ";display:block;font-size:", function (props) {
4750
4750
  return props.size === InputSize.large ? props.theme.typeScale.size03.fontSize : props.theme.typeScale.size02.fontSize;
4751
4751
  }, ";font-family:", function (props) {
4752
4752
  return props.theme.bodyFont;
@@ -4762,7 +4762,7 @@ var StyledLabel = /*#__PURE__*/_styled("label", {
4762
4762
  return props.labelPosition === LabelPosition.left ? 'right' : 'left';
4763
4763
  }, ";white-space:", function (props) {
4764
4764
  return props.iconPosition === InputIconPosition.top || props.labelPosition === LabelPosition.left ? 'inherit' : 'normal';
4765
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVaUMiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyBJbnB1dEljb25Qb3NpdGlvbiwgSW5wdXRTaXplIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuZXhwb3J0IHZhciBMYWJlbFBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKExhYmVsUG9zaXRpb24pIHtcclxuICAgIExhYmVsUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBMYWJlbFBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxufSkoTGFiZWxQb3NpdGlvbiB8fCAoTGFiZWxQb3NpdGlvbiA9IHt9KSk7XHJcbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkLmxhYmVsIGBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemVcclxuICAgIDogcHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMi5mb250U2l6ZX07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6ICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAyLmxldHRlclNwYWNpbmd9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0XHJcbiAgICA6IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGluZUhlaWdodH07XG4gIG1hcmdpbjogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnRcclxuICAgID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9IDAgMGBcclxuICAgIDogYDAgMCAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWB9O1xuICBtYXgtd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3BcclxuICAgID8gJ2NhbGMoMTAwJSAtIDUxcHgpJ1xyXG4gICAgOiAnMTAwJSd9O1xuICB0ZXh0LWFsaWduOiAke3Byb3BzID0+IHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCA/ICdyaWdodCcgOiAnbGVmdCd9O1xuICB3aGl0ZS1zcGFjZTogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCB8fFxyXG4gICAgcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0XHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiAnbm9ybWFsJ307XG5gO1xyXG5jb25zdCBTdHlsZWRTcGFuID0gU3R5bGVkTGFiZWwud2l0aENvbXBvbmVudCgnc3BhbicpO1xyXG5leHBvcnQgY29uc3QgTGFiZWwgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGFjdGlvbmFibGUgPSB0cnVlLCBjaGlsZHJlbiwgaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uLCBzaXplLCB0ZXN0SWQsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaXNJbnZlcnNlID0gdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSk7XHJcbiAgICByZXR1cm4gYWN0aW9uYWJsZSA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZExhYmVsLCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uIHx8IExhYmVsUG9zaXRpb24udG9wLCByZWY6IHJlZiwgc2l6ZTogc2l6ZSA/IHNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUgfSksIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRTcGFuLCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uIHx8IExhYmVsUG9zaXRpb24udG9wLCByZWY6IHJlZiwgc2l6ZTogc2l6ZSA/IHNpemUgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUgfSksIGNoaWxkcmVuKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4765
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVaUMiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyBJbnB1dEljb25Qb3NpdGlvbiwgSW5wdXRTaXplIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuZXhwb3J0IHZhciBMYWJlbFBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKExhYmVsUG9zaXRpb24pIHtcclxuICAgIExhYmVsUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBMYWJlbFBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxufSkoTGFiZWxQb3NpdGlvbiB8fCAoTGFiZWxQb3NpdGlvbiA9IHt9KSk7XHJcbmNvbnN0IFN0eWxlZExhYmVsID0gc3R5bGVkLmxhYmVsIGBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZVxyXG4gICAgOiBwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAyLmZvbnRTaXplfTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDIubGV0dGVyU3BhY2luZ307XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHRcclxuICAgIDogcHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMi5saW5lSGVpZ2h0fTtcbiAgbWFyZ2luOiAke3Byb3BzID0+IHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdFxyXG4gICAgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gMCAwYFxyXG4gICAgOiBgMCAwICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YH07XG4gIG1heC13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcFxyXG4gICAgPyAnY2FsYygxMDAlIC0gNTFweCknXHJcbiAgICA6ICcxMDAlJ307XG4gIHRleHQtYWxpZ246ICR7cHJvcHMgPT4gcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0ID8gJ3JpZ2h0JyA6ICdsZWZ0J307XG4gIHdoaXRlLXNwYWNlOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wIHx8XHJcbiAgICBwcm9wcy5sYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnRcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6ICdub3JtYWwnfTtcbmA7XHJcbmNvbnN0IFN0eWxlZFNwYW4gPSBTdHlsZWRMYWJlbC53aXRoQ29tcG9uZW50KCdzcGFuJyk7XHJcbmV4cG9ydCBjb25zdCBMYWJlbCA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcclxuICAgIGNvbnN0IHsgYWN0aW9uYWJsZSA9IHRydWUsIGNoaWxkcmVuLCBpY29uUG9zaXRpb24sIGxhYmVsUG9zaXRpb24sIHNpemUsIHRlc3RJZCwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpc0ludmVyc2UgPSB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKTtcclxuICAgIHJldHVybiBhY3Rpb25hYmxlID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkTGFiZWwsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gfHwgTGFiZWxQb3NpdGlvbi50b3AsIHJlZjogcmVmLCBzaXplOiBzaXplID8gc2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSB9KSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZFNwYW4sIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gfHwgTGFiZWxQb3NpdGlvbi50b3AsIHJlZjogcmVmLCBzaXplOiBzaXplID8gc2l6ZSA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSB9KSwgY2hpbGRyZW4pKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */"));
4766
4766
  var StyledSpan$2 = /*#__PURE__*/StyledLabel.withComponent('span', {
4767
4767
  target: "egrtx8x1",
4768
4768
  label: "StyledSpan"
@@ -4822,7 +4822,7 @@ var InputIconPosition;
4822
4822
  InputIconPosition["right"] = "right";
4823
4823
  })(InputIconPosition || (InputIconPosition = {}));
4824
4824
  var inputWrapperStyles = function inputWrapperStyles(props) {
4825
- return /*#__PURE__*/css("flex:1 1 auto;align-items:center;display:flex;position:relative;width:", props.width || 'auto', ";background-color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral900) : props.theme.colors.neutral100, ";border-radius:", props.theme.borderRadius, ";border:1px solid ", props.isInverse ? curriedTransparentize(0.5, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";height:", props.theme.spaceScale.spacing09, ";&:focus-within{outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";outline-offset:-1px;}", props.hasError && /*#__PURE__*/css("border-color:", props.isInverse ? props.theme.colors.danger300 : props.theme.colors.danger, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " ", props.disabled && /*#__PURE__*/css("border-color:", props.isInverse ? curriedTransparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";background-color:", props.isInverse ? curriedTransparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " ", props.inputSize === 'large' && /*#__PURE__*/css("height:", props.theme.spaceScale.spacing11, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0RVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ2lEIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4825
+ return /*#__PURE__*/css("flex:1 1 auto;align-items:center;display:flex;position:relative;width:", props.width || 'auto', ";background-color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral900) : props.theme.colors.neutral100, ";border-radius:", props.theme.borderRadius, ";border:1px solid ", props.isInverse ? curriedTransparentize(0.5, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";height:", props.theme.spaceScale.spacing09, ";&:focus-within{outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";outline-offset:-1px;}", props.hasError && /*#__PURE__*/css("border-color:", props.isInverse ? props.theme.colors.danger300 : props.theme.colors.danger, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " ", props.disabled && /*#__PURE__*/css("border-color:", props.isInverse ? curriedTransparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";background-color:", props.isInverse ? curriedTransparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " ", props.inputSize === 'large' && /*#__PURE__*/css("height:", props.theme.spaceScale.spacing11, ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0RVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), ";;label:inputWrapperStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQ2lEIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4826
4826
  };
4827
4827
  function getInputPadding(props) {
4828
4828
  var inputSize = props.inputSize,
@@ -4874,7 +4874,7 @@ function getInputPadding(props) {
4874
4874
  return padding;
4875
4875
  }
4876
4876
  var inputBaseStyles = function inputBaseStyles(props) {
4877
- return /*#__PURE__*/css("border:0;border-radius:", props.theme.borderRadius, ";background:transparent;color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, ";display:block;font-size:", props.theme.typeScale.size03.fontSize, ";line-height:", props.theme.typeScale.size03.lineHeight, ";font-family:", props.theme.bodyFont, ";height:100%;padding:", props.theme.spaceScale.spacing03, ";-webkit-appearance:none;width:100%;", props.inputSize === 'large' && /*#__PURE__*/css("font-size:", props.theme.typeScale.size04.fontSize, ";line-height:", props.theme.typeScale.size04.lineHeight, ";padding:", props.theme.spaceScale.spacing04, ";;label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1SlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " padding-left:", getInputPadding(props).left, ";padding-right:", getInputPadding(props).right, ";&::placeholder{color:", props.isInverse ? curriedTransparentize(0.3, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";}&:focus{outline:0;}&[type='search']{&::-webkit-search-decoration,&::-webkit-search-cancel-button,&::-webkit-search-results-button,&::-webkit-search-results-decoration{display:none;}}", props.disabled && /*#__PURE__*/css("color:", props.isInverse ? curriedTransparentize(0.6, props.theme.colors.neutral100) : curriedTransparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;&::placeholder{color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";opacity:", props.isInverse ? 0.4 : 0.6, ";};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvTFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " &:-webkit-autofill,&:-webkit-autofill:focus,&:-webkit-autofill:hover,&:-webkit-autofill:active{box-shadow:none!important;-webkit-background-clip:text;-webkit-text-fill-color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, "!important;caret-color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, "!important;};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzSThDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4877
+ return /*#__PURE__*/css("border:0;border-radius:", props.theme.borderRadius, ";background:transparent;color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, ";display:block;font-size:", props.theme.typeScale.size03.fontSize, ";line-height:", props.theme.typeScale.size03.lineHeight, ";font-family:", props.theme.bodyFont, ";height:100%;padding:", props.theme.spaceScale.spacing03, ";-webkit-appearance:none;width:100%;", props.inputSize === 'large' && /*#__PURE__*/css("font-size:", props.theme.typeScale.size04.fontSize, ";line-height:", props.theme.typeScale.size04.lineHeight, ";padding:", props.theme.spaceScale.spacing04, ";;label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1SlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " padding-left:", getInputPadding(props).left, ";padding-right:", getInputPadding(props).right, ";&::placeholder{color:", props.isInverse ? curriedTransparentize(0.3, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";}&:focus{outline:0;}&[type='search']{&::-webkit-search-decoration,&::-webkit-search-cancel-button,&::-webkit-search-results-button,&::-webkit-search-results-decoration{display:none;}}", props.disabled && /*#__PURE__*/css("color:", props.isInverse ? curriedTransparentize(0.6, props.theme.colors.neutral100) : curriedTransparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;&::placeholder{color:", props.isInverse ? curriedTransparentize(0.8, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";opacity:", props.isInverse ? 0.4 : 0.6, ";};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvTFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " &:-webkit-autofill,&:-webkit-autofill:focus,&:-webkit-autofill:hover,&:-webkit-autofill:active{box-shadow:none!important;-webkit-background-clip:text;-webkit-text-fill-color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, "!important;caret-color:", props.isInverse ? props.theme.colors.neutral100 : props.theme.colors.neutral700, "!important;};label:inputBaseStyles;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzSThDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4878
4878
  };
4879
4879
  var InputContainer = /*#__PURE__*/_styled("div", {
4880
4880
  target: "e1jxjjn77",
@@ -4885,17 +4885,17 @@ var InputContainer = /*#__PURE__*/_styled("div", {
4885
4885
  } : {
4886
4886
  name: "zjik7",
4887
4887
  styles: "display:flex",
4888
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnTmtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */",
4888
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnTmtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */",
4889
4889
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$8
4890
4890
  });
4891
4891
  var InputWrapper = /*#__PURE__*/_styled("div", {
4892
4892
  target: "e1jxjjn76",
4893
4893
  label: "InputWrapper"
4894
- })(inputWrapperStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtTnVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4894
+ })(inputWrapperStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtTnVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4895
4895
  var StyledInput = /*#__PURE__*/_styled("input", {
4896
4896
  target: "e1jxjjn75",
4897
4897
  label: "StyledInput"
4898
- })(inputBaseStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzTmlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4898
+ })(inputBaseStyles, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzTmlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4899
4899
  var IconWrapper$3 = /*#__PURE__*/_styled("span", {
4900
4900
  target: "e1jxjjn74",
4901
4901
  label: "IconWrapper"
@@ -4912,8 +4912,8 @@ var IconWrapper$3 = /*#__PURE__*/_styled("span", {
4912
4912
  return props.theme.spaceScale.spacing03;
4913
4913
  };
4914
4914
  }, ";", function (props) {
4915
- return props.inputSize === 'large' && /*#__PURE__*/css("bottom:", props.iconPosition === 'top' ? '62px' : 'inherit', ";left:", props.iconPosition === 'left' ? props.theme.spaceScale.spacing04 : 'auto', ";right:", props.iconPosition === 'right' ? props.theme.spaceScale.spacing04 : props.iconPosition === 'top' ? '3px' : 'auto', ";top:", props.iconPosition === 'top' ? 'inherit' : props.theme.spaceScale.spacing04, ";;label:IconWrapper;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwT1EiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */"));
4916
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5TmdDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4915
+ return props.inputSize === 'large' && /*#__PURE__*/css("bottom:", props.iconPosition === 'top' ? '62px' : 'inherit', ";left:", props.iconPosition === 'left' ? props.theme.spaceScale.spacing04 : 'auto', ";right:", props.iconPosition === 'right' ? props.theme.spaceScale.spacing04 : props.iconPosition === 'top' ? '3px' : 'auto', ";top:", props.iconPosition === 'top' ? 'inherit' : props.theme.spaceScale.spacing04, ";;label:IconWrapper;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwT1EiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG4gICAgSW5wdXRUeXBlW1widXJsXCJdID0gXCJ1cmxcIjtcclxuICAgIElucHV0VHlwZVtcInRlbFwiXSA9IFwidGVsXCI7XHJcbn0pKElucHV0VHlwZSB8fCAoSW5wdXRUeXBlID0ge30pKTtcclxuZXhwb3J0IHZhciBJbnB1dEljb25Qb3NpdGlvbjtcclxuKGZ1bmN0aW9uIChJbnB1dEljb25Qb3NpdGlvbikge1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJ0b3BcIl0gPSBcInRvcFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJsZWZ0XCJdID0gXCJsZWZ0XCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInJpZ2h0XCJdID0gXCJyaWdodFwiO1xyXG59KShJbnB1dEljb25Qb3NpdGlvbiB8fCAoSW5wdXRJY29uUG9zaXRpb24gPSB7fSkpO1xyXG5leHBvcnQgY29uc3QgaW5wdXRXcmFwcGVyU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHtwcm9wcy53aWR0aCB8fCAnYXV0byd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICB9XG5cbiAgJHtwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyMzAwXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZGFuZ2VyfTtcbiAgYH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjksIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwyMDB9O1xuICBgfVxuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gIGB9XG5gO1xyXG5mdW5jdGlvbiBnZXRJbnB1dFBhZGRpbmcocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCBpc0NsZWFyYWJsZSwgaWNvblBvc2l0aW9uIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgJjotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfSAhaW1wb3J0YW50O1xuICAgIGNhcmV0LWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gJzcycHgnO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ3JlbGF0aXZlJyA6ICdhYnNvbHV0ZScpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6ICdhdXRvJ307XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWShcbiAgICAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKVxyXG4gICAgPyAnMCdcclxuICAgIDogYGNhbGMoLTEwMCUgLSAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSlgfVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpfTtcbiAgfVxuICBidXR0b24ge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuICBpbnNldC1pbmxpbmUtZW5kOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnMCcpfTtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */"));
4916
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5TmdDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
4917
4917
  function getIconButtonSVGSize(props) {
4918
4918
  var isClickable = props.isClickable,
4919
4919
  iconPosition = props.iconPosition,
@@ -5003,7 +5003,7 @@ var IconButtonContainer = /*#__PURE__*/_styled("span", {
5003
5003
  return getIconButtonSVGSize(props);
5004
5004
  }, ";width:", function (props) {
5005
5005
  return getIconButtonSVGSize(props);
5006
- }, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2VCtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
5006
+ }, ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2VCtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
5007
5007
  var PasswordButtonContainer = /*#__PURE__*/_styled("span", {
5008
5008
  target: "e1jxjjn72",
5009
5009
  label: "PasswordButtonContainer"
@@ -5011,13 +5011,13 @@ var PasswordButtonContainer = /*#__PURE__*/_styled("span", {
5011
5011
  return props.size === InputSize.large ? -props.buttonWidth - 8 + "px" : -props.buttonWidth - 6 + "px";
5012
5012
  }, ",\n ", function (props) {
5013
5013
  return props.size === InputSize.large ? props.theme.spaceScale.spacing03 : '6px';
5014
- }, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2VTRDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
5014
+ }, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2VTRDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
5015
5015
  function getClearablePosition(props) {
5016
5016
  if (props.iconPosition === 'right' && props.icon) {
5017
5017
  if (props.inputSize === 'large') {
5018
- return '88px';
5018
+ return props.theme.spaceScale.spacing13;
5019
5019
  }
5020
- return props.theme.spaceScale.spacing12;
5020
+ return '72px';
5021
5021
  }
5022
5022
  if (props.inputSize === 'large') {
5023
5023
  return props.theme.spaceScale.spacing10;
@@ -5030,8 +5030,8 @@ var IsClearableContainer = /*#__PURE__*/_styled("span", {
5030
5030
  })("background-color:transparent;margin:0;position:relative;height:auto;width:0;transform:translate(\n -", function (props) {
5031
5031
  return getClearablePosition(props);
5032
5032
  }, ",\n ", function (props) {
5033
- return props.inputSize === InputSize.large ? props.theme.spaceScale.spacing03 : '7px';
5034
- }, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtV3lDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
5033
+ return props.inputSize === InputSize.large ? props.theme.spaceScale.spacing03 : '6px';
5034
+ }, "\n );" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtV3lDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
5035
5035
  function getIconSize$1(size, theme, iconPosition) {
5036
5036
  switch (size) {
5037
5037
  case 'large':
@@ -5072,7 +5072,7 @@ var HelpLinkContainer = /*#__PURE__*/_styled("span", {
5072
5072
  return getHelpIconButtonSize(props);
5073
5073
  }, ";}inset-inline-end:", function (props) {
5074
5074
  return isLeftOrHidden(props) ? 'auto' : '0';
5075
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErWDZDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
5075
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErWDZDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxuICAgIElucHV0VHlwZVtcInVybFwiXSA9IFwidXJsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJ0ZWxcIl0gPSBcInRlbFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBwYWRkaW5nID0ge1xyXG4gICAgICAgIGxlZnQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgICAgIHJpZ2h0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgIH07XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnOTJweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09ICdtZWRpdW0nKSB7XHJcbiAgICAgICAgaWYgKGlzQ2xlYXJhYmxlKSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSAnNjhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gaWNvbiB0b3AsIG5vIGljb25cclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGFkZGluZztcclxufVxyXG5leHBvcnQgY29uc3QgaW5wdXRCYXNlU3R5bGVzID0gKHByb3BzKSA9PiBjc3MgYFxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5mb250U2l6ZX07XG4gIGxpbmUtaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMubGluZUhlaWdodH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgYH1cblxuICBwYWRkaW5nLWxlZnQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5sZWZ0fTtcbiAgcGFkZGluZy1yaWdodDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLnJpZ2h0fTtcblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuMywgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmW3R5cGU9J3NlYXJjaCddIHtcbiAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuNiwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiB0cmFuc3BhcmVudGl6ZSgwLjQsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwKX07XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNJbnZlcnNlID8gMC40IDogMC42fTtcbiAgICB9XG4gIGB9XG5cbiAgJjotd2Via2l0LWF1dG9maWxsLFxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG4gICY6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbiAgJjotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDcwMH0gIWltcG9ydGFudDtcbiAgICBjYXJldC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuICc3MnB4JztcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
5076
5076
  var InputBase = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
5077
5077
  var children = props.children,
5078
5078
  containerStyle = props.containerStyle,
@@ -13912,7 +13912,7 @@ var DropdownExpandableMenuPanel = /*#__PURE__*/forwardRef(function (props, ref)
13912
13912
  });
13913
13913
  DropdownExpandableMenuPanel.displayName = 'DropdownExpandableMenuPanel';
13914
13914
 
13915
- var _excluded$_ = ["children", "disabled"];
13915
+ var _excluded$_ = ["children", "disabled", "icon"];
13916
13916
  function menuItemPadding$1(props) {
13917
13917
  if (props.isExpandablePanel) {
13918
13918
  if (props.expandableMenuButtonHasIcon) {
@@ -13924,10 +13924,11 @@ function menuItemPadding$1(props) {
13924
13924
  var StyledDropdownMenuItem = /*#__PURE__*/_styled(DropdownMenuItem, {
13925
13925
  target: "e89wdun0",
13926
13926
  label: "StyledDropdownMenuItem"
13927
- })("padding:", menuItemPadding$1, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRyb3Bkb3duRXhwYW5kYWJsZU1lbnVMaXN0SXRlbS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0J3RCIsImZpbGUiOiJEcm9wZG93bkV4cGFuZGFibGVNZW51TGlzdEl0ZW0udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29udGV4dCB9IGZyb20gJy4vRHJvcGRvd24nO1xyXG5pbXBvcnQgeyBEcm9wZG93bkV4cGFuZGFibGVNZW51R3JvdXBDb250ZXh0IH0gZnJvbSAnLi9Ecm9wZG93bkV4cGFuZGFibGVNZW51R3JvdXAnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkV4cGFuZGFibGVNZW51SXRlbUNvbnRleHQgfSBmcm9tICcuL0Ryb3Bkb3duRXhwYW5kYWJsZU1lbnVJdGVtJztcclxuaW1wb3J0IHsgRHJvcGRvd25NZW51SXRlbSB9IGZyb20gJy4vRHJvcGRvd25NZW51SXRlbSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuZnVuY3Rpb24gbWVudUl0ZW1QYWRkaW5nKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaXNFeHBhbmRhYmxlUGFuZWwpIHtcclxuICAgICAgICBpZiAocHJvcHMuZXhwYW5kYWJsZU1lbnVCdXR0b25IYXNJY29uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNX0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gNzJweGA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNX0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOH1gO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IFN0eWxlZERyb3Bkb3duTWVudUl0ZW0gPSBzdHlsZWQoRHJvcGRvd25NZW51SXRlbSkgYFxuICBwYWRkaW5nOiAke21lbnVJdGVtUGFkZGluZ307XG5gO1xyXG5leHBvcnQgY29uc3QgRHJvcGRvd25FeHBhbmRhYmxlTWVudUxpc3RJdGVtID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgZGlzYWJsZWQsIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IG93blJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChEcm9wZG93bkNvbnRleHQpO1xyXG4gICAgY29uc3QgbWVudUdyb3VwQ29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRHJvcGRvd25FeHBhbmRhYmxlTWVudUdyb3VwQ29udGV4dCk7XHJcbiAgICBjb25zdCBleHBhbmRhYmxlTWVudUl0ZW1Db250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChEcm9wZG93bkV4cGFuZGFibGVNZW51SXRlbUNvbnRleHQpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgb3duUmVmKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFleHBhbmRhYmxlTWVudUl0ZW1Db250ZXh0LmRpc2FibGVkKVxyXG4gICAgICAgICAgICBjb250ZXh0LnJlZ2lzdGVyRHJvcGRvd25NZW51SXRlbShjb250ZXh0Lml0ZW1SZWZBcnJheSwgb3duUmVmKTtcclxuICAgIH0sIFtdKTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREcm9wZG93bk1lbnVJdGVtLCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGV4cGFuZGFibGVNZW51QnV0dG9uSGFzSWNvbjogbWVudUdyb3VwQ29udGV4dC5leHBhbmRhYmxlTWVudUJ1dHRvbkhhc0ljb24sIGlzRXhwYW5kYWJsZVBhbmVsOiBtZW51R3JvdXBDb250ZXh0LmlzRXhwYW5kYWJsZVBhbmVsLCByZWY6IGV4cGFuZGFibGVNZW51SXRlbUNvbnRleHQuZGlzYWJsZWQgPyBudWxsIDogcmVmLCB0aGVtZTogdGhlbWUsIHJvbGU6IFwibWVudWl0ZW1cIiB9KSwgY2hpbGRyZW4pKTtcclxufSk7XHJcbkRyb3Bkb3duRXhwYW5kYWJsZU1lbnVMaXN0SXRlbS5kaXNwbGF5TmFtZSA9ICdEcm9wZG93bkV4cGFuZGFibGVNZW51TGlzdEl0ZW0nO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ecm9wZG93bkV4cGFuZGFibGVNZW51TGlzdEl0ZW0uanMubWFwIl19 */"));
13927
+ })("padding:", menuItemPadding$1, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRyb3Bkb3duRXhwYW5kYWJsZU1lbnVMaXN0SXRlbS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0J3RCIsImZpbGUiOiJEcm9wZG93bkV4cGFuZGFibGVNZW51TGlzdEl0ZW0udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29udGV4dCB9IGZyb20gJy4vRHJvcGRvd24nO1xyXG5pbXBvcnQgeyBEcm9wZG93bkV4cGFuZGFibGVNZW51R3JvdXBDb250ZXh0IH0gZnJvbSAnLi9Ecm9wZG93bkV4cGFuZGFibGVNZW51R3JvdXAnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkV4cGFuZGFibGVNZW51SXRlbUNvbnRleHQgfSBmcm9tICcuL0Ryb3Bkb3duRXhwYW5kYWJsZU1lbnVJdGVtJztcclxuaW1wb3J0IHsgRHJvcGRvd25NZW51SXRlbSB9IGZyb20gJy4vRHJvcGRvd25NZW51SXRlbSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuZnVuY3Rpb24gbWVudUl0ZW1QYWRkaW5nKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaXNFeHBhbmRhYmxlUGFuZWwpIHtcclxuICAgICAgICBpZiAocHJvcHMuZXhwYW5kYWJsZU1lbnVCdXR0b25IYXNJY29uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNX0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gNzJweGA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNX0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOH1gO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IFN0eWxlZERyb3Bkb3duTWVudUl0ZW0gPSBzdHlsZWQoRHJvcGRvd25NZW51SXRlbSkgYFxuICBwYWRkaW5nOiAke21lbnVJdGVtUGFkZGluZ307XG5gO1xyXG5leHBvcnQgY29uc3QgRHJvcGRvd25FeHBhbmRhYmxlTWVudUxpc3RJdGVtID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgZGlzYWJsZWQsIGljb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IG93blJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBjb250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChEcm9wZG93bkNvbnRleHQpO1xyXG4gICAgY29uc3QgbWVudUdyb3VwQ29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRHJvcGRvd25FeHBhbmRhYmxlTWVudUdyb3VwQ29udGV4dCk7XHJcbiAgICBjb25zdCBleHBhbmRhYmxlTWVudUl0ZW1Db250ZXh0ID0gUmVhY3QudXNlQ29udGV4dChEcm9wZG93bkV4cGFuZGFibGVNZW51SXRlbUNvbnRleHQpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgb3duUmVmKTtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKCFleHBhbmRhYmxlTWVudUl0ZW1Db250ZXh0LmRpc2FibGVkKVxyXG4gICAgICAgICAgICBjb250ZXh0LnJlZ2lzdGVyRHJvcGRvd25NZW51SXRlbShjb250ZXh0Lml0ZW1SZWZBcnJheSwgb3duUmVmKTtcclxuICAgIH0sIFtdKTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWREcm9wZG93bk1lbnVJdGVtLCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGV4cGFuZGFibGVNZW51QnV0dG9uSGFzSWNvbjogbWVudUdyb3VwQ29udGV4dC5leHBhbmRhYmxlTWVudUJ1dHRvbkhhc0ljb24sIGljb246ICFtZW51R3JvdXBDb250ZXh0LmlzRXhwYW5kYWJsZVBhbmVsID8gaWNvbiA6IG51bGwsIGlzRXhwYW5kYWJsZVBhbmVsOiBtZW51R3JvdXBDb250ZXh0LmlzRXhwYW5kYWJsZVBhbmVsLCByZWY6IGV4cGFuZGFibGVNZW51SXRlbUNvbnRleHQuZGlzYWJsZWQgPyBudWxsIDogcmVmLCB0aGVtZTogdGhlbWUsIHJvbGU6IFwibWVudWl0ZW1cIiB9KSwgY2hpbGRyZW4pKTtcclxufSk7XHJcbkRyb3Bkb3duRXhwYW5kYWJsZU1lbnVMaXN0SXRlbS5kaXNwbGF5TmFtZSA9ICdEcm9wZG93bkV4cGFuZGFibGVNZW51TGlzdEl0ZW0nO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ecm9wZG93bkV4cGFuZGFibGVNZW51TGlzdEl0ZW0uanMubWFwIl19 */"));
13928
13928
  var DropdownExpandableMenuListItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
13929
13929
  var children = props.children,
13930
13930
  disabled = props.disabled,
13931
+ icon = props.icon,
13931
13932
  other = _objectWithoutPropertiesLoose(props, _excluded$_);
13932
13933
  var ownRef = useRef();
13933
13934
  var theme = useContext(ThemeContext);
@@ -13941,6 +13942,7 @@ var DropdownExpandableMenuListItem = /*#__PURE__*/forwardRef(function (props, fo
13941
13942
  return createElement(StyledDropdownMenuItem, Object.assign({}, other, {
13942
13943
  disabled: disabled,
13943
13944
  expandableMenuButtonHasIcon: menuGroupContext.expandableMenuButtonHasIcon,
13945
+ icon: !menuGroupContext.isExpandablePanel ? icon : null,
13944
13946
  isExpandablePanel: menuGroupContext.isExpandablePanel,
13945
13947
  ref: expandableMenuItemContext.disabled ? null : ref,
13946
13948
  theme: theme,
@@ -17274,7 +17276,7 @@ var ComboBoxContainer = /*#__PURE__*/_styled("div", {
17274
17276
  } : {
17275
17277
  name: "zjik7",
17276
17278
  styles: "display:flex",
17277
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFxQyIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3fTtcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAyfTtcbiAgd2lkdGg6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */",
17279
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFxQyIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwN307XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMn07XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDM4cHg7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */",
17278
17280
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$x
17279
17281
  });
17280
17282
  var InputContainer$1 = /*#__PURE__*/_styled("div", {
@@ -17293,22 +17295,20 @@ var InputContainer$1 = /*#__PURE__*/_styled("div", {
17293
17295
  }, ";padding:0 ", function (props) {
17294
17296
  return props.theme.spaceScale.spacing03;
17295
17297
  }, " 0 0;width:100%;", function (props) {
17296
- return props.isFocused && /*#__PURE__*/css("outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";outline-offset:-1px;;label:InputContainer;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCUSIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3fTtcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAyfTtcbiAgd2lkdGg6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */"));
17298
+ return props.isFocused && /*#__PURE__*/css("outline:2px solid ", props.isInverse ? props.theme.colors.focusInverse : props.theme.colors.focus, ";outline-offset:-1px;;label:InputContainer;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCUSIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwN307XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMn07XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDM4cHg7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */"));
17297
17299
  }, " ", function (props) {
17298
- return props.hasError && /*#__PURE__*/css("border-color:", props.isInverse ? props.theme.colors.danger200 : props.theme.colors.danger, ";;label:InputContainer;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDUSIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3fTtcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAyfTtcbiAgd2lkdGg6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */"));
17300
+ return props.hasError && /*#__PURE__*/css("border-color:", props.isInverse ? props.theme.colors.danger200 : props.theme.colors.danger, ";;label:InputContainer;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFDUSIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwN307XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMn07XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDM4cHg7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */"));
17299
17301
  }, " ", function (props) {
17300
- return props.disabled && /*#__PURE__*/css("background:", props.isInverse ? curriedTransparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";border-color:", props.isInverse ? curriedTransparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";color:", curriedTransparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;outline:0;&::placeholder{color:", curriedTransparentize(0.4, props.theme.colors.neutral500), ";};label:InputContainer;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDUSIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3fTtcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAyfTtcbiAgd2lkdGg6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */"));
17301
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdrQyIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3fTtcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAyfTtcbiAgd2lkdGg6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */"));
17302
+ return props.disabled && /*#__PURE__*/css("background:", props.isInverse ? curriedTransparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";border-color:", props.isInverse ? curriedTransparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";color:", curriedTransparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;outline:0;&::placeholder{color:", curriedTransparentize(0.4, props.theme.colors.neutral500), ";};label:InputContainer;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDUSIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwN307XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMn07XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDM4cHg7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */"));
17303
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdrQyIsImZpbGUiOiJDb21ib2JveElucHV0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgaW5wdXRCYXNlU3R5bGVzIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgZGVmYXVsdENvbXBvbmVudHMgfSBmcm9tICcuLi9TZWxlY3QvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFNlbGVjdGVkSXRlbXNXcmFwcGVyIH0gZnJvbSAnLi4vU2VsZWN0L3NoYXJlZCc7XHJcbmNvbnN0IENvbWJvQm94Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5jb25zdCBJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsOTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMH07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcbiAgbWluLXdpZHRoOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEzfTtcbiAgcGFkZGluZzogMCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfSAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMgPT4gcHJvcHMuaXNGb2N1c2VkICYmXHJcbiAgICBjc3MgYFxuICAgICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXN9O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gICAgYH1cblxuICAke3Byb3BzID0+IHByb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjIwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gICAgYH1cblxuICAgICR7cHJvcHMgPT4gcHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgICBiYWNrZ3JvdW5kOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuODUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwzMDB9O1xuICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG91dGxpbmU6IDA7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICR7dHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgICAgfVxuICAgIGB9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwN307XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMn07XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDM4cHg7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuYDtcclxuZXhwb3J0IGZ1bmN0aW9uIENvbWJvYm94SW5wdXQocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgYXJpYURlc2NyaWJlZEJ5LCBjaGlsZHJlbiwgY3VzdG9tQ29tcG9uZW50cywgZ2V0Q29tYm9ib3hQcm9wcywgZ2V0SW5wdXRQcm9wcywgZ2V0VG9nZ2xlQnV0dG9uUHJvcHMsIGhhc0Vycm9yLCBpbm5lclJlZiwgaW5wdXRTdHlsZSwgZGlzYWJsZWQsIGlzSW52ZXJzZSwgaXNMb2FkaW5nLCBpc1R5cGVhaGVhZCwgb25JbnB1dEJsdXIsIG9uSW5wdXRGb2N1cywgb25JbnB1dEtleURvd24sIG9uSW5wdXRLZXlQcmVzcywgb25JbnB1dEtleVVwLCBwbGFjZWhvbGRlciwgc2VsZWN0ZWRJdGVtcywgc2V0UmVmZXJlbmNlLCB0b2dnbGVCdXR0b25SZWYsIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgW2lzRm9jdXNlZCwgc2V0SXNGb2N1c2VkXSA9IFJlYWN0LnVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IHsgRHJvcGRvd25JbmRpY2F0b3IsIExvYWRpbmdJbmRpY2F0b3IgfSA9IGRlZmF1bHRDb21wb25lbnRzKHtcclxuICAgICAgICAuLi5jdXN0b21Db21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVCbHVyKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQoZmFsc2UpO1xyXG4gICAgICAgIG9uSW5wdXRCbHVyICYmIHR5cGVvZiBvbklucHV0Qmx1ciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbklucHV0Qmx1cihlKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKGUpIHtcclxuICAgICAgICBzZXRJc0ZvY3VzZWQodHJ1ZSk7XHJcbiAgICAgICAgb25JbnB1dEZvY3VzICYmIHR5cGVvZiBvbklucHV0Rm9jdXMgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEZvY3VzKGUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IGdldElucHV0UHJvcHMoe1xyXG4gICAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgICBvbkJsdXI6IGhhbmRsZUJsdXIsXHJcbiAgICAgICAgb25Gb2N1czogaGFuZGxlRm9jdXMsXHJcbiAgICAgICAgb25LZXlEb3duOiBvbklucHV0S2V5RG93bixcclxuICAgICAgICBvbktleVByZXNzOiBvbklucHV0S2V5UHJlc3MsXHJcbiAgICAgICAgb25LZXlVcDogb25JbnB1dEtleVVwLFxyXG4gICAgICAgIC4uLihpbm5lclJlZiAmJiB7IHJlZjogaW5uZXJSZWYgfSksXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGRyb3Bkb3duSW5kaWNhdG9yQ29sb3IgPSAoKSA9PiB7XHJcbiAgICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc3BhcmVudGl6ZSgwLjYsIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw1MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpc0ludmVyc2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhlbWUuY29sb3JzLm5ldXRyYWw7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KENvbWJvQm94Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRDb21ib2JveFByb3BzKCksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIGdldFRvZ2dsZUJ1dHRvblByb3BzKHtcclxuICAgICAgICAgICAgICAgIGRpc2FibGVkLFxyXG4gICAgICAgICAgICAgICAgLi4uKHRvZ2dsZUJ1dHRvblJlZiAmJiB7IHJlZjogdG9nZ2xlQnV0dG9uUmVmIH0pLFxyXG4gICAgICAgICAgICB9KSwgeyBoYXNFcnJvcjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNGb2N1c2VkOiBpc0ZvY3VzZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTZWxlY3RlZEl0ZW1zV3JhcHBlciwgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGFyaWFEZXNjcmliZWRCeSwgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHBsYWNlaG9sZGVyOiBwbGFjZWhvbGRlciwgdGhlbWU6IHRoZW1lIH0pKSksXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIGlzTG9hZGluZyAmJiAhaXNUeXBlYWhlYWQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTG9hZGluZ0luZGljYXRvciwgeyBzdHlsZTogeyBmbGV4U2hyaW5rOiAwLCBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDIgfSB9KSksXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KERyb3Bkb3duSW5kaWNhdG9yLCB7IFwiYXJpYS1sYWJlbFwiOiBcInRvZ2dsZSBtZW51XCIsIGNvbG9yOiBkcm9wZG93bkluZGljYXRvckNvbG9yKCkgfSkpKSkpO1xyXG59XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbWJvYm94SW5wdXQuanMubWFwIl19 */"));
17302
17304
  var StyledInput$1 = /*#__PURE__*/_styled("input", {
17303
17305
  target: "ecunvrq0",
17304
17306
  label: "StyledInput"
17305
- })(inputBaseStyles, " border:0;display:flex;flex-grow:1;height:", function (props) {
17306
- return props.theme.spaceScale.spacing09;
17307
- }, ";min-width:", function (props) {
17307
+ })(inputBaseStyles, " display:flex;flex-grow:1;min-width:", function (props) {
17308
17308
  return props.theme.spaceScale.spacing07;
17309
17309
  }, ";padding-left:", function (props) {
17310
17310
  return props.theme.spaceScale.spacing02;
17311
- }, ";width:0;&:focus{outline:0;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTREaUMiLCJmaWxlIjoiQ29tYm9ib3hJbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IGlucHV0QmFzZVN0eWxlcyB9IGZyb20gJy4uL0lucHV0QmFzZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRDb21wb25lbnRzIH0gZnJvbSAnLi4vU2VsZWN0L2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1zV3JhcHBlciB9IGZyb20gJy4uL1NlbGVjdC9zaGFyZWQnO1xyXG5jb25zdCBDb21ib0JveENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxM307XG4gIHBhZGRpbmc6IDAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gMCAwO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzID0+IHByb3BzLmlzRm9jdXNlZCAmJlxyXG4gICAgY3NzIGBcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIGB9XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICAgIGB9XG5cbiAgICAke3Byb3BzID0+IHByb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgICAgYmFja2dyb3VuZDogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gICAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICAgIGNvbG9yOiAke3RyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAke3RyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICAgIH1cbiAgICBgfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwN307XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMn07XG4gIHdpZHRoOiAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbmA7XHJcbmV4cG9ydCBmdW5jdGlvbiBDb21ib2JveElucHV0KHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGFyaWFEZXNjcmliZWRCeSwgY2hpbGRyZW4sIGN1c3RvbUNvbXBvbmVudHMsIGdldENvbWJvYm94UHJvcHMsIGdldElucHV0UHJvcHMsIGdldFRvZ2dsZUJ1dHRvblByb3BzLCBoYXNFcnJvciwgaW5uZXJSZWYsIGlucHV0U3R5bGUsIGRpc2FibGVkLCBpc0ludmVyc2UsIGlzTG9hZGluZywgaXNUeXBlYWhlYWQsIG9uSW5wdXRCbHVyLCBvbklucHV0Rm9jdXMsIG9uSW5wdXRLZXlEb3duLCBvbklucHV0S2V5UHJlc3MsIG9uSW5wdXRLZXlVcCwgcGxhY2Vob2xkZXIsIHNlbGVjdGVkSXRlbXMsIHNldFJlZmVyZW5jZSwgdG9nZ2xlQnV0dG9uUmVmLCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCB7IERyb3Bkb3duSW5kaWNhdG9yLCBMb2FkaW5nSW5kaWNhdG9yIH0gPSBkZWZhdWx0Q29tcG9uZW50cyh7XHJcbiAgICAgICAgLi4uY3VzdG9tQ29tcG9uZW50cyxcclxuICAgIH0pO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQmx1cihlKSB7XHJcbiAgICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcclxuICAgICAgICBvbklucHV0Qmx1ciAmJiB0eXBlb2Ygb25JbnB1dEJsdXIgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEJsdXIoZSk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVGb2N1cyhlKSB7XHJcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xyXG4gICAgICAgIG9uSW5wdXRGb2N1cyAmJiB0eXBlb2Ygb25JbnB1dEZvY3VzID09PSAnZnVuY3Rpb24nICYmIG9uSW5wdXRGb2N1cyhlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGlucHV0UHJvcHMgPSBnZXRJbnB1dFByb3BzKHtcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgb25CbHVyOiBoYW5kbGVCbHVyLFxyXG4gICAgICAgIG9uRm9jdXM6IGhhbmRsZUZvY3VzLFxyXG4gICAgICAgIG9uS2V5RG93bjogb25JbnB1dEtleURvd24sXHJcbiAgICAgICAgb25LZXlQcmVzczogb25JbnB1dEtleVByZXNzLFxyXG4gICAgICAgIG9uS2V5VXA6IG9uSW5wdXRLZXlVcCxcclxuICAgICAgICAuLi4oaW5uZXJSZWYgJiYgeyByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBkcm9wZG93bkluZGljYXRvckNvbG9yID0gKCkgPT4ge1xyXG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBpZiAoaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRpemUoMC42LCB0aGVtZS5jb2xvcnMubmV1dHJhbDEwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbDEwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsO1xyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChDb21ib0JveENvbnRhaW5lciwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0Q29tYm9ib3hQcm9wcygpLCB7IGhhc0Vycm9yOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgdGhlbWU6IHRoZW1lIH0pLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRUb2dnbGVCdXR0b25Qcm9wcyh7XHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgIC4uLih0b2dnbGVCdXR0b25SZWYgJiYgeyByZWY6IHRvZ2dsZUJ1dHRvblJlZiB9KSxcclxuICAgICAgICAgICAgfSksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzRm9jdXNlZDogaXNGb2N1c2VkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgcmVmOiBpbm5lclJlZiB9KSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2VsZWN0ZWRJdGVtc1dyYXBwZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcyxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBpbnB1dFByb3BzLCB7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBhcmlhRGVzY3JpYmVkQnksIFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHRoZW1lOiB0aGVtZSB9KSkpLFxyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW4sXHJcbiAgICAgICAgICAgICAgICBpc0xvYWRpbmcgJiYgIWlzVHlwZWFoZWFkICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KExvYWRpbmdJbmRpY2F0b3IsIHsgc3R5bGU6IHsgZmxleFNocmluazogMCwgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAyIH0gfSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChEcm9wZG93bkluZGljYXRvciwgeyBcImFyaWEtbGFiZWxcIjogXCJ0b2dnbGUgbWVudVwiLCBjb2xvcjogZHJvcGRvd25JbmRpY2F0b3JDb2xvcigpIH0pKSkpKTtcclxufVxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Db21ib2JveElucHV0LmpzLm1hcCJdfQ== */"));
17311
+ }, ";width:0;height:38px;&:focus{outline:0;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbWJvYm94SW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTREaUMiLCJmaWxlIjoiQ29tYm9ib3hJbnB1dC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuaW1wb3J0IHsgdHJhbnNwYXJlbnRpemUgfSBmcm9tICdwb2xpc2hlZCc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IGlucHV0QmFzZVN0eWxlcyB9IGZyb20gJy4uL0lucHV0QmFzZSc7XHJcbmltcG9ydCB7IGRlZmF1bHRDb21wb25lbnRzIH0gZnJvbSAnLi4vU2VsZWN0L2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1zV3JhcHBlciB9IGZyb20gJy4uL1NlbGVjdC9zaGFyZWQnO1xyXG5jb25zdCBDb21ib0JveENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjUsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIGJvcmRlci1yYWRpdXM6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyUmFkaXVzfTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIG1pbi13aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxM307XG4gIHBhZGRpbmc6IDAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30gMCAwO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzID0+IHByb3BzLmlzRm9jdXNlZCAmJlxyXG4gICAgY3NzIGBcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZFxuICAgICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzSW52ZXJzZVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIGB9XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5oYXNFcnJvciAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIyMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICAgIGB9XG5cbiAgICAke3Byb3BzID0+IHByb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgICAgYmFja2dyb3VuZDogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gICAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICAgIGNvbG9yOiAke3RyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAke3RyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICAgIH1cbiAgICBgfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDd9O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDJ9O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAzOHB4O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbmA7XHJcbmV4cG9ydCBmdW5jdGlvbiBDb21ib2JveElucHV0KHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGFyaWFEZXNjcmliZWRCeSwgY2hpbGRyZW4sIGN1c3RvbUNvbXBvbmVudHMsIGdldENvbWJvYm94UHJvcHMsIGdldElucHV0UHJvcHMsIGdldFRvZ2dsZUJ1dHRvblByb3BzLCBoYXNFcnJvciwgaW5uZXJSZWYsIGlucHV0U3R5bGUsIGRpc2FibGVkLCBpc0ludmVyc2UsIGlzTG9hZGluZywgaXNUeXBlYWhlYWQsIG9uSW5wdXRCbHVyLCBvbklucHV0Rm9jdXMsIG9uSW5wdXRLZXlEb3duLCBvbklucHV0S2V5UHJlc3MsIG9uSW5wdXRLZXlVcCwgcGxhY2Vob2xkZXIsIHNlbGVjdGVkSXRlbXMsIHNldFJlZmVyZW5jZSwgdG9nZ2xlQnV0dG9uUmVmLCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IFtpc0ZvY3VzZWQsIHNldElzRm9jdXNlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCB7IERyb3Bkb3duSW5kaWNhdG9yLCBMb2FkaW5nSW5kaWNhdG9yIH0gPSBkZWZhdWx0Q29tcG9uZW50cyh7XHJcbiAgICAgICAgLi4uY3VzdG9tQ29tcG9uZW50cyxcclxuICAgIH0pO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQmx1cihlKSB7XHJcbiAgICAgICAgc2V0SXNGb2N1c2VkKGZhbHNlKTtcclxuICAgICAgICBvbklucHV0Qmx1ciAmJiB0eXBlb2Ygb25JbnB1dEJsdXIgPT09ICdmdW5jdGlvbicgJiYgb25JbnB1dEJsdXIoZSk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVGb2N1cyhlKSB7XHJcbiAgICAgICAgc2V0SXNGb2N1c2VkKHRydWUpO1xyXG4gICAgICAgIG9uSW5wdXRGb2N1cyAmJiB0eXBlb2Ygb25JbnB1dEZvY3VzID09PSAnZnVuY3Rpb24nICYmIG9uSW5wdXRGb2N1cyhlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGlucHV0UHJvcHMgPSBnZXRJbnB1dFByb3BzKHtcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgICAgb25CbHVyOiBoYW5kbGVCbHVyLFxyXG4gICAgICAgIG9uRm9jdXM6IGhhbmRsZUZvY3VzLFxyXG4gICAgICAgIG9uS2V5RG93bjogb25JbnB1dEtleURvd24sXHJcbiAgICAgICAgb25LZXlQcmVzczogb25JbnB1dEtleVByZXNzLFxyXG4gICAgICAgIG9uS2V5VXA6IG9uSW5wdXRLZXlVcCxcclxuICAgICAgICAuLi4oaW5uZXJSZWYgJiYgeyByZWY6IGlubmVyUmVmIH0pLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBkcm9wZG93bkluZGljYXRvckNvbG9yID0gKCkgPT4ge1xyXG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBpZiAoaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNwYXJlbnRpemUoMC42LCB0aGVtZS5jb2xvcnMubmV1dHJhbDEwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXNJbnZlcnNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5jb2xvcnMubmV1dHJhbDEwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLmNvbG9ycy5uZXV0cmFsO1xyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChDb21ib0JveENvbnRhaW5lciwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0Q29tYm9ib3hQcm9wcygpLCB7IGhhc0Vycm9yOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgdGhlbWU6IHRoZW1lIH0pLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCBPYmplY3QuYXNzaWduKHt9LCBnZXRUb2dnbGVCdXR0b25Qcm9wcyh7XHJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcclxuICAgICAgICAgICAgICAgIC4uLih0b2dnbGVCdXR0b25SZWYgJiYgeyByZWY6IHRvZ2dsZUJ1dHRvblJlZiB9KSxcclxuICAgICAgICAgICAgfSksIHsgaGFzRXJyb3I6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzRm9jdXNlZDogaXNGb2N1c2VkLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgcmVmOiBpbm5lclJlZiB9KSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU2VsZWN0ZWRJdGVtc1dyYXBwZXIsIG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcyxcclxuICAgICAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBpbnB1dFByb3BzLCB7IFwiYXJpYS1kZXNjcmliZWRieVwiOiBhcmlhRGVzY3JpYmVkQnksIFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIHRoZW1lOiB0aGVtZSB9KSkpLFxyXG4gICAgICAgICAgICAgICAgY2hpbGRyZW4sXHJcbiAgICAgICAgICAgICAgICBpc0xvYWRpbmcgJiYgIWlzVHlwZWFoZWFkICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KExvYWRpbmdJbmRpY2F0b3IsIHsgc3R5bGU6IHsgZmxleFNocmluazogMCwgbWFyZ2luUmlnaHQ6IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAyIH0gfSkpLFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChEcm9wZG93bkluZGljYXRvciwgeyBcImFyaWEtbGFiZWxcIjogXCJ0b2dnbGUgbWVudVwiLCBjb2xvcjogZHJvcGRvd25JbmRpY2F0b3JDb2xvcigpIH0pKSkpKTtcclxufVxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Db21ib2JveElucHV0LmpzLm1hcCJdfQ== */"));
17312
17312
  function ComboboxInput(props) {
17313
17313
  var ariaDescribedBy = props.ariaDescribedBy,
17314
17314
  children = props.children,