System.register(["__unresolved_0", "__unresolved_1", "__unresolved_2", "__unresolved_3", "__unresolved_4", "__unresolved_5", "__unresolved_6", "__unresolved_7", "__unresolved_8"], function (_export, _context) {
  "use strict";

  var _req, _req2, _req3, _req4, _req5, _req6, _req7, _req8, _loader, _cjsExports, __cjsMetaURL;

  _export("default", void 0);

  return {
    setters: [function (_unresolved_) {
      _req = _unresolved_.__cjsMetaURL;
    }, function (_unresolved_2) {
      _req2 = _unresolved_2.__cjsMetaURL;
    }, function (_unresolved_3) {
      _req3 = _unresolved_3.__cjsMetaURL;
    }, function (_unresolved_4) {
      _req4 = _unresolved_4.__cjsMetaURL;
    }, function (_unresolved_5) {
      _req5 = _unresolved_5.__cjsMetaURL;
    }, function (_unresolved_6) {
      _req6 = _unresolved_6.__cjsMetaURL;
    }, function (_unresolved_7) {
      _req7 = _unresolved_7.__cjsMetaURL;
    }, function (_unresolved_8) {
      _req8 = _unresolved_8.__cjsMetaURL;
    }, function (_unresolved_9) {
      _loader = _unresolved_9.default;
    }],
    execute: function () {
      _loader.define(_context.meta.url, function (exports, _require, module, __filename, __dirname) {
        let require = _loader.createRequireWithReqMap({
          "../internals/global": _req,
          "../internals/is-callable": _req2,
          "../internals/has-own-property": _req3,
          "../internals/create-non-enumerable-property": _req4,
          "../internals/set-global": _req5,
          "../internals/inspect-source": _req6,
          "../internals/internal-state": _req7,
          "../internals/function-name": _req8
        }, _require);

        (function () {
          var global = require('../internals/global');

          var isCallable = require('../internals/is-callable');

          var hasOwn = require('../internals/has-own-property');

          var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');

          var setGlobal = require('../internals/set-global');

          var inspectSource = require('../internals/inspect-source');

          var InternalStateModule = require('../internals/internal-state');

          var CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;

          var getInternalState = InternalStateModule.get;
          var enforceInternalState = InternalStateModule.enforce;
          var TEMPLATE = String(String).split('String');
          (module.exports = function (O, key, value, options) {
            var unsafe = options ? !!options.unsafe : false;
            var simple = options ? !!options.enumerable : false;
            var noTargetGet = options ? !!options.noTargetGet : false;
            var name = options && options.name !== undefined ? options.name : key;
            var state;

            if (isCallable(value)) {
              if (String(name).slice(0, 7) === 'Symbol(') {
                name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
              }

              if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {
                createNonEnumerableProperty(value, 'name', name);
              }

              state = enforceInternalState(value);

              if (!state.source) {
                state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
              }
            }

            if (O === global) {
              if (simple) O[key] = value;else setGlobal(key, value);
              return;
            } else if (!unsafe) {
              delete O[key];
            } else if (!noTargetGet && O[key]) {
              simple = true;
            }

            if (simple) O[key] = value;else createNonEnumerableProperty(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
          })(Function.prototype, 'toString', function toString() {
            return isCallable(this) && getInternalState(this).source || inspectSource(this);
          });
        })();

        _export("default", _cjsExports = module.exports);
      });

      _export("__cjsMetaURL", __cjsMetaURL = _context.meta.url);
    }
  };
});
//# sourceMappingURL=redefine.js.map