fantasy-ngzorro 2.2.32 → 2.2.34

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.
@@ -165,7 +165,7 @@ export function getTableScrollXViewportWidth(nzTable, hostClass = "hd-table-cont
165
165
  return getTableViewportWidth(nzTable, hostClass);
166
166
  }
167
167
  /**
168
- * 无数据或列宽未超出容器时不启用横向 scroll
168
+ * 无数据或列宽未超出容器时不启用横向 scroll(fluid:表宽 100%,勾选/序号列由 CSS 锁宽)
169
169
  * @param {?} nzTable
170
170
  * @param {?} hasData
171
171
  * @param {?=} colWidth
@@ -274,4 +274,4 @@ export function bindNzTableHeaderBodyScrollSync(nzTable) {
274
274
  body.removeEventListener("scroll", onScroll);
275
275
  });
276
276
  }
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUtc2Nyb2xsLnV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJ1dGlscy9oZC10YWJsZS1zY3JvbGwudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEseUNBR0M7OztJQUZDLGdDQUFXOztJQUNYLGdDQUFXOzs7TUFHUCx1QkFBdUIsR0FBRyxHQUFHOzs7Ozs7QUFFbkMsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUF5QixFQUN6QixTQUFTLEdBQUcsb0JBQW9CO0lBRWhDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDekMsT0FBTyxDQUFDLENBQUM7S0FDVjs7VUFDSyxTQUFTLEdBQUcsbUJBQUEsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBZTs7VUFDakUsVUFBVSxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxhQUFhLENBQ3hDLGlCQUFpQixDQUNsQixFQUFlO0lBQ2hCLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQzVDLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQztLQUMvQjs7VUFDSyxPQUFPLEdBQUcsbUJBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFlO0lBQ3RFLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUM1Qjs7VUFDSyxJQUFJLEdBQUcsbUJBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEVBQWU7SUFDOUQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0tBQ3pCO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDOzs7OztB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RTtRQUNqRCxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztLQUM3QztBQUNILENBQUM7Ozs7Ozs7QUFNRCxNQUFNLFVBQVUsK0JBQStCLENBQzdDLE9BQXlCOztVQUVuQixHQUFHLEdBQUcsd0JBQXdCLENBQUMsT0FBTyxDQUFDO0lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiOztVQUNLLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTTs7VUFDbkIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJOztVQUNmLFFBQVE7OztJQUFHLEdBQUcsRUFBRTtRQUNwQixJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDckM7SUFDSCxDQUFDLENBQUE7SUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLFFBQVEsRUFBRSxDQUFDO0lBQ1g7OztJQUFPLEdBQUcsRUFBRTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE56VGFibGVDb21wb25lbnQgfSBmcm9tIFwibmctem9ycm8tYW50ZC90YWJsZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhkVGFibGVTY3JvbGxDb25maWcge1xuICB4Pzogc3RyaW5nO1xuICB5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBERUZBVUxUX0ZMVUlEX0NPTF9XSURUSCA9IDE1MDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhYmxlVmlld3BvcnRXaWR0aChcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbiAgaG9zdENsYXNzID0gXCJoZC10YWJsZS1jb250YWluZXJcIixcbik6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHNjcm9sbEJvZHkgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICBcIi5hbnQtdGFibGUtYm9keVwiLFxuICApIGFzIEhUTUxFbGVtZW50O1xuICBpZiAoc2Nyb2xsQm9keSAmJiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoID4gMCkge1xuICAgIHJldHVybiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoO1xuICB9XG4gIGNvbnN0IHdyYXBwZXIgPSB0YWJsZU1haW4uY2xvc2VzdChcIi5hbnQtdGFibGUtd3JhcHBlclwiKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKHdyYXBwZXIgJiYgd3JhcHBlci5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gd3JhcHBlci5jbGllbnRXaWR0aDtcbiAgfVxuICBjb25zdCBob3N0ID0gdGFibGVNYWluLmNsb3Nlc3QoYC4ke2hvc3RDbGFzc31gKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKGhvc3QgJiYgaG9zdC5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gaG9zdC5jbGllbnRXaWR0aDtcbiAgfVxuICByZXR1cm4gMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VQeCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KFN0cmluZyh2YWx1ZSkucmVwbGFjZSgvcHgvaSwgXCJcIiksIDEwKTtcbiAgcmV0dXJuIE51bWJlci5pc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbn1cblxuLyoqIOWFi+mahuihqOWktC/ooajkvZPmtYvph4/mnKrooqsgc2Nyb2xsIOWOi+e8qeWJjeeahOiHqueEtuWIl+WuvSAqL1xuZnVuY3Rpb24gbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICBjb25zdCBjbG9uZSA9IGVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuICBjbG9uZS5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcbiAgY2xvbmUuc3R5bGUubGVmdCA9IFwiLTk5OTk5cHhcIjtcbiAgY2xvbmUuc3R5bGUudG9wID0gXCIwXCI7XG4gIGNsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICBjbG9uZS5zdHlsZS53aWR0aCA9IFwibWF4LWNvbnRlbnRcIjtcbiAgY2xvbmUuc3R5bGUudGFibGVMYXlvdXQgPSBcImF1dG9cIjtcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XG4gIGNvbnN0IHdpZHRoID0gY2xvbmUuc2Nyb2xsV2lkdGg7XG4gIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY2xvbmUpO1xuICByZXR1cm4gd2lkdGg7XG59XG5cbi8qKiDmsYfmgLvooajlpLQgdGgg5LiK5aOw5piO55qE5YiX5a6977yIc3R5bGUud2lkdGggLyBueldpZHRo77yJICovXG5mdW5jdGlvbiBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW46IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgY29uc3QgdGhzID0gQXJyYXkuZnJvbShcbiAgICB0YWJsZU1haW4ucXVlcnlTZWxlY3RvckFsbChcIi5hbnQtdGFibGUtdGhlYWQgPiB0ciA+IHRoXCIpLFxuICApIGFzIEhUTUxFbGVtZW50W107XG4gIGlmICghdGhzLmxlbmd0aCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGxldCBzdW0gPSAwO1xuICBsZXQgaGFzRmx1aWRDb2wgPSBmYWxzZTtcbiAgdGhzLmZvckVhY2goKHRoKSA9PiB7XG4gICAgY29uc3QgZGVjbGFyZWQgPSBwYXJzZVB4KHRoLnN0eWxlLndpZHRoKTtcbiAgICBpZiAoZGVjbGFyZWQgPiAwKSB7XG4gICAgICBzdW0gKz0gZGVjbGFyZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGhhc0ZsdWlkQ29sID0gdHJ1ZTtcbiAgICBzdW0gKz0gdGguc2Nyb2xsV2lkdGggfHwgdGgub2Zmc2V0V2lkdGggfHwgREVGQVVMVF9GTFVJRF9DT0xfV0lEVEg7XG4gIH0pO1xuICByZXR1cm4gaGFzRmx1aWRDb2wgPyAwIDogc3VtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZVRhYmxlQ29sV2lkdGgobnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCk6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHRhYmxlcyA9IEFycmF5LmZyb20oXG4gICAgdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlLCAuYW50LXRhYmxlLWJvZHkgdGFibGUsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyIHRhYmxlXCIsXG4gICAgKSxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIGxldCBtYXggPSB0YWJsZXMucmVkdWNlKFxuICAgICh3aWR0aCwgdGFibGUpID0+IE1hdGgubWF4KHdpZHRoLCB0YWJsZS5zY3JvbGxXaWR0aCB8fCAwKSxcbiAgICAwLFxuICApO1xuXG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVZpZXdwb3J0V2lkdGgobnpUYWJsZSk7XG4gIC8vIOacquW8gOWQryBzY3JvbGwueCDml7booajmoLzkvJrooqvljovov5vlrrnlmajvvIxzY3JvbGxXaWR0aCDkuI3lj6/pnaDvvIzpnIDmtYvoh6rnhLbliJflrr1cbiAgaWYgKHZpZXdwb3J0V2lkdGggPD0gMCB8fCBtYXggPD0gdmlld3BvcnRXaWR0aCkge1xuICAgIGNvbnN0IGhlYWRlclRhYmxlID0gdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBib2R5VGFibGUgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiLmFudC10YWJsZS1ib2R5IHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaGVhZGVyVGFibGUpIHtcbiAgICAgIG1heCA9IE1hdGgubWF4KG1heCwgbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoaGVhZGVyVGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGJvZHlUYWJsZSkge1xuICAgICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlRWxlbWVudE5hdHVyYWxXaWR0aChib2R5VGFibGUpKTtcbiAgICB9XG4gICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW4pKTtcbiAgfVxuXG4gIHJldHVybiBtYXg7XG59XG5cbi8qKlxuICog55So5LqO5Yik5pat5piv5ZCm6ZyA6KaBIHNjcm9sbC54IOeahOinhuWPo+WuveOAglxuICog5pyJ57q15ZCR5rua5Yqo5p2h5pe2IGNsaWVudFdpZHRoIOS8muWwkeS4gOaIqu+8jOiLpeebtOaOpeaLv+WOu+avlOWIl+Wuve+8jOS8muOAjOerlua7muadoeWvvOiHtOivr+W8gOaoqua7muOAje+8m1xuICog6L+Z6YeM55SoIG9mZnNldFdpZHRo77yI5ZCr5rua5Yqo5p2h5qe977yJ5L2c5Li65bGP5bmV5Y+v5bGV56S65a695bqm44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBob3N0Q2xhc3MgPSBcImhkLXRhYmxlLWNvbnRhaW5lclwiLFxuKTogbnVtYmVyIHtcbiAgaWYgKCFuelRhYmxlIHx8ICFuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCB0YWJsZU1haW4gPSBuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgY29uc3Qgc2Nyb2xsQm9keSA9XG4gICAgKHRhYmxlTWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQuYW50LXRhYmxlLWJvZHlcIixcbiAgICApIGFzIEhUTUxFbGVtZW50KSB8fFxuICAgICh0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtYm9keVwiKSBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChzY3JvbGxCb2R5ICYmIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgcmV0dXJuIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGg7XG4gIH1cbiAgcmV0dXJuIGdldFRhYmxlVmlld3BvcnRXaWR0aChuelRhYmxlLCBob3N0Q2xhc3MpO1xufVxuXG4vKiog5peg5pWw5o2u5oiW5YiX5a695pyq6LaF5Ye65a655Zmo5pe25LiN5ZCv55So5qiq5ZCRIHNjcm9sbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVBdXRvVGFibGVTY3JvbGwoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4gIGhhc0RhdGE6IGJvb2xlYW4sXG4gIGNvbFdpZHRoPzogbnVtYmVyLFxuKTogSGRUYWJsZVNjcm9sbENvbmZpZyB8IG51bGwge1xuICBpZiAoIWhhc0RhdGEpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCB3aWR0aCA9XG4gICAgY29sV2lkdGggIT0gbnVsbCAmJiBjb2xXaWR0aCA+IDBcbiAgICAgID8gY29sV2lkdGhcbiAgICAgIDogbWVhc3VyZVRhYmxlQ29sV2lkdGgobnpUYWJsZSk7XG4gIGlmICh3aWR0aCA8PSAwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgdmlld3BvcnRXaWR0aCA9IGdldFRhYmxlU2Nyb2xsWFZpZXdwb3J0V2lkdGgobnpUYWJsZSk7XG4gIGlmICh2aWV3cG9ydFdpZHRoID4gMCkge1xuICAgIC8vIOWFgeiuuCAxcHgg6K+v5beu77yM6YG/5YWN5Lqa5YOP57Sg5a+86Ie06K+v5byA5qiq5ruaXG4gICAgcmV0dXJuIHdpZHRoID4gdmlld3BvcnRXaWR0aCArIDEgPyB7IHg6IGAke01hdGguY2VpbCh3aWR0aCl9cHhgIH0gOiBudWxsO1xuICB9XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHdpZHRoID4gd2luZG93LmlubmVyV2lkdGggLSAzMikge1xuICAgIHJldHVybiB7IHg6IGAke01hdGguY2VpbCh3aWR0aCl9cHhgIH07XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKiDlj5Ygbmctem9ycm8g5YiG5L2T6KGo5aS0IC8g6KGo5L2T5rua5Yqo5a655Zmo77yI5ZCr6Jma5ouf5rua5Yqo77yJICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TnpUYWJsZVNjcm9sbEVsZW1lbnRzKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuKTogeyBoZWFkZXI6IEhUTUxFbGVtZW50IHwgbnVsbDsgYm9keTogSFRNTEVsZW1lbnQgfCBudWxsIH0ge1xuICBpZiAoIW56VGFibGUpIHtcbiAgICByZXR1cm4geyBoZWFkZXI6IG51bGwsIGJvZHk6IG51bGwgfTtcbiAgfVxuICBjb25zdCBueiA9IG56VGFibGUgYXMgYW55O1xuICBsZXQgaGVhZGVyID0gKG56LnRhYmxlSGVhZGVyTmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHwgbnVsbDtcbiAgbGV0IGJvZHkgPVxuICAgIChuei5taXhUYWJsZUJvZHlOYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KSB8fFxuICAgIChuei50YWJsZUJvZHlOYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KSB8fFxuICAgIG51bGw7XG4gIGNvbnN0IG1haW4gPVxuICAgIG56LnRhYmxlTWFpbkVsZW1lbnQgJiZcbiAgICAobnoudGFibGVNYWluRWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgaWYgKG1haW4pIHtcbiAgICBpZiAoIWhlYWRlcikge1xuICAgICAgaGVhZGVyID0gbWFpbi5xdWVyeVNlbGVjdG9yKFwiLmFudC10YWJsZS1oZWFkZXJcIikgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfVxuICAgIGlmICghYm9keSkge1xuICAgICAgYm9keSA9XG4gICAgICAgIChtYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgXCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQuYW50LXRhYmxlLWJvZHlcIixcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICAgICAgKG1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtYm9keVwiKSBhcyBIVE1MRWxlbWVudCk7XG4gICAgfVxuICB9XG4gIHJldHVybiB7IGhlYWRlciwgYm9keSB9O1xufVxuXG4vKiog5LiA5qyh5oCn5oqK6KGo5L2TIHNjcm9sbExlZnQg5ZCM5q2l5Yiw6KGo5aS0ICovXG5leHBvcnQgZnVuY3Rpb24gc3luY056VGFibGVIZWFkZXJCb2R5U2Nyb2xsTGVmdChcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbik6IHZvaWQge1xuICBjb25zdCBlbHMgPSBnZXROelRhYmxlU2Nyb2xsRWxlbWVudHMobnpUYWJsZSk7XG4gIGlmICghZWxzLmhlYWRlciB8fCAhZWxzLmJvZHkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGVscy5oZWFkZXIuc2Nyb2xsTGVmdCAhPT0gZWxzLmJvZHkuc2Nyb2xsTGVmdCkge1xuICAgIGVscy5oZWFkZXIuc2Nyb2xsTGVmdCA9IGVscy5ib2R5LnNjcm9sbExlZnQ7XG4gIH1cbn1cblxuLyoqXG4gKiDnm5HlkKzooajkvZPmqKrlkJHmu5rliqjlubblkIzmraXooajlpLTjgIJcbiAqIOi/lOWbniB1bmJpbmTvvJtET00g5pyq5bCx57uq5pe26L+U5ZueIG51bGzvvIjosIPnlKjmlrnlj6/ph43or5XvvInjgIJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmROelRhYmxlSGVhZGVyQm9keVNjcm9sbFN5bmMoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4pOiAoKCkgPT4gdm9pZCkgfCBudWxsIHtcbiAgY29uc3QgZWxzID0gZ2V0TnpUYWJsZVNjcm9sbEVsZW1lbnRzKG56VGFibGUpO1xuICBpZiAoIWVscy5oZWFkZXIgfHwgIWVscy5ib2R5KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaGVhZGVyID0gZWxzLmhlYWRlcjtcbiAgY29uc3QgYm9keSA9IGVscy5ib2R5O1xuICBjb25zdCBvblNjcm9sbCA9ICgpID0+IHtcbiAgICBpZiAoaGVhZGVyLnNjcm9sbExlZnQgIT09IGJvZHkuc2Nyb2xsTGVmdCkge1xuICAgICAgaGVhZGVyLnNjcm9sbExlZnQgPSBib2R5LnNjcm9sbExlZnQ7XG4gICAgfVxuICB9O1xuICBib2R5LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgb25TY3JvbGwpO1xuICBvblNjcm9sbCgpO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBvblNjcm9sbCk7XG4gIH07XG59XG4iXX0=
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUtc2Nyb2xsLnV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJ1dGlscy9oZC10YWJsZS1zY3JvbGwudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUEseUNBR0M7OztJQUZDLGdDQUFXOztJQUNYLGdDQUFXOzs7TUFHUCx1QkFBdUIsR0FBRyxHQUFHOzs7Ozs7QUFFbkMsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUF5QixFQUN6QixTQUFTLEdBQUcsb0JBQW9CO0lBRWhDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUU7UUFDekMsT0FBTyxDQUFDLENBQUM7S0FDVjs7VUFDSyxTQUFTLEdBQUcsbUJBQUEsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBZTs7VUFDakUsVUFBVSxHQUFHLG1CQUFBLFNBQVMsQ0FBQyxhQUFhLENBQ3hDLGlCQUFpQixDQUNsQixFQUFlO0lBQ2hCLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQzVDLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQztLQUMvQjs7VUFDSyxPQUFPLEdBQUcsbUJBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFlO0lBQ3RFLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxFQUFFO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUM1Qjs7VUFDSyxJQUFJLEdBQUcsbUJBQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEVBQWU7SUFDOUQsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0tBQ3pCO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDOzs7OztB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RTtRQUNqRCxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztLQUM3QztBQUNILENBQUM7Ozs7Ozs7QUFNRCxNQUFNLFVBQVUsK0JBQStCLENBQzdDLE9BQXlCOztVQUVuQixHQUFHLEdBQUcsd0JBQXdCLENBQUMsT0FBTyxDQUFDO0lBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiOztVQUNLLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTTs7VUFDbkIsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJOztVQUNmLFFBQVE7OztJQUFHLEdBQUcsRUFBRTtRQUNwQixJQUFJLE1BQU0sQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6QyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDckM7SUFDSCxDQUFDLENBQUE7SUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLFFBQVEsRUFBRSxDQUFDO0lBQ1g7OztJQUFPLEdBQUcsRUFBRTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxFQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE56VGFibGVDb21wb25lbnQgfSBmcm9tIFwibmctem9ycm8tYW50ZC90YWJsZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhkVGFibGVTY3JvbGxDb25maWcge1xuICB4Pzogc3RyaW5nO1xuICB5Pzogc3RyaW5nO1xufVxuXG5jb25zdCBERUZBVUxUX0ZMVUlEX0NPTF9XSURUSCA9IDE1MDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRhYmxlVmlld3BvcnRXaWR0aChcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbiAgaG9zdENsYXNzID0gXCJoZC10YWJsZS1jb250YWluZXJcIixcbik6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHNjcm9sbEJvZHkgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICBcIi5hbnQtdGFibGUtYm9keVwiLFxuICApIGFzIEhUTUxFbGVtZW50O1xuICBpZiAoc2Nyb2xsQm9keSAmJiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoID4gMCkge1xuICAgIHJldHVybiBzY3JvbGxCb2R5LmNsaWVudFdpZHRoO1xuICB9XG4gIGNvbnN0IHdyYXBwZXIgPSB0YWJsZU1haW4uY2xvc2VzdChcIi5hbnQtdGFibGUtd3JhcHBlclwiKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKHdyYXBwZXIgJiYgd3JhcHBlci5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gd3JhcHBlci5jbGllbnRXaWR0aDtcbiAgfVxuICBjb25zdCBob3N0ID0gdGFibGVNYWluLmNsb3Nlc3QoYC4ke2hvc3RDbGFzc31gKSBhcyBIVE1MRWxlbWVudDtcbiAgaWYgKGhvc3QgJiYgaG9zdC5jbGllbnRXaWR0aCA+IDApIHtcbiAgICByZXR1cm4gaG9zdC5jbGllbnRXaWR0aDtcbiAgfVxuICByZXR1cm4gMDtcbn1cblxuZnVuY3Rpb24gcGFyc2VQeCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KFN0cmluZyh2YWx1ZSkucmVwbGFjZSgvcHgvaSwgXCJcIiksIDEwKTtcbiAgcmV0dXJuIE51bWJlci5pc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbn1cblxuLyoqIOWFi+mahuihqOWktC/ooajkvZPmtYvph4/mnKrooqsgc2Nyb2xsIOWOi+e8qeWJjeeahOiHqueEtuWIl+WuvSAqL1xuZnVuY3Rpb24gbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICBjb25zdCBjbG9uZSA9IGVsZW1lbnQuY2xvbmVOb2RlKHRydWUpIGFzIEhUTUxFbGVtZW50O1xuICBjbG9uZS5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcbiAgY2xvbmUuc3R5bGUubGVmdCA9IFwiLTk5OTk5cHhcIjtcbiAgY2xvbmUuc3R5bGUudG9wID0gXCIwXCI7XG4gIGNsb25lLnN0eWxlLnZpc2liaWxpdHkgPSBcImhpZGRlblwiO1xuICBjbG9uZS5zdHlsZS53aWR0aCA9IFwibWF4LWNvbnRlbnRcIjtcbiAgY2xvbmUuc3R5bGUudGFibGVMYXlvdXQgPSBcImF1dG9cIjtcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjbG9uZSk7XG4gIGNvbnN0IHdpZHRoID0gY2xvbmUuc2Nyb2xsV2lkdGg7XG4gIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY2xvbmUpO1xuICByZXR1cm4gd2lkdGg7XG59XG5cbi8qKiDmsYfmgLvooajlpLQgdGgg5LiK5aOw5piO55qE5YiX5a6977yIc3R5bGUud2lkdGggLyBueldpZHRo77yJICovXG5mdW5jdGlvbiBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW46IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgY29uc3QgdGhzID0gQXJyYXkuZnJvbShcbiAgICB0YWJsZU1haW4ucXVlcnlTZWxlY3RvckFsbChcIi5hbnQtdGFibGUtdGhlYWQgPiB0ciA+IHRoXCIpLFxuICApIGFzIEhUTUxFbGVtZW50W107XG4gIGlmICghdGhzLmxlbmd0aCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGxldCBzdW0gPSAwO1xuICBsZXQgaGFzRmx1aWRDb2wgPSBmYWxzZTtcbiAgdGhzLmZvckVhY2goKHRoKSA9PiB7XG4gICAgY29uc3QgZGVjbGFyZWQgPSBwYXJzZVB4KHRoLnN0eWxlLndpZHRoKTtcbiAgICBpZiAoZGVjbGFyZWQgPiAwKSB7XG4gICAgICBzdW0gKz0gZGVjbGFyZWQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGhhc0ZsdWlkQ29sID0gdHJ1ZTtcbiAgICBzdW0gKz0gdGguc2Nyb2xsV2lkdGggfHwgdGgub2Zmc2V0V2lkdGggfHwgREVGQVVMVF9GTFVJRF9DT0xfV0lEVEg7XG4gIH0pO1xuICByZXR1cm4gaGFzRmx1aWRDb2wgPyAwIDogc3VtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVhc3VyZVRhYmxlQ29sV2lkdGgobnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCk6IG51bWJlciB7XG4gIGlmICghbnpUYWJsZSB8fCAhbnpUYWJsZS50YWJsZU1haW5FbGVtZW50KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdGFibGVNYWluID0gbnpUYWJsZS50YWJsZU1haW5FbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHRhYmxlcyA9IEFycmF5LmZyb20oXG4gICAgdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlLCAuYW50LXRhYmxlLWJvZHkgdGFibGUsIC5jZGstdmlydHVhbC1zY3JvbGwtY29udGVudC13cmFwcGVyIHRhYmxlXCIsXG4gICAgKSxcbiAgKSBhcyBIVE1MRWxlbWVudFtdO1xuXG4gIGxldCBtYXggPSB0YWJsZXMucmVkdWNlKFxuICAgICh3aWR0aCwgdGFibGUpID0+IE1hdGgubWF4KHdpZHRoLCB0YWJsZS5zY3JvbGxXaWR0aCB8fCAwKSxcbiAgICAwLFxuICApO1xuXG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVZpZXdwb3J0V2lkdGgobnpUYWJsZSk7XG4gIC8vIOacquW8gOWQryBzY3JvbGwueCDml7booajmoLzkvJrooqvljovov5vlrrnlmajvvIxzY3JvbGxXaWR0aCDkuI3lj6/pnaDvvIzpnIDmtYvoh6rnhLbliJflrr1cbiAgaWYgKHZpZXdwb3J0V2lkdGggPD0gMCB8fCBtYXggPD0gdmlld3BvcnRXaWR0aCkge1xuICAgIGNvbnN0IGhlYWRlclRhYmxlID0gdGFibGVNYWluLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcIi5hbnQtdGFibGUtaGVhZGVyIHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBib2R5VGFibGUgPSB0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiLmFudC10YWJsZS1ib2R5IHRhYmxlXCIsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaGVhZGVyVGFibGUpIHtcbiAgICAgIG1heCA9IE1hdGgubWF4KG1heCwgbWVhc3VyZUVsZW1lbnROYXR1cmFsV2lkdGgoaGVhZGVyVGFibGUpKTtcbiAgICB9XG4gICAgaWYgKGJvZHlUYWJsZSkge1xuICAgICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlRWxlbWVudE5hdHVyYWxXaWR0aChib2R5VGFibGUpKTtcbiAgICB9XG4gICAgbWF4ID0gTWF0aC5tYXgobWF4LCBtZWFzdXJlSGVhZGVyRGVjbGFyZWRDb2xXaWR0aCh0YWJsZU1haW4pKTtcbiAgfVxuXG4gIHJldHVybiBtYXg7XG59XG5cbi8qKlxuICog55So5LqO5Yik5pat5piv5ZCm6ZyA6KaBIHNjcm9sbC54IOeahOinhuWPo+WuveOAglxuICog5pyJ57q15ZCR5rua5Yqo5p2h5pe2IGNsaWVudFdpZHRoIOS8muWwkeS4gOaIqu+8jOiLpeebtOaOpeaLv+WOu+avlOWIl+Wuve+8jOS8muOAjOerlua7muadoeWvvOiHtOivr+W8gOaoqua7muOAje+8m1xuICog6L+Z6YeM55SoIG9mZnNldFdpZHRo77yI5ZCr5rua5Yqo5p2h5qe977yJ5L2c5Li65bGP5bmV5Y+v5bGV56S65a695bqm44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBob3N0Q2xhc3MgPSBcImhkLXRhYmxlLWNvbnRhaW5lclwiLFxuKTogbnVtYmVyIHtcbiAgaWYgKCFuelRhYmxlIHx8ICFuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBjb25zdCB0YWJsZU1haW4gPSBuelRhYmxlLnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgY29uc3Qgc2Nyb2xsQm9keSA9XG4gICAgKHRhYmxlTWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQuYW50LXRhYmxlLWJvZHlcIixcbiAgICApIGFzIEhUTUxFbGVtZW50KSB8fFxuICAgICh0YWJsZU1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtYm9keVwiKSBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChzY3JvbGxCb2R5ICYmIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGggPiAwKSB7XG4gICAgcmV0dXJuIHNjcm9sbEJvZHkub2Zmc2V0V2lkdGg7XG4gIH1cbiAgcmV0dXJuIGdldFRhYmxlVmlld3BvcnRXaWR0aChuelRhYmxlLCBob3N0Q2xhc3MpO1xufVxuXG4vKiog5peg5pWw5o2u5oiW5YiX5a695pyq6LaF5Ye65a655Zmo5pe25LiN5ZCv55So5qiq5ZCRIHNjcm9sbO+8iGZsdWlk77ya6KGo5a69IDEwMCXvvIzli77pgIkv5bqP5Y+35YiX55SxIENTUyDplIHlrr3vvIkgKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXV0b1RhYmxlU2Nyb2xsKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuICBoYXNEYXRhOiBib29sZWFuLFxuICBjb2xXaWR0aD86IG51bWJlcixcbik6IEhkVGFibGVTY3JvbGxDb25maWcgfCBudWxsIHtcbiAgaWYgKCFoYXNEYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgd2lkdGggPVxuICAgIGNvbFdpZHRoICE9IG51bGwgJiYgY29sV2lkdGggPiAwXG4gICAgICA/IGNvbFdpZHRoXG4gICAgICA6IG1lYXN1cmVUYWJsZUNvbFdpZHRoKG56VGFibGUpO1xuICBpZiAod2lkdGggPD0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IHZpZXdwb3J0V2lkdGggPSBnZXRUYWJsZVNjcm9sbFhWaWV3cG9ydFdpZHRoKG56VGFibGUpO1xuICBpZiAodmlld3BvcnRXaWR0aCA+IDApIHtcbiAgICAvLyDlhYHorrggMXB4IOivr+W3ru+8jOmBv+WFjeS6muWDj+e0oOWvvOiHtOivr+W8gOaoqua7mlxuICAgIHJldHVybiB3aWR0aCA+IHZpZXdwb3J0V2lkdGggKyAxID8geyB4OiBgJHtNYXRoLmNlaWwod2lkdGgpfXB4YCB9IDogbnVsbDtcbiAgfVxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aWR0aCA+IHdpbmRvdy5pbm5lcldpZHRoIC0gMzIpIHtcbiAgICByZXR1cm4geyB4OiBgJHtNYXRoLmNlaWwod2lkdGgpfXB4YCB9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKiog5Y+WIG5nLXpvcnJvIOWIhuS9k+ihqOWktCAvIOihqOS9k+a7muWKqOWuueWZqO+8iOWQq+iZmuaLn+a7muWKqO+8iSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE56VGFibGVTY3JvbGxFbGVtZW50cyhcbiAgbnpUYWJsZTogTnpUYWJsZUNvbXBvbmVudCxcbik6IHsgaGVhZGVyOiBIVE1MRWxlbWVudCB8IG51bGw7IGJvZHk6IEhUTUxFbGVtZW50IHwgbnVsbCB9IHtcbiAgaWYgKCFuelRhYmxlKSB7XG4gICAgcmV0dXJuIHsgaGVhZGVyOiBudWxsLCBib2R5OiBudWxsIH07XG4gIH1cbiAgY29uc3QgbnogPSBuelRhYmxlIGFzIGFueTtcbiAgbGV0IGhlYWRlciA9IChuei50YWJsZUhlYWRlck5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpIHx8IG51bGw7XG4gIGxldCBib2R5ID1cbiAgICAobnoubWl4VGFibGVCb2R5TmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICAobnoudGFibGVCb2R5TmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICBudWxsO1xuICBjb25zdCBtYWluID1cbiAgICBuei50YWJsZU1haW5FbGVtZW50ICYmXG4gICAgKG56LnRhYmxlTWFpbkVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gIGlmIChtYWluKSB7XG4gICAgaWYgKCFoZWFkZXIpIHtcbiAgICAgIGhlYWRlciA9IG1haW4ucXVlcnlTZWxlY3RvcihcIi5hbnQtdGFibGUtaGVhZGVyXCIpIGFzIEhUTUxFbGVtZW50O1xuICAgIH1cbiAgICBpZiAoIWJvZHkpIHtcbiAgICAgIGJvZHkgPVxuICAgICAgICAobWFpbi5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIFwiY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0LmFudC10YWJsZS1ib2R5XCIsXG4gICAgICAgICkgYXMgSFRNTEVsZW1lbnQpIHx8XG4gICAgICAgIChtYWluLnF1ZXJ5U2VsZWN0b3IoXCIuYW50LXRhYmxlLWJvZHlcIikgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBoZWFkZXIsIGJvZHkgfTtcbn1cblxuLyoqIOS4gOasoeaAp+aKiuihqOS9kyBzY3JvbGxMZWZ0IOWQjOatpeWIsOihqOWktCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN5bmNOelRhYmxlSGVhZGVyQm9keVNjcm9sbExlZnQoXG4gIG56VGFibGU6IE56VGFibGVDb21wb25lbnQsXG4pOiB2b2lkIHtcbiAgY29uc3QgZWxzID0gZ2V0TnpUYWJsZVNjcm9sbEVsZW1lbnRzKG56VGFibGUpO1xuICBpZiAoIWVscy5oZWFkZXIgfHwgIWVscy5ib2R5KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChlbHMuaGVhZGVyLnNjcm9sbExlZnQgIT09IGVscy5ib2R5LnNjcm9sbExlZnQpIHtcbiAgICBlbHMuaGVhZGVyLnNjcm9sbExlZnQgPSBlbHMuYm9keS5zY3JvbGxMZWZ0O1xuICB9XG59XG5cbi8qKlxuICog55uR5ZCs6KGo5L2T5qiq5ZCR5rua5Yqo5bm25ZCM5q2l6KGo5aS044CCXG4gKiDov5Tlm54gdW5iaW5k77ybRE9NIOacquWwsee7quaXtui/lOWbniBudWxs77yI6LCD55So5pa55Y+v6YeN6K+V77yJ44CCXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kTnpUYWJsZUhlYWRlckJvZHlTY3JvbGxTeW5jKFxuICBuelRhYmxlOiBOelRhYmxlQ29tcG9uZW50LFxuKTogKCgpID0+IHZvaWQpIHwgbnVsbCB7XG4gIGNvbnN0IGVscyA9IGdldE56VGFibGVTY3JvbGxFbGVtZW50cyhuelRhYmxlKTtcbiAgaWYgKCFlbHMuaGVhZGVyIHx8ICFlbHMuYm9keSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGhlYWRlciA9IGVscy5oZWFkZXI7XG4gIGNvbnN0IGJvZHkgPSBlbHMuYm9keTtcbiAgY29uc3Qgb25TY3JvbGwgPSAoKSA9PiB7XG4gICAgaWYgKGhlYWRlci5zY3JvbGxMZWZ0ICE9PSBib2R5LnNjcm9sbExlZnQpIHtcbiAgICAgIGhlYWRlci5zY3JvbGxMZWZ0ID0gYm9keS5zY3JvbGxMZWZ0O1xuICAgIH1cbiAgfTtcbiAgYm9keS5hZGRFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIG9uU2Nyb2xsKTtcbiAgb25TY3JvbGwoKTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgb25TY3JvbGwpO1xuICB9O1xufVxuIl19