UNPKG

hyperformula-dc

Version:

HyperFormula is a JavaScript engine for efficient processing of spreadsheet-like data and formulas

1,457 lines (1,143 loc) 2.11 MB
/*! * Copyright (c) HANDSONCODE sp. z o. o. * * HYPERFORMULA is software distributed by HANDSONCODE sp. z o. o., * a Polish corporation, based in Gdynia, Poland, at 96/98 Aleja Zwycięstwa, * registered with the National Court Register under number 538651, * EU tax ID number: PL5862294002, share capital: PLN 62,800.00. * * This software is protected by applicable copyright laws, including * international treaties, and double-licensed. * * First, commercial purposes dictate individual approach * and the terms of such use are subject to negotiations. * * Second, at your option, your use of this Software – * either commercial, non-commercial, or both – * may be subject to the GNU General Public License * in such version as included in the “gpl-3.0.txt” file, * available in the main directory of this software repository. * * HANDSONCODE PROVIDES THIS SOFTWARE ON AN “AS IS” BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND. IN NO EVENT * AND UNDER NO LEGAL THEORY, SHALL HANDSONCODE BE LIABLE * TO YOU FOR DAMAGES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, * INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING * FROM USE OR INABILITY TO USE THIS SOFTWARE. * * Version: 1.1.3 * Release date: 12/08/2021 (built at 22/09/2021 07:51:43) */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("chevrotain")); else if(typeof define === 'function' && define.amd) define("HyperFormula", ["chevrotain"], factory); else if(typeof exports === 'object') exports["HyperFormula"] = factory(require("chevrotain")); else root["HyperFormula"] = factory(root["chevrotain"]); })(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE__165__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 0); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } __webpack_require__(1); __webpack_require__(60); __webpack_require__(64); __webpack_require__(68); __webpack_require__(69); __webpack_require__(78); __webpack_require__(89); __webpack_require__(97); __webpack_require__(98); __webpack_require__(99); __webpack_require__(101); __webpack_require__(103); __webpack_require__(112); exports.__esModule = true; exports.default = void 0; __webpack_require__(113); __webpack_require__(114); __webpack_require__(115); var _Cell = __webpack_require__(119); exports.CellError = _Cell.CellError; exports.CellType = _Cell.CellType; exports.CellValueDetailedType = _Cell.CellValueDetailedType; exports.CellValueType = _Cell.CellValueType; exports.ErrorType = _Cell.ErrorType; var _CellValue = __webpack_require__(226); exports.DetailedCellError = _CellValue.DetailedCellError; var _Config = __webpack_require__(227); var _ChooseAddressMappingPolicy = __webpack_require__(233); exports.AlwaysDense = _ChooseAddressMappingPolicy.AlwaysDense; exports.AlwaysSparse = _ChooseAddressMappingPolicy.AlwaysSparse; exports.DenseSparseChooseBasedOnThreshold = _ChooseAddressMappingPolicy.DenseSparseChooseBasedOnThreshold; var _errors = __webpack_require__(140); exports.ConfigValueTooBigError = _errors.ConfigValueTooBigError; exports.ConfigValueTooSmallError = _errors.ConfigValueTooSmallError; exports.EvaluationSuspendedError = _errors.EvaluationSuspendedError; exports.ExpectedOneOfValuesError = _errors.ExpectedOneOfValuesError; exports.ExpectedValueOfTypeError = _errors.ExpectedValueOfTypeError; exports.FunctionPluginValidationError = _errors.FunctionPluginValidationError; exports.InvalidAddressError = _errors.InvalidAddressError; exports.InvalidArgumentsError = _errors.InvalidArgumentsError; exports.LanguageAlreadyRegisteredError = _errors.LanguageAlreadyRegisteredError; exports.LanguageNotRegisteredError = _errors.LanguageNotRegisteredError; exports.MissingTranslationError = _errors.MissingTranslationError; exports.NamedExpressionDoesNotExistError = _errors.NamedExpressionDoesNotExistError; exports.NamedExpressionNameIsAlreadyTakenError = _errors.NamedExpressionNameIsAlreadyTakenError; exports.NamedExpressionNameIsInvalidError = _errors.NamedExpressionNameIsInvalidError; exports.NoOperationToRedoError = _errors.NoOperationToRedoError; exports.NoOperationToUndoError = _errors.NoOperationToUndoError; exports.NoRelativeAddressesAllowedError = _errors.NoRelativeAddressesAllowedError; exports.NoSheetWithIdError = _errors.NoSheetWithIdError; exports.NoSheetWithNameError = _errors.NoSheetWithNameError; exports.NotAFormulaError = _errors.NotAFormulaError; exports.NothingToPasteError = _errors.NothingToPasteError; exports.ProtectedFunctionTranslationError = _errors.ProtectedFunctionTranslationError; exports.SheetNameAlreadyTakenError = _errors.SheetNameAlreadyTakenError; exports.SheetSizeLimitExceededError = _errors.SheetSizeLimitExceededError; exports.SourceLocationHasArrayError = _errors.SourceLocationHasArrayError; exports.TargetLocationHasArrayError = _errors.TargetLocationHasArrayError; exports.UnableToParseError = _errors.UnableToParseError; var _Exporter = __webpack_require__(266); exports.ExportedCellChange = _Exporter.ExportedCellChange; exports.ExportedNamedExpressionChange = _Exporter.ExportedNamedExpressionChange; var _HyperFormula2 = __webpack_require__(248); exports.HyperFormula = _HyperFormula2.HyperFormula; var _enGB = _interopRequireDefault(__webpack_require__(288)); var _interpreter = __webpack_require__(289); exports.FunctionPlugin = _interpreter.FunctionPlugin; var plugins = _interopRequireWildcard(__webpack_require__(290)); var _SimpleRangeValue = __webpack_require__(183); exports.SimpleRangeValue = _SimpleRangeValue.SimpleRangeValue; function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } /** @internal */ var HyperFormulaNS = /*#__PURE__*/function (_HyperFormula) { _inherits(HyperFormulaNS, _HyperFormula); var _super = _createSuper(HyperFormulaNS); function HyperFormulaNS() { _classCallCheck(this, HyperFormulaNS); return _super.apply(this, arguments); } return HyperFormulaNS; }(_HyperFormula2.HyperFormula); HyperFormulaNS.HyperFormula = _HyperFormula2.HyperFormula; HyperFormulaNS.ErrorType = _Cell.ErrorType; HyperFormulaNS.CellType = _Cell.CellType; HyperFormulaNS.CellValueType = _Cell.CellValueType; HyperFormulaNS.CellValueDetailedType = _Cell.CellValueDetailedType; HyperFormulaNS.DetailedCellError = _CellValue.DetailedCellError; HyperFormulaNS.ExportedCellChange = _Exporter.ExportedCellChange; HyperFormulaNS.ExportedNamedExpressionChange = _Exporter.ExportedNamedExpressionChange; HyperFormulaNS.ConfigValueTooBigError = _errors.ConfigValueTooBigError; HyperFormulaNS.ConfigValueTooSmallError = _errors.ConfigValueTooSmallError; HyperFormulaNS.EvaluationSuspendedError = _errors.EvaluationSuspendedError; HyperFormulaNS.ExpectedOneOfValuesError = _errors.ExpectedOneOfValuesError; HyperFormulaNS.ExpectedValueOfTypeError = _errors.ExpectedValueOfTypeError; HyperFormulaNS.FunctionPlugin = _interpreter.FunctionPlugin; HyperFormulaNS.FunctionPluginValidationError = _errors.FunctionPluginValidationError; HyperFormulaNS.InvalidAddressError = _errors.InvalidAddressError; HyperFormulaNS.InvalidArgumentsError = _errors.InvalidArgumentsError; HyperFormulaNS.LanguageNotRegisteredError = _errors.LanguageNotRegisteredError; HyperFormulaNS.LanguageAlreadyRegisteredError = _errors.LanguageAlreadyRegisteredError; HyperFormulaNS.MissingTranslationError = _errors.MissingTranslationError; HyperFormulaNS.NamedExpressionDoesNotExistError = _errors.NamedExpressionDoesNotExistError; HyperFormulaNS.NamedExpressionNameIsAlreadyTakenError = _errors.NamedExpressionNameIsAlreadyTakenError; HyperFormulaNS.NamedExpressionNameIsInvalidError = _errors.NamedExpressionNameIsInvalidError; HyperFormulaNS.NoOperationToRedoError = _errors.NoOperationToRedoError; HyperFormulaNS.NoOperationToUndoError = _errors.NoOperationToUndoError; HyperFormulaNS.NoRelativeAddressesAllowedError = _errors.NoRelativeAddressesAllowedError; HyperFormulaNS.NoSheetWithIdError = _errors.NoSheetWithIdError; HyperFormulaNS.NoSheetWithNameError = _errors.NoSheetWithNameError; HyperFormulaNS.NotAFormulaError = _errors.NotAFormulaError; HyperFormulaNS.NothingToPasteError = _errors.NothingToPasteError; HyperFormulaNS.ProtectedFunctionTranslationError = _errors.ProtectedFunctionTranslationError; HyperFormulaNS.SheetNameAlreadyTakenError = _errors.SheetNameAlreadyTakenError; HyperFormulaNS.SheetSizeLimitExceededError = _errors.SheetSizeLimitExceededError; HyperFormulaNS.SourceLocationHasArrayError = _errors.SourceLocationHasArrayError; HyperFormulaNS.TargetLocationHasArrayError = _errors.TargetLocationHasArrayError; HyperFormulaNS.UnableToParseError = _errors.UnableToParseError; var defaultLanguage = _Config.Config.defaultConfig.language; _HyperFormula2.HyperFormula.registerLanguage(defaultLanguage, _enGB.default); _HyperFormula2.HyperFormula.languages[_enGB.default.langCode] = _enGB.default; var _iterator = _createForOfIteratorHelper(Object.getOwnPropertyNames(plugins)), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var pluginName = _step.value; if (!pluginName.startsWith('_')) { // eslint-disable-next-line @typescript-eslint/ban-ts-ignore // @ts-ignore _HyperFormula2.HyperFormula.registerFunctionPlugin(plugins[pluginName]); } } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } var _default = HyperFormulaNS; exports.default = _default; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { var $ = __webpack_require__(2); var getBuiltIn = __webpack_require__(18); var aFunction = __webpack_require__(54); var anObject = __webpack_require__(36); var isObject = __webpack_require__(16); var create = __webpack_require__(55); var bind = __webpack_require__(59); var fails = __webpack_require__(7); var nativeConstruct = getBuiltIn('Reflect', 'construct'); // `Reflect.construct` method // https://tc39.es/ecma262/#sec-reflect.construct // MS Edge supports only 2 arguments and argumentsList argument is optional // FF Nightly sets third argument as `new.target`, but does not create `this` from it var NEW_TARGET_BUG = fails(function () { function F() { /* empty */ } return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); }); var ARGS_BUG = !fails(function () { nativeConstruct(function () { /* empty */ }); }); var FORCED = NEW_TARGET_BUG || ARGS_BUG; $({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { construct: function construct(Target, args /* , newTarget */) { aFunction(Target); anObject(args); var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); if (Target == newTarget) { // w/o altered newTarget, optimization for 0-4 arguments switch (args.length) { case 0: return new Target(); case 1: return new Target(args[0]); case 2: return new Target(args[0], args[1]); case 3: return new Target(args[0], args[1], args[2]); case 4: return new Target(args[0], args[1], args[2], args[3]); } // w/o altered newTarget, lot of arguments case var $args = [null]; $args.push.apply($args, args); return new (bind.apply(Target, $args))(); } // with altered newTarget, not support built-in constructors var proto = newTarget.prototype; var instance = create(isObject(proto) ? proto : Object.prototype); var result = Function.apply.call(Target, instance, args); return isObject(result) ? result : instance; } }); /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); var getOwnPropertyDescriptor = __webpack_require__(5).f; var createNonEnumerableProperty = __webpack_require__(34); var redefine = __webpack_require__(37); var setGlobal = __webpack_require__(28); var copyConstructorProperties = __webpack_require__(43); var isForced = __webpack_require__(53); /* options.target - name of the target object options.global - target is the global object options.stat - export as static methods of target options.proto - export as prototype methods of target options.real - real prototype method for the `pure` version options.forced - export even if the native feature is available options.bind - bind methods to the target, required for the `pure` version options.wrap - wrap constructors to preventing global pollution, required for the `pure` version options.unsafe - use the simple assignment of property instead of delete + defineProperty options.sham - add a flag to not completely full polyfills options.enumerable - export as enumerable property options.noTargetGet - prevent calling a getter on target */ module.exports = function (options, source) { var TARGET = options.target; var GLOBAL = options.global; var STATIC = options.stat; var FORCED, target, key, targetProperty, sourceProperty, descriptor; if (GLOBAL) { target = global; } else if (STATIC) { target = global[TARGET] || setGlobal(TARGET, {}); } else { target = (global[TARGET] || {}).prototype; } if (target) for (key in source) { sourceProperty = source[key]; if (options.noTargetGet) { descriptor = getOwnPropertyDescriptor(target, key); targetProperty = descriptor && descriptor.value; } else targetProperty = target[key]; FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target if (!FORCED && targetProperty !== undefined) { if (typeof sourceProperty === typeof targetProperty) continue; copyConstructorProperties(sourceProperty, targetProperty); } // add a flag to not completely full polyfills if (options.sham || (targetProperty && targetProperty.sham)) { createNonEnumerableProperty(sourceProperty, 'sham', true); } // extend global redefine(target, key, sourceProperty, options); } }; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {var check = function (it) { return it && it.Math == Math && it; }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 module.exports = // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || // eslint-disable-next-line no-new-func -- fallback (function () { return this; })() || Function('return this')(); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(4))) /***/ }), /* 4 */ /***/ (function(module, exports) { var g; // This works in non-strict mode g = (function() { return this; })(); try { // This works if eval is allowed (see CSP) g = g || new Function("return this")(); } catch (e) { // This works if the window reference is available if (typeof window === "object") g = window; } // g can still be undefined, but nothing to do about it... // We return undefined, instead of nothing here, so it's // easier to handle this case. if(!global) { ...} module.exports = g; /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__(6); var propertyIsEnumerableModule = __webpack_require__(8); var createPropertyDescriptor = __webpack_require__(9); var toIndexedObject = __webpack_require__(10); var toPropertyKey = __webpack_require__(14); var has = __webpack_require__(29); var IE8_DOM_DEFINE = __webpack_require__(32); // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPropertyKey(P); if (IE8_DOM_DEFINE) try { return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); }; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { var fails = __webpack_require__(7); // Detect IE8's incomplete defineProperty implementation module.exports = !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); /***/ }), /* 7 */ /***/ (function(module, exports) { module.exports = function (exec) { try { return !!exec(); } catch (error) { return true; } }; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor(this, V); return !!descriptor && descriptor.enumerable; } : $propertyIsEnumerable; /***/ }), /* 9 */ /***/ (function(module, exports) { module.exports = function (bitmap, value) { return { enumerable: !(bitmap & 1), configurable: !(bitmap & 2), writable: !(bitmap & 4), value: value }; }; /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { // toObject with fallback for non-array-like ES3 strings var IndexedObject = __webpack_require__(11); var requireObjectCoercible = __webpack_require__(13); module.exports = function (it) { return IndexedObject(requireObjectCoercible(it)); }; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { var fails = __webpack_require__(7); var classof = __webpack_require__(12); var split = ''.split; // fallback for non-array-like ES3 and non-enumerable old V8 strings module.exports = fails(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins -- safe return !Object('z').propertyIsEnumerable(0); }) ? function (it) { return classof(it) == 'String' ? split.call(it, '') : Object(it); } : Object; /***/ }), /* 12 */ /***/ (function(module, exports) { var toString = {}.toString; module.exports = function (it) { return toString.call(it).slice(8, -1); }; /***/ }), /* 13 */ /***/ (function(module, exports) { // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; /***/ }), /* 14 */ /***/ (function(module, exports, __webpack_require__) { var toPrimitive = __webpack_require__(15); var isSymbol = __webpack_require__(17); // `ToPropertyKey` abstract operation // https://tc39.es/ecma262/#sec-topropertykey module.exports = function (argument) { var key = toPrimitive(argument, 'string'); return isSymbol(key) ? key : String(key); }; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(16); var isSymbol = __webpack_require__(17); var ordinaryToPrimitive = __webpack_require__(23); var wellKnownSymbol = __webpack_require__(24); var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); // `ToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-toprimitive module.exports = function (input, pref) { if (!isObject(input) || isSymbol(input)) return input; var exoticToPrim = input[TO_PRIMITIVE]; var result; if (exoticToPrim !== undefined) { if (pref === undefined) pref = 'default'; result = exoticToPrim.call(input, pref); if (!isObject(result) || isSymbol(result)) return result; throw TypeError("Can't convert object to primitive value"); } if (pref === undefined) pref = 'number'; return ordinaryToPrimitive(input, pref); }; /***/ }), /* 16 */ /***/ (function(module, exports) { module.exports = function (it) { return typeof it === 'object' ? it !== null : typeof it === 'function'; }; /***/ }), /* 17 */ /***/ (function(module, exports, __webpack_require__) { var getBuiltIn = __webpack_require__(18); var USE_SYMBOL_AS_UID = __webpack_require__(19); module.exports = USE_SYMBOL_AS_UID ? function (it) { return typeof it == 'symbol'; } : function (it) { var $Symbol = getBuiltIn('Symbol'); return typeof $Symbol == 'function' && Object(it) instanceof $Symbol; }; /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); var aFunction = function (variable) { return typeof variable == 'function' ? variable : undefined; }; module.exports = function (namespace, method) { return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; }; /***/ }), /* 19 */ /***/ (function(module, exports, __webpack_require__) { /* eslint-disable es/no-symbol -- required for testing */ var NATIVE_SYMBOL = __webpack_require__(20); module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol'; /***/ }), /* 20 */ /***/ (function(module, exports, __webpack_require__) { /* eslint-disable es/no-symbol -- required for testing */ var V8_VERSION = __webpack_require__(21); var fails = __webpack_require__(7); // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing module.exports = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances return !String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION && V8_VERSION < 41; }); /***/ }), /* 21 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); var userAgent = __webpack_require__(22); var process = global.process; var Deno = global.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; if (v8) { match = v8.split('.'); version = match[0] < 4 ? 1 : match[0] + match[1]; } else if (userAgent) { match = userAgent.match(/Edge\/(\d+)/); if (!match || match[1] >= 74) { match = userAgent.match(/Chrome\/(\d+)/); if (match) version = match[1]; } } module.exports = version && +version; /***/ }), /* 22 */ /***/ (function(module, exports, __webpack_require__) { var getBuiltIn = __webpack_require__(18); module.exports = getBuiltIn('navigator', 'userAgent') || ''; /***/ }), /* 23 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(16); // `OrdinaryToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-ordinarytoprimitive module.exports = function (input, pref) { var fn, val; if (pref === 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; if (pref !== 'string' && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; throw TypeError("Can't convert object to primitive value"); }; /***/ }), /* 24 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); var shared = __webpack_require__(25); var has = __webpack_require__(29); var uid = __webpack_require__(31); var NATIVE_SYMBOL = __webpack_require__(20); var USE_SYMBOL_AS_UID = __webpack_require__(19); var WellKnownSymbolsStore = shared('wks'); var Symbol = global.Symbol; var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; module.exports = function (name) { if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { if (NATIVE_SYMBOL && has(Symbol, name)) { WellKnownSymbolsStore[name] = Symbol[name]; } else { WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); } } return WellKnownSymbolsStore[name]; }; /***/ }), /* 25 */ /***/ (function(module, exports, __webpack_require__) { var IS_PURE = __webpack_require__(26); var store = __webpack_require__(27); (module.exports = function (key, value) { return store[key] || (store[key] = value !== undefined ? value : {}); })('versions', []).push({ version: '3.16.1', mode: IS_PURE ? 'pure' : 'global', copyright: '© 2021 Denis Pushkarev (zloirock.ru)' }); /***/ }), /* 26 */ /***/ (function(module, exports) { module.exports = false; /***/ }), /* 27 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); var setGlobal = __webpack_require__(28); var SHARED = '__core-js_shared__'; var store = global[SHARED] || setGlobal(SHARED, {}); module.exports = store; /***/ }), /* 28 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); module.exports = function (key, value) { try { // eslint-disable-next-line es/no-object-defineproperty -- safe Object.defineProperty(global, key, { value: value, configurable: true, writable: true }); } catch (error) { global[key] = value; } return value; }; /***/ }), /* 29 */ /***/ (function(module, exports, __webpack_require__) { var toObject = __webpack_require__(30); var hasOwnProperty = {}.hasOwnProperty; module.exports = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty.call(toObject(it), key); }; /***/ }), /* 30 */ /***/ (function(module, exports, __webpack_require__) { var requireObjectCoercible = __webpack_require__(13); // `ToObject` abstract operation // https://tc39.es/ecma262/#sec-toobject module.exports = function (argument) { return Object(requireObjectCoercible(argument)); }; /***/ }), /* 31 */ /***/ (function(module, exports) { var id = 0; var postfix = Math.random(); module.exports = function (key) { return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); }; /***/ }), /* 32 */ /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__(6); var fails = __webpack_require__(7); var createElement = __webpack_require__(33); // Thank's IE8 for his funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /* 33 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); var isObject = __webpack_require__(16); var document = global.document; // typeof document.createElement is 'object' in old IE var EXISTS = isObject(document) && isObject(document.createElement); module.exports = function (it) { return EXISTS ? document.createElement(it) : {}; }; /***/ }), /* 34 */ /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__(6); var definePropertyModule = __webpack_require__(35); var createPropertyDescriptor = __webpack_require__(9); module.exports = DESCRIPTORS ? function (object, key, value) { return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); } : function (object, key, value) { object[key] = value; return object; }; /***/ }), /* 35 */ /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__(6); var IE8_DOM_DEFINE = __webpack_require__(32); var anObject = __webpack_require__(36); var toPropertyKey = __webpack_require__(14); // eslint-disable-next-line es/no-object-defineproperty -- safe var $defineProperty = Object.defineProperty; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPropertyKey(P); anObject(Attributes); if (IE8_DOM_DEFINE) try { return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; return O; }; /***/ }), /* 36 */ /***/ (function(module, exports, __webpack_require__) { var isObject = __webpack_require__(16); module.exports = function (it) { if (!isObject(it)) { throw TypeError(String(it) + ' is not an object'); } return it; }; /***/ }), /* 37 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); var createNonEnumerableProperty = __webpack_require__(34); var has = __webpack_require__(29); var setGlobal = __webpack_require__(28); var inspectSource = __webpack_require__(38); var InternalStateModule = __webpack_require__(39); 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 state; if (typeof value == 'function') { if (typeof key == 'string' && !has(value, 'name')) { createNonEnumerableProperty(value, 'name', key); } state = enforceInternalState(value); if (!state.source) { state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); } } 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 typeof this == 'function' && getInternalState(this).source || inspectSource(this); }); /***/ }), /* 38 */ /***/ (function(module, exports, __webpack_require__) { var store = __webpack_require__(27); var functionToString = Function.toString; // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper if (typeof store.inspectSource != 'function') { store.inspectSource = function (it) { return functionToString.call(it); }; } module.exports = store.inspectSource; /***/ }), /* 39 */ /***/ (function(module, exports, __webpack_require__) { var NATIVE_WEAK_MAP = __webpack_require__(40); var global = __webpack_require__(3); var isObject = __webpack_require__(16); var createNonEnumerableProperty = __webpack_require__(34); var objectHas = __webpack_require__(29); var shared = __webpack_require__(27); var sharedKey = __webpack_require__(41); var hiddenKeys = __webpack_require__(42); var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; var WeakMap = global.WeakMap; var set, get, has; var enforce = function (it) { return has(it) ? get(it) : set(it, {}); }; var getterFor = function (TYPE) { return function (it) { var state; if (!isObject(it) || (state = get(it)).type !== TYPE) { throw TypeError('Incompatible receiver, ' + TYPE + ' required'); } return state; }; }; if (NATIVE_WEAK_MAP || shared.state) { var store = shared.state || (shared.state = new WeakMap()); var wmget = store.get; var wmhas = store.has; var wmset = store.set; set = function (it, metadata) { if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; wmset.call(store, it, metadata); return metadata; }; get = function (it) { return wmget.call(store, it) || {}; }; has = function (it) { return wmhas.call(store, it); }; } else { var STATE = sharedKey('state'); hiddenKeys[STATE] = true; set = function (it, metadata) { if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; createNonEnumerableProperty(it, STATE, metadata); return metadata; }; get = function (it) { return objectHas(it, STATE) ? it[STATE] : {}; }; has = function (it) { return objectHas(it, STATE); }; } module.exports = { set: set, get: get, has: has, enforce: enforce, getterFor: getterFor }; /***/ }), /* 40 */ /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__(3); var inspectSource = __webpack_require__(38); var WeakMap = global.WeakMap; module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); /***/ }), /* 41 */ /***/ (function(module, exports, __webpack_require__) { var shared = __webpack_require__(25); var uid = __webpack_require__(31); var keys = shared('keys'); module.exports = function (key) { return keys[key] || (keys[key] = uid(key)); }; /***/ }), /* 42 */ /***/ (function(module, exports) { module.exports = {}; /***/ }), /* 43 */ /***/ (function(module, exports, __webpack_require__) { var has = __webpack_require__(29); var ownKeys = __webpack_require__(44); var getOwnPropertyDescriptorModule = __webpack_require__(5); var definePropertyModule = __webpack_require__(35); module.exports = function (target, source) { var keys = ownKeys(source); var defineProperty = definePropertyModule.f; var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; for (var i = 0; i < keys.length; i++) { var key = keys[i]; if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); } }; /***/ }), /* 44 */ /***/ (function(module, exports, __webpack_require__) { var getBuiltIn = __webpack_require__(18); var getOwnPropertyNamesModule = __webpack_require__(45); var getOwnPropertySymbolsModule = __webpack_require__(52); var anObject = __webpack_require__(36); // all object keys, includes non-enumerable and symbols module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { var keys = getOwnPropertyNamesModule.f(anObject(it)); var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; }; /***/ }), /* 45 */ /***/ (function(module, exports, __webpack_require__) { var internalObjectKeys = __webpack_require__(46); var enumBugKeys = __webpack_require__(51); var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames // eslint-disable-next-line es/no-object-getownpropertynames -- safe exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; /***/ }), /* 46 */ /***/ (function(module, exports, __webpack_require__) { var has = __webpack_require__(29); var toIndexedObject = __webpack_require__(10); var indexOf = __webpack_require__(47).indexOf; var hiddenKeys = __webpack_require__(42); module.exports = function (object, names) { var O = toIndexedObject(object); var i = 0; var result = []; var key; for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); // Don't enum bug & hidden keys while (names.length > i) if (has(O, key = names[i++])) { ~indexOf(result, key) || result.push(key); } return result; }; /***/ }), /* 47 */ /***/ (function(module, exports, __webpack_require__) { var toIndexedObject = __webpack_require__(10); var toLength = __webpack_require__(48); var toAbsoluteIndex = __webpack_require__(50); // `Array.prototype.{ indexOf, includes }` methods implementation var createMethod = function (IS_INCLUDES) { return function ($this, el, fromIndex) { var O = toIndexedObject($this); var length = toLength(O.length); var index = toAbsoluteIndex(fromIndex, length); var value; // Array#includes uses SameValueZero equality algorithm // eslint-disable-next-line no-self-compare -- NaN check if (IS_INCLUDES && el != el) while (length > index) { value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not } else for (;length > index; index++) { if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; } return !IS_INCLUDES && -1; }; }; module.exports = { // `Array.prototype.includes` method // https://tc39.es/ecma262/#sec-array.prototype.includes includes: createMethod(true), // `Array.prototype.indexOf` method // https://tc39.es/ecma262/#sec-array.prototype.indexof indexOf: createMethod(false) }; /***/ }), /* 48 */ /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__(49); var min = Math.min; // `ToLength` abstract operation // https://tc39.es/ecma262/#sec-tolength module.exports = function (argument) { return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 }; /***/ }), /* 49 */ /***/ (function(module, exports) { var ceil = Math.ceil; var floor = Math.floor; // `ToInteger` abstract operation // https://tc39.es/ecma262/#sec-tointeger module.exports = function (argument) { return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); }; /***/ }), /* 50 */ /***/ (function(module, exports, __webpack_require__) { var toInteger = __webpack_require__(49); var max = Math.max; var min = Math.min; // Helper for a popular repeating case of the spec: // Let integer be ? ToInteger(index). // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). module.exports = function (index, length) { var integer = toInteger(index); return integer < 0 ? max(integer + length, 0) : min(integer, length); }; /***/ }), /* 51 */ /***/ (function(module, exports) { // IE8- don't enum bug keys module.exports = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf' ]; /***/ }), /* 52 */ /***/ (function(module, exports) { // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe exports.f = Object.getOwnPropertySymbols; /***/ }), /* 53 */ /***/ (function(module, exports, __webpack_require__) { var fails = __webpack_require__(7); var replacement = /#|\.prototype\./; var isForced = function (feature, detection) { var value = data[normalize(feature)]; return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection; }; var normalize = isForced.normalize = function (string) { return String(string).replace(replacement, '.').toLowerCase(); }; var data = isForced.data = {}; var NATIVE = isForced.NATIVE = 'N'; var POLYFILL = isForced.POLYFILL = 'P'; module.exports = isForced; /***/ }), /* 54 */ /***/ (function(module, exports) { module.exports = function (it) { if (typeof it != 'function') { throw TypeError(String(it) + ' is not a function'); } return it; }; /***/ }), /* 55 */ /***/ (function(module, exports, __webpack_require__) { /* global ActiveXObject -- old IE, WSH */ var anObject = __webpack_require__(36); var defineProperties = __webpack_require__(56); var enumBugKeys = __webpack_require__(51); var hiddenKeys = __webpack_require__(42); var html = __webpack_require__(58); var documentCreateElement = __webpack_require__(33); var sharedKey = __webpack_require__(41); 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 G