object-rewrite
Advanced tools
Comparing version 3.0.13 to 3.0.14
@@ -47,2 +47,2 @@ const assert = require('assert'); | ||
}); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3BsdWdpbi5qcyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJyZXF1aXJlIiwicGx1Z2luVHlwZXMiLCJqb2luIiwiaW5wdXQiLCJyZXN1bHQiLCJmaWx0ZXIiLCJlIiwiZW5kc1dpdGgiLCJzbGljZSIsInBsdWdpbiIsInR5cGUiLCJvcHRpb25zIiwiaW5jbHVkZXMiLCJPYmplY3QiLCJBcnJheSIsImlzQXJyYXkiLCJrZXlzIiwibGVuZ3RoIiwidGFyZ2V0IiwicmVxdWlyZXMiLCJmbiIsInByZWZpeCIsInRhcmdldFJlbCIsIm1hcCIsImYiLCJtb2R1bGUiLCJleHBvcnRzIiwicmVkdWNlIiwicHJldiIsInQiLCJhc3NpZ24iLCJ0b0xvd2VyQ2FzZSJdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUF0Qjs7QUFFQSxNQUFNQyxXQUFXLEdBQUcsQ0FBQyxRQUFELEVBQVcsUUFBWCxFQUFxQixNQUFyQixDQUFwQjs7QUFFQSxNQUFNQyxJQUFJLEdBQUlDLEtBQUQsSUFBVztBQUN0QixRQUFNQyxNQUFNLEdBQUdELEtBQUssQ0FBQ0UsTUFBTixDQUFhQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxDQUFwQixFQUF1QkosSUFBdkIsQ0FBNEIsR0FBNUIsQ0FBZjs7QUFDQSxNQUFJRSxNQUFNLEtBQUssR0FBZixFQUFvQjtBQUNsQixXQUFPLEVBQVA7QUFDRDs7QUFDRCxNQUFJQSxNQUFNLENBQUNHLFFBQVAsQ0FBZ0IsSUFBaEIsQ0FBSixFQUEyQjtBQUN6QixXQUFPSCxNQUFNLENBQUNJLEtBQVAsQ0FBYSxDQUFiLEVBQWdCLENBQUMsQ0FBakIsQ0FBUDtBQUNEOztBQUNELFNBQU9KLE1BQVA7QUFDRCxDQVREOztBQVdBLE1BQU1LLE1BQU0sR0FBRyxDQUFDQyxJQUFELEVBQU9DLE9BQVAsS0FBbUI7QUFDaENaLEVBQUFBLE1BQU0sQ0FBQ0UsV0FBVyxDQUFDVyxRQUFaLENBQXFCRixJQUFyQixDQUFELENBQU47QUFDQVgsRUFBQUEsTUFBTSxDQUFDWSxPQUFPLFlBQVlFLE1BQW5CLElBQTZCLENBQUNDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSixPQUFkLENBQS9CLENBQU47QUFDQVosRUFBQUEsTUFBTSxDQUFDYyxNQUFNLENBQUNHLElBQVAsQ0FBWUwsT0FBWixFQUFxQk0sTUFBckIsS0FBZ0MsQ0FBakMsQ0FBTjtBQUVBLFFBQU07QUFBRUMsSUFBQUEsTUFBRjtBQUFVQyxJQUFBQSxRQUFWO0FBQW9CQyxJQUFBQTtBQUFwQixNQUEyQlQsT0FBakM7QUFDQVosRUFBQUEsTUFBTSxDQUFDLE9BQU9tQixNQUFQLEtBQWtCLFFBQW5CLENBQU47QUFDQW5CLEVBQUFBLE1BQU0sQ0FBQ2UsS0FBSyxDQUFDQyxPQUFOLENBQWNJLFFBQWQsQ0FBRCxDQUFOO0FBQ0FwQixFQUFBQSxNQUFNLENBQUMsT0FBT3FCLEVBQVAsS0FBYyxVQUFmLENBQU47QUFDQXJCLEVBQUFBLE1BQU0sQ0FBQ21CLE1BQU0sS0FBSyxFQUFaLEVBQWdCLGtCQUFoQixDQUFOO0FBRUEsU0FBT0csTUFBTSxLQUFLO0FBQ2hCQSxJQUFBQSxNQURnQjtBQUVoQkgsSUFBQUEsTUFBTSxFQUFFaEIsSUFBSSxDQUFDLENBQUNtQixNQUFELEVBQVNILE1BQVQsQ0FBRCxDQUZJO0FBR2hCSSxJQUFBQSxTQUFTLEVBQUVKLE1BSEs7QUFJaEJDLElBQUFBLFFBQVEsRUFBRUEsUUFBUSxDQUFDSSxHQUFULENBQWFDLENBQUMsSUFBSXRCLElBQUksQ0FBQyxDQUFDbUIsTUFBRCxFQUFTRyxDQUFULENBQUQsQ0FBdEIsQ0FKTTtBQUtoQmQsSUFBQUEsSUFMZ0I7QUFNaEJVLElBQUFBO0FBTmdCLEdBQUwsQ0FBYjtBQVFELENBbkJEOztBQXFCQUssTUFBTSxDQUFDQyxPQUFQLEdBQWlCekIsV0FBVyxDQUFDMEIsTUFBWixDQUFtQixDQUFDQyxJQUFELEVBQU9DLENBQVAsS0FBYWhCLE1BQU0sQ0FBQ2lCLE1BQVAsQ0FBY0YsSUFBZCxFQUFvQjtBQUNuRSxHQUFFLEdBQUVDLENBQUMsQ0FBQ0UsV0FBRixFQUFnQixRQUFwQixHQUE4QnBCLE9BQU8sSUFBSUYsTUFBTSxDQUFDb0IsQ0FBRCxFQUFJbEIsT0FBSjtBQURvQixDQUFwQixDQUFoQyxFQUViO0FBQUVWLEVBQUFBO0FBQUYsQ0FGYSxDQUFqQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuXG5jb25zdCBwbHVnaW5UeXBlcyA9IFsnRklMVEVSJywgJ0lOSkVDVCcsICdTT1JUJ107XG5cbmNvbnN0IGpvaW4gPSAoaW5wdXQpID0+IHtcbiAgY29uc3QgcmVzdWx0ID0gaW5wdXQuZmlsdGVyKGUgPT4gISFlKS5qb2luKCcuJyk7XG4gIGlmIChyZXN1bHQgPT09ICcqJykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBpZiAocmVzdWx0LmVuZHNXaXRoKCcuKicpKSB7XG4gICAgcmV0dXJuIHJlc3VsdC5zbGljZSgwLCAtMSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IHBsdWdpbiA9ICh0eXBlLCBvcHRpb25zKSA9PiB7XG4gIGFzc2VydChwbHVnaW5UeXBlcy5pbmNsdWRlcyh0eXBlKSk7XG4gIGFzc2VydChvcHRpb25zIGluc3RhbmNlb2YgT2JqZWN0ICYmICFBcnJheS5pc0FycmF5KG9wdGlvbnMpKTtcbiAgYXNzZXJ0KE9iamVjdC5rZXlzKG9wdGlvbnMpLmxlbmd0aCA9PT0gMyk7XG5cbiAgY29uc3QgeyB0YXJnZXQsIHJlcXVpcmVzLCBmbiB9ID0gb3B0aW9ucztcbiAgYXNzZXJ0KHR5cGVvZiB0YXJnZXQgPT09ICdzdHJpbmcnKTtcbiAgYXNzZXJ0KEFycmF5LmlzQXJyYXkocmVxdWlyZXMpKTtcbiAgYXNzZXJ0KHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJyk7XG4gIGFzc2VydCh0YXJnZXQgIT09ICcnLCAnVXNlIFwiKlwiIGluc3RlYWQuJyk7XG5cbiAgcmV0dXJuIHByZWZpeCA9PiAoe1xuICAgIHByZWZpeCxcbiAgICB0YXJnZXQ6IGpvaW4oW3ByZWZpeCwgdGFyZ2V0XSksXG4gICAgdGFyZ2V0UmVsOiB0YXJnZXQsXG4gICAgcmVxdWlyZXM6IHJlcXVpcmVzLm1hcChmID0+IGpvaW4oW3ByZWZpeCwgZl0pKSxcbiAgICB0eXBlLFxuICAgIGZuXG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBwbHVnaW5UeXBlcy5yZWR1Y2UoKHByZXYsIHQpID0+IE9iamVjdC5hc3NpZ24ocHJldiwge1xuICBbYCR7dC50b0xvd2VyQ2FzZSgpfVBsdWdpbmBdOiBvcHRpb25zID0+IHBsdWdpbih0LCBvcHRpb25zKVxufSksIHsgcGx1Z2luVHlwZXMgfSk7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3BsdWdpbi5qcyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJyZXF1aXJlIiwicGx1Z2luVHlwZXMiLCJqb2luIiwiaW5wdXQiLCJyZXN1bHQiLCJmaWx0ZXIiLCJlIiwiZW5kc1dpdGgiLCJzbGljZSIsInBsdWdpbiIsInR5cGUiLCJvcHRpb25zIiwiaW5jbHVkZXMiLCJPYmplY3QiLCJBcnJheSIsImlzQXJyYXkiLCJrZXlzIiwibGVuZ3RoIiwidGFyZ2V0IiwicmVxdWlyZXMiLCJmbiIsInByZWZpeCIsInRhcmdldFJlbCIsIm1hcCIsImYiLCJtb2R1bGUiLCJleHBvcnRzIiwicmVkdWNlIiwicHJldiIsInQiLCJhc3NpZ24iLCJ0b0xvd2VyQ2FzZSJdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUF0Qjs7QUFFQSxNQUFNQyxXQUFXLEdBQUcsQ0FBQyxRQUFELEVBQVcsUUFBWCxFQUFxQixNQUFyQixDQUFwQjs7QUFFQSxNQUFNQyxJQUFJLEdBQUlDLEtBQUQsSUFBVztBQUN0QixRQUFNQyxNQUFNLEdBQUdELEtBQUssQ0FBQ0UsTUFBTixDQUFjQyxDQUFELElBQU8sQ0FBQyxDQUFDQSxDQUF0QixFQUF5QkosSUFBekIsQ0FBOEIsR0FBOUIsQ0FBZjs7QUFDQSxNQUFJRSxNQUFNLEtBQUssR0FBZixFQUFvQjtBQUNsQixXQUFPLEVBQVA7QUFDRDs7QUFDRCxNQUFJQSxNQUFNLENBQUNHLFFBQVAsQ0FBZ0IsSUFBaEIsQ0FBSixFQUEyQjtBQUN6QixXQUFPSCxNQUFNLENBQUNJLEtBQVAsQ0FBYSxDQUFiLEVBQWdCLENBQUMsQ0FBakIsQ0FBUDtBQUNEOztBQUNELFNBQU9KLE1BQVA7QUFDRCxDQVREOztBQVdBLE1BQU1LLE1BQU0sR0FBRyxDQUFDQyxJQUFELEVBQU9DLE9BQVAsS0FBbUI7QUFDaENaLEVBQUFBLE1BQU0sQ0FBQ0UsV0FBVyxDQUFDVyxRQUFaLENBQXFCRixJQUFyQixDQUFELENBQU47QUFDQVgsRUFBQUEsTUFBTSxDQUFDWSxPQUFPLFlBQVlFLE1BQW5CLElBQTZCLENBQUNDLEtBQUssQ0FBQ0MsT0FBTixDQUFjSixPQUFkLENBQS9CLENBQU47QUFDQVosRUFBQUEsTUFBTSxDQUFDYyxNQUFNLENBQUNHLElBQVAsQ0FBWUwsT0FBWixFQUFxQk0sTUFBckIsS0FBZ0MsQ0FBakMsQ0FBTjtBQUVBLFFBQU07QUFBRUMsSUFBQUEsTUFBRjtBQUFVQyxJQUFBQSxRQUFWO0FBQW9CQyxJQUFBQTtBQUFwQixNQUEyQlQsT0FBakM7QUFDQVosRUFBQUEsTUFBTSxDQUFDLE9BQU9tQixNQUFQLEtBQWtCLFFBQW5CLENBQU47QUFDQW5CLEVBQUFBLE1BQU0sQ0FBQ2UsS0FBSyxDQUFDQyxPQUFOLENBQWNJLFFBQWQsQ0FBRCxDQUFOO0FBQ0FwQixFQUFBQSxNQUFNLENBQUMsT0FBT3FCLEVBQVAsS0FBYyxVQUFmLENBQU47QUFDQXJCLEVBQUFBLE1BQU0sQ0FBQ21CLE1BQU0sS0FBSyxFQUFaLEVBQWdCLGtCQUFoQixDQUFOO0FBRUEsU0FBUUcsTUFBRCxLQUFhO0FBQ2xCQSxJQUFBQSxNQURrQjtBQUVsQkgsSUFBQUEsTUFBTSxFQUFFaEIsSUFBSSxDQUFDLENBQUNtQixNQUFELEVBQVNILE1BQVQsQ0FBRCxDQUZNO0FBR2xCSSxJQUFBQSxTQUFTLEVBQUVKLE1BSE87QUFJbEJDLElBQUFBLFFBQVEsRUFBRUEsUUFBUSxDQUFDSSxHQUFULENBQWNDLENBQUQsSUFBT3RCLElBQUksQ0FBQyxDQUFDbUIsTUFBRCxFQUFTRyxDQUFULENBQUQsQ0FBeEIsQ0FKUTtBQUtsQmQsSUFBQUEsSUFMa0I7QUFNbEJVLElBQUFBO0FBTmtCLEdBQWIsQ0FBUDtBQVFELENBbkJEOztBQXFCQUssTUFBTSxDQUFDQyxPQUFQLEdBQWlCekIsV0FBVyxDQUFDMEIsTUFBWixDQUFtQixDQUFDQyxJQUFELEVBQU9DLENBQVAsS0FBYWhCLE1BQU0sQ0FBQ2lCLE1BQVAsQ0FBY0YsSUFBZCxFQUFvQjtBQUNuRSxHQUFFLEdBQUVDLENBQUMsQ0FBQ0UsV0FBRixFQUFnQixRQUFwQixHQUErQnBCLE9BQUQsSUFBYUYsTUFBTSxDQUFDb0IsQ0FBRCxFQUFJbEIsT0FBSjtBQURrQixDQUFwQixDQUFoQyxFQUViO0FBQUVWLEVBQUFBO0FBQUYsQ0FGYSxDQUFqQiIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuXG5jb25zdCBwbHVnaW5UeXBlcyA9IFsnRklMVEVSJywgJ0lOSkVDVCcsICdTT1JUJ107XG5cbmNvbnN0IGpvaW4gPSAoaW5wdXQpID0+IHtcbiAgY29uc3QgcmVzdWx0ID0gaW5wdXQuZmlsdGVyKChlKSA9PiAhIWUpLmpvaW4oJy4nKTtcbiAgaWYgKHJlc3VsdCA9PT0gJyonKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGlmIChyZXN1bHQuZW5kc1dpdGgoJy4qJykpIHtcbiAgICByZXR1cm4gcmVzdWx0LnNsaWNlKDAsIC0xKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuY29uc3QgcGx1Z2luID0gKHR5cGUsIG9wdGlvbnMpID0+IHtcbiAgYXNzZXJ0KHBsdWdpblR5cGVzLmluY2x1ZGVzKHR5cGUpKTtcbiAgYXNzZXJ0KG9wdGlvbnMgaW5zdGFuY2VvZiBPYmplY3QgJiYgIUFycmF5LmlzQXJyYXkob3B0aW9ucykpO1xuICBhc3NlcnQoT2JqZWN0LmtleXMob3B0aW9ucykubGVuZ3RoID09PSAzKTtcblxuICBjb25zdCB7IHRhcmdldCwgcmVxdWlyZXMsIGZuIH0gPSBvcHRpb25zO1xuICBhc3NlcnQodHlwZW9mIHRhcmdldCA9PT0gJ3N0cmluZycpO1xuICBhc3NlcnQoQXJyYXkuaXNBcnJheShyZXF1aXJlcykpO1xuICBhc3NlcnQodHlwZW9mIGZuID09PSAnZnVuY3Rpb24nKTtcbiAgYXNzZXJ0KHRhcmdldCAhPT0gJycsICdVc2UgXCIqXCIgaW5zdGVhZC4nKTtcblxuICByZXR1cm4gKHByZWZpeCkgPT4gKHtcbiAgICBwcmVmaXgsXG4gICAgdGFyZ2V0OiBqb2luKFtwcmVmaXgsIHRhcmdldF0pLFxuICAgIHRhcmdldFJlbDogdGFyZ2V0LFxuICAgIHJlcXVpcmVzOiByZXF1aXJlcy5tYXAoKGYpID0+IGpvaW4oW3ByZWZpeCwgZl0pKSxcbiAgICB0eXBlLFxuICAgIGZuXG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBwbHVnaW5UeXBlcy5yZWR1Y2UoKHByZXYsIHQpID0+IE9iamVjdC5hc3NpZ24ocHJldiwge1xuICBbYCR7dC50b0xvd2VyQ2FzZSgpfVBsdWdpbmBdOiAob3B0aW9ucykgPT4gcGx1Z2luKHQsIG9wdGlvbnMpXG59KSwgeyBwbHVnaW5UeXBlcyB9KTtcbiJdfQ== |
@@ -198,2 +198,2 @@ const assert = require('assert'); | ||
}; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3Jld3JpdGVyLmpzIl0sIm5hbWVzIjpbImFzc2VydCIsInJlcXVpcmUiLCJzZXQiLCJvYmplY3RTY2FuIiwib2JqZWN0RmllbGRzIiwic29ydEZuIiwicGx1Z2luVHlwZXMiLCJjb21waWxlVGFyZ2V0VG9DYWxsYmFjayIsInR5cGUiLCJwbHVnaW5zIiwiZXZlcnkiLCJwIiwidGFyZ2V0VG9QbHVnaW5zIiwicmVkdWNlIiwicHJldiIsInBsdWdpbiIsImtleSIsInByZWZpeCIsInRhcmdldCIsImVuZHNXaXRoIiwic2xpY2UiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJhc3NpZ24iLCJwdXNoIiwiZW50cmllcyIsInBzIiwidmFsdWUiLCJwYXJlbnRzIiwiY29udGV4dCIsImFyZ3MiLCJmb3JFYWNoIiwidGFyZ2V0UmVsIiwiZm4iLCJtYXAiLCJjb21waWxlTWV0YSIsImZpZWxkcyIsInBsdWdpbnNCeVR5cGUiLCJjIiwiaW5hY3RpdmVQbHVnaW5zIiwicmVxdWlyZWRGaWVsZHMiLCJpZ25vcmVkRmllbGRzIiwiU2V0IiwiaSIsImxlbmd0aCIsImZpZWxkIiwiaiIsInN0YXJ0c1dpdGgiLCJyZXF1aXJlcyIsInNwbGljZSIsImluY2x1ZGVzIiwiYWRkIiwidG9Mb3dlckNhc2UiLCJmaWVsZHNUb1JlcXVlc3QiLCJmaWx0ZXIiLCJlIiwiaGFzIiwibW9kdWxlIiwiZXhwb3J0cyIsInBsdWdpbk1hcCIsImRhdGFTdG9yZUZpZWxkcyIsIkFycmF5IiwiaXNBcnJheSIsImFsbG93ZWRGaWVsZHMiLCJpbml0IiwiZiIsIkVycm9yIiwiam9pbiIsImluamVjdENicyIsImZpbHRlckNicyIsInNvcnRDYnMiLCJpbmplY3RSZXdyaXRlciIsImlucHV0Iiwia2V5cyIsInVzZUFycmF5U2VsZWN0b3IiLCJqb2luZWQiLCJmaWx0ZXJGbiIsIm1hdGNoZWRCeSIsIm0iLCJmaWx0ZXJSZXdyaXRlciIsInJlc3VsdCIsInNvbWUiLCJwYXJlbnQiLCJzb3J0UmV3cml0ZXIiLCJsb29rdXBzIiwiTWFwIiwibG9va3VwIiwic29ydCIsImEiLCJiIiwiZ2V0IiwicmV3cml0ZSIsInJldGFpbiJdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUF0Qjs7QUFDQSxNQUFNQyxHQUFHLEdBQUdELE9BQU8sQ0FBQyxZQUFELENBQW5COztBQUNBLE1BQU1FLFVBQVUsR0FBR0YsT0FBTyxDQUFDLGFBQUQsQ0FBMUI7O0FBQ0EsTUFBTUcsWUFBWSxHQUFHSCxPQUFPLENBQUMsZUFBRCxDQUE1Qjs7QUFDQSxNQUFNSSxNQUFNLEdBQUdKLE9BQU8sQ0FBQyxpQkFBRCxDQUF0Qjs7QUFDQSxNQUFNO0FBQUVLLEVBQUFBO0FBQUYsSUFBa0JMLE9BQU8sQ0FBQyxVQUFELENBQS9COztBQUVBLE1BQU1NLHVCQUF1QixHQUFHLENBQUNDLElBQUQsRUFBT0MsT0FBUCxLQUFtQjtBQUNqRFQsRUFBQUEsTUFBTSxDQUFDUyxPQUFPLENBQUNDLEtBQVIsQ0FBY0MsQ0FBQyxJQUFJQSxDQUFDLENBQUNILElBQUYsS0FBV0EsSUFBOUIsQ0FBRCxDQUFOO0FBRUEsUUFBTUksZUFBZSxHQUFHSCxPQUFPLENBQzVCSSxNQURxQixDQUNkLENBQUNDLElBQUQsRUFBT0MsTUFBUCxLQUFrQjtBQUN4QjtBQUNBLFVBQU1DLEdBQUcsR0FBR1IsSUFBSSxLQUFLLFFBQVQsR0FDUk8sTUFBTSxDQUFDRSxNQURDLEdBRVBGLE1BQU0sQ0FBQ0csTUFBUCxDQUFjQyxRQUFkLENBQXVCLEdBQXZCLElBQThCSixNQUFNLENBQUNHLE1BQVAsQ0FBY0UsS0FBZCxDQUFvQixDQUFwQixFQUF1QixDQUFDLENBQXhCLENBQTlCLEdBQTJETCxNQUFNLENBQUNHLE1BRnZFOztBQUdBLFFBQUlKLElBQUksQ0FBQ0UsR0FBRCxDQUFKLEtBQWNLLFNBQWxCLEVBQTZCO0FBQzNCQyxNQUFBQSxNQUFNLENBQUNDLE1BQVAsQ0FBY1QsSUFBZCxFQUFvQjtBQUFFLFNBQUNFLEdB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Q0FBQ0ksR0FBUCxDQUFXRCxDQUFYLENBQWhCLENBQWhDO0FBQ0FMLGNBQUFBLE9BQU8sQ0FBQ25DLE1BQVIsQ0FBZWpDLEdBQUcsQ0FBQzRCLE1BQUosR0FBYSxDQUE1QjtBQUNEOztBQUNELG1CQUFPLElBQVA7QUFDRDtBQWZxQyxTQUF2QixDQUFWLENBZ0JKNEIsS0FoQkksQ0FBUDtBQWlCRCxPQW5CRDs7QUFxQkEsYUFBTztBQUNMbkIsUUFBQUEsZUFESztBQUVMc0MsUUFBQUEsT0FBTyxFQUFFLENBQUNuQixLQUFELEVBQVEzQyxPQUFPLEdBQUcsRUFBbEIsS0FBeUI7QUFDaEM3QixVQUFBQSxNQUFNLENBQUM2QixPQUFPLFlBQVlQLE1BQW5CLElBQTZCLENBQUN1QyxLQUFLLENBQUNDLE9BQU4sQ0FBY2pDLE9BQWQsQ0FBL0IsQ0FBTjtBQUNBMEMsVUFBQUEsY0FBYyxDQUFDQyxLQUFELEVBQVEzQyxPQUFSLENBQWQ7QUFDQWtELFVBQUFBLGNBQWMsQ0FBQ1AsS0FBRCxFQUFRM0MsT0FBUixDQUFkO0FBQ0FzRCxVQUFBQSxZQUFZLENBQUNYLEtBQUQsRUFBUTNDLE9BQVIsQ0FBWjtBQUNBekIsVUFBQUEsWUFBWSxDQUFDd0YsTUFBYixDQUFvQnBCLEtBQXBCLEVBQTJCcEMsTUFBM0I7QUFDRDtBQVJJLE9BQVA7QUFVRDtBQTlFSSxHQUFQO0FBZ0ZELENBL0ZEIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7XG5jb25zdCBzZXQgPSByZXF1aXJlKCdsb2Rhc2guc2V0Jyk7XG5jb25zdCBvYmplY3RTY2FuID0gcmVxdWlyZSgnb2JqZWN0LXNjYW4nKTtcbmNvbnN0IG9iamVjdEZpZWxkcyA9IHJlcXVpcmUoJ29iamVjdC1maWVsZHMnKTtcbmNvbnN0IHNvcnRGbiA9IHJlcXVpcmUoJy4uL3V0aWwvc29ydC1mbicpO1xuY29uc3QgeyBwbHVnaW5UeXBlcyB9ID0gcmVxdWlyZSgnLi9wbHVnaW4nKTtcblxuY29uc3QgY29tcGlsZVRhcmdldFRvQ2FsbGJhY2sgPSAodHlwZSwgcGx1Z2lucykgPT4ge1xuICBhc3NlcnQocGx1Z2lucy5ldmVyeShwID0+IHAudHlwZSA9PT0gdHlwZSkpO1xuXG4gIGNvbnN0IHRhcmdldFRvUGx1Z2lucyA9IHBsdWdpbnNcbiAgICAucmVkdWNlKChwcmV2LCBwbHVnaW4pID0+IHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXN0ZWQtdGVybmFyeVxuICAgICAgY29uc3Qga2V5ID0gdHlwZSA9PT0gJ0lOSkVDVCdcbiAgICAgICAgPyBwbHVnaW4ucHJlZml4XG4gICAgICAgIDogKHBsdWdpbi50YXJnZXQuZW5kc1dpdGgoJy4nKSA/IHBsdWdpbi50YXJnZXQuc2xpY2UoMCwgLTEpIDogcGx1Z2luLnRhcmdldCk7XG4gICAgICBpZiAocHJldltrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwcmV2LCB7IFtrZXldOiBbXSB9KTtcbiAgICAgIH1cbiAgICAgIHByZXZba2V5XS5wdXNoKHBsdWdpbik7XG4gICAgICByZXR1cm4gcHJldjtcbiAgICB9LCB7fSk7XG5cbiAgcmV0dXJuIE9iamVjdFxuICAgIC5lbnRyaWVzKHRhcmdldFRvUGx1Z2lucylcbiAgICAucmVkdWNlKChwcmV2LCBbdGFyZ2V0LCBwc10pID0+IE9iamVjdC5hc3NpZ24ocHJldiwge1xuICAgICAgW3RhcmdldF06IChrZXksIHZhbHVlLCBwYXJlbnRzLCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSB7XG4gICAgICAgICAga2V5LCB2YWx1ZSwgcGFyZW50cywgY29udGV4dFxuICAgICAgICB9O1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICBjYXNlICdJTkpFQ1QnOlxuICAgICAgICAgICAgcHMuZm9yRWFjaChwID0+IHNldCh2YWx1ZSwgcC50YXJnZXRSZWwsIHAuZm4oYXJncykpKTtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICBjYXNlICdGSUxURVInOlxuICAgICAgICAgICAgcmV0dXJuIHBzLmV2ZXJ5KHAgPT4gcC5mbihhcmdzKSk7XG4gICAgICAgICAgY2FzZSAnU09SVCc6XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBwcy5tYXAocCA9PiBwLmZuKGFyZ3MpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pLCB7fSk7XG59O1xuXG5jb25zdCBjb21waWxlTWV0YSA9IChwbHVnaW5zLCBmaWVsZHMpID0+IHtcbiAgY29uc3QgcGx1Z2luc0J5VHlwZSA9IHBsdWdpblR5cGVzLnJlZHVjZSgocCwgYykgPT4gT2JqZWN0LmFzc2lnbihwLCB7IFtjXTogW10gfSksIHt9KTtcblxuICBjb25zdCBpbmFjdGl2ZVBsdWdpbnMgPSBbLi4ucGx1Z2luc107XG4gIGNvbnN0IHJlcXVpcmVkRmllbGRzID0gWy4uLmZpZWxkc107XG4gIGNvbnN0IGlnbm9yZWRGaWVsZHMgPSBuZXcgU2V0KCk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXF1aXJlZEZpZWxkcy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGNvbnN0IGZpZWxkID0gcmVxdWlyZWRGaWVsZHNbaV07XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBpbmFjdGl2ZVBsdWdpbnMubGVuZ3RoOyBqICs9IDEpIHtcbiAgICAgIGNvbnN0IHBsdWdpbiA9IGluYWN0aXZlUGx1Z2luc1tqXTtcbiAgICAgIGlmIChcbiAgICAgICAgZmllbGQgPT09IHBsdWdpbi50YXJnZXRcbiAgICAgICAgfHwgKHBsdWdpbi50eXBlICE9PSAnSU5KRUNUJyAmJiBmaWVsZC5zdGFydHNXaXRoKHBsdWdpbi50YXJnZXQpKVxuICAgICAgKSB7XG4gICAgICAgIHJlcXVpcmVkRmllbGRzLnB1c2goLi4ucGx1Z2luLnJlcXVpcmVzKTtcbiAgICAgICAgaW5hY3RpdmVQbHVnaW5zLnNwbGljZShqLCAxKTtcbiAgICAgICAgaiAtPSAxO1xuICAgICAgICBwbHVnaW5zQnlUeXBlW3BsdWdpbi50eXBlXS5wdXNoKHBsdWdpbik7XG4gICAgICAgIGlmIChwbHVnaW4udHlwZSA9PT0gJ0lOSkVDVCcgJiYgIXBsdWdpbi5yZXF1aXJlcy5pbmNsdWRlcyhwbHVnaW4udGFyZ2V0KSkge1xuICAgICAgICAgIGlnbm9yZWRGaWVsZHMuYWRkKHBsdWdpbi50YXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHBsdWdpbnNCeVR5cGUpLnJlZHVjZSgocCwgW3R5cGUsIHBzXSkgPT4gT2JqZWN0LmFzc2lnbihwLCB7XG4gICAgW2Ake3R5cGUudG9Mb3dlckNhc2UoKX1DYnNgXTogY29tcGlsZVRhcmdldFRvQ2FsbGJhY2sodHlwZSwgcHMpXG4gIH0pLCB7XG4gICAgZmllbGRzVG9SZXF1ZXN0OiBbLi4ubmV3IFNldChyZXF1aXJlZEZpZWxkcyldLmZpbHRlcihlID0+ICFpZ25vcmVkRmllbGRzLmhhcyhlKSlcbiAgfSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IChwbHVnaW5NYXAsIGRhdGFTdG9yZUZpZWxkcykgPT4ge1xuICBhc3NlcnQocGx1Z2luTWFwIGluc3RhbmNlb2YgT2JqZWN0ICYmICFBcnJheS5pc0FycmF5KHBsdWdpbk1hcCkpO1xuICBhc3NlcnQoQXJyYXkuaXNBcnJheShkYXRhU3RvcmVGaWVsZHMpICYmIGRhdGFTdG9yZUZpZWxkcy5ldmVyeShlID0+IHR5cGVvZiBlID09PSAnc3RyaW5nJykpO1xuXG4gIGNvbnN0IHBsdWdpbnMgPSBPYmplY3QuZW50cmllcyhwbHVnaW5NYXApLnJlZHVjZSgocHJldiwgW3ByZWZpeCwgcHNdKSA9PiB7XG4gICAgcHMuZm9yRWFjaChwID0+IHByZXYucHVzaChwKHByZWZpeCkpKTtcbiAgICByZXR1cm4gcHJldjtcbiAgfSwgW10pO1xuICBjb25zdCBhbGxvd2VkRmllbGRzID0gWy4uLnBsdWdpbnMucmVkdWNlKChwLCBjKSA9PiB7XG4gICAgaWYgKGMudHlwZSA9PT0gJ0lOSkVDVCcpIHtcbiAgICAgIHAuYWRkKGMudGFyZ2V0KTtcbiAgICB9XG4gICAgcmV0dXJuIHA7XG4gIH0sIG5ldyBTZXQoZGF0YVN0b3JlRmllbGRzKSldO1xuXG4gIHJldHVybiB7XG4gICAgYWxsb3dlZEZpZWxkcyxcbiAgICBpbml0OiAoZmllbGRzKSA9PiB7XG4gICAgICBhc3NlcnQoQXJyYXkuaXNBcnJheShmaWVsZHMpKTtcblxuICAgICAgaWYgKCFmaWVsZHMuZXZlcnkoZiA9PiBhbGxvd2VkRmllbGRzLmluY2x1ZGVzKGYpKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJhZCBmaWVsZCByZXF1ZXN0ZWQ6ICR7ZmllbGRzLmZpbHRlcihmID0+ICFhbGxvd2VkRmllbGRzLmluY2x1ZGVzKGYpKS5qb2luKCcsICcpfWApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7XG4gICAgICAgIGluamVjdENicyxcbiAgICAgICAgZmlsdGVyQ2JzLFxuICAgICAgICBzb3J0Q2JzLFxuICAgICAgICBmaWVsZHNUb1JlcXVlc3RcbiAgICAgIH0gPSBjb21waWxlTWV0YShwbHVnaW5zLCBmaWVsZHMpO1xuXG4gICAgICBhc3NlcnQoXG4gICAgICAgIGZpZWxkc1RvUmVxdWVzdC5ldmVyeShmID0+IGRhdGFTdG9yZUZpZWxkcy5pbmNsdWRlcyhmKSksXG4gICAgICAgIGBCYWQgRmllbGQgUmVxdWVzdGVkOiAke2ZpZWxkc1RvUmVxdWVzdC5maWx0ZXIoZiA9PiAhZGF0YVN0b3JlRmllbGRzLmluY2x1ZGVzKGYpKX1gXG4gICAgICApO1xuXG4gICAgICBjb25zdCBpbmplY3RSZXdyaXRlciA9IChpbnB1dCwgY29udGV4dCkgPT4gb2JqZWN0U2NhbihPYmplY3Qua2V5cyhpbmplY3RDYnMpLCB7XG4gICAgICAgIHVzZUFycmF5U2VsZWN0b3I6IGZhbHNlLFxuICAgICAgICBqb2luZWQ6IGZhbHNlLFxuICAgICAgICBmaWx0ZXJGbjogKGtleSwgdmFsdWUsIHsgbWF0Y2hlZEJ5LCBwYXJlbnRzIH0pID0+IHtcbiAgICAgICAgICBtYXRjaGVkQnkuZm9yRWFjaCgobSkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih2YWx1ZSwgaW5qZWN0Q2JzW21dKGtleSwgdmFsdWUsIHBhcmVudHMsIGNvbnRleHQpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSkoaW5wdXQpO1xuICAgICAgY29uc3QgZmlsdGVyUmV3cml0ZXIgPSAoaW5wdXQsIGNvbnRleHQpID0+IG9iamVjdFNjYW4oT2JqZWN0LmtleXMoZmlsdGVyQ2JzKSwge1xuICAgICAgICB1c2VBcnJheVNlbGVjdG9yOiBmYWxzZSxcbiAgICAgICAgam9pbmVkOiBmYWxzZSxcbiAgICAgICAgZmlsdGVyRm46IChrZXksIHZhbHVlLCB7IG1hdGNoZWRCeSwgcGFyZW50cyB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gbWF0Y2hlZEJ5LnNvbWUobSA9PiBmaWx0ZXJDYnNbbV0oa2V5LCB2YWx1ZSwgcGFyZW50cywgY29udGV4dCkgPT09IHRydWUpO1xuICAgICAgICAgIGlmIChyZXN1bHQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBrZXkubGVuZ3RoID09PSAxID8gaW5wdXQgOiBwYXJlbnRzWzBdO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocGFyZW50KSkge1xuICAgICAgICAgICAgICBwYXJlbnQuc3BsaWNlKGtleVtrZXkubGVuZ3RoIC0gMV0sIDEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZGVsZXRlIHBhcmVudFtrZXlba2V5Lmxlbmd0aCAtIDFdXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfSkoaW5wdXQpO1xuICAgICAgY29uc3Qgc29ydFJld3JpdGVyID0gKGlucHV0LCBjb250ZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGxvb2t1cHMgPSBbXTtcbiAgICAgICAgcmV0dXJuIG9iamVjdFNjYW4oT2JqZWN0LmtleXMoc29ydENicyksIHtcbiAgICAgICAgICB1c2VBcnJheVNlbGVjdG9yOiBmYWxzZSxcbiAgICAgICAgICBqb2luZWQ6IGZhbHNlLFxuICAgICAgICAgIGZpbHRlckZuOiAoa2V5LCB2YWx1ZSwgeyBtYXRjaGVkQnksIHBhcmVudHMgfSkgPT4ge1xuICAgICAgICAgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkocGFyZW50c1swXSksICdTb3J0IG11c3QgYmUgb24gXCJBcnJheVwiIHR5cGUuJyk7XG4gICAgICAgICAgICBpZiAobG9va3Vwc1trZXkubGVuZ3RoIC0gMV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBsb29rdXBzW2tleS5sZW5ndGggLSAxXSA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxvb2t1cCA9IGxvb2t1cHNba2V5Lmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgbG9va3VwLnNldCh2YWx1ZSwgc29ydENic1ttYXRjaGVkQnlbMF1dKGtleSwgdmFsdWUsIHBhcmVudHMsIGNvbnRleHQpKTtcbiAgICAgICAgICAgIGlmIChrZXlba2V5Lmxlbmd0aCAtIDFdID09PSAwKSB7XG4gICAgICAgICAgICAgIHBhcmVudHNbMF0uc29ydCgoYSwgYikgPT4gc29ydEZuKGxvb2t1cC5nZXQoYSksIGxvb2t1cC5nZXQoYikpKTtcbiAgICAgICAgICAgICAgbG9va3Vwcy5zcGxpY2Uoa2V5Lmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KShpbnB1dCk7XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBmaWVsZHNUb1JlcXVlc3QsXG4gICAgICAgIHJld3JpdGU6IChpbnB1dCwgY29udGV4dCA9IHt9KSA9PiB7XG4gICAgICAgICAgYXNzZXJ0KGNvbnRleHQgaW5zdGFuY2VvZiBPYmplY3QgJiYgIUFycmF5LmlzQXJyYXkoY29udGV4dCkpO1xuICAgICAgICAgIGluamVjdFJld3JpdGVyKGlucHV0LCBjb250ZXh0KTtcbiAgICAgICAgICBmaWx0ZXJSZXdyaXRlcihpbnB1dCwgY29udGV4dCk7XG4gICAgICAgICAgc29ydFJld3JpdGVyKGlucHV0LCBjb250ZXh0KTtcbiAgICAgICAgICBvYmplY3RGaWVsZHMucmV0YWluKGlucHV0LCBmaWVsZHMpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn07XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3Jld3JpdGVyLmpzIl0sIm5hbWVzIjpbImFzc2VydCIsInJlcXVpcmUiLCJzZXQiLCJvYmplY3RTY2FuIiwib2JqZWN0RmllbGRzIiwic29ydEZuIiwicGx1Z2luVHlwZXMiLCJjb21waWxlVGFyZ2V0VG9DYWxsYmFjayIsInR5cGUiLCJwbHVnaW5zIiwiZXZlcnkiLCJwIiwidGFyZ2V0VG9QbHVnaW5zIiwicmVkdWNlIiwicHJldiIsInBsdWdpbiIsImtleSIsInByZWZpeCIsInRhcmdldCIsImVuZHNXaXRoIiwic2xpY2UiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJhc3NpZ24iLCJwdXNoIiwiZW50cmllcyIsInBzIiwidmFsdWUiLCJwYXJlbnRzIiwiY29udGV4dCIsImFyZ3MiLCJmb3JFYWNoIiwidGFyZ2V0UmVsIiwiZm4iLCJtYXAiLCJjb21waWxlTWV0YSIsImZpZWxkcyIsInBsdWdpbnNCeVR5cGUiLCJjIiwiaW5hY3RpdmVQbHVnaW5zIiwicmVxdWlyZWRGaWVsZHMiLCJpZ25vcmVkRmllbGRzIiwiU2V0IiwiaSIsImxlbmd0aCIsImZpZWxkIiwiaiIsInN0YXJ0c1dpdGgiLCJyZXF1aXJlcyIsInNwbGljZSIsImluY2x1ZGVzIiwiYWRkIiwidG9Mb3dlckNhc2UiLCJmaWVsZHNUb1JlcXVlc3QiLCJmaWx0ZXIiLCJlIiwiaGFzIiwibW9kdWxlIiwiZXhwb3J0cyIsInBsdWdpbk1hcCIsImRhdGFTdG9yZUZpZWxkcyIsIkFycmF5IiwiaXNBcnJheSIsImFsbG93ZWRGaWVsZHMiLCJpbml0IiwiZiIsIkVycm9yIiwiam9pbiIsImluamVjdENicyIsImZpbHRlckNicyIsInNvcnRDYnMiLCJpbmplY3RSZXdyaXRlciIsImlucHV0Iiwia2V5cyIsInVzZUFycmF5U2VsZWN0b3IiLCJqb2luZWQiLCJmaWx0ZXJGbiIsIm1hdGNoZWRCeSIsIm0iLCJmaWx0ZXJSZXdyaXRlciIsInJlc3VsdCIsInNvbWUiLCJwYXJlbnQiLCJzb3J0UmV3cml0ZXIiLCJsb29rdXBzIiwiTWFwIiwibG9va3VwIiwic29ydCIsImEiLCJiIiwiZ2V0IiwicmV3cml0ZSIsInJldGFpbiJdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTUEsTUFBTSxHQUFHQyxPQUFPLENBQUMsUUFBRCxDQUF0Qjs7QUFDQSxNQUFNQyxHQUFHLEdBQUdELE9BQU8sQ0FBQyxZQUFELENBQW5COztBQUNBLE1BQU1FLFVBQVUsR0FBR0YsT0FBTyxDQUFDLGFBQUQsQ0FBMUI7O0FBQ0EsTUFBTUcsWUFBWSxHQUFHSCxPQUFPLENBQUMsZUFBRCxDQUE1Qjs7QUFDQSxNQUFNSSxNQUFNLEdBQUdKLE9BQU8sQ0FBQyxpQkFBRCxDQUF0Qjs7QUFDQSxNQUFNO0FBQUVLLEVBQUFBO0FBQUYsSUFBa0JMLE9BQU8sQ0FBQyxVQUFELENBQS9COztBQUVBLE1BQU1NLHVCQUF1QixHQUFHLENBQUNDLElBQUQsRUFBT0MsT0FBUCxLQUFtQjtBQUNqRFQsRUFBQUEsTUFBTSxDQUFDUyxPQUFPLENBQUNDLEtBQVIsQ0FBZUMsQ0FBRCxJQUFPQSxDQUFDLENBQUNILElBQUYsS0FBV0EsSUFBaEMsQ0FBRCxDQUFOO0FBRUEsUUFBTUksZUFBZSxHQUFHSCxPQUFPLENBQzVCSSxNQURxQixDQUNkLENBQUNDLElBQUQsRUFBT0MsTUFBUCxLQUFrQjtBQUN4QjtBQUNBLFVBQU1DLEdBQUcsR0FBR1IsSUFBSSxLQUFLLFFBQVQsR0FDUk8sTUFBTSxDQUFDRSxNQURDLEdBRVBGLE1BQU0sQ0FBQ0csTUFBUCxDQUFjQyxRQUFkLENBQXVCLEdBQXZCLElBQThCSixNQUFNLENBQUNHLE1BQVAsQ0FBY0UsS0FBZCxDQUFvQixDQUFwQixFQUF1QixDQUFDLENBQXhCLENBQTlCLEdBQTJETCxNQUFNLENBQUNHLE1BRnZFOztBQUdBLFFBQUlKLElBQUksQ0FBQ0UsR0FBRCxDQUFKLEtBQWNLLFNBQWxCLEVBQTZCO0FBQzNCQyxNQUFBQSxNQUFNLENBQUNDLE1BQVAsQ0FBY1QsSUFBZCxFQUFvQjtBQUFFLFNBQUNFLEdB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TSxDQUFDSSxHQUFQLENBQVdELENBQVgsQ0FBaEIsQ0FBaEM7QUFDQUwsY0FBQUEsT0FBTyxDQUFDbkMsTUFBUixDQUFlakMsR0FBRyxDQUFDNEIsTUFBSixHQUFhLENBQTVCO0FBQ0Q7O0FBQ0QsbUJBQU8sSUFBUDtBQUNEO0FBZnFDLFNBQXZCLENBQVYsQ0FnQko0QixLQWhCSSxDQUFQO0FBaUJELE9BbkJEOztBQXFCQSxhQUFPO0FBQ0xuQixRQUFBQSxlQURLO0FBRUxzQyxRQUFBQSxPQUFPLEVBQUUsQ0FBQ25CLEtBQUQsRUFBUTNDLE9BQU8sR0FBRyxFQUFsQixLQUF5QjtBQUNoQzdCLFVBQUFBLE1BQU0sQ0FBQzZCLE9BQU8sWUFBWVAsTUFBbkIsSUFBNkIsQ0FBQ3VDLEtBQUssQ0FBQ0MsT0FBTixDQUFjakMsT0FBZCxDQUEvQixDQUFOO0FBQ0EwQyxVQUFBQSxjQUFjLENBQUNDLEtBQUQsRUFBUTNDLE9BQVIsQ0FBZDtBQUNBa0QsVUFBQUEsY0FBYyxDQUFDUCxLQUFELEVBQVEzQyxPQUFSLENBQWQ7QUFDQXNELFVBQUFBLFlBQVksQ0FBQ1gsS0FBRCxFQUFRM0MsT0FBUixDQUFaO0FBQ0F6QixVQUFBQSxZQUFZLENBQUN3RixNQUFiLENBQW9CcEIsS0FBcEIsRUFBMkJwQyxNQUEzQjtBQUNEO0FBUkksT0FBUDtBQVVEO0FBOUVJLEdBQVA7QUFnRkQsQ0EvRkQiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBhc3NlcnQgPSByZXF1aXJlKCdhc3NlcnQnKTtcbmNvbnN0IHNldCA9IHJlcXVpcmUoJ2xvZGFzaC5zZXQnKTtcbmNvbnN0IG9iamVjdFNjYW4gPSByZXF1aXJlKCdvYmplY3Qtc2NhbicpO1xuY29uc3Qgb2JqZWN0RmllbGRzID0gcmVxdWlyZSgnb2JqZWN0LWZpZWxkcycpO1xuY29uc3Qgc29ydEZuID0gcmVxdWlyZSgnLi4vdXRpbC9zb3J0LWZuJyk7XG5jb25zdCB7IHBsdWdpblR5cGVzIH0gPSByZXF1aXJlKCcuL3BsdWdpbicpO1xuXG5jb25zdCBjb21waWxlVGFyZ2V0VG9DYWxsYmFjayA9ICh0eXBlLCBwbHVnaW5zKSA9PiB7XG4gIGFzc2VydChwbHVnaW5zLmV2ZXJ5KChwKSA9PiBwLnR5cGUgPT09IHR5cGUpKTtcblxuICBjb25zdCB0YXJnZXRUb1BsdWdpbnMgPSBwbHVnaW5zXG4gICAgLnJlZHVjZSgocHJldiwgcGx1Z2luKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmVzdGVkLXRlcm5hcnlcbiAgICAgIGNvbnN0IGtleSA9IHR5cGUgPT09ICdJTkpFQ1QnXG4gICAgICAgID8gcGx1Z2luLnByZWZpeFxuICAgICAgICA6IChwbHVnaW4udGFyZ2V0LmVuZHNXaXRoKCcuJykgPyBwbHVnaW4udGFyZ2V0LnNsaWNlKDAsIC0xKSA6IHBsdWdpbi50YXJnZXQpO1xuICAgICAgaWYgKHByZXZba2V5XSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24ocHJldiwgeyBba2V5XTogW10gfSk7XG4gICAgICB9XG4gICAgICBwcmV2W2tleV0ucHVzaChwbHVnaW4pO1xuICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSwge30pO1xuXG4gIHJldHVybiBPYmplY3RcbiAgICAuZW50cmllcyh0YXJnZXRUb1BsdWdpbnMpXG4gICAgLnJlZHVjZSgocHJldiwgW3RhcmdldCwgcHNdKSA9PiBPYmplY3QuYXNzaWduKHByZXYsIHtcbiAgICAgIFt0YXJnZXRdOiAoa2V5LCB2YWx1ZSwgcGFyZW50cywgY29udGV4dCkgPT4ge1xuICAgICAgICBjb25zdCBhcmdzID0ge1xuICAgICAgICAgIGtleSwgdmFsdWUsIHBhcmVudHMsIGNvbnRleHRcbiAgICAgICAgfTtcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgY2FzZSAnSU5KRUNUJzpcbiAgICAgICAgICAgIHBzLmZvckVhY2goKHApID0+IHNldCh2YWx1ZSwgcC50YXJnZXRSZWwsIHAuZm4oYXJncykpKTtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICBjYXNlICdGSUxURVInOlxuICAgICAgICAgICAgcmV0dXJuIHBzLmV2ZXJ5KChwKSA9PiBwLmZuKGFyZ3MpKTtcbiAgICAgICAgICBjYXNlICdTT1JUJzpcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHBzLm1hcCgocCkgPT4gcC5mbihhcmdzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSwge30pO1xufTtcblxuY29uc3QgY29tcGlsZU1ldGEgPSAocGx1Z2lucywgZmllbGRzKSA9PiB7XG4gIGNvbnN0IHBsdWdpbnNCeVR5cGUgPSBwbHVnaW5UeXBlcy5yZWR1Y2UoKHAsIGMpID0+IE9iamVjdC5hc3NpZ24ocCwgeyBbY106IFtdIH0pLCB7fSk7XG5cbiAgY29uc3QgaW5hY3RpdmVQbHVnaW5zID0gWy4uLnBsdWdpbnNdO1xuICBjb25zdCByZXF1aXJlZEZpZWxkcyA9IFsuLi5maWVsZHNdO1xuICBjb25zdCBpZ25vcmVkRmllbGRzID0gbmV3IFNldCgpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcmVxdWlyZWRGaWVsZHMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBjb25zdCBmaWVsZCA9IHJlcXVpcmVkRmllbGRzW2ldO1xuICAgIGZvciAobGV0IGogPSAwOyBqIDwgaW5hY3RpdmVQbHVnaW5zLmxlbmd0aDsgaiArPSAxKSB7XG4gICAgICBjb25zdCBwbHVnaW4gPSBpbmFjdGl2ZVBsdWdpbnNbal07XG4gICAgICBpZiAoXG4gICAgICAgIGZpZWxkID09PSBwbHVnaW4udGFyZ2V0XG4gICAgICAgIHx8IChwbHVnaW4udHlwZSAhPT0gJ0lOSkVDVCcgJiYgZmllbGQuc3RhcnRzV2l0aChwbHVnaW4udGFyZ2V0KSlcbiAgICAgICkge1xuICAgICAgICByZXF1aXJlZEZpZWxkcy5wdXNoKC4uLnBsdWdpbi5yZXF1aXJlcyk7XG4gICAgICAgIGluYWN0aXZlUGx1Z2lucy5zcGxpY2UoaiwgMSk7XG4gICAgICAgIGogLT0gMTtcbiAgICAgICAgcGx1Z2luc0J5VHlwZVtwbHVnaW4udHlwZV0ucHVzaChwbHVnaW4pO1xuICAgICAgICBpZiAocGx1Z2luLnR5cGUgPT09ICdJTkpFQ1QnICYmICFwbHVnaW4ucmVxdWlyZXMuaW5jbHVkZXMocGx1Z2luLnRhcmdldCkpIHtcbiAgICAgICAgICBpZ25vcmVkRmllbGRzLmFkZChwbHVnaW4udGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhwbHVnaW5zQnlUeXBlKS5yZWR1Y2UoKHAsIFt0eXBlLCBwc10pID0+IE9iamVjdC5hc3NpZ24ocCwge1xuICAgIFtgJHt0eXBlLnRvTG93ZXJDYXNlKCl9Q2JzYF06IGNvbXBpbGVUYXJnZXRUb0NhbGxiYWNrKHR5cGUsIHBzKVxuICB9KSwge1xuICAgIGZpZWxkc1RvUmVxdWVzdDogWy4uLm5ldyBTZXQocmVxdWlyZWRGaWVsZHMpXS5maWx0ZXIoKGUpID0+ICFpZ25vcmVkRmllbGRzLmhhcyhlKSlcbiAgfSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IChwbHVnaW5NYXAsIGRhdGFTdG9yZUZpZWxkcykgPT4ge1xuICBhc3NlcnQocGx1Z2luTWFwIGluc3RhbmNlb2YgT2JqZWN0ICYmICFBcnJheS5pc0FycmF5KHBsdWdpbk1hcCkpO1xuICBhc3NlcnQoQXJyYXkuaXNBcnJheShkYXRhU3RvcmVGaWVsZHMpICYmIGRhdGFTdG9yZUZpZWxkcy5ldmVyeSgoZSkgPT4gdHlwZW9mIGUgPT09ICdzdHJpbmcnKSk7XG5cbiAgY29uc3QgcGx1Z2lucyA9IE9iamVjdC5lbnRyaWVzKHBsdWdpbk1hcCkucmVkdWNlKChwcmV2LCBbcHJlZml4LCBwc10pID0+IHtcbiAgICBwcy5mb3JFYWNoKChwKSA9PiBwcmV2LnB1c2gocChwcmVmaXgpKSk7XG4gICAgcmV0dXJuIHByZXY7XG4gIH0sIFtdKTtcbiAgY29uc3QgYWxsb3dlZEZpZWxkcyA9IFsuLi5wbHVnaW5zLnJlZHVjZSgocCwgYykgPT4ge1xuICAgIGlmIChjLnR5cGUgPT09ICdJTkpFQ1QnKSB7XG4gICAgICBwLmFkZChjLnRhcmdldCk7XG4gICAgfVxuICAgIHJldHVybiBwO1xuICB9LCBuZXcgU2V0KGRhdGFTdG9yZUZpZWxkcykpXTtcblxuICByZXR1cm4ge1xuICAgIGFsbG93ZWRGaWVsZHMsXG4gICAgaW5pdDogKGZpZWxkcykgPT4ge1xuICAgICAgYXNzZXJ0KEFycmF5LmlzQXJyYXkoZmllbGRzKSk7XG5cbiAgICAgIGlmICghZmllbGRzLmV2ZXJ5KChmKSA9PiBhbGxvd2VkRmllbGRzLmluY2x1ZGVzKGYpKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEJhZCBmaWVsZCByZXF1ZXN0ZWQ6ICR7ZmllbGRzLmZpbHRlcigoZikgPT4gIWFsbG93ZWRGaWVsZHMuaW5jbHVkZXMoZikpLmpvaW4oJywgJyl9YCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgaW5qZWN0Q2JzLFxuICAgICAgICBmaWx0ZXJDYnMsXG4gICAgICAgIHNvcnRDYnMsXG4gICAgICAgIGZpZWxkc1RvUmVxdWVzdFxuICAgICAgfSA9IGNvbXBpbGVNZXRhKHBsdWdpbnMsIGZpZWxkcyk7XG5cbiAgICAgIGFzc2VydChcbiAgICAgICAgZmllbGRzVG9SZXF1ZXN0LmV2ZXJ5KChmKSA9PiBkYXRhU3RvcmVGaWVsZHMuaW5jbHVkZXMoZikpLFxuICAgICAgICBgQmFkIEZpZWxkIFJlcXVlc3RlZDogJHtmaWVsZHNUb1JlcXVlc3QuZmlsdGVyKChmKSA9PiAhZGF0YVN0b3JlRmllbGRzLmluY2x1ZGVzKGYpKX1gXG4gICAgICApO1xuXG4gICAgICBjb25zdCBpbmplY3RSZXdyaXRlciA9IChpbnB1dCwgY29udGV4dCkgPT4gb2JqZWN0U2NhbihPYmplY3Qua2V5cyhpbmplY3RDYnMpLCB7XG4gICAgICAgIHVzZUFycmF5U2VsZWN0b3I6IGZhbHNlLFxuICAgICAgICBqb2luZWQ6IGZhbHNlLFxuICAgICAgICBmaWx0ZXJGbjogKGtleSwgdmFsdWUsIHsgbWF0Y2hlZEJ5LCBwYXJlbnRzIH0pID0+IHtcbiAgICAgICAgICBtYXRjaGVkQnkuZm9yRWFjaCgobSkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih2YWx1ZSwgaW5qZWN0Q2JzW21dKGtleSwgdmFsdWUsIHBhcmVudHMsIGNvbnRleHQpKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSkoaW5wdXQpO1xuICAgICAgY29uc3QgZmlsdGVyUmV3cml0ZXIgPSAoaW5wdXQsIGNvbnRleHQpID0+IG9iamVjdFNjYW4oT2JqZWN0LmtleXMoZmlsdGVyQ2JzKSwge1xuICAgICAgICB1c2VBcnJheVNlbGVjdG9yOiBmYWxzZSxcbiAgICAgICAgam9pbmVkOiBmYWxzZSxcbiAgICAgICAgZmlsdGVyRm46IChrZXksIHZhbHVlLCB7IG1hdGNoZWRCeSwgcGFyZW50cyB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gbWF0Y2hlZEJ5LnNvbWUoKG0pID0+IGZpbHRlckNic1ttXShrZXksIHZhbHVlLCBwYXJlbnRzLCBjb250ZXh0KSA9PT0gdHJ1ZSk7XG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGtleS5sZW5ndGggPT09IDEgPyBpbnB1dCA6IHBhcmVudHNbMF07XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJlbnQpKSB7XG4gICAgICAgICAgICAgIHBhcmVudC5zcGxpY2Uoa2V5W2tleS5sZW5ndGggLSAxXSwgMSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBkZWxldGUgcGFyZW50W2tleVtrZXkubGVuZ3RoIC0gMV1dO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9KShpbnB1dCk7XG4gICAgICBjb25zdCBzb3J0UmV3cml0ZXIgPSAoaW5wdXQsIGNvbnRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbG9va3VwcyA9IFtdO1xuICAgICAgICByZXR1cm4gb2JqZWN0U2NhbihPYmplY3Qua2V5cyhzb3J0Q2JzKSwge1xuICAgICAgICAgIHVzZUFycmF5U2VsZWN0b3I6IGZhbHNlLFxuICAgICAgICAgIGpvaW5lZDogZmFsc2UsXG4gICAgICAgICAgZmlsdGVyRm46IChrZXksIHZhbHVlLCB7IG1hdGNoZWRCeSwgcGFyZW50cyB9KSA9PiB7XG4gICAgICAgICAgICBhc3NlcnQoQXJyYXkuaXNBcnJheShwYXJlbnRzWzBdKSwgJ1NvcnQgbXVzdCBiZSBvbiBcIkFycmF5XCIgdHlwZS4nKTtcbiAgICAgICAgICAgIGlmIChsb29rdXBzW2tleS5sZW5ndGggLSAxXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGxvb2t1cHNba2V5Lmxlbmd0aCAtIDFdID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbG9va3VwID0gbG9va3Vwc1trZXkubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBsb29rdXAuc2V0KHZhbHVlLCBzb3J0Q2JzW21hdGNoZWRCeVswXV0oa2V5LCB2YWx1ZSwgcGFyZW50cywgY29udGV4dCkpO1xuICAgICAgICAgICAgaWYgKGtleVtrZXkubGVuZ3RoIC0gMV0gPT09IDApIHtcbiAgICAgICAgICAgICAgcGFyZW50c1swXS5zb3J0KChhLCBiKSA9PiBzb3J0Rm4obG9va3VwLmdldChhKSwgbG9va3VwLmdldChiKSkpO1xuICAgICAgICAgICAgICBsb29rdXBzLnNwbGljZShrZXkubGVuZ3RoIC0gMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pKGlucHV0KTtcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZpZWxkc1RvUmVxdWVzdCxcbiAgICAgICAgcmV3cml0ZTogKGlucHV0LCBjb250ZXh0ID0ge30pID0+IHtcbiAgICAgICAgICBhc3NlcnQoY29udGV4dCBpbnN0YW5jZW9mIE9iamVjdCAmJiAhQXJyYXkuaXNBcnJheShjb250ZXh0KSk7XG4gICAgICAgICAgaW5qZWN0UmV3cml0ZXIoaW5wdXQsIGNvbnRleHQpO1xuICAgICAgICAgIGZpbHRlclJld3JpdGVyKGlucHV0LCBjb250ZXh0KTtcbiAgICAgICAgICBzb3J0UmV3cml0ZXIoaW5wdXQsIGNvbnRleHQpO1xuICAgICAgICAgIG9iamVjdEZpZWxkcy5yZXRhaW4oaW5wdXQsIGZpZWxkcyk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9O1xufTtcbiJdfQ== |
{ | ||
"name": "object-rewrite", | ||
"version": "3.0.13", | ||
"version": "3.0.14", | ||
"description": "Rewrite Object(s) in place using plugins.", | ||
@@ -20,8 +20,8 @@ "main": "lib/index.js", | ||
"@blackflux/eslint-plugin-rules": "1.1.0", | ||
"@blackflux/robo-config-plugin": "2.3.0", | ||
"@blackflux/robo-config-plugin": "2.4.3", | ||
"babel-eslint": "10.0.2", | ||
"chai": "4.2.0", | ||
"coveralls": "3.0.5", | ||
"coveralls": "3.0.6", | ||
"eslint": "6.1.0", | ||
"js-gardener": "2.0.56", | ||
"js-gardener": "2.0.59", | ||
"lodash.get": "4.4.2", | ||
@@ -28,0 +28,0 @@ "nyc": "14.1.1", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
42871