diff --git a/dist/constants.js b/dist/constants.js index 49630bb..3bc379a 100644 --- a/dist/constants.js +++ b/dist/constants.js @@ -1,17 +1,17 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { - value: true -}); /* * Constats * Keys must be UPPERCASE * Values Can be a constant value or a function returning a value * this function doesn't take any arguments (use case: random constats) */ +'use strict'; + +Object.defineProperty(exports, '__esModule', { + value: true +}); exports['default'] = { - PI: Math.PI, - E: Math.E, - RAND: Math.random + 'PI': Math.PI, + 'E': Math.E, + 'RAND': Math.random }; -module.exports = exports['default']; \ No newline at end of file +module.exports = exports['default']; diff --git a/dist/helpers.js b/dist/helpers.js index 11ad662..1c72262 100644 --- a/dist/helpers.js +++ b/dist/helpers.js @@ -17,17 +17,7 @@ var isNumber = function isNumber(a) { }; exports.isNumber = isNumber; -var parseNumbers = (function (_parseNumbers) { - function parseNumbers(_x) { - return _parseNumbers.apply(this, arguments); - } - - parseNumbers.toString = function () { - return _parseNumbers.toString(); - }; - - return parseNumbers; -})(function (a) { +var parseNumbers = function parseNumbers(a) { return a.map(function (b) { if (isNumber(b)) { return parseFloat(b); @@ -37,7 +27,7 @@ var parseNumbers = (function (_parseNumbers) { } return b; }); -}); +}; exports.parseNumbers = parseNumbers; var dive = function dive(arr, n) { @@ -49,18 +39,8 @@ var dive = function dive(arr, n) { }; exports.dive = dive; -var deep = (function (_deep) { - function deep(_x2, _x3) { - return _deep.apply(this, arguments); - } - - deep.toString = function () { - return _deep.toString(); - }; - - return deep; -})(function (arr, n) { - var index = arguments[2] === undefined ? 0 : arguments[2]; +var deep = function deep(arr, n) { + var index = arguments.length <= 2 || arguments[2] === undefined ? 0 : arguments[2]; if (n < 2) { return { arr: arr, index: index }; @@ -68,10 +48,10 @@ var deep = (function (_deep) { var d = arr.reduce(function (a, b, i) { if (Array.isArray(b)) { - var _deep2 = deep(b, n - 1, i); + var _deep = deep(b, n - 1, i); - var _arr = _deep2.arr; - var x = _deep2.index; + var _arr = _deep.arr; + var x = _deep.index; var merged = a.concat(_arr); index = x; @@ -81,20 +61,10 @@ var deep = (function (_deep) { }, []); return { arr: d, index: index }; -}); +}; exports.deep = deep; -var diveTo = (function (_diveTo) { - function diveTo(_x4, _x5, _x6) { - return _diveTo.apply(this, arguments); - } - - diveTo.toString = function () { - return _diveTo.toString(); - }; - - return diveTo; -})(function (arr, indexes, replace) { +var diveTo = function diveTo(arr, indexes, replace) { var answer = []; if (indexes.some(Array.isArray)) { var _iteratorNormalCompletion = true; @@ -127,20 +97,10 @@ var diveTo = (function (_diveTo) { } return answer; -}); +}; exports.diveTo = diveTo; -var flatten = (function (_flatten) { - function flatten(_x7) { - return _flatten.apply(this, arguments); - } - - flatten.toString = function () { - return _flatten.toString(); - }; - - return flatten; -})(function (arr) { +var flatten = function flatten(arr) { if (!Array.isArray(arr) || !arr.some(Array.isArray)) { return arr; } @@ -148,10 +108,10 @@ var flatten = (function (_flatten) { return arr.reduce(function (a, b) { return a.concat(flatten(b)); }, []); -}); +}; exports.flatten = flatten; var removeSymbols = function removeSymbols(string) { return string.toString().replace(/\W/g, ''); }; -exports.removeSymbols = removeSymbols; \ No newline at end of file +exports.removeSymbols = removeSymbols; diff --git a/dist/index.js b/dist/index.js index b5d0aba..b0573d3 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,32 +1,34 @@ 'use strict'; -var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; - -var _slicedToArray = function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; - -var _toConsumableArray = function (arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } }; - Object.defineProperty(exports, '__esModule', { value: true }); +var _slicedToArray = (function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i['return']) _i['return'](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError('Invalid attempt to destructure non-iterable instance'); } }; })(); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; return arr2; } else { return Array.from(arr); } } + require('babel/polyfill'); -var _ReadStream = require('./readstream'); +var _readstream = require('./readstream'); -var _ReadStream2 = _interopRequireWildcard(_ReadStream); +var _readstream2 = _interopRequireDefault(_readstream); var _operators = require('./operators'); -var _operators2 = _interopRequireWildcard(_operators); +var _operators2 = _interopRequireDefault(_operators); var _constants = require('./constants'); -var _constants2 = _interopRequireWildcard(_constants); +var _constants2 = _interopRequireDefault(_constants); -var _import = require('./helpers'); +var _helpers = require('./helpers'); -var _ = _interopRequireWildcard(_import); +var _ = _interopRequireWildcard(_helpers); var Equation = { /** @@ -118,36 +120,36 @@ var Equation = { } }; -var solveStack = (function (_solveStack) { - function solveStack(_x) { - return _solveStack.apply(this, arguments); - } +var solveStack = function solveStack(_x) { + var _again = true; - solveStack.toString = function () { - return _solveStack.toString(); - }; + _function: while (_again) { + var stack = _x; + _again = false; - return solveStack; -})(function (stack) { - // if an operator takes an expression argument, we should not dive into it - // and solve the expression inside - var hasExpressionArgument = stack.some(function (a) { - return _operators2['default'][a] && _operators2['default'][a].hasExpression; - }); - - if (!hasExpressionArgument && stack.some(Array.isArray)) { - stack = stack.map(function (group) { - if (!Array.isArray(group)) { - return group; - } - return solveStack(group); + // if an operator takes an expression argument, we should not dive into it + // and solve the expression inside + var hasExpressionArgument = stack.some(function (a) { + return _operators2['default'][a] && _operators2['default'][a].hasExpression; }); - return solveStack(stack); - } else { - return evaluate(stack); + if (!hasExpressionArgument && stack.some(Array.isArray)) { + stack = stack.map(function (group) { + if (!Array.isArray(group)) { + return group; + } + return solveStack(group); + }); + + _x = stack; + _again = true; + hasExpressionArgument = undefined; + continue _function; + } else { + return evaluate(stack); + } } -}); +}; var PRECEDENCES = Object.keys(_operators2['default']).map(function (key) { return _operators2['default'][key].precedence; @@ -173,7 +175,7 @@ var parseExpression = function parseExpression(expression) { // separately expression = expression.replace(/,/g, ')('); - var stream = new _ReadStream2['default'](expression), + var stream = new _readstream2['default'](expression), stack = [], record = '', cur = undefined, @@ -203,30 +205,30 @@ var parseExpression = function parseExpression(expression) { // numbers and decimals } else if (_.isNumber(stack[past]) && (_.isNumber(cur) || cur === '.')) { - stack[past] += cur; - - // negation sign - } else if (stack[past] === '-') { - var beforeSign = stack[past - 1]; - - // 2 / -5 is OK, pass - if (_operators2['default'][beforeSign]) { stack[past] += cur; - // (2+1) - 5 becomes (2+1) + -5 - } else if (beforeSign === ')') { - stack[past] = '+'; - stack.push('-' + cur); + // negation sign + } else if (stack[past] === '-') { + var beforeSign = stack[past - 1]; - // 2 - 5 is also OK, pass - } else if (_.isNumber(beforeSign) || isVariable(beforeSign)) { - stack.push(cur); - } else { - stack[past] += cur; - } - } else { - stack.push(cur); - } + // 2 / -5 is OK, pass + if (_operators2['default'][beforeSign]) { + stack[past] += cur; + + // (2+1) - 5 becomes (2+1) + -5 + } else if (beforeSign === ')') { + stack[past] = '+'; + stack.push('-' + cur); + + // 2 - 5 is also OK, pass + } else if (_.isNumber(beforeSign) || isVariable(beforeSign)) { + stack.push(cur); + } else { + stack[past] += cur; + } + } else { + stack.push(cur); + } } if (record.length) { var beforeRecord = past - (record.length - 1); @@ -304,17 +306,7 @@ var formatInfo = function formatInfo(operator) { * @return {Array} * Grouped expression based on precedences */ -var sortStack = (function (_sortStack) { - function sortStack(_x2) { - return _sortStack.apply(this, arguments); - } - - sortStack.toString = function () { - return _sortStack.toString(); - }; - - return sortStack; -})(function (stack) { +var sortStack = function sortStack(stack) { var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; @@ -371,7 +363,7 @@ var sortStack = (function (_sortStack) { } return stack; -}); +}; /** * Evaluates the given math expression. @@ -485,4 +477,4 @@ var isVariable = function isVariable(a) { }; exports.isVariable = isVariable; -exports['default'] = Equation; \ No newline at end of file +exports['default'] = Equation; diff --git a/dist/operators.js b/dist/operators.js index 20d2257..511f985 100644 --- a/dist/operators.js +++ b/dist/operators.js @@ -1,14 +1,14 @@ 'use strict'; -var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; - Object.defineProperty(exports, '__esModule', { value: true }); -var _Equation = require('./index'); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } -var _Equation2 = _interopRequireWildcard(_Equation); +var _index = require('./index'); + +var _index2 = _interopRequireDefault(_index); /* * Operators and Functions @@ -77,7 +77,7 @@ exports['default'] = { '!': { fn: function fn(a) { var sum = 1; - for (var i = 0; i < a; ++i) { + for (var i = 1; i <= a; ++i) { sum *= i; } return sum; @@ -85,61 +85,61 @@ exports['default'] = { format: '01', precedence: 2 }, - log: { + 'log': { fn: Math.log, format: '10', precedence: -1 }, - ln: { + 'ln': { fn: Math.log, format: '10', precedence: -1 }, - lg: { + 'lg': { fn: function fn(a) { return Math.log(a) / Math.log(2); }, format: '10', precedence: -1 }, - sin: { + 'sin': { fn: Math.sin, format: '10', precedence: -1 }, - cos: { + 'cos': { fn: Math.cos, format: '10', precedence: -1 }, - tan: { + 'tan': { fn: Math.tan, format: '10', precedence: -1 }, - cot: { + 'cot': { fn: Math.cot, format: '10', precedence: -1 }, - round: { + 'round': { fn: Math.round, format: '10', precedence: -1 }, - floor: { + 'floor': { fn: Math.floor, format: '10', precedence: -1 }, - sigma: { + 'sigma': { fn: function fn(from, to, expression) { var expr = expression.join('').replace(/,/g, ''); var regex = new RegExp(ITERATOR_SIGN, 'g'); var sum = 0; for (var i = from; i <= to; i++) { - sum += _Equation2['default'].solve(expr.replace(regex, i)); + sum += _index2['default'].solve(expr.replace(regex, i)); } return sum; }, @@ -150,4 +150,4 @@ exports['default'] = { }; var ITERATOR_SIGN = '@'; -module.exports = exports['default']; \ No newline at end of file +module.exports = exports['default']; diff --git a/dist/readstream.js b/dist/readstream.js index 7aef97a..2b13499 100644 --- a/dist/readstream.js +++ b/dist/readstream.js @@ -33,23 +33,13 @@ exports['default'] = function (string) { drain: function drain() { return buffer.splice(0, buffer.length); }, - replace: (function (_replace) { - function replace(_x, _x2, _x3) { - return _replace.apply(this, arguments); - } - - replace.toString = function () { - return _replace.toString(); - }; - - return replace; - })(function (start, end, replace) { + replace: function replace(start, end, _replace) { var temp = string.split(''); - temp.splice(start, end, replace); + temp.splice(start, end, _replace); string = temp.join(''); i = i - (end - start); - }), + }, go: function go(n) { i += n; }, @@ -59,4 +49,4 @@ exports['default'] = function (string) { }; }; -module.exports = exports['default']; \ No newline at end of file +module.exports = exports['default']; diff --git a/dist/tests/equation.js b/dist/tests/equation.js index 8600135..8761038 100644 --- a/dist/tests/equation.js +++ b/dist/tests/equation.js @@ -1,46 +1,46 @@ 'use strict'; -var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } -var _expect = require('chai'); +var _chai = require('chai'); -var _M = require('../index.js'); +var _indexJs = require('../index.js'); -var _M2 = _interopRequireWildcard(_M); +var _indexJs2 = _interopRequireDefault(_indexJs); describe('Equations', function () { it('should work with one variable', function () { - var equation = _M2['default'].equation('x+2'); + var equation = _indexJs2['default'].equation('x+2'); - _expect.expect(equation(2)).to.equal(4); + (0, _chai.expect)(equation(2)).to.equal(4); // Issue #10 - var subtraction = _M2['default'].equation('x - 3'); - _expect.expect(subtraction(10)).to.equal(7); + var subtraction = _indexJs2['default'].equation('x - 3'); + (0, _chai.expect)(subtraction(10)).to.equal(7); }); it('should work with multiple variables', function () { - var equation = _M2['default'].equation('x+y'); - _expect.expect(equation(2, 4)).to.equal(6); + var equation = _indexJs2['default'].equation('x+y'); + (0, _chai.expect)(equation(2, 4)).to.equal(6); }); it('should work with multiple instances of the same variable', function () { - var equation = _M2['default'].equation('x*x'); - _expect.expect(equation(4)).to.equal(16); + var equation = _indexJs2['default'].equation('x*x'); + (0, _chai.expect)(equation(4)).to.equal(16); }); it('should only accept lowercase letters', function () { - var equation = _M2['default'].equation('X+2'); - _expect.expect(equation).to['throw'](); + var equation = _indexJs2['default'].equation('X+2'); + (0, _chai.expect)(equation).to['throw'](); }); it('should work with NumVariable expressions like 2x', function () { - var equation = _M2['default'].equation('2x + 6y'); - _expect.expect(equation(4, 3)).to.equal(8 + 18); + var equation = _indexJs2['default'].equation('2x + 6y'); + (0, _chai.expect)(equation(4, 3)).to.equal(8 + 18); }); it('Test case', function () { - var equation = _M2['default'].equation('2+x*(y+4)+z^2'); - _expect.expect(equation(2, 4, 3)).to.equal(27); + var equation = _indexJs2['default'].equation('2+x*(y+4)+z^2'); + (0, _chai.expect)(equation(2, 4, 3)).to.equal(27); }); -}); \ No newline at end of file +}); diff --git a/dist/tests/solve.js b/dist/tests/solve.js index d10e6cd..5402bc4 100644 --- a/dist/tests/solve.js +++ b/dist/tests/solve.js @@ -1,116 +1,116 @@ 'use strict'; -var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } -var _expect = require('chai'); +var _chai = require('chai'); -var _M = require('../index.js'); +var _indexJs = require('../index.js'); -var _M2 = _interopRequireWildcard(_M); +var _indexJs2 = _interopRequireDefault(_indexJs); describe('Basic math operators', function () { it('should work for add +', function () { - _expect.expect(_M2['default'].solve('2+2')).to.equal(4); + (0, _chai.expect)(_indexJs2['default'].solve('2+2')).to.equal(4); }); it('should work for minus -', function () { - _expect.expect(_M2['default'].solve('15-3')).to.equal(12); + (0, _chai.expect)(_indexJs2['default'].solve('15-3')).to.equal(12); }); it('should work for divison /', function () { - _expect.expect(_M2['default'].solve('20/2')).to.equal(10); + (0, _chai.expect)(_indexJs2['default'].solve('20/2')).to.equal(10); }); it('should work for multiplication *', function () { - _expect.expect(_M2['default'].solve('6*3')).to.equal(18); + (0, _chai.expect)(_indexJs2['default'].solve('6*3')).to.equal(18); }); it('should work for power ^', function () { - _expect.expect(_M2['default'].solve('5^2')).to.equal(25); + (0, _chai.expect)(_indexJs2['default'].solve('5^2')).to.equal(25); }); it('should work for multi-digit numbers', function () { - _expect.expect(_M2['default'].solve('12+15')).to.equal(27); + (0, _chai.expect)(_indexJs2['default'].solve('12+15')).to.equal(27); }); it('should deal with floating precision of javascript - #5', function () { - _expect.expect(_M2['default'].solve('0.2 + 0.1')).to.equal(0.3); - _expect.expect(_M2['default'].solve('0.2 + 0.4')).to.equal(0.6); - _expect.expect(_M2['default'].solve('round(floor(1.23456789/0.2)) * 0.2')).to.equal(1.2); - _expect.expect(_M2['default'].solve('1.23456789 - (1.23456789 % 0.2)')).to.equal(1.2); + (0, _chai.expect)(_indexJs2['default'].solve('0.2 + 0.1')).to.equal(0.3); + (0, _chai.expect)(_indexJs2['default'].solve('0.2 + 0.4')).to.equal(0.6); + (0, _chai.expect)(_indexJs2['default'].solve('round(floor(1.23456789/0.2)) * 0.2')).to.equal(1.2); + (0, _chai.expect)(_indexJs2['default'].solve('1.23456789 - (1.23456789 % 0.2)')).to.equal(1.2); }); }); describe('Negative Numbers', function () { it('should work for negative numbers after operators', function () { - _expect.expect(_M2['default'].solve('2 + -5')).to.equal(-3); + (0, _chai.expect)(_indexJs2['default'].solve('2 + -5')).to.equal(-3); }); it('should work for negative numbers after groups', function () { - _expect.expect(_M2['default'].solve('1 + (2 - 5) - 2')).to.equal(-4); + (0, _chai.expect)(_indexJs2['default'].solve('1 + (2 - 5) - 2')).to.equal(-4); }); it('should work for expressions starting with negative numbers', function () { - _expect.expect(_M2['default'].solve('-2 + 1')).to.equal(-1); + (0, _chai.expect)(_indexJs2['default'].solve('-2 + 1')).to.equal(-1); }); }); describe('Precedence', function () { it('Test case 1', function () { - _expect.expect(_M2['default'].solve('2+(2+1)*(1+1)^2')).to.equal(14); + (0, _chai.expect)(_indexJs2['default'].solve('2+(2+1)*(1+1)^2')).to.equal(14); }); it('Test case 2', function () { - _expect.expect(_M2['default'].solve('2+5*4/2-2')).to.equal(10); + (0, _chai.expect)(_indexJs2['default'].solve('2+5*4/2-2')).to.equal(10); }); it('Test case 3', function () { - _expect.expect(_M2['default'].solve('2+(5*4/2)-2')).to.equal(10); + (0, _chai.expect)(_indexJs2['default'].solve('2+(5*4/2)-2')).to.equal(10); }); it('Test case 4', function () { - _expect.expect(_M2['default'].solve('(2+2)^2+(5+1)*4+(2+(4/2)/2)')).to.equal(16 + 24 + 3); + (0, _chai.expect)(_indexJs2['default'].solve('(2+2)^2+(5+1)*4+(2+(4/2)/2)')).to.equal(16 + 24 + 3); }); }); describe('Functions', function () { it('should work with parantheses', function () { - _expect.expect(_M2['default'].solve('lg(4) * 5')).to.equal(10); + (0, _chai.expect)(_indexJs2['default'].solve('lg(4) * 5')).to.equal(10); }); it('should work without parantheses', function () { - _expect.expect(_M2['default'].solve('lg4 * 5')).to.equal(10); + (0, _chai.expect)(_indexJs2['default'].solve('lg4 * 5')).to.equal(10); }); it('should work for wrapped functions', function () { - _expect.expect(_M2['default'].solve('(lg4)*2')).to.equal(4); + (0, _chai.expect)(_indexJs2['default'].solve('(lg4)*2')).to.equal(4); }); }); describe('Constats', function () { it('should work for constant values', function () { - _expect.expect(_M2['default'].solve('sin(PI/2)')).to.equal(1); + (0, _chai.expect)(_indexJs2['default'].solve('sin(PI/2)')).to.equal(1); }); it('should work for functions as constants - retry on fail', function () { - _expect.expect(_M2['default'].solve('RAND')).to.not.equal(_M2['default'].solve('RAND')); + (0, _chai.expect)(_indexJs2['default'].solve('RAND')).to.not.equal(_indexJs2['default'].solve('RAND')); }); }); describe('Sigma', function () { it('should work with simple expressions', function () { - _expect.expect(_M2['default'].solve('sigma(0, 5, @)')).to.equal(15); + (0, _chai.expect)(_indexJs2['default'].solve('sigma(0, 5, @)')).to.equal(15); }); it('should work with more complex expressions', function () { - _expect.expect(_M2['default'].solve('sigma(0, 2, 2@+5)')).to.equal(21); + (0, _chai.expect)(_indexJs2['default'].solve('sigma(0, 2, 2@+5)')).to.equal(21); }); it('should work without an iterator sign', function () { - _expect.expect(_M2['default'].solve('sigma(0, 2, 5*2)')).to.equal(30); + (0, _chai.expect)(_indexJs2['default'].solve('sigma(0, 2, 5*2)')).to.equal(30); }); it('should work with negative start / end points', function () { - _expect.expect(_M2['default'].solve('sigma(-5, -2, @)')).to.equal(-14); + (0, _chai.expect)(_indexJs2['default'].solve('sigma(-5, -2, @)')).to.equal(-14); }); -}); \ No newline at end of file +}); diff --git a/equation.js b/equation.js index f8ac1c2..2ee5883 100644 --- a/equation.js +++ b/equation.js @@ -1,21 +1,22 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Equation = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 2 ? $$[2] : undefined + , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to) + , inc = 1; + if(from < to && to < from + count){ + inc = -1; + from += count - 1; + to += count - 1; + } + while(count-- > 0){ + if(from in O)O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; +},{"./$.to-index":83,"./$.to-length":86,"./$.to-object":87}],13:[function(require,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +'use strict'; +var toObject = require('./$.to-object') + , toIndex = require('./$.to-index') + , toLength = require('./$.to-length'); +module.exports = [].fill || function fill(value /*, start = 0, end = @length */){ + var O = toObject(this) + , length = toLength(O.length) + , $$ = arguments + , $$len = $$.length + , index = toIndex($$len > 1 ? $$[1] : undefined, length) + , end = $$len > 2 ? $$[2] : undefined + , endPos = end === undefined ? length : toIndex(end, length); + while(endPos > index)O[index++] = value; + return O; +}; +},{"./$.to-index":83,"./$.to-length":86,"./$.to-object":87}],14:[function(require,module,exports){ // false -> Array#indexOf // true -> Array#includes var toIObject = require('./$.to-iobject') @@ -926,7 +932,7 @@ module.exports = function(IS_INCLUDES){ } return !IS_INCLUDES && -1; }; }; -},{"./$.to-index":74,"./$.to-iobject":76,"./$.to-length":77}],10:[function(require,module,exports){ +},{"./$.to-index":83,"./$.to-iobject":85,"./$.to-length":86}],15:[function(require,module,exports){ // 0 -> Array#forEach // 1 -> Array#map // 2 -> Array#filter @@ -937,7 +943,8 @@ module.exports = function(IS_INCLUDES){ var ctx = require('./$.ctx') , IObject = require('./$.iobject') , toObject = require('./$.to-object') - , toLength = require('./$.to-length'); + , toLength = require('./$.to-length') + , asc = require('./$.array-species-create'); module.exports = function(TYPE){ var IS_MAP = TYPE == 1 , IS_FILTER = TYPE == 2 @@ -951,7 +958,7 @@ module.exports = function(TYPE){ , f = ctx(callbackfn, that, 3) , length = toLength(self.length) , index = 0 - , result = IS_MAP ? Array(length) : IS_FILTER ? [] : undefined + , result = IS_MAP ? asc($this, length) : IS_FILTER ? asc($this, 0) : undefined , val, res; for(;length > index; index++)if(NO_HOLES || index in self){ val = self[index]; @@ -969,28 +976,24 @@ module.exports = function(TYPE){ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; }; }; -},{"./$.ctx":19,"./$.iobject":35,"./$.to-length":77,"./$.to-object":78}],11:[function(require,module,exports){ -// 19.1.2.1 Object.assign(target, source, ...) -var toObject = require('./$.to-object') - , IObject = require('./$.iobject') - , enumKeys = require('./$.enum-keys'); -/* eslint-disable no-unused-vars */ -module.exports = Object.assign || function assign(target, source){ -/* eslint-enable no-unused-vars */ - var T = toObject(target) - , l = arguments.length - , i = 1; - while(l > i){ - var S = IObject(arguments[i++]) - , keys = enumKeys(S) - , length = keys.length - , j = 0 - , key; - while(length > j)T[key = keys[j++]] = S[key]; - } - return T; +},{"./$.array-species-create":16,"./$.ctx":24,"./$.iobject":41,"./$.to-length":86,"./$.to-object":87}],16:[function(require,module,exports){ +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var isObject = require('./$.is-object') + , isArray = require('./$.is-array') + , SPECIES = require('./$.wks')('species'); +module.exports = function(original, length){ + var C; + if(isArray(original)){ + C = original.constructor; + // cross-realm fallback + if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; + if(isObject(C)){ + C = C[SPECIES]; + if(C === null)C = undefined; + } + } return new (C === undefined ? Array : C)(length); }; -},{"./$.enum-keys":23,"./$.iobject":35,"./$.to-object":78}],12:[function(require,module,exports){ +},{"./$.is-array":43,"./$.is-object":45,"./$.wks":90}],17:[function(require,module,exports){ // getting tag from 19.1.3.6 Object.prototype.toString() var cof = require('./$.cof') , TAG = require('./$.wks')('toStringTag') @@ -1007,28 +1010,30 @@ module.exports = function(it){ // ES3 arguments fallback : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; }; -},{"./$.cof":13,"./$.wks":81}],13:[function(require,module,exports){ +},{"./$.cof":18,"./$.wks":90}],18:[function(require,module,exports){ var toString = {}.toString; module.exports = function(it){ return toString.call(it).slice(8, -1); }; -},{}],14:[function(require,module,exports){ +},{}],19:[function(require,module,exports){ 'use strict'; var $ = require('./$') , hide = require('./$.hide') + , redefineAll = require('./$.redefine-all') , ctx = require('./$.ctx') - , species = require('./$.species') , strictNew = require('./$.strict-new') , defined = require('./$.defined') , forOf = require('./$.for-of') + , $iterDefine = require('./$.iter-define') , step = require('./$.iter-step') , ID = require('./$.uid')('id') , $has = require('./$.has') , isObject = require('./$.is-object') + , setSpecies = require('./$.set-species') + , DESCRIPTORS = require('./$.descriptors') , isExtensible = Object.isExtensible || isObject - , SUPPORT_DESC = require('./$.support-desc') - , SIZE = SUPPORT_DESC ? '_s' : 'size' + , SIZE = DESCRIPTORS ? '_s' : 'size' , id = 0; var fastKey = function(it, create){ @@ -1065,7 +1070,7 @@ module.exports = { that[SIZE] = 0; // size if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); }); - require('./$.mix')(C.prototype, { + redefineAll(C.prototype, { // 23.1.3.1 Map.prototype.clear() // 23.2.3.2 Set.prototype.clear() clear: function clear(){ @@ -1097,7 +1102,7 @@ module.exports = { // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) forEach: function forEach(callbackfn /*, that = undefined */){ - var f = ctx(callbackfn, arguments[1], 3) + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3) , entry; while(entry = entry ? entry.n : this._f){ f(entry.v, entry.k, this); @@ -1111,7 +1116,7 @@ module.exports = { return !!getEntry(this, key); } }); - if(SUPPORT_DESC)$.setDesc(C.prototype, 'size', { + if(DESCRIPTORS)$.setDesc(C.prototype, 'size', { get: function(){ return defined(this[SIZE]); } @@ -1145,7 +1150,7 @@ module.exports = { setStrong: function(C, NAME, IS_MAP){ // add .keys, .values, .entries, [@@iterator] // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - require('./$.iter-define')(C, NAME, function(iterated, kind){ + $iterDefine(C, NAME, function(iterated, kind){ this._t = iterated; // target this._k = kind; // kind this._l = undefined; // previous @@ -1168,11 +1173,10 @@ module.exports = { }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); // add [@@species], 23.1.2.2, 23.2.2.2 - species(C); - species(require('./$.core')[NAME]); // for wrapper + setSpecies(NAME); } }; -},{"./$":46,"./$.core":18,"./$.ctx":19,"./$.defined":21,"./$.for-of":28,"./$.has":31,"./$.hide":32,"./$.is-object":38,"./$.iter-define":42,"./$.iter-step":44,"./$.mix":51,"./$.species":64,"./$.strict-new":65,"./$.support-desc":71,"./$.uid":79}],15:[function(require,module,exports){ +},{"./$":53,"./$.ctx":24,"./$.defined":25,"./$.descriptors":26,"./$.for-of":34,"./$.has":37,"./$.hide":38,"./$.is-object":45,"./$.iter-define":49,"./$.iter-step":51,"./$.redefine-all":67,"./$.set-species":72,"./$.strict-new":76,"./$.uid":89}],20:[function(require,module,exports){ // https://github.com/DavidBruant/Map-Set.prototype.toJSON var forOf = require('./$.for-of') , classof = require('./$.classof'); @@ -1184,20 +1188,21 @@ module.exports = function(NAME){ return arr; }; }; -},{"./$.classof":12,"./$.for-of":28}],16:[function(require,module,exports){ +},{"./$.classof":17,"./$.for-of":34}],21:[function(require,module,exports){ 'use strict'; -var hide = require('./$.hide') - , anObject = require('./$.an-object') - , strictNew = require('./$.strict-new') - , forOf = require('./$.for-of') - , method = require('./$.array-methods') - , WEAK = require('./$.uid')('weak') - , isObject = require('./$.is-object') - , $has = require('./$.has') - , isExtensible = Object.isExtensible || isObject - , find = method(5) - , findIndex = method(6) - , id = 0; +var hide = require('./$.hide') + , redefineAll = require('./$.redefine-all') + , anObject = require('./$.an-object') + , isObject = require('./$.is-object') + , strictNew = require('./$.strict-new') + , forOf = require('./$.for-of') + , createArrayMethod = require('./$.array-methods') + , $has = require('./$.has') + , WEAK = require('./$.uid')('weak') + , isExtensible = Object.isExtensible || isObject + , arrayFind = createArrayMethod(5) + , arrayFindIndex = createArrayMethod(6) + , id = 0; // fallback for frozen keys var frozenStore = function(that){ @@ -1207,7 +1212,7 @@ var FrozenStore = function(){ this.a = []; }; var findFrozen = function(store, key){ - return find(store.a, function(it){ + return arrayFind(store.a, function(it){ return it[0] === key; }); }; @@ -1225,7 +1230,7 @@ FrozenStore.prototype = { else this.a.push([key, value]); }, 'delete': function(key){ - var index = findIndex(this.a, function(it){ + var index = arrayFindIndex(this.a, function(it){ return it[0] === key; }); if(~index)this.a.splice(index, 1); @@ -1241,7 +1246,7 @@ module.exports = { that._l = undefined; // leak store for frozen objects if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that); }); - require('./$.mix')(C.prototype, { + redefineAll(C.prototype, { // 23.3.3.2 WeakMap.prototype.delete(key) // 23.4.3.3 WeakSet.prototype.delete(value) 'delete': function(key){ @@ -1270,13 +1275,18 @@ module.exports = { frozenStore: frozenStore, WEAK: WEAK }; -},{"./$.an-object":8,"./$.array-methods":10,"./$.for-of":28,"./$.has":31,"./$.hide":32,"./$.is-object":38,"./$.mix":51,"./$.strict-new":65,"./$.uid":79}],17:[function(require,module,exports){ +},{"./$.an-object":11,"./$.array-methods":15,"./$.for-of":34,"./$.has":37,"./$.hide":38,"./$.is-object":45,"./$.redefine-all":67,"./$.strict-new":76,"./$.uid":89}],22:[function(require,module,exports){ 'use strict'; -var global = require('./$.global') - , $def = require('./$.def') - , BUGGY = require('./$.iter-buggy') - , forOf = require('./$.for-of') - , strictNew = require('./$.strict-new'); +var global = require('./$.global') + , $export = require('./$.export') + , redefine = require('./$.redefine') + , redefineAll = require('./$.redefine-all') + , forOf = require('./$.for-of') + , strictNew = require('./$.strict-new') + , isObject = require('./$.is-object') + , fails = require('./$.fails') + , $iterDetect = require('./$.iter-detect') + , setToStringTag = require('./$.set-to-string-tag'); module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ var Base = global[NAME] @@ -1286,24 +1296,34 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ , O = {}; var fixMethod = function(KEY){ var fn = proto[KEY]; - require('./$.redef')(proto, KEY, - KEY == 'delete' ? function(a){ return fn.call(this, a === 0 ? 0 : a); } - : KEY == 'has' ? function has(a){ return fn.call(this, a === 0 ? 0 : a); } - : KEY == 'get' ? function get(a){ return fn.call(this, a === 0 ? 0 : a); } - : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; } - : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; } + redefine(proto, KEY, + KEY == 'delete' ? function(a){ + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'has' ? function has(a){ + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'get' ? function get(a){ + return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; } + : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; } ); }; - if(typeof C != 'function' || !(IS_WEAK || !BUGGY && proto.forEach && proto.entries)){ + if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){ + new C().entries().next(); + }))){ // create collection constructor C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); - require('./$.mix')(C.prototype, methods); + redefineAll(C.prototype, methods); } else { - var inst = new C - , chain = inst[ADDER](IS_WEAK ? {} : -0, 1) - , buggyZero; - // wrap for init collections from iterable - if(!require('./$.iter-detect')(function(iter){ new C(iter); })){ // eslint-disable-line no-new + var instance = new C + // early implementations not supports chaining + , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); }) + // most early implementations doesn't supports iterables, most modern - not close it correctly + , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + , BUGGY_ZERO; + if(!ACCEPT_ITERABLES){ C = wrapper(function(target, iterable){ strictNew(target, C, NAME); var that = new Base; @@ -1313,34 +1333,32 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ C.prototype = proto; proto.constructor = C; } - IS_WEAK || inst.forEach(function(val, key){ - buggyZero = 1 / key === -Infinity; + IS_WEAK || instance.forEach(function(val, key){ + BUGGY_ZERO = 1 / key === -Infinity; }); - // fix converting -0 key to +0 - if(buggyZero){ + if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){ fixMethod('delete'); fixMethod('has'); IS_MAP && fixMethod('get'); } - // + fix .add & .set for chaining - if(buggyZero || chain !== inst)fixMethod(ADDER); + if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER); // weak collections should not contains .clear method if(IS_WEAK && proto.clear)delete proto.clear; } - require('./$.tag')(C, NAME); + setToStringTag(C, NAME); O[NAME] = C; - $def($def.G + $def.W + $def.F * (C != Base), O); + $export($export.G + $export.W + $export.F * (C != Base), O); if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP); return C; }; -},{"./$.def":20,"./$.for-of":28,"./$.global":30,"./$.iter-buggy":39,"./$.iter-detect":43,"./$.mix":51,"./$.redef":58,"./$.strict-new":65,"./$.tag":72}],18:[function(require,module,exports){ -var core = module.exports = {}; +},{"./$.export":29,"./$.fails":31,"./$.for-of":34,"./$.global":36,"./$.is-object":45,"./$.iter-detect":50,"./$.redefine":68,"./$.redefine-all":67,"./$.set-to-string-tag":73,"./$.strict-new":76}],23:[function(require,module,exports){ +var core = module.exports = {version: '1.2.6'}; if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef -},{}],19:[function(require,module,exports){ +},{}],24:[function(require,module,exports){ // optional / simple context binding var aFunction = require('./$.a-function'); module.exports = function(fn, that, length){ @@ -1356,60 +1374,23 @@ module.exports = function(fn, that, length){ case 3: return function(a, b, c){ return fn.call(that, a, b, c); }; - } return function(/* ...args */){ - return fn.apply(that, arguments); - }; -}; -},{"./$.a-function":7}],20:[function(require,module,exports){ -var global = require('./$.global') - , core = require('./$.core') - , hide = require('./$.hide') - , $redef = require('./$.redef') - , PROTOTYPE = 'prototype'; -var ctx = function(fn, that){ - return function(){ + } + return function(/* ...args */){ return fn.apply(that, arguments); }; }; -var $def = function(type, name, source){ - var key, own, out, exp - , isGlobal = type & $def.G - , isProto = type & $def.P - , target = isGlobal ? global : type & $def.S - ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] - , exports = isGlobal ? core : core[name] || (core[name] = {}); - if(isGlobal)source = name; - for(key in source){ - // contains in native - own = !(type & $def.F) && target && key in target; - // export native or passed - out = (own ? target : source)[key]; - // bind timers to global for call from export context - if(type & $def.B && own)exp = ctx(out, global); - else exp = isProto && typeof out == 'function' ? ctx(Function.call, out) : out; - // extend global - if(target && !own)$redef(target, key, out); - // export - if(exports[key] != out)hide(exports, key, exp); - if(isProto)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out; - } -}; -global.core = core; -// type bitmap -$def.F = 1; // forced -$def.G = 2; // global -$def.S = 4; // static -$def.P = 8; // proto -$def.B = 16; // bind -$def.W = 32; // wrap -module.exports = $def; -},{"./$.core":18,"./$.global":30,"./$.hide":32,"./$.redef":58}],21:[function(require,module,exports){ +},{"./$.a-function":9}],25:[function(require,module,exports){ // 7.2.1 RequireObjectCoercible(argument) module.exports = function(it){ if(it == undefined)throw TypeError("Can't call method on " + it); return it; }; -},{}],22:[function(require,module,exports){ +},{}],26:[function(require,module,exports){ +// Thank's IE8 for his funny defineProperty +module.exports = !require('./$.fails')(function(){ + return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; +}); +},{"./$.fails":31}],27:[function(require,module,exports){ var isObject = require('./$.is-object') , document = require('./$.global').document // in old IE typeof document.createElement is 'object' @@ -1417,7 +1398,7 @@ var isObject = require('./$.is-object') module.exports = function(it){ return is ? document.createElement(it) : {}; }; -},{"./$.global":30,"./$.is-object":38}],23:[function(require,module,exports){ +},{"./$.global":36,"./$.is-object":45}],28:[function(require,module,exports){ // all enumerable object keys, includes symbols var $ = require('./$'); module.exports = function(it){ @@ -1432,12 +1413,62 @@ module.exports = function(it){ } return keys; }; -},{"./$":46}],24:[function(require,module,exports){ -// 20.2.2.14 Math.expm1(x) -module.exports = Math.expm1 || function expm1(x){ - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; +},{"./$":53}],29:[function(require,module,exports){ +var global = require('./$.global') + , core = require('./$.core') + , hide = require('./$.hide') + , redefine = require('./$.redefine') + , ctx = require('./$.ctx') + , PROTOTYPE = 'prototype'; + +var $export = function(type, name, source){ + var IS_FORCED = type & $export.F + , IS_GLOBAL = type & $export.G + , IS_STATIC = type & $export.S + , IS_PROTO = type & $export.P + , IS_BIND = type & $export.B + , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] + , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) + , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}) + , key, own, out, exp; + if(IS_GLOBAL)source = name; + for(key in source){ + // contains in native + own = !IS_FORCED && target && key in target; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if(target && !own)redefine(target, key, out); + // export + if(exports[key] != out)hide(exports, key, exp); + if(IS_PROTO && expProto[key] != out)expProto[key] = out; + } }; -},{}],25:[function(require,module,exports){ +global.core = core; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +module.exports = $export; +},{"./$.core":23,"./$.ctx":24,"./$.global":36,"./$.hide":38,"./$.redefine":68}],30:[function(require,module,exports){ +var MATCH = require('./$.wks')('match'); +module.exports = function(KEY){ + var re = /./; + try { + '/./'[KEY](re); + } catch(e){ + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch(f){ /* empty */ } + } return true; +}; +},{"./$.wks":90}],31:[function(require,module,exports){ module.exports = function(exec){ try { return !!exec(); @@ -1445,19 +1476,24 @@ module.exports = function(exec){ return true; } }; -},{}],26:[function(require,module,exports){ +},{}],32:[function(require,module,exports){ 'use strict'; +var hide = require('./$.hide') + , redefine = require('./$.redefine') + , fails = require('./$.fails') + , defined = require('./$.defined') + , wks = require('./$.wks'); + module.exports = function(KEY, length, exec){ - var defined = require('./$.defined') - , SYMBOL = require('./$.wks')(KEY) + var SYMBOL = wks(KEY) , original = ''[KEY]; - if(require('./$.fails')(function(){ + if(fails(function(){ var O = {}; O[SYMBOL] = function(){ return 7; }; return ''[KEY](O) != 7; })){ - require('./$.redef')(String.prototype, KEY, exec(defined, SYMBOL, original)); - require('./$.hide')(RegExp.prototype, SYMBOL, length == 2 + redefine(String.prototype, KEY, exec(defined, SYMBOL, original)); + hide(RegExp.prototype, SYMBOL, length == 2 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) // 21.2.5.11 RegExp.prototype[@@split](string, limit) ? function(string, arg){ return original.call(string, this, arg); } @@ -1467,21 +1503,21 @@ module.exports = function(KEY, length, exec){ ); } }; -},{"./$.defined":21,"./$.fails":25,"./$.hide":32,"./$.redef":58,"./$.wks":81}],27:[function(require,module,exports){ +},{"./$.defined":25,"./$.fails":31,"./$.hide":38,"./$.redefine":68,"./$.wks":90}],33:[function(require,module,exports){ 'use strict'; // 21.2.5.3 get RegExp.prototype.flags var anObject = require('./$.an-object'); module.exports = function(){ var that = anObject(this) , result = ''; - if(that.global)result += 'g'; - if(that.ignoreCase)result += 'i'; - if(that.multiline)result += 'm'; - if(that.unicode)result += 'u'; - if(that.sticky)result += 'y'; + if(that.global) result += 'g'; + if(that.ignoreCase) result += 'i'; + if(that.multiline) result += 'm'; + if(that.unicode) result += 'u'; + if(that.sticky) result += 'y'; return result; }; -},{"./$.an-object":8}],28:[function(require,module,exports){ +},{"./$.an-object":11}],34:[function(require,module,exports){ var ctx = require('./$.ctx') , call = require('./$.iter-call') , isArrayIter = require('./$.is-array-iter') @@ -1501,11 +1537,11 @@ module.exports = function(iterable, entries, fn, that){ call(iterator, f, step.value, entries); } }; -},{"./$.an-object":8,"./$.ctx":19,"./$.is-array-iter":36,"./$.iter-call":40,"./$.to-length":77,"./core.get-iterator-method":82}],29:[function(require,module,exports){ +},{"./$.an-object":11,"./$.ctx":24,"./$.is-array-iter":42,"./$.iter-call":47,"./$.to-length":86,"./core.get-iterator-method":91}],35:[function(require,module,exports){ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window -var toString = {}.toString - , toIObject = require('./$.to-iobject') - , getNames = require('./$').getNames; +var toIObject = require('./$.to-iobject') + , getNames = require('./$').getNames + , toString = {}.toString; var windowNames = typeof window == 'object' && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; @@ -1522,27 +1558,28 @@ module.exports.get = function getOwnPropertyNames(it){ if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it); return getNames(toIObject(it)); }; -},{"./$":46,"./$.to-iobject":76}],30:[function(require,module,exports){ -var global = typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); -module.exports = global; +},{"./$":53,"./$.to-iobject":85}],36:[function(require,module,exports){ +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef -},{}],31:[function(require,module,exports){ +},{}],37:[function(require,module,exports){ var hasOwnProperty = {}.hasOwnProperty; module.exports = function(it, key){ return hasOwnProperty.call(it, key); }; -},{}],32:[function(require,module,exports){ +},{}],38:[function(require,module,exports){ var $ = require('./$') , createDesc = require('./$.property-desc'); -module.exports = require('./$.support-desc') ? function(object, key, value){ +module.exports = require('./$.descriptors') ? function(object, key, value){ return $.setDesc(object, key, createDesc(1, value)); } : function(object, key, value){ object[key] = value; return object; }; -},{"./$":46,"./$.property-desc":57,"./$.support-desc":71}],33:[function(require,module,exports){ +},{"./$":53,"./$.descriptors":26,"./$.property-desc":66}],39:[function(require,module,exports){ module.exports = require('./$.global').document && document.documentElement; -},{"./$.global":30}],34:[function(require,module,exports){ +},{"./$.global":36}],40:[function(require,module,exports){ // fast apply, http://jsperf.lnkit.com/fast-apply/5 module.exports = function(fn, args, that){ var un = that === undefined; @@ -1559,35 +1596,48 @@ module.exports = function(fn, args, that){ : fn.call(that, args[0], args[1], args[2], args[3]); } return fn.apply(that, args); }; -},{}],35:[function(require,module,exports){ -// indexed object, fallback for non-array-like ES3 strings +},{}],41:[function(require,module,exports){ +// fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = require('./$.cof'); -module.exports = 0 in Object('z') ? Object : function(it){ +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ return cof(it) == 'String' ? it.split('') : Object(it); }; -},{"./$.cof":13}],36:[function(require,module,exports){ +},{"./$.cof":18}],42:[function(require,module,exports){ // check on default Array iterator -var Iterators = require('./$.iterators') - , ITERATOR = require('./$.wks')('iterator'); +var Iterators = require('./$.iterators') + , ITERATOR = require('./$.wks')('iterator') + , ArrayProto = Array.prototype; + module.exports = function(it){ - return (Iterators.Array || Array.prototype[ITERATOR]) === it; + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); }; -},{"./$.iterators":45,"./$.wks":81}],37:[function(require,module,exports){ +},{"./$.iterators":52,"./$.wks":90}],43:[function(require,module,exports){ +// 7.2.2 IsArray(argument) +var cof = require('./$.cof'); +module.exports = Array.isArray || function(arg){ + return cof(arg) == 'Array'; +}; +},{"./$.cof":18}],44:[function(require,module,exports){ // 20.1.2.3 Number.isInteger(number) var isObject = require('./$.is-object') , floor = Math.floor; module.exports = function isInteger(it){ return !isObject(it) && isFinite(it) && floor(it) === it; }; -},{"./$.is-object":38}],38:[function(require,module,exports){ -// http://jsperf.com/core-js-isobject +},{"./$.is-object":45}],45:[function(require,module,exports){ module.exports = function(it){ - return it !== null && (typeof it == 'object' || typeof it == 'function'); + return typeof it === 'object' ? it !== null : typeof it === 'function'; }; -},{}],39:[function(require,module,exports){ -// Safari has buggy iterators w/o `next` -module.exports = 'keys' in [] && !('next' in [].keys()); -},{}],40:[function(require,module,exports){ +},{}],46:[function(require,module,exports){ +// 7.2.8 IsRegExp(argument) +var isObject = require('./$.is-object') + , cof = require('./$.cof') + , MATCH = require('./$.wks')('match'); +module.exports = function(it){ + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); +}; +},{"./$.cof":18,"./$.is-object":45,"./$.wks":90}],47:[function(require,module,exports){ // call something on iterator step with safe closing on error var anObject = require('./$.an-object'); module.exports = function(iterator, fn, value, entries){ @@ -1600,95 +1650,116 @@ module.exports = function(iterator, fn, value, entries){ throw e; } }; -},{"./$.an-object":8}],41:[function(require,module,exports){ +},{"./$.an-object":11}],48:[function(require,module,exports){ 'use strict'; -var $ = require('./$') +var $ = require('./$') + , descriptor = require('./$.property-desc') + , setToStringTag = require('./$.set-to-string-tag') , IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() require('./$.hide')(IteratorPrototype, require('./$.wks')('iterator'), function(){ return this; }); module.exports = function(Constructor, NAME, next){ - Constructor.prototype = $.create(IteratorPrototype, {next: require('./$.property-desc')(1,next)}); - require('./$.tag')(Constructor, NAME + ' Iterator'); + Constructor.prototype = $.create(IteratorPrototype, {next: descriptor(1, next)}); + setToStringTag(Constructor, NAME + ' Iterator'); }; -},{"./$":46,"./$.hide":32,"./$.property-desc":57,"./$.tag":72,"./$.wks":81}],42:[function(require,module,exports){ +},{"./$":53,"./$.hide":38,"./$.property-desc":66,"./$.set-to-string-tag":73,"./$.wks":90}],49:[function(require,module,exports){ 'use strict'; -var LIBRARY = require('./$.library') - , $def = require('./$.def') - , $redef = require('./$.redef') - , hide = require('./$.hide') - , has = require('./$.has') - , SYMBOL_ITERATOR = require('./$.wks')('iterator') - , Iterators = require('./$.iterators') - , FF_ITERATOR = '@@iterator' - , KEYS = 'keys' - , VALUES = 'values'; +var LIBRARY = require('./$.library') + , $export = require('./$.export') + , redefine = require('./$.redefine') + , hide = require('./$.hide') + , has = require('./$.has') + , Iterators = require('./$.iterators') + , $iterCreate = require('./$.iter-create') + , setToStringTag = require('./$.set-to-string-tag') + , getProto = require('./$').getProto + , ITERATOR = require('./$.wks')('iterator') + , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` + , FF_ITERATOR = '@@iterator' + , KEYS = 'keys' + , VALUES = 'values'; + var returnThis = function(){ return this; }; -module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE){ - require('./$.iter-create')(Constructor, NAME, next); - var createMethod = function(kind){ + +module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){ + $iterCreate(Constructor, NAME, next); + var getMethod = function(kind){ + if(!BUGGY && kind in proto)return proto[kind]; switch(kind){ case KEYS: return function keys(){ return new Constructor(this, kind); }; case VALUES: return function values(){ return new Constructor(this, kind); }; } return function entries(){ return new Constructor(this, kind); }; }; - var TAG = NAME + ' Iterator' - , proto = Base.prototype - , _native = proto[SYMBOL_ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] - , _default = _native || createMethod(DEFAULT) + var TAG = NAME + ' Iterator' + , DEF_VALUES = DEFAULT == VALUES + , VALUES_BUG = false + , proto = Base.prototype + , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT] + , $default = $native || getMethod(DEFAULT) , methods, key; // Fix native - if(_native){ - var IteratorPrototype = require('./$').getProto(_default.call(new Base)); + if($native){ + var IteratorPrototype = getProto($default.call(new Base)); // Set @@toStringTag to native iterators - require('./$.tag')(IteratorPrototype, TAG, true); + setToStringTag(IteratorPrototype, TAG, true); // FF fix - if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, SYMBOL_ITERATOR, returnThis); + if(!LIBRARY && has(proto, FF_ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis); + // fix Array#{values, @@iterator}.name in V8 / FF + if(DEF_VALUES && $native.name !== VALUES){ + VALUES_BUG = true; + $default = function values(){ return $native.call(this); }; + } } // Define iterator - if(!LIBRARY || FORCE)hide(proto, SYMBOL_ITERATOR, _default); + if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){ + hide(proto, ITERATOR, $default); + } // Plug for library - Iterators[NAME] = _default; + Iterators[NAME] = $default; Iterators[TAG] = returnThis; if(DEFAULT){ methods = { - keys: IS_SET ? _default : createMethod(KEYS), - values: DEFAULT == VALUES ? _default : createMethod(VALUES), - entries: DEFAULT != VALUES ? _default : createMethod('entries') + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: !DEF_VALUES ? $default : getMethod('entries') }; - if(FORCE)for(key in methods){ - if(!(key in proto))$redef(proto, key, methods[key]); - } else $def($def.P + $def.F * require('./$.iter-buggy'), NAME, methods); + if(FORCED)for(key in methods){ + if(!(key in proto))redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); } + return methods; }; -},{"./$":46,"./$.def":20,"./$.has":31,"./$.hide":32,"./$.iter-buggy":39,"./$.iter-create":41,"./$.iterators":45,"./$.library":48,"./$.redef":58,"./$.tag":72,"./$.wks":81}],43:[function(require,module,exports){ -var SYMBOL_ITERATOR = require('./$.wks')('iterator') - , SAFE_CLOSING = false; +},{"./$":53,"./$.export":29,"./$.has":37,"./$.hide":38,"./$.iter-create":48,"./$.iterators":52,"./$.library":55,"./$.redefine":68,"./$.set-to-string-tag":73,"./$.wks":90}],50:[function(require,module,exports){ +var ITERATOR = require('./$.wks')('iterator') + , SAFE_CLOSING = false; + try { - var riter = [7][SYMBOL_ITERATOR](); + var riter = [7][ITERATOR](); riter['return'] = function(){ SAFE_CLOSING = true; }; Array.from(riter, function(){ throw 2; }); } catch(e){ /* empty */ } -module.exports = function(exec){ - if(!SAFE_CLOSING)return false; + +module.exports = function(exec, skipClosing){ + if(!skipClosing && !SAFE_CLOSING)return false; var safe = false; try { var arr = [7] - , iter = arr[SYMBOL_ITERATOR](); - iter.next = function(){ safe = true; }; - arr[SYMBOL_ITERATOR] = function(){ return iter; }; + , iter = arr[ITERATOR](); + iter.next = function(){ return {done: safe = true}; }; + arr[ITERATOR] = function(){ return iter; }; exec(arr); } catch(e){ /* empty */ } return safe; }; -},{"./$.wks":81}],44:[function(require,module,exports){ +},{"./$.wks":90}],51:[function(require,module,exports){ module.exports = function(done, value){ return {value: value, done: !!done}; }; -},{}],45:[function(require,module,exports){ +},{}],52:[function(require,module,exports){ module.exports = {}; -},{}],46:[function(require,module,exports){ +},{}],53:[function(require,module,exports){ var $Object = Object; module.exports = { create: $Object.create, @@ -1702,7 +1773,7 @@ module.exports = { getSymbols: $Object.getOwnPropertySymbols, each: [].forEach }; -},{}],47:[function(require,module,exports){ +},{}],54:[function(require,module,exports){ var $ = require('./$') , toIObject = require('./$.to-iobject'); module.exports = function(object, el){ @@ -1713,102 +1784,161 @@ module.exports = function(object, el){ , key; while(length > index)if(O[key = keys[index++]] === el)return key; }; -},{"./$":46,"./$.to-iobject":76}],48:[function(require,module,exports){ +},{"./$":53,"./$.to-iobject":85}],55:[function(require,module,exports){ module.exports = false; -},{}],49:[function(require,module,exports){ -// 20.2.2.20 Math.log1p(x) -module.exports = Math.log1p || function log1p(x){ - return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); +},{}],56:[function(require,module,exports){ +// 20.2.2.14 Math.expm1(x) +module.exports = Math.expm1 || function expm1(x){ + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; }; -},{}],50:[function(require,module,exports){ -var global = require('./$.global') - , macrotask = require('./$.task').set - , Observer = global.MutationObserver || global.WebKitMutationObserver - , process = global.process - , head, last, notify; - -function flush(){ - while(head){ - head.fn.call(); // <- currently we use it only for Promise - try / catch not required - head = head.next; - } last = undefined; -} - -// Node.js -if(require('./$.cof')(process) == 'process'){ - notify = function(){ - process.nextTick(flush); - }; -// browsers with MutationObserver -} else if(Observer){ - var toggle = 1 - , node = document.createTextNode(''); - new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new - notify = function(){ - node.data = toggle = -toggle; - }; -// for other environments - macrotask based on: -// - setImmediate -// - MessageChannel -// - window.postMessag -// - onreadystatechange -// - setTimeout -} else { - notify = function(){ - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; -} - -module.exports = function asap(fn){ - var task = {fn: fn, next: undefined}; - if(last)last.next = task; - if(!head){ - head = task; - notify(); - } last = task; +},{}],57:[function(require,module,exports){ +// 20.2.2.20 Math.log1p(x) +module.exports = Math.log1p || function log1p(x){ + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); }; -},{"./$.cof":13,"./$.global":30,"./$.task":73}],51:[function(require,module,exports){ -var $redef = require('./$.redef'); -module.exports = function(target, src){ - for(var key in src)$redef(target, key, src[key]); - return target; +},{}],58:[function(require,module,exports){ +// 20.2.2.28 Math.sign(x) +module.exports = Math.sign || function sign(x){ + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; }; -},{"./$.redef":58}],52:[function(require,module,exports){ +},{}],59:[function(require,module,exports){ +var global = require('./$.global') + , macrotask = require('./$.task').set + , Observer = global.MutationObserver || global.WebKitMutationObserver + , process = global.process + , Promise = global.Promise + , isNode = require('./$.cof')(process) == 'process' + , head, last, notify; + +var flush = function(){ + var parent, domain, fn; + if(isNode && (parent = process.domain)){ + process.domain = null; + parent.exit(); + } + while(head){ + domain = head.domain; + fn = head.fn; + if(domain)domain.enter(); + fn(); // <- currently we use it only for Promise - try / catch not required + if(domain)domain.exit(); + head = head.next; + } last = undefined; + if(parent)parent.enter(); +}; + +// Node.js +if(isNode){ + notify = function(){ + process.nextTick(flush); + }; +// browsers with MutationObserver +} else if(Observer){ + var toggle = 1 + , node = document.createTextNode(''); + new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new + notify = function(){ + node.data = toggle = -toggle; + }; +// environments with maybe non-completely correct, but existent Promise +} else if(Promise && Promise.resolve){ + notify = function(){ + Promise.resolve().then(flush); + }; +// for other environments - macrotask based on: +// - setImmediate +// - MessageChannel +// - window.postMessag +// - onreadystatechange +// - setTimeout +} else { + notify = function(){ + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; +} + +module.exports = function asap(fn){ + var task = {fn: fn, next: undefined, domain: isNode && process.domain}; + if(last)last.next = task; + if(!head){ + head = task; + notify(); + } last = task; +}; +},{"./$.cof":18,"./$.global":36,"./$.task":82}],60:[function(require,module,exports){ +// 19.1.2.1 Object.assign(target, source, ...) +var $ = require('./$') + , toObject = require('./$.to-object') + , IObject = require('./$.iobject'); + +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = require('./$.fails')(function(){ + var a = Object.assign + , A = {} + , B = {} + , S = Symbol() + , K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function(k){ B[k] = k; }); + return a({}, A)[S] != 7 || Object.keys(a({}, B)).join('') != K; +}) ? function assign(target, source){ // eslint-disable-line no-unused-vars + var T = toObject(target) + , $$ = arguments + , $$len = $$.length + , index = 1 + , getKeys = $.getKeys + , getSymbols = $.getSymbols + , isEnum = $.isEnum; + while($$len > index){ + var S = IObject($$[index++]) + , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S) + , length = keys.length + , j = 0 + , key; + while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key]; + } + return T; +} : Object.assign; +},{"./$":53,"./$.fails":31,"./$.iobject":41,"./$.to-object":87}],61:[function(require,module,exports){ // most Object methods by ES6 should accept primitives +var $export = require('./$.export') + , core = require('./$.core') + , fails = require('./$.fails'); module.exports = function(KEY, exec){ - var $def = require('./$.def') - , fn = (require('./$.core').Object || {})[KEY] || Object[KEY] - , exp = {}; + var fn = (core.Object || {})[KEY] || Object[KEY] + , exp = {}; exp[KEY] = exec(fn); - $def($def.S + $def.F * require('./$.fails')(function(){ fn(1); }), 'Object', exp); + $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); }; -},{"./$.core":18,"./$.def":20,"./$.fails":25}],53:[function(require,module,exports){ +},{"./$.core":23,"./$.export":29,"./$.fails":31}],62:[function(require,module,exports){ var $ = require('./$') - , toIObject = require('./$.to-iobject'); + , toIObject = require('./$.to-iobject') + , isEnum = $.isEnum; module.exports = function(isEntries){ return function(it){ var O = toIObject(it) , keys = $.getKeys(O) , length = keys.length , i = 0 - , result = Array(length) + , result = [] , key; - if(isEntries)while(length > i)result[i] = [key = keys[i++], O[key]]; - else while(length > i)result[i] = O[keys[i++]]; - return result; + while(length > i)if(isEnum.call(O, key = keys[i++])){ + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; }; }; -},{"./$":46,"./$.to-iobject":76}],54:[function(require,module,exports){ +},{"./$":53,"./$.to-iobject":85}],63:[function(require,module,exports){ // all object keys, includes non-enumerable and symbols var $ = require('./$') - , anObject = require('./$.an-object'); -module.exports = function ownKeys(it){ + , anObject = require('./$.an-object') + , Reflect = require('./$.global').Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ var keys = $.getNames(anObject(it)) , getSymbols = $.getSymbols; return getSymbols ? keys.concat(getSymbols(it)) : keys; }; -},{"./$":46,"./$.an-object":8}],55:[function(require,module,exports){ +},{"./$":53,"./$.an-object":11,"./$.global":36}],64:[function(require,module,exports){ 'use strict'; var path = require('./$.path') , invoke = require('./$.invoke') @@ -1822,19 +1952,20 @@ module.exports = function(/* ...pargs */){ , holder = false; while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true; return function(/* ...args */){ - var that = this - , _length = arguments.length + var that = this + , $$ = arguments + , $$len = $$.length , j = 0, k = 0, args; - if(!holder && !_length)return invoke(fn, pargs, that); + if(!holder && !$$len)return invoke(fn, pargs, that); args = pargs.slice(); - if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++]; - while(_length > k)args.push(arguments[k++]); + if(holder)for(;length > j; j++)if(args[j] === _)args[j] = $$[k++]; + while($$len > k)args.push($$[k++]); return invoke(fn, args, that); }; }; -},{"./$.a-function":7,"./$.invoke":34,"./$.path":56}],56:[function(require,module,exports){ +},{"./$.a-function":9,"./$.invoke":40,"./$.path":65}],65:[function(require,module,exports){ module.exports = require('./$.global'); -},{"./$.global":30}],57:[function(require,module,exports){ +},{"./$.global":36}],66:[function(require,module,exports){ module.exports = function(bitmap, value){ return { enumerable : !(bitmap & 1), @@ -1843,7 +1974,13 @@ module.exports = function(bitmap, value){ value : value }; }; -},{}],58:[function(require,module,exports){ +},{}],67:[function(require,module,exports){ +var redefine = require('./$.redefine'); +module.exports = function(target, src){ + for(var key in src)redefine(target, key, src[key]); + return target; +}; +},{"./$.redefine":68}],68:[function(require,module,exports){ // add fake Function#toString // for correct work wrapped methods / constructors with methods like LoDash isNative var global = require('./$.global') @@ -1859,8 +1996,8 @@ require('./$.core').inspectSource = function(it){ (module.exports = function(O, key, val, safe){ if(typeof val == 'function'){ - hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if(!('name' in val))val.name = key; + val.hasOwnProperty(SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + val.hasOwnProperty('name') || hide(val, 'name', key); } if(O === global){ O[key] = val; @@ -1871,7 +2008,7 @@ require('./$.core').inspectSource = function(it){ })(Function.prototype, TO_STRING, function toString(){ return typeof this == 'function' && this[SRC] || $toString.call(this); }); -},{"./$.core":18,"./$.global":30,"./$.hide":32,"./$.uid":79}],59:[function(require,module,exports){ +},{"./$.core":23,"./$.global":36,"./$.hide":38,"./$.uid":89}],69:[function(require,module,exports){ module.exports = function(regExp, replace){ var replacer = replace === Object(replace) ? function(part){ return replace[part]; @@ -1880,11 +2017,12 @@ module.exports = function(regExp, replace){ return String(it).replace(regExp, replacer); }; }; -},{}],60:[function(require,module,exports){ +},{}],70:[function(require,module,exports){ +// 7.2.9 SameValue(x, y) module.exports = Object.is || function is(x, y){ return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; }; -},{}],61:[function(require,module,exports){ +},{}],71:[function(require,module,exports){ // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ var getDesc = require('./$').getDesc @@ -1895,54 +2033,70 @@ var check = function(O, proto){ if(!isObject(proto) && proto !== null)throw TypeError(proto + ": can't set as prototype!"); }; module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} // eslint-disable-line - ? function(buggy, set){ - try { - set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2); - set({}, []); - } catch(e){ buggy = true; } - return function setPrototypeOf(O, proto){ - check(O, proto); - if(buggy)O.__proto__ = proto; - else set(O, proto); - return O; - }; - }() - : undefined), + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function(test, buggy, set){ + try { + set = require('./$.ctx')(Function.call, getDesc(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch(e){ buggy = true; } + return function setPrototypeOf(O, proto){ + check(O, proto); + if(buggy)O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), check: check }; -},{"./$":46,"./$.an-object":8,"./$.ctx":19,"./$.is-object":38}],62:[function(require,module,exports){ +},{"./$":53,"./$.an-object":11,"./$.ctx":24,"./$.is-object":45}],72:[function(require,module,exports){ +'use strict'; +var global = require('./$.global') + , $ = require('./$') + , DESCRIPTORS = require('./$.descriptors') + , SPECIES = require('./$.wks')('species'); + +module.exports = function(KEY){ + var C = global[KEY]; + if(DESCRIPTORS && C && !C[SPECIES])$.setDesc(C, SPECIES, { + configurable: true, + get: function(){ return this; } + }); +}; +},{"./$":53,"./$.descriptors":26,"./$.global":36,"./$.wks":90}],73:[function(require,module,exports){ +var def = require('./$').setDesc + , has = require('./$.has') + , TAG = require('./$.wks')('toStringTag'); + +module.exports = function(it, tag, stat){ + if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); +}; +},{"./$":53,"./$.has":37,"./$.wks":90}],74:[function(require,module,exports){ var global = require('./$.global') , SHARED = '__core-js_shared__' , store = global[SHARED] || (global[SHARED] = {}); module.exports = function(key){ return store[key] || (store[key] = {}); }; -},{"./$.global":30}],63:[function(require,module,exports){ -// 20.2.2.28 Math.sign(x) -module.exports = Math.sign || function sign(x){ - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +},{"./$.global":36}],75:[function(require,module,exports){ +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = require('./$.an-object') + , aFunction = require('./$.a-function') + , SPECIES = require('./$.wks')('species'); +module.exports = function(O, D){ + var C = anObject(O).constructor, S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); }; -},{}],64:[function(require,module,exports){ -'use strict'; -var $ = require('./$') - , SPECIES = require('./$.wks')('species'); -module.exports = function(C){ - if(require('./$.support-desc') && !(SPECIES in C))$.setDesc(C, SPECIES, { - configurable: true, - get: function(){ return this; } - }); -}; -},{"./$":46,"./$.support-desc":71,"./$.wks":81}],65:[function(require,module,exports){ +},{"./$.a-function":9,"./$.an-object":11,"./$.wks":90}],76:[function(require,module,exports){ module.exports = function(it, Constructor, name){ if(!(it instanceof Constructor))throw TypeError(name + ": use the 'new' operator!"); return it; }; -},{}],66:[function(require,module,exports){ -// true -> String#at -// false -> String#codePointAt +},{}],77:[function(require,module,exports){ var toInteger = require('./$.to-integer') , defined = require('./$.defined'); +// true -> String#at +// false -> String#codePointAt module.exports = function(TO_STRING){ return function(that, pos){ var s = String(defined(that)) @@ -1951,22 +2105,21 @@ module.exports = function(TO_STRING){ , a, b; if(i < 0 || i >= l)return TO_STRING ? '' : undefined; a = s.charCodeAt(i); - return a < 0xd800 || a > 0xdbff || i + 1 === l - || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff - ? TO_STRING ? s.charAt(i) : a - : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; }; -},{"./$.defined":21,"./$.to-integer":75}],67:[function(require,module,exports){ +},{"./$.defined":25,"./$.to-integer":84}],78:[function(require,module,exports){ // helper for String#{startsWith, endsWith, includes} -var defined = require('./$.defined') - , cof = require('./$.cof'); +var isRegExp = require('./$.is-regexp') + , defined = require('./$.defined'); module.exports = function(that, searchString, NAME){ - if(cof(searchString) == 'RegExp')throw TypeError('String#' + NAME + " doesn't accept regex!"); + if(isRegExp(searchString))throw TypeError('String#' + NAME + " doesn't accept regex!"); return String(defined(that)); }; -},{"./$.cof":13,"./$.defined":21}],68:[function(require,module,exports){ +},{"./$.defined":25,"./$.is-regexp":46}],79:[function(require,module,exports){ // https://github.com/ljharb/proposal-string-pad-left-right var toLength = require('./$.to-length') , repeat = require('./$.string-repeat') @@ -1981,12 +2134,10 @@ module.exports = function(that, maxLength, fillString, left){ if(fillStr == '')fillStr = ' '; var fillLen = intMaxLength - stringLength , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); - if(stringFiller.length > fillLen)stringFiller = left - ? stringFiller.slice(stringFiller.length - fillLen) - : stringFiller.slice(0, fillLen); + if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen); return left ? stringFiller + S : S + stringFiller; }; -},{"./$.defined":21,"./$.string-repeat":69,"./$.to-length":77}],69:[function(require,module,exports){ +},{"./$.defined":25,"./$.string-repeat":80,"./$.to-length":86}],80:[function(require,module,exports){ 'use strict'; var toInteger = require('./$.to-integer') , defined = require('./$.defined'); @@ -1999,19 +2150,10 @@ module.exports = function repeat(count){ for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str; return res; }; -},{"./$.defined":21,"./$.to-integer":75}],70:[function(require,module,exports){ -// 1 -> String#trimLeft -// 2 -> String#trimRight -// 3 -> String#trim -var trim = function(string, TYPE){ - string = String(defined(string)); - if(TYPE & 1)string = string.replace(ltrim, ''); - if(TYPE & 2)string = string.replace(rtrim, ''); - return string; -}; - -var $def = require('./$.def') +},{"./$.defined":25,"./$.to-integer":84}],81:[function(require,module,exports){ +var $export = require('./$.export') , defined = require('./$.defined') + , fails = require('./$.fails') , spaces = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF' , space = '[' + spaces + ']' @@ -2019,28 +2161,26 @@ var $def = require('./$.def') , ltrim = RegExp('^' + space + space + '*') , rtrim = RegExp(space + space + '*$'); -module.exports = function(KEY, exec){ +var exporter = function(KEY, exec){ var exp = {}; exp[KEY] = exec(trim); - $def($def.P + $def.F * require('./$.fails')(function(){ + $export($export.P + $export.F * fails(function(){ return !!spaces[KEY]() || non[KEY]() != non; }), 'String', exp); }; -},{"./$.def":20,"./$.defined":21,"./$.fails":25}],71:[function(require,module,exports){ -// Thank's IE8 for his funny defineProperty -module.exports = !require('./$.fails')(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; -}); -},{"./$.fails":25}],72:[function(require,module,exports){ -var has = require('./$.has') - , hide = require('./$.hide') - , TAG = require('./$.wks')('toStringTag'); -module.exports = function(it, tag, stat){ - if(it && !has(it = stat ? it : it.prototype, TAG))hide(it, TAG, tag); +// 1 -> String#trimLeft +// 2 -> String#trimRight +// 3 -> String#trim +var trim = exporter.trim = function(string, TYPE){ + string = String(defined(string)); + if(TYPE & 1)string = string.replace(ltrim, ''); + if(TYPE & 2)string = string.replace(rtrim, ''); + return string; }; -},{"./$.has":31,"./$.hide":32,"./$.wks":81}],73:[function(require,module,exports){ -'use strict'; + +module.exports = exporter; +},{"./$.defined":25,"./$.export":29,"./$.fails":31}],82:[function(require,module,exports){ var ctx = require('./$.ctx') , invoke = require('./$.invoke') , html = require('./$.html') @@ -2092,7 +2232,7 @@ if(!setTask || !clearTask){ defer = ctx(port.postMessage, port, 1); // Browsers with postMessage, skip WebWorkers // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScript){ + } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){ defer = function(id){ global.postMessage(id + '', '*'); }; @@ -2116,7 +2256,7 @@ module.exports = { set: setTask, clear: clearTask }; -},{"./$.cof":13,"./$.ctx":19,"./$.dom-create":22,"./$.global":30,"./$.html":33,"./$.invoke":34}],74:[function(require,module,exports){ +},{"./$.cof":18,"./$.ctx":24,"./$.dom-create":27,"./$.global":36,"./$.html":39,"./$.invoke":40}],83:[function(require,module,exports){ var toInteger = require('./$.to-integer') , max = Math.max , min = Math.min; @@ -2124,95 +2264,104 @@ module.exports = function(index, length){ index = toInteger(index); return index < 0 ? max(index + length, 0) : min(index, length); }; -},{"./$.to-integer":75}],75:[function(require,module,exports){ +},{"./$.to-integer":84}],84:[function(require,module,exports){ // 7.1.4 ToInteger var ceil = Math.ceil , floor = Math.floor; module.exports = function(it){ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; -},{}],76:[function(require,module,exports){ -// to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = require('./$.iobject') - , defined = require('./$.defined'); -module.exports = function(it){ - return IObject(defined(it)); +},{}],85:[function(require,module,exports){ +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = require('./$.iobject') + , defined = require('./$.defined'); +module.exports = function(it){ + return IObject(defined(it)); }; -},{"./$.defined":21,"./$.iobject":35}],77:[function(require,module,exports){ +},{"./$.defined":25,"./$.iobject":41}],86:[function(require,module,exports){ // 7.1.15 ToLength var toInteger = require('./$.to-integer') , min = Math.min; module.exports = function(it){ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; -},{"./$.to-integer":75}],78:[function(require,module,exports){ +},{"./$.to-integer":84}],87:[function(require,module,exports){ // 7.1.13 ToObject(argument) var defined = require('./$.defined'); module.exports = function(it){ return Object(defined(it)); }; -},{"./$.defined":21}],79:[function(require,module,exports){ +},{"./$.defined":25}],88:[function(require,module,exports){ +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = require('./$.is-object'); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function(it, S){ + if(!isObject(it))return it; + var fn, val; + if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; + if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; + if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; + throw TypeError("Can't convert object to primitive value"); +}; +},{"./$.is-object":45}],89:[function(require,module,exports){ var id = 0 , px = Math.random(); module.exports = function(key){ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; -},{}],80:[function(require,module,exports){ -// 22.1.3.31 Array.prototype[@@unscopables] -var UNSCOPABLES = require('./$.wks')('unscopables'); -if(!(UNSCOPABLES in []))require('./$.hide')(Array.prototype, UNSCOPABLES, {}); -module.exports = function(key){ - [][UNSCOPABLES][key] = true; -}; -},{"./$.hide":32,"./$.wks":81}],81:[function(require,module,exports){ +},{}],90:[function(require,module,exports){ var store = require('./$.shared')('wks') + , uid = require('./$.uid') , Symbol = require('./$.global').Symbol; module.exports = function(name){ return store[name] || (store[name] = - Symbol && Symbol[name] || (Symbol || require('./$.uid'))('Symbol.' + name)); + Symbol && Symbol[name] || (Symbol || uid)('Symbol.' + name)); }; -},{"./$.global":30,"./$.shared":62,"./$.uid":79}],82:[function(require,module,exports){ +},{"./$.global":36,"./$.shared":74,"./$.uid":89}],91:[function(require,module,exports){ var classof = require('./$.classof') , ITERATOR = require('./$.wks')('iterator') , Iterators = require('./$.iterators'); module.exports = require('./$.core').getIteratorMethod = function(it){ - if(it != undefined)return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; + if(it != undefined)return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; }; -},{"./$.classof":12,"./$.core":18,"./$.iterators":45,"./$.wks":81}],83:[function(require,module,exports){ +},{"./$.classof":17,"./$.core":23,"./$.iterators":52,"./$.wks":90}],92:[function(require,module,exports){ 'use strict'; -var $ = require('./$') - , SUPPORT_DESC = require('./$.support-desc') - , createDesc = require('./$.property-desc') - , html = require('./$.html') - , cel = require('./$.dom-create') - , has = require('./$.has') - , cof = require('./$.cof') - , $def = require('./$.def') - , invoke = require('./$.invoke') - , arrayMethod = require('./$.array-methods') - , IE_PROTO = require('./$.uid')('__proto__') - , isObject = require('./$.is-object') - , anObject = require('./$.an-object') - , aFunction = require('./$.a-function') - , toObject = require('./$.to-object') - , toIObject = require('./$.to-iobject') - , toInteger = require('./$.to-integer') - , toIndex = require('./$.to-index') - , toLength = require('./$.to-length') - , IObject = require('./$.iobject') - , fails = require('./$.fails') - , ObjectProto = Object.prototype - , A = [] - , _slice = A.slice - , _join = A.join - , defineProperty = $.setDesc - , getOwnDescriptor = $.getDesc - , defineProperties = $.setDescs - , $indexOf = require('./$.array-includes')(false) - , factories = {} +var $ = require('./$') + , $export = require('./$.export') + , DESCRIPTORS = require('./$.descriptors') + , createDesc = require('./$.property-desc') + , html = require('./$.html') + , cel = require('./$.dom-create') + , has = require('./$.has') + , cof = require('./$.cof') + , invoke = require('./$.invoke') + , fails = require('./$.fails') + , anObject = require('./$.an-object') + , aFunction = require('./$.a-function') + , isObject = require('./$.is-object') + , toObject = require('./$.to-object') + , toIObject = require('./$.to-iobject') + , toInteger = require('./$.to-integer') + , toIndex = require('./$.to-index') + , toLength = require('./$.to-length') + , IObject = require('./$.iobject') + , IE_PROTO = require('./$.uid')('__proto__') + , createArrayMethod = require('./$.array-methods') + , arrayIndexOf = require('./$.array-includes')(false) + , ObjectProto = Object.prototype + , ArrayProto = Array.prototype + , arraySlice = ArrayProto.slice + , arrayJoin = ArrayProto.join + , defineProperty = $.setDesc + , getOwnDescriptor = $.getDesc + , defineProperties = $.setDescs + , factories = {} , IE8_DOM_DEFINE; -if(!SUPPORT_DESC){ +if(!DESCRIPTORS){ IE8_DOM_DEFINE = !fails(function(){ return defineProperty(cel('div'), 'a', {get: function(){ return 7; }}).a != 7; }); @@ -2240,7 +2389,7 @@ if(!SUPPORT_DESC){ return O; }; } -$def($def.S + $def.F * !SUPPORT_DESC, 'Object', { +$export($export.S + $export.F * !DESCRIPTORS, 'Object', { // 19.1.2.6 / 15.2.3.3 Object.getOwnPropertyDescriptor(O, P) getOwnPropertyDescriptor: $.getDesc, // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) @@ -2285,13 +2434,13 @@ var createGetKeys = function(names, length){ for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); // Don't enum bug & hidden keys while(length > i)if(has(O, key = names[i++])){ - ~$indexOf(result, key) || result.push(key); + ~arrayIndexOf(result, key) || result.push(key); } return result; }; }; var Empty = function(){}; -$def($def.S, 'Object', { +$export($export.S, 'Object', { // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) getPrototypeOf: $.getProto = $.getProto || function(O){ O = toObject(O); @@ -2327,12 +2476,12 @@ var construct = function(F, len, args){ }; // 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) -$def($def.P, 'Function', { +$export($export.P, 'Function', { bind: function bind(that /*, args... */){ var fn = aFunction(this) - , partArgs = _slice.call(arguments, 1); + , partArgs = arraySlice.call(arguments, 1); var bound = function(/* args... */){ - var args = partArgs.concat(_slice.call(arguments)); + var args = partArgs.concat(arraySlice.call(arguments)); return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); }; if(isObject(fn.prototype))bound.prototype = fn.prototype; @@ -2341,16 +2490,14 @@ $def($def.P, 'Function', { }); // fallback for not array-like ES3 strings and DOM objects -var buggySlice = fails(function(){ - if(html)_slice.call(html); -}); - -$def($def.P + $def.F * buggySlice, 'Array', { +$export($export.P + $export.F * fails(function(){ + if(html)arraySlice.call(html); +}), 'Array', { slice: function(begin, end){ var len = toLength(this.length) , klass = cof(this); end = end === undefined ? len : end; - if(klass == 'Array')return _slice.call(this, begin, end); + if(klass == 'Array')return arraySlice.call(this, begin, end); var start = toIndex(begin, len) , upTo = toIndex(end, len) , size = toLength(upTo - start) @@ -2362,14 +2509,14 @@ $def($def.P + $def.F * buggySlice, 'Array', { return cloned; } }); -$def($def.P + $def.F * (IObject != Object), 'Array', { - join: function(){ - return _join.apply(IObject(this), arguments); +$export($export.P + $export.F * (IObject != Object), 'Array', { + join: function join(separator){ + return arrayJoin.call(IObject(this), separator === undefined ? ',' : separator); } }); // 22.1.2.2 / 15.4.3.2 Array.isArray(arg) -$def($def.S, 'Array', {isArray: function(arg){ return cof(arg) == 'Array'; }}); +$export($export.S, 'Array', {isArray: require('./$.is-array')}); var createArrayReduce = function(isRight){ return function(callbackfn, memo){ @@ -2395,28 +2542,30 @@ var createArrayReduce = function(isRight){ return memo; }; }; + var methodize = function($fn){ return function(arg1/*, arg2 = undefined */){ return $fn(this, arg1, arguments[1]); }; }; -$def($def.P, 'Array', { + +$export($export.P, 'Array', { // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) - forEach: $.each = $.each || methodize(arrayMethod(0)), + forEach: $.each = $.each || methodize(createArrayMethod(0)), // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) - map: methodize(arrayMethod(1)), + map: methodize(createArrayMethod(1)), // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) - filter: methodize(arrayMethod(2)), + filter: methodize(createArrayMethod(2)), // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) - some: methodize(arrayMethod(3)), + some: methodize(createArrayMethod(3)), // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) - every: methodize(arrayMethod(4)), + every: methodize(createArrayMethod(4)), // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) reduce: createArrayReduce(false), // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) reduceRight: createArrayReduce(true), // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) - indexOf: methodize($indexOf), + indexOf: methodize(arrayIndexOf), // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) lastIndexOf: function(el, fromIndex /* = @[*-1] */){ var O = toIObject(this) @@ -2430,18 +2579,19 @@ $def($def.P, 'Array', { }); // 20.3.3.1 / 15.9.4.4 Date.now() -$def($def.S, 'Date', {now: function(){ return +new Date; }}); +$export($export.S, 'Date', {now: function(){ return +new Date; }}); var lz = function(num){ return num > 9 ? num : '0' + num; }; // 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() -// PhantomJS and old webkit had a broken Date implementation. -var date = new Date(-5e13 - 1) - , brokenDate = !(date.toISOString && date.toISOString() == '0385-07-25T07:06:39.999Z' - && fails(function(){ new Date(NaN).toISOString(); })); -$def($def.P + $def.F * brokenDate, 'Date', { +// PhantomJS / old WebKit has a broken implementations +$export($export.P + $export.F * (fails(function(){ + return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z'; +}) || !fails(function(){ + new Date(NaN).toISOString(); +})), 'Date', { toISOString: function toISOString(){ if(!isFinite(this))throw RangeError('Invalid time value'); var d = this @@ -2454,113 +2604,80 @@ $def($def.P + $def.F * brokenDate, 'Date', { ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; } }); -},{"./$":46,"./$.a-function":7,"./$.an-object":8,"./$.array-includes":9,"./$.array-methods":10,"./$.cof":13,"./$.def":20,"./$.dom-create":22,"./$.fails":25,"./$.has":31,"./$.html":33,"./$.invoke":34,"./$.iobject":35,"./$.is-object":38,"./$.property-desc":57,"./$.support-desc":71,"./$.to-index":74,"./$.to-integer":75,"./$.to-iobject":76,"./$.to-length":77,"./$.to-object":78,"./$.uid":79}],84:[function(require,module,exports){ -'use strict'; -var $def = require('./$.def') - , toObject = require('./$.to-object') - , toIndex = require('./$.to-index') - , toLength = require('./$.to-length'); -$def($def.P, 'Array', { - // 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) - copyWithin: function copyWithin(target/* = 0 */, start /* = 0, end = @length */){ - var O = toObject(this) - , len = toLength(O.length) - , to = toIndex(target, len) - , from = toIndex(start, len) - , end = arguments[2] - , fin = end === undefined ? len : toIndex(end, len) - , count = Math.min(fin - from, len - to) - , inc = 1; - if(from < to && to < from + count){ - inc = -1; - from = from + count - 1; - to = to + count - 1; - } - while(count-- > 0){ - if(from in O)O[to] = O[from]; - else delete O[to]; - to += inc; - from += inc; - } return O; - } -}); -require('./$.unscope')('copyWithin'); -},{"./$.def":20,"./$.to-index":74,"./$.to-length":77,"./$.to-object":78,"./$.unscope":80}],85:[function(require,module,exports){ -'use strict'; -var $def = require('./$.def') - , toObject = require('./$.to-object') - , toIndex = require('./$.to-index') - , toLength = require('./$.to-length'); -$def($def.P, 'Array', { - // 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) - fill: function fill(value /*, start = 0, end = @length */){ - var O = toObject(this, true) - , length = toLength(O.length) - , index = toIndex(arguments[1], length) - , end = arguments[2] - , endPos = end === undefined ? length : toIndex(end, length); - while(endPos > index)O[index++] = value; - return O; - } -}); -require('./$.unscope')('fill'); -},{"./$.def":20,"./$.to-index":74,"./$.to-length":77,"./$.to-object":78,"./$.unscope":80}],86:[function(require,module,exports){ +},{"./$":53,"./$.a-function":9,"./$.an-object":11,"./$.array-includes":14,"./$.array-methods":15,"./$.cof":18,"./$.descriptors":26,"./$.dom-create":27,"./$.export":29,"./$.fails":31,"./$.has":37,"./$.html":39,"./$.invoke":40,"./$.iobject":41,"./$.is-array":43,"./$.is-object":45,"./$.property-desc":66,"./$.to-index":83,"./$.to-integer":84,"./$.to-iobject":85,"./$.to-length":86,"./$.to-object":87,"./$.uid":89}],93:[function(require,module,exports){ +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +var $export = require('./$.export'); + +$export($export.P, 'Array', {copyWithin: require('./$.array-copy-within')}); + +require('./$.add-to-unscopables')('copyWithin'); +},{"./$.add-to-unscopables":10,"./$.array-copy-within":12,"./$.export":29}],94:[function(require,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +var $export = require('./$.export'); + +$export($export.P, 'Array', {fill: require('./$.array-fill')}); + +require('./$.add-to-unscopables')('fill'); +},{"./$.add-to-unscopables":10,"./$.array-fill":13,"./$.export":29}],95:[function(require,module,exports){ 'use strict'; // 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) -var KEY = 'findIndex' - , $def = require('./$.def') - , forced = true - , $find = require('./$.array-methods')(6); +var $export = require('./$.export') + , $find = require('./$.array-methods')(6) + , KEY = 'findIndex' + , forced = true; // Shouldn't skip holes if(KEY in [])Array(1)[KEY](function(){ forced = false; }); -$def($def.P + $def.F * forced, 'Array', { +$export($export.P + $export.F * forced, 'Array', { findIndex: function findIndex(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments[1]); + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./$.unscope')(KEY); -},{"./$.array-methods":10,"./$.def":20,"./$.unscope":80}],87:[function(require,module,exports){ +require('./$.add-to-unscopables')(KEY); +},{"./$.add-to-unscopables":10,"./$.array-methods":15,"./$.export":29}],96:[function(require,module,exports){ 'use strict'; // 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) -var KEY = 'find' - , $def = require('./$.def') - , forced = true - , $find = require('./$.array-methods')(5); +var $export = require('./$.export') + , $find = require('./$.array-methods')(5) + , KEY = 'find' + , forced = true; // Shouldn't skip holes if(KEY in [])Array(1)[KEY](function(){ forced = false; }); -$def($def.P + $def.F * forced, 'Array', { +$export($export.P + $export.F * forced, 'Array', { find: function find(callbackfn/*, that = undefined */){ - return $find(this, callbackfn, arguments[1]); + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./$.unscope')(KEY); -},{"./$.array-methods":10,"./$.def":20,"./$.unscope":80}],88:[function(require,module,exports){ +require('./$.add-to-unscopables')(KEY); +},{"./$.add-to-unscopables":10,"./$.array-methods":15,"./$.export":29}],97:[function(require,module,exports){ 'use strict'; var ctx = require('./$.ctx') - , $def = require('./$.def') + , $export = require('./$.export') , toObject = require('./$.to-object') , call = require('./$.iter-call') , isArrayIter = require('./$.is-array-iter') , toLength = require('./$.to-length') , getIterFn = require('./core.get-iterator-method'); -$def($def.S + $def.F * !require('./$.iter-detect')(function(iter){ Array.from(iter); }), 'Array', { +$export($export.S + $export.F * !require('./$.iter-detect')(function(iter){ Array.from(iter); }), 'Array', { // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){ var O = toObject(arrayLike) , C = typeof this == 'function' ? this : Array - , mapfn = arguments[1] + , $$ = arguments + , $$len = $$.length + , mapfn = $$len > 1 ? $$[1] : undefined , mapping = mapfn !== undefined , index = 0 , iterFn = getIterFn(O) , length, result, step, iterator; - if(mapping)mapfn = ctx(mapfn, arguments[2], 2); + if(mapping)mapfn = ctx(mapfn, $$len > 2 ? $$[2] : undefined, 2); // if object isn't iterable or it's array with default iterator - use simple case if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){ for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){ result[index] = mapping ? call(iterator, mapfn, [step.value, index], true) : step.value; } } else { - for(result = new C(length = toLength(O.length)); length > index; index++){ + length = toLength(O.length); + for(result = new C(length); length > index; index++){ result[index] = mapping ? mapfn(O[index], index) : O[index]; } } @@ -2568,18 +2685,19 @@ $def($def.S + $def.F * !require('./$.iter-detect')(function(iter){ Array.from(it return result; } }); -},{"./$.ctx":19,"./$.def":20,"./$.is-array-iter":36,"./$.iter-call":40,"./$.iter-detect":43,"./$.to-length":77,"./$.to-object":78,"./core.get-iterator-method":82}],89:[function(require,module,exports){ + +},{"./$.ctx":24,"./$.export":29,"./$.is-array-iter":42,"./$.iter-call":47,"./$.iter-detect":50,"./$.to-length":86,"./$.to-object":87,"./core.get-iterator-method":91}],98:[function(require,module,exports){ 'use strict'; -var setUnscope = require('./$.unscope') - , step = require('./$.iter-step') - , Iterators = require('./$.iterators') - , toIObject = require('./$.to-iobject'); +var addToUnscopables = require('./$.add-to-unscopables') + , step = require('./$.iter-step') + , Iterators = require('./$.iterators') + , toIObject = require('./$.to-iobject'); // 22.1.3.4 Array.prototype.entries() // 22.1.3.13 Array.prototype.keys() // 22.1.3.29 Array.prototype.values() // 22.1.3.30 Array.prototype[@@iterator]() -require('./$.iter-define')(Array, 'Array', function(iterated, kind){ +module.exports = require('./$.iter-define')(Array, 'Array', function(iterated, kind){ this._t = toIObject(iterated); // target this._i = 0; // next index this._k = kind; // kind @@ -2600,26 +2718,32 @@ require('./$.iter-define')(Array, 'Array', function(iterated, kind){ // argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) Iterators.Arguments = Iterators.Array; -setUnscope('keys'); -setUnscope('values'); -setUnscope('entries'); -},{"./$.iter-define":42,"./$.iter-step":44,"./$.iterators":45,"./$.to-iobject":76,"./$.unscope":80}],90:[function(require,module,exports){ +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); +},{"./$.add-to-unscopables":10,"./$.iter-define":49,"./$.iter-step":51,"./$.iterators":52,"./$.to-iobject":85}],99:[function(require,module,exports){ 'use strict'; -var $def = require('./$.def'); -$def($def.S, 'Array', { +var $export = require('./$.export'); + +// WebKit Array.of isn't generic +$export($export.S + $export.F * require('./$.fails')(function(){ + function F(){} + return !(Array.of.call(F) instanceof F); +}), 'Array', { // 22.1.2.3 Array.of( ...items) of: function of(/* ...args */){ var index = 0 - , length = arguments.length - , result = new (typeof this == 'function' ? this : Array)(length); - while(length > index)result[index] = arguments[index++]; - result.length = length; + , $$ = arguments + , $$len = $$.length + , result = new (typeof this == 'function' ? this : Array)($$len); + while($$len > index)result[index] = $$[index++]; + result.length = $$len; return result; } }); -},{"./$.def":20}],91:[function(require,module,exports){ -require('./$.species')(Array); -},{"./$.species":64}],92:[function(require,module,exports){ +},{"./$.export":29,"./$.fails":31}],100:[function(require,module,exports){ +require('./$.set-species')('Array'); +},{"./$.set-species":72}],101:[function(require,module,exports){ 'use strict'; var $ = require('./$') , isObject = require('./$.is-object') @@ -2633,7 +2757,7 @@ if(!(HAS_INSTANCE in FunctionProto))$.setDesc(FunctionProto, HAS_INSTANCE, {valu while(O = $.getProto(O))if(this.prototype === O)return true; return false; }}); -},{"./$":46,"./$.is-object":38,"./$.wks":81}],93:[function(require,module,exports){ +},{"./$":53,"./$.is-object":45,"./$.wks":90}],102:[function(require,module,exports){ var setDesc = require('./$').setDesc , createDesc = require('./$.property-desc') , has = require('./$.has') @@ -2641,7 +2765,7 @@ var setDesc = require('./$').setDesc , nameRE = /^\s*function ([^ (]*)/ , NAME = 'name'; // 19.2.4.2 name -NAME in FProto || require('./$.support-desc') && setDesc(FProto, NAME, { +NAME in FProto || require('./$.descriptors') && setDesc(FProto, NAME, { configurable: true, get: function(){ var match = ('' + this).match(nameRE) @@ -2650,13 +2774,13 @@ NAME in FProto || require('./$.support-desc') && setDesc(FProto, NAME, { return name; } }); -},{"./$":46,"./$.has":31,"./$.property-desc":57,"./$.support-desc":71}],94:[function(require,module,exports){ +},{"./$":53,"./$.descriptors":26,"./$.has":37,"./$.property-desc":66}],103:[function(require,module,exports){ 'use strict'; var strong = require('./$.collection-strong'); // 23.1 Map Objects require('./$.collection')('Map', function(get){ - return function Map(){ return get(this, arguments[0]); }; + return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.1.3.6 Map.prototype.get(key) get: function get(key){ @@ -2668,78 +2792,78 @@ require('./$.collection')('Map', function(get){ return strong.def(this, key === 0 ? 0 : key, value); } }, strong, true); -},{"./$.collection":17,"./$.collection-strong":14}],95:[function(require,module,exports){ +},{"./$.collection":22,"./$.collection-strong":19}],104:[function(require,module,exports){ // 20.2.2.3 Math.acosh(x) -var $def = require('./$.def') - , log1p = require('./$.log1p') - , sqrt = Math.sqrt - , $acosh = Math.acosh; +var $export = require('./$.export') + , log1p = require('./$.math-log1p') + , sqrt = Math.sqrt + , $acosh = Math.acosh; -// V8 bug https://code.google.com/p/v8/issues/detail?id=3509 -$def($def.S + $def.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', { +// V8 bug https://code.google.com/p/v8/issues/detail?id=3509 +$export($export.S + $export.F * !($acosh && Math.floor($acosh(Number.MAX_VALUE)) == 710), 'Math', { acosh: function acosh(x){ return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? Math.log(x) + Math.LN2 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); } }); -},{"./$.def":20,"./$.log1p":49}],96:[function(require,module,exports){ +},{"./$.export":29,"./$.math-log1p":57}],105:[function(require,module,exports){ // 20.2.2.5 Math.asinh(x) -var $def = require('./$.def'); +var $export = require('./$.export'); function asinh(x){ return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); } -$def($def.S, 'Math', {asinh: asinh}); -},{"./$.def":20}],97:[function(require,module,exports){ +$export($export.S, 'Math', {asinh: asinh}); +},{"./$.export":29}],106:[function(require,module,exports){ // 20.2.2.7 Math.atanh(x) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Math', { +$export($export.S, 'Math', { atanh: function atanh(x){ return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; } }); -},{"./$.def":20}],98:[function(require,module,exports){ +},{"./$.export":29}],107:[function(require,module,exports){ // 20.2.2.9 Math.cbrt(x) -var $def = require('./$.def') - , sign = require('./$.sign'); +var $export = require('./$.export') + , sign = require('./$.math-sign'); -$def($def.S, 'Math', { +$export($export.S, 'Math', { cbrt: function cbrt(x){ return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); } }); -},{"./$.def":20,"./$.sign":63}],99:[function(require,module,exports){ +},{"./$.export":29,"./$.math-sign":58}],108:[function(require,module,exports){ // 20.2.2.11 Math.clz32(x) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Math', { +$export($export.S, 'Math', { clz32: function clz32(x){ return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; } }); -},{"./$.def":20}],100:[function(require,module,exports){ +},{"./$.export":29}],109:[function(require,module,exports){ // 20.2.2.12 Math.cosh(x) -var $def = require('./$.def') - , exp = Math.exp; +var $export = require('./$.export') + , exp = Math.exp; -$def($def.S, 'Math', { +$export($export.S, 'Math', { cosh: function cosh(x){ return (exp(x = +x) + exp(-x)) / 2; } }); -},{"./$.def":20}],101:[function(require,module,exports){ +},{"./$.export":29}],110:[function(require,module,exports){ // 20.2.2.14 Math.expm1(x) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Math', {expm1: require('./$.expm1')}); -},{"./$.def":20,"./$.expm1":24}],102:[function(require,module,exports){ +$export($export.S, 'Math', {expm1: require('./$.math-expm1')}); +},{"./$.export":29,"./$.math-expm1":56}],111:[function(require,module,exports){ // 20.2.2.16 Math.fround(x) -var $def = require('./$.def') - , sign = require('./$.sign') - , pow = Math.pow +var $export = require('./$.export') + , sign = require('./$.math-sign') + , pow = Math.pow , EPSILON = pow(2, -52) , EPSILON32 = pow(2, -23) , MAX32 = pow(2, 127) * (2 - EPSILON32) @@ -2750,7 +2874,7 @@ var roundTiesToEven = function(n){ }; -$def($def.S, 'Math', { +$export($export.S, 'Math', { fround: function fround(x){ var $abs = Math.abs(x) , $sign = sign(x) @@ -2762,20 +2886,21 @@ $def($def.S, 'Math', { return $sign * result; } }); -},{"./$.def":20,"./$.sign":63}],103:[function(require,module,exports){ +},{"./$.export":29,"./$.math-sign":58}],112:[function(require,module,exports){ // 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) -var $def = require('./$.def') - , abs = Math.abs; +var $export = require('./$.export') + , abs = Math.abs; -$def($def.S, 'Math', { +$export($export.S, 'Math', { hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars - var sum = 0 - , i = 0 - , len = arguments.length - , larg = 0 + var sum = 0 + , i = 0 + , $$ = arguments + , $$len = $$.length + , larg = 0 , arg, div; - while(i < len){ - arg = abs(arguments[i++]); + while(i < $$len){ + arg = abs($$[i++]); if(larg < arg){ div = larg / arg; sum = sum * div * div + 1; @@ -2788,13 +2913,14 @@ $def($def.S, 'Math', { return larg === Infinity ? Infinity : larg * Math.sqrt(sum); } }); -},{"./$.def":20}],104:[function(require,module,exports){ +},{"./$.export":29}],113:[function(require,module,exports){ // 20.2.2.18 Math.imul(x, y) -var $def = require('./$.def'); +var $export = require('./$.export') + , $imul = Math.imul; -// WebKit fails with big numbers -$def($def.S + $def.F * require('./$.fails')(function(){ - return Math.imul(0xffffffff, 5) != -5; +// some WebKit versions fails with big numbers, some has wrong arity +$export($export.S + $export.F * require('./$.fails')(function(){ + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; }), 'Math', { imul: function imul(x, y){ var UINT16 = 0xffff @@ -2805,188 +2931,205 @@ $def($def.S + $def.F * require('./$.fails')(function(){ return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); } }); -},{"./$.def":20,"./$.fails":25}],105:[function(require,module,exports){ +},{"./$.export":29,"./$.fails":31}],114:[function(require,module,exports){ // 20.2.2.21 Math.log10(x) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Math', { +$export($export.S, 'Math', { log10: function log10(x){ return Math.log(x) / Math.LN10; } }); -},{"./$.def":20}],106:[function(require,module,exports){ +},{"./$.export":29}],115:[function(require,module,exports){ // 20.2.2.20 Math.log1p(x) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Math', {log1p: require('./$.log1p')}); -},{"./$.def":20,"./$.log1p":49}],107:[function(require,module,exports){ +$export($export.S, 'Math', {log1p: require('./$.math-log1p')}); +},{"./$.export":29,"./$.math-log1p":57}],116:[function(require,module,exports){ // 20.2.2.22 Math.log2(x) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Math', { +$export($export.S, 'Math', { log2: function log2(x){ return Math.log(x) / Math.LN2; } }); -},{"./$.def":20}],108:[function(require,module,exports){ +},{"./$.export":29}],117:[function(require,module,exports){ // 20.2.2.28 Math.sign(x) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Math', {sign: require('./$.sign')}); -},{"./$.def":20,"./$.sign":63}],109:[function(require,module,exports){ +$export($export.S, 'Math', {sign: require('./$.math-sign')}); +},{"./$.export":29,"./$.math-sign":58}],118:[function(require,module,exports){ // 20.2.2.30 Math.sinh(x) -var $def = require('./$.def') - , expm1 = require('./$.expm1') - , exp = Math.exp; +var $export = require('./$.export') + , expm1 = require('./$.math-expm1') + , exp = Math.exp; -$def($def.S, 'Math', { +// V8 near Chromium 38 has a problem with very small numbers +$export($export.S + $export.F * require('./$.fails')(function(){ + return !Math.sinh(-2e-17) != -2e-17; +}), 'Math', { sinh: function sinh(x){ return Math.abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); } }); -},{"./$.def":20,"./$.expm1":24}],110:[function(require,module,exports){ +},{"./$.export":29,"./$.fails":31,"./$.math-expm1":56}],119:[function(require,module,exports){ // 20.2.2.33 Math.tanh(x) -var $def = require('./$.def') - , expm1 = require('./$.expm1') - , exp = Math.exp; +var $export = require('./$.export') + , expm1 = require('./$.math-expm1') + , exp = Math.exp; -$def($def.S, 'Math', { +$export($export.S, 'Math', { tanh: function tanh(x){ var a = expm1(x = +x) , b = expm1(-x); return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); } }); -},{"./$.def":20,"./$.expm1":24}],111:[function(require,module,exports){ +},{"./$.export":29,"./$.math-expm1":56}],120:[function(require,module,exports){ // 20.2.2.34 Math.trunc(x) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Math', { +$export($export.S, 'Math', { trunc: function trunc(it){ return (it > 0 ? Math.floor : Math.ceil)(it); } }); -},{"./$.def":20}],112:[function(require,module,exports){ +},{"./$.export":29}],121:[function(require,module,exports){ 'use strict'; -var $ = require('./$') - , global = require('./$.global') - , has = require('./$.has') - , cof = require('./$.cof') - , isObject = require('./$.is-object') - , fails = require('./$.fails') - , NUMBER = 'Number' - , $Number = global[NUMBER] - , Base = $Number - , proto = $Number.prototype +var $ = require('./$') + , global = require('./$.global') + , has = require('./$.has') + , cof = require('./$.cof') + , toPrimitive = require('./$.to-primitive') + , fails = require('./$.fails') + , $trim = require('./$.string-trim').trim + , NUMBER = 'Number' + , $Number = global[NUMBER] + , Base = $Number + , proto = $Number.prototype // Opera ~12 has broken Object#toString - , BROKEN_COF = cof($.create(proto)) == NUMBER; -var toPrimitive = function(it){ - var fn, val; - if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; - if(typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; - throw TypeError("Can't convert object to number"); -}; -var toNumber = function(it){ - if(isObject(it))it = toPrimitive(it); - if(typeof it == 'string' && it.length > 2 && it.charCodeAt(0) == 48){ - var binary = false; - switch(it.charCodeAt(1)){ - case 66 : case 98 : binary = true; - case 79 : case 111 : return parseInt(it.slice(2), binary ? 2 : 8); + , BROKEN_COF = cof($.create(proto)) == NUMBER + , TRIM = 'trim' in String.prototype; + +// 7.1.3 ToNumber(argument) +var toNumber = function(argument){ + var it = toPrimitive(argument, false); + if(typeof it == 'string' && it.length > 2){ + it = TRIM ? it.trim() : $trim(it, 3); + var first = it.charCodeAt(0) + , third, radix, maxCode; + if(first === 43 || first === 45){ + third = it.charCodeAt(2); + if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if(first === 48){ + switch(it.charCodeAt(1)){ + case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i + case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i + default : return +it; + } + for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){ + code = digits.charCodeAt(i); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if(code < 48 || code > maxCode)return NaN; + } return parseInt(digits, radix); } } return +it; }; -if(!($Number('0o1') && $Number('0b1'))){ - $Number = function Number(it){ - var that = this; + +if(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){ + $Number = function Number(value){ + var it = arguments.length < 1 ? 0 : value + , that = this; return that instanceof $Number // check on 1..constructor(foo) case && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER) ? new Base(toNumber(it)) : toNumber(it); }; - $.each.call(require('./$.support-desc') ? $.getNames(Base) : ( - // ES3: - 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + - // ES6 (in case, if modules with ES6 Number statics required before): - 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + - 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' - ).split(','), function(key){ - if(has(Base, key) && !has($Number, key)){ - $.setDesc($Number, key, $.getDesc(Base, key)); - } + $.each.call(require('./$.descriptors') ? $.getNames(Base) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES6 (in case, if modules with ES6 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), function(key){ + if(has(Base, key) && !has($Number, key)){ + $.setDesc($Number, key, $.getDesc(Base, key)); } - ); + }); $Number.prototype = proto; proto.constructor = $Number; - require('./$.redef')(global, NUMBER, $Number); + require('./$.redefine')(global, NUMBER, $Number); } -},{"./$":46,"./$.cof":13,"./$.fails":25,"./$.global":30,"./$.has":31,"./$.is-object":38,"./$.redef":58,"./$.support-desc":71}],113:[function(require,module,exports){ +},{"./$":53,"./$.cof":18,"./$.descriptors":26,"./$.fails":31,"./$.global":36,"./$.has":37,"./$.redefine":68,"./$.string-trim":81,"./$.to-primitive":88}],122:[function(require,module,exports){ // 20.1.2.1 Number.EPSILON -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Number', {EPSILON: Math.pow(2, -52)}); -},{"./$.def":20}],114:[function(require,module,exports){ +$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)}); +},{"./$.export":29}],123:[function(require,module,exports){ // 20.1.2.2 Number.isFinite(number) -var $def = require('./$.def') +var $export = require('./$.export') , _isFinite = require('./$.global').isFinite; -$def($def.S, 'Number', { +$export($export.S, 'Number', { isFinite: function isFinite(it){ return typeof it == 'number' && _isFinite(it); } }); -},{"./$.def":20,"./$.global":30}],115:[function(require,module,exports){ +},{"./$.export":29,"./$.global":36}],124:[function(require,module,exports){ // 20.1.2.3 Number.isInteger(number) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Number', {isInteger: require('./$.is-integer')}); -},{"./$.def":20,"./$.is-integer":37}],116:[function(require,module,exports){ +$export($export.S, 'Number', {isInteger: require('./$.is-integer')}); +},{"./$.export":29,"./$.is-integer":44}],125:[function(require,module,exports){ // 20.1.2.4 Number.isNaN(number) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Number', { +$export($export.S, 'Number', { isNaN: function isNaN(number){ return number != number; } }); -},{"./$.def":20}],117:[function(require,module,exports){ +},{"./$.export":29}],126:[function(require,module,exports){ // 20.1.2.5 Number.isSafeInteger(number) -var $def = require('./$.def') +var $export = require('./$.export') , isInteger = require('./$.is-integer') , abs = Math.abs; -$def($def.S, 'Number', { +$export($export.S, 'Number', { isSafeInteger: function isSafeInteger(number){ return isInteger(number) && abs(number) <= 0x1fffffffffffff; } }); -},{"./$.def":20,"./$.is-integer":37}],118:[function(require,module,exports){ +},{"./$.export":29,"./$.is-integer":44}],127:[function(require,module,exports){ // 20.1.2.6 Number.MAX_SAFE_INTEGER -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); -},{"./$.def":20}],119:[function(require,module,exports){ +$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff}); +},{"./$.export":29}],128:[function(require,module,exports){ // 20.1.2.10 Number.MIN_SAFE_INTEGER -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); -},{"./$.def":20}],120:[function(require,module,exports){ +$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff}); +},{"./$.export":29}],129:[function(require,module,exports){ // 20.1.2.12 Number.parseFloat(string) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Number', {parseFloat: parseFloat}); -},{"./$.def":20}],121:[function(require,module,exports){ +$export($export.S, 'Number', {parseFloat: parseFloat}); +},{"./$.export":29}],130:[function(require,module,exports){ // 20.1.2.13 Number.parseInt(string, radix) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Number', {parseInt: parseInt}); -},{"./$.def":20}],122:[function(require,module,exports){ +$export($export.S, 'Number', {parseInt: parseInt}); +},{"./$.export":29}],131:[function(require,module,exports){ // 19.1.3.1 Object.assign(target, source) -var $def = require('./$.def'); -$def($def.S, 'Object', {assign: require('./$.assign')}); -},{"./$.assign":11,"./$.def":20}],123:[function(require,module,exports){ +var $export = require('./$.export'); + +$export($export.S + $export.F, 'Object', {assign: require('./$.object-assign')}); +},{"./$.export":29,"./$.object-assign":60}],132:[function(require,module,exports){ // 19.1.2.5 Object.freeze(O) var isObject = require('./$.is-object'); @@ -2995,7 +3138,7 @@ require('./$.object-sap')('freeze', function($freeze){ return $freeze && isObject(it) ? $freeze(it) : it; }; }); -},{"./$.is-object":38,"./$.object-sap":52}],124:[function(require,module,exports){ +},{"./$.is-object":45,"./$.object-sap":61}],133:[function(require,module,exports){ // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) var toIObject = require('./$.to-iobject'); @@ -3004,12 +3147,12 @@ require('./$.object-sap')('getOwnPropertyDescriptor', function($getOwnPropertyDe return $getOwnPropertyDescriptor(toIObject(it), key); }; }); -},{"./$.object-sap":52,"./$.to-iobject":76}],125:[function(require,module,exports){ +},{"./$.object-sap":61,"./$.to-iobject":85}],134:[function(require,module,exports){ // 19.1.2.7 Object.getOwnPropertyNames(O) require('./$.object-sap')('getOwnPropertyNames', function(){ return require('./$.get-names').get; }); -},{"./$.get-names":29,"./$.object-sap":52}],126:[function(require,module,exports){ +},{"./$.get-names":35,"./$.object-sap":61}],135:[function(require,module,exports){ // 19.1.2.9 Object.getPrototypeOf(O) var toObject = require('./$.to-object'); @@ -3018,7 +3161,7 @@ require('./$.object-sap')('getPrototypeOf', function($getPrototypeOf){ return $getPrototypeOf(toObject(it)); }; }); -},{"./$.object-sap":52,"./$.to-object":78}],127:[function(require,module,exports){ +},{"./$.object-sap":61,"./$.to-object":87}],136:[function(require,module,exports){ // 19.1.2.11 Object.isExtensible(O) var isObject = require('./$.is-object'); @@ -3027,7 +3170,7 @@ require('./$.object-sap')('isExtensible', function($isExtensible){ return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; }; }); -},{"./$.is-object":38,"./$.object-sap":52}],128:[function(require,module,exports){ +},{"./$.is-object":45,"./$.object-sap":61}],137:[function(require,module,exports){ // 19.1.2.12 Object.isFrozen(O) var isObject = require('./$.is-object'); @@ -3036,7 +3179,7 @@ require('./$.object-sap')('isFrozen', function($isFrozen){ return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; }; }); -},{"./$.is-object":38,"./$.object-sap":52}],129:[function(require,module,exports){ +},{"./$.is-object":45,"./$.object-sap":61}],138:[function(require,module,exports){ // 19.1.2.13 Object.isSealed(O) var isObject = require('./$.is-object'); @@ -3045,13 +3188,11 @@ require('./$.object-sap')('isSealed', function($isSealed){ return isObject(it) ? $isSealed ? $isSealed(it) : false : true; }; }); -},{"./$.is-object":38,"./$.object-sap":52}],130:[function(require,module,exports){ +},{"./$.is-object":45,"./$.object-sap":61}],139:[function(require,module,exports){ // 19.1.3.10 Object.is(value1, value2) -var $def = require('./$.def'); -$def($def.S, 'Object', { - is: require('./$.same') -}); -},{"./$.def":20,"./$.same":60}],131:[function(require,module,exports){ +var $export = require('./$.export'); +$export($export.S, 'Object', {is: require('./$.same-value')}); +},{"./$.export":29,"./$.same-value":70}],140:[function(require,module,exports){ // 19.1.2.14 Object.keys(O) var toObject = require('./$.to-object'); @@ -3060,7 +3201,7 @@ require('./$.object-sap')('keys', function($keys){ return $keys(toObject(it)); }; }); -},{"./$.object-sap":52,"./$.to-object":78}],132:[function(require,module,exports){ +},{"./$.object-sap":61,"./$.to-object":87}],141:[function(require,module,exports){ // 19.1.2.15 Object.preventExtensions(O) var isObject = require('./$.is-object'); @@ -3069,7 +3210,7 @@ require('./$.object-sap')('preventExtensions', function($preventExtensions){ return $preventExtensions && isObject(it) ? $preventExtensions(it) : it; }; }); -},{"./$.is-object":38,"./$.object-sap":52}],133:[function(require,module,exports){ +},{"./$.is-object":45,"./$.object-sap":61}],142:[function(require,module,exports){ // 19.1.2.17 Object.seal(O) var isObject = require('./$.is-object'); @@ -3078,53 +3219,56 @@ require('./$.object-sap')('seal', function($seal){ return $seal && isObject(it) ? $seal(it) : it; }; }); -},{"./$.is-object":38,"./$.object-sap":52}],134:[function(require,module,exports){ +},{"./$.is-object":45,"./$.object-sap":61}],143:[function(require,module,exports){ // 19.1.3.19 Object.setPrototypeOf(O, proto) -var $def = require('./$.def'); -$def($def.S, 'Object', {setPrototypeOf: require('./$.set-proto').set}); -},{"./$.def":20,"./$.set-proto":61}],135:[function(require,module,exports){ +var $export = require('./$.export'); +$export($export.S, 'Object', {setPrototypeOf: require('./$.set-proto').set}); +},{"./$.export":29,"./$.set-proto":71}],144:[function(require,module,exports){ 'use strict'; // 19.1.3.6 Object.prototype.toString() var classof = require('./$.classof') , test = {}; test[require('./$.wks')('toStringTag')] = 'z'; if(test + '' != '[object z]'){ - require('./$.redef')(Object.prototype, 'toString', function toString(){ + require('./$.redefine')(Object.prototype, 'toString', function toString(){ return '[object ' + classof(this) + ']'; }, true); } -},{"./$.classof":12,"./$.redef":58,"./$.wks":81}],136:[function(require,module,exports){ +},{"./$.classof":17,"./$.redefine":68,"./$.wks":90}],145:[function(require,module,exports){ 'use strict'; var $ = require('./$') , LIBRARY = require('./$.library') , global = require('./$.global') , ctx = require('./$.ctx') , classof = require('./$.classof') - , $def = require('./$.def') + , $export = require('./$.export') , isObject = require('./$.is-object') , anObject = require('./$.an-object') , aFunction = require('./$.a-function') , strictNew = require('./$.strict-new') , forOf = require('./$.for-of') , setProto = require('./$.set-proto').set - , same = require('./$.same') - , species = require('./$.species') + , same = require('./$.same-value') , SPECIES = require('./$.wks')('species') - , RECORD = require('./$.uid')('record') + , speciesConstructor = require('./$.species-constructor') , asap = require('./$.microtask') , PROMISE = 'Promise' , process = global.process , isNode = classof(process) == 'process' , P = global[PROMISE] + , empty = function(){ /* empty */ } , Wrapper; var testResolve = function(sub){ - var test = new P(function(){}); - if(sub)test.constructor = Object; - return P.resolve(test) === test; + var test = new P(empty), promise; + if(sub)test.constructor = function(exec){ + exec(empty, empty); + }; + (promise = P.resolve(test))['catch'](empty); + return promise === test; }; -var useNative = function(){ +var USE_NATIVE = function(){ var works = false; function P2(x){ var self = new P(x); @@ -3140,7 +3284,7 @@ var useNative = function(){ works = false; } // actual V8 bug, https://code.google.com/p/v8/issues/detail?id=4162 - if(works && require('./$.support-desc')){ + if(works && require('./$.descriptors')){ var thenableThenGotten = false; P.resolve($.setDesc({}, 'then', { get: function(){ thenableThenGotten = true; } @@ -3152,9 +3296,6 @@ var useNative = function(){ }(); // helpers -var isPromise = function(it){ - return isObject(it) && (useNative ? classof(it) == 'Promise' : RECORD in it); -}; var sameConstructor = function(a, b){ // library wrapper special case if(LIBRARY && a === P && b === Wrapper)return true; @@ -3168,6 +3309,23 @@ var isThenable = function(it){ var then; return isObject(it) && typeof (then = it.then) == 'function' ? then : false; }; +var PromiseCapability = function(C){ + var resolve, reject; + this.promise = new C(function($$resolve, $$reject){ + if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve), + this.reject = aFunction(reject) +}; +var perform = function(exec){ + try { + exec(); + } catch(e){ + return {error: e}; + } +}; var notify = function(record, isReject){ if(record.n)return; record.n = true; @@ -3176,49 +3334,52 @@ var notify = function(record, isReject){ var value = record.v , ok = record.s == 1 , i = 0; - var run = function(react){ - var cb = ok ? react.ok : react.fail - , ret, then; + var run = function(reaction){ + var handler = ok ? reaction.ok : reaction.fail + , resolve = reaction.resolve + , reject = reaction.reject + , result, then; try { - if(cb){ + if(handler){ if(!ok)record.h = true; - ret = cb === true ? value : cb(value); - if(ret === react.P){ - react.rej(TypeError('Promise-chain cycle')); - } else if(then = isThenable(ret)){ - then.call(ret, react.res, react.rej); - } else react.res(ret); - } else react.rej(value); - } catch(err){ - react.rej(err); + result = handler === true ? value : handler(value); + if(result === reaction.promise){ + reject(TypeError('Promise-chain cycle')); + } else if(then = isThenable(result)){ + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch(e){ + reject(e); } }; while(chain.length > i)run(chain[i++]); // variable length - can't use forEach chain.length = 0; record.n = false; if(isReject)setTimeout(function(){ - asap(function(){ - if(isUnhandled(record.p)){ - if(isNode){ - process.emit('unhandledRejection', value, record.p); - } else if(global.console && console.error){ - console.error('Unhandled promise rejection', value); - } + var promise = record.p + , handler, console; + if(isUnhandled(promise)){ + if(isNode){ + process.emit('unhandledRejection', value, promise); + } else if(handler = global.onunhandledrejection){ + handler({promise: promise, reason: value}); + } else if((console = global.console) && console.error){ + console.error('Unhandled promise rejection', value); } - record.a = undefined; - }); + } record.a = undefined; }, 1); }); }; var isUnhandled = function(promise){ - var record = promise[RECORD] + var record = promise._d , chain = record.a || record.c , i = 0 - , react; + , reaction; if(record.h)return false; while(chain.length > i){ - react = chain[i++]; - if(react.fail || !isUnhandled(react.P))return false; + reaction = chain[i++]; + if(reaction.fail || !isUnhandled(reaction.promise))return false; } return true; }; var $reject = function(value){ @@ -3238,6 +3399,7 @@ var $resolve = function(value){ record.d = true; record = record.r || record; // unwrap try { + if(record.p === value)throw TypeError("Promise can't be resolved itself"); if(then = isThenable(value)){ asap(function(){ var wrapper = {r: record, d: false}; // wrap @@ -3258,11 +3420,11 @@ var $resolve = function(value){ }; // constructor polyfill -if(!useNative){ +if(!USE_NATIVE){ // 25.4.3.1 Promise(executor) P = function Promise(executor){ aFunction(executor); - var record = { + var record = this._d = { p: strictNew(this, P, PROMISE), // <- promise c: [], // <- awaiting reactions a: undefined, // <- checked in isUnhandled reactions @@ -3272,28 +3434,22 @@ if(!useNative){ h: false, // <- handled rejection n: false // <- notify }; - this[RECORD] = record; try { executor(ctx($resolve, record, 1), ctx($reject, record, 1)); } catch(err){ $reject.call(record, err); } }; - require('./$.mix')(P.prototype, { + require('./$.redefine-all')(P.prototype, { // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) then: function then(onFulfilled, onRejected){ - var S = anObject(anObject(this).constructor)[SPECIES]; - var react = { - ok: typeof onFulfilled == 'function' ? onFulfilled : true, - fail: typeof onRejected == 'function' ? onRejected : false - }; - var promise = react.P = new (S != undefined ? S : P)(function(res, rej){ - react.res = aFunction(res); - react.rej = aFunction(rej); - }); - var record = this[RECORD]; - record.c.push(react); - if(record.a)record.a.push(react); + var reaction = new PromiseCapability(speciesConstructor(this, P)) + , promise = reaction.promise + , record = this._d; + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + record.c.push(reaction); + if(record.a)record.a.push(reaction); if(record.s)notify(record, false); return promise; }, @@ -3304,107 +3460,133 @@ if(!useNative){ }); } -// export -$def($def.G + $def.W + $def.F * !useNative, {Promise: P}); -require('./$.tag')(P, PROMISE); -species(P); -species(Wrapper = require('./$.core')[PROMISE]); +$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: P}); +require('./$.set-to-string-tag')(P, PROMISE); +require('./$.set-species')(PROMISE); +Wrapper = require('./$.core')[PROMISE]; // statics -$def($def.S + $def.F * !useNative, PROMISE, { +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { // 25.4.4.5 Promise.reject(r) reject: function reject(r){ - return new this(function(res, rej){ rej(r); }); + var capability = new PromiseCapability(this) + , $$reject = capability.reject; + $$reject(r); + return capability.promise; } }); -$def($def.S + $def.F * (!useNative || testResolve(true)), PROMISE, { +$export($export.S + $export.F * (!USE_NATIVE || testResolve(true)), PROMISE, { // 25.4.4.6 Promise.resolve(x) resolve: function resolve(x){ - return isPromise(x) && sameConstructor(x.constructor, this) - ? x : new this(function(res){ res(x); }); + // instanceof instead of internal slot check because we should fix it without replacement native Promise core + if(x instanceof P && sameConstructor(x.constructor, this))return x; + var capability = new PromiseCapability(this) + , $$resolve = capability.resolve; + $$resolve(x); + return capability.promise; } }); -$def($def.S + $def.F * !(useNative && require('./$.iter-detect')(function(iter){ +$export($export.S + $export.F * !(USE_NATIVE && require('./$.iter-detect')(function(iter){ P.all(iter)['catch'](function(){}); })), PROMISE, { // 25.4.4.1 Promise.all(iterable) all: function all(iterable){ - var C = getConstructor(this) - , values = []; - return new C(function(res, rej){ + var C = getConstructor(this) + , capability = new PromiseCapability(C) + , resolve = capability.resolve + , reject = capability.reject + , values = []; + var abrupt = perform(function(){ forOf(iterable, false, values.push, values); var remaining = values.length , results = Array(remaining); if(remaining)$.each.call(values, function(promise, index){ + var alreadyCalled = false; C.resolve(promise).then(function(value){ + if(alreadyCalled)return; + alreadyCalled = true; results[index] = value; - --remaining || res(results); - }, rej); + --remaining || resolve(results); + }, reject); }); - else res(results); + else resolve(results); }); + if(abrupt)reject(abrupt.error); + return capability.promise; }, // 25.4.4.4 Promise.race(iterable) race: function race(iterable){ - var C = getConstructor(this); - return new C(function(res, rej){ + var C = getConstructor(this) + , capability = new PromiseCapability(C) + , reject = capability.reject; + var abrupt = perform(function(){ forOf(iterable, false, function(promise){ - C.resolve(promise).then(res, rej); + C.resolve(promise).then(capability.resolve, reject); }); }); + if(abrupt)reject(abrupt.error); + return capability.promise; } }); -},{"./$":46,"./$.a-function":7,"./$.an-object":8,"./$.classof":12,"./$.core":18,"./$.ctx":19,"./$.def":20,"./$.for-of":28,"./$.global":30,"./$.is-object":38,"./$.iter-detect":43,"./$.library":48,"./$.microtask":50,"./$.mix":51,"./$.same":60,"./$.set-proto":61,"./$.species":64,"./$.strict-new":65,"./$.support-desc":71,"./$.tag":72,"./$.uid":79,"./$.wks":81}],137:[function(require,module,exports){ +},{"./$":53,"./$.a-function":9,"./$.an-object":11,"./$.classof":17,"./$.core":23,"./$.ctx":24,"./$.descriptors":26,"./$.export":29,"./$.for-of":34,"./$.global":36,"./$.is-object":45,"./$.iter-detect":50,"./$.library":55,"./$.microtask":59,"./$.redefine-all":67,"./$.same-value":70,"./$.set-proto":71,"./$.set-species":72,"./$.set-to-string-tag":73,"./$.species-constructor":75,"./$.strict-new":76,"./$.wks":90}],146:[function(require,module,exports){ // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) -var $def = require('./$.def') - , _apply = Function.apply; +var $export = require('./$.export') + , _apply = Function.apply + , anObject = require('./$.an-object'); -$def($def.S, 'Reflect', { +$export($export.S, 'Reflect', { apply: function apply(target, thisArgument, argumentsList){ - return _apply.call(target, thisArgument, argumentsList); + return _apply.call(target, thisArgument, anObject(argumentsList)); } }); -},{"./$.def":20}],138:[function(require,module,exports){ +},{"./$.an-object":11,"./$.export":29}],147:[function(require,module,exports){ // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) var $ = require('./$') - , $def = require('./$.def') + , $export = require('./$.export') , aFunction = require('./$.a-function') , anObject = require('./$.an-object') , isObject = require('./$.is-object') , bind = Function.bind || require('./$.core').Function.prototype.bind; -$def($def.S, 'Reflect', { +// MS Edge supports only 2 arguments +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +$export($export.S + $export.F * require('./$.fails')(function(){ + function F(){} + return !(Reflect.construct(function(){}, [], F) instanceof F); +}), 'Reflect', { construct: function construct(Target, args /*, newTarget*/){ aFunction(Target); - if(arguments.length < 3){ - // w/o newTarget, optimization for 0-4 arguments - if(args != undefined)switch(anObject(args).length){ + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + 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 newTarget, lot of arguments case + // w/o altered newTarget, lot of arguments case var $args = [null]; $args.push.apply($args, args); return new (bind.apply(Target, $args)); } - // with newTarget, not support built-in constructors - var proto = aFunction(arguments[2]).prototype + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype , instance = $.create(isObject(proto) ? proto : Object.prototype) , result = Function.apply.call(Target, instance, args); return isObject(result) ? result : instance; } }); -},{"./$":46,"./$.a-function":7,"./$.an-object":8,"./$.core":18,"./$.def":20,"./$.is-object":38}],139:[function(require,module,exports){ +},{"./$":53,"./$.a-function":9,"./$.an-object":11,"./$.core":23,"./$.export":29,"./$.fails":31,"./$.is-object":45}],148:[function(require,module,exports){ // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) var $ = require('./$') - , $def = require('./$.def') + , $export = require('./$.export') , anObject = require('./$.an-object'); // MS Edge has broken Reflect.defineProperty - throwing instead of returning false -$def($def.S + $def.F * require('./$.fails')(function(){ +$export($export.S + $export.F * require('./$.fails')(function(){ Reflect.defineProperty($.setDesc({}, 1, {value: 1}), 1, {value: 2}); }), 'Reflect', { defineProperty: function defineProperty(target, propertyKey, attributes){ @@ -3417,22 +3599,22 @@ $def($def.S + $def.F * require('./$.fails')(function(){ } } }); -},{"./$":46,"./$.an-object":8,"./$.def":20,"./$.fails":25}],140:[function(require,module,exports){ +},{"./$":53,"./$.an-object":11,"./$.export":29,"./$.fails":31}],149:[function(require,module,exports){ // 26.1.4 Reflect.deleteProperty(target, propertyKey) -var $def = require('./$.def') +var $export = require('./$.export') , getDesc = require('./$').getDesc , anObject = require('./$.an-object'); -$def($def.S, 'Reflect', { +$export($export.S, 'Reflect', { deleteProperty: function deleteProperty(target, propertyKey){ var desc = getDesc(anObject(target), propertyKey); return desc && !desc.configurable ? false : delete target[propertyKey]; } }); -},{"./$":46,"./$.an-object":8,"./$.def":20}],141:[function(require,module,exports){ +},{"./$":53,"./$.an-object":11,"./$.export":29}],150:[function(require,module,exports){ 'use strict'; // 26.1.5 Reflect.enumerate(target) -var $def = require('./$.def') +var $export = require('./$.export') , anObject = require('./$.an-object'); var Enumerate = function(iterated){ this._t = anObject(iterated); // target @@ -3451,38 +3633,38 @@ require('./$.iter-create')(Enumerate, 'Object', function(){ return {value: key, done: false}; }); -$def($def.S, 'Reflect', { +$export($export.S, 'Reflect', { enumerate: function enumerate(target){ return new Enumerate(target); } }); -},{"./$.an-object":8,"./$.def":20,"./$.iter-create":41}],142:[function(require,module,exports){ +},{"./$.an-object":11,"./$.export":29,"./$.iter-create":48}],151:[function(require,module,exports){ // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) var $ = require('./$') - , $def = require('./$.def') + , $export = require('./$.export') , anObject = require('./$.an-object'); -$def($def.S, 'Reflect', { +$export($export.S, 'Reflect', { getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){ return $.getDesc(anObject(target), propertyKey); } }); -},{"./$":46,"./$.an-object":8,"./$.def":20}],143:[function(require,module,exports){ +},{"./$":53,"./$.an-object":11,"./$.export":29}],152:[function(require,module,exports){ // 26.1.8 Reflect.getPrototypeOf(target) -var $def = require('./$.def') +var $export = require('./$.export') , getProto = require('./$').getProto , anObject = require('./$.an-object'); -$def($def.S, 'Reflect', { +$export($export.S, 'Reflect', { getPrototypeOf: function getPrototypeOf(target){ return getProto(anObject(target)); } }); -},{"./$":46,"./$.an-object":8,"./$.def":20}],144:[function(require,module,exports){ +},{"./$":53,"./$.an-object":11,"./$.export":29}],153:[function(require,module,exports){ // 26.1.6 Reflect.get(target, propertyKey [, receiver]) var $ = require('./$') , has = require('./$.has') - , $def = require('./$.def') + , $export = require('./$.export') , isObject = require('./$.is-object') , anObject = require('./$.an-object'); @@ -3498,40 +3680,40 @@ function get(target, propertyKey/*, receiver*/){ if(isObject(proto = $.getProto(target)))return get(proto, propertyKey, receiver); } -$def($def.S, 'Reflect', {get: get}); -},{"./$":46,"./$.an-object":8,"./$.def":20,"./$.has":31,"./$.is-object":38}],145:[function(require,module,exports){ +$export($export.S, 'Reflect', {get: get}); +},{"./$":53,"./$.an-object":11,"./$.export":29,"./$.has":37,"./$.is-object":45}],154:[function(require,module,exports){ // 26.1.9 Reflect.has(target, propertyKey) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Reflect', { +$export($export.S, 'Reflect', { has: function has(target, propertyKey){ return propertyKey in target; } }); -},{"./$.def":20}],146:[function(require,module,exports){ +},{"./$.export":29}],155:[function(require,module,exports){ // 26.1.10 Reflect.isExtensible(target) -var $def = require('./$.def') +var $export = require('./$.export') , anObject = require('./$.an-object') , $isExtensible = Object.isExtensible; -$def($def.S, 'Reflect', { +$export($export.S, 'Reflect', { isExtensible: function isExtensible(target){ anObject(target); return $isExtensible ? $isExtensible(target) : true; } }); -},{"./$.an-object":8,"./$.def":20}],147:[function(require,module,exports){ +},{"./$.an-object":11,"./$.export":29}],156:[function(require,module,exports){ // 26.1.11 Reflect.ownKeys(target) -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.S, 'Reflect', {ownKeys: require('./$.own-keys')}); -},{"./$.def":20,"./$.own-keys":54}],148:[function(require,module,exports){ +$export($export.S, 'Reflect', {ownKeys: require('./$.own-keys')}); +},{"./$.export":29,"./$.own-keys":63}],157:[function(require,module,exports){ // 26.1.12 Reflect.preventExtensions(target) -var $def = require('./$.def') +var $export = require('./$.export') , anObject = require('./$.an-object') , $preventExtensions = Object.preventExtensions; -$def($def.S, 'Reflect', { +$export($export.S, 'Reflect', { preventExtensions: function preventExtensions(target){ anObject(target); try { @@ -3542,12 +3724,12 @@ $def($def.S, 'Reflect', { } } }); -},{"./$.an-object":8,"./$.def":20}],149:[function(require,module,exports){ +},{"./$.an-object":11,"./$.export":29}],158:[function(require,module,exports){ // 26.1.14 Reflect.setPrototypeOf(target, proto) -var $def = require('./$.def') +var $export = require('./$.export') , setProto = require('./$.set-proto'); -if(setProto)$def($def.S, 'Reflect', { +if(setProto)$export($export.S, 'Reflect', { setPrototypeOf: function setPrototypeOf(target, proto){ setProto.check(target, proto); try { @@ -3558,11 +3740,11 @@ if(setProto)$def($def.S, 'Reflect', { } } }); -},{"./$.def":20,"./$.set-proto":61}],150:[function(require,module,exports){ +},{"./$.export":29,"./$.set-proto":71}],159:[function(require,module,exports){ // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) var $ = require('./$') , has = require('./$.has') - , $def = require('./$.def') + , $export = require('./$.export') , createDesc = require('./$.property-desc') , anObject = require('./$.an-object') , isObject = require('./$.is-object'); @@ -3587,58 +3769,54 @@ function set(target, propertyKey, V/*, receiver*/){ return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); } -$def($def.S, 'Reflect', {set: set}); -},{"./$":46,"./$.an-object":8,"./$.def":20,"./$.has":31,"./$.is-object":38,"./$.property-desc":57}],151:[function(require,module,exports){ -var $ = require('./$') - , global = require('./$.global') - , cof = require('./$.cof') - , $flags = require('./$.flags') - , $RegExp = global.RegExp - , Base = $RegExp - , proto = $RegExp.prototype - , re = /a/g - // "new" creates a new object - , CORRECT_NEW = new $RegExp(re) !== re - // RegExp allows a regex with flags as the pattern - , ALLOWS_RE_WITH_FLAGS = function(){ - try { - return $RegExp(re, 'i') == '/a/i'; - } catch(e){ /* empty */ } - }(); +$export($export.S, 'Reflect', {set: set}); +},{"./$":53,"./$.an-object":11,"./$.export":29,"./$.has":37,"./$.is-object":45,"./$.property-desc":66}],160:[function(require,module,exports){ +var $ = require('./$') + , global = require('./$.global') + , isRegExp = require('./$.is-regexp') + , $flags = require('./$.flags') + , $RegExp = global.RegExp + , Base = $RegExp + , proto = $RegExp.prototype + , re1 = /a/g + , re2 = /a/g + // "new" creates a new object, old webkit buggy here + , CORRECT_NEW = new $RegExp(re1) !== re1; -if(require('./$.support-desc')){ - if(!CORRECT_NEW || !ALLOWS_RE_WITH_FLAGS){ - $RegExp = function RegExp(pattern, flags){ - var patternIsRegExp = cof(pattern) == 'RegExp' - , flagsIsUndefined = flags === undefined; - if(!(this instanceof $RegExp) && patternIsRegExp && flagsIsUndefined)return pattern; - return CORRECT_NEW - ? new Base(patternIsRegExp && !flagsIsUndefined ? pattern.source : pattern, flags) - : new Base(patternIsRegExp ? pattern.source : pattern - , patternIsRegExp && flagsIsUndefined ? $flags.call(pattern) : flags); - }; - $.each.call($.getNames(Base), function(key){ - key in $RegExp || $.setDesc($RegExp, key, { - configurable: true, - get: function(){ return Base[key]; }, - set: function(it){ Base[key] = it; } - }); +if(require('./$.descriptors') && (!CORRECT_NEW || require('./$.fails')(function(){ + re2[require('./$.wks')('match')] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; +}))){ + $RegExp = function RegExp(p, f){ + var piRE = isRegExp(p) + , fiU = f === undefined; + return !(this instanceof $RegExp) && piRE && p.constructor === $RegExp && fiU ? p + : CORRECT_NEW + ? new Base(piRE && !fiU ? p.source : p, f) + : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f); + }; + $.each.call($.getNames(Base), function(key){ + key in $RegExp || $.setDesc($RegExp, key, { + configurable: true, + get: function(){ return Base[key]; }, + set: function(it){ Base[key] = it; } }); - proto.constructor = $RegExp; - $RegExp.prototype = proto; - require('./$.redef')(global, 'RegExp', $RegExp); - } + }); + proto.constructor = $RegExp; + $RegExp.prototype = proto; + require('./$.redefine')(global, 'RegExp', $RegExp); } -require('./$.species')($RegExp); -},{"./$":46,"./$.cof":13,"./$.flags":27,"./$.global":30,"./$.redef":58,"./$.species":64,"./$.support-desc":71}],152:[function(require,module,exports){ +require('./$.set-species')('RegExp'); +},{"./$":53,"./$.descriptors":26,"./$.fails":31,"./$.flags":33,"./$.global":36,"./$.is-regexp":46,"./$.redefine":68,"./$.set-species":72,"./$.wks":90}],161:[function(require,module,exports){ // 21.2.5.3 get RegExp.prototype.flags() var $ = require('./$'); -if(require('./$.support-desc') && /./g.flags != 'g')$.setDesc(RegExp.prototype, 'flags', { +if(require('./$.descriptors') && /./g.flags != 'g')$.setDesc(RegExp.prototype, 'flags', { configurable: true, get: require('./$.flags') }); -},{"./$":46,"./$.flags":27,"./$.support-desc":71}],153:[function(require,module,exports){ +},{"./$":53,"./$.descriptors":26,"./$.flags":33}],162:[function(require,module,exports){ // @@match logic require('./$.fix-re-wks')('match', 1, function(defined, MATCH){ // 21.1.3.11 String.prototype.match(regexp) @@ -3649,7 +3827,7 @@ require('./$.fix-re-wks')('match', 1, function(defined, MATCH){ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); }; }); -},{"./$.fix-re-wks":26}],154:[function(require,module,exports){ +},{"./$.fix-re-wks":32}],163:[function(require,module,exports){ // @@replace logic require('./$.fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){ // 21.1.3.14 String.prototype.replace(searchValue, replaceValue) @@ -3662,7 +3840,7 @@ require('./$.fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){ : $replace.call(String(O), searchValue, replaceValue); }; }); -},{"./$.fix-re-wks":26}],155:[function(require,module,exports){ +},{"./$.fix-re-wks":32}],164:[function(require,module,exports){ // @@search logic require('./$.fix-re-wks')('search', 1, function(defined, SEARCH){ // 21.1.3.15 String.prototype.search(regexp) @@ -3673,7 +3851,7 @@ require('./$.fix-re-wks')('search', 1, function(defined, SEARCH){ return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); }; }); -},{"./$.fix-re-wks":26}],156:[function(require,module,exports){ +},{"./$.fix-re-wks":32}],165:[function(require,module,exports){ // @@split logic require('./$.fix-re-wks')('split', 2, function(defined, SPLIT, $split){ // 21.1.3.17 String.prototype.split(separator, limit) @@ -3686,63 +3864,68 @@ require('./$.fix-re-wks')('split', 2, function(defined, SPLIT, $split){ : $split.call(String(O), separator, limit); }; }); -},{"./$.fix-re-wks":26}],157:[function(require,module,exports){ +},{"./$.fix-re-wks":32}],166:[function(require,module,exports){ 'use strict'; var strong = require('./$.collection-strong'); // 23.2 Set Objects require('./$.collection')('Set', function(get){ - return function Set(){ return get(this, arguments[0]); }; + return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.2.3.1 Set.prototype.add(value) add: function add(value){ return strong.def(this, value = value === 0 ? 0 : value, value); } }, strong); -},{"./$.collection":17,"./$.collection-strong":14}],158:[function(require,module,exports){ +},{"./$.collection":22,"./$.collection-strong":19}],167:[function(require,module,exports){ 'use strict'; -var $def = require('./$.def') - , $at = require('./$.string-at')(false); -$def($def.P, 'String', { +var $export = require('./$.export') + , $at = require('./$.string-at')(false); +$export($export.P, 'String', { // 21.1.3.3 String.prototype.codePointAt(pos) codePointAt: function codePointAt(pos){ return $at(this, pos); } }); -},{"./$.def":20,"./$.string-at":66}],159:[function(require,module,exports){ +},{"./$.export":29,"./$.string-at":77}],168:[function(require,module,exports){ +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) 'use strict'; -var $def = require('./$.def') - , toLength = require('./$.to-length') - , context = require('./$.string-context'); +var $export = require('./$.export') + , toLength = require('./$.to-length') + , context = require('./$.string-context') + , ENDS_WITH = 'endsWith' + , $endsWith = ''[ENDS_WITH]; -// should throw error on regex -$def($def.P + $def.F * !require('./$.fails')(function(){ 'q'.endsWith(/./); }), 'String', { - // 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) +$export($export.P + $export.F * require('./$.fails-is-regexp')(ENDS_WITH), 'String', { endsWith: function endsWith(searchString /*, endPosition = @length */){ - var that = context(this, searchString, 'endsWith') - , endPosition = arguments[1] + var that = context(this, searchString, ENDS_WITH) + , $$ = arguments + , endPosition = $$.length > 1 ? $$[1] : undefined , len = toLength(that.length) , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len) , search = String(searchString); - return that.slice(end - search.length, end) === search; + return $endsWith + ? $endsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; } }); -},{"./$.def":20,"./$.fails":25,"./$.string-context":67,"./$.to-length":77}],160:[function(require,module,exports){ -var $def = require('./$.def') - , toIndex = require('./$.to-index') - , fromCharCode = String.fromCharCode +},{"./$.export":29,"./$.fails-is-regexp":30,"./$.string-context":78,"./$.to-length":86}],169:[function(require,module,exports){ +var $export = require('./$.export') + , toIndex = require('./$.to-index') + , fromCharCode = String.fromCharCode , $fromCodePoint = String.fromCodePoint; // length should be 1, old FF problem -$def($def.S + $def.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { +$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { // 21.1.2.2 String.fromCodePoint(...codePoints) fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars - var res = [] - , len = arguments.length - , i = 0 + var res = [] + , $$ = arguments + , $$len = $$.length + , i = 0 , code; - while(len > i){ - code = +arguments[i++]; + while($$len > i){ + code = +$$[i++]; if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point'); res.push(code < 0x10000 ? fromCharCode(code) @@ -3751,18 +3934,20 @@ $def($def.S + $def.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String } return res.join(''); } }); -},{"./$.def":20,"./$.to-index":74}],161:[function(require,module,exports){ +},{"./$.export":29,"./$.to-index":83}],170:[function(require,module,exports){ +// 21.1.3.7 String.prototype.includes(searchString, position = 0) 'use strict'; -var $def = require('./$.def') - , context = require('./$.string-context'); +var $export = require('./$.export') + , context = require('./$.string-context') + , INCLUDES = 'includes'; -$def($def.P, 'String', { - // 21.1.3.7 String.prototype.includes(searchString, position = 0) +$export($export.P + $export.F * require('./$.fails-is-regexp')(INCLUDES), 'String', { includes: function includes(searchString /*, position = 0 */){ - return !!~context(this, searchString, 'includes').indexOf(searchString, arguments[1]); + return !!~context(this, searchString, INCLUDES) + .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); } }); -},{"./$.def":20,"./$.string-context":67}],162:[function(require,module,exports){ +},{"./$.export":29,"./$.fails-is-regexp":30,"./$.string-context":78}],171:[function(require,module,exports){ 'use strict'; var $at = require('./$.string-at')(true); @@ -3780,49 +3965,54 @@ require('./$.iter-define')(String, 'String', function(iterated){ this._i += point.length; return {value: point, done: false}; }); -},{"./$.iter-define":42,"./$.string-at":66}],163:[function(require,module,exports){ -var $def = require('./$.def') +},{"./$.iter-define":49,"./$.string-at":77}],172:[function(require,module,exports){ +var $export = require('./$.export') , toIObject = require('./$.to-iobject') , toLength = require('./$.to-length'); -$def($def.S, 'String', { +$export($export.S, 'String', { // 21.1.2.4 String.raw(callSite, ...substitutions) raw: function raw(callSite){ - var tpl = toIObject(callSite.raw) - , len = toLength(tpl.length) - , sln = arguments.length - , res = [] - , i = 0; + var tpl = toIObject(callSite.raw) + , len = toLength(tpl.length) + , $$ = arguments + , $$len = $$.length + , res = [] + , i = 0; while(len > i){ res.push(String(tpl[i++])); - if(i < sln)res.push(String(arguments[i])); + if(i < $$len)res.push(String($$[i])); } return res.join(''); } }); -},{"./$.def":20,"./$.to-iobject":76,"./$.to-length":77}],164:[function(require,module,exports){ -var $def = require('./$.def'); +},{"./$.export":29,"./$.to-iobject":85,"./$.to-length":86}],173:[function(require,module,exports){ +var $export = require('./$.export'); -$def($def.P, 'String', { +$export($export.P, 'String', { // 21.1.3.13 String.prototype.repeat(count) repeat: require('./$.string-repeat') }); -},{"./$.def":20,"./$.string-repeat":69}],165:[function(require,module,exports){ +},{"./$.export":29,"./$.string-repeat":80}],174:[function(require,module,exports){ +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) 'use strict'; -var $def = require('./$.def') - , toLength = require('./$.to-length') - , context = require('./$.string-context'); +var $export = require('./$.export') + , toLength = require('./$.to-length') + , context = require('./$.string-context') + , STARTS_WITH = 'startsWith' + , $startsWith = ''[STARTS_WITH]; -// should throw error on regex -$def($def.P + $def.F * !require('./$.fails')(function(){ 'q'.startsWith(/./); }), 'String', { - // 21.1.3.18 String.prototype.startsWith(searchString [, position ]) +$export($export.P + $export.F * require('./$.fails-is-regexp')(STARTS_WITH), 'String', { startsWith: function startsWith(searchString /*, position = 0 */){ - var that = context(this, searchString, 'startsWith') - , index = toLength(Math.min(arguments[1], that.length)) + var that = context(this, searchString, STARTS_WITH) + , $$ = arguments + , index = toLength(Math.min($$.length > 1 ? $$[1] : undefined, that.length)) , search = String(searchString); - return that.slice(index, index + search.length) === search; + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; } }); -},{"./$.def":20,"./$.fails":25,"./$.string-context":67,"./$.to-length":77}],166:[function(require,module,exports){ +},{"./$.export":29,"./$.fails-is-regexp":30,"./$.string-context":78,"./$.to-length":86}],175:[function(require,module,exports){ 'use strict'; // 21.1.3.25 String.prototype.trim() require('./$.string-trim')('trim', function($trim){ @@ -3830,30 +4020,34 @@ require('./$.string-trim')('trim', function($trim){ return $trim(this, 3); }; }); -},{"./$.string-trim":70}],167:[function(require,module,exports){ +},{"./$.string-trim":81}],176:[function(require,module,exports){ 'use strict'; // ECMAScript 6 symbols shim var $ = require('./$') , global = require('./$.global') , has = require('./$.has') - , SUPPORT_DESC = require('./$.support-desc') - , $def = require('./$.def') - , $redef = require('./$.redef') + , DESCRIPTORS = require('./$.descriptors') + , $export = require('./$.export') + , redefine = require('./$.redefine') + , $fails = require('./$.fails') , shared = require('./$.shared') - , setTag = require('./$.tag') + , setToStringTag = require('./$.set-to-string-tag') , uid = require('./$.uid') , wks = require('./$.wks') , keyOf = require('./$.keyof') , $names = require('./$.get-names') , enumKeys = require('./$.enum-keys') + , isArray = require('./$.is-array') , anObject = require('./$.an-object') , toIObject = require('./$.to-iobject') , createDesc = require('./$.property-desc') , getDesc = $.getDesc , setDesc = $.setDesc - , $create = $.create + , _create = $.create , getNames = $names.get , $Symbol = global.Symbol + , $JSON = global.JSON + , _stringify = $JSON && $JSON.stringify , setter = false , HIDDEN = wks('_hidden') , isEnum = $.isEnum @@ -3862,27 +4056,22 @@ var $ = require('./$') , useNative = typeof $Symbol == 'function' , ObjectProto = Object.prototype; -var setSymbolDesc = SUPPORT_DESC ? function(){ // fallback for old Android - try { - return $create(setDesc({}, HIDDEN, { - get: function(){ - return setDesc(this, HIDDEN, {value: false})[HIDDEN]; - } - }))[HIDDEN] || setDesc; - } catch(e){ - return function(it, key, D){ - var protoDesc = getDesc(ObjectProto, key); - if(protoDesc)delete ObjectProto[key]; - setDesc(it, key, D); - if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc); - }; - } -}() : setDesc; +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function(){ + return _create(setDesc({}, 'a', { + get: function(){ return setDesc(this, 'a', {value: 7}).a; } + })).a != 7; +}) ? function(it, key, D){ + var protoDesc = getDesc(ObjectProto, key); + if(protoDesc)delete ObjectProto[key]; + setDesc(it, key, D); + if(protoDesc && it !== ObjectProto)setDesc(ObjectProto, key, protoDesc); +} : setDesc; var wrap = function(tag){ - var sym = AllSymbols[tag] = $create($Symbol.prototype); + var sym = AllSymbols[tag] = _create($Symbol.prototype); sym._k = tag; - SUPPORT_DESC && setter && setSymbolDesc(ObjectProto, tag, { + DESCRIPTORS && setter && setSymbolDesc(ObjectProto, tag, { configurable: true, set: function(value){ if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false; @@ -3892,76 +4081,107 @@ var wrap = function(tag){ return sym; }; -function defineProperty(it, key, D){ +var isSymbol = function(it){ + return typeof it == 'symbol'; +}; + +var $defineProperty = function defineProperty(it, key, D){ if(D && has(AllSymbols, key)){ if(!D.enumerable){ if(!has(it, HIDDEN))setDesc(it, HIDDEN, createDesc(1, {})); it[HIDDEN][key] = true; } else { if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false; - D = $create(D, {enumerable: createDesc(0, false)}); + D = _create(D, {enumerable: createDesc(0, false)}); } return setSymbolDesc(it, key, D); } return setDesc(it, key, D); -} -function defineProperties(it, P){ +}; +var $defineProperties = function defineProperties(it, P){ anObject(it); var keys = enumKeys(P = toIObject(P)) , i = 0 , l = keys.length , key; - while(l > i)defineProperty(it, key = keys[i++], P[key]); + while(l > i)$defineProperty(it, key = keys[i++], P[key]); return it; -} -function create(it, P){ - return P === undefined ? $create(it) : defineProperties($create(it), P); -} -function propertyIsEnumerable(key){ +}; +var $create = function create(it, P){ + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key){ var E = isEnum.call(this, key); return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; -} -function getOwnPropertyDescriptor(it, key){ +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){ var D = getDesc(it = toIObject(it), key); if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true; return D; -} -function getOwnPropertyNames(it){ +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it){ var names = getNames(toIObject(it)) , result = [] , i = 0 , key; while(names.length > i)if(!has(AllSymbols, key = names[i++]) && key != HIDDEN)result.push(key); return result; -} -function getOwnPropertySymbols(it){ +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it){ var names = getNames(toIObject(it)) , result = [] , i = 0 , key; while(names.length > i)if(has(AllSymbols, key = names[i++]))result.push(AllSymbols[key]); return result; -} +}; +var $stringify = function stringify(it){ + if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined + var args = [it] + , i = 1 + , $$ = arguments + , replacer, $replacer; + while($$.length > i)args.push($$[i++]); + replacer = args[1]; + if(typeof replacer == 'function')$replacer = replacer; + if($replacer || !isArray(replacer))replacer = function(key, value){ + if($replacer)value = $replacer.call(this, key, value); + if(!isSymbol(value))return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); +}; +var buggyJSON = $fails(function(){ + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}'; +}); // 19.4.1.1 Symbol([description]) if(!useNative){ $Symbol = function Symbol(){ - if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor'); - return wrap(uid(arguments[0])); + if(isSymbol(this))throw TypeError('Symbol is not a constructor'); + return wrap(uid(arguments.length > 0 ? arguments[0] : undefined)); }; - $redef($Symbol.prototype, 'toString', function(){ + redefine($Symbol.prototype, 'toString', function toString(){ return this._k; }); - $.create = create; - $.isEnum = propertyIsEnumerable; - $.getDesc = getOwnPropertyDescriptor; - $.setDesc = defineProperty; - $.setDescs = defineProperties; - $.getNames = $names.get = getOwnPropertyNames; - $.getSymbols = getOwnPropertySymbols; + isSymbol = function(it){ + return it instanceof $Symbol; + }; - if(SUPPORT_DESC && !require('./$.library')){ - $redef(ObjectProto, 'propertyIsEnumerable', propertyIsEnumerable, true); + $.create = $create; + $.isEnum = $propertyIsEnumerable; + $.getDesc = $getOwnPropertyDescriptor; + $.setDesc = $defineProperty; + $.setDescs = $defineProperties; + $.getNames = $names.get = $getOwnPropertyNames; + $.getSymbols = $getOwnPropertySymbols; + + if(DESCRIPTORS && !require('./$.library')){ + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); } } @@ -3991,44 +4211,47 @@ var symbolStatics = { // 19.4.2.13 Symbol.toStringTag // 19.4.2.14 Symbol.unscopables $.each.call(( - 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' + - 'species,split,toPrimitive,toStringTag,unscopables' - ).split(','), function(it){ - var sym = wks(it); - symbolStatics[it] = useNative ? sym : wrap(sym); - } -); + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,' + + 'species,split,toPrimitive,toStringTag,unscopables' +).split(','), function(it){ + var sym = wks(it); + symbolStatics[it] = useNative ? sym : wrap(sym); +}); setter = true; -$def($def.G + $def.W, {Symbol: $Symbol}); +$export($export.G + $export.W, {Symbol: $Symbol}); -$def($def.S, 'Symbol', symbolStatics); +$export($export.S, 'Symbol', symbolStatics); -$def($def.S + $def.F * !useNative, 'Object', { +$export($export.S + $export.F * !useNative, 'Object', { // 19.1.2.2 Object.create(O [, Properties]) - create: create, + create: $create, // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: defineProperty, + defineProperty: $defineProperty, // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: defineProperties, + defineProperties: $defineProperties, // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: getOwnPropertyDescriptor, + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: getOwnPropertyNames, + getOwnPropertyNames: $getOwnPropertyNames, // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: getOwnPropertySymbols + getOwnPropertySymbols: $getOwnPropertySymbols }); +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!useNative || buggyJSON), 'JSON', {stringify: $stringify}); + // 19.4.3.5 Symbol.prototype[@@toStringTag] -setTag($Symbol, 'Symbol'); +setToStringTag($Symbol, 'Symbol'); // 20.2.1.9 Math[@@toStringTag] -setTag(Math, 'Math', true); +setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] -setTag(global.JSON, 'JSON', true); -},{"./$":46,"./$.an-object":8,"./$.def":20,"./$.enum-keys":23,"./$.get-names":29,"./$.global":30,"./$.has":31,"./$.keyof":47,"./$.library":48,"./$.property-desc":57,"./$.redef":58,"./$.shared":62,"./$.support-desc":71,"./$.tag":72,"./$.to-iobject":76,"./$.uid":79,"./$.wks":81}],168:[function(require,module,exports){ +setToStringTag(global.JSON, 'JSON', true); +},{"./$":53,"./$.an-object":11,"./$.descriptors":26,"./$.enum-keys":28,"./$.export":29,"./$.fails":31,"./$.get-names":35,"./$.global":36,"./$.has":37,"./$.is-array":43,"./$.keyof":54,"./$.library":55,"./$.property-desc":66,"./$.redefine":68,"./$.set-to-string-tag":73,"./$.shared":74,"./$.to-iobject":85,"./$.uid":89,"./$.wks":90}],177:[function(require,module,exports){ 'use strict'; var $ = require('./$') + , redefine = require('./$.redefine') , weak = require('./$.collection-weak') , isObject = require('./$.is-object') , has = require('./$.has') @@ -4039,7 +4262,7 @@ var $ = require('./$') // 23.3 WeakMap Objects var $WeakMap = require('./$.collection')('WeakMap', function(get){ - return function WeakMap(){ return get(this, arguments[0]); }; + return function WeakMap(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.3.3.3 WeakMap.prototype.get(key) get: function get(key){ @@ -4059,7 +4282,7 @@ if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ $.each.call(['delete', 'has', 'get', 'set'], function(key){ var proto = $WeakMap.prototype , method = proto[key]; - require('./$.redef')(proto, key, function(a, b){ + redefine(proto, key, function(a, b){ // store frozen objects on leaky map if(isObject(a) && !isExtensible(a)){ var result = frozenStore(this)[key](a, b); @@ -4069,54 +4292,56 @@ if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ }); }); } -},{"./$":46,"./$.collection":17,"./$.collection-weak":16,"./$.has":31,"./$.is-object":38,"./$.redef":58}],169:[function(require,module,exports){ +},{"./$":53,"./$.collection":22,"./$.collection-weak":21,"./$.has":37,"./$.is-object":45,"./$.redefine":68}],178:[function(require,module,exports){ 'use strict'; var weak = require('./$.collection-weak'); // 23.4 WeakSet Objects require('./$.collection')('WeakSet', function(get){ - return function WeakSet(){ return get(this, arguments[0]); }; + return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.4.3.1 WeakSet.prototype.add(value) add: function add(value){ return weak.def(this, value, true); } }, weak, false, true); -},{"./$.collection":17,"./$.collection-weak":16}],170:[function(require,module,exports){ +},{"./$.collection":22,"./$.collection-weak":21}],179:[function(require,module,exports){ 'use strict'; -var $def = require('./$.def') +var $export = require('./$.export') , $includes = require('./$.array-includes')(true); -$def($def.P, 'Array', { + +$export($export.P, 'Array', { // https://github.com/domenic/Array.prototype.includes includes: function includes(el /*, fromIndex = 0 */){ - return $includes(this, el, arguments[1]); + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); } }); -require('./$.unscope')('includes'); -},{"./$.array-includes":9,"./$.def":20,"./$.unscope":80}],171:[function(require,module,exports){ -// https://github.com/DavidBruant/Map-Set.prototype.toJSON -var $def = require('./$.def'); -$def($def.P, 'Map', {toJSON: require('./$.collection-to-json')('Map')}); -},{"./$.collection-to-json":15,"./$.def":20}],172:[function(require,module,exports){ +require('./$.add-to-unscopables')('includes'); +},{"./$.add-to-unscopables":10,"./$.array-includes":14,"./$.export":29}],180:[function(require,module,exports){ +// https://github.com/DavidBruant/Map-Set.prototype.toJSON +var $export = require('./$.export'); + +$export($export.P, 'Map', {toJSON: require('./$.collection-to-json')('Map')}); +},{"./$.collection-to-json":20,"./$.export":29}],181:[function(require,module,exports){ // http://goo.gl/XkBrjD -var $def = require('./$.def') +var $export = require('./$.export') , $entries = require('./$.object-to-array')(true); -$def($def.S, 'Object', { +$export($export.S, 'Object', { entries: function entries(it){ return $entries(it); } }); -},{"./$.def":20,"./$.object-to-array":53}],173:[function(require,module,exports){ +},{"./$.export":29,"./$.object-to-array":62}],182:[function(require,module,exports){ // https://gist.github.com/WebReflection/9353781 var $ = require('./$') - , $def = require('./$.def') + , $export = require('./$.export') , ownKeys = require('./$.own-keys') , toIObject = require('./$.to-iobject') , createDesc = require('./$.property-desc'); -$def($def.S, 'Object', { +$export($export.S, 'Object', { getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){ var O = toIObject(object) , setDesc = $.setDesc @@ -4132,56 +4357,60 @@ $def($def.S, 'Object', { } return result; } }); -},{"./$":46,"./$.def":20,"./$.own-keys":54,"./$.property-desc":57,"./$.to-iobject":76}],174:[function(require,module,exports){ +},{"./$":53,"./$.export":29,"./$.own-keys":63,"./$.property-desc":66,"./$.to-iobject":85}],183:[function(require,module,exports){ // http://goo.gl/XkBrjD -var $def = require('./$.def') +var $export = require('./$.export') , $values = require('./$.object-to-array')(false); -$def($def.S, 'Object', { +$export($export.S, 'Object', { values: function values(it){ return $values(it); } }); -},{"./$.def":20,"./$.object-to-array":53}],175:[function(require,module,exports){ +},{"./$.export":29,"./$.object-to-array":62}],184:[function(require,module,exports){ // https://github.com/benjamingr/RexExp.escape -var $def = require('./$.def') - , $re = require('./$.replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&'); -$def($def.S, 'RegExp', {escape: function escape(it){ return $re(it); }}); +var $export = require('./$.export') + , $re = require('./$.replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&'); -},{"./$.def":20,"./$.replacer":59}],176:[function(require,module,exports){ +$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }}); + +},{"./$.export":29,"./$.replacer":69}],185:[function(require,module,exports){ // https://github.com/DavidBruant/Map-Set.prototype.toJSON -var $def = require('./$.def'); +var $export = require('./$.export'); -$def($def.P, 'Set', {toJSON: require('./$.collection-to-json')('Set')}); -},{"./$.collection-to-json":15,"./$.def":20}],177:[function(require,module,exports){ -// https://github.com/mathiasbynens/String.prototype.at +$export($export.P, 'Set', {toJSON: require('./$.collection-to-json')('Set')}); +},{"./$.collection-to-json":20,"./$.export":29}],186:[function(require,module,exports){ 'use strict'; -var $def = require('./$.def') - , $at = require('./$.string-at')(true); -$def($def.P, 'String', { +// https://github.com/mathiasbynens/String.prototype.at +var $export = require('./$.export') + , $at = require('./$.string-at')(true); + +$export($export.P, 'String', { at: function at(pos){ return $at(this, pos); } }); -},{"./$.def":20,"./$.string-at":66}],178:[function(require,module,exports){ +},{"./$.export":29,"./$.string-at":77}],187:[function(require,module,exports){ 'use strict'; -var $def = require('./$.def') - , $pad = require('./$.string-pad'); -$def($def.P, 'String', { +var $export = require('./$.export') + , $pad = require('./$.string-pad'); + +$export($export.P, 'String', { padLeft: function padLeft(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments[1], true); + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); } }); -},{"./$.def":20,"./$.string-pad":68}],179:[function(require,module,exports){ +},{"./$.export":29,"./$.string-pad":79}],188:[function(require,module,exports){ 'use strict'; -var $def = require('./$.def') - , $pad = require('./$.string-pad'); -$def($def.P, 'String', { +var $export = require('./$.export') + , $pad = require('./$.string-pad'); + +$export($export.P, 'String', { padRight: function padRight(maxLength /*, fillString = ' ' */){ - return $pad(this, maxLength, arguments[1], false); + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); } }); -},{"./$.def":20,"./$.string-pad":68}],180:[function(require,module,exports){ +},{"./$.export":29,"./$.string-pad":79}],189:[function(require,module,exports){ 'use strict'; // https://github.com/sebmarkbage/ecmascript-string-left-right-trim require('./$.string-trim')('trimLeft', function($trim){ @@ -4189,7 +4418,7 @@ require('./$.string-trim')('trimLeft', function($trim){ return $trim(this, 1); }; }); -},{"./$.string-trim":70}],181:[function(require,module,exports){ +},{"./$.string-trim":81}],190:[function(require,module,exports){ 'use strict'; // https://github.com/sebmarkbage/ecmascript-string-left-right-trim require('./$.string-trim')('trimRight', function($trim){ @@ -4197,24 +4426,25 @@ require('./$.string-trim')('trimRight', function($trim){ return $trim(this, 2); }; }); -},{"./$.string-trim":70}],182:[function(require,module,exports){ +},{"./$.string-trim":81}],191:[function(require,module,exports){ // JavaScript 1.6 / Strawman array statics shim var $ = require('./$') - , $def = require('./$.def') + , $export = require('./$.export') + , $ctx = require('./$.ctx') , $Array = require('./$.core').Array || Array , statics = {}; var setStatics = function(keys, length){ $.each.call(keys.split(','), function(key){ if(length == undefined && key in $Array)statics[key] = $Array[key]; - else if(key in [])statics[key] = require('./$.ctx')(Function.call, [][key], length); + else if(key in [])statics[key] = $ctx(Function.call, [][key], length); }); }; setStatics('pop,reverse,shift,keys,values,entries', 1); setStatics('indexOf,every,some,forEach,map,filter,find,findIndex,includes', 3); setStatics('join,slice,concat,push,splice,unshift,sort,lastIndexOf,' + 'reduce,reduceRight,copyWithin,fill'); -$def($def.S, 'Array', statics); -},{"./$":46,"./$.core":18,"./$.ctx":19,"./$.def":20}],183:[function(require,module,exports){ +$export($export.S, 'Array', statics); +},{"./$":53,"./$.core":23,"./$.ctx":24,"./$.export":29}],192:[function(require,module,exports){ require('./es6.array.iterator'); var global = require('./$.global') , hide = require('./$.hide') @@ -4225,19 +4455,19 @@ var global = require('./$.global') , NLProto = NL && NL.prototype , HTCProto = HTC && HTC.prototype , ArrayValues = Iterators.NodeList = Iterators.HTMLCollection = Iterators.Array; -if(NL && !(ITERATOR in NLProto))hide(NLProto, ITERATOR, ArrayValues); -if(HTC && !(ITERATOR in HTCProto))hide(HTCProto, ITERATOR, ArrayValues); -},{"./$.global":30,"./$.hide":32,"./$.iterators":45,"./$.wks":81,"./es6.array.iterator":89}],184:[function(require,module,exports){ -var $def = require('./$.def') - , $task = require('./$.task'); -$def($def.G + $def.B, { +if(NLProto && !NLProto[ITERATOR])hide(NLProto, ITERATOR, ArrayValues); +if(HTCProto && !HTCProto[ITERATOR])hide(HTCProto, ITERATOR, ArrayValues); +},{"./$.global":36,"./$.hide":38,"./$.iterators":52,"./$.wks":90,"./es6.array.iterator":98}],193:[function(require,module,exports){ +var $export = require('./$.export') + , $task = require('./$.task'); +$export($export.G + $export.B, { setImmediate: $task.set, clearImmediate: $task.clear }); -},{"./$.def":20,"./$.task":73}],185:[function(require,module,exports){ +},{"./$.export":29,"./$.task":82}],194:[function(require,module,exports){ // ie9- setTimeout & setInterval additional parameters fix var global = require('./$.global') - , $def = require('./$.def') + , $export = require('./$.export') , invoke = require('./$.invoke') , partial = require('./$.partial') , navigator = global.navigator @@ -4251,11 +4481,11 @@ var wrap = function(set){ ), time); } : set; }; -$def($def.G + $def.B + $def.F * MSIE, { +$export($export.G + $export.B + $export.F * MSIE, { setTimeout: wrap(global.setTimeout), setInterval: wrap(global.setInterval) }); -},{"./$.def":20,"./$.global":30,"./$.invoke":34,"./$.partial":55}],186:[function(require,module,exports){ +},{"./$.export":29,"./$.global":36,"./$.invoke":40,"./$.partial":64}],195:[function(require,module,exports){ require('./modules/es5'); require('./modules/es6.symbol'); require('./modules/es6.object.assign'); @@ -4360,7 +4590,193 @@ require('./modules/web.timers'); require('./modules/web.immediate'); require('./modules/web.dom.iterable'); module.exports = require('./modules/$.core'); -},{"./modules/$.core":18,"./modules/es5":83,"./modules/es6.array.copy-within":84,"./modules/es6.array.fill":85,"./modules/es6.array.find":87,"./modules/es6.array.find-index":86,"./modules/es6.array.from":88,"./modules/es6.array.iterator":89,"./modules/es6.array.of":90,"./modules/es6.array.species":91,"./modules/es6.function.has-instance":92,"./modules/es6.function.name":93,"./modules/es6.map":94,"./modules/es6.math.acosh":95,"./modules/es6.math.asinh":96,"./modules/es6.math.atanh":97,"./modules/es6.math.cbrt":98,"./modules/es6.math.clz32":99,"./modules/es6.math.cosh":100,"./modules/es6.math.expm1":101,"./modules/es6.math.fround":102,"./modules/es6.math.hypot":103,"./modules/es6.math.imul":104,"./modules/es6.math.log10":105,"./modules/es6.math.log1p":106,"./modules/es6.math.log2":107,"./modules/es6.math.sign":108,"./modules/es6.math.sinh":109,"./modules/es6.math.tanh":110,"./modules/es6.math.trunc":111,"./modules/es6.number.constructor":112,"./modules/es6.number.epsilon":113,"./modules/es6.number.is-finite":114,"./modules/es6.number.is-integer":115,"./modules/es6.number.is-nan":116,"./modules/es6.number.is-safe-integer":117,"./modules/es6.number.max-safe-integer":118,"./modules/es6.number.min-safe-integer":119,"./modules/es6.number.parse-float":120,"./modules/es6.number.parse-int":121,"./modules/es6.object.assign":122,"./modules/es6.object.freeze":123,"./modules/es6.object.get-own-property-descriptor":124,"./modules/es6.object.get-own-property-names":125,"./modules/es6.object.get-prototype-of":126,"./modules/es6.object.is":130,"./modules/es6.object.is-extensible":127,"./modules/es6.object.is-frozen":128,"./modules/es6.object.is-sealed":129,"./modules/es6.object.keys":131,"./modules/es6.object.prevent-extensions":132,"./modules/es6.object.seal":133,"./modules/es6.object.set-prototype-of":134,"./modules/es6.object.to-string":135,"./modules/es6.promise":136,"./modules/es6.reflect.apply":137,"./modules/es6.reflect.construct":138,"./modules/es6.reflect.define-property":139,"./modules/es6.reflect.delete-property":140,"./modules/es6.reflect.enumerate":141,"./modules/es6.reflect.get":144,"./modules/es6.reflect.get-own-property-descriptor":142,"./modules/es6.reflect.get-prototype-of":143,"./modules/es6.reflect.has":145,"./modules/es6.reflect.is-extensible":146,"./modules/es6.reflect.own-keys":147,"./modules/es6.reflect.prevent-extensions":148,"./modules/es6.reflect.set":150,"./modules/es6.reflect.set-prototype-of":149,"./modules/es6.regexp.constructor":151,"./modules/es6.regexp.flags":152,"./modules/es6.regexp.match":153,"./modules/es6.regexp.replace":154,"./modules/es6.regexp.search":155,"./modules/es6.regexp.split":156,"./modules/es6.set":157,"./modules/es6.string.code-point-at":158,"./modules/es6.string.ends-with":159,"./modules/es6.string.from-code-point":160,"./modules/es6.string.includes":161,"./modules/es6.string.iterator":162,"./modules/es6.string.raw":163,"./modules/es6.string.repeat":164,"./modules/es6.string.starts-with":165,"./modules/es6.string.trim":166,"./modules/es6.symbol":167,"./modules/es6.weak-map":168,"./modules/es6.weak-set":169,"./modules/es7.array.includes":170,"./modules/es7.map.to-json":171,"./modules/es7.object.entries":172,"./modules/es7.object.get-own-property-descriptors":173,"./modules/es7.object.values":174,"./modules/es7.regexp.escape":175,"./modules/es7.set.to-json":176,"./modules/es7.string.at":177,"./modules/es7.string.pad-left":178,"./modules/es7.string.pad-right":179,"./modules/es7.string.trim-left":180,"./modules/es7.string.trim-right":181,"./modules/js.array.statics":182,"./modules/web.dom.iterable":183,"./modules/web.immediate":184,"./modules/web.timers":185}],187:[function(require,module,exports){ +},{"./modules/$.core":23,"./modules/es5":92,"./modules/es6.array.copy-within":93,"./modules/es6.array.fill":94,"./modules/es6.array.find":96,"./modules/es6.array.find-index":95,"./modules/es6.array.from":97,"./modules/es6.array.iterator":98,"./modules/es6.array.of":99,"./modules/es6.array.species":100,"./modules/es6.function.has-instance":101,"./modules/es6.function.name":102,"./modules/es6.map":103,"./modules/es6.math.acosh":104,"./modules/es6.math.asinh":105,"./modules/es6.math.atanh":106,"./modules/es6.math.cbrt":107,"./modules/es6.math.clz32":108,"./modules/es6.math.cosh":109,"./modules/es6.math.expm1":110,"./modules/es6.math.fround":111,"./modules/es6.math.hypot":112,"./modules/es6.math.imul":113,"./modules/es6.math.log10":114,"./modules/es6.math.log1p":115,"./modules/es6.math.log2":116,"./modules/es6.math.sign":117,"./modules/es6.math.sinh":118,"./modules/es6.math.tanh":119,"./modules/es6.math.trunc":120,"./modules/es6.number.constructor":121,"./modules/es6.number.epsilon":122,"./modules/es6.number.is-finite":123,"./modules/es6.number.is-integer":124,"./modules/es6.number.is-nan":125,"./modules/es6.number.is-safe-integer":126,"./modules/es6.number.max-safe-integer":127,"./modules/es6.number.min-safe-integer":128,"./modules/es6.number.parse-float":129,"./modules/es6.number.parse-int":130,"./modules/es6.object.assign":131,"./modules/es6.object.freeze":132,"./modules/es6.object.get-own-property-descriptor":133,"./modules/es6.object.get-own-property-names":134,"./modules/es6.object.get-prototype-of":135,"./modules/es6.object.is":139,"./modules/es6.object.is-extensible":136,"./modules/es6.object.is-frozen":137,"./modules/es6.object.is-sealed":138,"./modules/es6.object.keys":140,"./modules/es6.object.prevent-extensions":141,"./modules/es6.object.seal":142,"./modules/es6.object.set-prototype-of":143,"./modules/es6.object.to-string":144,"./modules/es6.promise":145,"./modules/es6.reflect.apply":146,"./modules/es6.reflect.construct":147,"./modules/es6.reflect.define-property":148,"./modules/es6.reflect.delete-property":149,"./modules/es6.reflect.enumerate":150,"./modules/es6.reflect.get":153,"./modules/es6.reflect.get-own-property-descriptor":151,"./modules/es6.reflect.get-prototype-of":152,"./modules/es6.reflect.has":154,"./modules/es6.reflect.is-extensible":155,"./modules/es6.reflect.own-keys":156,"./modules/es6.reflect.prevent-extensions":157,"./modules/es6.reflect.set":159,"./modules/es6.reflect.set-prototype-of":158,"./modules/es6.regexp.constructor":160,"./modules/es6.regexp.flags":161,"./modules/es6.regexp.match":162,"./modules/es6.regexp.replace":163,"./modules/es6.regexp.search":164,"./modules/es6.regexp.split":165,"./modules/es6.set":166,"./modules/es6.string.code-point-at":167,"./modules/es6.string.ends-with":168,"./modules/es6.string.from-code-point":169,"./modules/es6.string.includes":170,"./modules/es6.string.iterator":171,"./modules/es6.string.raw":172,"./modules/es6.string.repeat":173,"./modules/es6.string.starts-with":174,"./modules/es6.string.trim":175,"./modules/es6.symbol":176,"./modules/es6.weak-map":177,"./modules/es6.weak-set":178,"./modules/es7.array.includes":179,"./modules/es7.map.to-json":180,"./modules/es7.object.entries":181,"./modules/es7.object.get-own-property-descriptors":182,"./modules/es7.object.values":183,"./modules/es7.regexp.escape":184,"./modules/es7.set.to-json":185,"./modules/es7.string.at":186,"./modules/es7.string.pad-left":187,"./modules/es7.string.pad-right":188,"./modules/es7.string.trim-left":189,"./modules/es7.string.trim-right":190,"./modules/js.array.statics":191,"./modules/web.dom.iterable":192,"./modules/web.immediate":193,"./modules/web.timers":194}],196:[function(require,module,exports){ +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],197:[function(require,module,exports){ (function (process,global){ /** * Copyright (c) 2014, Facebook, Inc. @@ -4400,11 +4816,11 @@ module.exports = require('./modules/$.core'); function wrap(innerFn, outerFn, self, tryLocsList) { // If outerFn provided, then outerFn.prototype instanceof Generator. var generator = Object.create((outerFn || Generator).prototype); + var context = new Context(tryLocsList || []); - generator._invoke = makeInvokeMethod( - innerFn, self || null, - new Context(tryLocsList || []) - ); + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); return generator; } @@ -4471,7 +4887,11 @@ module.exports = require('./modules/$.core'); }; runtime.mark = function(genFun) { - genFun.__proto__ = GeneratorFunctionPrototype; + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + } genFun.prototype = Object.create(Gp); return genFun; }; @@ -4528,7 +4948,11 @@ module.exports = require('./modules/$.core'); var previousPromise; function enqueue(method, arg) { - var enqueueResult = + function callInvokeWithMethodAndArg() { + return invoke(method, arg); + } + + return previousPromise = // If enqueue has been called before, then we want to wait until // all previous Promises have been resolved before calling invoke, // so that results are always delivered in the correct order. If @@ -4541,17 +4965,14 @@ module.exports = require('./modules/$.core'); // execute code before the first await. Since we implement simple // async functions in terms of async generators, it is especially // important to get this right, even though it requires care. - previousPromise ? previousPromise.then(function() { - return invoke(method, arg); - }) : new Promise(function(resolve) { - resolve(invoke(method, arg)); + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : new Promise(function (resolve) { + resolve(callInvokeWithMethodAndArg()); }); - - // Avoid propagating enqueueResult failures to Promises returned by - // later invocations of the iterator. - previousPromise = enqueueResult["catch"](function(ignored){}); - - return enqueueResult; } // Define the unified helper method that is used to implement .next, @@ -5015,71 +5436,5 @@ module.exports = require('./modules/$.core'); ); }).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"_process":190}],188:[function(require,module,exports){ -module.exports = require("./lib/polyfill"); - -},{"./lib/polyfill":6}],189:[function(require,module,exports){ -module.exports = require("babel-core/polyfill"); - -},{"babel-core/polyfill":188}],190:[function(require,module,exports){ -// shim for using process in browser - -var process = module.exports = {}; -var queue = []; -var draining = false; - -function drainQueue() { - if (draining) { - return; - } - draining = true; - var currentQueue; - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - var i = -1; - while (++i < len) { - currentQueue[i](); - } - len = queue.length; - } - draining = false; -} -process.nextTick = function (fun) { - queue.push(fun); - if (!draining) { - setTimeout(drainQueue, 0); - } -}; - -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -// TODO(shtylman) -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - -},{}]},{},[3])(3) -}); \ No newline at end of file +},{"_process":196}]},{},[3])(3) +}); diff --git a/equation.min.js b/equation.min.js index ebee48e..e096124 100644 --- a/equation.min.js +++ b/equation.min.js @@ -1,4 +1,3 @@ -!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Equation=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;gd;++d)c=c[c.length-1];return c};c.dive=g;var h=function(a){function b(b,c){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a,b){var c=void 0===arguments[2]?0:arguments[2];if(2>b)return{arr:a,index:c};var d=a.reduce(function(a,d,e){if(Array.isArray(d)){var f=h(d,b-1,e),g=f.arr,i=f.index,j=a.concat(g);return c=i,j}return a},[]);return{arr:d,index:c}});c.deep=h;var i=function(a){function b(b,c,d){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a,b,c){var d=[];if(!b.some(Array.isArray))return a[b[0]]=c,c;var e=!0,f=!1,g=void 0;try{for(var h,j=b[Symbol.iterator]();!(e=(h=j.next()).done);e=!0){var k=h.value;d.push(i(a,k,c))}}catch(l){f=!0,g=l}finally{try{!e&&j["return"]&&j["return"]()}finally{if(f)throw g}}return d});c.diveTo=i;var j=function(a){function b(b){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){return Array.isArray(a)&&a.some(Array.isArray)?a.reduce(function(a,b){return a.concat(j(b))},[]):a});c.flatten=j;var k=function(a){return a.toString().replace(/\W/g,"")};c.removeSymbols=k},{}],3:[function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a:{"default":a}},e=function(a,b){if(Array.isArray(a))return a;if(Symbol.iterator in Object(a)){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!b||c.length!==b);d=!0);}catch(i){e=!0,f=i}finally{try{!d&&h["return"]&&h["return"]()}finally{if(e)throw f}}return c}throw new TypeError("Invalid attempt to destructure non-iterable instance")},f=function(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);be;e++)d[e]=arguments[e];return b.forEach(function f(a,b,e){if(Array.isArray(a))return a.forEach(f);var g=c.indexOf(a);g>-1&&(e[b]=d[g])}),b=w(b),b=n.parseNumbers(b),b=p(b)}},registerOperator:function(a,b){j["default"][a]=b},registerConstant:function(a,b){l["default"][a]=b}},p=function(a){function b(b){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){var b=a.some(function(a){return j["default"][a]&&j["default"][a].hasExpression});return!b&&a.some(Array.isArray)?(a=a.map(function(a){return Array.isArray(a)?p(a):a}),p(a)):x(a)}),q=Object.keys(j["default"]).map(function(a){return j["default"][a].precedence}),r=Math.max.apply(Math,f(q)),s=Math.min.apply(Math,f(q)),t=function(a){a=a.replace(/,/g,")(");for(var b=new h["default"](a),c=[],d="",e=void 0,f=void 0;b.next();)if(e=b.current(),f=c.length-1," "!==e)if(n.isNumber(e)||j["default"][e]||"."===e||"("===e||")"===e)if(d.length){var g=f-(d.length-1);C(d)&&n.isNumber(c[g])&&c.push("*"),c.push(d,e),d=""}else if(n.isNumber(c[f])&&(n.isNumber(e)||"."===e))c[f]+=e;else if("-"===c[f]){var i=c[f-1];j["default"][i]?c[f]+=e:")"===i?(c[f]="+",c.push("-"+e)):n.isNumber(i)||C(i)?c.push(e):c[f]+=e}else c.push(e);else d+=e;if(d.length){var g=f-(d.length-1);C(d)&&n.isNumber(c[g])&&c.push("*"),c.push(d)}return u(c)},u=function(a){var b=0;return a.reduce(function(a,c){return c.indexOf("(")>-1?(c.length>1?n.dive(a,b).push(c.replace("(",""),[]):n.dive(a,b).push([]),b++):")"===c?b--:n.dive(a,b).push(c),a},[])},v=function(a){var b="string"==typeof a?j["default"][a]:a;if(!b)return null;var c=b.format.split("1"),d=c[0].length,e=c[1].length;return{left:d,right:e}},w=function(a){function b(b){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){var b=!0,c=!1,d=void 0;try{for(var f,g=a.entries()[Symbol.iterator]();!(b=(f=g.next()).done);b=!0){var h=e(f.value,2),i=h[0],k=h[1];Array.isArray(k)&&a.splice(i,1,w(k))}}catch(l){c=!0,d=l}finally{try{!b&&g["return"]&&g["return"]()}finally{if(c)throw d}}for(var m=s;r>=m;m++)for(var i=0;iu;u++)t=[t];i-=q}}return a}),x=function(a){var b,c=y(a);if(!c)return a[0];var d=v(c),e=d.left,g=a.slice(0,e),h=a.slice(e+1);return A((b=j["default"][c]).fn.apply(b,f(g).concat(f(h))))},y=function(a){var b=!0,c=!1,d=void 0;try{for(var e,f=a[Symbol.iterator]();!(b=(e=f.next()).done);b=!0){var g=e.value;if("string"==typeof g)return g}}catch(h){c=!0,d=h}finally{try{!b&&f["return"]&&f["return"]()}finally{if(c)throw d}}return null},z=function(a){return a.replace(/[A-Z]*/g,function(a){var b=l["default"][a];return b?"function"==typeof b?b():b:a})},A=function(a){return+a.toFixed(15)},B="()[]{}".split(""),C=function(a){return"string"==typeof a&&!n.isNumber(a)&&!j["default"][a]&&a===a.toLowerCase()&&-1===B.indexOf(a)};c.isVariable=C,c["default"]=o},{"./constants":1,"./helpers":2,"./operators":4,"./readstream":5,"babel/polyfill":189}],4:[function(a,b,c){"use strict";var d=function(a){return a&&a.__esModule?a:{"default":a}};Object.defineProperty(c,"__esModule",{value:!0});var e=a("./index"),f=d(e);c["default"]={"^":{fn:function(a,b){return Math.pow(a,b)},format:"010",precedence:0},"*":{fn:function(a,b){return a*b},format:"010",precedence:1},"/":{fn:function(a,b){return a/b},format:"010",precedence:1},"%":{fn:function(a,b){return a%b},format:"010",precedence:1},"\\":{fn:function(a,b){return Math.floor(a/b)},format:"010",precedence:1},"+":{fn:function(a,b){return a+b},format:"010",precedence:2},"-":{fn:function(a,b){return a-b},format:"010",precedence:2},"!":{fn:function(a){for(var b=1,c=0;a>c;++c)b*=c;return b},format:"01",precedence:2},log:{fn:Math.log,format:"10",precedence:-1},ln:{fn:Math.log,format:"10",precedence:-1},lg:{fn:function(a){return Math.log(a)/Math.log(2)},format:"10",precedence:-1},sin:{fn:Math.sin,format:"10",precedence:-1},cos:{fn:Math.cos,format:"10",precedence:-1},tan:{fn:Math.tan,format:"10",precedence:-1},cot:{fn:Math.cot,format:"10",precedence:-1},round:{fn:Math.round,format:"10",precedence:-1},floor:{fn:Math.floor,format:"10",precedence:-1},sigma:{fn:function(a,b,c){for(var d=c.join("").replace(/,/g,""),e=new RegExp(g,"g"),h=0,i=a;b>=i;i++)h+=f["default"].solve(d.replace(e,i));return h},format:"1000",hasExpression:!0,precedence:-1}};var g="@";b.exports=c["default"]},{"./index":3}],5:[function(a,b,c){"use strict";Object.defineProperty(c,"__esModule",{value:!0}),c["default"]=function(a){var b=0,c=[];return{next:function(){return c.push(a[b]),b>=a.length?null:a[b++]},current:function(){return a[b-1]},index:function(){return b-1},to:function(c){var d="",e=b+c;for(b=b;e>b;++b)d+=[a[b]];return d},drain:function(){return c.splice(0,c.length)},replace:function(a){function b(b,c,d){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(c,d,e){var f=a.split("");f.splice(c,d,e),a=f.join(""),b-=d-c}),go:function(a){b+=a},all:function(){return a}}},b.exports=c["default"]},{}],6:[function(a,b,c){(function(b){"use strict";if(a("core-js/shim"),a("regenerator/runtime"),b._babelPolyfill)throw new Error("only one instance of babel/polyfill is allowed");b._babelPolyfill=!0}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"core-js/shim":186,"regenerator/runtime":187}],7:[function(a,b,c){b.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},{}],8:[function(a,b,c){var d=a("./$.is-object");b.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},{"./$.is-object":38}],9:[function(a,b,c){var d=a("./$.to-iobject"),e=a("./$.to-length"),f=a("./$.to-index");b.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if(h=i[k++],h!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k;return!a&&-1}}},{"./$.to-index":74,"./$.to-iobject":76,"./$.to-length":77}],10:[function(a,b,c){var d=a("./$.ctx"),e=a("./$.iobject"),f=a("./$.to-object"),g=a("./$.to-length");b.exports=function(a){var b=1==a,c=2==a,h=3==a,i=4==a,j=6==a,k=5==a||j;return function(l,m,n){for(var o,p,q=f(l),r=e(q),s=d(m,n,3),t=g(r.length),u=0,v=b?Array(t):c?[]:void 0;t>u;u++)if((k||u in r)&&(o=r[u],p=s(o,u,q),a))if(b)v[u]=p;else if(p)switch(a){case 3:return!0;case 5:return o;case 6:return u;case 2:v.push(o)}else if(i)return!1;return j?-1:h||i?i:v}}},{"./$.ctx":19,"./$.iobject":35,"./$.to-length":77,"./$.to-object":78}],11:[function(a,b,c){var d=a("./$.to-object"),e=a("./$.iobject"),f=a("./$.enum-keys");b.exports=Object.assign||function(a,b){for(var c=d(a),g=arguments.length,h=1;g>h;)for(var i,j=e(arguments[h++]),k=f(j),l=k.length,m=0;l>m;)c[i=k[m++]]=j[i];return c}},{"./$.enum-keys":23,"./$.iobject":35,"./$.to-object":78}],12:[function(a,b,c){var d=a("./$.cof"),e=a("./$.wks")("toStringTag"),f="Arguments"==d(function(){return arguments}());b.exports=function(a){var b,c,g;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=(b=Object(a))[e])?c:f?d(b):"Object"==(g=d(b))&&"function"==typeof b.callee?"Arguments":g}},{"./$.cof":13,"./$.wks":81}],13:[function(a,b,c){var d={}.toString;b.exports=function(a){return d.call(a).slice(8,-1)}},{}],14:[function(a,b,c){"use strict";var d=a("./$"),e=a("./$.hide"),f=a("./$.ctx"),g=a("./$.species"),h=a("./$.strict-new"),i=a("./$.defined"),j=a("./$.for-of"),k=a("./$.iter-step"),l=a("./$.uid")("id"),m=a("./$.has"),n=a("./$.is-object"),o=Object.isExtensible||n,p=a("./$.support-desc"),q=p?"_s":"size",r=0,s=function(a,b){if(!n(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!m(a,l)){if(!o(a))return"F";if(!b)return"E";e(a,l,++r)}return"O"+a[l]},t=function(a,b){var c,d=s(b);if("F"!==d)return a._i[d];for(c=a._f;c;c=c.n)if(c.k==b)return c};b.exports={getConstructor:function(b,c,e,g){var k=b(function(a,b){h(a,k,c),a._i=d.create(null),a._f=void 0,a._l=void 0,a[q]=0,void 0!=b&&j(b,e,a[g],a)});return a("./$.mix")(k.prototype,{clear:function(){for(var a=this,b=a._i,c=a._f;c;c=c.n)c.r=!0,c.p&&(c.p=c.p.n=void 0),delete b[c.i];a._f=a._l=void 0,a[q]=0},"delete":function(a){var b=this,c=t(b,a);if(c){var d=c.n,e=c.p;delete b._i[c.i],c.r=!0,e&&(e.n=d),d&&(d.p=e),b._f==c&&(b._f=d),b._l==c&&(b._l=e),b[q]--}return!!c},forEach:function(a){for(var b,c=f(a,arguments[1],3);b=b?b.n:this._f;)for(c(b.v,b.k,this);b&&b.r;)b=b.p},has:function(a){return!!t(this,a)}}),p&&d.setDesc(k.prototype,"size",{get:function(){return i(this[q])}}),k},def:function(a,b,c){var d,e,f=t(a,b);return f?f.v=c:(a._l=f={i:e=s(b,!0),k:b,v:c,p:d=a._l,n:void 0,r:!1},a._f||(a._f=f),d&&(d.n=f),a[q]++,"F"!==e&&(a._i[e]=f)),a},getEntry:t,setStrong:function(b,c,d){a("./$.iter-define")(b,c,function(a,b){this._t=a,this._k=b,this._l=void 0},function(){for(var a=this,b=a._k,c=a._l;c&&c.r;)c=c.p;return a._t&&(a._l=c=c?c.n:a._t._f)?"keys"==b?k(0,c.k):"values"==b?k(0,c.v):k(0,[c.k,c.v]):(a._t=void 0,k(1))},d?"entries":"values",!d,!0),g(b),g(a("./$.core")[c])}}},{"./$":46,"./$.core":18,"./$.ctx":19,"./$.defined":21,"./$.for-of":28,"./$.has":31,"./$.hide":32,"./$.is-object":38,"./$.iter-define":42,"./$.iter-step":44,"./$.mix":51,"./$.species":64,"./$.strict-new":65,"./$.support-desc":71,"./$.uid":79}],15:[function(a,b,c){var d=a("./$.for-of"),e=a("./$.classof");b.exports=function(a){return function(){if(e(this)!=a)throw TypeError(a+"#toJSON isn't generic");var b=[];return d(this,!1,b.push,b),b}}},{"./$.classof":12,"./$.for-of":28}],16:[function(a,b,c){"use strict";var d=a("./$.hide"),e=a("./$.an-object"),f=a("./$.strict-new"),g=a("./$.for-of"),h=a("./$.array-methods"),i=a("./$.uid")("weak"),j=a("./$.is-object"),k=a("./$.has"),l=Object.isExtensible||j,m=h(5),n=h(6),o=0,p=function(a){return a._l||(a._l=new q)},q=function(){this.a=[]},r=function(a,b){return m(a.a,function(a){return a[0]===b})};q.prototype={get:function(a){var b=r(this,a);return b?b[1]:void 0},has:function(a){return!!r(this,a)},set:function(a,b){var c=r(this,a);c?c[1]=b:this.a.push([a,b])},"delete":function(a){var b=n(this.a,function(b){return b[0]===a});return~b&&this.a.splice(b,1),!!~b}},b.exports={getConstructor:function(b,c,d,e){var h=b(function(a,b){f(a,h,c),a._i=o++,a._l=void 0,void 0!=b&&g(b,d,a[e],a)});return a("./$.mix")(h.prototype,{"delete":function(a){return j(a)?l(a)?k(a,i)&&k(a[i],this._i)&&delete a[i][this._i]:p(this)["delete"](a):!1},has:function(a){return j(a)?l(a)?k(a,i)&&k(a[i],this._i):p(this).has(a):!1}}),h},def:function(a,b,c){return l(e(b))?(k(b,i)||d(b,i,{}),b[i][a._i]=c):p(a).set(b,c),a},frozenStore:p,WEAK:i}},{"./$.an-object":8,"./$.array-methods":10,"./$.for-of":28,"./$.has":31,"./$.hide":32,"./$.is-object":38,"./$.mix":51,"./$.strict-new":65,"./$.uid":79}],17:[function(a,b,c){"use strict";var d=a("./$.global"),e=a("./$.def"),f=a("./$.iter-buggy"),g=a("./$.for-of"),h=a("./$.strict-new");b.exports=function(b,c,i,j,k,l){var m=d[b],n=m,o=k?"set":"add",p=n&&n.prototype,q={},r=function(b){var c=p[b];a("./$.redef")(p,b,"delete"==b?function(a){return c.call(this,0===a?0:a)}:"has"==b?function(a){return c.call(this,0===a?0:a)}:"get"==b?function(a){return c.call(this,0===a?0:a)}:"add"==b?function(a){return c.call(this,0===a?0:a),this}:function(a,b){return c.call(this,0===a?0:a,b),this})};if("function"==typeof n&&(l||!f&&p.forEach&&p.entries)){var s,t=new n,u=t[o](l?{}:-0,1);a("./$.iter-detect")(function(a){new n(a)})||(n=c(function(a,c){h(a,n,b);var d=new m;return void 0!=c&&g(c,k,d[o],d),d}),n.prototype=p,p.constructor=n),l||t.forEach(function(a,b){s=1/b===-(1/0)}),s&&(r("delete"),r("has"),k&&r("get")),(s||u!==t)&&r(o),l&&p.clear&&delete p.clear}else n=j.getConstructor(c,b,k,o),a("./$.mix")(n.prototype,i);return a("./$.tag")(n,b),q[b]=n,e(e.G+e.W+e.F*(n!=m),q),l||j.setStrong(n,b,k),n}},{"./$.def":20,"./$.for-of":28,"./$.global":30,"./$.iter-buggy":39,"./$.iter-detect":43,"./$.mix":51,"./$.redef":58,"./$.strict-new":65,"./$.tag":72}],18:[function(a,b,c){var d=b.exports={};"number"==typeof __e&&(__e=d)},{}],19:[function(a,b,c){var d=a("./$.a-function");b.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},{"./$.a-function":7}],20:[function(a,b,c){var d=a("./$.global"),e=a("./$.core"),f=a("./$.hide"),g=a("./$.redef"),h="prototype",i=function(a,b){return function(){return a.apply(b,arguments)}},j=function(a,b,c){var k,l,m,n,o=a&j.G,p=a&j.P,q=o?d:a&j.S?d[b]||(d[b]={}):(d[b]||{})[h],r=o?e:e[b]||(e[b]={});o&&(c=b);for(k in c)l=!(a&j.F)&&q&&k in q,m=(l?q:c)[k],n=a&j.B&&l?i(m,d):p&&"function"==typeof m?i(Function.call,m):m,q&&!l&&g(q,k,m),r[k]!=m&&f(r,k,n),p&&((r[h]||(r[h]={}))[k]=m)};d.core=e,j.F=1,j.G=2,j.S=4,j.P=8,j.B=16,j.W=32,b.exports=j},{"./$.core":18,"./$.global":30,"./$.hide":32,"./$.redef":58}],21:[function(a,b,c){b.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},{}],22:[function(a,b,c){var d=a("./$.is-object"),e=a("./$.global").document,f=d(e)&&d(e.createElement);b.exports=function(a){return f?e.createElement(a):{}}},{"./$.global":30,"./$.is-object":38}],23:[function(a,b,c){var d=a("./$");b.exports=function(a){var b=d.getKeys(a),c=d.getSymbols;if(c)for(var e,f=c(a),g=d.isEnum,h=0;f.length>h;)g.call(a,e=f[h++])&&b.push(e);return b}},{"./$":46}],24:[function(a,b,c){b.exports=Math.expm1||function(a){return 0==(a=+a)?a:a>-1e-6&&1e-6>a?a+a*a/2:Math.exp(a)-1}},{}],25:[function(a,b,c){b.exports=function(a){try{return!!a()}catch(b){return!0}}},{}],26:[function(a,b,c){"use strict";b.exports=function(b,c,d){var e=a("./$.defined"),f=a("./$.wks")(b),g=""[b];a("./$.fails")(function(){var a={};return a[f]=function(){return 7},7!=""[b](a)})&&(a("./$.redef")(String.prototype,b,d(e,f,g)),a("./$.hide")(RegExp.prototype,f,2==c?function(a,b){return g.call(a,this,b)}:function(a){return g.call(a,this)}))}},{"./$.defined":21,"./$.fails":25,"./$.hide":32,"./$.redef":58,"./$.wks":81}],27:[function(a,b,c){"use strict";var d=a("./$.an-object");b.exports=function(){var a=d(this),b="";return a.global&&(b+="g"),a.ignoreCase&&(b+="i"),a.multiline&&(b+="m"),a.unicode&&(b+="u"),a.sticky&&(b+="y"),b}},{"./$.an-object":8}],28:[function(a,b,c){var d=a("./$.ctx"),e=a("./$.iter-call"),f=a("./$.is-array-iter"),g=a("./$.an-object"),h=a("./$.to-length"),i=a("./core.get-iterator-method");b.exports=function(a,b,c,j){var k,l,m,n=i(a),o=d(c,j,b?2:1),p=0;if("function"!=typeof n)throw TypeError(a+" is not iterable!");if(f(n))for(k=h(a.length);k>p;p++)b?o(g(l=a[p])[0],l[1]):o(a[p]);else for(m=n.call(a);!(l=m.next()).done;)e(m,o,l.value,b)}},{"./$.an-object":8,"./$.ctx":19,"./$.is-array-iter":36,"./$.iter-call":40,"./$.to-length":77,"./core.get-iterator-method":82}],29:[function(a,b,c){var d={}.toString,e=a("./$.to-iobject"),f=a("./$").getNames,g="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],h=function(a){try{return f(a)}catch(b){return g.slice()}};b.exports.get=function(a){return g&&"[object Window]"==d.call(a)?h(a):f(e(a))}},{"./$":46,"./$.to-iobject":76}],30:[function(a,b,c){var d="undefined"!=typeof self&&self.Math==Math?self:Function("return this")();b.exports=d,"number"==typeof __g&&(__g=d)},{}],31:[function(a,b,c){var d={}.hasOwnProperty;b.exports=function(a,b){return d.call(a,b)}},{}],32:[function(a,b,c){var d=a("./$"),e=a("./$.property-desc");b.exports=a("./$.support-desc")?function(a,b,c){return d.setDesc(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},{"./$":46,"./$.property-desc":57,"./$.support-desc":71}],33:[function(a,b,c){b.exports=a("./$.global").document&&document.documentElement},{"./$.global":30}],34:[function(a,b,c){b.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},{}],35:[function(a,b,c){var d=a("./$.cof");b.exports=0 in Object("z")?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},{"./$.cof":13}],36:[function(a,b,c){var d=a("./$.iterators"),e=a("./$.wks")("iterator");b.exports=function(a){return(d.Array||Array.prototype[e])===a}},{"./$.iterators":45,"./$.wks":81}],37:[function(a,b,c){var d=a("./$.is-object"),e=Math.floor;b.exports=function(a){return!d(a)&&isFinite(a)&&e(a)===a}},{"./$.is-object":38}],38:[function(a,b,c){b.exports=function(a){return null!==a&&("object"==typeof a||"function"==typeof a)}},{}],39:[function(a,b,c){b.exports="keys"in[]&&!("next"in[].keys())},{}],40:[function(a,b,c){var d=a("./$.an-object");b.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(f){var g=a["return"];throw void 0!==g&&d(g.call(a)),f}}},{"./$.an-object":8}],41:[function(a,b,c){"use strict";var d=a("./$"),e={};a("./$.hide")(e,a("./$.wks")("iterator"),function(){return this}),b.exports=function(b,c,f){b.prototype=d.create(e,{next:a("./$.property-desc")(1,f)}),a("./$.tag")(b,c+" Iterator")}},{"./$":46,"./$.hide":32,"./$.property-desc":57,"./$.tag":72,"./$.wks":81}],42:[function(a,b,c){"use strict";var d=a("./$.library"),e=a("./$.def"),f=a("./$.redef"),g=a("./$.hide"),h=a("./$.has"),i=a("./$.wks")("iterator"),j=a("./$.iterators"),k="@@iterator",l="keys",m="values",n=function(){return this};b.exports=function(b,c,o,p,q,r,s){a("./$.iter-create")(o,c,p);var t,u,v=function(a){switch(a){case l:return function(){return new o(this,a)};case m:return function(){return new o(this,a)}}return function(){return new o(this,a)}},w=c+" Iterator",x=b.prototype,y=x[i]||x[k]||q&&x[q],z=y||v(q);if(y){var A=a("./$").getProto(z.call(new b));a("./$.tag")(A,w,!0),!d&&h(x,k)&&g(A,i,n)}if((!d||s)&&g(x,i,z),j[c]=z,j[w]=n,q)if(t={keys:r?z:v(l),values:q==m?z:v(m),entries:q!=m?z:v("entries")},s)for(u in t)u in x||f(x,u,t[u]);else e(e.P+e.F*a("./$.iter-buggy"),c,t)}},{"./$":46,"./$.def":20,"./$.has":31,"./$.hide":32,"./$.iter-buggy":39,"./$.iter-create":41,"./$.iterators":45,"./$.library":48,"./$.redef":58,"./$.tag":72,"./$.wks":81}],43:[function(a,b,c){var d=a("./$.wks")("iterator"),e=!1;try{var f=[7][d]();f["return"]=function(){e=!0},Array.from(f,function(){throw 2})}catch(g){}b.exports=function(a){if(!e)return!1;var b=!1;try{var c=[7],f=c[d]();f.next=function(){b=!0},c[d]=function(){return f},a(c)}catch(g){}return b}},{"./$.wks":81}],44:[function(a,b,c){b.exports=function(a,b){return{value:b,done:!!a}}},{}],45:[function(a,b,c){b.exports={}},{}],46:[function(a,b,c){var d=Object;b.exports={create:d.create,getProto:d.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:d.getOwnPropertyDescriptor,setDesc:d.defineProperty,setDescs:d.defineProperties,getKeys:d.keys,getNames:d.getOwnPropertyNames,getSymbols:d.getOwnPropertySymbols,each:[].forEach}},{}],47:[function(a,b,c){var d=a("./$"),e=a("./$.to-iobject");b.exports=function(a,b){for(var c,f=e(a),g=d.getKeys(f),h=g.length,i=0;h>i;)if(f[c=g[i++]]===b)return c}},{"./$":46,"./$.to-iobject":76}],48:[function(a,b,c){b.exports=!1},{}],49:[function(a,b,c){b.exports=Math.log1p||function(a){return(a=+a)>-1e-8&&1e-8>a?a-a*a/2:Math.log(1+a)}},{}],50:[function(a,b,c){function d(){for(;e;)e.fn.call(),e=e.next;f=void 0}var e,f,g,h=a("./$.global"),i=a("./$.task").set,j=h.MutationObserver||h.WebKitMutationObserver,k=h.process;if("process"==a("./$.cof")(k))g=function(){k.nextTick(d)};else if(j){var l=1,m=document.createTextNode("");new j(d).observe(m,{characterData:!0}),g=function(){m.data=l=-l}}else g=function(){i.call(h,d)};b.exports=function(a){var b={fn:a,next:void 0};f&&(f.next=b),e||(e=b,g()),f=b}},{"./$.cof":13,"./$.global":30,"./$.task":73}],51:[function(a,b,c){var d=a("./$.redef");b.exports=function(a,b){for(var c in b)d(a,c,b[c]);return a}},{"./$.redef":58}],52:[function(a,b,c){b.exports=function(b,c){var d=a("./$.def"),e=(a("./$.core").Object||{})[b]||Object[b],f={};f[b]=c(e),d(d.S+d.F*a("./$.fails")(function(){e(1)}),"Object",f)}},{"./$.core":18,"./$.def":20,"./$.fails":25}],53:[function(a,b,c){var d=a("./$"),e=a("./$.to-iobject");b.exports=function(a){return function(b){var c,f=e(b),g=d.getKeys(f),h=g.length,i=0,j=Array(h);if(a)for(;h>i;)j[i]=[c=g[i++],f[c]];else for(;h>i;)j[i]=f[g[i++]];return j}}},{"./$":46,"./$.to-iobject":76}],54:[function(a,b,c){var d=a("./$"),e=a("./$.an-object");b.exports=function(a){var b=d.getNames(e(a)),c=d.getSymbols;return c?b.concat(c(a)):b}},{"./$":46,"./$.an-object":8}],55:[function(a,b,c){"use strict";var d=a("./$.path"),e=a("./$.invoke"),f=a("./$.a-function");b.exports=function(){for(var a=f(this),b=arguments.length,c=Array(b),g=0,h=d._,i=!1;b>g;)(c[g]=arguments[g++])===h&&(i=!0);return function(){var d,f=this,g=arguments.length,j=0,k=0;if(!i&&!g)return e(a,c,f);if(d=c.slice(),i)for(;b>j;j++)d[j]===h&&(d[j]=arguments[k++]);for(;g>k;)d.push(arguments[k++]);return e(a,d,f)}}},{"./$.a-function":7,"./$.invoke":34,"./$.path":56}],56:[function(a,b,c){b.exports=a("./$.global")},{"./$.global":30}],57:[function(a,b,c){b.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},{}],58:[function(a,b,c){var d=a("./$.global"),e=a("./$.hide"),f=a("./$.uid")("src"),g="toString",h=Function[g],i=(""+h).split(g);a("./$.core").inspectSource=function(a){return h.call(a)},(b.exports=function(a,b,c,g){"function"==typeof c&&(e(c,f,a[b]?""+a[b]:i.join(String(b))),"name"in c||(c.name=b)),a===d?a[b]=c:(g||delete a[b],e(a,b,c))})(Function.prototype,g,function(){return"function"==typeof this&&this[f]||h.call(this)})},{"./$.core":18,"./$.global":30,"./$.hide":32,"./$.uid":79}],59:[function(a,b,c){b.exports=function(a,b){var c=b===Object(b)?function(a){return b[a]}:b;return function(b){return String(b).replace(a,c)}}},{}],60:[function(a,b,c){b.exports=Object.is||function(a,b){return a===b?0!==a||1/a===1/b:a!=a&&b!=b}},{}],61:[function(a,b,c){var d=a("./$").getDesc,e=a("./$.is-object"),f=a("./$.an-object"),g=function(a,b){if(f(a),!e(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};b.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(b,c){try{c=a("./$.ctx")(Function.call,d(Object.prototype,"__proto__").set,2),c({},[])}catch(e){b=!0}return function(a,d){return g(a,d),b?a.__proto__=d:c(a,d),a}}():void 0),check:g}},{"./$":46,"./$.an-object":8,"./$.ctx":19,"./$.is-object":38}],62:[function(a,b,c){var d=a("./$.global"),e="__core-js_shared__",f=d[e]||(d[e]={});b.exports=function(a){return f[a]||(f[a]={})}},{"./$.global":30}],63:[function(a,b,c){b.exports=Math.sign||function(a){return 0==(a=+a)||a!=a?a:0>a?-1:1}},{}],64:[function(a,b,c){"use strict";var d=a("./$"),e=a("./$.wks")("species");b.exports=function(b){!a("./$.support-desc")||e in b||d.setDesc(b,e,{configurable:!0,get:function(){return this}})}},{"./$":46,"./$.support-desc":71,"./$.wks":81}],65:[function(a,b,c){b.exports=function(a,b,c){if(!(a instanceof b))throw TypeError(c+": use the 'new' operator!");return a}},{}],66:[function(a,b,c){var d=a("./$.to-integer"),e=a("./$.defined");b.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return 0>i||i>=j?a?"":void 0:(f=h.charCodeAt(i),55296>f||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536)}}},{"./$.defined":21,"./$.to-integer":75}],67:[function(a,b,c){var d=a("./$.defined"),e=a("./$.cof");b.exports=function(a,b,c){if("RegExp"==e(b))throw TypeError("String#"+c+" doesn't accept regex!");return String(d(a))}},{"./$.cof":13,"./$.defined":21}],68:[function(a,b,c){var d=a("./$.to-length"),e=a("./$.string-repeat"),f=a("./$.defined");b.exports=function(a,b,c,g){var h=String(f(a)),i=h.length,j=void 0===c?" ":String(c),k=d(b);if(i>=k)return h;""==j&&(j=" ");var l=k-i,m=e.call(j,Math.ceil(l/j.length));return m.length>l&&(m=g?m.slice(m.length-l):m.slice(0,l)),g?m+h:h+m}},{"./$.defined":21,"./$.string-repeat":69,"./$.to-length":77}],69:[function(a,b,c){"use strict";var d=a("./$.to-integer"),e=a("./$.defined");b.exports=function(a){var b=String(e(this)),c="",f=d(a);if(0>f||f==1/0)throw RangeError("Count can't be negative");for(;f>0;(f>>>=1)&&(b+=b))1&f&&(c+=b);return c}},{"./$.defined":21,"./$.to-integer":75}],70:[function(a,b,c){var d=function(a,b){return a=String(f(a)),1&b&&(a=a.replace(j,"")),2&b&&(a=a.replace(k,"")),a},e=a("./$.def"),f=a("./$.defined"),g=" \n \f\r   ᠎              \u2028\u2029\ufeff",h="["+g+"]",i="​…",j=RegExp("^"+h+h+"*"),k=RegExp(h+h+"*$");b.exports=function(b,c){var f={};f[b]=c(d),e(e.P+e.F*a("./$.fails")(function(){return!!g[b]()||i[b]()!=i}),"String",f)}},{"./$.def":20,"./$.defined":21,"./$.fails":25}],71:[function(a,b,c){b.exports=!a("./$.fails")(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{"./$.fails":25}],72:[function(a,b,c){var d=a("./$.has"),e=a("./$.hide"),f=a("./$.wks")("toStringTag");b.exports=function(a,b,c){a&&!d(a=c?a:a.prototype,f)&&e(a,f,b)}},{"./$.has":31,"./$.hide":32,"./$.wks":81}],73:[function(a,b,c){"use strict";var d,e,f,g=a("./$.ctx"),h=a("./$.invoke"),i=a("./$.html"),j=a("./$.dom-create"),k=a("./$.global"),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==a("./$.cof")(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(e=new o,f=e.port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScript?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),b.exports={set:m,clear:n}},{"./$.cof":13,"./$.ctx":19,"./$.dom-create":22,"./$.global":30,"./$.html":33,"./$.invoke":34}],74:[function(a,b,c){var d=a("./$.to-integer"),e=Math.max,f=Math.min;b.exports=function(a,b){return a=d(a),0>a?e(a+b,0):f(a,b)}},{"./$.to-integer":75}],75:[function(a,b,c){var d=Math.ceil,e=Math.floor;b.exports=function(a){return isNaN(a=+a)?0:(a>0?e:d)(a)}},{}],76:[function(a,b,c){var d=a("./$.iobject"),e=a("./$.defined");b.exports=function(a){return d(e(a))}},{"./$.defined":21,"./$.iobject":35}],77:[function(a,b,c){var d=a("./$.to-integer"),e=Math.min;b.exports=function(a){return a>0?e(d(a),9007199254740991):0}},{"./$.to-integer":75}],78:[function(a,b,c){var d=a("./$.defined");b.exports=function(a){return Object(d(a))}},{"./$.defined":21}],79:[function(a,b,c){var d=0,e=Math.random();b.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++d+e).toString(36))}},{}],80:[function(a,b,c){var d=a("./$.wks")("unscopables");d in[]||a("./$.hide")(Array.prototype,d,{}),b.exports=function(a){[][d][a]=!0}},{"./$.hide":32,"./$.wks":81}],81:[function(a,b,c){var d=a("./$.shared")("wks"),e=a("./$.global").Symbol;b.exports=function(b){return d[b]||(d[b]=e&&e[b]||(e||a("./$.uid"))("Symbol."+b))}},{"./$.global":30,"./$.shared":62,"./$.uid":79}],82:[function(a,b,c){var d=a("./$.classof"),e=a("./$.wks")("iterator"),f=a("./$.iterators");b.exports=a("./$.core").getIteratorMethod=function(a){return void 0!=a?a[e]||a["@@iterator"]||f[d(a)]:void 0}},{"./$.classof":12,"./$.core":18,"./$.iterators":45,"./$.wks":81}],83:[function(a,b,c){"use strict";var d,e=a("./$"),f=a("./$.support-desc"),g=a("./$.property-desc"),h=a("./$.html"),i=a("./$.dom-create"),j=a("./$.has"),k=a("./$.cof"),l=a("./$.def"),m=a("./$.invoke"),n=a("./$.array-methods"),o=a("./$.uid")("__proto__"),p=a("./$.is-object"),q=a("./$.an-object"),r=a("./$.a-function"),s=a("./$.to-object"),t=a("./$.to-iobject"),u=a("./$.to-integer"),v=a("./$.to-index"),w=a("./$.to-length"),x=a("./$.iobject"),y=a("./$.fails"),z=Object.prototype,A=[],B=A.slice,C=A.join,D=e.setDesc,E=e.getDesc,F=e.setDescs,G=a("./$.array-includes")(!1),H={};f||(d=!y(function(){return 7!=D(i("div"),"a",{get:function(){return 7}}).a}),e.setDesc=function(a,b,c){if(d)try{return D(a,b,c)}catch(e){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(q(a)[b]=c.value),a},e.getDesc=function(a,b){if(d)try{return E(a,b)}catch(c){}return j(a,b)?g(!z.propertyIsEnumerable.call(a,b),a[b]):void 0; - -},e.setDescs=F=function(a,b){q(a);for(var c,d=e.getKeys(b),f=d.length,g=0;f>g;)e.setDesc(a,c=d[g++],b[c]);return a}),l(l.S+l.F*!f,"Object",{getOwnPropertyDescriptor:e.getDesc,defineProperty:e.setDesc,defineProperties:F});var I="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),J=I.concat("length","prototype"),K=I.length,L=function(){var a,b=i("iframe"),c=K,d=">";for(b.style.display="none",h.appendChild(b),b.src="javascript:",a=b.contentWindow.document,a.open(),a.write("