react-magma-dom 4.7.0-next.43 → 4.7.0-next.44
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/components/InputBase/index.d.ts +5 -0
- package/dist/esm/index.js +60 -24
- package/dist/esm/index.js.map +1 -1
- package/dist/properties.json +83 -83
- package/dist/react-magma-dom.cjs.development.js +58 -22
- package/dist/react-magma-dom.cjs.development.js.map +1 -1
- package/dist/react-magma-dom.cjs.production.min.js +1 -1
- package/dist/react-magma-dom.cjs.production.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -3759,7 +3759,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__$9() { return "You have tried to string
|
|
|
3759
3759
|
InputIconPosition["right"] = "right";
|
|
3760
3760
|
})(exports.InputIconPosition || (exports.InputIconPosition = {}));
|
|
3761
3761
|
var inputWrapperStyles = function inputWrapperStyles(props) {
|
|
3762
|
-
return /*#__PURE__*/react.css("flex:1 1 auto;align-items:center;display:flex;position:relative;width:", props.width || 'auto', ";background-color:", props.isInverse ? polished.transparentize(0.8, props.theme.colors.neutral900) : props.theme.colors.neutral100, ";border-radius:", props.theme.borderRadius, ";border:1px solid ", props.isInverse ? polished.transparentize(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__*/react.css("border-color:", props.isInverse ? props.theme.colors.danger300 : props.theme.colors.danger, ";;label:inputWrapperStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " ", props.disabled && /*#__PURE__*/react.css("border-color:", props.isInverse ? polished.transparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";background-color:", props.isInverse ? polished.transparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";;label:inputWrapperStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " ", props.inputSize === 'large' && /*#__PURE__*/react.css("height:", props.theme.spaceScale.spacing11, ";;label:inputWrapperStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), ";;label:inputWrapperStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQ2lEIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
3762
|
+
return /*#__PURE__*/react.css("flex:1 1 auto;align-items:center;display:flex;position:relative;width:", props.width || 'auto', ";background-color:", props.isInverse ? polished.transparentize(0.8, props.theme.colors.neutral900) : props.theme.colors.neutral100, ";border-radius:", props.theme.borderRadius, ";border:1px solid ", props.isInverse ? polished.transparentize(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__*/react.css("border-color:", props.isInverse ? props.theme.colors.danger300 : props.theme.colors.danger, ";;label:inputWrapperStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgb25JY29uQ2xpY2s6IG9uSWNvbkNsaWNrLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " ", props.disabled && /*#__PURE__*/react.css("border-color:", props.isInverse ? polished.transparentize(0.85, props.theme.colors.neutral100) : props.theme.colors.neutral300, ";background-color:", props.isInverse ? polished.transparentize(0.9, props.theme.colors.neutral900) : props.theme.colors.neutral200, ";;label:inputWrapperStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgb25JY29uQ2xpY2s6IG9uSWNvbkNsaWNrLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " ", props.inputSize === 'large' && /*#__PURE__*/react.css("height:", props.theme.spaceScale.spacing11, ";;label:inputWrapperStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwRVEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgb25JY29uQ2xpY2s6IG9uSWNvbkNsaWNrLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), ";;label:inputWrapperStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQ2lEIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3763
3763
|
};
|
|
3764
3764
|
function getInputPadding(props) {
|
|
3765
3765
|
var inputSize = props.inputSize,
|
|
@@ -3811,7 +3811,7 @@ function getInputPadding(props) {
|
|
|
3811
3811
|
return padding;
|
|
3812
3812
|
}
|
|
3813
3813
|
var inputBaseStyles = function inputBaseStyles(props) {
|
|
3814
|
-
return /*#__PURE__*/react.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:", props.theme.spaceScale.spacing09, ";padding:", props.theme.spaceScale.spacing03, ";-webkit-appearance:none;width:100%;", props.inputSize === 'large' && /*#__PURE__*/react.css("font-size:", props.theme.typeScale.size04.fontSize, ";line-height:", props.theme.typeScale.size04.lineHeight, ";height:", props.theme.spaceScale.spacing11, ";padding:", props.theme.spaceScale.spacing04, ";;label:inputBaseStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxSlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), " padding-left:", getInputPadding(props).left, ";padding-right:", getInputPadding(props).right, ";&::placeholder{color:", props.isInverse ? polished.transparentize(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__*/react.css("color:", props.isInverse ? polished.transparentize(0.6, props.theme.colors.neutral100) : polished.transparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;&::placeholder{color:", props.isInverse ? polished.transparentize(0.8, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";opacity:", props.isInverse ? 0.4 : 0.6, ";};label:inputBaseStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtTFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */")), ";;label:inputBaseStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvSThDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
3814
|
+
return /*#__PURE__*/react.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:", props.theme.spaceScale.spacing09, ";padding:", props.theme.spaceScale.spacing03, ";-webkit-appearance:none;width:100%;", props.inputSize === 'large' && /*#__PURE__*/react.css("font-size:", props.theme.typeScale.size04.fontSize, ";line-height:", props.theme.typeScale.size04.lineHeight, ";height:", props.theme.spaceScale.spacing11, ";padding:", props.theme.spaceScale.spacing04, ";;label:inputBaseStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxSlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgb25JY29uQ2xpY2s6IG9uSWNvbkNsaWNrLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), " padding-left:", getInputPadding(props).left, ";padding-right:", getInputPadding(props).right, ";&::placeholder{color:", props.isInverse ? polished.transparentize(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__*/react.css("color:", props.isInverse ? polished.transparentize(0.6, props.theme.colors.neutral100) : polished.transparentize(0.4, props.theme.colors.neutral500), ";cursor:not-allowed;&::placeholder{color:", props.isInverse ? polished.transparentize(0.8, props.theme.colors.neutral100) : props.theme.colors.neutral500, ";opacity:", props.isInverse ? 0.4 : 0.6, ";};label:inputBaseStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtTFEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgb25JY29uQ2xpY2s6IG9uSWNvbkNsaWNrLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */")), ";;label:inputBaseStyles;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvSThDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3815
3815
|
};
|
|
3816
3816
|
var InputContainer = /*#__PURE__*/_styled("div", {
|
|
3817
3817
|
target: "e1jxjjn77",
|
|
@@ -3819,17 +3819,17 @@ var InputContainer = /*#__PURE__*/_styled("div", {
|
|
|
3819
3819
|
})( {
|
|
3820
3820
|
name: "zjik7",
|
|
3821
3821
|
styles: "display:flex",
|
|
3822
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpTWtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */",
|
|
3822
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpTWtDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */",
|
|
3823
3823
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$9
|
|
3824
3824
|
});
|
|
3825
3825
|
var InputWrapper = /*#__PURE__*/_styled("div", {
|
|
3826
3826
|
target: "e1jxjjn76",
|
|
3827
3827
|
label: "InputWrapper"
|
|
3828
|
-
})(inputWrapperStyles, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvTXVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
3828
|
+
})(inputWrapperStyles, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvTXVDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3829
3829
|
var StyledInput = /*#__PURE__*/_styled("input", {
|
|
3830
3830
|
target: "e1jxjjn75",
|
|
3831
3831
|
label: "StyledInput"
|
|
3832
|
-
})(inputBaseStyles, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1TWlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
3832
|
+
})(inputBaseStyles, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1TWlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3833
3833
|
var IconWrapper$3 = /*#__PURE__*/_styled("span", {
|
|
3834
3834
|
target: "e1jxjjn74",
|
|
3835
3835
|
label: "IconWrapper"
|
|
@@ -3846,8 +3846,8 @@ var IconWrapper$3 = /*#__PURE__*/_styled("span", {
|
|
|
3846
3846
|
return props.theme.spaceScale.spacing03;
|
|
3847
3847
|
};
|
|
3848
3848
|
}, ";", function (props) {
|
|
3849
|
-
return props.inputSize === 'large' && /*#__PURE__*/react.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;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyTlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNztcclxufVxyXG5mdW5jdGlvbiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgaGFzQ2hpbGRyZW4sIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGxldCBwb3NpdGlvbiA9IHsgeDogJycsIHk6ICcnIH07XHJcbiAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzBweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTI4cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzVweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpc0NsaWNrYWJsZSkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQzcHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcxNHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTQ5cHgnO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zNXB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc2cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gYC0ke3RoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwfWA7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9IHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9ICctMjRweCc7XHJcbiAgICAgICAgcG9zaXRpb24ueSA9ICc3cHgnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBvc2l0aW9uO1xyXG59XHJcbmV4cG9ydCBjb25zdCBJY29uQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm90dG9tOiAke3Byb3BzID0+IChwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzQwcHgnIDogJ2luaGVyaXQnKX07XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnh9LFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueX1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG5gO1xyXG5jb25zdCBQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA4fXB4YFxyXG4gICAgOiBgJHstcHJvcHMuYnV0dG9uV2lkdGggLSA2fXB4YH0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2UgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyA6ICc2cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpIHtcclxuICAgIGlmIChwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgcHJvcHMuaWNvbikge1xyXG4gICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICAgICAgcmV0dXJuICc4OHB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEyO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgIH1cclxuICAgIHJldHVybiAnMzRweCc7XHJcbn1cclxuY29uc3QgSXNDbGVhcmFibGVDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgLSR7cHJvcHMgPT4gZ2V0Q2xlYXJhYmxlUG9zaXRpb24ocHJvcHMpfSxcbiAgICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6ICc3cHgnfVxuICApO1xuYDtcclxuZnVuY3Rpb24gZ2V0SWNvblNpemUoc2l6ZSwgdGhlbWUsIGljb25Qb3NpdGlvbikge1xyXG4gICAgc3dpdGNoIChzaXplKSB7XHJcbiAgICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubGFyZ2U7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLnNtYWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMubWVkaXVtO1xyXG4gICAgfVxyXG59XHJcbmNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgaGVpZ2h0OiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnYXV0bycgOiAnZml0LWNvbnRlbnQnKX07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6ICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gYCR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9YCA6IDB9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAnMCcgOiAnLTEwMCUnKX0sXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3850
|
-
}, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwTWdDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
3849
|
+
return props.inputSize === 'large' && /*#__PURE__*/react.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;" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyTlEiLCJmaWxlIjoiaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmltcG9ydCB7IHRyYW5zcGFyZW50aXplIH0gZnJvbSAncG9saXNoZWQnO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENsZWFySWNvbiB9IGZyb20gJ3JlYWN0LW1hZ21hLWljb25zJztcclxuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuLi8uLi9pMThuJztcclxuaW1wb3J0IHsgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCB7IFRoZW1lQ29udGV4dCB9IGZyb20gJy4uLy4uL3RoZW1lL1RoZW1lQ29udGV4dCc7XHJcbmltcG9ydCB7IHVzZUZvcmtlZFJlZiB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQnV0dG9uU2hhcGUsIEJ1dHRvblNpemUsIEJ1dHRvblR5cGUsIEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9CdXR0b24nO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vSWNvbkJ1dHRvbic7XHJcbmltcG9ydCB7IExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmV4cG9ydCB2YXIgSW5wdXRTaXplO1xyXG4oZnVuY3Rpb24gKElucHV0U2l6ZSkge1xyXG4gICAgSW5wdXRTaXplW1wibGFyZ2VcIl0gPSBcImxhcmdlXCI7XHJcbiAgICBJbnB1dFNpemVbXCJtZWRpdW1cIl0gPSBcIm1lZGl1bVwiO1xyXG59KShJbnB1dFNpemUgfHwgKElucHV0U2l6ZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRUeXBlO1xyXG4oZnVuY3Rpb24gKElucHV0VHlwZSkge1xyXG4gICAgSW5wdXRUeXBlW1wiZW1haWxcIl0gPSBcImVtYWlsXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJmaWxlXCJdID0gXCJmaWxlXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJudW1iZXJcIl0gPSBcIm51bWJlclwiO1xyXG4gICAgSW5wdXRUeXBlW1wicGFzc3dvcmRcIl0gPSBcInBhc3N3b3JkXCI7XHJcbiAgICBJbnB1dFR5cGVbXCJzZWFyY2hcIl0gPSBcInNlYXJjaFwiO1xyXG4gICAgSW5wdXRUeXBlW1widGV4dFwiXSA9IFwidGV4dFwiO1xyXG59KShJbnB1dFR5cGUgfHwgKElucHV0VHlwZSA9IHt9KSk7XHJcbmV4cG9ydCB2YXIgSW5wdXRJY29uUG9zaXRpb247XHJcbihmdW5jdGlvbiAoSW5wdXRJY29uUG9zaXRpb24pIHtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1widG9wXCJdID0gXCJ0b3BcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wibGVmdFwiXSA9IFwibGVmdFwiO1xyXG4gICAgSW5wdXRJY29uUG9zaXRpb25bXCJyaWdodFwiXSA9IFwicmlnaHRcIjtcclxufSkoSW5wdXRJY29uUG9zaXRpb24gfHwgKElucHV0SWNvblBvc2l0aW9uID0ge30pKTtcclxuZXhwb3J0IGNvbnN0IGlucHV0V3JhcHBlclN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR7cHJvcHMud2lkdGggfHwgJ2F1dG8nfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC44LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDB9O1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC41LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWRcbiAgICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c0ludmVyc2VcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmZvY3VzfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgfVxuXG4gICR7cHJvcHMuaGFzRXJyb3IgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcjMwMFxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLmRhbmdlcn07XG4gIGB9XG5cbiAgJHtwcm9wcy5kaXNhYmxlZCAmJlxyXG4gICAgY3NzIGBcbiAgICBib3JkZXItY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjg1LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMzAwfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC45LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDkwMClcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMjAwfTtcbiAgYH1cblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SW5wdXRQYWRkaW5nKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgaXNDbGVhcmFibGUsIGljb25Qb3NpdGlvbiB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcGFkZGluZyA9IHtcclxuICAgICAgICBsZWZ0OiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMyxcclxuICAgICAgICByaWdodDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICB9O1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzkycHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSAnbWVkaXVtJykge1xyXG4gICAgICAgIGlmIChpc0NsZWFyYWJsZSkge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gJzY4cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2UgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIGljb24gdG9wLCBubyBpY29uXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09ICdyaWdodCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcucmlnaHQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAnbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmcubGVmdCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhZGRpbmc7XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlucHV0QmFzZVN0eWxlcyA9IChwcm9wcykgPT4gY3NzIGBcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAke3Byb3BzLnRoZW1lLmJvcmRlclJhZGl1c307XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAke3Byb3BzLnRoZW1lLnR5cGVTY2FsZS5zaXplMDMuZm9udFNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmxpbmVIZWlnaHR9O1xuICBmb250LWZhbWlseTogJHtwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOX07XG4gIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICR7cHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnICYmXHJcbiAgICBjc3MgYFxuICAgIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTA0LmxpbmVIZWlnaHR9O1xuICAgIGhlaWdodDogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMX07XG4gICAgcGFkZGluZzogJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gIGB9XG5cbiAgcGFkZGluZy1sZWZ0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykubGVmdH07XG4gIHBhZGRpbmctcmlnaHQ6ICR7Z2V0SW5wdXRQYWRkaW5nKHByb3BzKS5yaWdodH07XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyB0cmFuc3BhcmVudGl6ZSgwLjMsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJlt0eXBlPSdzZWFyY2gnXSB7XG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjYsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogdHJhbnNwYXJlbnRpemUoMC40LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMCl9O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDUwMH07XG4gICAgICBvcGFjaXR5OiAke3Byb3BzLmlzSW52ZXJzZSA/IDAuNCA6IDAuNn07XG4gICAgfVxuICBgfVxuYDtcclxuY29uc3QgSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2IGBcbiAgZGlzcGxheTogZmxleDtcbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgJHtpbnB1dFdyYXBwZXJTdHlsZXN9XG5gO1xyXG5jb25zdCBTdHlsZWRJbnB1dCA9IHN0eWxlZC5pbnB1dCBgXG4gICR7aW5wdXRCYXNlU3R5bGVzfVxuYDtcclxuY29uc3QgSWNvbldyYXBwZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0NXB4JyA6ICdpbmhlcml0Jyl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw3MDB9O1xuICBsZWZ0OiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnYXV0byd9O1xuICByaWdodDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJzNweCdcclxuICAgICAgICA6ICdhdXRvJ307XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgID8gJ2luaGVyaXQnXHJcbiAgICA6IHByb3BzID0+IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcblxuICAke3Byb3BzID0+IHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICAgIGJvdHRvbTogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnID8gJzYycHgnIDogJ2luaGVyaXQnfTtcbiAgICAgIGxlZnQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAnbGVmdCdcclxuICAgICAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0XHJcbiAgICAgICAgOiAnYXV0byd9O1xuICAgICAgcmlnaHQ6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHRvcDogJHtwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICAgICAgPyAnaW5oZXJpdCdcclxuICAgICAgICA6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA0fTtcbiAgICBgfVxuYDtcclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaXNDbGlja2FibGUgJiYgaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubGFyZ2V9cHhgO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5tZWRpdW19cHhgO1xyXG59XHJcbmZ1bmN0aW9uIGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIHRoZW1lIH0gPSBwcm9wcztcclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMuc21hbGx9cHhgO1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgY29uc3QgaXNMZWZ0T3JIaWRkZW4gPSAoeyBsYWJlbFBvc2l0aW9uLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIH0pID0+IGxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCB8fCBpc0xhYmVsVmlzdWFsbHlIaWRkZW47XHJcbmV4cG9ydCBjb25zdCBIZWxwTGlua0NvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgcG9zaXRpb246ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAnYXV0byd9O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoXG4gICAgJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgID8gJzAnXHJcbiAgICA6IGBjYWxjKC0xMDAlIC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYH1cbiAgKTtcbiAgc3ZnIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscExpbmtTVkdTaXplKHByb3BzKX07XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbiAgaW5zZXQtaW5saW5lLWVuZDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJzAnKX07XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRCYXNlID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIGZvcndhcmRlZFJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGRlZmF1bHRWYWx1ZSwgZGlzYWJsZWQsIGhhc0NoYXJhY3RlckNvdW50ZXIsIGhhc0Vycm9yLCBpY29uLCBpY29uQXJpYUxhYmVsLCBpY29uUmVmLCBpc0NsZWFyYWJsZSwgaXNQYXNzd29yZElucHV0LCBpc1ByZWRpY3RpdmUsIG1heENvdW50LCBtYXhMZW5ndGgsIG9uQ2xlYXIsIG9uSWNvbkNsaWNrLCBvbkljb25LZXlEb3duLCBvbkRhdGVDaGFuZ2UsIGlucHV0TGVuZ3RoLCBpbnB1dFNpemUsIGlucHV0U3R5bGUsIGlucHV0V3JhcHBlclN0eWxlLCB0ZXN0SWQsIHR5cGUsIHNldFJlZmVyZW5jZSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpMThuID0gUmVhY3QudXNlQ29udGV4dChJMThuQ29udGV4dCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IGljb24gJiYgb25JY29uQ2xpY2tcclxuICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLnJpZ2h0XHJcbiAgICAgICAgOiBpY29uICYmICFwcm9wcy5pY29uUG9zaXRpb25cclxuICAgICAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5sZWZ0XHJcbiAgICAgICAgICAgIDogcHJvcHMuaWNvblBvc2l0aW9uO1xyXG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZShwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgICA/IHByb3BzLmRlZmF1bHRWYWx1ZVxyXG4gICAgICAgIDogcHJvcHMudmFsdWUgfHwgJycpO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy52YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgICBzZXRWYWx1ZShwcm9wcy52YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfSwgW3Byb3BzLnZhbHVlXSk7XHJcbiAgICBjb25zdCBpbnB1dFJlZiA9IFJlYWN0LnVzZVJlZigpO1xyXG4gICAgY29uc3QgcmVmID0gdXNlRm9ya2VkUmVmKGZvcndhcmRlZFJlZiwgaW5wdXRSZWYpO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2xlYXJJbnB1dCgpIHtcclxuICAgICAgICBvbkNsZWFyICYmIHR5cGVvZiBvbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIG9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRWYWx1ZSgnJyk7XHJcbiAgICAgICAgb25EYXRlQ2hhbmdlICYmIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicgJiYgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgICAgIGlucHV0UmVmLmN1cnJlbnQuZm9jdXMoKTtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNoYW5nZShldmVudCkge1xyXG4gICAgICAgIHByb3BzLm9uQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBwcm9wcy5vbkNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJlxyXG4gICAgICAgICAgICBwcm9wcy5vbkNoYW5nZShldmVudCk7XHJcbiAgICAgICAgc2V0VmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldC52YWx1ZSAmJlxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlKG51bGwpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFzc3dvcmRCdG5XaWR0aCA9ICgpID0+IHtcclxuICAgICAgICBjb25zdCBidG5XaWR0aCA9IGNoaWxkcmVuPy5wcm9wcz8uY2hpbGRyZW4/LlswXT8ucmVmPy5jdXJyZW50Py5vZmZzZXRXaWR0aDtcclxuICAgICAgICBpZiAodHlwZW9mIGJ0bldpZHRoID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICByZXR1cm4gYnRuV2lkdGg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBXaGVuIFBhc3N3b3JkQnV0dG9uIGlzIHVzZWQgaW5zaWRlIFNjaGVtYVJlbmRlcmVyLCBpdCBkb2Vzbid0IGhhdmUgY2hpbGRyZW4uXHJcbiAgICAgICAgICAgIC8vIFdlJ2xsIHVzZSB0aGUgZGVmYXVsdCBidXR0b24gc2l6ZXMuXHJcbiAgICAgICAgICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDY0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiA1NDtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHsgcmVmOiBzZXRSZWZlcmVuY2UgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0Q29udGFpbmVyLCB7IHN0eWxlOiBpbnB1dFdyYXBwZXJTdHlsZSwgXCJkYXRhLXRlc3RpZFwiOiBgJHt0ZXN0SWR9LXdyYXBwZXJgIH0sXHJcbiAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRXcmFwcGVyLCB7IGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCBpc0NsZWFyYWJsZTogaXNDbGVhcmFibGUsIHdpZHRoOiBwcm9wcy53aWR0aCB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRJbnB1dCwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWludmFsaWRcIjogaGFzRXJyb3IsIGRpc2FibGVkOiBkaXNhYmxlZCwgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGhhc0NoYXJhY3RlckNvdW50ZXI6IGhhc0NoYXJhY3RlckNvdW50ZXIsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0NsZWFyYWJsZTogdHlwZSA9PT0gSW5wdXRUeXBlLnNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaW5wdXRXcmFwcGVyU3R5bGU/LndpZHRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGlzQ2xlYXJhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGlzQ2xlYXJhYmxlICYmIGlucHV0TGVuZ3RoID4gMCwgaXNJbnZlcnNlOiB1c2VJc0ludmVyc2UocHJvcHMuaXNJbnZlcnNlKSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIGhhc0Vycm9yOiBoYXNFcnJvciwgcmVmOiByZWYsIG1heExlbmd0aDogbWF4TGVuZ3RoTnVtLCBvbkNoYW5nZTogaGFuZGxlQ2hhbmdlLCBzdHlsZTogaW5wdXRTdHlsZSwgdGhlbWU6IHRoZW1lLCB0eXBlOiB0eXBlID8gdHlwZSA6IElucHV0VHlwZS50ZXh0LCB2YWx1ZTogdmFsdWUgfSkpLFxyXG4gICAgICAgICAgICAgICAgaWNvbiAmJiAhb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaXNQcmVkaWN0aXZlOiBpc1ByZWRpY3RpdmUsIHRoZW1lOiB0aGVtZSwgZGlzYWJsZWQ6IGRpc2FibGVkIH0sIFJlYWN0LkNoaWxkcmVuLm9ubHkoUmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcclxuICAgICAgICAgICAgICAgICAgICBzaXplOiBnZXRJY29uU2l6ZShpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWUsIGljb25Qb3NpdGlvbiksXHJcbiAgICAgICAgICAgICAgICB9KSkpKSksXHJcbiAgICAgICAgICAgIGlzQ2xlYXJhYmxlICYmIHZhbHVlICE9PSAnJyAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJc0NsZWFyYWJsZUNvbnRhaW5lciwgeyB0aGVtZTogdGhlbWUsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgb25JY29uQ2xpY2s6IG9uSWNvbkNsaWNrLCBpY29uOiBpY29uIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGkxOG4uaW5wdXQuaXNDbGVhcmFibGVBcmlhTGFiZWwsIGRpc2FibGVkOiBkaXNhYmxlZCwgaWNvbjogUmVhY3QuY3JlYXRlRWxlbWVudChDbGVhckljb24sIG51bGwpLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogaGFuZGxlQ2xlYXJJbnB1dCwgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdGVzdElkOiBcImNsZWFyLWJ1dHRvblwiLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIG9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b25Db250YWluZXIsIHsgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBpc0NsaWNrYWJsZTogdHJ1ZSB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uOiBpY29uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgb25DbGljazogb25JY29uQ2xpY2ssIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBkaXNhYmxlZDogZGlzYWJsZWQsIHNoYXBlOiBCdXR0b25TaGFwZS5maWxsLCBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IEJ1dHRvblNpemUubWVkaXVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogQnV0dG9uU2l6ZS5zbWFsbCwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBpc1Bhc3N3b3JkSW5wdXQgPyAoUmVhY3QuY3JlYXRlRWxlbWVudChQYXNzd29yZEJ1dHRvbkNvbnRhaW5lciwgeyBzaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGJ1dHRvbldpZHRoOiBwYXNzd29yZEJ0bldpZHRoKCkgfSwgY2hpbGRyZW4pKSA6IChSZWFjdC5jcmVhdGVFbGVtZW50KEhlbHBMaW5rQ29udGFpbmVyLCB7IGlzTGFiZWxWaXN1YWxseUhpZGRlbjogaXNMYWJlbFZpc3VhbGx5SGlkZGVuIHx8IGZhbHNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uID8/IExhYmVsUG9zaXRpb24udG9wLCB0aGVtZTogdGhlbWUgfSwgY2hpbGRyZW4pKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdfQ== */"));
|
|
3850
|
+
}, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwTWdDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3851
3851
|
function getIconButtonSVGSize(props) {
|
|
3852
3852
|
var isClickable = props.isClickable,
|
|
3853
3853
|
iconPosition = props.iconPosition,
|
|
@@ -3937,7 +3937,7 @@ var IconButtonContainer = /*#__PURE__*/_styled("span", {
|
|
|
3937
3937
|
return getIconButtonSVGSize(props);
|
|
3938
3938
|
}, ";width:", function (props) {
|
|
3939
3939
|
return getIconButtonSVGSize(props);
|
|
3940
|
-
}, ";}" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4UytDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
3940
|
+
}, ";}" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4UytDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3941
3941
|
var PasswordButtonContainer = /*#__PURE__*/_styled("span", {
|
|
3942
3942
|
target: "e1jxjjn72",
|
|
3943
3943
|
label: "PasswordButtonContainer"
|
|
@@ -3945,7 +3945,7 @@ var PasswordButtonContainer = /*#__PURE__*/_styled("span", {
|
|
|
3945
3945
|
return props.size === exports.InputSize.large ? -props.buttonWidth - 8 + "px" : -props.buttonWidth - 6 + "px";
|
|
3946
3946
|
}, ",\n ", function (props) {
|
|
3947
3947
|
return props.size === exports.InputSize.large ? props.theme.spaceScale.spacing03 : '6px';
|
|
3948
|
-
}, "\n );" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4VDRDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
3948
|
+
}, "\n );" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4VDRDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3949
3949
|
function getClearablePosition(props) {
|
|
3950
3950
|
if (props.iconPosition === 'right' && props.icon) {
|
|
3951
3951
|
if (props.inputSize === 'large') {
|
|
@@ -3965,7 +3965,7 @@ var IsClearableContainer = /*#__PURE__*/_styled("span", {
|
|
|
3965
3965
|
return getClearablePosition(props);
|
|
3966
3966
|
}, ",\n ", function (props) {
|
|
3967
3967
|
return props.inputSize === exports.InputSize.large ? props.theme.spaceScale.spacing03 : '7px';
|
|
3968
|
-
}, "\n );" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvVnlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
3968
|
+
}, "\n );" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvVnlDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
3969
3969
|
function getIconSize$1(size, theme, iconPosition) {
|
|
3970
3970
|
switch (size) {
|
|
3971
3971
|
case 'large':
|
|
@@ -3988,13 +3988,13 @@ var isLeftOrHidden = function isLeftOrHidden(_ref) {
|
|
|
3988
3988
|
var HelpLinkContainer = /*#__PURE__*/_styled("span", {
|
|
3989
3989
|
target: "e1jxjjn70",
|
|
3990
3990
|
label: "HelpLinkContainer"
|
|
3991
|
-
})("position:
|
|
3991
|
+
})("position:", function (props) {
|
|
3992
|
+
return isLeftOrHidden(props) ? 'relative' : 'absolute';
|
|
3993
|
+
}, ";display:flex;align-items:center;justify-content:center;height:", function (props) {
|
|
3992
3994
|
return isLeftOrHidden(props) ? 'auto' : 'fit-content';
|
|
3993
3995
|
}, ";margin-inline-start:", function (props) {
|
|
3994
|
-
return isLeftOrHidden(props) ? "" + props.theme.spaceScale.spacing03 :
|
|
3995
|
-
}, ";transform:
|
|
3996
|
-
return isLeftOrHidden(props) ? '0' : '-100%';
|
|
3997
|
-
}, ",\n ", function (props) {
|
|
3996
|
+
return isLeftOrHidden(props) ? "" + props.theme.spaceScale.spacing03 : 'auto';
|
|
3997
|
+
}, ";transform:translateY(\n ", function (props) {
|
|
3998
3998
|
return isLeftOrHidden(props) ? '0' : "calc(-100% - " + props.theme.spaceScale.spacing03 + ")";
|
|
3999
3999
|
}, "\n );svg{height:", function (props) {
|
|
4000
4000
|
return getHelpLinkSVGSize(props);
|
|
@@ -4004,7 +4004,9 @@ var HelpLinkContainer = /*#__PURE__*/_styled("span", {
|
|
|
4004
4004
|
return getHelpIconButtonSize(props);
|
|
4005
4005
|
}, ";width:", function (props) {
|
|
4006
4006
|
return getHelpIconButtonSize(props);
|
|
4007
|
-
}, ";}" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnWDZDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwSWNvbkJ1dHRvblNpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDc7XHJcbn1cclxuZnVuY3Rpb24gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykge1xyXG4gICAgY29uc3QgeyBpc0NsaWNrYWJsZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGhhc0NoaWxkcmVuLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBsZXQgcG9zaXRpb24gPSB7IHg6ICcnLCB5OiAnJyB9O1xyXG4gICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTMwcHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzJweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0yOHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICc1cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcG9zaXRpb247XHJcbiAgICB9XHJcbiAgICBpZiAoaXNDbGlja2FibGUpIHtcclxuICAgICAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00M3B4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnMTRweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi54ID0gJy00OXB4JztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnOHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMzVweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNnB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb24ueCA9IGAtJHt0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMH1gO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSB0aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwMztcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLm1lZGl1bSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSAnLTI0cHgnO1xyXG4gICAgICAgIHBvc2l0aW9uLnkgPSAnN3B4JztcclxuICAgIH1cclxuICAgIHJldHVybiBwb3NpdGlvbjtcclxufVxyXG5leHBvcnQgY29uc3QgSWNvbkJ1dHRvbkNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc0MHB4JyA6ICdpbmhlcml0Jyl9O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS54fSxcbiAgICAke3Byb3BzID0+IGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpLnl9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblNWR1NpemUocHJvcHMpfTtcbiAgfVxuYDtcclxuY29uc3QgUGFzc3dvcmRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5zaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gOH1weGBcclxuICAgIDogYCR7LXByb3BzLmJ1dHRvbldpZHRoIC0gNn1weGB9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMgOiAnNnB4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmIHByb3BzLmljb24pIHtcclxuICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnODhweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMjtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJzM0cHgnO1xyXG59XHJcbmNvbnN0IElzQ2xlYXJhYmxlQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgIC0ke3Byb3BzID0+IGdldENsZWFyYWJsZVBvc2l0aW9uKHByb3BzKX0sXG4gICAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM1xyXG4gICAgOiAnN3B4J31cbiAgKTtcbmA7XHJcbmZ1bmN0aW9uIGdldEljb25TaXplKHNpemUsIHRoZW1lLCBpY29uUG9zaXRpb24pIHtcclxuICAgIHN3aXRjaCAoc2l6ZSkge1xyXG4gICAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLmxhcmdlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5zbWFsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdGhlbWUuaWNvblNpemVzLm1lZGl1bTtcclxuICAgIH1cclxufVxyXG5jb25zdCBpc0xlZnRPckhpZGRlbiA9ICh7IGxhYmVsUG9zaXRpb24sIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgfSkgPT4gbGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0IHx8IGlzTGFiZWxWaXN1YWxseUhpZGRlbjtcclxuZXhwb3J0IGNvbnN0IEhlbHBMaW5rQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGhlaWdodDogJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJ2F1dG8nIDogJ2ZpdC1jb250ZW50Jyl9O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAke3Byb3BzID0+IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/IGAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWAgOiAwfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoXG4gICAgJHtwcm9wcyA9PiAoaXNMZWZ0T3JIaWRkZW4ocHJvcHMpID8gJzAnIDogJy0xMDAlJyl9LFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICBoZWlnaHQ6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gICAgd2lkdGg6ICR7cHJvcHMgPT4gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmV4cG9ydCBjb25zdCBJbnB1dEJhc2UgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZGVmYXVsdFZhbHVlLCBkaXNhYmxlZCwgaGFzQ2hhcmFjdGVyQ291bnRlciwgaGFzRXJyb3IsIGljb24sIGljb25BcmlhTGFiZWwsIGljb25SZWYsIGlzQ2xlYXJhYmxlLCBpc1Bhc3N3b3JkSW5wdXQsIGlzUHJlZGljdGl2ZSwgbWF4Q291bnQsIG1heExlbmd0aCwgb25DbGVhciwgb25JY29uQ2xpY2ssIG9uSWNvbktleURvd24sIG9uRGF0ZUNoYW5nZSwgaW5wdXRMZW5ndGgsIGlucHV0U2l6ZSwgaW5wdXRTdHlsZSwgaW5wdXRXcmFwcGVyU3R5bGUsIHRlc3RJZCwgdHlwZSwgc2V0UmVmZXJlbmNlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIC4uLm90aGVyIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IGkxOG4gPSBSZWFjdC51c2VDb250ZXh0KEkxOG5Db250ZXh0KTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gaWNvbiAmJiBvbkljb25DbGlja1xyXG4gICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ucmlnaHRcclxuICAgICAgICA6IGljb24gJiYgIXByb3BzLmljb25Qb3NpdGlvblxyXG4gICAgICAgICAgICA/IElucHV0SWNvblBvc2l0aW9uLmxlZnRcclxuICAgICAgICAgICAgOiBwcm9wcy5pY29uUG9zaXRpb247XHJcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gbnVsbFxyXG4gICAgICAgID8gcHJvcHMuZGVmYXVsdFZhbHVlXHJcbiAgICAgICAgOiBwcm9wcy52YWx1ZSB8fCAnJyk7XHJcbiAgICBjb25zdCBtYXhMZW5ndGhOdW0gPSAhaGFzQ2hhcmFjdGVyQ291bnRlciAmJiBtYXhMZW5ndGggPyBtYXhMZW5ndGggOiB1bmRlZmluZWQ7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLnZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHNldFZhbHVlKHByb3BzLnZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LCBbcHJvcHMudmFsdWVdKTtcclxuICAgIGNvbnN0IGlucHV0UmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBpbnB1dFJlZik7XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcklucHV0KCkge1xyXG4gICAgICAgIG9uQ2xlYXIgJiYgdHlwZW9mIG9uQ2xlYXIgPT09ICdmdW5jdGlvbicgJiYgb25DbGVhcigpO1xyXG4gICAgICAgIHNldFZhbHVlKCcnKTtcclxuICAgICAgICBvbkRhdGVDaGFuZ2UgJiYgdHlwZW9mIG9uRGF0ZUNoYW5nZSA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICAgICAgaW5wdXRSZWYuY3VycmVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRWYWx1ZShldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICAgIGlmICghZXZlbnQudGFyZ2V0LnZhbHVlICYmXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICBvbkRhdGVDaGFuZ2UobnVsbCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXNzd29yZEJ0bldpZHRoID0gKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJ0bldpZHRoID0gY2hpbGRyZW4/LnByb3BzPy5jaGlsZHJlbj8uWzBdPy5yZWY/LmN1cnJlbnQ/Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgIGlmICh0eXBlb2YgYnRuV2lkdGggPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBidG5XaWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFdoZW4gUGFzc3dvcmRCdXR0b24gaXMgdXNlZCBpbnNpZGUgU2NoZW1hUmVuZGVyZXIsIGl0IGRvZXNuJ3QgaGF2ZSBjaGlsZHJlbi5cclxuICAgICAgICAgICAgLy8gV2UnbGwgdXNlIHRoZSBkZWZhdWx0IGJ1dHRvbiBzaXplcy5cclxuICAgICAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gNjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIDU0O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgeyByZWY6IHNldFJlZmVyZW5jZSB9LFxyXG4gICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRDb250YWluZXIsIHsgc3R5bGU6IGlucHV0V3JhcHBlclN0eWxlLCBcImRhdGEtdGVzdGlkXCI6IGAke3Rlc3RJZH0td3JhcHBlcmAgfSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFdyYXBwZXIsIHsgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCBoYXNFcnJvcjogaGFzRXJyb3IsIGlzQ2xlYXJhYmxlOiBpc0NsZWFyYWJsZSwgd2lkdGg6IHByb3BzLndpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0LCBPYmplY3QuYXNzaWduKHt9LCBvdGhlciwgeyBcImFyaWEtaW52YWxpZFwiOiBoYXNFcnJvciwgZGlzYWJsZWQ6IGRpc2FibGVkLCBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzQ2xlYXJhYmxlOiB0eXBlID09PSBJbnB1dFR5cGUuc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFdyYXBwZXJTdHlsZT8ud2lkdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gaXNDbGVhcmFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogaXNDbGVhcmFibGUgJiYgaW5wdXRMZW5ndGggPiAwLCBpc0ludmVyc2U6IHVzZUlzSW52ZXJzZShwcm9wcy5pc0ludmVyc2UpLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgaGFzRXJyb3I6IGhhc0Vycm9yLCByZWY6IHJlZiwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIHN0eWxlOiBpbnB1dFN0eWxlLCB0aGVtZTogdGhlbWUsIHR5cGU6IHR5cGUgPyB0eXBlIDogSW5wdXRUeXBlLnRleHQsIHZhbHVlOiB2YWx1ZSB9KSksXHJcbiAgICAgICAgICAgICAgICBpY29uICYmICFvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uV3JhcHBlciwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBpc1ByZWRpY3RpdmU6IGlzUHJlZGljdGl2ZSwgdGhlbWU6IHRoZW1lLCBkaXNhYmxlZDogZGlzYWJsZWQgfSwgUmVhY3QuQ2hpbGRyZW4ub25seShSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xyXG4gICAgICAgICAgICAgICAgICAgIHNpemU6IGdldEljb25TaXplKGlucHV0U2l6ZSA/PyBJbnB1dFNpemUubWVkaXVtLCB0aGVtZSwgaWNvblBvc2l0aW9uKSxcclxuICAgICAgICAgICAgICAgIH0pKSkpKSxcclxuICAgICAgICAgICAgaXNDbGVhcmFibGUgJiYgdmFsdWUgIT09ICcnICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KElzQ2xlYXJhYmxlQ29udGFpbmVyLCB7IHRoZW1lOiB0aGVtZSwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGlucHV0U2l6ZTogaW5wdXRTaXplLCBvbkljb25DbGljazogb25JY29uQ2xpY2ssIGljb246IGljb24gfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaTE4bi5pbnB1dC5pc0NsZWFyYWJsZUFyaWFMYWJlbCwgZGlzYWJsZWQ6IGRpc2FibGVkLCBpY29uOiBSZWFjdC5jcmVhdGVFbGVtZW50KENsZWFySWNvbiwgbnVsbCksIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBoYW5kbGVDbGVhcklucHV0LCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0ZXN0SWQ6IFwiY2xlYXItYnV0dG9uXCIsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgb25JY29uQ2xpY2sgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbkNvbnRhaW5lciwgeyBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgID8gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgOiBJbnB1dFNpemUubWVkaXVtLCB0aGVtZTogdGhlbWUsIGlzQ2xpY2thYmxlOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KEljb25CdXR0b24sIHsgXCJhcmlhLWxhYmVsXCI6IGljb25BcmlhTGFiZWwsIGljb246IGljb24sIGlzSW52ZXJzZTogcHJvcHMuaXNJbnZlcnNlLCBvbkNsaWNrOiBvbkljb25DbGljaywgb25LZXlEb3duOiBvbkljb25LZXlEb3duLCByZWY6IGljb25SZWYsIGRpc2FibGVkOiBkaXNhYmxlZCwgc2hhcGU6IEJ1dHRvblNoYXBlLmZpbGwsIHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gQnV0dG9uU2l6ZS5tZWRpdW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBCdXR0b25TaXplLnNtYWxsLCB0eXBlOiBCdXR0b25UeXBlLmJ1dHRvbiwgdmFyaWFudDogQnV0dG9uVmFyaWFudC5saW5rIH0pKSksXHJcbiAgICAgICAgICAgIGlzUGFzc3dvcmRJbnB1dCA/IChSZWFjdC5jcmVhdGVFbGVtZW50KFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyLCB7IHNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgYnV0dG9uV2lkdGg6IHBhc3N3b3JkQnRuV2lkdGgoKSB9LCBjaGlsZHJlbikpIDogKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSGVscExpbmtDb250YWluZXIsIHsgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gfHwgZmFsc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24gPz8gTGFiZWxQb3NpdGlvbi50b3AsIHRoZW1lOiB0aGVtZSB9LCBjaGlsZHJlbikpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl19 */"));
|
|
4007
|
+
}, ";}inset-inline-end:", function (props) {
|
|
4008
|
+
return isLeftOrHidden(props) ? 'auto' : '0';
|
|
4009
|
+
}, ";" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnWDZDIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyB0cmFuc3BhcmVudGl6ZSB9IGZyb20gJ3BvbGlzaGVkJztcclxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDbGVhckljb24gfSBmcm9tICdyZWFjdC1tYWdtYS1pY29ucyc7XHJcbmltcG9ydCB7IEkxOG5Db250ZXh0IH0gZnJvbSAnLi4vLi4vaTE4bic7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcbmltcG9ydCB7IEJ1dHRvblNoYXBlLCBCdXR0b25TaXplLCBCdXR0b25UeXBlLCBCdXR0b25WYXJpYW50IH0gZnJvbSAnLi4vQnV0dG9uJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uL0ljb25CdXR0b24nO1xyXG5pbXBvcnQgeyBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5leHBvcnQgdmFyIElucHV0U2l6ZTtcclxuKGZ1bmN0aW9uIChJbnB1dFNpemUpIHtcclxuICAgIElucHV0U2l6ZVtcImxhcmdlXCJdID0gXCJsYXJnZVwiO1xyXG4gICAgSW5wdXRTaXplW1wibWVkaXVtXCJdID0gXCJtZWRpdW1cIjtcclxufSkoSW5wdXRTaXplIHx8IChJbnB1dFNpemUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0VHlwZTtcclxuKGZ1bmN0aW9uIChJbnB1dFR5cGUpIHtcclxuICAgIElucHV0VHlwZVtcImVtYWlsXCJdID0gXCJlbWFpbFwiO1xyXG4gICAgSW5wdXRUeXBlW1wiZmlsZVwiXSA9IFwiZmlsZVwiO1xyXG4gICAgSW5wdXRUeXBlW1wibnVtYmVyXCJdID0gXCJudW1iZXJcIjtcclxuICAgIElucHV0VHlwZVtcInBhc3N3b3JkXCJdID0gXCJwYXNzd29yZFwiO1xyXG4gICAgSW5wdXRUeXBlW1wic2VhcmNoXCJdID0gXCJzZWFyY2hcIjtcclxuICAgIElucHV0VHlwZVtcInRleHRcIl0gPSBcInRleHRcIjtcclxufSkoSW5wdXRUeXBlIHx8IChJbnB1dFR5cGUgPSB7fSkpO1xyXG5leHBvcnQgdmFyIElucHV0SWNvblBvc2l0aW9uO1xyXG4oZnVuY3Rpb24gKElucHV0SWNvblBvc2l0aW9uKSB7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcInRvcFwiXSA9IFwidG9wXCI7XHJcbiAgICBJbnB1dEljb25Qb3NpdGlvbltcImxlZnRcIl0gPSBcImxlZnRcIjtcclxuICAgIElucHV0SWNvblBvc2l0aW9uW1wicmlnaHRcIl0gPSBcInJpZ2h0XCI7XHJcbn0pKElucHV0SWNvblBvc2l0aW9uIHx8IChJbnB1dEljb25Qb3NpdGlvbiA9IHt9KSk7XHJcbmV4cG9ydCBjb25zdCBpbnB1dFdyYXBwZXJTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAke3Byb3BzLndpZHRoIHx8ICdhdXRvJ307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuOCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBib3JkZXI6IDFweCBzb2xpZFxuICAgICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHRyYW5zcGFyZW50aXplKDAuNSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNTAwfTtcbiAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5fTtcblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkXG4gICAgICAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMuZm9jdXNJbnZlcnNlXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5mb2N1c307XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG4gIH1cblxuICAke3Byb3BzLmhhc0Vycm9yICYmXHJcbiAgICBjc3MgYFxuICAgIGJvcmRlci1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXIzMDBcclxuICAgICAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5kYW5nZXJ9O1xuICBgfVxuXG4gICR7cHJvcHMuZGlzYWJsZWQgJiZcclxuICAgIGNzcyBgXG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC44NSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDMwMH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgICAgICA/IHRyYW5zcGFyZW50aXplKDAuOSwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw5MDApXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDIwMH07XG4gIGB9XG5cbiAgJHtwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgaGVpZ2h0OiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExfTtcbiAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldElucHV0UGFkZGluZyhwcm9wcykge1xyXG4gICAgY29uc3QgeyBpbnB1dFNpemUsIGlzQ2xlYXJhYmxlLCBpY29uUG9zaXRpb24gfSA9IHByb3BzO1xyXG4gICAgbGV0IHBhZGRpbmcgPSB7XHJcbiAgICAgICAgbGVmdDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDMsXHJcbiAgICAgICAgcmlnaHQ6IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzLFxyXG4gICAgfTtcclxuICAgIGlmIChpbnB1dFNpemUgPT09ICdsYXJnZScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc5MnB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzExO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlucHV0U2l6ZSA9PT0gJ21lZGl1bScpIHtcclxuICAgICAgICBpZiAoaXNDbGVhcmFibGUpIHtcclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9ICc2OHB4JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmIChpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5sZWZ0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBpY29uIHRvcCwgbm8gaWNvblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy5yaWdodCA9IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSAncmlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLnJpZ2h0ID0gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLmxlZnQgPSBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwOTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwYWRkaW5nO1xyXG59XHJcbmV4cG9ydCBjb25zdCBpbnB1dEJhc2VTdHlsZXMgPSAocHJvcHMpID0+IGNzcyBgXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJHtwcm9wcy50aGVtZS5ib3JkZXJSYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcy50aGVtZS50eXBlU2NhbGUuc2l6ZTAzLmZvbnRTaXplfTtcbiAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwMy5saW5lSGVpZ2h0fTtcbiAgZm9udC1mYW1pbHk6ICR7cHJvcHMudGhlbWUuYm9keUZvbnR9O1xuICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDl9O1xuICBwYWRkaW5nOiAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTAwJTtcblxuICAke3Byb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyAmJlxyXG4gICAgY3NzIGBcbiAgICBmb250LXNpemU6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMudGhlbWUudHlwZVNjYWxlLnNpemUwNC5saW5lSGVpZ2h0fTtcbiAgICBoZWlnaHQ6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTF9O1xuICAgIHBhZGRpbmc6ICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDR9O1xuICBgfVxuXG4gIHBhZGRpbmctbGVmdDogJHtnZXRJbnB1dFBhZGRpbmcocHJvcHMpLmxlZnR9O1xuICBwYWRkaW5nLXJpZ2h0OiAke2dldElucHV0UGFkZGluZyhwcm9wcykucmlnaHR9O1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtwcm9wcy5pc0ludmVyc2VcclxuICAgID8gdHJhbnNwYXJlbnRpemUoMC4zLCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICZbdHlwZT0nc2VhcmNoJ10ge1xuICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAke3Byb3BzLmRpc2FibGVkICYmXHJcbiAgICBjc3MgYFxuICAgIGNvbG9yOiAke3Byb3BzLmlzSW52ZXJzZVxyXG4gICAgICAgID8gdHJhbnNwYXJlbnRpemUoMC42LCBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMClcclxuICAgICAgICA6IHRyYW5zcGFyZW50aXplKDAuNCwgcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDApfTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMuaXNJbnZlcnNlXHJcbiAgICAgICAgPyB0cmFuc3BhcmVudGl6ZSgwLjgsIHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwKVxyXG4gICAgICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWw1MDB9O1xuICAgICAgb3BhY2l0eTogJHtwcm9wcy5pc0ludmVyc2UgPyAwLjQgOiAwLjZ9O1xuICAgIH1cbiAgYH1cbmA7XHJcbmNvbnN0IElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xyXG5leHBvcnQgY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdiBgXG4gICR7aW5wdXRXcmFwcGVyU3R5bGVzfVxuYDtcclxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQgYFxuICAke2lucHV0QmFzZVN0eWxlc31cbmA7XHJcbmNvbnN0IEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW4gYFxuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDVweCcgOiAnaW5oZXJpdCcpfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuaXNJbnZlcnNlXHJcbiAgICA/IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsMTAwXHJcbiAgICA6IHByb3BzLnRoZW1lLmNvbG9ycy5uZXV0cmFsNzAwfTtcbiAgbGVmdDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICdsZWZ0JyA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJ2F1dG8nfTtcbiAgcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnXHJcbiAgICA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzXHJcbiAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICA/ICczcHgnXHJcbiAgICAgICAgOiAnYXV0byd9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy5pY29uUG9zaXRpb24gPT09ICd0b3AnXHJcbiAgICA/ICdpbmhlcml0J1xyXG4gICAgOiBwcm9wcyA9PiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM307XG5cbiAgJHtwcm9wcyA9PiBwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgJiZcclxuICAgIGNzcyBgXG4gICAgICBib3R0b206ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJyA/ICc2MnB4JyA6ICdpbmhlcml0J307XG4gICAgICBsZWZ0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNFxyXG4gICAgICAgIDogJ2F1dG8nfTtcbiAgICAgIHJpZ2h0OiAke3Byb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDRcclxuICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcclxuICAgICAgICAgICAgPyAnM3B4J1xyXG4gICAgICAgICAgICA6ICdhdXRvJ307XG4gICAgICB0b3A6ICR7cHJvcHMuaWNvblBvc2l0aW9uID09PSAndG9wJ1xyXG4gICAgICAgID8gJ2luaGVyaXQnXHJcbiAgICAgICAgOiBwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwNH07XG4gICAgYH1cbmA7XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlzQ2xpY2thYmxlLCBpY29uUG9zaXRpb24sIGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlzQ2xpY2thYmxlICYmIGljb25Qb3NpdGlvbiA9PT0gSW5wdXRJY29uUG9zaXRpb24udG9wKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGAke3RoZW1lLmljb25TaXplcy5zbWFsbH1weGA7XHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLmxhcmdlfXB4YDtcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGVtZS5pY29uU2l6ZXMubWVkaXVtfXB4YDtcclxufVxyXG5mdW5jdGlvbiBnZXRIZWxwTGlua1NWR1NpemUocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaW5wdXRTaXplLCB0aGVtZSB9ID0gcHJvcHM7XHJcbiAgICBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLm1lZGl1bX1weGA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYCR7dGhlbWUuaWNvblNpemVzLnNtYWxsfXB4YDtcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVscEljb25CdXR0b25TaXplKHByb3BzKSB7XHJcbiAgICBjb25zdCB7IGlucHV0U2l6ZSwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA5O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzA3O1xyXG59XHJcbmZ1bmN0aW9uIGdldEljb25CdXR0b25UcmFuc2Zvcm0ocHJvcHMpIHtcclxuICAgIGNvbnN0IHsgaXNDbGlja2FibGUsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBoYXNDaGlsZHJlbiwgdGhlbWUgfSA9IHByb3BzO1xyXG4gICAgbGV0IHBvc2l0aW9uID0geyB4OiAnJywgeTogJycgfTtcclxuICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi54ID0gJy0zMHB4JztcclxuICAgICAgICAgICAgcG9zaXRpb24ueSA9ICcycHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctMjhweCc7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnkgPSAnNXB4JztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHBvc2l0aW9uO1xyXG4gICAgfVxyXG4gICAgaWYgKGlzQ2xpY2thYmxlKSB7XHJcbiAgICAgICAgaWYgKGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlKSB7XHJcbiAgICAgICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDNweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzE0cHgnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb24ueCA9ICctNDlweCc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbi55ID0gJzhweCc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoaW5wdXRTaXplID09PSBJbnB1dFNpemUubWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uLnggPSAnLTM1cHgnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbi55ID0gJzZweCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwb3NpdGlvbjtcclxuICAgIH1cclxuICAgIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5sYXJnZSkge1xyXG4gICAgICAgIHBvc2l0aW9uLnggPSBgLSR7dGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTB9YDtcclxuICAgICAgICBwb3NpdGlvbi55ID0gdGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDM7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChpbnB1dFNpemUgPT09IElucHV0U2l6ZS5tZWRpdW0pIHtcclxuICAgICAgICBwb3NpdGlvbi54ID0gJy0yNHB4JztcclxuICAgICAgICBwb3NpdGlvbi55ID0gJzdweCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcG9zaXRpb247XHJcbn1cclxuZXhwb3J0IGNvbnN0IEljb25CdXR0b25Db250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgPyAnNDBweCcgOiAnaW5oZXJpdCcpfTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gZ2V0SWNvbkJ1dHRvblRyYW5zZm9ybShwcm9wcykueH0sXG4gICAgJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uVHJhbnNmb3JtKHByb3BzKS55fVxuICApO1xuICBzdmcge1xuICAgIGhlaWdodDogJHtwcm9wcyA9PiBnZXRJY29uQnV0dG9uU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEljb25CdXR0b25TVkdTaXplKHByb3BzKX07XG4gIH1cbmA7XHJcbmNvbnN0IFBhc3N3b3JkQnV0dG9uQ29udGFpbmVyID0gc3R5bGVkLnNwYW4gYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKFxuICAgICR7cHJvcHMgPT4gcHJvcHMuc2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICA/IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDh9cHhgXHJcbiAgICA6IGAkey1wcm9wcy5idXR0b25XaWR0aCAtIDZ9cHhgfSxcbiAgICAke3Byb3BzID0+IHByb3BzLnNpemUgPT09IElucHV0U2l6ZS5sYXJnZSA/IHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzIDogJzZweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JyAmJiBwcm9wcy5pY29uKSB7XHJcbiAgICAgICAgaWYgKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJykge1xyXG4gICAgICAgICAgICByZXR1cm4gJzg4cHgnO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTI7XHJcbiAgICB9XHJcbiAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSAnbGFyZ2UnKSB7XHJcbiAgICAgICAgcmV0dXJuIHByb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzEwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICczNHB4JztcclxufVxyXG5jb25zdCBJc0NsZWFyYWJsZUNvbnRhaW5lciA9IHN0eWxlZC5zcGFuIGBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShcbiAgICAtJHtwcm9wcyA9PiBnZXRDbGVhcmFibGVQb3NpdGlvbihwcm9wcyl9LFxuICAgICR7cHJvcHMgPT4gcHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDNcclxuICAgIDogJzdweCd9XG4gICk7XG5gO1xyXG5mdW5jdGlvbiBnZXRJY29uU2l6ZShzaXplLCB0aGVtZSwgaWNvblBvc2l0aW9uKSB7XHJcbiAgICBzd2l0Y2ggKHNpemUpIHtcclxuICAgICAgICBjYXNlICdsYXJnZSc6XHJcbiAgICAgICAgICAgIGlmIChpY29uUG9zaXRpb24gPT09IElucHV0SWNvblBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5sYXJnZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBpZiAoaWNvblBvc2l0aW9uID09PSBJbnB1dEljb25Qb3NpdGlvbi50b3ApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZS5pY29uU2l6ZXMuc21hbGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRoZW1lLmljb25TaXplcy5tZWRpdW07XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNvbnN0IGlzTGVmdE9ySGlkZGVuID0gKHsgbGFiZWxQb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCB9KSA9PiBsYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgfHwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuO1xyXG5leHBvcnQgY29uc3QgSGVscExpbmtDb250YWluZXIgPSBzdHlsZWQuc3BhbiBgXG4gIHBvc2l0aW9uOiAke3Byb3BzID0+IChpc0xlZnRPckhpZGRlbihwcm9wcykgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICdmaXQtY29udGVudCcpfTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogJHtwcm9wcyA9PiBpc0xlZnRPckhpZGRlbihwcm9wcykgPyBgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gIDogJ2F1dG8nfTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKFxuICAgICR7cHJvcHMgPT4gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICA/ICcwJ1xyXG4gICAgOiBgY2FsYygtMTAwJSAtICR7cHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDN9KWB9XG4gICk7XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBMaW5rU1ZHU2l6ZShwcm9wcyl9O1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICAgIHdpZHRoOiAke3Byb3BzID0+IGdldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9O1xuICB9XG4gIGluc2V0LWlubGluZS1lbmQ6ICR7cHJvcHMgPT4gKGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdhdXRvJyA6ICcwJyl9O1xuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0QmFzZSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGNvbnRhaW5lclN0eWxlLCBkZWZhdWx0VmFsdWUsIGRpc2FibGVkLCBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoYXNFcnJvciwgaWNvbiwgaWNvbkFyaWFMYWJlbCwgaWNvblJlZiwgaXNDbGVhcmFibGUsIGlzUGFzc3dvcmRJbnB1dCwgaXNQcmVkaWN0aXZlLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBvbkNsZWFyLCBvbkljb25DbGljaywgb25JY29uS2V5RG93biwgb25EYXRlQ2hhbmdlLCBpbnB1dExlbmd0aCwgaW5wdXRTaXplLCBpbnB1dFN0eWxlLCBpbnB1dFdyYXBwZXJTdHlsZSwgdGVzdElkLCB0eXBlLCBzZXRSZWZlcmVuY2UsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgaTE4biA9IFJlYWN0LnVzZUNvbnRleHQoSTE4bkNvbnRleHQpO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpY29uUG9zaXRpb24gPSBpY29uICYmIG9uSWNvbkNsaWNrXHJcbiAgICAgICAgPyBJbnB1dEljb25Qb3NpdGlvbi5yaWdodFxyXG4gICAgICAgIDogaWNvbiAmJiAhcHJvcHMuaWNvblBvc2l0aW9uXHJcbiAgICAgICAgICAgID8gSW5wdXRJY29uUG9zaXRpb24ubGVmdFxyXG4gICAgICAgICAgICA6IHByb3BzLmljb25Qb3NpdGlvbjtcclxuICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUocHJvcHMuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICAgPyBwcm9wcy5kZWZhdWx0VmFsdWVcclxuICAgICAgICA6IHByb3BzLnZhbHVlIHx8ICcnKTtcclxuICAgIGNvbnN0IG1heExlbmd0aE51bSA9ICFoYXNDaGFyYWN0ZXJDb3VudGVyICYmIG1heExlbmd0aCA/IG1heExlbmd0aCA6IHVuZGVmaW5lZDtcclxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgJiYgcHJvcHMudmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgc2V0VmFsdWUocHJvcHMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtwcm9wcy52YWx1ZV0pO1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIGlucHV0UmVmKTtcclxuICAgIGZ1bmN0aW9uIGhhbmRsZUNsZWFySW5wdXQoKSB7XHJcbiAgICAgICAgb25DbGVhciAmJiB0eXBlb2Ygb25DbGVhciA9PT0gJ2Z1bmN0aW9uJyAmJiBvbkNsZWFyKCk7XHJcbiAgICAgICAgc2V0VmFsdWUoJycpO1xyXG4gICAgICAgIG9uRGF0ZUNoYW5nZSAmJiB0eXBlb2Ygb25EYXRlQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgICAgICBpbnB1dFJlZi5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDaGFuZ2UoZXZlbnQpIHtcclxuICAgICAgICBwcm9wcy5vbkNoYW5nZSAmJlxyXG4gICAgICAgICAgICB0eXBlb2YgcHJvcHMub25DaGFuZ2UgPT09ICdmdW5jdGlvbicgJiZcclxuICAgICAgICAgICAgcHJvcHMub25DaGFuZ2UoZXZlbnQpO1xyXG4gICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgICAgaWYgKCFldmVudC50YXJnZXQudmFsdWUgJiZcclxuICAgICAgICAgICAgb25EYXRlQ2hhbmdlICYmXHJcbiAgICAgICAgICAgIHR5cGVvZiBvbkRhdGVDaGFuZ2UgPT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgIG9uRGF0ZUNoYW5nZShudWxsKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHBhc3N3b3JkQnRuV2lkdGggPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnRuV2lkdGggPSBjaGlsZHJlbj8ucHJvcHM/LmNoaWxkcmVuPy5bMF0/LnJlZj8uY3VycmVudD8ub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBidG5XaWR0aCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGJ0bldpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgLy8gV2hlbiBQYXNzd29yZEJ1dHRvbiBpcyB1c2VkIGluc2lkZSBTY2hlbWFSZW5kZXJlciwgaXQgZG9lc24ndCBoYXZlIGNoaWxkcmVuLlxyXG4gICAgICAgICAgICAvLyBXZSdsbCB1c2UgdGhlIGRlZmF1bHQgYnV0dG9uIHNpemVzLlxyXG4gICAgICAgICAgICBpZiAocHJvcHMuaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiA2NDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gNTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHJldHVybiAoUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7IHJlZjogc2V0UmVmZXJlbmNlIH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dENvbnRhaW5lciwgeyBzdHlsZTogaW5wdXRXcmFwcGVyU3R5bGUsIFwiZGF0YS10ZXN0aWRcIjogYCR7dGVzdElkfS13cmFwcGVyYCB9LFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0V3JhcHBlciwgeyBkaXNhYmxlZDogZGlzYWJsZWQsIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpc0ludmVyc2U6IHByb3BzLmlzSW52ZXJzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBzdHlsZTogY29udGFpbmVyU3R5bGUsIGhhc0Vycm9yOiBoYXNFcnJvciwgaXNDbGVhcmFibGU6IGlzQ2xlYXJhYmxlLCB3aWR0aDogcHJvcHMud2lkdGggfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXQsIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IFwiYXJpYS1pbnZhbGlkXCI6IGhhc0Vycm9yLCBkaXNhYmxlZDogZGlzYWJsZWQsIFwiZGF0YS10ZXN0aWRcIjogdGVzdElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNDbGVhcmFibGU6IHR5cGUgPT09IElucHV0VHlwZS5zZWFyY2hcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlucHV0V3JhcHBlclN0eWxlPy53aWR0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpc0NsZWFyYWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0NsZWFyYWJsZSAmJiBpbnB1dExlbmd0aCA+IDAsIGlzSW52ZXJzZTogdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSksIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCBoYXNFcnJvcjogaGFzRXJyb3IsIHJlZjogcmVmLCBtYXhMZW5ndGg6IG1heExlbmd0aE51bSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgc3R5bGU6IGlucHV0U3R5bGUsIHRoZW1lOiB0aGVtZSwgdHlwZTogdHlwZSA/IHR5cGUgOiBJbnB1dFR5cGUudGV4dCwgdmFsdWU6IHZhbHVlIH0pKSxcclxuICAgICAgICAgICAgICAgIGljb24gJiYgIW9uSWNvbkNsaWNrICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KEljb25XcmFwcGVyLCB7IFwiYXJpYS1sYWJlbFwiOiBpY29uQXJpYUxhYmVsLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIGlzUHJlZGljdGl2ZTogaXNQcmVkaWN0aXZlLCB0aGVtZTogdGhlbWUsIGRpc2FibGVkOiBkaXNhYmxlZCB9LCBSZWFjdC5DaGlsZHJlbi5vbmx5KFJlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZTogZ2V0SWNvblNpemUoaW5wdXRTaXplID8/IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lLCBpY29uUG9zaXRpb24pLFxyXG4gICAgICAgICAgICAgICAgfSkpKSkpLFxyXG4gICAgICAgICAgICBpc0NsZWFyYWJsZSAmJiB2YWx1ZSAhPT0gJycgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSXNDbGVhcmFibGVDb250YWluZXIsIHsgdGhlbWU6IHRoZW1lLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaW5wdXRTaXplOiBpbnB1dFNpemUsIG9uSWNvbkNsaWNrOiBvbkljb25DbGljaywgaWNvbjogaWNvbiB9LFxyXG4gICAgICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uLCB7IFwiYXJpYS1sYWJlbFwiOiBpMThuLmlucHV0LmlzQ2xlYXJhYmxlQXJpYUxhYmVsLCBkaXNhYmxlZDogZGlzYWJsZWQsIGljb246IFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2xlYXJJY29uLCBudWxsKSwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IGhhbmRsZUNsZWFySW5wdXQsIG9uS2V5RG93bjogb25JY29uS2V5RG93biwgcmVmOiBpY29uUmVmLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHRlc3RJZDogXCJjbGVhci1idXR0b25cIiwgdHlwZTogQnV0dG9uVHlwZS5idXR0b24sIHZhcmlhbnQ6IEJ1dHRvblZhcmlhbnQubGluayB9KSkpLFxyXG4gICAgICAgICAgICBvbkljb25DbGljayAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJY29uQnV0dG9uQ29udGFpbmVyLCB7IGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpbnB1dFNpemU6IGlucHV0U2l6ZSA9PT0gSW5wdXRTaXplLmxhcmdlXHJcbiAgICAgICAgICAgICAgICAgICAgPyBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA6IElucHV0U2l6ZS5tZWRpdW0sIHRoZW1lOiB0aGVtZSwgaXNDbGlja2FibGU6IHRydWUgfSxcclxuICAgICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbkJ1dHRvbiwgeyBcImFyaWEtbGFiZWxcIjogaWNvbkFyaWFMYWJlbCwgaWNvbjogaWNvbiwgaXNJbnZlcnNlOiBwcm9wcy5pc0ludmVyc2UsIG9uQ2xpY2s6IG9uSWNvbkNsaWNrLCBvbktleURvd246IG9uSWNvbktleURvd24sIHJlZjogaWNvblJlZiwgZGlzYWJsZWQ6IGRpc2FibGVkLCBzaGFwZTogQnV0dG9uU2hhcGUuZmlsbCwgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBCdXR0b25TaXplLm1lZGl1bVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IEJ1dHRvblNpemUuc21hbGwsIHR5cGU6IEJ1dHRvblR5cGUuYnV0dG9uLCB2YXJpYW50OiBCdXR0b25WYXJpYW50LmxpbmsgfSkpKSxcclxuICAgICAgICAgICAgaXNQYXNzd29yZElucHV0ID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFzc3dvcmRCdXR0b25Db250YWluZXIsIHsgc2l6ZTogaW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgICAgICA/IElucHV0U2l6ZS5sYXJnZVxyXG4gICAgICAgICAgICAgICAgICAgIDogSW5wdXRTaXplLm1lZGl1bSwgdGhlbWU6IHRoZW1lLCBidXR0b25XaWR0aDogcGFzc3dvcmRCdG5XaWR0aCgpIH0sIGNoaWxkcmVuKSkgOiAoUmVhY3QuY3JlYXRlRWxlbWVudChIZWxwTGlua0NvbnRhaW5lciwgeyBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiB8fCBmYWxzZSwgaW5wdXRTaXplOiBpbnB1dFNpemUgPz8gSW5wdXRTaXplLm1lZGl1bSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiA/PyBMYWJlbFBvc2l0aW9uLnRvcCwgdGhlbWU6IHRoZW1lIH0sIGNoaWxkcmVuKSkpKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
4008
4010
|
var InputBase = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
|
|
4009
4011
|
var children = props.children,
|
|
4010
4012
|
containerStyle = props.containerStyle,
|
|
@@ -5123,15 +5125,15 @@ var StyledFormFieldContainer = /*#__PURE__*/_styled("div", {
|
|
|
5123
5125
|
return props.labelWidth && props.labelPosition === exports.LabelPosition.left ? props.labelWidth + "%" : '';
|
|
5124
5126
|
}, ";margin-top:", function (props) {
|
|
5125
5127
|
return props.inputSize === 'large' ? '19px' : '';
|
|
5126
|
-
}, ";}" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1GaWVsZENvbnRhaW5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUTRDIiwiZmlsZSI6IkZvcm1GaWVsZENvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENoYXJhY3RlckNvdW50ZXIgfSBmcm9tICcuLi9DaGFyYWN0ZXJDb3VudGVyJztcclxuaW1wb3J0IHsgSW5wdXRNZXNzYWdlIH0gZnJvbSAnLi4vSW5wdXQvSW5wdXRNZXNzYWdlJztcclxuaW1wb3J0IHsgTGFiZWwsIExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IFZpc3VhbGx5SGlkZGVuIH0gZnJvbSAnLi4vVmlzdWFsbHlIaWRkZW4nO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyBJbnZlcnNlQ29udGV4dCwgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuY29uc3QgU3R5bGVkRm9ybUZpZWxkQ29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgZGlzcGxheTogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgPyAnZmxleCcgOiAnJ307XG4gIGxhYmVsIHtcbiAgICBmbGV4LWJhc2lzOiAke3Byb3BzID0+IHByb3BzLmxhYmVsV2lkdGggJiYgcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0XHJcbiAgICA/IGAke3Byb3BzLmxhYmVsV2lkdGh9JWBcclxuICAgIDogJyd9O1xuICAgIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyA/
|
|
5128
|
+
}, ";}" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1GaWVsZENvbnRhaW5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUTRDIiwiZmlsZSI6IkZvcm1GaWVsZENvbnRhaW5lci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IENoYXJhY3RlckNvdW50ZXIgfSBmcm9tICcuLi9DaGFyYWN0ZXJDb3VudGVyJztcclxuaW1wb3J0IHsgSW5wdXRNZXNzYWdlIH0gZnJvbSAnLi4vSW5wdXQvSW5wdXRNZXNzYWdlJztcclxuaW1wb3J0IHsgTGFiZWwsIExhYmVsUG9zaXRpb24gfSBmcm9tICcuLi9MYWJlbCc7XHJcbmltcG9ydCB7IFZpc3VhbGx5SGlkZGVuIH0gZnJvbSAnLi4vVmlzdWFsbHlIaWRkZW4nO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyBJbnZlcnNlQ29udGV4dCwgdXNlSXNJbnZlcnNlIH0gZnJvbSAnLi4vLi4vaW52ZXJzZSc7XHJcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcclxuY29uc3QgU3R5bGVkRm9ybUZpZWxkQ29udGFpbmVyID0gc3R5bGVkLmRpdiBgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLmlzSW52ZXJzZVxyXG4gICAgPyBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbDEwMFxyXG4gICAgOiBwcm9wcy50aGVtZS5jb2xvcnMubmV1dHJhbH07XG4gIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvZHlGb250fTtcbiAgZGlzcGxheTogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFBvc2l0aW9uID09PSBMYWJlbFBvc2l0aW9uLmxlZnQgPyAnZmxleCcgOiAnJ307XG4gIGxhYmVsIHtcbiAgICBmbGV4LWJhc2lzOiAke3Byb3BzID0+IHByb3BzLmxhYmVsV2lkdGggJiYgcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0XHJcbiAgICA/IGAke3Byb3BzLmxhYmVsV2lkdGh9JWBcclxuICAgIDogJyd9O1xuICAgIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gKHByb3BzLmlucHV0U2l6ZSA9PT0gJ2xhcmdlJyA/ICcxOXB4JyA6ICcnKX07XG4gIH1cbmA7XHJcbi8vIElucHV0IGFuZCBoZWxwZXIgdGV4dCA8ZGl2PiB3cmFwcGVyIGJhc2VkIG9uIGxhYmVsUG9zaXRpb24uXHJcbmNvbnN0IFN0eWxlZElucHV0V3JhcHBlciA9IHN0eWxlZC5kaXYgYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuYDtcclxuLy8gSWYgdGhlIGxhYmVsUG9zaXRpb24gaXMgc2V0IHRvICdsZWZ0JyB0aGVuIGEgPGRpdj4gd3JhcHMgdGhlIElucHV0LCBlcnJvck1lc3NhZ2UsIGhlbHBlck1lc3NhZ2UsIGFuZCBDaGFyYWN0ZXJDb3VudGVyIGZvciBwcm9wZXIgc3R5bGluZyBhbGlnbm1lbnQuXHJcbmZ1bmN0aW9uIElucHV0UG9zaXRpb25XcmFwcGVyKHByb3BzKSB7XHJcbiAgICBpZiAocHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0KSB7XHJcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkSW5wdXRXcmFwcGVyLCBudWxsLCBwcm9wcy5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcHJvcHMuY2hpbGRyZW47XHJcbn1cclxuZXhwb3J0IGNvbnN0IEZvcm1GaWVsZENvbnRhaW5lciA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcclxuICAgIGNvbnN0IHsgYWN0aW9uYWJsZSA9IHRydWUsIGNoaWxkcmVuLCBjb250YWluZXJTdHlsZSwgZXJyb3JNZXNzYWdlLCBmaWVsZElkLCBoYXNDaGFyYWN0ZXJDb3VudGVyID0gdHJ1ZSwgaGVscGVyTWVzc2FnZSwgaWNvblBvc2l0aW9uLCBpbnB1dFNpemUsIGlucHV0TGVuZ3RoLCBpc0ludmVyc2U6IGlzSW52ZXJzZVByb3AsIGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbiwgbGFiZWxTdHlsZSwgbGFiZWxUZXh0LCBsYWJlbFdpZHRoLCBtYXhDb3VudCwgbWF4TGVuZ3RoLCBtZXNzYWdlU3R5bGUsIHRlc3RJZCwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGlzSW52ZXJzZSA9IHVzZUlzSW52ZXJzZShpc0ludmVyc2VQcm9wKTtcclxuICAgIGNvbnN0IGNvdW50UHJvcHMgPSBtYXhDb3VudCB8fCBtYXhMZW5ndGg7XHJcbiAgICBjb25zdCBkZXNjcmlwdGlvbklkID0gZXJyb3JNZXNzYWdlIHx8IGhlbHBlck1lc3NhZ2UgfHwgY291bnRQcm9wcyA/IGAke2ZpZWxkSWR9X19kZXNjYCA6IG51bGw7XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW52ZXJzZUNvbnRleHQuUHJvdmlkZXIsIHsgdmFsdWU6IHsgaXNJbnZlcnNlIH0gfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZEZvcm1GaWVsZENvbnRhaW5lciwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBcImRhdGEtdGVzdGlkXCI6IHRlc3RJZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIGlucHV0U2l6ZTogaW5wdXRTaXplLCBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uLCBsYWJlbFdpZHRoOiBsYWJlbFdpZHRoLCByZWY6IHJlZiwgc3R5bGU6IGNvbnRhaW5lclN0eWxlLCB0aGVtZTogdGhlbWUgfSksXHJcbiAgICAgICAgICAgIGxhYmVsVGV4dCAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChMYWJlbCwgeyBhY3Rpb25hYmxlOiBhY3Rpb25hYmxlLCBodG1sRm9yOiBmaWVsZElkLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiwgc2l6ZTogaW5wdXRTaXplLCBzdHlsZTogbGFiZWxTdHlsZSB9LCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4gPyAoUmVhY3QuY3JlYXRlRWxlbWVudChWaXN1YWxseUhpZGRlbiwgbnVsbCwgbGFiZWxUZXh0KSkgOiAobGFiZWxUZXh0KSkpLFxyXG4gICAgICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0UG9zaXRpb25XcmFwcGVyLCB7IGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24sIGxhYmVsV2lkdGg6IGxhYmVsV2lkdGggfSxcclxuICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxyXG4gICAgICAgICAgICAgICAgdHlwZW9mIGNvdW50UHJvcHMgPT09ICdudW1iZXInICYmIGhhc0NoYXJhY3RlckNvdW50ZXIgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ2hhcmFjdGVyQ291bnRlciwgeyBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBpZDogZGVzY3JpcHRpb25JZCwgaW5wdXRMZW5ndGg6IGlucHV0TGVuZ3RoLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgbWF4Q291bnQ6IG1heENvdW50LCBtYXhMZW5ndGg6IG1heExlbmd0aCwgdGVzdElkOiB0ZXN0SWQgJiYgYCR7dGVzdElkfS1jaGFyYWN0ZXItY291bnRlcmAgfSkpLFxyXG4gICAgICAgICAgICAgICAgKGVycm9yTWVzc2FnZSB8fCBoZWxwZXJNZXNzYWdlKSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dE1lc3NhZ2UsIHsgaGFzRXJyb3I6ICEhZXJyb3JNZXNzYWdlLCBpZDogZGVzY3JpcHRpb25JZCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIHN0eWxlOiBtZXNzYWdlU3R5bGUgfSwgKGVycm9yTWVzc2FnZSB8fCBoZWxwZXJNZXNzYWdlKSAmJiAoUmVhY3QuY3JlYXRlRWxlbWVudChSZWFjdC5GcmFnbWVudCwgbnVsbCwgZXJyb3JNZXNzYWdlID8gZXJyb3JNZXNzYWdlIDogaGVscGVyTWVzc2FnZSkpKSkpKSkpO1xyXG59KTtcclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Rm9ybUZpZWxkQ29udGFpbmVyLmpzLm1hcCJdfQ== */"));
|
|
5127
5129
|
// Input and helper text <div> wrapper based on labelPosition.
|
|
5128
5130
|
var StyledInputWrapper = /*#__PURE__*/_styled("div", {
|
|
5129
5131
|
target: "em9iy460",
|
|
5130
5132
|
label: "StyledInputWrapper"
|
|
5131
5133
|
})( {
|
|
5132
|
-
name: "
|
|
5133
|
-
styles: "flex:1 1 auto",
|
|
5134
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1GaWVsZENvbnRhaW5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JzQyIsImZpbGUiOiJGb3JtRmllbGRDb250YWluZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDaGFyYWN0ZXJDb3VudGVyIH0gZnJvbSAnLi4vQ2hhcmFjdGVyQ291bnRlcic7XHJcbmltcG9ydCB7IElucHV0TWVzc2FnZSB9IGZyb20gJy4uL0lucHV0L0lucHV0TWVzc2FnZSc7XHJcbmltcG9ydCB7IExhYmVsLCBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBWaXN1YWxseUhpZGRlbiB9IGZyb20gJy4uL1Zpc3VhbGx5SGlkZGVuJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgSW52ZXJzZUNvbnRleHQsIHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmNvbnN0IFN0eWxlZEZvcm1GaWVsZENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWx9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGRpc3BsYXk6ICR7cHJvcHMgPT4gcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0ID8gJ2ZsZXgnIDogJyd9O1xuICBsYWJlbCB7XG4gICAgZmxleC1iYXNpczogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFdpZHRoICYmIHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdFxyXG4gICAgPyBgJHtwcm9wcy5sYWJlbFdpZHRofSVgXHJcbiAgICA6ICcnfTtcbiAgICBtYXJnaW4tdG9wOiAke3Byb3BzID0+
|
|
5134
|
+
name: "118yi7l",
|
|
5135
|
+
styles: "flex:1 1 auto;align-self:center",
|
|
5136
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm1GaWVsZENvbnRhaW5lci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JzQyIsImZpbGUiOiJGb3JtRmllbGRDb250YWluZXIudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xyXG5pbXBvcnQgeyBDaGFyYWN0ZXJDb3VudGVyIH0gZnJvbSAnLi4vQ2hhcmFjdGVyQ291bnRlcic7XHJcbmltcG9ydCB7IElucHV0TWVzc2FnZSB9IGZyb20gJy4uL0lucHV0L0lucHV0TWVzc2FnZSc7XHJcbmltcG9ydCB7IExhYmVsLCBMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi4vTGFiZWwnO1xyXG5pbXBvcnQgeyBWaXN1YWxseUhpZGRlbiB9IGZyb20gJy4uL1Zpc3VhbGx5SGlkZGVuJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgSW52ZXJzZUNvbnRleHQsIHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XHJcbmNvbnN0IFN0eWxlZEZvcm1GaWVsZENvbnRhaW5lciA9IHN0eWxlZC5kaXYgYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5pc0ludmVyc2VcclxuICAgID8gcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWwxMDBcclxuICAgIDogcHJvcHMudGhlbWUuY29sb3JzLm5ldXRyYWx9O1xuICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib2R5Rm9udH07XG4gIGRpc3BsYXk6ICR7cHJvcHMgPT4gcHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0ID8gJ2ZsZXgnIDogJyd9O1xuICBsYWJlbCB7XG4gICAgZmxleC1iYXNpczogJHtwcm9wcyA9PiBwcm9wcy5sYWJlbFdpZHRoICYmIHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdFxyXG4gICAgPyBgJHtwcm9wcy5sYWJlbFdpZHRofSVgXHJcbiAgICA6ICcnfTtcbiAgICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IChwcm9wcy5pbnB1dFNpemUgPT09ICdsYXJnZScgPyAnMTlweCcgOiAnJyl9O1xuICB9XG5gO1xyXG4vLyBJbnB1dCBhbmQgaGVscGVyIHRleHQgPGRpdj4gd3JhcHBlciBiYXNlZCBvbiBsYWJlbFBvc2l0aW9uLlxyXG5jb25zdCBTdHlsZWRJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2IGBcbiAgZmxleDogMSAxIGF1dG87XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbmA7XHJcbi8vIElmIHRoZSBsYWJlbFBvc2l0aW9uIGlzIHNldCB0byAnbGVmdCcgdGhlbiBhIDxkaXY+IHdyYXBzIHRoZSBJbnB1dCwgZXJyb3JNZXNzYWdlLCBoZWxwZXJNZXNzYWdlLCBhbmQgQ2hhcmFjdGVyQ291bnRlciBmb3IgcHJvcGVyIHN0eWxpbmcgYWxpZ25tZW50LlxyXG5mdW5jdGlvbiBJbnB1dFBvc2l0aW9uV3JhcHBlcihwcm9wcykge1xyXG4gICAgaWYgKHByb3BzLmxhYmVsUG9zaXRpb24gPT09IExhYmVsUG9zaXRpb24ubGVmdCkge1xyXG4gICAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZElucHV0V3JhcHBlciwgbnVsbCwgcHJvcHMuY2hpbGRyZW4pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByb3BzLmNoaWxkcmVuO1xyXG59XHJcbmV4cG9ydCBjb25zdCBGb3JtRmllbGRDb250YWluZXIgPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGFjdGlvbmFibGUgPSB0cnVlLCBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGVycm9yTWVzc2FnZSwgZmllbGRJZCwgaGFzQ2hhcmFjdGVyQ291bnRlciA9IHRydWUsIGhlbHBlck1lc3NhZ2UsIGljb25Qb3NpdGlvbiwgaW5wdXRTaXplLCBpbnB1dExlbmd0aCwgaXNJbnZlcnNlOiBpc0ludmVyc2VQcm9wLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGxhYmVsUG9zaXRpb24sIGxhYmVsU3R5bGUsIGxhYmVsVGV4dCwgbGFiZWxXaWR0aCwgbWF4Q291bnQsIG1heExlbmd0aCwgbWVzc2FnZVN0eWxlLCB0ZXN0SWQsIC4uLnJlc3QgfSA9IHByb3BzO1xyXG4gICAgY29uc3QgdGhlbWUgPSBSZWFjdC51c2VDb250ZXh0KFRoZW1lQ29udGV4dCk7XHJcbiAgICBjb25zdCBpc0ludmVyc2UgPSB1c2VJc0ludmVyc2UoaXNJbnZlcnNlUHJvcCk7XHJcbiAgICBjb25zdCBjb3VudFByb3BzID0gbWF4Q291bnQgfHwgbWF4TGVuZ3RoO1xyXG4gICAgY29uc3QgZGVzY3JpcHRpb25JZCA9IGVycm9yTWVzc2FnZSB8fCBoZWxwZXJNZXNzYWdlIHx8IGNvdW50UHJvcHMgPyBgJHtmaWVsZElkfV9fZGVzY2AgOiBudWxsO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KEludmVyc2VDb250ZXh0LlByb3ZpZGVyLCB7IHZhbHVlOiB7IGlzSW52ZXJzZSB9IH0sXHJcbiAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChTdHlsZWRGb3JtRmllbGRDb250YWluZXIsIE9iamVjdC5hc3NpZ24oe30sIHJlc3QsIHsgXCJkYXRhLXRlc3RpZFwiOiB0ZXN0SWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiwgbGFiZWxXaWR0aDogbGFiZWxXaWR0aCwgcmVmOiByZWYsIHN0eWxlOiBjb250YWluZXJTdHlsZSwgdGhlbWU6IHRoZW1lIH0pLFxyXG4gICAgICAgICAgICBsYWJlbFRleHQgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGFiZWwsIHsgYWN0aW9uYWJsZTogYWN0aW9uYWJsZSwgaHRtbEZvcjogZmllbGRJZCwgaWNvblBvc2l0aW9uOiBpY29uUG9zaXRpb24sIGxhYmVsUG9zaXRpb246IGxhYmVsUG9zaXRpb24sIHNpemU6IGlucHV0U2l6ZSwgc3R5bGU6IGxhYmVsU3R5bGUgfSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuID8gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoVmlzdWFsbHlIaWRkZW4sIG51bGwsIGxhYmVsVGV4dCkpIDogKGxhYmVsVGV4dCkpKSxcclxuICAgICAgICAgICAgUmVhY3QuY3JlYXRlRWxlbWVudChJbnB1dFBvc2l0aW9uV3JhcHBlciwgeyBsYWJlbFBvc2l0aW9uOiBsYWJlbFBvc2l0aW9uLCBsYWJlbFdpZHRoOiBsYWJlbFdpZHRoIH0sXHJcbiAgICAgICAgICAgICAgICBjaGlsZHJlbixcclxuICAgICAgICAgICAgICAgIHR5cGVvZiBjb3VudFByb3BzID09PSAnbnVtYmVyJyAmJiBoYXNDaGFyYWN0ZXJDb3VudGVyICYmIChSZWFjdC5jcmVhdGVFbGVtZW50KENoYXJhY3RlckNvdW50ZXIsIHsgaGFzQ2hhcmFjdGVyQ291bnRlcjogaGFzQ2hhcmFjdGVyQ291bnRlciwgaWQ6IGRlc2NyaXB0aW9uSWQsIGlucHV0TGVuZ3RoOiBpbnB1dExlbmd0aCwgaXNJbnZlcnNlOiBpc0ludmVyc2UsIG1heENvdW50OiBtYXhDb3VudCwgbWF4TGVuZ3RoOiBtYXhMZW5ndGgsIHRlc3RJZDogdGVzdElkICYmIGAke3Rlc3RJZH0tY2hhcmFjdGVyLWNvdW50ZXJgIH0pKSxcclxuICAgICAgICAgICAgICAgIChlcnJvck1lc3NhZ2UgfHwgaGVscGVyTWVzc2FnZSkgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoSW5wdXRNZXNzYWdlLCB7IGhhc0Vycm9yOiAhIWVycm9yTWVzc2FnZSwgaWQ6IGRlc2NyaXB0aW9uSWQsIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBzdHlsZTogbWVzc2FnZVN0eWxlIH0sIChlcnJvck1lc3NhZ2UgfHwgaGVscGVyTWVzc2FnZSkgJiYgKFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIGVycm9yTWVzc2FnZSA/IGVycm9yTWVzc2FnZSA6IGhlbHBlck1lc3NhZ2UpKSkpKSkpKTtcclxufSk7XHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUZvcm1GaWVsZENvbnRhaW5lci5qcy5tYXAiXX0= */",
|
|
5135
5137
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$c
|
|
5136
5138
|
});
|
|
5137
5139
|
// If the labelPosition is set to 'left' then a <div> wraps the Input, errorMessage, helperMessage, and CharacterCounter for proper styling alignment.
|
|
@@ -6896,6 +6898,37 @@ var CalendarMonth = function CalendarMonth(props) {
|
|
|
6896
6898
|
};
|
|
6897
6899
|
|
|
6898
6900
|
var _excluded$F = ["children", "containerStyle", "errorMessage", "hasCharacterCounter", "helperMessage", "iconPosition", "id", "inputSize", "isLabelVisuallyHidden", "labelPosition", "labelStyle", "labelText", "labelWidth", "maxCount", "maxLength", "messageStyle", "testId", "value", "setReference"];
|
|
6901
|
+
var getLabelStyles = function getLabelStyles(props) {
|
|
6902
|
+
var marginBlock = isLeftOrHidden(props) ? '0' : "0 " + props.theme.spaceScale.spacing03;
|
|
6903
|
+
var marginInline = isLeftOrHidden(props) ? "0 " + props.theme.spaceScale.spacing03 : '0';
|
|
6904
|
+
var maxWidth = isLeftOrHidden(props) ? 'auto' : "calc(100% - " + getHelpIconButtonSize(props) + " - " + props.theme.spaceScale.spacing03 + ")";
|
|
6905
|
+
var minHeight;
|
|
6906
|
+
if (props.labelPosition === exports.LabelPosition.left) {
|
|
6907
|
+
minHeight = props.InputSize === exports.InputSize.large ? props.theme.spaceScale.spacing11 : props.theme.spaceScale.spacing09;
|
|
6908
|
+
} else {
|
|
6909
|
+
minHeight = 'auto';
|
|
6910
|
+
}
|
|
6911
|
+
var justifyContent = isLeftOrHidden(props) ? 'end' : 'start';
|
|
6912
|
+
return {
|
|
6913
|
+
marginBlock: marginBlock,
|
|
6914
|
+
marginInline: marginInline,
|
|
6915
|
+
maxWidth: maxWidth,
|
|
6916
|
+
minHeight: minHeight,
|
|
6917
|
+
justifyContent: justifyContent
|
|
6918
|
+
};
|
|
6919
|
+
};
|
|
6920
|
+
var StyledFormFieldContainer$2 = /*#__PURE__*/_styled(FormFieldContainer, {
|
|
6921
|
+
target: "ehw300c0",
|
|
6922
|
+
label: "StyledFormFieldContainer"
|
|
6923
|
+
})("position:relative;align-items:start;label{", function (props) {
|
|
6924
|
+
var _getLabelStyles = getLabelStyles(props),
|
|
6925
|
+
marginBlock = _getLabelStyles.marginBlock,
|
|
6926
|
+
marginInline = _getLabelStyles.marginInline,
|
|
6927
|
+
maxWidth = _getLabelStyles.maxWidth,
|
|
6928
|
+
minHeight = _getLabelStyles.minHeight,
|
|
6929
|
+
justifyContent = _getLabelStyles.justifyContent;
|
|
6930
|
+
return "\n margin-block: " + marginBlock + ";\n margin-inline: " + marginInline + ";\n max-width: " + maxWidth + ";\n min-height: " + minHeight + ";\n justify-content: " + justifyContent + ";\n ";
|
|
6931
|
+
}, " display:flex;align-items:center;}" + ( "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQzREIiwiZmlsZSI6ImluZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XHJcbmltcG9ydCB7IHVzZUlzSW52ZXJzZSB9IGZyb20gJy4uLy4uL2ludmVyc2UnO1xyXG5pbXBvcnQgeyB1c2VHZW5lcmF0ZUlkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRDb250YWluZXIsIH0gZnJvbSAnLi4vRm9ybUZpZWxkQ29udGFpbmVyJztcclxuaW1wb3J0IHsgZ2V0SGVscEljb25CdXR0b25TaXplLCBJbnB1dEJhc2UsIElucHV0U2l6ZSwgaXNMZWZ0T3JIaWRkZW4sIH0gZnJvbSAnLi4vSW5wdXRCYXNlJztcclxuaW1wb3J0IHsgTGFiZWxQb3NpdGlvbiB9IGZyb20gJy4uL0xhYmVsJztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5jb25zdCBnZXRMYWJlbFN0eWxlcyA9IChwcm9wcykgPT4ge1xyXG4gICAgY29uc3QgbWFyZ2luQmxvY2sgPSBpc0xlZnRPckhpZGRlbihwcm9wcylcclxuICAgICAgICA/ICcwJ1xyXG4gICAgICAgIDogYDAgJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM31gO1xyXG4gICAgY29uc3QgbWFyZ2luSW5saW5lID0gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICAgICAgPyBgMCAke3Byb3BzLnRoZW1lLnNwYWNlU2NhbGUuc3BhY2luZzAzfWBcclxuICAgICAgICA6ICcwJztcclxuICAgIGNvbnN0IG1heFdpZHRoID0gaXNMZWZ0T3JIaWRkZW4ocHJvcHMpXHJcbiAgICAgICAgPyAnYXV0bydcclxuICAgICAgICA6IGBjYWxjKDEwMCUgLSAke2dldEhlbHBJY29uQnV0dG9uU2l6ZShwcm9wcyl9IC0gJHtwcm9wcy50aGVtZS5zcGFjZVNjYWxlLnNwYWNpbmcwM30pYDtcclxuICAgIGxldCBtaW5IZWlnaHQ7XHJcbiAgICBpZiAocHJvcHMubGFiZWxQb3NpdGlvbiA9PT0gTGFiZWxQb3NpdGlvbi5sZWZ0KSB7XHJcbiAgICAgICAgbWluSGVpZ2h0ID1cclxuICAgICAgICAgICAgcHJvcHMuSW5wdXRTaXplID09PSBJbnB1dFNpemUubGFyZ2VcclxuICAgICAgICAgICAgICAgID8gcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMTFcclxuICAgICAgICAgICAgICAgIDogcHJvcHMudGhlbWUuc3BhY2VTY2FsZS5zcGFjaW5nMDk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgICBtaW5IZWlnaHQgPSAnYXV0byc7XHJcbiAgICB9XHJcbiAgICBjb25zdCBqdXN0aWZ5Q29udGVudCA9IGlzTGVmdE9ySGlkZGVuKHByb3BzKSA/ICdlbmQnIDogJ3N0YXJ0JztcclxuICAgIHJldHVybiB7IG1hcmdpbkJsb2NrLCBtYXJnaW5JbmxpbmUsIG1heFdpZHRoLCBtaW5IZWlnaHQsIGp1c3RpZnlDb250ZW50IH07XHJcbn07XHJcbmNvbnN0IFN0eWxlZEZvcm1GaWVsZENvbnRhaW5lciA9IHN0eWxlZChGb3JtRmllbGRDb250YWluZXIpIGBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG5cbiAgbGFiZWwge1xuICAgICR7cHJvcHMgPT4ge1xyXG4gICAgY29uc3QgeyBtYXJnaW5CbG9jaywgbWFyZ2luSW5saW5lLCBtYXhXaWR0aCwgbWluSGVpZ2h0LCBqdXN0aWZ5Q29udGVudCB9ID0gZ2V0TGFiZWxTdHlsZXMocHJvcHMpO1xyXG4gICAgcmV0dXJuIGBcbiAgICAgICAgbWFyZ2luLWJsb2NrOiAke21hcmdpbkJsb2NrfTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogJHttYXJnaW5JbmxpbmV9O1xuICAgICAgICBtYXgtd2lkdGg6ICR7bWF4V2lkdGh9O1xuICAgICAgICBtaW4taGVpZ2h0OiAke21pbkhlaWdodH07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHtqdXN0aWZ5Q29udGVudH07XG4gICAgICBgO1xyXG59fVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuYDtcclxuZXhwb3J0IGNvbnN0IElucHV0ID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiwgY29udGFpbmVyU3R5bGUsIGVycm9yTWVzc2FnZSwgaGFzQ2hhcmFjdGVyQ291bnRlciA9IHRydWUsIGhlbHBlck1lc3NhZ2UsIGljb25Qb3NpdGlvbiwgaWQ6IGRlZmF1bHRJZCwgaW5wdXRTaXplID0gSW5wdXRTaXplLm1lZGl1bSwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuLCBsYWJlbFBvc2l0aW9uLCBsYWJlbFN0eWxlLCBsYWJlbFRleHQsIGxhYmVsV2lkdGgsIG1heENvdW50LCBtYXhMZW5ndGgsIG1lc3NhZ2VTdHlsZSwgdGVzdElkLCB2YWx1ZSwgc2V0UmVmZXJlbmNlLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBpZCA9IHVzZUdlbmVyYXRlSWQoZGVmYXVsdElkKTtcclxuICAgIGNvbnN0IGRlc2NyaXB0aW9uSWQgPSBlcnJvck1lc3NhZ2UgfHwgaGVscGVyTWVzc2FnZSB8fCBtYXhDb3VudCB8fCBtYXhMZW5ndGhcclxuICAgICAgICA/IGAke2lkfV9fZGVzY2BcclxuICAgICAgICA6IG51bGw7XHJcbiAgICBjb25zdCBtYXhDaGFyYWN0ZXJzID0gdHlwZW9mIG1heENvdW50ID09PSAnbnVtYmVyJyA/IG1heENvdW50IDogbWF4TGVuZ3RoO1xyXG4gICAgY29uc3QgbWF4TGVuZ3RoTnVtID0gIWhhc0NoYXJhY3RlckNvdW50ZXIgJiYgbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgaXNJbnZlcnNlID0gdXNlSXNJbnZlcnNlKHByb3BzLmlzSW52ZXJzZSk7XHJcbiAgICBjb25zdCBbY2hhcmFjdGVyTGVuZ3RoLCBzZXRDaGFyYWN0ZXJMZW5ndGhdID0gdXNlU3RhdGUodmFsdWU/LnRvU3RyaW5nKCkubGVuZ3RoKTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBzZXRDaGFyYWN0ZXJMZW5ndGgodmFsdWU/LnRvU3RyaW5nKCkubGVuZ3RoKTtcclxuICAgIH0sIFt2YWx1ZV0pO1xyXG4gICAgZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICAgICAgcHJvcHMub25DaGFuZ2UgJiZcclxuICAgICAgICAgICAgdHlwZW9mIHByb3BzLm9uQ2hhbmdlID09PSAnZnVuY3Rpb24nICYmXHJcbiAgICAgICAgICAgIHByb3BzLm9uQ2hhbmdlKGV2ZW50KTtcclxuICAgICAgICBzZXRDaGFyYWN0ZXJMZW5ndGgoZXZlbnQudGFyZ2V0LnZhbHVlLmxlbmd0aCk7XHJcbiAgICB9XHJcbiAgICBmdW5jdGlvbiBoYW5kbGVDbGVhcigpIHtcclxuICAgICAgICBwcm9wcy5vbkNsZWFyICYmIHR5cGVvZiBwcm9wcy5vbkNsZWFyID09PSAnZnVuY3Rpb24nICYmIHByb3BzLm9uQ2xlYXIoKTtcclxuICAgICAgICBzZXRDaGFyYWN0ZXJMZW5ndGgoMCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFJlYWN0LmNyZWF0ZUVsZW1lbnQoU3R5bGVkRm9ybUZpZWxkQ29udGFpbmVyLCB7IGNvbnRhaW5lclN0eWxlOiBjb250YWluZXJTdHlsZSwgZXJyb3JNZXNzYWdlOiBlcnJvck1lc3NhZ2UsIGZpZWxkSWQ6IGlkLCBoYXNDaGFyYWN0ZXJDb3VudGVyOiBoYXNDaGFyYWN0ZXJDb3VudGVyLCBoZWxwZXJNZXNzYWdlOiBoZWxwZXJNZXNzYWdlLCBpY29uUG9zaXRpb246IGljb25Qb3NpdGlvbiwgaXNMYWJlbFZpc3VhbGx5SGlkZGVuOiBpc0xhYmVsVmlzdWFsbHlIaWRkZW4sIGlzSW52ZXJzZTogaXNJbnZlcnNlLCBpbnB1dFNpemU6IGlucHV0U2l6ZSwgaW5wdXRMZW5ndGg6IGNoYXJhY3Rlckxlbmd0aCwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiwgbGFiZWxTdHlsZTogbGFiZWxTdHlsZSwgbGFiZWxUZXh0OiBsYWJlbFRleHQsIGxhYmVsV2lkdGg6IGxhYmVsV2lkdGgsIG1heExlbmd0aDogbWF4TGVuZ3RoLCBtYXhDb3VudDogbWF4Q291bnQsIG1lc3NhZ2VTdHlsZTogbWVzc2FnZVN0eWxlLCB0ZXN0SWQ6IHRlc3RJZCAmJiBgJHt0ZXN0SWR9LWZvcm1GaWVsZENvbnRhaW5lcmAsIHRoZW1lOiB0aGVtZSwgSW5wdXRTaXplOiBpbnB1dFNpemUgfSxcclxuICAgICAgICBSZWFjdC5jcmVhdGVFbGVtZW50KElucHV0QmFzZSwgT2JqZWN0LmFzc2lnbih7fSwgb3RoZXIsIHsgXCJhcmlhLWRlc2NyaWJlZGJ5XCI6IGRlc2NyaXB0aW9uSWQgPz8gcHJvcHNbJ2FyaWEtZGVzY3JpYmVkYnknXSwgXCJhcmlhLWludmFsaWRcIjogISFlcnJvck1lc3NhZ2UsIGhhc0Vycm9yOiAhIWVycm9yTWVzc2FnZSB8fFxyXG4gICAgICAgICAgICAgICAgKGhhc0NoYXJhY3RlckNvdW50ZXIgJiYgY2hhcmFjdGVyTGVuZ3RoID4gbWF4Q2hhcmFjdGVycyksIGljb25Qb3NpdGlvbjogaWNvblBvc2l0aW9uLCBpZDogaWQsIGlucHV0U2l6ZTogaW5wdXRTaXplLCBpbnB1dExlbmd0aDogY2hhcmFjdGVyTGVuZ3RoLCBpc0ludmVyc2U6IGlzSW52ZXJzZSwgbWF4TGVuZ3RoOiBtYXhMZW5ndGhOdW0sIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIG9uQ2xlYXI6IGhhbmRsZUNsZWFyLCBvbkRhdGVDaGFuZ2U6IHByb3BzLm9uRGF0ZUNoYW5nZSwgcmVmOiByZWYsIHNldFJlZmVyZW5jZTogc2V0UmVmZXJlbmNlLCB0ZXN0SWQ6IHRlc3RJZCwgdmFsdWU6IHZhbHVlLCBpc0xhYmVsVmlzdWFsbHlIaWRkZW46IGlzTGFiZWxWaXN1YWxseUhpZGRlbiwgbGFiZWxQb3NpdGlvbjogbGFiZWxQb3NpdGlvbiB9KSwgY2hpbGRyZW4pKSk7XHJcbn0pO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXX0= */"));
|
|
6899
6932
|
var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
6900
6933
|
var children = props.children,
|
|
6901
6934
|
containerStyle = props.containerStyle,
|
|
@@ -6927,6 +6960,7 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
6927
6960
|
var _useState = React.useState(value == null ? void 0 : value.toString().length),
|
|
6928
6961
|
characterLength = _useState[0],
|
|
6929
6962
|
setCharacterLength = _useState[1];
|
|
6963
|
+
var theme = React.useContext(ThemeContext);
|
|
6930
6964
|
React.useEffect(function () {
|
|
6931
6965
|
setCharacterLength(value == null ? void 0 : value.toString().length);
|
|
6932
6966
|
}, [value]);
|
|
@@ -6938,7 +6972,7 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
6938
6972
|
props.onClear && typeof props.onClear === 'function' && props.onClear();
|
|
6939
6973
|
setCharacterLength(0);
|
|
6940
6974
|
}
|
|
6941
|
-
return React.createElement(
|
|
6975
|
+
return React.createElement(StyledFormFieldContainer$2, {
|
|
6942
6976
|
containerStyle: containerStyle,
|
|
6943
6977
|
errorMessage: errorMessage,
|
|
6944
6978
|
fieldId: id,
|
|
@@ -6956,7 +6990,9 @@ var Input = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
6956
6990
|
maxLength: maxLength,
|
|
6957
6991
|
maxCount: maxCount,
|
|
6958
6992
|
messageStyle: messageStyle,
|
|
6959
|
-
testId: testId && testId + "-formFieldContainer"
|
|
6993
|
+
testId: testId && testId + "-formFieldContainer",
|
|
6994
|
+
theme: theme,
|
|
6995
|
+
InputSize: inputSize
|
|
6960
6996
|
}, React.createElement(InputBase, Object.assign({}, other, {
|
|
6961
6997
|
"aria-describedby": descriptionId != null ? descriptionId : props['aria-describedby'],
|
|
6962
6998
|
"aria-invalid": !!errorMessage,
|