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

  var _req, _req2, _req3, _req4, _req5, _req6, _req7, _req8, _req9, _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) {
      _req9 = _unresolved_9.__cjsMetaURL;
    }, function (_unresolved_10) {
      _loader = _unresolved_10.default;
    }],
    execute: function () {
      _loader.define(_context.meta.url, function (exports, _require, module, __filename, __dirname) {
        var require = _loader.createRequireWithReqMap({
          "../internals/descriptors": _req,
          "../internals/function-uncurry-this": _req2,
          "../internals/function-call": _req3,
          "../internals/fails": _req4,
          "../internals/object-keys": _req5,
          "../internals/object-get-own-property-symbols": _req6,
          "../internals/object-property-is-enumerable": _req7,
          "../internals/to-object": _req8,
          "../internals/indexed-object": _req9
        }, _require);

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

          var uncurryThis = require('../internals/function-uncurry-this');

          var call = require('../internals/function-call');

          var fails = require('../internals/fails');

          var objectKeys = require('../internals/object-keys');

          var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');

          var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');

          var toObject = require('../internals/to-object');

          var IndexedObject = require('../internals/indexed-object'); // eslint-disable-next-line es/no-object-assign -- safe


          var $assign = Object.assign; // eslint-disable-next-line es/no-object-defineproperty -- required for testing

          var defineProperty = Object.defineProperty;
          var concat = uncurryThis([].concat); // `Object.assign` method
          // https://tc39.es/ecma262/#sec-object.assign

          module.exports = !$assign || fails(function () {
            // should have correct order of operations (Edge bug)
            if (DESCRIPTORS && $assign({
              b: 1
            }, $assign(defineProperty({}, 'a', {
              enumerable: true,
              get: function get() {
                defineProperty(this, 'b', {
                  value: 3,
                  enumerable: false
                });
              }
            }), {
              b: 2
            })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug)

            var A = {};
            var B = {}; // eslint-disable-next-line es/no-symbol -- safe

            var symbol = Symbol();
            var alphabet = 'abcdefghijklmnopqrst';
            A[symbol] = 7;
            alphabet.split('').forEach(function (chr) {
              B[chr] = chr;
            });
            return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
          }) ? function assign(target, source) {
            // eslint-disable-line no-unused-vars -- required for `.length`
            var T = toObject(target);
            var argumentsLength = arguments.length;
            var index = 1;
            var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
            var propertyIsEnumerable = propertyIsEnumerableModule.f;

            while (argumentsLength > index) {
              var S = IndexedObject(arguments[index++]);
              var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
              var length = keys.length;
              var j = 0;
              var key;

              while (length > j) {
                key = keys[j++];
                if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];
              }
            }

            return T;
          } : $assign;
        })();

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

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