"use strict";var getPrototypeOf=require("./getPrototypeOf"),setPrototypeOf=require("./setPrototypeOf"),isNativeFunction=require("./isNativeFunction"),construct=require("./construct");function _wrapNativeSuper(t){var e="function"==typeof Map?new Map:void 0;return module.exports=_wrapNativeSuper=function(t){if(null===t||!isNativeFunction(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,r)}function r(){return construct(t,arguments,getPrototypeOf(this).constructor)}return r.prototype=Object.create(t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),setPrototypeOf(r,t)},_wrapNativeSuper(t)}module.exports=_wrapNativeSuper;