| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- 'use strict';
 
- /* global ActiveXObject -- old IE, WSH */
 
- var anObject = require('../internals/an-object');
 
- var definePropertiesModule = require('../internals/object-define-properties');
 
- var enumBugKeys = require('../internals/enum-bug-keys');
 
- var hiddenKeys = require('../internals/hidden-keys');
 
- var html = require('../internals/html');
 
- var documentCreateElement = require('../internals/document-create-element');
 
- var sharedKey = require('../internals/shared-key');
 
- var GT = '>';
 
- var LT = '<';
 
- var PROTOTYPE = 'prototype';
 
- var SCRIPT = 'script';
 
- var IE_PROTO = sharedKey('IE_PROTO');
 
- var EmptyConstructor = function () { /* empty */ };
 
- var scriptTag = function (content) {
 
-   return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
 
- };
 
- // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
 
- var NullProtoObjectViaActiveX = function (activeXDocument) {
 
-   activeXDocument.write(scriptTag(''));
 
-   activeXDocument.close();
 
-   var temp = activeXDocument.parentWindow.Object;
 
-   activeXDocument = null; // avoid memory leak
 
-   return temp;
 
- };
 
- // Create object with fake `null` prototype: use iframe Object with cleared prototype
 
- var NullProtoObjectViaIFrame = function () {
 
-   // Thrash, waste and sodomy: IE GC bug
 
-   var iframe = documentCreateElement('iframe');
 
-   var JS = 'java' + SCRIPT + ':';
 
-   var iframeDocument;
 
-   iframe.style.display = 'none';
 
-   html.appendChild(iframe);
 
-   // https://github.com/zloirock/core-js/issues/475
 
-   iframe.src = String(JS);
 
-   iframeDocument = iframe.contentWindow.document;
 
-   iframeDocument.open();
 
-   iframeDocument.write(scriptTag('document.F=Object'));
 
-   iframeDocument.close();
 
-   return iframeDocument.F;
 
- };
 
- // Check for document.domain and active x support
 
- // No need to use active x approach when document.domain is not set
 
- // see https://github.com/es-shims/es5-shim/issues/150
 
- // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
 
- // avoid IE GC bug
 
- var activeXDocument;
 
- var NullProtoObject = function () {
 
-   try {
 
-     activeXDocument = new ActiveXObject('htmlfile');
 
-   } catch (error) { /* ignore */ }
 
-   NullProtoObject = typeof document != 'undefined'
 
-     ? document.domain && activeXDocument
 
-       ? NullProtoObjectViaActiveX(activeXDocument) // old IE
 
-       : NullProtoObjectViaIFrame()
 
-     : NullProtoObjectViaActiveX(activeXDocument); // WSH
 
-   var length = enumBugKeys.length;
 
-   while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
 
-   return NullProtoObject();
 
- };
 
- hiddenKeys[IE_PROTO] = true;
 
- // `Object.create` method
 
- // https://tc39.es/ecma262/#sec-object.create
 
- // eslint-disable-next-line es/no-object-create -- safe
 
- module.exports = Object.create || function create(O, Properties) {
 
-   var result;
 
-   if (O !== null) {
 
-     EmptyConstructor[PROTOTYPE] = anObject(O);
 
-     result = new EmptyConstructor();
 
-     EmptyConstructor[PROTOTYPE] = null;
 
-     // add "__proto__" for Object.getPrototypeOf polyfill
 
-     result[IE_PROTO] = O;
 
-   } else result = NullProtoObject();
 
-   return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
 
- };
 
 
  |