nsc-react-component 2.8.11 → 2.8.12
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/lib/base/common/IconData.d.ts +11 -0
- package/lib/base/common/IconData.js +12 -0
- package/lib/base/common/IconFont.js +3 -2
- package/lib/base/common/iconfontalibaba.js +51 -0
- package/lib/base/input/index.js +1 -1
- package/lib/base/upload/index.js +12 -11
- package/lib/page/BasePage/index.js +21 -29
- package/package.json +1 -1
package/lib/base/input/index.js
CHANGED
|
@@ -239,4 +239,4 @@ _defineProperty(NscInput, "Group", _Input.Group);
|
|
|
239
239
|
_defineProperty(NscInput, "Search", Search);
|
|
240
240
|
|
|
241
241
|
export { NscInput as default };
|
|
242
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW5wdXQvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIklucHV0RW1haWwiLCJQYXNzd29yZCIsIlRleHRBcmVhIiwiU2VhcmNoIiwiSW5wdXROdW1iZXIiLCJvbWl0IiwiY2xzIiwic3R5bGVzIiwiY29uZmlnIiwiTnNjSW5wdXQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsInZhbHVlIiwiZSIsIm9uQ2hhbmdlIiwiYWxsb3dDaGFycyIsInJlZyIsInJlZzIiLCJyZWczIiwic2V0U3RhdGUiLCJ0YXJnZXQiLCJ0ZXN0Iiwic3RhdGUiLCJyZWYiLCJjdXJyZW50IiwiZm9jdXMiLCJibHVyIiwidHlwZSIsImRlZmF1bHRTdHlsZSIsIm1heExlbmd0aCIsInBhcmFtcyIsIm51bWJlclByb3BzIiwiZW1haWxQcm9wcyIsInRleHRQcm9wcyIsInBhc3N3b3JkUHJvcHMiLCJpbnB1dFByb3BzIiwiYW50ZFN0eWxlIiwiY2xhc3NOYW1lIiwiYmluZCIsInJldHVybkNoaWxkcmVuIiwiR3JvdXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBR0EsT0FBT0MsVUFBUCxNQUF1QixTQUF2QjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsWUFBckI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLFlBQXJCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixVQUFuQjtBQUNBLE9BQU9DLFdBQVAsTUFBd0IsVUFBeEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUVBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFFQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5COztJ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O0FBVUQ7QUFDRjtBQUNGOzs7V0FDRCxrQkFBUztBQUNQLDBCQUFPLDBDQUFHLEtBQUtJLGNBQUwsRUFBSCxDQUFQO0FBQ0Q7Ozs7RUFwSW1DeEMsYTs7Z0JBQWpCVSxRLFlBQ0hMLFc7O2dCQURHSyxRLFdBRUpULFU7O2dCQUZJUyxRLGNBR0RSLFE7O2dCQUhDUSxRLGNBSURQLFE7O2dCQUpDTyxRLFdBS0osT0FBTStCLEs7O2dCQUxGL0IsUSxZQU1ITixNOztTQU5HTSxRIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjogaW5wdXTnu4Tku7bvvIznm7TmjqXov5Tlm552YWx1ZSzliqDlr4blkI7nmoR2YWx1ZeS7peWPiuagoemqjOeahOWAvFxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTc6MTU6NDdcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIyIDE0OjIwOjA5XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuaW1wb3J0IHsgSW5wdXQsIElucHV0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgSW5wdXRFbWFpbCBmcm9tIFwiLi9FbWFpbFwiO1xyXG5pbXBvcnQgUGFzc3dvcmQgZnJvbSBcIi4vUGFzc3dvcmRcIjtcclxuaW1wb3J0IFRleHRBcmVhIGZyb20gXCIuL1RleHRBcmVhXCI7XHJcbmltcG9ydCBTZWFyY2ggZnJvbSBcIi4vU2VhcmNoXCI7XHJcbmltcG9ydCBJbnB1dE51bWJlciBmcm9tIFwiLi9OdW1iZXJcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5cclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCB7IEZhc3RGb3J3YXJkRmlsbGVkIH0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5pbnRlcmZhY2UgSUlucHV0UHJvcHMge1xyXG4gIHR5cGU/OiBcIm51bWJlclwiIHwgXCJlbWFpbFwiIHwgXCJwYXNzd29yZFwiIHwgXCJ0ZXh0YXJlYVwiIHwgXCJ0ZXh0XCI7XHJcbiAgb25DaGFuZ2U/OiAodmFsdWU6IGFueSwgdGFyZ2V0PzogYW55KSA9PiB2b2lkO1xyXG4gIGRlZmF1bHRTdHlsZT86IGJvb2xlYW47XHJcbiAgYWxsb3dDaGFycz86IGJvb2xlYW47XHJcbiAgbWF4TGVuZ3RoPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY0lucHV0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJSW5wdXRQcm9wcywgYW55PiB7XHJcbiAgc3RhdGljIE51bWJlciA9IElucHV0TnVtYmVyO1xyXG4gIHN0YXRpYyBFbWFpbCA9IElucHV0RW1haWw7XHJcbiAgc3RhdGljIFBhc3N3b3JkID0gUGFzc3dvcmQ7XHJcbiAgc3RhdGljIFRleHRBcmVhID0gVGV4dEFyZWE7XHJcbiAgc3RhdGljIEdyb3VwID0gSW5wdXQuR3JvdXA7XHJcbiAgc3RhdGljIFNlYXJjaCA9IFNlYXJjaDtcclxuICByZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG4gIHN0YXRlID0ge1xyXG4gICAgdmFsdWU6IFwiXCIsXHJcbiAgfTtcclxuICBvbkNoYW5nZShlKSB7XHJcbiAgICBjb25zdCB7IG9uQ2hhbmdlLCBhbGxvd0NoYXJzID0gZmFsc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCByZWcgPSAvXlswLTlhLXpBLVpcXHU0RTAwLVxcdTlGQTVcXHVGOTAwLVxcdUZBMkRdKiQvO1xyXG4gICAgY29uc3QgcmVnMiA9IC9bYS16QS1aXSdbYS16QS1aXS9nO1xyXG4gICAgY29uc3QgcmVnMyA9IC9bYS16QS1aXVxcc1thLXpBLVpdL2c7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgaWYgKGFsbG93Q2hhcnMpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSwgZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcclxuICAgICAgICBpZiAocmVnLnRlc3QodmFsdWUpIHx8IHJlZzIudGVzdCh2YWx1ZSkgfHwgcmVnMy50ZXN0KHZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgb25DaGFuZ2UoZS50YXJnZXQudmFsdWUsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGFsbG93Q2hhcnMpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgICAgIGlmIChyZWcudGVzdCh2YWx1ZSkgfHwgcmVnMi50ZXN0KHZhbHVlKSB8fCByZWczLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQ/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBibHVyKCkge1xyXG4gICAgdGhpcy5yZWYuY3VycmVudD8uYmx1cigpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIG9uQ2hhbmdlLCBkZWZhdWx0U3R5bGUsIG1heExlbmd0aCwgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGlmICh0eXBlID09IFwibnVtYmVyXCIpIHtcclxuICAgICAgY29uc3QgbnVtYmVyUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPElucHV0TnVtYmVyIHsuLi5udW1iZXJQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJlbWFpbFwiKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPElucHV0RW1haWwgey4uLmVtYWlsUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwidGV4dGFyZWFcIikge1xyXG4gICAgICBjb25zdCB0ZXh0UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPFRleHRBcmVhIHsuLi50ZXh0UHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwicGFzc3dvcmRcIikge1xyXG4gICAgICBsZXQgcGFzc3dvcmRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICAgIFwidHlwZVwiLFxyXG4gICAgICAgIFwibWF4TGVuZ3RoXCIsXHJcbiAgICAgICAgXCJkZWZhdWx0U3R5bGVcIixcclxuICAgICAgICBcImFsbG93Q2hhcnNcIixcclxuICAgICAgXSk7XHJcbiAgICAgIGlmICghKG1heExlbmd0aCA9PT0gZmFsc2UpKSB7XHJcbiAgICAgICAgcGFzc3dvcmRQcm9wcyA9IHtcclxuICAgICAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsXHJcbiAgICAgICAgICAuLi5wYXNzd29yZFByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDxQYXNzd29yZCB7Li4ucGFzc3dvcmRQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaW5wdXRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICAgIFwib25DaGFuZ2VcIixcclxuICAgICAgICBcImRlZmF1bHRTdHlsZVwiLFxyXG4gICAgICAgIFwiYWxsb3dDaGFyc1wiLFxyXG4gICAgICAgIFwibWF4TGVuZ3RoXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICBpZiAoIShtYXhMZW5ndGggPT09IGZhbHNlKSkge1xyXG4gICAgICAgIGlucHV0UHJvcHMgPSB7IG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsIC4uLmlucHV0UHJvcHMgfTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgeyBhbnRkU3R5bGUgfSA9IGNvbmZpZygpO1xyXG4gICAgICBpZiAoKGRlZmF1bHRTdHlsZSB8fCBhbnRkU3R5bGUpICYmIGRlZmF1bHRTdHlsZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19pbnB1dFwiXSwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfT5cclxuICAgICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaVcIlxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgYWxsb3dDbGVhcj17dHJ1ZX1cclxuICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cclxuICAgICAgICAgICAgICByZWY9e3RoaXMucmVmfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWlXCJcclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgYWxsb3dDbGVhcj17dHJ1ZX1cclxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5yZWZ9XHJcbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIHJldHVybiA8Pnt0aGlzLnJldHVybkNoaWxkcmVuKCl9PC8+O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
242
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW5wdXQvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIklucHV0RW1haWwiLCJQYXNzd29yZCIsIlRleHRBcmVhIiwiU2VhcmNoIiwiSW5wdXROdW1iZXIiLCJvbWl0IiwiY2xzIiwic3R5bGVzIiwiY29uZmlnIiwiTnNjSW5wdXQiLCJwcm9wcyIsImNyZWF0ZVJlZiIsInZhbHVlIiwiZSIsIm9uQ2hhbmdlIiwiYWxsb3dDaGFycyIsInJlZyIsInJlZzIiLCJyZWczIiwic2V0U3RhdGUiLCJ0YXJnZXQiLCJ0ZXN0Iiwic3RhdGUiLCJyZWYiLCJjdXJyZW50IiwiZm9jdXMiLCJibHVyIiwidHlwZSIsImRlZmF1bHRTdHlsZSIsIm1heExlbmd0aCIsInBhcmFtcyIsIm51bWJlclByb3BzIiwiZW1haWxQcm9wcyIsInRleHRQcm9wcyIsInBhc3N3b3JkUHJvcHMiLCJpbnB1dFByb3BzIiwiYW50ZFN0eWxlIiwiY2xhc3NOYW1lIiwiYmluZCIsInJldHVybkNoaWxkcmVuIiwiR3JvdXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBR0EsT0FBT0MsVUFBUCxNQUF1QixTQUF2QjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsWUFBckI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLFlBQXJCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixVQUFuQjtBQUNBLE9BQU9DLFdBQVAsTUFBd0IsVUFBeEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUVBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5COztJ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O0FBVUQ7QUFDRjtBQUNGOzs7V0FDRCxrQkFBUztBQUNQLDBCQUFPLDBDQUFHLEtBQUtJLGNBQUwsRUFBSCxDQUFQO0FBQ0Q7Ozs7RUFwSW1DeEMsYTs7Z0JBQWpCVSxRLFlBQ0hMLFc7O2dCQURHSyxRLFdBRUpULFU7O2dCQUZJUyxRLGNBR0RSLFE7O2dCQUhDUSxRLGNBSURQLFE7O2dCQUpDTyxRLFdBS0osT0FBTStCLEs7O2dCQUxGL0IsUSxZQU1ITixNOztTQU5HTSxRIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjogaW5wdXTnu4Tku7bvvIznm7TmjqXov5Tlm552YWx1ZSzliqDlr4blkI7nmoR2YWx1ZeS7peWPiuagoemqjOeahOWAvFxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTc6MTU6NDdcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIyIDE0OjIwOjA5XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuaW1wb3J0IHsgSW5wdXQsIElucHV0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgSW5wdXRFbWFpbCBmcm9tIFwiLi9FbWFpbFwiO1xyXG5pbXBvcnQgUGFzc3dvcmQgZnJvbSBcIi4vUGFzc3dvcmRcIjtcclxuaW1wb3J0IFRleHRBcmVhIGZyb20gXCIuL1RleHRBcmVhXCI7XHJcbmltcG9ydCBTZWFyY2ggZnJvbSBcIi4vU2VhcmNoXCI7XHJcbmltcG9ydCBJbnB1dE51bWJlciBmcm9tIFwiLi9OdW1iZXJcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5cclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5pbnRlcmZhY2UgSUlucHV0UHJvcHMge1xyXG4gIHR5cGU/OiBcIm51bWJlclwiIHwgXCJlbWFpbFwiIHwgXCJwYXNzd29yZFwiIHwgXCJ0ZXh0YXJlYVwiIHwgXCJ0ZXh0XCI7XHJcbiAgb25DaGFuZ2U/OiAodmFsdWU6IGFueSwgdGFyZ2V0PzogYW55KSA9PiB2b2lkO1xyXG4gIGRlZmF1bHRTdHlsZT86IGJvb2xlYW47XHJcbiAgYWxsb3dDaGFycz86IGJvb2xlYW47XHJcbiAgbWF4TGVuZ3RoPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5zY0lucHV0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJSW5wdXRQcm9wcywgYW55PiB7XHJcbiAgc3RhdGljIE51bWJlciA9IElucHV0TnVtYmVyO1xyXG4gIHN0YXRpYyBFbWFpbCA9IElucHV0RW1haWw7XHJcbiAgc3RhdGljIFBhc3N3b3JkID0gUGFzc3dvcmQ7XHJcbiAgc3RhdGljIFRleHRBcmVhID0gVGV4dEFyZWE7XHJcbiAgc3RhdGljIEdyb3VwID0gSW5wdXQuR3JvdXA7XHJcbiAgc3RhdGljIFNlYXJjaCA9IFNlYXJjaDtcclxuICByZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG4gIHN0YXRlID0ge1xyXG4gICAgdmFsdWU6IFwiXCIsXHJcbiAgfTtcclxuICBvbkNoYW5nZShlKSB7XHJcbiAgICBjb25zdCB7IG9uQ2hhbmdlLCBhbGxvd0NoYXJzID0gZmFsc2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCByZWcgPSAvXlswLTlhLXpBLVpcXHU0RTAwLVxcdTlGQTVcXHVGOTAwLVxcdUZBMkRdKiQvO1xyXG4gICAgY29uc3QgcmVnMiA9IC9bYS16QS1aXSdbYS16QS1aXS9nO1xyXG4gICAgY29uc3QgcmVnMyA9IC9bYS16QS1aXVxcc1thLXpBLVpdL2c7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgaWYgKGFsbG93Q2hhcnMpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSwgZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcclxuICAgICAgICBpZiAocmVnLnRlc3QodmFsdWUpIHx8IHJlZzIudGVzdCh2YWx1ZSkgfHwgcmVnMy50ZXN0KHZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgb25DaGFuZ2UoZS50YXJnZXQudmFsdWUsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGFsbG93Q2hhcnMpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgICAgIGlmIChyZWcudGVzdCh2YWx1ZSkgfHwgcmVnMi50ZXN0KHZhbHVlKSB8fCByZWczLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgdmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQ/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBibHVyKCkge1xyXG4gICAgdGhpcy5yZWYuY3VycmVudD8uYmx1cigpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHR5cGUsIG9uQ2hhbmdlLCBkZWZhdWx0U3R5bGUsIG1heExlbmd0aCwgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGlmICh0eXBlID09IFwibnVtYmVyXCIpIHtcclxuICAgICAgY29uc3QgbnVtYmVyUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPElucHV0TnVtYmVyIHsuLi5udW1iZXJQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJlbWFpbFwiKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPElucHV0RW1haWwgey4uLmVtYWlsUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwidGV4dGFyZWFcIikge1xyXG4gICAgICBjb25zdCB0ZXh0UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcInR5cGVcIiwgXCJkZWZhdWx0U3R5bGVcIl0pO1xyXG4gICAgICByZXR1cm4gPFRleHRBcmVhIHsuLi50ZXh0UHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwicGFzc3dvcmRcIikge1xyXG4gICAgICBsZXQgcGFzc3dvcmRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICAgIFwidHlwZVwiLFxyXG4gICAgICAgIFwibWF4TGVuZ3RoXCIsXHJcbiAgICAgICAgXCJkZWZhdWx0U3R5bGVcIixcclxuICAgICAgICBcImFsbG93Q2hhcnNcIixcclxuICAgICAgXSk7XHJcbiAgICAgIGlmICghKG1heExlbmd0aCA9PT0gZmFsc2UpKSB7XHJcbiAgICAgICAgcGFzc3dvcmRQcm9wcyA9IHtcclxuICAgICAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsXHJcbiAgICAgICAgICAuLi5wYXNzd29yZFByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDxQYXNzd29yZCB7Li4ucGFzc3dvcmRQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaW5wdXRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICAgIFwib25DaGFuZ2VcIixcclxuICAgICAgICBcImRlZmF1bHRTdHlsZVwiLFxyXG4gICAgICAgIFwiYWxsb3dDaGFyc1wiLFxyXG4gICAgICAgIFwibWF4TGVuZ3RoXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICBpZiAoIShtYXhMZW5ndGggPT09IGZhbHNlKSkge1xyXG4gICAgICAgIGlucHV0UHJvcHMgPSB7IG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsIC4uLmlucHV0UHJvcHMgfTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgeyBhbnRkU3R5bGUgfSA9IGNvbmZpZygpO1xyXG4gICAgICBpZiAoKGRlZmF1bHRTdHlsZSB8fCBhbnRkU3R5bGUpICYmIGRlZmF1bHRTdHlsZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19pbnB1dFwiXSwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfT5cclxuICAgICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaVcIlxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgYWxsb3dDbGVhcj17dHJ1ZX1cclxuICAgICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cclxuICAgICAgICAgICAgICByZWY9e3RoaXMucmVmfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPElucHV0XHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWlXCJcclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgYWxsb3dDbGVhcj17dHJ1ZX1cclxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5yZWZ9XHJcbiAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxyXG4gICAgICAgICAgLz5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIHJldHVybiA8Pnt0aGlzLnJldHVybkNoaWxkcmVuKCl9PC8+O1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/lib/base/upload/index.js
CHANGED
|
@@ -229,13 +229,13 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
229
229
|
var _beforeUpload = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(file, ofileList) {
|
|
230
230
|
var _this2 = this;
|
|
231
231
|
|
|
232
|
-
var _this$props2, _this$props2$maxSize, maxSize, allowFileSuffix, _this$props2$checkSam, checkSameFile, fileList, size, fileNames, res,
|
|
232
|
+
var _this$props2, _this$props2$maxSize, maxSize, allowFileSuffix, _this$props2$checkSam, checkSameFile, maxCount, fileList, size, fileNames, res, onListChange, newList;
|
|
233
233
|
|
|
234
234
|
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
235
235
|
while (1) {
|
|
236
236
|
switch (_context3.prev = _context3.next) {
|
|
237
237
|
case 0:
|
|
238
|
-
_this$props2 = this.props, _this$props2$maxSize = _this$props2.maxSize, maxSize = _this$props2$maxSize === void 0 ? 100 : _this$props2$maxSize, allowFileSuffix = _this$props2.allowFileSuffix, _this$props2$checkSam = _this$props2.checkSameFile, checkSameFile = _this$props2$checkSam === void 0 ? true : _this$props2$checkSam;
|
|
238
|
+
_this$props2 = this.props, _this$props2$maxSize = _this$props2.maxSize, maxSize = _this$props2$maxSize === void 0 ? 100 : _this$props2$maxSize, allowFileSuffix = _this$props2.allowFileSuffix, _this$props2$checkSam = _this$props2.checkSameFile, checkSameFile = _this$props2$checkSam === void 0 ? true : _this$props2$checkSam, maxCount = _this$props2.maxCount;
|
|
239
239
|
fileList = this.state.fileList;
|
|
240
240
|
|
|
241
241
|
if (!(allowFileSuffix && !this.checkFileType(file))) {
|
|
@@ -288,7 +288,7 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
288
288
|
|
|
289
289
|
case 17:
|
|
290
290
|
if (!this.props.beforeUpload) {
|
|
291
|
-
_context3.next =
|
|
291
|
+
_context3.next = 21;
|
|
292
292
|
break;
|
|
293
293
|
}
|
|
294
294
|
|
|
@@ -302,13 +302,8 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
302
302
|
return _context3.abrupt("return", false);
|
|
303
303
|
|
|
304
304
|
case 21:
|
|
305
|
-
_context3.next = 29;
|
|
306
|
-
break;
|
|
307
|
-
|
|
308
|
-
case 23:
|
|
309
|
-
_fileList = this.state.fileList;
|
|
310
305
|
onListChange = this.props.onListChange;
|
|
311
|
-
newList = _toConsumableArray(
|
|
306
|
+
newList = _toConsumableArray(fileList);
|
|
312
307
|
ofileList.map( /*#__PURE__*/function () {
|
|
313
308
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(item) {
|
|
314
309
|
var temp;
|
|
@@ -341,12 +336,18 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
341
336
|
return _ref2.apply(this, arguments);
|
|
342
337
|
};
|
|
343
338
|
}());
|
|
339
|
+
|
|
340
|
+
if (maxCount && newList.length > maxCount) {
|
|
341
|
+
newList.splice(0, 1);
|
|
342
|
+
} // console.log("newList", newList);
|
|
343
|
+
|
|
344
|
+
|
|
344
345
|
this.setState({
|
|
345
346
|
fileList: newList
|
|
346
347
|
});
|
|
347
348
|
onListChange && onListChange(newList);
|
|
348
349
|
|
|
349
|
-
case
|
|
350
|
+
case 27:
|
|
350
351
|
case "end":
|
|
351
352
|
return _context3.stop();
|
|
352
353
|
}
|
|
@@ -546,4 +547,4 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
546
547
|
}(React.PureComponent);
|
|
547
548
|
|
|
548
549
|
export default withZhLocale(NscUpload);
|
|
549
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwid2l0aFpoTG9jYWxlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJOc2NVcGxvYWQiLCJmaWxlTGlzdCIsInZpZXdJZCIsImZpbGVMaXN0U3RvcmUiLCJmaWxlTmFtZXMiLCJvcHRpb25zIiwicHJvcHMiLCJvbkNvbXBsZXRlIiwib25Qcm9jZXNzIiwic2xpY2VTaXplIiwib25Qcm9ncmVzcyIsInRvdGFsUHJvZ3Jlc3MiLCJwZXJjZW50IiwicGFydFNpemUiLCJyZXMiLCJmaWxlSWQiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwib25FcnJvciIsInN0YXR1cyIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJtYXAiLCJpdGVtIiwidGVtcCIsIm5hbWUiLCJmaWxlTmFtZSIsInR5cGUiLCJzaXplIiwicHVzaCIsInNldFN0YXRlIiwicHJlUHJvcHMiLCJwcmVTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZSIsIm9maWxlTGlzdCIsIm1heFNpemUiLCJhbGxvd0ZpbGVTdWZmaXgiLCJjaGVja1NhbWVGaWxlIiwiY2hlY2tGaWxlVHlwZSIsImVycm9yIiwiaW5kZXhPZiIsImJlZm9yZVVwbG9hZCIsIm9uTGlzdENoYW5nZSIsIm5ld0xpc3QiLCJ1aWQiLCJuYW1lcyIsInNwbGl0Iiwic3VmZml4IiwibGVuZ3RoIiwibmV3RmlsZSIsInVzZURlZmF1bHRMaXN0IiwiZmlsZUNhcmQiLCJzaG93VXBsb2FkTGlzdCIsInNob3dEb3dubG9hZEljb24iLCJzaG93UHJldmlld0ljb24iLCJzaG93UmVtb3ZlSWNvbiIsImRvd25sb2FkSWNvbiIsInJlbW92ZUljb24iLCJwcmV2aWV3SWNvbiIsIm5ld3Byb3BzIiwiZGVmYXVsdFByb3BzIiwiY3VzdG9tUmVxdWVzdCIsImJpbmQiLCJtdWx0aXBsZSIsIml0ZW1SZW5kZXIiLCJvcmlnaW5Ob2RlIiwiY3VyckZpbGVMaXN0Iiwib25QcmV2aWV3IiwiY3Vyc29yIiwib25Eb3dubG9hZCIsIm9uUmVtb3ZlIiwib25EZWxldGUiLCJ3aWR0aCIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFVBQWpCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixZQUFwQjtBQUNBLE9BQU9DLFlBQVAsTUFBeUIsd0JBQXpCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsYUFBeEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIsb0JBQXJCO0FBQ0EsU0FDRUMsY0FERixFQUVFQyxnQkFGRixFQUdFQyxXQUhGLFFBSU8sbUJBSlA7QUFNQSxJQUFRQyxNQUFSLEdBQThDWCxJQUE5QyxDQUFRVyxNQUFSO0FBQUEsSUFBZ0JDLFFBQWhCLEdBQThDWixJQUE5QyxDQUFnQlksUUFBaEI7QUFBQSxJQUEwQkMsZUFBMUIsR0FBOENiLElBQTlDLENBQTBCYSxlQUExQjs7SUFhTUMsUzs7Ozs7Ozs7Ozs7Ozs7Ozs0REFDSTtBQUFFQyxNQUFBQSxRQUFRLEVBQUUsRUFBWjtBQUFnQkMsTUFBQUEsTUFBTSxFQUFFLEVBQXhCO0FBQTRCQyxNQUFBQSxhQUFhLEVBQUUsRUFBM0M7QUFBK0NDLE1BQUFBLFNBQVMsRUFBRTtBQUEx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RVZTLFVBQUFBLFVBQVUsRUFBRSxvQkFBQ3pGLElBQUQsRUFBZTtBQUN6QlksWUFBQUEsUUFBUSxDQUFDWixJQUFJLENBQUM2QixNQUFOLENBQVI7QUFDRCxXQUpTO0FBS1Y2RCxVQUFBQSxRQUFRLEVBQUUsa0JBQUMxRixJQUFELEVBQVU7QUFDbEIsWUFBQSxNQUFJLENBQUMyRixRQUFMLENBQWMzRixJQUFkO0FBQ0QsV0FQUztBQVFWdUYsVUFBQUEsU0FBUyxFQUFFLG1CQUFDdkYsSUFBRCxFQUFlO0FBQ3hCLGdCQUFJQSxJQUFKLGFBQUlBLElBQUosZUFBSUEsSUFBSSxDQUFFNkIsTUFBVixFQUFrQjtBQUNoQmhCLGNBQUFBLGVBQWUsQ0FBQ2IsSUFBSSxDQUFDNkIsTUFBTixDQUFmO0FBQ0Q7QUFDRixXQVpTO0FBYVYyQyxVQUFBQSxjQUFjLG9CQUFPQSxjQUFQO0FBYkosVUFBWjtBQWVEOztBQUNELDBCQUNFLHVEQUNFLDBDQUNNUSxZQUROLEVBRU1ELFFBRk47QUFHRSxRQUFBLFlBQVksRUFBRSxLQUFLbEIsWUFBTCxDQUFrQnFCLElBQWxCLENBQXVCLElBQXZCLENBSGhCO0FBSUUsUUFBQSxRQUFRLEVBQUUsS0FBSzdCLEtBQUwsQ0FBV3RDO0FBSnZCLFNBREYsQ0FERjtBQVVEOzs7O0VBN1ZxQmhCLEtBQUssQ0FBQzhGLGE7O0FBK1Y5QixlQUFlM0YsWUFBWSxDQUFDWSxTQUFELENBQTNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFVwbG9hZCwgVXBsb2FkUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uL21lc3NhZ2VcIjtcclxuaW1wb3J0IHdpdGhaaExvY2FsZSBmcm9tIFwiLi4vY29tbW9uL3dpdGhaaExvY2FsZVwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBGaWxlSWNvbiBmcm9tIFwiLi4vY29tbW9uL0ZpbGVJY29uXCI7XHJcbmltcG9ydCB7XHJcbiAgRGVsZXRlT3V0bGluZWQsXHJcbiAgRG93bmxvYWRPdXRsaW5lZCxcclxuICBFeWVPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IFBkZlZpZXdlciBmcm9tIFwiLi4vcGRmdml3ZXJcIjtcclxuY29uc3QgeyB1cGxvYWQsIGRvd25sb2FkLCBwcmV2aWV3RG9jdW1lbnQgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyIHwgYm9vbGVhbjtcclxuICBvblByb2Nlc3M/OiAocHJvY2VzcykgPT4gdm9pZDtcclxuICBvbkNvbXBsZXRlPzogKHsgZmlsZSwgZmlsZUlkLCBzdGF0dXMgfSkgPT4gdm9pZDtcclxuICBhbGxvd0ZpbGVTdWZmaXg/OiBBcnJheTxTdHJpbmc+OyAvL+WFgeiuuOS4iuS8oOaJqeWxleWQjSzkuI3luKYuXHJcbiAgdXNlRGVmYXVsdExpc3Q/OiBib29sZWFuOyAvL+aYr+WQpuS9v+eUqOm7mOiupOeahGZpbGVMaXN0XHJcbiAgZmlsZUNhcmQ/OiBib29sZWFuO1xyXG4gIG9uTGlzdENoYW5nZT86IGFueTtcclxuICBjaGVja1NhbWVGaWxlPzogYm9vbGVhbjtcclxufVxyXG5jbGFzcyBOc2NVcGxvYWQgZXh0ZW5kcyBSZWFjdC5QdXJlQ29tcG9uZW50PElVcGxvYWRQcm9wcywgYW55PiB7XHJcbiAgc3RhdGUgPSB7IGZpbGVMaXN0OiBbXSwgdmlld0lkOiBcIlwiLCBmaWxlTGlzdFN0b3JlOiBbXSwgZmlsZU5hbWVzOiBbXSB9O1xyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsZUxpc3QpIHtcclxuICAgICAgdGhpcy5jb252ZXJ0RmlsZUxpc3QoKTtcclxuICAgIH1cclxuICB9XHJcbiAgY29udmVydEZpbGVMaXN0KGxpc3Q/OiBBcnJheTxPYmplY3Q+KSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3RmlsZUxpc3QgPSBbXTtcclxuICAgIGxldCBvbGRMaXN0ID0gbGlzdCA/IGxpc3QgOiBmaWxlTGlzdDtcclxuICAgIG9sZExpc3QubWFwKChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7XHJcbiAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICBuYW1lOiBpdGVtLm5hbWUgfHwgaXRlbS5maWxlTmFtZSxcclxuICAgICAgICB0eXBlOiBpdGVtLnR5cGUsXHJcbiAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICB9O1xyXG4gICAgICBuZXdGaWxlTGlzdC5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0ZpbGVMaXN0LFxyXG4gICAgICBmaWxlTGlzdFN0b3JlOiBmaWxlTGlzdCxcclxuICAgIH0pO1xyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUocHJlUHJvcHMsIHByZVN0YXRlKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5maWxlTGlzdCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9wcy5maWxlTGlzdCkgIT09XHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zdGF0ZS5maWxlTGlzdFN0b3JlKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldEZpbGVMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuZmlsZUxpc3Q7XHJcbiAgfVxyXG4gIHNldEZpbGVMaXN0KGZpbGVMaXN0OiBBcnJheTxPYmplY3Q+KSB7XHJcbiAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdChmaWxlTGlzdCk7XHJcbiAgfVxyXG4gIGFzeW5jIGJlZm9yZVVwbG9hZChmaWxlLCBvZmlsZUxpc3QpIHtcclxuICAgIGxldCB7IG1heFNpemUgPSAxMDAsIGFsbG93RmlsZVN1ZmZpeCwgY2hlY2tTYW1lRmlsZSA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuXHJcbiAgICBsZXQgc2l6ZTogbnVtYmVyO1xyXG4gICAgaWYgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGZpbGUpKSB7XHJcbiAgICAgIG1lc3NhZ2UuZXJyb3IoXHJcbiAgICAgICAgYCR7ZmlsZS5uYW1lfeaWh+S7tuexu+Wei+S4jeWFgeiuuOS4iuS8oO+8jOivt+S4iuS8oOWQjue8gOS4uiR7YWxsb3dGaWxlU3VmZml4feeahOexu+Wei+aWh+S7tu+8gWBcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKG1heFNpemUgIT09IGZhbHNlKSB7XHJcbiAgICAgIGlmIChtYXhTaXplID09PSB0cnVlKSB7XHJcbiAgICAgICAgbWF4U2l6ZSA9IDEwMDtcclxuICAgICAgfVxyXG4gICAgICBzaXplID0gbWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xyXG4gICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgIG1lc3NhZ2UuZXJyb3IoYCR7ZmlsZS5uYW1lfeaWh+S7tuWkp+Wwj+i2hei/hyR7bWF4U2l6ZX1N77yM6K+36YeN5paw5LiK5Lyg77yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBsZXQgZmlsZU5hbWVzID0gW107XHJcbiAgICBpZiAoY2hlY2tTYW1lRmlsZSkge1xyXG4gICAgICBmaWxlTGlzdC5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICBmaWxlTmFtZXMucHVzaChpdGVtLm5hbWUgfHwgaXRlbS5maWxlTmFtZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoZmlsZU5hbWVzLmluZGV4T2YoZmlsZS5uYW1lKSA+IC0xKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihg5paH5Lu2JHtmaWxlLm5hbWV95bey5Zyo5LiK5Lyg5YiX6KGo5Lit77yM6K+36YeN5paw6YCJ5oup5paH5Lu277yBYCk7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKSB7XHJcbiAgICAgIGNvbnN0IHJlcyA9IHRoaXMucHJvcHMuYmVmb3JlVXBsb2FkKGZpbGUsIG9maWxlTGlzdCk7XHJcbiAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCB7IG9uTGlzdENoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgY29uc3QgbmV3TGlzdCA9IFsuLi5maWxlTGlzdF07XHJcbiAgICAgIG9maWxlTGlzdC5tYXAoYXN5bmMgKGl0ZW0pID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAhKFxyXG4gICAgICAgICAgICAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoaXRlbSkpIHx8XHJcbiAgICAgICAgICAgIHNpemUgPCBpdGVtLnNpemUgfHxcclxuICAgICAgICAgICAgKGNoZWNrU2FtZUZpbGUgJiYgZmlsZU5hbWVzLmluZGV4T2YoaXRlbS5uYW1lKSA+IC0xKVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgY29uc3QgdGVtcCA9IHtcclxuICAgICAgICAgICAgZmlsZU5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgICAgcGVyY2VudDogMCxcclxuICAgICAgICAgICAgc3RhdHVzOiBcInVwbG9hZGluZ1wiLFxyXG4gICAgICAgICAgICB1aWQ6IGl0ZW0udWlkLFxyXG4gICAgICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICAgICAgc2l6ZTogaXRlbS5zaXplLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIG5ld0xpc3QucHVzaCh0ZW1wKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgZmlsZUxpc3Q6IG5ld0xpc3QgfSk7XHJcbiAgICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNoZWNrRmlsZVR5cGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBhbGxvd0ZpbGVTdWZmaXggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuYW1lcyA9IGZpbGUubmFtZS5zcGxpdChcIi5cIik7XHJcbiAgICBjb25zdCBzdWZmaXggPSBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXTtcclxuICAgIGlmIChhbGxvd0ZpbGVTdWZmaXguaW5kZXhPZihzdWZmaXgpID4gLTEpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIG9uUHJvY2Vzcyh7IHBlcmNlbnQsIGZpbGUgfTogYW55KSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUudWlkID09IGl0ZW0udWlkKSB7XHJcbiAgICAgICAgbmV3RmlsZS5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgICAgfVxyXG4gICAgICBuZXdMaXN0LnB1c2gobmV3RmlsZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICB9XHJcbiAgb25Db21wbGV0ZShmaWxlKSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUuZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICBuZXdGaWxlLnN0YXR1cyA9IGZpbGUuc3RhdHVzID09IFwic3VjY2Vzc1wiID8gXCJkb25lXCIgOiBmaWxlLnN0YXR1cztcclxuICAgICAgICBuZXdGaWxlLmZpbGVJZCA9IGZpbGUuZmlsZUlkO1xyXG4gICAgICB9XHJcbiAgICAgIG5ld0xpc3QucHVzaChuZXdGaWxlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICBjdXN0b21SZXF1ZXN0ID0gYXN5bmMgKG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICBjb25zdCB7IG9uQ29tcGxldGUsIG9uUHJvY2Vzcywgc2xpY2VTaXplIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qgb25Qcm9ncmVzcyA9ICh0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgb3B0aW9ucy5vblByb2dyZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcyB9LCBmaWxlKTtcclxuICAgICAgdGhpcy5vblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICBvblByb2Nlc3MgJiYgb25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgIH07XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZCh7XHJcbiAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICBvblByb2dyZXNzOiBvblByb2dyZXNzLFxyXG4gICAgICAgIHBhcnRTaXplOiBzbGljZVNpemUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgZmlsZUlkID0gbnVsbDtcclxuICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIGZpbGVJZCA9IHJlcy5kYXRhLmF0dGFjaElkO1xyXG4gICAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHtcclxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBcIlwiLFxyXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoeyBmaWxlOiBvcHRpb25zLmZpbGUsIGZpbGVJZDogXCJcIiwgc3RhdHVzOiBcImVycm9yXCIgfSk7XHJcbiAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5maWxlSWQgIT09IGZpbGUuZmlsZUlkIHx8IGl0ZW0udWlkICE9PSBmaWxlLnVpZCkge1xyXG4gICAgICAgIG5ld0xpc3QucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xyXG4gICAgbGV0IHtcclxuICAgICAgdXNlRGVmYXVsdExpc3QsXHJcbiAgICAgIGZpbGVMaXN0LFxyXG4gICAgICBmaWxlQ2FyZCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgc2hvd0Rvd25sb2FkSWNvbjogdHJ1ZSxcclxuICAgICAgICBzaG93UHJldmlld0ljb246IGZhbHNlLFxyXG4gICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgIGRvd25sb2FkSWNvbjogbnVsbCxcclxuICAgICAgICByZW1vdmVJY29uOiBudWxsLFxyXG4gICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICB9IGFzIGFueSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3cHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgXCJtYXhTaXplXCIsXHJcbiAgICAgIFwib25Db21wbGV0ZVwiLFxyXG4gICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICBcImFsbG93RmlsZVN1ZmZpeFwiLFxyXG4gICAgICBcInVzZURlZmF1bHRMaXN0XCIsXHJcbiAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgXCJvbkxpc3RDaGFuZ2VcIixcclxuICAgIF0pO1xyXG4gICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgY3VzdG9tUmVxdWVzdDogdGhpcy5jdXN0b21SZXF1ZXN0LmJpbmQodGhpcyksXHJcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxyXG4gICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICBpZiAoZmlsZUNhcmQpIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBpdGVtUmVuZGVyOiAob3JpZ2luTm9kZSwgZmlsZTogYW55LCBjdXJyRmlsZUxpc3QpID0+IHtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZTtcclxuICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgY29uc3Qgc3VmZml4ID0gbmFtZXMgPyBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXSA6IFwiXCI7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50XCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxGaWxlSWNvbiBzdWZmaXg9e3N1ZmZpeH0gZmlsZUlkPXtmaWxlLmZpbGVJZH0gLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICB7ZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWV9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dQcmV2aWV3SWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV5ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd0Rvd25sb2FkSWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB7ZmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBlcmNlbnRcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBvbkRvd25sb2FkOiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBkb3dubG9hZChmaWxlLmZpbGVJZCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblJlbW92ZTogKGZpbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblByZXZpZXc6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmaWxlPy5maWxlSWQpIHtcclxuICAgICAgICAgICAgcHJldmlld0RvY3VtZW50KGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIDxVcGxvYWRcclxuICAgICAgICAgIHsuLi5kZWZhdWx0UHJvcHN9XHJcbiAgICAgICAgICB7Li4ubmV3cHJvcHN9XHJcbiAgICAgICAgICBiZWZvcmVVcGxvYWQ9e3RoaXMuYmVmb3JlVXBsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBmaWxlTGlzdD17dGhpcy5zdGF0ZS5maWxlTGlzdH1cclxuICAgICAgICAvPlxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IHdpdGhaaExvY2FsZShOc2NVcGxvYWQpO1xyXG4iXX0=
|
|
550
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwid2l0aFpoTG9jYWxlIiwib21pdCIsImdldExlc3MiLCJzdHlsZXMiLCJjbHMiLCJGaWxlSWNvbiIsIkRlbGV0ZU91dGxpbmVkIiwiRG93bmxvYWRPdXRsaW5lZCIsIkV5ZU91dGxpbmVkIiwidXBsb2FkIiwiZG93bmxvYWQiLCJwcmV2aWV3RG9jdW1lbnQiLCJOc2NVcGxvYWQiLCJmaWxlTGlzdCIsInZpZXdJZCIsImZpbGVMaXN0U3RvcmUiLCJmaWxlTmFtZXMiLCJvcHRpb25zIiwicHJvcHMiLCJvbkNvbXBsZXRlIiwib25Qcm9jZXNzIiwic2xpY2VTaXplIiwib25Qcm9ncmVzcyIsInRvdGFsUHJvZ3Jlc3MiLCJwZXJjZW50IiwicGFydFNpemUiLCJyZXMiLCJmaWxlSWQiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwib25FcnJvciIsInN0YXR1cyIsImNvbnZlcnRGaWxlTGlzdCIsImxpc3QiLCJuZXdGaWxlTGlzdCIsIm9sZExpc3QiLCJtYXAiLCJpdGVtIiwidGVtcCIsIm5hbWUiLCJmaWxlTmFtZSIsInR5cGUiLCJzaXplIiwicHVzaCIsInNldFN0YXRlIiwicHJlUHJvcHMiLCJwcmVTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZSIsIm9maWxlTGlzdCIsIm1heFNpemUiLCJhbGxvd0ZpbGVTdWZmaXgiLCJjaGVja1NhbWVGaWxlIiwibWF4Q291bnQiLCJjaGVja0ZpbGVUeXBlIiwiZXJyb3IiLCJpbmRleE9mIiwiYmVmb3JlVXBsb2FkIiwib25MaXN0Q2hhbmdlIiwibmV3TGlzdCIsInVpZCIsImxlbmd0aCIsInNwbGljZSIsIm5hbWVzIiwic3BsaXQiLCJzdWZmaXgiLCJuZXdGaWxlIiwidXNlRGVmYXVsdExpc3QiLCJmaWxlQ2FyZCIsInNob3dVcGxvYWRMaXN0Iiwic2hvd0Rvd25sb2FkSWNvbiIsInNob3dQcmV2aWV3SWNvbiIsInNob3dSZW1vdmVJY29uIiwiZG93bmxvYWRJY29uIiwicmVtb3ZlSWNvbiIsInByZXZpZXdJY29uIiwibmV3cHJvcHMiLCJkZWZhdWx0UHJvcHMiLCJjdXN0b21SZXF1ZXN0IiwiYmluZCIsIm11bHRpcGxlIiwiaXRlbVJlbmRlciIsIm9yaWdpbk5vZGUiLCJjdXJyRmlsZUxpc3QiLCJvblByZXZpZXciLCJjdXJzb3IiLCJvbkRvd25sb2FkIiwib25SZW1vdmUiLCJvbkRlbGV0ZSIsIndpZHRoIiwiUHVyZUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUVBLE9BQU9DLElBQVAsTUFBaUIsVUFBakI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLFlBQXBCO0FBQ0EsT0FBT0MsWUFBUCxNQUF5Qix3QkFBekI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixvQkFBckI7QUFDQSxTQUNFQyxjQURGLEVBRUVDLGdCQUZGLEVBR0VDLFdBSEYsUUFJTyxtQkFKUDtBQU1BLElBQVFDLE1BQVIsR0FBOENYLElBQTlDLENBQVFXLE1BQVI7QUFBQSxJQUFnQkMsUUFBaEIsR0FBOENaLElBQTlDLENBQWdCWSxRQUFoQjtBQUFBLElBQTBCQyxlQUExQixHQUE4Q2IsSUFBOUMsQ0FBMEJhLGVBQTFCOztJQWFNQyxTOzs7Ozs7Ozs7Ozs7Ozs7OzREQUNJO0FBQUVDLE1BQUFBLFFBQVEsRUFBRSxFQUFaO0FBQWdCQyxNQUFBQSxNQUFNLEVBQUUsRUFBeEI7QUFBNEJDLE1BQUFBLGFBQWEsRUFBRSxFQUEzQztBQUErQ0Ms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QUFlO0FBQXhCO0FBRlQsY0FERixDQXRFSixDQURGO0FBZ0ZEO0FBdEZTLFVBQVo7QUF3RkQsT0F6RkQsTUF5Rk87QUFDTHdELFFBQUFBLFlBQVksbUNBQ1BBLFlBRE87QUFFVlMsVUFBQUEsVUFBVSxFQUFFLG9CQUFDM0YsSUFBRCxFQUFlO0FBQ3pCWSxZQUFBQSxRQUFRLENBQUNaLElBQUksQ0FBQzZCLE1BQU4sQ0FBUjtBQUNELFdBSlM7QUFLVitELFVBQUFBLFFBQVEsRUFBRSxrQkFBQzVGLElBQUQsRUFBVTtBQUNsQixZQUFBLE1BQUksQ0FBQzZGLFFBQUwsQ0FBYzdGLElBQWQ7QUFDRCxXQVBTO0FBUVZ5RixVQUFBQSxTQUFTLEVBQUUsbUJBQUN6RixJQUFELEVBQWU7QUFDeEIsZ0JBQUlBLElBQUosYUFBSUEsSUFBSixlQUFJQSxJQUFJLENBQUU2QixNQUFWLEVBQWtCO0FBQ2hCaEIsY0FBQUEsZUFBZSxDQUFDYixJQUFJLENBQUM2QixNQUFOLENBQWY7QUFDRDtBQUNGLFdBWlM7QUFhVjZDLFVBQUFBLGNBQWMsb0JBQU9BLGNBQVA7QUFiSixVQUFaO0FBZUQ7O0FBQ0QsMEJBQ0UsdURBQ0UsMENBQ01RLFlBRE4sRUFFTUQsUUFGTjtBQUdFLFFBQUEsWUFBWSxFQUFFLEtBQUtuQixZQUFMLENBQWtCc0IsSUFBbEIsQ0FBdUIsSUFBdkIsQ0FIaEI7QUFJRSxRQUFBLFFBQVEsRUFBRSxLQUFLL0IsS0FBTCxDQUFXdEM7QUFKdkIsU0FERixDQURGO0FBVUQ7Ozs7RUFwV3FCaEIsS0FBSyxDQUFDZ0csYTs7QUFzVzlCLGVBQWU3RixZQUFZLENBQUNZLFNBQUQsQ0FBM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgVXBsb2FkLCBVcGxvYWRQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBmaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vbWVzc2FnZVwiO1xyXG5pbXBvcnQgd2l0aFpoTG9jYWxlIGZyb20gXCIuLi9jb21tb24vd2l0aFpoTG9jYWxlXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCB7IGdldExlc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IEZpbGVJY29uIGZyb20gXCIuLi9jb21tb24vRmlsZUljb25cIjtcclxuaW1wb3J0IHtcclxuICBEZWxldGVPdXRsaW5lZCxcclxuICBEb3dubG9hZE91dGxpbmVkLFxyXG4gIEV5ZU91dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgUGRmVmlld2VyIGZyb20gXCIuLi9wZGZ2aXdlclwiO1xyXG5jb25zdCB7IHVwbG9hZCwgZG93bmxvYWQsIHByZXZpZXdEb2N1bWVudCB9ID0gZmlsZTtcclxuXHJcbmludGVyZmFjZSBJVXBsb2FkUHJvcHMgZXh0ZW5kcyBVcGxvYWRQcm9wcyB7XHJcbiAgc2xpY2VTaXplPzogbnVtYmVyO1xyXG4gIG1heFNpemU/OiBudW1iZXIgfCBib29sZWFuO1xyXG4gIG9uUHJvY2Vzcz86IChwcm9jZXNzKSA9PiB2b2lkO1xyXG4gIG9uQ29tcGxldGU/OiAoeyBmaWxlLCBmaWxlSWQsIHN0YXR1cyB9KSA9PiB2b2lkO1xyXG4gIGFsbG93RmlsZVN1ZmZpeD86IEFycmF5PFN0cmluZz47IC8v5YWB6K645LiK5Lyg5omp5bGV5ZCNLOS4jeW4pi5cclxuICB1c2VEZWZhdWx0TGlzdD86IGJvb2xlYW47IC8v5piv5ZCm5L2/55So6buY6K6k55qEZmlsZUxpc3RcclxuICBmaWxlQ2FyZD86IGJvb2xlYW47XHJcbiAgb25MaXN0Q2hhbmdlPzogYW55O1xyXG4gIGNoZWNrU2FtZUZpbGU/OiBib29sZWFuO1xyXG59XHJcbmNsYXNzIE5zY1VwbG9hZCBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SVVwbG9hZFByb3BzLCBhbnk+IHtcclxuICBzdGF0ZSA9IHsgZmlsZUxpc3Q6IFtdLCB2aWV3SWQ6IFwiXCIsIGZpbGVMaXN0U3RvcmU6IFtdLCBmaWxlTmFtZXM6IFtdIH07XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBpZiAodGhpcy5wcm9wcy5maWxlTGlzdCkge1xyXG4gICAgICB0aGlzLmNvbnZlcnRGaWxlTGlzdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb252ZXJ0RmlsZUxpc3QobGlzdD86IEFycmF5PE9iamVjdD4pIHtcclxuICAgIGNvbnN0IHsgZmlsZUxpc3QgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdGaWxlTGlzdCA9IFtdO1xyXG4gICAgbGV0IG9sZExpc3QgPSBsaXN0ID8gbGlzdCA6IGZpbGVMaXN0O1xyXG4gICAgb2xkTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIG5hbWU6IGl0ZW0ubmFtZSB8fCBpdGVtLmZpbGVOYW1lLFxyXG4gICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICBzaXplOiBpdGVtLnNpemUsXHJcbiAgICAgIH07XHJcbiAgICAgIG5ld0ZpbGVMaXN0LnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3RmlsZUxpc3QsXHJcbiAgICAgIGZpbGVMaXN0U3RvcmU6IGZpbGVMaXN0LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmVQcm9wcywgcHJlU3RhdGUpIHtcclxuICAgIGlmICh0aGlzLnByb3BzLmZpbGVMaXN0KSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzLmZpbGVMaXN0KSAhPT1cclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnN0YXRlLmZpbGVMaXN0U3RvcmUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29udmVydEZpbGVMaXN0KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0RmlsZUxpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5maWxlTGlzdDtcclxuICB9XHJcbiAgc2V0RmlsZUxpc3QoZmlsZUxpc3Q6IEFycmF5PE9iamVjdD4pIHtcclxuICAgIHRoaXMuY29udmVydEZpbGVMaXN0KGZpbGVMaXN0KTtcclxuICB9XHJcbiAgYXN5bmMgYmVmb3JlVXBsb2FkKGZpbGUsIG9maWxlTGlzdCkge1xyXG4gICAgbGV0IHtcclxuICAgICAgbWF4U2l6ZSA9IDEwMCxcclxuICAgICAgYWxsb3dGaWxlU3VmZml4LFxyXG4gICAgICBjaGVja1NhbWVGaWxlID0gdHJ1ZSxcclxuICAgICAgbWF4Q291bnQsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG5cclxuICAgIGxldCBzaXplOiBudW1iZXI7XHJcbiAgICBpZiAoYWxsb3dGaWxlU3VmZml4ICYmICF0aGlzLmNoZWNrRmlsZVR5cGUoZmlsZSkpIHtcclxuICAgICAgbWVzc2FnZS5lcnJvcihcclxuICAgICAgICBgJHtmaWxlLm5hbWV95paH5Lu257G75Z6L5LiN5YWB6K645LiK5Lyg77yM6K+35LiK5Lyg5ZCO57yA5Li6JHthbGxvd0ZpbGVTdWZmaXh955qE57G75Z6L5paH5Lu277yBYFxyXG4gICAgICApO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAobWF4U2l6ZSAhPT0gZmFsc2UpIHtcclxuICAgICAgaWYgKG1heFNpemUgPT09IHRydWUpIHtcclxuICAgICAgICBtYXhTaXplID0gMTAwO1xyXG4gICAgICB9XHJcbiAgICAgIHNpemUgPSBtYXhTaXplICogMTAyNCAqIDEwMjQ7XHJcbiAgICAgIGlmIChzaXplIDwgZmlsZS5zaXplKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihgJHtmaWxlLm5hbWV95paH5Lu25aSn5bCP6LaF6L+HJHttYXhTaXplfU3vvIzor7fph43mlrDkuIrkvKDvvIFgKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCBmaWxlTmFtZXMgPSBbXTtcclxuICAgIGlmIChjaGVja1NhbWVGaWxlKSB7XHJcbiAgICAgIGZpbGVMaXN0Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGZpbGVOYW1lcy5wdXNoKGl0ZW0ubmFtZSB8fCBpdGVtLmZpbGVOYW1lKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChmaWxlTmFtZXMuaW5kZXhPZihmaWxlLm5hbWUpID4gLTEpIHtcclxuICAgICAgICBtZXNzYWdlLmVycm9yKGDmlofku7Yke2ZpbGUubmFtZX3lt7LlnKjkuIrkvKDliJfooajkuK3vvIzor7fph43mlrDpgInmi6nmlofku7bvvIFgKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5wcm9wcy5iZWZvcmVVcGxvYWQpIHtcclxuICAgICAgY29uc3QgcmVzID0gdGhpcy5wcm9wcy5iZWZvcmVVcGxvYWQoZmlsZSwgb2ZpbGVMaXN0KTtcclxuICAgICAgaWYgKHJlcyA9PT0gZmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdCA9IFsuLi5maWxlTGlzdF07XHJcbiAgICBvZmlsZUxpc3QubWFwKGFzeW5jIChpdGVtKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhKFxyXG4gICAgICAgICAgKGFsbG93RmlsZVN1ZmZpeCAmJiAhdGhpcy5jaGVja0ZpbGVUeXBlKGl0ZW0pKSB8fFxyXG4gICAgICAgICAgc2l6ZSA8IGl0ZW0uc2l6ZSB8fFxyXG4gICAgICAgICAgKGNoZWNrU2FtZUZpbGUgJiYgZmlsZU5hbWVzLmluZGV4T2YoaXRlbS5uYW1lKSA+IC0xKVxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgdGVtcCA9IHtcclxuICAgICAgICAgIGZpbGVOYW1lOiBpdGVtLm5hbWUsXHJcbiAgICAgICAgICBwZXJjZW50OiAwLFxyXG4gICAgICAgICAgc3RhdHVzOiBcInVwbG9hZGluZ1wiLFxyXG4gICAgICAgICAgdWlkOiBpdGVtLnVpZCxcclxuICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcclxuICAgICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICAgIHNpemU6IGl0ZW0uc2l6ZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIG5ld0xpc3QucHVzaCh0ZW1wKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAobWF4Q291bnQgJiYgbmV3TGlzdC5sZW5ndGggPiBtYXhDb3VudCkge1xyXG4gICAgICBuZXdMaXN0LnNwbGljZSgwLCAxKTtcclxuICAgIH1cclxuICAgIC8vIGNvbnNvbGUubG9nKFwibmV3TGlzdFwiLCBuZXdMaXN0KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBmaWxlTGlzdDogbmV3TGlzdCB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIGNoZWNrRmlsZVR5cGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBhbGxvd0ZpbGVTdWZmaXggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuYW1lcyA9IGZpbGUubmFtZS5zcGxpdChcIi5cIik7XHJcbiAgICBjb25zdCBzdWZmaXggPSBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXTtcclxuICAgIGlmIChhbGxvd0ZpbGVTdWZmaXguaW5kZXhPZihzdWZmaXgpID4gLTEpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIG9uUHJvY2Vzcyh7IHBlcmNlbnQsIGZpbGUgfTogYW55KSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUudWlkID09IGl0ZW0udWlkKSB7XHJcbiAgICAgICAgbmV3RmlsZS5wZXJjZW50ID0gcGVyY2VudDtcclxuICAgICAgfVxyXG4gICAgICBuZXdMaXN0LnB1c2gobmV3RmlsZSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmaWxlTGlzdDogbmV3TGlzdCxcclxuICAgIH0pO1xyXG4gICAgb25MaXN0Q2hhbmdlICYmIG9uTGlzdENoYW5nZShuZXdMaXN0KTtcclxuICB9XHJcbiAgb25Db21wbGV0ZShmaWxlKSB7XHJcbiAgICBjb25zdCB7IGZpbGVMaXN0IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBvbkxpc3RDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdMaXN0OiBhbnkgPSBbXTtcclxuICAgIGZpbGVMaXN0Lm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld0ZpbGUgPSB7IC4uLml0ZW0gfTtcclxuICAgICAgaWYgKGZpbGUuZmlsZS51aWQgPT0gaXRlbS51aWQpIHtcclxuICAgICAgICBuZXdGaWxlLnN0YXR1cyA9IGZpbGUuc3RhdHVzID09IFwic3VjY2Vzc1wiID8gXCJkb25lXCIgOiBmaWxlLnN0YXR1cztcclxuICAgICAgICBuZXdGaWxlLmZpbGVJZCA9IGZpbGUuZmlsZUlkO1xyXG4gICAgICB9XHJcbiAgICAgIG5ld0xpc3QucHVzaChuZXdGaWxlKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVMaXN0OiBuZXdMaXN0LFxyXG4gICAgfSk7XHJcbiAgICBvbkxpc3RDaGFuZ2UgJiYgb25MaXN0Q2hhbmdlKG5ld0xpc3QpO1xyXG4gIH1cclxuICBjdXN0b21SZXF1ZXN0ID0gYXN5bmMgKG9wdGlvbnMpID0+IHtcclxuICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XHJcbiAgICBjb25zdCB7IG9uQ29tcGxldGUsIG9uUHJvY2Vzcywgc2xpY2VTaXplIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qgb25Qcm9ncmVzcyA9ICh0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgb3B0aW9ucy5vblByb2dyZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcyB9LCBmaWxlKTtcclxuICAgICAgdGhpcy5vblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgICBvblByb2Nlc3MgJiYgb25Qcm9jZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcywgZmlsZTogZmlsZSB9KTtcclxuICAgIH07XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZCh7XHJcbiAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICBvblByb2dyZXNzOiBvblByb2dyZXNzLFxyXG4gICAgICAgIHBhcnRTaXplOiBzbGljZVNpemUsXHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgZmlsZUlkID0gbnVsbDtcclxuICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIGZpbGVJZCA9IHJlcy5kYXRhLmF0dGFjaElkO1xyXG4gICAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgb3B0aW9ucy5vbkVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBmaWxlSWQsXHJcbiAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgfSk7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHtcclxuICAgICAgICAgIGZpbGU6IG9wdGlvbnMuZmlsZSxcclxuICAgICAgICAgIGZpbGVJZDogZmlsZUlkLFxyXG4gICAgICAgICAgc3RhdHVzOiByZXMuY29kZSA9PSAyMDAgPyBcInN1Y2Nlc3NcIiA6IFwiZXJyb3JcIixcclxuICAgICAgICB9KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgdGhpcy5vbkNvbXBsZXRlKHtcclxuICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgZmlsZUlkOiBcIlwiLFxyXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICB9KTtcclxuICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgIG9uQ29tcGxldGUoeyBmaWxlOiBvcHRpb25zLmZpbGUsIGZpbGVJZDogXCJcIiwgc3RhdHVzOiBcImVycm9yXCIgfSk7XHJcbiAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgb25EZWxldGUoZmlsZSkge1xyXG4gICAgY29uc3QgeyBmaWxlTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgb25MaXN0Q2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3TGlzdDogYW55ID0gW107XHJcbiAgICBmaWxlTGlzdC5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBpZiAoaXRlbS5maWxlSWQgIT09IGZpbGUuZmlsZUlkIHx8IGl0ZW0udWlkICE9PSBmaWxlLnVpZCkge1xyXG4gICAgICAgIG5ld0xpc3QucHVzaChpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgZmlsZUxpc3Q6IG5ld0xpc3QsXHJcbiAgICB9KTtcclxuICAgIG9uTGlzdENoYW5nZSAmJiBvbkxpc3RDaGFuZ2UobmV3TGlzdCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xyXG4gICAgbGV0IHtcclxuICAgICAgdXNlRGVmYXVsdExpc3QsXHJcbiAgICAgIGZpbGVMaXN0LFxyXG4gICAgICBmaWxlQ2FyZCxcclxuICAgICAgc2hvd1VwbG9hZExpc3QgPSB7XHJcbiAgICAgICAgc2hvd0Rvd25sb2FkSWNvbjogdHJ1ZSxcclxuICAgICAgICBzaG93UHJldmlld0ljb246IGZhbHNlLFxyXG4gICAgICAgIHNob3dSZW1vdmVJY29uOiB0cnVlLFxyXG4gICAgICAgIGRvd25sb2FkSWNvbjogbnVsbCxcclxuICAgICAgICByZW1vdmVJY29uOiBudWxsLFxyXG4gICAgICAgIHByZXZpZXdJY29uOiBudWxsLFxyXG4gICAgICB9IGFzIGFueSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3cHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJzbGljZVNpemVcIixcclxuICAgICAgXCJtYXhTaXplXCIsXHJcbiAgICAgIFwib25Db21wbGV0ZVwiLFxyXG4gICAgICBcIm9uUHJvY2Vzc1wiLFxyXG4gICAgICBcImFsbG93RmlsZVN1ZmZpeFwiLFxyXG4gICAgICBcInVzZURlZmF1bHRMaXN0XCIsXHJcbiAgICAgIFwiZmlsZUNhcmRcIixcclxuICAgICAgXCJvbkxpc3RDaGFuZ2VcIixcclxuICAgIF0pO1xyXG4gICAgbGV0IGRlZmF1bHRQcm9wcyA9IHtcclxuICAgICAgY3VzdG9tUmVxdWVzdDogdGhpcy5jdXN0b21SZXF1ZXN0LmJpbmQodGhpcyksXHJcbiAgICAgIG11bHRpcGxlOiB0cnVlLFxyXG4gICAgfSBhcyBJVXBsb2FkUHJvcHM7XHJcbiAgICBpZiAoZmlsZUNhcmQpIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBpdGVtUmVuZGVyOiAob3JpZ2luTm9kZSwgZmlsZTogYW55LCBjdXJyRmlsZUxpc3QpID0+IHtcclxuICAgICAgICAgIGNvbnN0IG5hbWUgPSBmaWxlLm5hbWUgfHwgZmlsZS5maWxlTmFtZTtcclxuICAgICAgICAgIGNvbnN0IG5hbWVzID0gbmFtZT8uc3BsaXQoXCIuXCIpO1xyXG4gICAgICAgICAgY29uc3Qgc3VmZml4ID0gbmFtZXMgPyBuYW1lc1tuYW1lcy5sZW5ndGggLSAxXSA6IFwiXCI7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZmlsZS1pdGVtXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NscyhnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50XCIpLCB7XHJcbiAgICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50X2Vycm9yXCIpXTogZmlsZS5zdGF0dXMgPT0gXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm1hcmstcGljdHVyZVwiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxGaWxlSWNvbiBzdWZmaXg9e3N1ZmZpeH0gZmlsZUlkPXtmaWxlLmZpbGVJZH0gLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcIm5hbWVcIil9PlxyXG4gICAgICAgICAgICAgICAgICB7ZmlsZS5uYW1lIHx8IGZpbGUuZmlsZU5hbWV9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LnNob3dQcmV2aWV3SWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vblByZXZpZXcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUHJldmlldyhmaWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2aWV3RG9jdW1lbnQoZmlsZS5maWxlSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiBcInBvaW50ZXJcIiB9fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHtzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb24gPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPEV5ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd0Rvd25sb2FkSWNvbiAmJiBmaWxlLnN0YXR1cyA9PSBcImRvbmVcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wcm9wcy5vbkRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5vbkRvd25sb2FkKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkKGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogXCJwb2ludGVyXCIgfX1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdC5kb3dubG9hZEljb25cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxEb3dubG9hZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7c2hvd1VwbG9hZExpc3Quc2hvd1JlbW92ZUljb24gJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMucHJvcHMub25SZW1vdmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb3BzLm9uUmVtb3ZlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6IFwicG9pbnRlclwiIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dVcGxvYWRMaXN0LmRvd25sb2FkSWNvbiA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3QuZG93bmxvYWRJY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RGVsZXRlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB7ZmlsZS5zdGF0dXMgPT0gXCJ1cGxvYWRpbmdcIiAmJiAoXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicHJvY2Vzc1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBlcmNlbnRcIil9XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6IGZpbGUucGVyY2VudCArIFwiJVwiIH19XHJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVmYXVsdFByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRQcm9wcyxcclxuICAgICAgICBvbkRvd25sb2FkOiAoZmlsZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBkb3dubG9hZChmaWxlLmZpbGVJZCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblJlbW92ZTogKGZpbGUpID0+IHtcclxuICAgICAgICAgIHRoaXMub25EZWxldGUoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblByZXZpZXc6IChmaWxlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChmaWxlPy5maWxlSWQpIHtcclxuICAgICAgICAgICAgcHJldmlld0RvY3VtZW50KGZpbGUuZmlsZUlkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHNob3dVcGxvYWRMaXN0OiB7IC4uLnNob3dVcGxvYWRMaXN0IH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8PlxyXG4gICAgICAgIDxVcGxvYWRcclxuICAgICAgICAgIHsuLi5kZWZhdWx0UHJvcHN9XHJcbiAgICAgICAgICB7Li4ubmV3cHJvcHN9XHJcbiAgICAgICAgICBiZWZvcmVVcGxvYWQ9e3RoaXMuYmVmb3JlVXBsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBmaWxlTGlzdD17dGhpcy5zdGF0ZS5maWxlTGlzdH1cclxuICAgICAgICAvPlxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IHdpdGhaaExvY2FsZShOc2NVcGxvYWQpO1xyXG4iXX0=
|