function requireRtrim () {
	if (hasRequiredRtrim) return rtrimExports;
	hasRequiredRtrim = 1;
	(function (module, exports) {

		Object.defineProperty(exports, "__esModule", {
		  value: true
		});
		exports.default = rtrim;

		var _assertString = _interopRequireDefault(requireAssertString());

		function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

		function rtrim(str, chars) {
		  (0, _assertString.default)(str);

		  if (chars) {
		    // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
		    var pattern = new RegExp("[".concat(chars.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), "]+$"), 'g');
		    return str.replace(pattern, '');
		  } // Use a faster and more safe than regex trim method https://blog.stevenlevithan.com/archives/faster-trim-javascript


		  var strIndex = str.length - 1;

		  while (/\s/.test(str.charAt(strIndex))) {
		    strIndex -= 1;
		  }

		  return str.slice(0, strIndex + 1);
		}

		module.exports = exports.default;
		module.exports.default = exports.default;
} (rtrim, rtrimExports));
	return rtrimExports;
}
Calls a task as soon as possible after returning, in its own event, with
priority over IO events. An exception thrown in a task can be handled by
`process.on("uncaughtException") or `domain.on("error")`, but will otherwise
crash the process. If the error is handled, all subsequent tasks will
resume.

@param {{call}} task A callable object, typically a function that takes no
arguments.