UNPKG

adui

Version:

<div> <img src="https://wxa.wxs.qq.com/mpweb/delivery/legacy/wxadtouch/upload/t1/od834zef_52939fc6.png" style="margin:40px 0 0 -8px; background-color: #fcfcfc; box-shadow: none;" /> </div>

157 lines 23.9 kB
var _excluded = ["afterLeave", "animation", "appear", "children", "duration", "onLeave", "transition"]; function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; } import * as React from "react"; import PropTypes from "prop-types"; import Animate from "rc-animate"; var noop = function noop() {}; var MOTION_DURATION_BASE = 200; var transitionNames = { slide: "slide-up", zoom: "zoom-motion", zoomHorizontal: "zoom-motion-horizontal" }; var Motion = function Motion(_ref) { var afterLeave = _ref.afterLeave, animation = _ref.animation, _appear = _ref.appear, children = _ref.children, duration = _ref.duration, onLeave = _ref.onLeave, transition = _ref.transition, othersProps = _objectWithoutProperties(_ref, _excluded); var dur = duration !== null && duration !== undefined ? duration : MOTION_DURATION_BASE; var transitionName = transition && transitionNames[transition]; var getNodeStyle = function getNodeStyle(node, styleName) { return getComputedStyle(node).getPropertyValue(styleName); }; var setNodeStyle = function setNodeStyle(node) { if (node) { if (transitionName && transitionName.includes("horizontal")) { node.style.marginRight = "0"; node.style.marginLeft = "0"; node.style.paddingRight = "0"; node.style.paddingLeft = "0"; node.style.width = "0"; } else { node.style.marginTop = "0"; node.style.marginBottom = "0"; node.style.paddingTop = "0"; node.style.paddingBottom = "0"; node.style.height = "0"; } } }; var getEnterAnimation = function getEnterAnimation(node, done) { var width = "".concat(node.getBoundingClientRect().width, "px"); var height = "".concat(node.getBoundingClientRect().height, "px"); var paddingTop = getNodeStyle(node, "padding-top"); var paddingRight = getNodeStyle(node, "padding-right"); var paddingBottom = getNodeStyle(node, "padding-bottom"); var paddingLeft = getNodeStyle(node, "padding-left"); if (transitionName && transitionName.includes("slide")) { node.style.opacity = "1"; } if (transitionName && transitionName.includes("horizontal")) { node.style.width = "0"; node.style.paddingRight = "0"; node.style.paddingLeft = "0"; } else { node.style.height = "0"; node.style.paddingTop = "0"; node.style.paddingBottom = "0"; } node.style.overflow = "hidden"; node.style.setProperty("animation-duration", "".concat(dur, "ms"), "important"); node.classList.add("".concat(transitionName, "-enter"), "".concat(transitionName, "-enter-active")); setTimeout(function () { if (transitionName && transitionName.includes("horizontal")) { node.style.transition = "all ".concat(dur, "ms var(--ease-in-out)"); node.style.width = width; node.style.paddingRight = paddingRight; node.style.paddingLeft = paddingLeft; } else { node.style.transition = "all ".concat(dur, "ms var(--ease-in-out)"); node.style.height = height; node.style.paddingTop = paddingTop; node.style.paddingBottom = paddingBottom; } }, 10); var promise = new Promise(function (resolve) { return setTimeout(resolve, dur); }); promise.then(function () { node.classList.remove("".concat(transitionName, "-enter"), "".concat(transitionName, "-enter-active")); if (transitionName && transitionName.includes("horizontal")) { node.style.width = ""; } else { node.style.height = ""; } node.style.overflow = ""; return done(); }); }; return React.createElement(Animate, _extends({ animation: animation || { appear: function appear(node, done) { if (_appear) { getEnterAnimation(node, done); } return done(); }, enter: function enter(node, done) { getEnterAnimation(node, done); }, leave: function leave(node, done) { if (onLeave) { onLeave(node); } if (transitionName && transitionName.includes("horizontal")) { var width = "".concat(node.getBoundingClientRect().width, "px"); node.style.width = width; } else { var height = "".concat(node.getBoundingClientRect().height, "px"); node.style.height = height; } node.style.setProperty("animation-duration", "".concat(dur, "ms"), "important"); node.style.overflow = "hidden"; node.classList.remove("".concat(transitionName, "-enter"), "".concat(transitionName, "-enter-active")); node.classList.add("".concat(transitionName, "-leave"), "".concat(transitionName, "-leave-active")); setTimeout(function () { node.style.transition = "all ".concat(dur, "ms var(--ease-in-out)"); setNodeStyle(node); }, 10); var promise = new Promise(function (resolve) { return setTimeout(resolve, dur); }); promise.then(function () { if (afterLeave) { afterLeave(node); } return done(); }); } } }, othersProps), children); }; Motion.propTypes = { afterLeave: PropTypes.func, animation: PropTypes.object, appear: PropTypes.bool, children: PropTypes.node, duration: PropTypes.number, onLeave: PropTypes.func, transition: PropTypes.oneOf(["slide", "zoom", "zoomHorizontal"]) }; Motion.defaultProps = { afterLeave: noop, animation: undefined, appear: false, children: null, duration: undefined, onLeave: noop, transition: "zoom" }; export default Motion; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlByb3BUeXBlcyIsIkFuaW1hdGUiLCJub29wIiwiTU9USU9OX0RVUkFUSU9OX0JBU0UiLCJ0cmFuc2l0aW9uTmFtZXMiLCJzbGlkZSIsInpvb20iLCJ6b29tSG9yaXpvbnRhbCIsIk1vdGlvbiIsIl9yZWYiLCJhZnRlckxlYXZlIiwiYW5pbWF0aW9uIiwiYXBwZWFyIiwiY2hpbGRyZW4iLCJkdXJhdGlvbiIsIm9uTGVhdmUiLCJ0cmFuc2l0aW9uIiwib3RoZXJzUHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJkdXIiLCJ1bmRlZmluZWQiLCJ0cmFuc2l0aW9uTmFtZSIsImdldE5vZGVTdHlsZSIsIm5vZGUiLCJzdHlsZU5hbWUiLCJnZXRDb21wdXRlZFN0eWxlIiwiZ2V0UHJvcGVydHlWYWx1ZSIsInNldE5vZGVTdHlsZSIsImluY2x1ZGVzIiwic3R5bGUiLCJtYXJnaW5SaWdodCIsIm1hcmdpbkxlZnQiLCJwYWRkaW5nUmlnaHQiLCJwYWRkaW5nTGVmdCIsIndpZHRoIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iLCJoZWlnaHQiLCJnZXRFbnRlckFuaW1hdGlvbiIsImRvbmUiLCJjb25jYXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJvcGFjaXR5Iiwib3ZlcmZsb3ciLCJzZXRQcm9wZXJ0eSIsImNsYXNzTGlzdCIsImFkZCIsInNldFRpbWVvdXQiLCJwcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwicmVtb3ZlIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzIiwiZW50ZXIiLCJsZWF2ZSIsInByb3BUeXBlcyIsImZ1bmMiLCJvYmplY3QiLCJib29sIiwibnVtYmVyIiwib25lT2YiLCJkZWZhdWx0UHJvcHMiXSwic291cmNlcyI6WyIuLi8uLi9jb21wb25lbnRzL21vdGlvbi9Nb3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBBbmltYXRlIGZyb20gXCJyYy1hbmltYXRlXCJcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9XG5jb25zdCBNT1RJT05fRFVSQVRJT05fQkFTRSA9IDIwMFxuY29uc3QgdHJhbnNpdGlvbk5hbWVzID0ge1xuICBzbGlkZTogXCJzbGlkZS11cFwiLFxuICB6b29tOiBcInpvb20tbW90aW9uXCIsXG4gIHpvb21Ib3Jpem9udGFsOiBcInpvb20tbW90aW9uLWhvcml6b250YWxcIixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTW90aW9uUHJvcHMge1xuICBba2V5OiBzdHJpbmddOiBhbnlcbiAgLyoqXG4gICAqIGRvbSDnp7vpmaTlkI7nmoQgaGFuZGxlclxuICAgKi9cbiAgYWZ0ZXJMZWF2ZT86IChub2RlOiBIVE1MRWxlbWVudCkgPT4gdm9pZFxuICAvKipcbiAgICog5Y+v6Ieq5a6a5LmJIGFuaW1hdGlvbiDnmoQgYXBwZWFyLCBlbnRlciwgbGVhdmVcbiAgICovXG4gIGFuaW1hdGlvbj86IG9iamVjdFxuICAvKipcbiAgICog6L+b5YWl5Yqo55S75piv5ZCm5L2c55So5LqOIGFwcGVhciDpmLbmrrVcbiAgICovXG4gIGFwcGVhcj86IGJvb2xlYW5cbiAgLyoqXG4gICAqIOWtkOWFg+e0oFxuICAgKi9cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqXG4gICAqIE1vdGlvbiDljIXoo7nlsYLnmoTlhYPntKDmoIfnrb5cbiAgICovXG4gIGNvbXBvbmVudD86IHN0cmluZ1xuICAvKipcbiAgICog5Yqo5pWI5oyB57ut5pe26Ze077yM5Y2V5L2NIG1zXG4gICAqL1xuICBkdXJhdGlvbj86IG51bWJlclxuICAvKipcbiAgICogZG9tIOW8gOWni+enu+mZpOeahCBoYW5kbGVyXG4gICAqL1xuICBvbkxlYXZlPzogKG5vZGU6IEhUTUxFbGVtZW50KSA9PiB2b2lkXG4gIC8qKlxuICAgKiDliqjmlYjlvaLlvI9cbiAgICovXG4gIHRyYW5zaXRpb24/OiBcInNsaWRlXCIgfCBcInpvb21cIiB8IFwiem9vbUhvcml6b250YWxcIlxufVxuXG5jb25zdCBNb3Rpb246IFJlYWN0LkZDPElNb3Rpb25Qcm9wcz4gPSAoe1xuICBhZnRlckxlYXZlLFxuICBhbmltYXRpb24sXG4gIGFwcGVhcixcbiAgY2hpbGRyZW4sXG4gIGR1cmF0aW9uLFxuICBvbkxlYXZlLFxuICB0cmFuc2l0aW9uLFxuICAuLi5vdGhlcnNQcm9wc1xufTogSU1vdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IGR1ciA9XG4gICAgZHVyYXRpb24gIT09IG51bGwgJiYgZHVyYXRpb24gIT09IHVuZGVmaW5lZFxuICAgICAgPyBkdXJhdGlvblxuICAgICAgOiBNT1RJT05fRFVSQVRJT05fQkFTRVxuICBjb25zdCB0cmFuc2l0aW9uTmFtZSA9IHRyYW5zaXRpb24gJiYgdHJhbnNpdGlvbk5hbWVzW3RyYW5zaXRpb25dXG5cbiAgY29uc3QgZ2V0Tm9kZVN0eWxlID0gKG5vZGU6IEhUTUxFbGVtZW50LCBzdHlsZU5hbWU6IHN0cmluZykgPT5cbiAgICBnZXRDb21wdXRlZFN0eWxlKG5vZGUpLmdldFByb3BlcnR5VmFsdWUoc3R5bGVOYW1lKVxuXG4gIGNvbnN0IHNldE5vZGVTdHlsZSA9IChub2RlOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgIGlmIChub2RlKSB7XG4gICAgICBpZiAodHJhbnNpdGlvbk5hbWUgJiYgdHJhbnNpdGlvbk5hbWUuaW5jbHVkZXMoXCJob3Jpem9udGFsXCIpKSB7XG4gICAgICAgIG5vZGUuc3R5bGUubWFyZ2luUmlnaHQgPSBcIjBcIlxuICAgICAgICBub2RlLnN0eWxlLm1hcmdpbkxlZnQgPSBcIjBcIlxuICAgICAgICBub2RlLnN0eWxlLnBhZGRpbmdSaWdodCA9IFwiMFwiXG4gICAgICAgIG5vZGUuc3R5bGUucGFkZGluZ0xlZnQgPSBcIjBcIlxuICAgICAgICBub2RlLnN0eWxlLndpZHRoID0gXCIwXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUuc3R5bGUubWFyZ2luVG9wID0gXCIwXCJcbiAgICAgICAgbm9kZS5zdHlsZS5tYXJnaW5Cb3R0b20gPSBcIjBcIlxuICAgICAgICBub2RlLnN0eWxlLnBhZGRpbmdUb3AgPSBcIjBcIlxuICAgICAgICBub2RlLnN0eWxlLnBhZGRpbmdCb3R0b20gPSBcIjBcIlxuICAgICAgICBub2RlLnN0eWxlLmhlaWdodCA9IFwiMFwiXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZ2V0RW50ZXJBbmltYXRpb24gPSAobm9kZTogSFRNTEVsZW1lbnQsIGRvbmU6ICgpID0+IHZvaWQpID0+IHtcbiAgICBjb25zdCB3aWR0aCA9IGAke25vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9cHhgXG4gICAgY29uc3QgaGVpZ2h0ID0gYCR7bm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9cHhgXG4gICAgY29uc3QgcGFkZGluZ1RvcCA9IGdldE5vZGVTdHlsZShub2RlLCBcInBhZGRpbmctdG9wXCIpXG4gICAgY29uc3QgcGFkZGluZ1JpZ2h0ID0gZ2V0Tm9kZVN0eWxlKG5vZGUsIFwicGFkZGluZy1yaWdodFwiKVxuICAgIGNvbnN0IHBhZGRpbmdCb3R0b20gPSBnZXROb2RlU3R5bGUobm9kZSwgXCJwYWRkaW5nLWJvdHRvbVwiKVxuICAgIGNvbnN0IHBhZGRpbmdMZWZ0ID0gZ2V0Tm9kZVN0eWxlKG5vZGUsIFwicGFkZGluZy1sZWZ0XCIpXG5cbiAgICBpZiAodHJhbnNpdGlvbk5hbWUgJiYgdHJhbnNpdGlvbk5hbWUuaW5jbHVkZXMoXCJzbGlkZVwiKSkge1xuICAgICAgbm9kZS5zdHlsZS5vcGFjaXR5ID0gXCIxXCJcbiAgICB9XG5cbiAgICBpZiAodHJhbnNpdGlvbk5hbWUgJiYgdHJhbnNpdGlvbk5hbWUuaW5jbHVkZXMoXCJob3Jpem9udGFsXCIpKSB7XG4gICAgICBub2RlLnN0eWxlLndpZHRoID0gXCIwXCJcbiAgICAgIG5vZGUuc3R5bGUucGFkZGluZ1JpZ2h0ID0gXCIwXCJcbiAgICAgIG5vZGUuc3R5bGUucGFkZGluZ0xlZnQgPSBcIjBcIlxuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLnN0eWxlLmhlaWdodCA9IFwiMFwiXG4gICAgICBub2RlLnN0eWxlLnBhZGRpbmdUb3AgPSBcIjBcIlxuICAgICAgbm9kZS5zdHlsZS5wYWRkaW5nQm90dG9tID0gXCIwXCJcbiAgICB9XG5cbiAgICBub2RlLnN0eWxlLm92ZXJmbG93ID0gXCJoaWRkZW5cIlxuICAgIG5vZGUuc3R5bGUuc2V0UHJvcGVydHkoXCJhbmltYXRpb24tZHVyYXRpb25cIiwgYCR7ZHVyfW1zYCwgXCJpbXBvcnRhbnRcIilcbiAgICBub2RlLmNsYXNzTGlzdC5hZGQoXG4gICAgICBgJHt0cmFuc2l0aW9uTmFtZX0tZW50ZXJgLFxuICAgICAgYCR7dHJhbnNpdGlvbk5hbWV9LWVudGVyLWFjdGl2ZWBcbiAgICApXG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0cmFuc2l0aW9uTmFtZSAmJiB0cmFuc2l0aW9uTmFtZS5pbmNsdWRlcyhcImhvcml6b250YWxcIikpIHtcbiAgICAgICAgbm9kZS5zdHlsZS50cmFuc2l0aW9uID0gYGFsbCAke2R1cn1tcyB2YXIoLS1lYXNlLWluLW91dClgXG4gICAgICAgIG5vZGUuc3R5bGUud2lkdGggPSB3aWR0aFxuICAgICAgICBub2RlLnN0eWxlLnBhZGRpbmdSaWdodCA9IHBhZGRpbmdSaWdodFxuICAgICAgICBub2RlLnN0eWxlLnBhZGRpbmdMZWZ0ID0gcGFkZGluZ0xlZnRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUuc3R5bGUudHJhbnNpdGlvbiA9IGBhbGwgJHtkdXJ9bXMgdmFyKC0tZWFzZS1pbi1vdXQpYFxuICAgICAgICBub2RlLnN0eWxlLmhlaWdodCA9IGhlaWdodFxuICAgICAgICBub2RlLnN0eWxlLnBhZGRpbmdUb3AgPSBwYWRkaW5nVG9wXG4gICAgICAgIG5vZGUuc3R5bGUucGFkZGluZ0JvdHRvbSA9IHBhZGRpbmdCb3R0b21cbiAgICAgIH1cbiAgICB9LCAxMClcbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgZHVyKSlcbiAgICBwcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgbm9kZS5jbGFzc0xpc3QucmVtb3ZlKFxuICAgICAgICBgJHt0cmFuc2l0aW9uTmFtZX0tZW50ZXJgLFxuICAgICAgICBgJHt0cmFuc2l0aW9uTmFtZX0tZW50ZXItYWN0aXZlYFxuICAgICAgKVxuICAgICAgaWYgKHRyYW5zaXRpb25OYW1lICYmIHRyYW5zaXRpb25OYW1lLmluY2x1ZGVzKFwiaG9yaXpvbnRhbFwiKSkge1xuICAgICAgICBub2RlLnN0eWxlLndpZHRoID0gXCJcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5zdHlsZS5oZWlnaHQgPSBcIlwiXG4gICAgICB9XG4gICAgICBub2RlLnN0eWxlLm92ZXJmbG93ID0gXCJcIlxuICAgICAgcmV0dXJuIGRvbmUoKVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxBbmltYXRlXG4gICAgICBhbmltYXRpb249e1xuICAgICAgICBhbmltYXRpb24gfHwge1xuICAgICAgICAgIGFwcGVhcihub2RlOiBIVE1MRWxlbWVudCwgZG9uZTogKCkgPT4gdm9pZCkge1xuICAgICAgICAgICAgaWYgKGFwcGVhcikge1xuICAgICAgICAgICAgICBnZXRFbnRlckFuaW1hdGlvbihub2RlLCBkb25lKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGRvbmUoKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZW50ZXIobm9kZTogSFRNTEVsZW1lbnQsIGRvbmU6ICgpID0+IHZvaWQpIHtcbiAgICAgICAgICAgIGdldEVudGVyQW5pbWF0aW9uKG5vZGUsIGRvbmUpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsZWF2ZShub2RlOiBIVE1MRWxlbWVudCwgZG9uZTogKCkgPT4gdm9pZCkge1xuICAgICAgICAgICAgaWYgKG9uTGVhdmUpIHtcbiAgICAgICAgICAgICAgb25MZWF2ZShub2RlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRyYW5zaXRpb25OYW1lICYmIHRyYW5zaXRpb25OYW1lLmluY2x1ZGVzKFwiaG9yaXpvbnRhbFwiKSkge1xuICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IGAke25vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGh9cHhgXG4gICAgICAgICAgICAgIG5vZGUuc3R5bGUud2lkdGggPSB3aWR0aFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gYCR7bm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHR9cHhgXG4gICAgICAgICAgICAgIG5vZGUuc3R5bGUuaGVpZ2h0ID0gaGVpZ2h0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub2RlLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgICBcImFuaW1hdGlvbi1kdXJhdGlvblwiLFxuICAgICAgICAgICAgICBgJHtkdXJ9bXNgLFxuICAgICAgICAgICAgICBcImltcG9ydGFudFwiXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBub2RlLnN0eWxlLm92ZXJmbG93ID0gXCJoaWRkZW5cIlxuICAgICAgICAgICAgbm9kZS5jbGFzc0xpc3QucmVtb3ZlKFxuICAgICAgICAgICAgICBgJHt0cmFuc2l0aW9uTmFtZX0tZW50ZXJgLFxuICAgICAgICAgICAgICBgJHt0cmFuc2l0aW9uTmFtZX0tZW50ZXItYWN0aXZlYFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgbm9kZS5jbGFzc0xpc3QuYWRkKFxuICAgICAgICAgICAgICBgJHt0cmFuc2l0aW9uTmFtZX0tbGVhdmVgLFxuICAgICAgICAgICAgICBgJHt0cmFuc2l0aW9uTmFtZX0tbGVhdmUtYWN0aXZlYFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIG5vZGUuc3R5bGUudHJhbnNpdGlvbiA9IGBhbGwgJHtkdXJ9bXMgdmFyKC0tZWFzZS1pbi1vdXQpYFxuICAgICAgICAgICAgICBzZXROb2RlU3R5bGUobm9kZSlcbiAgICAgICAgICAgIH0sIDEwKVxuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIGR1cikpXG4gICAgICAgICAgICBwcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoYWZ0ZXJMZWF2ZSkge1xuICAgICAgICAgICAgICAgIGFmdGVyTGVhdmUobm9kZSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gZG9uZSgpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHsuLi5vdGhlcnNQcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BbmltYXRlPlxuICApXG59XG5cbk1vdGlvbi5wcm9wVHlwZXMgPSB7XG4gIGFmdGVyTGVhdmU6IFByb3BUeXBlcy5mdW5jLFxuICBhbmltYXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gIGFwcGVhcjogUHJvcFR5cGVzLmJvb2wsXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgZHVyYXRpb246IFByb3BUeXBlcy5udW1iZXIsXG4gIG9uTGVhdmU6IFByb3BUeXBlcy5mdW5jLFxuICB0cmFuc2l0aW9uOiBQcm9wVHlwZXMub25lT2YoW1wic2xpZGVcIiwgXCJ6b29tXCIsIFwiem9vbUhvcml6b250YWxcIl0pLFxufVxuXG5Nb3Rpb24uZGVmYXVsdFByb3BzID0ge1xuICBhZnRlckxlYXZlOiBub29wLFxuICBhbmltYXRpb246IHVuZGVmaW5lZCxcbiAgYXBwZWFyOiBmYWxzZSxcbiAgY2hpbGRyZW46IG51bGwsXG4gIGR1cmF0aW9uOiB1bmRlZmluZWQsXG4gIG9uTGVhdmU6IG5vb3AsXG4gIHRyYW5zaXRpb246IFwiem9vbVwiLFxufVxuXG5leHBvcnQgZGVmYXVsdCBNb3Rpb25cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsT0FBT0MsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsT0FBTyxNQUFNLFlBQVk7QUFFaEMsSUFBTUMsSUFBSSxHQUFHLFNBQVBBLElBQUlBLENBQUEsRUFBUyxDQUFDLENBQUM7QUFDckIsSUFBTUMsb0JBQW9CLEdBQUcsR0FBRztBQUNoQyxJQUFNQyxlQUFlLEdBQUc7RUFDdEJDLEtBQUssRUFBRSxVQUFVO0VBQ2pCQyxJQUFJLEVBQUUsYUFBYTtFQUNuQkMsY0FBYyxFQUFFO0FBQ2xCLENBQUM7QUFzQ0QsSUFBTUMsTUFBOEIsR0FBRyxTQUFqQ0EsTUFBOEJBLENBQUFDLElBQUEsRUFTaEI7RUFBQSxJQVJsQkMsVUFBVSxHQUFBRCxJQUFBLENBQVZDLFVBQVU7SUFDVkMsU0FBUyxHQUFBRixJQUFBLENBQVRFLFNBQVM7SUFDVEMsT0FBTSxHQUFBSCxJQUFBLENBQU5HLE1BQU07SUFDTkMsUUFBUSxHQUFBSixJQUFBLENBQVJJLFFBQVE7SUFDUkMsUUFBUSxHQUFBTCxJQUFBLENBQVJLLFFBQVE7SUFDUkMsT0FBTyxHQUFBTixJQUFBLENBQVBNLE9BQU87SUFDUEMsVUFBVSxHQUFBUCxJQUFBLENBQVZPLFVBQVU7SUFDUEMsV0FBVyxHQUFBQyx3QkFBQSxDQUFBVCxJQUFBLEVBQUFVLFNBQUE7RUFFZCxJQUFNQyxHQUFHLEdBQ1BOLFFBQVEsS0FBSyxJQUFJLElBQUlBLFFBQVEsS0FBS08sU0FBUyxHQUN2Q1AsUUFBUSxHQUNSWCxvQkFBb0I7RUFDMUIsSUFBTW1CLGNBQWMsR0FBR04sVUFBVSxJQUFJWixlQUFlLENBQUNZLFVBQVUsQ0FBQztFQUVoRSxJQUFNTyxZQUFZLEdB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