').parent().attr({
- id: modeId + '_' + id,
- title: id
- }); // Store for later use
-
- return iconBtn[0];
- });
- };
-
- loadIcons = function _loadIcons() {
- $('#shape_buttons').empty().append(curLib.buttons);
- };
-
- $ = _ref.$, importLocale = _ref.importLocale;
- _context.next = 6;
- return importLocale();
-
- case 6:
- strings = _context.sent;
- svgEditor = _this;
- canv = svgEditor.canvas;
- svgroot = canv.getRootElem();
- lastBBox = {}; // This populates the category list
-
- categories = strings.categories;
- /* eslint-disable max-len */
-
- library = {
- basic: {
- data: {
- heart: 'm150,73c61,-175 300,0 0,225c-300,-225 -61,-400 0,-225z',
- frame: 'm0,0l300,0l0,300l-300,0zm35,-265l0,230l230,0l0,-230z',
- donut: 'm1,150l0,0c0,-82.29042 66.70958,-149 149,-149l0,0c39.51724,0 77.41599,15.69816 105.35889,43.64108c27.94293,27.94293 43.64111,65.84165 43.64111,105.35892l0,0c0,82.29041 -66.70958,149 -149,149l0,0c-82.29041,0 -149,-66.70959 -149,-149zm74.5,0l0,0c0,41.1452 33.35481,74.5 74.5,74.5c41.14522,0 74.5,-33.3548 74.5,-74.5c0,-41.1452 -33.3548,-74.5 -74.5,-74.5l0,0c-41.14519,0 -74.5,33.35481 -74.5,74.5z',
- triangle: 'm1,280.375l149,-260.75l149,260.75z',
- right_triangle: 'm1,299l0,-298l298,298z',
- diamond: 'm1,150l149,-149l149,149l-149,149l-149,-149z',
- pentagon: 'm1.00035,116.97758l148.99963,-108.4053l148.99998,108.4053l-56.91267,175.4042l-184.1741,0l-56.91284,-175.4042z',
- hexagon: 'm1,149.99944l63.85715,-127.71428l170.28572,0l63.85713,127.71428l-63.85713,127.71428l-170.28572,0l-63.85715,-127.71428z',
- septagon1: 'm0.99917,191.06511l29.51249,-127.7108l119.48833,-56.83673l119.48836,56.83673l29.51303,127.7108l-82.69087,102.41679l-132.62103,0l-82.69031,-102.41679z',
- heptagon: 'm1,88.28171l87.28172,-87.28171l123.43653,0l87.28172,87.28171l0,123.43654l-87.28172,87.28172l-123.43653,0l-87.28172,-87.28172l0,-123.43654z',
- decagon: 'm1,150.00093l28.45646,-88.40318l74.49956,-54.63682l92.08794,0l74.50002,54.63682l28.45599,88.40318l-28.45599,88.40318l-74.50002,54.63681l-92.08794,0l-74.49956,-54.63681l-28.45646,-88.40318z',
- dodecagon: 'm1,110.07421l39.92579,-69.14842l69.14842,-39.92579l79.85159,0l69.14842,39.92579l39.92578,69.14842l0,79.85159l-39.92578,69.14842l-69.14842,39.92578l-79.85159,0l-69.14842,-39.92578l-39.92579,-69.14842l0,-79.85159z',
- star_points_5: 'm1,116.58409l113.82668,0l35.17332,-108.13487l35.17334,108.13487l113.82666,0l-92.08755,66.83026l35.17514,108.13487l-92.08759,-66.83208l-92.08757,66.83208l35.17515,-108.13487l-92.08758,-66.83026z',
- trapezoid: 'm1,299l55.875,-298l186.25001,0l55.87498,298z',
- arrow_up: 'm1.49805,149.64304l148.50121,-148.00241l148.50121,148.00241l-74.25061,0l0,148.71457l-148.5012,0l0,-148.71457z',
- vertical_scrool: 'm37.375,261.625l0,-242.9375l0,0c0,-10.32083 8.36669,-18.6875 18.6875,-18.6875l224.25,0c10.32083,0 18.6875,8.36667 18.6875,18.6875c0,10.32081 -8.36667,18.6875 -18.6875,18.6875l-18.6875,0l0,242.9375c0,10.32083 -8.36668,18.6875 -18.6875,18.6875l-224.25,0l0,0c-10.32083,0 -18.6875,-8.36667 -18.6875,-18.6875c0,-10.32083 8.36667,-18.6875 18.6875,-18.6875zm37.375,-261.625l0,0c10.32081,0 18.6875,8.36667 18.6875,18.6875c0,10.32081 -8.36669,18.6875 -18.6875,18.6875c-5.1604,0 -9.34375,-4.18335 -9.34375,-9.34375c0,-5.16041 4.18335,-9.34375 9.34375,-9.34375l18.6875,0m186.875,18.6875l-205.5625,0m-37.375,224.25l0,0c5.1604,0 9.34375,4.18335 9.34375,9.34375c0,5.1604 -4.18335,9.34375 -9.34375,9.34375l18.6875,0m-18.6875,18.6875l0,0c10.32081,0 18.6875,-8.36667 18.6875,-18.6875l0,-18.6875',
- smiley: 'm68.49886,214.78838q81.06408,55.67332 161.93891,0m-144.36983,-109.9558c0,-8.60432 6.97517,-15.57949 15.57948,-15.57949c8.60431,0 15.57948,6.97517 15.57948,15.57949c0,8.60431 -6.97517,15.57947 -15.57948,15.57947c-8.60431,0 -15.57948,-6.97516 -15.57948,-15.57947m95.83109,0c0,-8.60432 6.97517,-15.57949 15.57948,-15.57949c8.60431,0 15.57947,6.97517 15.57947,15.57949c0,8.60431 -6.97516,15.57947 -15.57947,15.57947c-8.60429,0 -15.57948,-6.97516 -15.57948,-15.57947m-181.89903,44.73038l0,0c0,-82.60133 66.96162,-149.56296 149.56296,-149.56296c82.60135,0 149.56296,66.96162 149.56296,149.56296c0,82.60135 -66.96161,149.56296 -149.56296,149.56296c-82.60133,0 -149.56296,-66.96161 -149.56296,-149.56296zm0,0l0,0c0,-82.60133 66.96162,-149.56296 149.56296,-149.56296c82.60135,0 149.56296,66.96162 149.56296,149.56296c0,82.60135 -66.96161,149.56296 -149.56296,149.56296c-82.60133,0 -149.56296,-66.96161 -149.56296,-149.56296z',
- left_braket: 'm174.24565,298.5c-13.39009,0 -24.24489,-1.80908 -24.24489,-4.04065l0,-140.4187c0,-2.23158 -10.85481,-4.04065 -24.2449,-4.04065l0,0c13.39009,0 24.2449,-1.80907 24.2449,-4.04065l0,-140.4187l0,0c0,-2.23159 10.8548,-4.04066 24.24489,-4.04066',
- uml_actor: 'm40.5,100l219,0m-108.99991,94.00006l107,105m-107.00009,-106.00006l-100,106m99.5,-231l0,125m33.24219,-158.75781c0,18.35916 -14.88303,33.24219 -33.24219,33.24219c-18.35916,0 -33.2422,-14.88303 -33.2422,-33.24219c0.00002,-18.35915 14.88304,-33.24219 33.2422,-33.24219c18.35916,0 33.24219,14.88304 33.24219,33.24219z',
- dialog_balloon_1: 'm0.99786,35.96579l0,0c0,-19.31077 15.28761,-34.96524 34.14583,-34.96524l15.52084,0l0,0l74.50001,0l139.68748,0c9.05606,0 17.74118,3.68382 24.14478,10.24108c6.40356,6.55726 10.00107,15.45081 10.00107,24.72416l0,87.41311l0,0l0,52.44785l0,0c0,19.31078 -15.2876,34.96524 -34.14584,34.96524l-139.68748,0l-97.32507,88.90848l22.82506,-88.90848l-15.52084,0c-18.85822,0 -34.14583,-15.65446 -34.14583,-34.96524l0,0l0,-52.44785l0,0z',
- cloud: 'm182.05086,34.31005c-0.64743,0.02048 -1.27309,0.07504 -1.92319,0.13979c-10.40161,1.03605 -19.58215,7.63722 -24.24597,17.4734l-2.47269,7.44367c0.53346,-2.57959 1.35258,-5.08134 2.47269,-7.44367c-8.31731,-8.61741 -19.99149,-12.59487 -31.52664,-10.72866c-11.53516,1.8662 -21.55294,9.3505 -27.02773,20.19925c-15.45544,-9.51897 -34.72095,-8.94245 -49.62526,1.50272c-14.90431,10.44516 -22.84828,28.93916 -20.43393,47.59753l1.57977,7.58346c-0.71388,-2.48442 -1.24701,-5.01186 -1.57977,-7.58346l-0.2404,0.69894c-12.95573,1.4119 -23.58103,11.46413 -26.34088,24.91708c-2.75985,13.45294 2.9789,27.25658 14.21789,34.21291l17.54914,4.26352c-6.1277,0.50439 -12.24542,-0.9808 -17.54914,-4.26352c-8.66903,9.71078 -10.6639,24.08736 -4.94535,35.96027c5.71854,11.87289 17.93128,18.70935 30.53069,17.15887l7.65843,-2.02692c-2.46413,1.0314 -5.02329,1.70264 -7.65843,2.02692c7.15259,13.16728 19.01251,22.77237 32.93468,26.5945c13.92217,3.82214 28.70987,1.56322 41.03957,-6.25546c10.05858,15.86252 27.91113,24.19412 45.81322,21.38742c17.90208,-2.8067 32.66954,-16.26563 37.91438,-34.52742l1.82016,-10.20447c-0.27254,3.46677 -0.86394,6.87508 -1.82016,10.20447c12.31329,8.07489 27.80199,8.52994 40.52443,1.18819c12.72244,-7.34175 20.6609,-21.34155 20.77736,-36.58929l-4.56108,-22.7823l-17.96776,-15.41455c13.89359,8.70317 22.6528,21.96329 22.52884,38.19685c16.5202,0.17313 30.55292,-13.98268 36.84976,-30.22897c6.29684,-16.24631 3.91486,-34.76801 -6.2504,-48.68089c4.21637,-10.35873 3.96622,-22.14172 -0.68683,-32.29084c-4.65308,-10.14912 -13.23602,-17.69244 -23.55914,-20.65356c-2.31018,-13.45141 -11.83276,-24.27162 -24.41768,-27.81765c-12.58492,-3.54603 -25.98557,0.82654 -34.41142,11.25287l-5.11707,8.63186c1.30753,-3.12148 3.01521,-6.03101 5.11707,-8.63186c-5.93959,-8.19432 -15.2556,-12.8181 -24.96718,-12.51096z',
- cylinder: 'm299.0007,83.77844c0,18.28676 -66.70958,33.11111 -149.00002,33.11111m149.00002,-33.11111l0,0c0,18.28676 -66.70958,33.11111 -149.00002,33.11111c-82.29041,0 -148.99997,-14.82432 -148.99997,-33.11111m0,0l0,0c0,-18.28674 66.70956,-33.1111 148.99997,-33.1111c82.29044,0 149.00002,14.82436 149.00002,33.1111l0,132.44449c0,18.28674 -66.70958,33.11105 -149.00002,33.11105c-82.29041,0 -148.99997,-14.82431 -148.99997,-33.11105z',
- arrow_u_turn: 'm1.00059,299.00055l0,-167.62497l0,0c0,-72.00411 58.37087,-130.37499 130.375,-130.37499l0,0l0,0c34.57759,0 67.73898,13.7359 92.18906,38.18595c24.45006,24.45005 38.18593,57.61144 38.18593,92.18904l0,18.625l37.24997,0l-74.49995,74.50002l-74.50002,-74.50002l37.25,0l0,-18.625c0,-30.8589 -25.0161,-55.87498 -55.87498,-55.87498l0,0l0,0c-30.85892,0 -55.875,25.01608 -55.875,55.87498l0,167.62497z',
- arrow_left_up: 'm0.99865,224.5l74.50004,-74.5l0,37.25l111.74991,0l0,-111.75l-37.25,0l74.5,-74.5l74.5,74.5l-37.25,0l0,186.25l-186.24989,0l0,37.25l-74.50005,-74.5z',
- maximize: 'm1.00037,150.34581l55.30305,-55.30267l0,27.65093l22.17356,0l0,-44.21833l44.21825,0l0,-22.17357l-27.65095,0l55.30267,-55.30292l55.3035,55.30292l-27.65175,0l0,22.17357l44.21835,0l0,44.21833l22.17357,0l0,-27.65093l55.30345,55.30267l-55.30345,55.3035l0,-27.65175l-22.17357,0l0,44.21834l-44.21835,0l0,22.17355l27.65175,0l-55.3035,55.30348l-55.30267,-55.30348l27.65095,0l0,-22.17355l-44.21825,0l0,-44.21834l-22.17356,0l0,27.65175l-55.30305,-55.3035z',
- cross: 'm0.99844,99.71339l98.71494,0l0,-98.71495l101.26279,0l0,98.71495l98.71495,0l0,101.2628l-98.71495,0l0,98.71494l-101.26279,0l0,-98.71494l-98.71494,0z',
- plaque: 'm-0.00197,49.94376l0,0c27.5829,0 49.94327,-22.36036 49.94327,-49.94327l199.76709,0l0,0c0,27.5829 22.36037,49.94327 49.94325,49.94327l0,199.7671l0,0c-27.58289,0 -49.94325,22.36034 -49.94325,49.94325l-199.76709,0c0,-27.58292 -22.36037,-49.94325 -49.94327,-49.94325z',
- page: 'm249.3298,298.99744l9.9335,-39.73413l39.73413,-9.93355l-49.66763,49.66768l-248.33237,0l0,-298.00001l298.00001,0l0,248.33234'
- },
- buttons: []
- }
- };
- /* eslint-enable max-len */
-
- modeId = 'shapelib';
- startClientPos = {};
- curLib = library.basic;
- /**
- *
- * @returns {void}
- */
-
- buttons = [{
- id: 'tool_shapelib',
- icon: svgEditor.curConfig.extIconsPath + 'shapes.png',
- type: 'mode_flyout',
- // _flyout
- position: 6,
- events: {
- click: function click() {
- canv.setMode(modeId);
- }
- }
- }];
- return _context.abrupt("return", {
- svgicons: svgEditor.curConfig.extIconsPath + 'ext-shapes.xml',
- buttons: strings.buttons.map(function (button, i) {
- return Object.assign(buttons[i], button);
- }),
- callback: function callback() {
- $('').appendTo('head');
- }
-
- fcRules.text(!on ? '' : ' #tool_topath { display: none !important; }');
- $('#star_panel').toggle(on);
- };
-
- svgEditor = _this;
- svgCanvas = svgEditor.canvas;
- $ = S.$, importLocale = S.importLocale; // {svgcontent},
-
- _context.next = 7;
- return importLocale();
-
- case 7:
- strings = _context.sent;
-
- /*
- function cot(n){
- return 1 / Math.tan(n);
- }
- function sec(n){
- return 1 / Math.cos(n);
- }
- */
- buttons = [{
- id: 'tool_star',
- icon: svgEditor.curConfig.extIconsPath + 'star.png',
- type: 'mode',
- position: 12,
- events: {
- click: function click() {
- showPanel(true);
- svgCanvas.setMode('star');
- }
- }
- }];
- contextTools = [{
- type: 'input',
- panel: 'star_panel',
- id: 'starNumPoints',
- size: 3,
- defval: 5,
- events: {
- change: function change() {
- setAttr('point', this.value);
- }
- }
- }, {
- type: 'input',
- panel: 'star_panel',
- id: 'starRadiusMulitplier',
- size: 3,
- defval: 2.5
- }, {
- type: 'input',
- panel: 'star_panel',
- id: 'radialShift',
- size: 3,
- defval: 0,
- events: {
- change: function change() {
- setAttr('radialshift', this.value);
- }
- }
- }];
- return _context.abrupt("return", {
- name: strings.name,
- svgicons: svgEditor.curConfig.extIconsPath + 'star-icons.svg',
- buttons: strings.buttons.map(function (button, i) {
- return Object.assign(buttons[i], button);
- }),
- context_tools: strings.contextTools.map(function (contextTool, i) {
- return Object.assign(contextTools[i], contextTool);
- }),
- callback: function callback() {
- $('#star_panel').hide(); // const endChanges = function(){};
- },
- mouseDown: function mouseDown(opts) {
- var rgb = svgCanvas.getColor('fill'); // const ccRgbEl = rgb.substring(1, rgb.length);
-
- var sRgb = svgCanvas.getColor('stroke'); // const ccSRgbEl = sRgb.substring(1, rgb.length);
-
- var sWidth = svgCanvas.getStrokeWidth();
-
- if (svgCanvas.getMode() === 'star') {
- started = true;
- newFO = svgCanvas.addSVGElementFromJson({
- element: 'polygon',
- attr: {
- cx: opts.start_x,
- cy: opts.start_y,
- id: svgCanvas.getNextId(),
- shape: 'star',
- point: document.getElementById('starNumPoints').value,
- r: 0,
- radialshift: document.getElementById('radialShift').value,
- r2: 0,
- orient: 'point',
- fill: rgb,
- strokecolor: sRgb,
- strokeWidth: sWidth
- }
- });
- return {
- started: true
- };
- }
-
- return undefined;
- },
- mouseMove: function mouseMove(opts) {
- if (!started) {
- return undefined;
- }
-
- if (svgCanvas.getMode() === 'star') {
- var c = $(newFO).attr(['cx', 'cy', 'point', 'orient', 'fill', 'strokecolor', 'strokeWidth', 'radialshift']);
- var x = opts.mouse_x;
- var y = opts.mouse_y;
- var cx = c.cx,
- cy = c.cy,
- fill = c.fill,
- strokecolor = c.strokecolor,
- strokeWidth = c.strokeWidth,
- radialshift = c.radialshift,
- point = c.point,
- orient = c.orient,
- circumradius = Math.sqrt((x - cx) * (x - cx) + (y - cy) * (y - cy)) / 1.5,
- inradius = circumradius / document.getElementById('starRadiusMulitplier').value;
- newFO.setAttribute('r', circumradius);
- newFO.setAttribute('r2', inradius);
- var polyPoints = '';
-
- for (var s = 0; point >= s; s++) {
- var angle = 2.0 * Math.PI * (s / point);
-
- if (orient === 'point') {
- angle -= Math.PI / 2;
- } else if (orient === 'edge') {
- angle = angle + Math.PI / point - Math.PI / 2;
- }
-
- x = circumradius * Math.cos(angle) + cx;
- y = circumradius * Math.sin(angle) + cy;
- polyPoints += x + ',' + y + ' ';
-
- if (!isNaN(inradius)) {
- angle = 2.0 * Math.PI * (s / point) + Math.PI / point;
-
- if (orient === 'point') {
- angle -= Math.PI / 2;
- } else if (orient === 'edge') {
- angle = angle + Math.PI / point - Math.PI / 2;
- }
-
- angle += radialshift;
- x = inradius * Math.cos(angle) + cx;
- y = inradius * Math.sin(angle) + cy;
- polyPoints += x + ',' + y + ' ';
- }
- }
-
- newFO.setAttribute('points', polyPoints);
- newFO.setAttribute('fill', fill);
- newFO.setAttribute('stroke', strokecolor);
- newFO.setAttribute('stroke-width', strokeWidth);
- /* const shape = */
-
- newFO.getAttribute('shape');
- return {
- started: true
- };
- }
-
- return undefined;
- },
- mouseUp: function mouseUp() {
- if (svgCanvas.getMode() === 'star') {
- var attrs = $(newFO).attr(['r']); // svgCanvas.addToSelection([newFO], true);
-
- return {
- keep: attrs.r !== '0',
- element: newFO
- };
- }
-
- return undefined;
- },
- selectedChanged: function selectedChanged(opts) {
- // Use this to update the current selected elements
- selElems = opts.elems;
- var i = selElems.length;
-
- while (i--) {
- var elem = selElems[i];
-
- if (elem && elem.getAttribute('shape') === 'star') {
- if (opts.selectedElement && !opts.multiselected) {
- // $('#starRadiusMulitplier').val(elem.getAttribute('r2'));
- $('#starNumPoints').val(elem.getAttribute('point'));
- $('#radialShift').val(elem.getAttribute('radialshift'));
- showPanel(true);
- } else {
- showPanel(false);
- }
- } else {
- showPanel(false);
- }
- }
- },
- elementChanged: function elementChanged(opts) {// const elem = opts.elems[0];
- }
- });
-
- case 11:
- case "end":
- return _context.stop();
- }
- }
- }, _callee);
- }))();
- }
- });
-
- }
- };
-});
diff --git a/dist/editor/system/extensions/ext-storage.js b/dist/editor/system/extensions/ext-storage.js
deleted file mode 100644
index 34cde3ec..00000000
--- a/dist/editor/system/extensions/ext-storage.js
+++ /dev/null
@@ -1,2002 +0,0 @@
-System.register([], function (exports) {
- 'use strict';
- return {
- execute: function () {
-
- function _typeof(obj) {
- "@babel/helpers - typeof";
-
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
- _typeof = function (obj) {
- return typeof obj;
- };
- } else {
- _typeof = function (obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- };
- }
-
- return _typeof(obj);
- }
-
- var REACT_ELEMENT_TYPE;
-
- function _jsx(type, props, key, children) {
- if (!REACT_ELEMENT_TYPE) {
- REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") || 0xeac7;
- }
-
- var defaultProps = type && type.defaultProps;
- var childrenLength = arguments.length - 3;
-
- if (!props && childrenLength !== 0) {
- props = {
- children: void 0
- };
- }
-
- if (childrenLength === 1) {
- props.children = children;
- } else if (childrenLength > 1) {
- var childArray = new Array(childrenLength);
-
- for (var i = 0; i < childrenLength; i++) {
- childArray[i] = arguments[i + 3];
- }
-
- props.children = childArray;
- }
-
- if (props && defaultProps) {
- for (var propName in defaultProps) {
- if (props[propName] === void 0) {
- props[propName] = defaultProps[propName];
- }
- }
- } else if (!props) {
- props = defaultProps || {};
- }
-
- return {
- $$typeof: REACT_ELEMENT_TYPE,
- type: type,
- key: key === undefined ? null : '' + key,
- ref: null,
- props: props,
- _owner: null
- };
- }
-
- function _asyncIterator(iterable) {
- var method;
-
- if (typeof Symbol !== "undefined") {
- if (Symbol.asyncIterator) {
- method = iterable[Symbol.asyncIterator];
- if (method != null) return method.call(iterable);
- }
-
- if (Symbol.iterator) {
- method = iterable[Symbol.iterator];
- if (method != null) return method.call(iterable);
- }
- }
-
- throw new TypeError("Object is not async iterable");
- }
-
- function _AwaitValue(value) {
- this.wrapped = value;
- }
-
- function _AsyncGenerator(gen) {
- var front, back;
-
- function send(key, arg) {
- return new Promise(function (resolve, reject) {
- var request = {
- key: key,
- arg: arg,
- resolve: resolve,
- reject: reject,
- next: null
- };
-
- if (back) {
- back = back.next = request;
- } else {
- front = back = request;
- resume(key, arg);
- }
- });
- }
-
- function resume(key, arg) {
- try {
- var result = gen[key](arg);
- var value = result.value;
- var wrappedAwait = value instanceof _AwaitValue;
- Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {
- if (wrappedAwait) {
- resume(key === "return" ? "return" : "next", arg);
- return;
- }
-
- settle(result.done ? "return" : "normal", arg);
- }, function (err) {
- resume("throw", err);
- });
- } catch (err) {
- settle("throw", err);
- }
- }
-
- function settle(type, value) {
- switch (type) {
- case "return":
- front.resolve({
- value: value,
- done: true
- });
- break;
-
- case "throw":
- front.reject(value);
- break;
-
- default:
- front.resolve({
- value: value,
- done: false
- });
- break;
- }
-
- front = front.next;
-
- if (front) {
- resume(front.key, front.arg);
- } else {
- back = null;
- }
- }
-
- this._invoke = send;
-
- if (typeof gen.return !== "function") {
- this.return = undefined;
- }
- }
-
- if (typeof Symbol === "function" && Symbol.asyncIterator) {
- _AsyncGenerator.prototype[Symbol.asyncIterator] = function () {
- return this;
- };
- }
-
- _AsyncGenerator.prototype.next = function (arg) {
- return this._invoke("next", arg);
- };
-
- _AsyncGenerator.prototype.throw = function (arg) {
- return this._invoke("throw", arg);
- };
-
- _AsyncGenerator.prototype.return = function (arg) {
- return this._invoke("return", arg);
- };
-
- function _wrapAsyncGenerator(fn) {
- return function () {
- return new _AsyncGenerator(fn.apply(this, arguments));
- };
- }
-
- function _awaitAsyncGenerator(value) {
- return new _AwaitValue(value);
- }
-
- function _asyncGeneratorDelegate(inner, awaitWrap) {
- var iter = {},
- waiting = false;
-
- function pump(key, value) {
- waiting = true;
- value = new Promise(function (resolve) {
- resolve(inner[key](value));
- });
- return {
- done: false,
- value: awaitWrap(value)
- };
- }
-
- ;
-
- if (typeof Symbol === "function" && Symbol.iterator) {
- iter[Symbol.iterator] = function () {
- return this;
- };
- }
-
- iter.next = function (value) {
- if (waiting) {
- waiting = false;
- return value;
- }
-
- return pump("next", value);
- };
-
- if (typeof inner.throw === "function") {
- iter.throw = function (value) {
- if (waiting) {
- waiting = false;
- throw value;
- }
-
- return pump("throw", value);
- };
- }
-
- if (typeof inner.return === "function") {
- iter.return = function (value) {
- if (waiting) {
- waiting = false;
- return value;
- }
-
- return pump("return", value);
- };
- }
-
- return iter;
- }
-
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
- try {
- var info = gen[key](arg);
- var value = info.value;
- } catch (error) {
- reject(error);
- return;
- }
-
- if (info.done) {
- resolve(value);
- } else {
- Promise.resolve(value).then(_next, _throw);
- }
- }
-
- function _asyncToGenerator(fn) {
- return function () {
- var self = this,
- args = arguments;
- return new Promise(function (resolve, reject) {
- var gen = fn.apply(self, args);
-
- function _next(value) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
- }
-
- function _throw(err) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
- }
-
- _next(undefined);
- });
- };
- }
-
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
-
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
-
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
- }
-
- function _defineEnumerableProperties(obj, descs) {
- for (var key in descs) {
- var desc = descs[key];
- desc.configurable = desc.enumerable = true;
- if ("value" in desc) desc.writable = true;
- Object.defineProperty(obj, key, desc);
- }
-
- if (Object.getOwnPropertySymbols) {
- var objectSymbols = Object.getOwnPropertySymbols(descs);
-
- for (var i = 0; i < objectSymbols.length; i++) {
- var sym = objectSymbols[i];
- var desc = descs[sym];
- desc.configurable = desc.enumerable = true;
- if ("value" in desc) desc.writable = true;
- Object.defineProperty(obj, sym, desc);
- }
- }
-
- return obj;
- }
-
- function _defaults(obj, defaults) {
- var keys = Object.getOwnPropertyNames(defaults);
-
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- var value = Object.getOwnPropertyDescriptor(defaults, key);
-
- if (value && value.configurable && obj[key] === undefined) {
- Object.defineProperty(obj, key, value);
- }
- }
-
- return obj;
- }
-
- function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
-
- return obj;
- }
-
- function _extends() {
- _extends = Object.assign || function (target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
-
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- }
-
- return target;
- };
-
- return _extends.apply(this, arguments);
- }
-
- function _objectSpread(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i] != null ? Object(arguments[i]) : {};
- var ownKeys = Object.keys(source);
-
- if (typeof Object.getOwnPropertySymbols === 'function') {
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
- }));
- }
-
- ownKeys.forEach(function (key) {
- _defineProperty(target, key, source[key]);
- });
- }
-
- return target;
- }
-
- function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object);
-
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object);
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- });
- keys.push.apply(keys, symbols);
- }
-
- return keys;
- }
-
- function _objectSpread2(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i] != null ? arguments[i] : {};
-
- if (i % 2) {
- ownKeys(Object(source), true).forEach(function (key) {
- _defineProperty(target, key, source[key]);
- });
- } else if (Object.getOwnPropertyDescriptors) {
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
- } else {
- ownKeys(Object(source)).forEach(function (key) {
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
- });
- }
- }
-
- return target;
- }
-
- function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- });
- if (superClass) _setPrototypeOf(subClass, superClass);
- }
-
- function _inheritsLoose(subClass, superClass) {
- subClass.prototype = Object.create(superClass.prototype);
- subClass.prototype.constructor = subClass;
- subClass.__proto__ = superClass;
- }
-
- function _getPrototypeOf(o) {
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- };
- return _getPrototypeOf(o);
- }
-
- function _setPrototypeOf(o, p) {
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- };
-
- return _setPrototypeOf(o, p);
- }
-
- function _isNativeReflectConstruct() {
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
- if (Reflect.construct.sham) return false;
- if (typeof Proxy === "function") return true;
-
- try {
- Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
- return true;
- } catch (e) {
- return false;
- }
- }
-
- function _construct(Parent, args, Class) {
- if (_isNativeReflectConstruct()) {
- _construct = Reflect.construct;
- } else {
- _construct = function _construct(Parent, args, Class) {
- var a = [null];
- a.push.apply(a, args);
- var Constructor = Function.bind.apply(Parent, a);
- var instance = new Constructor();
- if (Class) _setPrototypeOf(instance, Class.prototype);
- return instance;
- };
- }
-
- return _construct.apply(null, arguments);
- }
-
- function _isNativeFunction(fn) {
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
- }
-
- function _wrapNativeSuper(Class) {
- var _cache = typeof Map === "function" ? new Map() : undefined;
-
- _wrapNativeSuper = function _wrapNativeSuper(Class) {
- if (Class === null || !_isNativeFunction(Class)) return Class;
-
- if (typeof Class !== "function") {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- if (typeof _cache !== "undefined") {
- if (_cache.has(Class)) return _cache.get(Class);
-
- _cache.set(Class, Wrapper);
- }
-
- function Wrapper() {
- return _construct(Class, arguments, _getPrototypeOf(this).constructor);
- }
-
- Wrapper.prototype = Object.create(Class.prototype, {
- constructor: {
- value: Wrapper,
- enumerable: false,
- writable: true,
- configurable: true
- }
- });
- return _setPrototypeOf(Wrapper, Class);
- };
-
- return _wrapNativeSuper(Class);
- }
-
- function _instanceof(left, right) {
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
- return !!right[Symbol.hasInstance](left);
- } else {
- return left instanceof right;
- }
- }
-
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
-
- function _getRequireWildcardCache() {
- if (typeof WeakMap !== "function") return null;
- var cache = new WeakMap();
-
- _getRequireWildcardCache = function () {
- return cache;
- };
-
- return cache;
- }
-
- function _interopRequireWildcard(obj) {
- if (obj && obj.__esModule) {
- return obj;
- }
-
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
- return {
- default: obj
- };
- }
-
- var cache = _getRequireWildcardCache();
-
- if (cache && cache.has(obj)) {
- return cache.get(obj);
- }
-
- var newObj = {};
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
-
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
-
- if (desc && (desc.get || desc.set)) {
- Object.defineProperty(newObj, key, desc);
- } else {
- newObj[key] = obj[key];
- }
- }
- }
-
- newObj.default = obj;
-
- if (cache) {
- cache.set(obj, newObj);
- }
-
- return newObj;
- }
-
- function _newArrowCheck(innerThis, boundThis) {
- if (innerThis !== boundThis) {
- throw new TypeError("Cannot instantiate an arrow function");
- }
- }
-
- function _objectDestructuringEmpty(obj) {
- if (obj == null) throw new TypeError("Cannot destructure undefined");
- }
-
- function _objectWithoutPropertiesLoose(source, excluded) {
- if (source == null) return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
-
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- target[key] = source[key];
- }
-
- return target;
- }
-
- function _objectWithoutProperties(source, excluded) {
- if (source == null) return {};
-
- var target = _objectWithoutPropertiesLoose(source, excluded);
-
- var key, i;
-
- if (Object.getOwnPropertySymbols) {
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
-
- for (i = 0; i < sourceSymbolKeys.length; i++) {
- key = sourceSymbolKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
- target[key] = source[key];
- }
- }
-
- return target;
- }
-
- function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
- }
-
- function _possibleConstructorReturn(self, call) {
- if (call && (typeof call === "object" || typeof call === "function")) {
- return call;
- }
-
- return _assertThisInitialized(self);
- }
-
- function _createSuper(Derived) {
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
-
- return function _createSuperInternal() {
- var Super = _getPrototypeOf(Derived),
- result;
-
- if (hasNativeReflectConstruct) {
- var NewTarget = _getPrototypeOf(this).constructor;
-
- result = Reflect.construct(Super, arguments, NewTarget);
- } else {
- result = Super.apply(this, arguments);
- }
-
- return _possibleConstructorReturn(this, result);
- };
- }
-
- function _superPropBase(object, property) {
- while (!Object.prototype.hasOwnProperty.call(object, property)) {
- object = _getPrototypeOf(object);
- if (object === null) break;
- }
-
- return object;
- }
-
- function _get(target, property, receiver) {
- if (typeof Reflect !== "undefined" && Reflect.get) {
- _get = Reflect.get;
- } else {
- _get = function _get(target, property, receiver) {
- var base = _superPropBase(target, property);
-
- if (!base) return;
- var desc = Object.getOwnPropertyDescriptor(base, property);
-
- if (desc.get) {
- return desc.get.call(receiver);
- }
-
- return desc.value;
- };
- }
-
- return _get(target, property, receiver || target);
- }
-
- function set(target, property, value, receiver) {
- if (typeof Reflect !== "undefined" && Reflect.set) {
- set = Reflect.set;
- } else {
- set = function set(target, property, value, receiver) {
- var base = _superPropBase(target, property);
-
- var desc;
-
- if (base) {
- desc = Object.getOwnPropertyDescriptor(base, property);
-
- if (desc.set) {
- desc.set.call(receiver, value);
- return true;
- } else if (!desc.writable) {
- return false;
- }
- }
-
- desc = Object.getOwnPropertyDescriptor(receiver, property);
-
- if (desc) {
- if (!desc.writable) {
- return false;
- }
-
- desc.value = value;
- Object.defineProperty(receiver, property, desc);
- } else {
- _defineProperty(receiver, property, value);
- }
-
- return true;
- };
- }
-
- return set(target, property, value, receiver);
- }
-
- function _set(target, property, value, receiver, isStrict) {
- var s = set(target, property, value, receiver || target);
-
- if (!s && isStrict) {
- throw new Error('failed to set property');
- }
-
- return value;
- }
-
- function _taggedTemplateLiteral(strings, raw) {
- if (!raw) {
- raw = strings.slice(0);
- }
-
- return Object.freeze(Object.defineProperties(strings, {
- raw: {
- value: Object.freeze(raw)
- }
- }));
- }
-
- function _taggedTemplateLiteralLoose(strings, raw) {
- if (!raw) {
- raw = strings.slice(0);
- }
-
- strings.raw = raw;
- return strings;
- }
-
- function _readOnlyError(name) {
- throw new Error("\"" + name + "\" is read-only");
- }
-
- function _classNameTDZError(name) {
- throw new Error("Class \"" + name + "\" cannot be referenced in computed property keys.");
- }
-
- function _temporalUndefined() {}
-
- function _tdz(name) {
- throw new ReferenceError(name + " is not defined - temporal dead zone");
- }
-
- function _temporalRef(val, name) {
- return val === _temporalUndefined ? _tdz(name) : val;
- }
-
- function _slicedToArray(arr, i) {
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
- }
-
- function _slicedToArrayLoose(arr, i) {
- return _arrayWithHoles(arr) || _iterableToArrayLimitLoose(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
- }
-
- function _toArray(arr) {
- return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
- }
-
- function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
- }
-
- function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
- }
-
- function _arrayWithHoles(arr) {
- if (Array.isArray(arr)) return arr;
- }
-
- function _maybeArrayLike(next, arr, i) {
- if (arr && !Array.isArray(arr) && typeof arr.length === "number") {
- var len = arr.length;
- return _arrayLikeToArray(arr, i !== void 0 && i < len ? i : len);
- }
-
- return next(arr, i);
- }
-
- function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
- }
-
- function _iterableToArrayLimit(arr, i) {
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
- 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"] != null) _i["return"]();
- } finally {
- if (_d) throw _e;
- }
- }
-
- return _arr;
- }
-
- function _iterableToArrayLimitLoose(arr, i) {
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
- var _arr = [];
-
- for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
- _arr.push(_step.value);
-
- if (i && _arr.length === i) break;
- }
-
- return _arr;
- }
-
- function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
- }
-
- function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
-
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-
- return arr2;
- }
-
- function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function _nonIterableRest() {
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function _createForOfIteratorHelper(o, allowArrayLike) {
- var it;
-
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
- if (it) o = it;
- var i = 0;
-
- var F = function () {};
-
- return {
- s: F,
- n: function () {
- if (i >= o.length) return {
- done: true
- };
- return {
- done: false,
- value: o[i++]
- };
- },
- e: function (e) {
- throw e;
- },
- f: F
- };
- }
-
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- var normalCompletion = true,
- didErr = false,
- err;
- return {
- s: function () {
- it = o[Symbol.iterator]();
- },
- n: function () {
- var step = it.next();
- normalCompletion = step.done;
- return step;
- },
- e: function (e) {
- didErr = true;
- err = e;
- },
- f: function () {
- try {
- if (!normalCompletion && it.return != null) it.return();
- } finally {
- if (didErr) throw err;
- }
- }
- };
- }
-
- function _createForOfIteratorHelperLoose(o, allowArrayLike) {
- var it;
-
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
- if (it) o = it;
- var i = 0;
- return function () {
- if (i >= o.length) return {
- done: true
- };
- return {
- done: false,
- value: o[i++]
- };
- };
- }
-
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- it = o[Symbol.iterator]();
- return it.next.bind(it);
- }
-
- function _skipFirstGeneratorNext(fn) {
- return function () {
- var it = fn.apply(this, arguments);
- it.next();
- return it;
- };
- }
-
- function _toPrimitive(input, hint) {
- if (typeof input !== "object" || input === null) return input;
- var prim = input[Symbol.toPrimitive];
-
- if (prim !== undefined) {
- var res = prim.call(input, hint || "default");
- if (typeof res !== "object") return res;
- throw new TypeError("@@toPrimitive must return a primitive value.");
- }
-
- return (hint === "string" ? String : Number)(input);
- }
-
- function _toPropertyKey(arg) {
- var key = _toPrimitive(arg, "string");
-
- return typeof key === "symbol" ? key : String(key);
- }
-
- function _initializerWarningHelper(descriptor, context) {
- throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.');
- }
-
- function _initializerDefineProperty(target, property, descriptor, context) {
- if (!descriptor) return;
- Object.defineProperty(target, property, {
- enumerable: descriptor.enumerable,
- configurable: descriptor.configurable,
- writable: descriptor.writable,
- value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
- });
- }
-
- function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
- var desc = {};
- Object.keys(descriptor).forEach(function (key) {
- desc[key] = descriptor[key];
- });
- desc.enumerable = !!desc.enumerable;
- desc.configurable = !!desc.configurable;
-
- if ('value' in desc || desc.initializer) {
- desc.writable = true;
- }
-
- desc = decorators.slice().reverse().reduce(function (desc, decorator) {
- return decorator(target, property, desc) || desc;
- }, desc);
-
- if (context && desc.initializer !== void 0) {
- desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
- desc.initializer = undefined;
- }
-
- if (desc.initializer === void 0) {
- Object.defineProperty(target, property, desc);
- desc = null;
- }
-
- return desc;
- }
-
- var id = 0;
-
- function _classPrivateFieldLooseKey(name) {
- return "__private_" + id++ + "_" + name;
- }
-
- function _classPrivateFieldLooseBase(receiver, privateKey) {
- if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
- throw new TypeError("attempted to use private field on non-instance");
- }
-
- return receiver;
- }
-
- function _classPrivateFieldGet(receiver, privateMap) {
- var descriptor = privateMap.get(receiver);
-
- if (!descriptor) {
- throw new TypeError("attempted to get private field on non-instance");
- }
-
- if (descriptor.get) {
- return descriptor.get.call(receiver);
- }
-
- return descriptor.value;
- }
-
- function _classPrivateFieldSet(receiver, privateMap, value) {
- var descriptor = privateMap.get(receiver);
-
- if (!descriptor) {
- throw new TypeError("attempted to set private field on non-instance");
- }
-
- if (descriptor.set) {
- descriptor.set.call(receiver, value);
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- descriptor.value = value;
- }
-
- return value;
- }
-
- function _classPrivateFieldDestructureSet(receiver, privateMap) {
- if (!privateMap.has(receiver)) {
- throw new TypeError("attempted to set private field on non-instance");
- }
-
- var descriptor = privateMap.get(receiver);
-
- if (descriptor.set) {
- if (!("__destrObj" in descriptor)) {
- descriptor.__destrObj = {
- set value(v) {
- descriptor.set.call(receiver, v);
- }
-
- };
- }
-
- return descriptor.__destrObj;
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- return descriptor;
- }
- }
-
- function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- if (descriptor.get) {
- return descriptor.get.call(receiver);
- }
-
- return descriptor.value;
- }
-
- function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- if (descriptor.set) {
- descriptor.set.call(receiver, value);
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- descriptor.value = value;
- }
-
- return value;
- }
-
- function _classStaticPrivateMethodGet(receiver, classConstructor, method) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- return method;
- }
-
- function _classStaticPrivateMethodSet() {
- throw new TypeError("attempted to set read only static private field");
- }
-
- function _decorate(decorators, factory, superClass, mixins) {
- var api = _getDecoratorsApi();
-
- if (mixins) {
- for (var i = 0; i < mixins.length; i++) {
- api = mixins[i](api);
- }
- }
-
- var r = factory(function initialize(O) {
- api.initializeInstanceElements(O, decorated.elements);
- }, superClass);
- var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators);
- api.initializeClassElements(r.F, decorated.elements);
- return api.runClassFinishers(r.F, decorated.finishers);
- }
-
- function _getDecoratorsApi() {
- _getDecoratorsApi = function () {
- return api;
- };
-
- var api = {
- elementsDefinitionOrder: [["method"], ["field"]],
- initializeInstanceElements: function (O, elements) {
- ["method", "field"].forEach(function (kind) {
- elements.forEach(function (element) {
- if (element.kind === kind && element.placement === "own") {
- this.defineClassElement(O, element);
- }
- }, this);
- }, this);
- },
- initializeClassElements: function (F, elements) {
- var proto = F.prototype;
- ["method", "field"].forEach(function (kind) {
- elements.forEach(function (element) {
- var placement = element.placement;
-
- if (element.kind === kind && (placement === "static" || placement === "prototype")) {
- var receiver = placement === "static" ? F : proto;
- this.defineClassElement(receiver, element);
- }
- }, this);
- }, this);
- },
- defineClassElement: function (receiver, element) {
- var descriptor = element.descriptor;
-
- if (element.kind === "field") {
- var initializer = element.initializer;
- descriptor = {
- enumerable: descriptor.enumerable,
- writable: descriptor.writable,
- configurable: descriptor.configurable,
- value: initializer === void 0 ? void 0 : initializer.call(receiver)
- };
- }
-
- Object.defineProperty(receiver, element.key, descriptor);
- },
- decorateClass: function (elements, decorators) {
- var newElements = [];
- var finishers = [];
- var placements = {
- static: [],
- prototype: [],
- own: []
- };
- elements.forEach(function (element) {
- this.addElementPlacement(element, placements);
- }, this);
- elements.forEach(function (element) {
- if (!_hasDecorators(element)) return newElements.push(element);
- var elementFinishersExtras = this.decorateElement(element, placements);
- newElements.push(elementFinishersExtras.element);
- newElements.push.apply(newElements, elementFinishersExtras.extras);
- finishers.push.apply(finishers, elementFinishersExtras.finishers);
- }, this);
-
- if (!decorators) {
- return {
- elements: newElements,
- finishers: finishers
- };
- }
-
- var result = this.decorateConstructor(newElements, decorators);
- finishers.push.apply(finishers, result.finishers);
- result.finishers = finishers;
- return result;
- },
- addElementPlacement: function (element, placements, silent) {
- var keys = placements[element.placement];
-
- if (!silent && keys.indexOf(element.key) !== -1) {
- throw new TypeError("Duplicated element (" + element.key + ")");
- }
-
- keys.push(element.key);
- },
- decorateElement: function (element, placements) {
- var extras = [];
- var finishers = [];
-
- for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) {
- var keys = placements[element.placement];
- keys.splice(keys.indexOf(element.key), 1);
- var elementObject = this.fromElementDescriptor(element);
- var elementFinisherExtras = this.toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject);
- element = elementFinisherExtras.element;
- this.addElementPlacement(element, placements);
-
- if (elementFinisherExtras.finisher) {
- finishers.push(elementFinisherExtras.finisher);
- }
-
- var newExtras = elementFinisherExtras.extras;
-
- if (newExtras) {
- for (var j = 0; j < newExtras.length; j++) {
- this.addElementPlacement(newExtras[j], placements);
- }
-
- extras.push.apply(extras, newExtras);
- }
- }
-
- return {
- element: element,
- finishers: finishers,
- extras: extras
- };
- },
- decorateConstructor: function (elements, decorators) {
- var finishers = [];
-
- for (var i = decorators.length - 1; i >= 0; i--) {
- var obj = this.fromClassDescriptor(elements);
- var elementsAndFinisher = this.toClassDescriptor((0, decorators[i])(obj) || obj);
-
- if (elementsAndFinisher.finisher !== undefined) {
- finishers.push(elementsAndFinisher.finisher);
- }
-
- if (elementsAndFinisher.elements !== undefined) {
- elements = elementsAndFinisher.elements;
-
- for (var j = 0; j < elements.length - 1; j++) {
- for (var k = j + 1; k < elements.length; k++) {
- if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) {
- throw new TypeError("Duplicated element (" + elements[j].key + ")");
- }
- }
- }
- }
- }
-
- return {
- elements: elements,
- finishers: finishers
- };
- },
- fromElementDescriptor: function (element) {
- var obj = {
- kind: element.kind,
- key: element.key,
- placement: element.placement,
- descriptor: element.descriptor
- };
- var desc = {
- value: "Descriptor",
- configurable: true
- };
- Object.defineProperty(obj, Symbol.toStringTag, desc);
- if (element.kind === "field") obj.initializer = element.initializer;
- return obj;
- },
- toElementDescriptors: function (elementObjects) {
- if (elementObjects === undefined) return;
- return _toArray(elementObjects).map(function (elementObject) {
- var element = this.toElementDescriptor(elementObject);
- this.disallowProperty(elementObject, "finisher", "An element descriptor");
- this.disallowProperty(elementObject, "extras", "An element descriptor");
- return element;
- }, this);
- },
- toElementDescriptor: function (elementObject) {
- var kind = String(elementObject.kind);
-
- if (kind !== "method" && kind !== "field") {
- throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"');
- }
-
- var key = _toPropertyKey(elementObject.key);
-
- var placement = String(elementObject.placement);
-
- if (placement !== "static" && placement !== "prototype" && placement !== "own") {
- throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"');
- }
-
- var descriptor = elementObject.descriptor;
- this.disallowProperty(elementObject, "elements", "An element descriptor");
- var element = {
- kind: kind,
- key: key,
- placement: placement,
- descriptor: Object.assign({}, descriptor)
- };
-
- if (kind !== "field") {
- this.disallowProperty(elementObject, "initializer", "A method descriptor");
- } else {
- this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor");
- this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor");
- this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor");
- element.initializer = elementObject.initializer;
- }
-
- return element;
- },
- toElementFinisherExtras: function (elementObject) {
- var element = this.toElementDescriptor(elementObject);
-
- var finisher = _optionalCallableProperty(elementObject, "finisher");
-
- var extras = this.toElementDescriptors(elementObject.extras);
- return {
- element: element,
- finisher: finisher,
- extras: extras
- };
- },
- fromClassDescriptor: function (elements) {
- var obj = {
- kind: "class",
- elements: elements.map(this.fromElementDescriptor, this)
- };
- var desc = {
- value: "Descriptor",
- configurable: true
- };
- Object.defineProperty(obj, Symbol.toStringTag, desc);
- return obj;
- },
- toClassDescriptor: function (obj) {
- var kind = String(obj.kind);
-
- if (kind !== "class") {
- throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"');
- }
-
- this.disallowProperty(obj, "key", "A class descriptor");
- this.disallowProperty(obj, "placement", "A class descriptor");
- this.disallowProperty(obj, "descriptor", "A class descriptor");
- this.disallowProperty(obj, "initializer", "A class descriptor");
- this.disallowProperty(obj, "extras", "A class descriptor");
-
- var finisher = _optionalCallableProperty(obj, "finisher");
-
- var elements = this.toElementDescriptors(obj.elements);
- return {
- elements: elements,
- finisher: finisher
- };
- },
- runClassFinishers: function (constructor, finishers) {
- for (var i = 0; i < finishers.length; i++) {
- var newConstructor = (0, finishers[i])(constructor);
-
- if (newConstructor !== undefined) {
- if (typeof newConstructor !== "function") {
- throw new TypeError("Finishers must return a constructor.");
- }
-
- constructor = newConstructor;
- }
- }
-
- return constructor;
- },
- disallowProperty: function (obj, name, objectType) {
- if (obj[name] !== undefined) {
- throw new TypeError(objectType + " can't have a ." + name + " property.");
- }
- }
- };
- return api;
- }
-
- function _createElementDescriptor(def) {
- var key = _toPropertyKey(def.key);
-
- var descriptor;
-
- if (def.kind === "method") {
- descriptor = {
- value: def.value,
- writable: true,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "get") {
- descriptor = {
- get: def.value,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "set") {
- descriptor = {
- set: def.value,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "field") {
- descriptor = {
- configurable: true,
- writable: true,
- enumerable: true
- };
- }
-
- var element = {
- kind: def.kind === "field" ? "field" : "method",
- key: key,
- placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype",
- descriptor: descriptor
- };
- if (def.decorators) element.decorators = def.decorators;
- if (def.kind === "field") element.initializer = def.value;
- return element;
- }
-
- function _coalesceGetterSetter(element, other) {
- if (element.descriptor.get !== undefined) {
- other.descriptor.get = element.descriptor.get;
- } else {
- other.descriptor.set = element.descriptor.set;
- }
- }
-
- function _coalesceClassElements(elements) {
- var newElements = [];
-
- var isSameElement = function (other) {
- return other.kind === "method" && other.key === element.key && other.placement === element.placement;
- };
-
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- var other;
-
- if (element.kind === "method" && (other = newElements.find(isSameElement))) {
- if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) {
- if (_hasDecorators(element) || _hasDecorators(other)) {
- throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated.");
- }
-
- other.descriptor = element.descriptor;
- } else {
- if (_hasDecorators(element)) {
- if (_hasDecorators(other)) {
- throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ").");
- }
-
- other.decorators = element.decorators;
- }
-
- _coalesceGetterSetter(element, other);
- }
- } else {
- newElements.push(element);
- }
- }
-
- return newElements;
- }
-
- function _hasDecorators(element) {
- return element.decorators && element.decorators.length;
- }
-
- function _isDataDescriptor(desc) {
- return desc !== undefined && !(desc.value === undefined && desc.writable === undefined);
- }
-
- function _optionalCallableProperty(obj, name) {
- var value = obj[name];
-
- if (value !== undefined && typeof value !== "function") {
- throw new TypeError("Expected '" + name + "' to be a function");
- }
-
- return value;
- }
-
- function _classPrivateMethodGet(receiver, privateSet, fn) {
- if (!privateSet.has(receiver)) {
- throw new TypeError("attempted to get private field on non-instance");
- }
-
- return fn;
- }
-
- function _classPrivateMethodSet() {
- throw new TypeError("attempted to reassign private method");
- }
-
- function _wrapRegExp(re, groups) {
- _wrapRegExp = function (re, groups) {
- return new BabelRegExp(re, undefined, groups);
- };
-
- var _RegExp = _wrapNativeSuper(RegExp);
-
- var _super = RegExp.prototype;
-
- var _groups = new WeakMap();
-
- function BabelRegExp(re, flags, groups) {
- var _this = _RegExp.call(this, re, flags);
-
- _groups.set(_this, groups || _groups.get(re));
-
- return _this;
- }
-
- _inherits(BabelRegExp, _RegExp);
-
- BabelRegExp.prototype.exec = function (str) {
- var result = _super.exec.call(this, str);
-
- if (result) result.groups = buildGroups(result, this);
- return result;
- };
-
- BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {
- if (typeof substitution === "string") {
- var groups = _groups.get(this);
-
- return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) {
- return "$" + groups[name];
- }));
- } else if (typeof substitution === "function") {
- var _this = this;
-
- return _super[Symbol.replace].call(this, str, function () {
- var args = [];
- args.push.apply(args, arguments);
-
- if (typeof args[args.length - 1] !== "object") {
- args.push(buildGroups(args, _this));
- }
-
- return substitution.apply(this, args);
- });
- } else {
- return _super[Symbol.replace].call(this, str, substitution);
- }
- };
-
- function buildGroups(result, re) {
- var g = _groups.get(re);
-
- return Object.keys(g).reduce(function (groups, name) {
- groups[name] = result[g[name]];
- return groups;
- }, Object.create(null));
- }
-
- return _wrapRegExp.apply(this, arguments);
- }
-
- /**
- * @file ext-storage.js
- *
- * This extension allows automatic saving of the SVG canvas contents upon
- * page unload (which can later be automatically retrieved upon future
- * editor loads).
- *
- * The functionality was originally part of the SVG Editor, but moved to a
- * separate extension to make the setting behavior optional, and adapted
- * to inform the user of its setting of local data.
- *
- * @license MIT
- *
- * @copyright 2010 Brett Zamir
- * @todo Revisit on whether to use `svgEditor.pref` over directly setting
- * `curConfig` in all extensions for a more public API (not only for `extPath`
- * and `imagePath`, but other currently used config in the extensions)
- * @todo We might provide control of storage settings through the UI besides the
- * initial (or URL-forced) dialog. *
- */
- var extStorage = exports('default', {
- name: 'storage',
- init: function init(_ref) {
- var $ = _ref.$;
- var svgEditor = this;
- var svgCanvas = svgEditor.canvas; // We could empty any already-set data for users when they decline storage,
- // but it would be a risk for users who wanted to store but accidentally
- // said "no"; instead, we'll let those who already set it, delete it themselves;
- // to change, set the "emptyStorageOnDecline" config setting to true
- // in svgedit-config-iife.js/svgedit-config-es.js.
-
- var _svgEditor$curConfig = svgEditor.curConfig,
- emptyStorageOnDecline = _svgEditor$curConfig.emptyStorageOnDecline,
- noStorageOnLoad = _svgEditor$curConfig.noStorageOnLoad,
- forceStorage = _svgEditor$curConfig.forceStorage;
- var storage = svgEditor.storage,
- updateCanvas = svgEditor.updateCanvas;
- /**
- * Replace `storagePrompt` parameter within URL.
- * @param {string} val
- * @returns {void}
- * @todo Replace the string manipulation with `searchParams.set`
- */
-
- function replaceStoragePrompt(val) {
- val = val ? 'storagePrompt=' + val : '';
- var loc = top.location; // Allow this to work with the embedded editor as well
-
- if (loc.href.includes('storagePrompt=')) {
- /*
- loc.href = loc.href.replace(/(?
[&?])storagePrompt=[^&]*(?&?)/, function (n0, sep, amp) {
- return (val ? sep : '') + val + (!val && amp ? sep : (amp || ''));
- });
- */
- loc.href = loc.href.replace(/([&?])storagePrompt=[^&]*(&?)/, function (n0, n1, amp) {
- return (val ? n1 : '') + val + (!val && amp ? n1 : amp || '');
- });
- } else {
- loc.href += (loc.href.includes('?') ? '&' : '?') + val;
- }
- }
- /**
- * Sets SVG content as a string with "svgedit-" and the current
- * canvas name as namespace.
- * @param {string} val
- * @returns {void}
- */
-
-
- function setSVGContentStorage(val) {
- if (storage) {
- var name = 'svgedit-' + svgEditor.curConfig.canvasName;
-
- if (!val) {
- storage.removeItem(name);
- } else {
- storage.setItem(name, val);
- }
- }
- }
- /**
- * Set the cookie to expire.
- * @param {string} cookie
- * @returns {void}
- */
-
-
- function expireCookie(cookie) {
- document.cookie = encodeURIComponent(cookie) + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT';
- }
- /**
- * Expire the storage cookie.
- * @returns {void}
- */
-
-
- function removeStoragePrefCookie() {
- expireCookie('svgeditstore');
- }
- /**
- * Empties storage for each of the current preferences.
- * @returns {void}
- */
-
-
- function emptyStorage() {
- setSVGContentStorage('');
- Object.keys(svgEditor.curPrefs).forEach(function (name) {
- name = 'svg-edit-' + name;
-
- if (storage) {
- storage.removeItem(name);
- }
-
- expireCookie(name);
- });
- } // emptyStorage();
-
- /**
- * Listen for unloading: If and only if opted in by the user, set the content
- * document and preferences into storage:
- * 1. Prevent save warnings (since we're automatically saving unsaved
- * content into storage)
- * 2. Use localStorage to set SVG contents (potentially too large to allow in cookies)
- * 3. Use localStorage (where available) or cookies to set preferences.
- * @returns {void}
- */
-
-
- function setupBeforeUnloadListener() {
- window.addEventListener('beforeunload', function (e) {
- // Don't save anything unless the user opted in to storage
- if (!document.cookie.match(/(?:^|;\s*)svgeditstore=(?:prefsAndContent|prefsOnly)/)) {
- return;
- }
-
- if (document.cookie.match(/(?:^|;\s*)svgeditstore=prefsAndContent/)) {
- setSVGContentStorage(svgCanvas.getSvgString());
- }
-
- svgEditor.setConfig({
- no_save_warning: true
- }); // No need for explicit saving at all once storage is on
- // svgEditor.showSaveWarning = false;
-
- var curPrefs = svgEditor.curPrefs;
- Object.entries(curPrefs).forEach(function (_ref2) {
- var _ref3 = _slicedToArray(_ref2, 2),
- key = _ref3[0],
- val = _ref3[1];
-
- var store = val !== undefined;
- key = 'svg-edit-' + key;
-
- if (!store) {
- return;
- }
-
- if (storage) {
- storage.setItem(key, val);
- } else if (window.widget) {
- window.widget.setPreferenceForKey(val, key);
- } else {
- val = encodeURIComponent(val);
- document.cookie = encodeURIComponent(key) + '=' + val + '; expires=Fri, 31 Dec 9999 23:59:59 GMT';
- }
- });
- });
- }
-
- var loaded = false;
- return {
- name: 'storage',
- langReady: function langReady(_ref4) {
- return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
- var importLocale, storagePrompt, confirmSetStorage, message, storagePrefsAndContent, storagePrefsOnly, storagePrefs, storageNoPrefsOrContent, storageNoPrefs, rememberLabel, rememberTooltip, options, oldContainerWidth, oldContainerMarginLeft, oldContentHeight, oldContainerHeight, _yield$$$select, pref, checked;
-
- return regeneratorRuntime.wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- importLocale = _ref4.importLocale;
- storagePrompt = new URL(top.location).searchParams.get('storagePrompt');
- _context.next = 4;
- return importLocale();
-
- case 4:
- confirmSetStorage = _context.sent;
- message = confirmSetStorage.message, storagePrefsAndContent = confirmSetStorage.storagePrefsAndContent, storagePrefsOnly = confirmSetStorage.storagePrefsOnly, storagePrefs = confirmSetStorage.storagePrefs, storageNoPrefsOrContent = confirmSetStorage.storageNoPrefsOrContent, storageNoPrefs = confirmSetStorage.storageNoPrefs, rememberLabel = confirmSetStorage.rememberLabel, rememberTooltip = confirmSetStorage.rememberTooltip; // No need to run this one-time dialog again just because the user
- // changes the language
-
- if (!loaded) {
- _context.next = 8;
- break;
- }
-
- return _context.abrupt("return");
-
- case 8:
- loaded = true; // Note that the following can load even if "noStorageOnLoad" is
- // set to false; to avoid any chance of storage, avoid this
- // extension! (and to avoid using any prior storage, set the
- // config option "noStorageOnLoad" to true).
-
- if (!(!forceStorage && ( // If the URL has been explicitly set to always prompt the
- // user (e.g., so one can be pointed to a URL where one
- // can alter one's settings, say to prevent future storage)...
- storagePrompt === 'true' || // ...or...if the URL at least doesn't explicitly prevent a
- // storage prompt (as we use for users who
- // don't want to set cookies at all but who don't want
- // continual prompts about it)...
- storagePrompt !== 'false' && // ...and this user hasn't previously indicated a desire for storage
- !document.cookie.match(/(?:^|;\s*)svgeditstore=(?:prefsAndContent|prefsOnly)/) // ...then show the storage prompt.
- ))) {
- _context.next = 44;
- break;
- }
-
- options = [];
-
- if (storage) {
- options.unshift({
- value: 'prefsAndContent',
- text: storagePrefsAndContent
- }, {
- value: 'prefsOnly',
- text: storagePrefsOnly
- }, {
- value: 'noPrefsOrContent',
- text: storageNoPrefsOrContent
- });
- } else {
- options.unshift({
- value: 'prefsOnly',
- text: storagePrefs
- }, {
- value: 'noPrefsOrContent',
- text: storageNoPrefs
- });
- } // Hack to temporarily provide a wide and high enough dialog
-
-
- oldContainerWidth = $('#dialog_container')[0].style.width, oldContainerMarginLeft = $('#dialog_container')[0].style.marginLeft, oldContentHeight = $('#dialog_content')[0].style.height, oldContainerHeight = $('#dialog_container')[0].style.height;
- $('#dialog_content')[0].style.height = '120px';
- $('#dialog_container')[0].style.height = '170px';
- $('#dialog_container')[0].style.width = '800px';
- $('#dialog_container')[0].style.marginLeft = '-400px'; // Open select-with-checkbox dialog
- // From svg-editor.js
-
- svgEditor.storagePromptState = 'waiting';
- _context.next = 20;
- return $.select(message, options, null, null, {
- label: rememberLabel,
- checked: true,
- tooltip: rememberTooltip
- });
-
- case 20:
- _yield$$$select = _context.sent;
- pref = _yield$$$select.response;
- checked = _yield$$$select.checked;
-
- if (!(pref && pref !== 'noPrefsOrContent')) {
- _context.next = 30;
- break;
- }
-
- // Regardless of whether the user opted
- // to remember the choice (and move to a URL which won't
- // ask them again), we have to assume the user
- // doesn't even want to remember their not wanting
- // storage, so we don't set the cookie or continue on with
- // setting storage on beforeunload
- document.cookie = 'svgeditstore=' + encodeURIComponent(pref) + '; expires=Fri, 31 Dec 9999 23:59:59 GMT'; // 'prefsAndContent' | 'prefsOnly'
- // If the URL was configured to always insist on a prompt, if
- // the user does indicate a wish to store their info, we
- // don't want ask them again upon page refresh so move
- // them instead to a URL which does not always prompt
-
- if (!(storagePrompt === 'true' && checked)) {
- _context.next = 28;
- break;
- }
-
- replaceStoragePrompt();
- return _context.abrupt("return");
-
- case 28:
- _context.next = 35;
- break;
-
- case 30:
- // The user does not wish storage (or cancelled, which we treat equivalently)
- removeStoragePrefCookie();
-
- if (pref && // If the user explicitly expresses wish for no storage
- emptyStorageOnDecline) {
- emptyStorage();
- }
-
- if (!(pref && checked)) {
- _context.next = 35;
- break;
- }
-
- // Open a URL which won't set storage and won't prompt user about storage
- replaceStoragePrompt('false');
- return _context.abrupt("return");
-
- case 35:
- // Reset width/height of dialog (e.g., for use by Export)
- $('#dialog_container')[0].style.width = oldContainerWidth;
- $('#dialog_container')[0].style.marginLeft = oldContainerMarginLeft;
- $('#dialog_content')[0].style.height = oldContentHeight;
- $('#dialog_container')[0].style.height = oldContainerHeight; // It should be enough to (conditionally) add to storage on
- // beforeunload, but if we wished to update immediately,
- // we might wish to try setting:
- // svgEditor.setConfig({noStorageOnLoad: true});
- // and then call:
- // svgEditor.loadContentAndPrefs();
- // We don't check for noStorageOnLoad here because
- // the prompt gives the user the option to store data
-
- setupBeforeUnloadListener();
- svgEditor.storagePromptState = 'closed';
- updateCanvas(true);
- _context.next = 45;
- break;
-
- case 44:
- if (!noStorageOnLoad || forceStorage) {
- setupBeforeUnloadListener();
- }
-
- case 45:
- case "end":
- return _context.stop();
- }
- }
- }, _callee);
- }))();
- }
- };
- }
- });
-
- }
- };
-});
diff --git a/dist/editor/system/extensions/ext-webappfind.js b/dist/editor/system/extensions/ext-webappfind.js
deleted file mode 100644
index 69547474..00000000
--- a/dist/editor/system/extensions/ext-webappfind.js
+++ /dev/null
@@ -1,1792 +0,0 @@
-System.register([], function (exports) {
- 'use strict';
- return {
- execute: function () {
-
- function _typeof(obj) {
- "@babel/helpers - typeof";
-
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
- _typeof = function (obj) {
- return typeof obj;
- };
- } else {
- _typeof = function (obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- };
- }
-
- return _typeof(obj);
- }
-
- var REACT_ELEMENT_TYPE;
-
- function _jsx(type, props, key, children) {
- if (!REACT_ELEMENT_TYPE) {
- REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") || 0xeac7;
- }
-
- var defaultProps = type && type.defaultProps;
- var childrenLength = arguments.length - 3;
-
- if (!props && childrenLength !== 0) {
- props = {
- children: void 0
- };
- }
-
- if (childrenLength === 1) {
- props.children = children;
- } else if (childrenLength > 1) {
- var childArray = new Array(childrenLength);
-
- for (var i = 0; i < childrenLength; i++) {
- childArray[i] = arguments[i + 3];
- }
-
- props.children = childArray;
- }
-
- if (props && defaultProps) {
- for (var propName in defaultProps) {
- if (props[propName] === void 0) {
- props[propName] = defaultProps[propName];
- }
- }
- } else if (!props) {
- props = defaultProps || {};
- }
-
- return {
- $$typeof: REACT_ELEMENT_TYPE,
- type: type,
- key: key === undefined ? null : '' + key,
- ref: null,
- props: props,
- _owner: null
- };
- }
-
- function _asyncIterator(iterable) {
- var method;
-
- if (typeof Symbol !== "undefined") {
- if (Symbol.asyncIterator) {
- method = iterable[Symbol.asyncIterator];
- if (method != null) return method.call(iterable);
- }
-
- if (Symbol.iterator) {
- method = iterable[Symbol.iterator];
- if (method != null) return method.call(iterable);
- }
- }
-
- throw new TypeError("Object is not async iterable");
- }
-
- function _AwaitValue(value) {
- this.wrapped = value;
- }
-
- function _AsyncGenerator(gen) {
- var front, back;
-
- function send(key, arg) {
- return new Promise(function (resolve, reject) {
- var request = {
- key: key,
- arg: arg,
- resolve: resolve,
- reject: reject,
- next: null
- };
-
- if (back) {
- back = back.next = request;
- } else {
- front = back = request;
- resume(key, arg);
- }
- });
- }
-
- function resume(key, arg) {
- try {
- var result = gen[key](arg);
- var value = result.value;
- var wrappedAwait = value instanceof _AwaitValue;
- Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {
- if (wrappedAwait) {
- resume(key === "return" ? "return" : "next", arg);
- return;
- }
-
- settle(result.done ? "return" : "normal", arg);
- }, function (err) {
- resume("throw", err);
- });
- } catch (err) {
- settle("throw", err);
- }
- }
-
- function settle(type, value) {
- switch (type) {
- case "return":
- front.resolve({
- value: value,
- done: true
- });
- break;
-
- case "throw":
- front.reject(value);
- break;
-
- default:
- front.resolve({
- value: value,
- done: false
- });
- break;
- }
-
- front = front.next;
-
- if (front) {
- resume(front.key, front.arg);
- } else {
- back = null;
- }
- }
-
- this._invoke = send;
-
- if (typeof gen.return !== "function") {
- this.return = undefined;
- }
- }
-
- if (typeof Symbol === "function" && Symbol.asyncIterator) {
- _AsyncGenerator.prototype[Symbol.asyncIterator] = function () {
- return this;
- };
- }
-
- _AsyncGenerator.prototype.next = function (arg) {
- return this._invoke("next", arg);
- };
-
- _AsyncGenerator.prototype.throw = function (arg) {
- return this._invoke("throw", arg);
- };
-
- _AsyncGenerator.prototype.return = function (arg) {
- return this._invoke("return", arg);
- };
-
- function _wrapAsyncGenerator(fn) {
- return function () {
- return new _AsyncGenerator(fn.apply(this, arguments));
- };
- }
-
- function _awaitAsyncGenerator(value) {
- return new _AwaitValue(value);
- }
-
- function _asyncGeneratorDelegate(inner, awaitWrap) {
- var iter = {},
- waiting = false;
-
- function pump(key, value) {
- waiting = true;
- value = new Promise(function (resolve) {
- resolve(inner[key](value));
- });
- return {
- done: false,
- value: awaitWrap(value)
- };
- }
-
- ;
-
- if (typeof Symbol === "function" && Symbol.iterator) {
- iter[Symbol.iterator] = function () {
- return this;
- };
- }
-
- iter.next = function (value) {
- if (waiting) {
- waiting = false;
- return value;
- }
-
- return pump("next", value);
- };
-
- if (typeof inner.throw === "function") {
- iter.throw = function (value) {
- if (waiting) {
- waiting = false;
- throw value;
- }
-
- return pump("throw", value);
- };
- }
-
- if (typeof inner.return === "function") {
- iter.return = function (value) {
- if (waiting) {
- waiting = false;
- return value;
- }
-
- return pump("return", value);
- };
- }
-
- return iter;
- }
-
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
- try {
- var info = gen[key](arg);
- var value = info.value;
- } catch (error) {
- reject(error);
- return;
- }
-
- if (info.done) {
- resolve(value);
- } else {
- Promise.resolve(value).then(_next, _throw);
- }
- }
-
- function _asyncToGenerator(fn) {
- return function () {
- var self = this,
- args = arguments;
- return new Promise(function (resolve, reject) {
- var gen = fn.apply(self, args);
-
- function _next(value) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
- }
-
- function _throw(err) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
- }
-
- _next(undefined);
- });
- };
- }
-
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
-
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
-
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
- }
-
- function _defineEnumerableProperties(obj, descs) {
- for (var key in descs) {
- var desc = descs[key];
- desc.configurable = desc.enumerable = true;
- if ("value" in desc) desc.writable = true;
- Object.defineProperty(obj, key, desc);
- }
-
- if (Object.getOwnPropertySymbols) {
- var objectSymbols = Object.getOwnPropertySymbols(descs);
-
- for (var i = 0; i < objectSymbols.length; i++) {
- var sym = objectSymbols[i];
- var desc = descs[sym];
- desc.configurable = desc.enumerable = true;
- if ("value" in desc) desc.writable = true;
- Object.defineProperty(obj, sym, desc);
- }
- }
-
- return obj;
- }
-
- function _defaults(obj, defaults) {
- var keys = Object.getOwnPropertyNames(defaults);
-
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- var value = Object.getOwnPropertyDescriptor(defaults, key);
-
- if (value && value.configurable && obj[key] === undefined) {
- Object.defineProperty(obj, key, value);
- }
- }
-
- return obj;
- }
-
- function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
-
- return obj;
- }
-
- function _extends() {
- _extends = Object.assign || function (target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
-
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- }
-
- return target;
- };
-
- return _extends.apply(this, arguments);
- }
-
- function _objectSpread(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i] != null ? Object(arguments[i]) : {};
- var ownKeys = Object.keys(source);
-
- if (typeof Object.getOwnPropertySymbols === 'function') {
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
- }));
- }
-
- ownKeys.forEach(function (key) {
- _defineProperty(target, key, source[key]);
- });
- }
-
- return target;
- }
-
- function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object);
-
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object);
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- });
- keys.push.apply(keys, symbols);
- }
-
- return keys;
- }
-
- function _objectSpread2(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i] != null ? arguments[i] : {};
-
- if (i % 2) {
- ownKeys(Object(source), true).forEach(function (key) {
- _defineProperty(target, key, source[key]);
- });
- } else if (Object.getOwnPropertyDescriptors) {
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
- } else {
- ownKeys(Object(source)).forEach(function (key) {
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
- });
- }
- }
-
- return target;
- }
-
- function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- });
- if (superClass) _setPrototypeOf(subClass, superClass);
- }
-
- function _inheritsLoose(subClass, superClass) {
- subClass.prototype = Object.create(superClass.prototype);
- subClass.prototype.constructor = subClass;
- subClass.__proto__ = superClass;
- }
-
- function _getPrototypeOf(o) {
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- };
- return _getPrototypeOf(o);
- }
-
- function _setPrototypeOf(o, p) {
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- };
-
- return _setPrototypeOf(o, p);
- }
-
- function _isNativeReflectConstruct() {
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
- if (Reflect.construct.sham) return false;
- if (typeof Proxy === "function") return true;
-
- try {
- Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
- return true;
- } catch (e) {
- return false;
- }
- }
-
- function _construct(Parent, args, Class) {
- if (_isNativeReflectConstruct()) {
- _construct = Reflect.construct;
- } else {
- _construct = function _construct(Parent, args, Class) {
- var a = [null];
- a.push.apply(a, args);
- var Constructor = Function.bind.apply(Parent, a);
- var instance = new Constructor();
- if (Class) _setPrototypeOf(instance, Class.prototype);
- return instance;
- };
- }
-
- return _construct.apply(null, arguments);
- }
-
- function _isNativeFunction(fn) {
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
- }
-
- function _wrapNativeSuper(Class) {
- var _cache = typeof Map === "function" ? new Map() : undefined;
-
- _wrapNativeSuper = function _wrapNativeSuper(Class) {
- if (Class === null || !_isNativeFunction(Class)) return Class;
-
- if (typeof Class !== "function") {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- if (typeof _cache !== "undefined") {
- if (_cache.has(Class)) return _cache.get(Class);
-
- _cache.set(Class, Wrapper);
- }
-
- function Wrapper() {
- return _construct(Class, arguments, _getPrototypeOf(this).constructor);
- }
-
- Wrapper.prototype = Object.create(Class.prototype, {
- constructor: {
- value: Wrapper,
- enumerable: false,
- writable: true,
- configurable: true
- }
- });
- return _setPrototypeOf(Wrapper, Class);
- };
-
- return _wrapNativeSuper(Class);
- }
-
- function _instanceof(left, right) {
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
- return !!right[Symbol.hasInstance](left);
- } else {
- return left instanceof right;
- }
- }
-
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
-
- function _getRequireWildcardCache() {
- if (typeof WeakMap !== "function") return null;
- var cache = new WeakMap();
-
- _getRequireWildcardCache = function () {
- return cache;
- };
-
- return cache;
- }
-
- function _interopRequireWildcard(obj) {
- if (obj && obj.__esModule) {
- return obj;
- }
-
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
- return {
- default: obj
- };
- }
-
- var cache = _getRequireWildcardCache();
-
- if (cache && cache.has(obj)) {
- return cache.get(obj);
- }
-
- var newObj = {};
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
-
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
-
- if (desc && (desc.get || desc.set)) {
- Object.defineProperty(newObj, key, desc);
- } else {
- newObj[key] = obj[key];
- }
- }
- }
-
- newObj.default = obj;
-
- if (cache) {
- cache.set(obj, newObj);
- }
-
- return newObj;
- }
-
- function _newArrowCheck(innerThis, boundThis) {
- if (innerThis !== boundThis) {
- throw new TypeError("Cannot instantiate an arrow function");
- }
- }
-
- function _objectDestructuringEmpty(obj) {
- if (obj == null) throw new TypeError("Cannot destructure undefined");
- }
-
- function _objectWithoutPropertiesLoose(source, excluded) {
- if (source == null) return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
-
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- target[key] = source[key];
- }
-
- return target;
- }
-
- function _objectWithoutProperties(source, excluded) {
- if (source == null) return {};
-
- var target = _objectWithoutPropertiesLoose(source, excluded);
-
- var key, i;
-
- if (Object.getOwnPropertySymbols) {
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
-
- for (i = 0; i < sourceSymbolKeys.length; i++) {
- key = sourceSymbolKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
- target[key] = source[key];
- }
- }
-
- return target;
- }
-
- function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
- }
-
- function _possibleConstructorReturn(self, call) {
- if (call && (typeof call === "object" || typeof call === "function")) {
- return call;
- }
-
- return _assertThisInitialized(self);
- }
-
- function _createSuper(Derived) {
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
-
- return function _createSuperInternal() {
- var Super = _getPrototypeOf(Derived),
- result;
-
- if (hasNativeReflectConstruct) {
- var NewTarget = _getPrototypeOf(this).constructor;
-
- result = Reflect.construct(Super, arguments, NewTarget);
- } else {
- result = Super.apply(this, arguments);
- }
-
- return _possibleConstructorReturn(this, result);
- };
- }
-
- function _superPropBase(object, property) {
- while (!Object.prototype.hasOwnProperty.call(object, property)) {
- object = _getPrototypeOf(object);
- if (object === null) break;
- }
-
- return object;
- }
-
- function _get(target, property, receiver) {
- if (typeof Reflect !== "undefined" && Reflect.get) {
- _get = Reflect.get;
- } else {
- _get = function _get(target, property, receiver) {
- var base = _superPropBase(target, property);
-
- if (!base) return;
- var desc = Object.getOwnPropertyDescriptor(base, property);
-
- if (desc.get) {
- return desc.get.call(receiver);
- }
-
- return desc.value;
- };
- }
-
- return _get(target, property, receiver || target);
- }
-
- function set(target, property, value, receiver) {
- if (typeof Reflect !== "undefined" && Reflect.set) {
- set = Reflect.set;
- } else {
- set = function set(target, property, value, receiver) {
- var base = _superPropBase(target, property);
-
- var desc;
-
- if (base) {
- desc = Object.getOwnPropertyDescriptor(base, property);
-
- if (desc.set) {
- desc.set.call(receiver, value);
- return true;
- } else if (!desc.writable) {
- return false;
- }
- }
-
- desc = Object.getOwnPropertyDescriptor(receiver, property);
-
- if (desc) {
- if (!desc.writable) {
- return false;
- }
-
- desc.value = value;
- Object.defineProperty(receiver, property, desc);
- } else {
- _defineProperty(receiver, property, value);
- }
-
- return true;
- };
- }
-
- return set(target, property, value, receiver);
- }
-
- function _set(target, property, value, receiver, isStrict) {
- var s = set(target, property, value, receiver || target);
-
- if (!s && isStrict) {
- throw new Error('failed to set property');
- }
-
- return value;
- }
-
- function _taggedTemplateLiteral(strings, raw) {
- if (!raw) {
- raw = strings.slice(0);
- }
-
- return Object.freeze(Object.defineProperties(strings, {
- raw: {
- value: Object.freeze(raw)
- }
- }));
- }
-
- function _taggedTemplateLiteralLoose(strings, raw) {
- if (!raw) {
- raw = strings.slice(0);
- }
-
- strings.raw = raw;
- return strings;
- }
-
- function _readOnlyError(name) {
- throw new Error("\"" + name + "\" is read-only");
- }
-
- function _classNameTDZError(name) {
- throw new Error("Class \"" + name + "\" cannot be referenced in computed property keys.");
- }
-
- function _temporalUndefined() {}
-
- function _tdz(name) {
- throw new ReferenceError(name + " is not defined - temporal dead zone");
- }
-
- function _temporalRef(val, name) {
- return val === _temporalUndefined ? _tdz(name) : val;
- }
-
- function _slicedToArray(arr, i) {
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
- }
-
- function _slicedToArrayLoose(arr, i) {
- return _arrayWithHoles(arr) || _iterableToArrayLimitLoose(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
- }
-
- function _toArray(arr) {
- return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
- }
-
- function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
- }
-
- function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
- }
-
- function _arrayWithHoles(arr) {
- if (Array.isArray(arr)) return arr;
- }
-
- function _maybeArrayLike(next, arr, i) {
- if (arr && !Array.isArray(arr) && typeof arr.length === "number") {
- var len = arr.length;
- return _arrayLikeToArray(arr, i !== void 0 && i < len ? i : len);
- }
-
- return next(arr, i);
- }
-
- function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
- }
-
- function _iterableToArrayLimit(arr, i) {
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
- 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"] != null) _i["return"]();
- } finally {
- if (_d) throw _e;
- }
- }
-
- return _arr;
- }
-
- function _iterableToArrayLimitLoose(arr, i) {
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
- var _arr = [];
-
- for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
- _arr.push(_step.value);
-
- if (i && _arr.length === i) break;
- }
-
- return _arr;
- }
-
- function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
- }
-
- function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
-
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-
- return arr2;
- }
-
- function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function _nonIterableRest() {
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function _createForOfIteratorHelper(o, allowArrayLike) {
- var it;
-
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
- if (it) o = it;
- var i = 0;
-
- var F = function () {};
-
- return {
- s: F,
- n: function () {
- if (i >= o.length) return {
- done: true
- };
- return {
- done: false,
- value: o[i++]
- };
- },
- e: function (e) {
- throw e;
- },
- f: F
- };
- }
-
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- var normalCompletion = true,
- didErr = false,
- err;
- return {
- s: function () {
- it = o[Symbol.iterator]();
- },
- n: function () {
- var step = it.next();
- normalCompletion = step.done;
- return step;
- },
- e: function (e) {
- didErr = true;
- err = e;
- },
- f: function () {
- try {
- if (!normalCompletion && it.return != null) it.return();
- } finally {
- if (didErr) throw err;
- }
- }
- };
- }
-
- function _createForOfIteratorHelperLoose(o, allowArrayLike) {
- var it;
-
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
- if (it) o = it;
- var i = 0;
- return function () {
- if (i >= o.length) return {
- done: true
- };
- return {
- done: false,
- value: o[i++]
- };
- };
- }
-
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- it = o[Symbol.iterator]();
- return it.next.bind(it);
- }
-
- function _skipFirstGeneratorNext(fn) {
- return function () {
- var it = fn.apply(this, arguments);
- it.next();
- return it;
- };
- }
-
- function _toPrimitive(input, hint) {
- if (typeof input !== "object" || input === null) return input;
- var prim = input[Symbol.toPrimitive];
-
- if (prim !== undefined) {
- var res = prim.call(input, hint || "default");
- if (typeof res !== "object") return res;
- throw new TypeError("@@toPrimitive must return a primitive value.");
- }
-
- return (hint === "string" ? String : Number)(input);
- }
-
- function _toPropertyKey(arg) {
- var key = _toPrimitive(arg, "string");
-
- return typeof key === "symbol" ? key : String(key);
- }
-
- function _initializerWarningHelper(descriptor, context) {
- throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.');
- }
-
- function _initializerDefineProperty(target, property, descriptor, context) {
- if (!descriptor) return;
- Object.defineProperty(target, property, {
- enumerable: descriptor.enumerable,
- configurable: descriptor.configurable,
- writable: descriptor.writable,
- value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
- });
- }
-
- function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
- var desc = {};
- Object.keys(descriptor).forEach(function (key) {
- desc[key] = descriptor[key];
- });
- desc.enumerable = !!desc.enumerable;
- desc.configurable = !!desc.configurable;
-
- if ('value' in desc || desc.initializer) {
- desc.writable = true;
- }
-
- desc = decorators.slice().reverse().reduce(function (desc, decorator) {
- return decorator(target, property, desc) || desc;
- }, desc);
-
- if (context && desc.initializer !== void 0) {
- desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
- desc.initializer = undefined;
- }
-
- if (desc.initializer === void 0) {
- Object.defineProperty(target, property, desc);
- desc = null;
- }
-
- return desc;
- }
-
- var id = 0;
-
- function _classPrivateFieldLooseKey(name) {
- return "__private_" + id++ + "_" + name;
- }
-
- function _classPrivateFieldLooseBase(receiver, privateKey) {
- if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
- throw new TypeError("attempted to use private field on non-instance");
- }
-
- return receiver;
- }
-
- function _classPrivateFieldGet(receiver, privateMap) {
- var descriptor = privateMap.get(receiver);
-
- if (!descriptor) {
- throw new TypeError("attempted to get private field on non-instance");
- }
-
- if (descriptor.get) {
- return descriptor.get.call(receiver);
- }
-
- return descriptor.value;
- }
-
- function _classPrivateFieldSet(receiver, privateMap, value) {
- var descriptor = privateMap.get(receiver);
-
- if (!descriptor) {
- throw new TypeError("attempted to set private field on non-instance");
- }
-
- if (descriptor.set) {
- descriptor.set.call(receiver, value);
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- descriptor.value = value;
- }
-
- return value;
- }
-
- function _classPrivateFieldDestructureSet(receiver, privateMap) {
- if (!privateMap.has(receiver)) {
- throw new TypeError("attempted to set private field on non-instance");
- }
-
- var descriptor = privateMap.get(receiver);
-
- if (descriptor.set) {
- if (!("__destrObj" in descriptor)) {
- descriptor.__destrObj = {
- set value(v) {
- descriptor.set.call(receiver, v);
- }
-
- };
- }
-
- return descriptor.__destrObj;
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- return descriptor;
- }
- }
-
- function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- if (descriptor.get) {
- return descriptor.get.call(receiver);
- }
-
- return descriptor.value;
- }
-
- function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- if (descriptor.set) {
- descriptor.set.call(receiver, value);
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- descriptor.value = value;
- }
-
- return value;
- }
-
- function _classStaticPrivateMethodGet(receiver, classConstructor, method) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- return method;
- }
-
- function _classStaticPrivateMethodSet() {
- throw new TypeError("attempted to set read only static private field");
- }
-
- function _decorate(decorators, factory, superClass, mixins) {
- var api = _getDecoratorsApi();
-
- if (mixins) {
- for (var i = 0; i < mixins.length; i++) {
- api = mixins[i](api);
- }
- }
-
- var r = factory(function initialize(O) {
- api.initializeInstanceElements(O, decorated.elements);
- }, superClass);
- var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators);
- api.initializeClassElements(r.F, decorated.elements);
- return api.runClassFinishers(r.F, decorated.finishers);
- }
-
- function _getDecoratorsApi() {
- _getDecoratorsApi = function () {
- return api;
- };
-
- var api = {
- elementsDefinitionOrder: [["method"], ["field"]],
- initializeInstanceElements: function (O, elements) {
- ["method", "field"].forEach(function (kind) {
- elements.forEach(function (element) {
- if (element.kind === kind && element.placement === "own") {
- this.defineClassElement(O, element);
- }
- }, this);
- }, this);
- },
- initializeClassElements: function (F, elements) {
- var proto = F.prototype;
- ["method", "field"].forEach(function (kind) {
- elements.forEach(function (element) {
- var placement = element.placement;
-
- if (element.kind === kind && (placement === "static" || placement === "prototype")) {
- var receiver = placement === "static" ? F : proto;
- this.defineClassElement(receiver, element);
- }
- }, this);
- }, this);
- },
- defineClassElement: function (receiver, element) {
- var descriptor = element.descriptor;
-
- if (element.kind === "field") {
- var initializer = element.initializer;
- descriptor = {
- enumerable: descriptor.enumerable,
- writable: descriptor.writable,
- configurable: descriptor.configurable,
- value: initializer === void 0 ? void 0 : initializer.call(receiver)
- };
- }
-
- Object.defineProperty(receiver, element.key, descriptor);
- },
- decorateClass: function (elements, decorators) {
- var newElements = [];
- var finishers = [];
- var placements = {
- static: [],
- prototype: [],
- own: []
- };
- elements.forEach(function (element) {
- this.addElementPlacement(element, placements);
- }, this);
- elements.forEach(function (element) {
- if (!_hasDecorators(element)) return newElements.push(element);
- var elementFinishersExtras = this.decorateElement(element, placements);
- newElements.push(elementFinishersExtras.element);
- newElements.push.apply(newElements, elementFinishersExtras.extras);
- finishers.push.apply(finishers, elementFinishersExtras.finishers);
- }, this);
-
- if (!decorators) {
- return {
- elements: newElements,
- finishers: finishers
- };
- }
-
- var result = this.decorateConstructor(newElements, decorators);
- finishers.push.apply(finishers, result.finishers);
- result.finishers = finishers;
- return result;
- },
- addElementPlacement: function (element, placements, silent) {
- var keys = placements[element.placement];
-
- if (!silent && keys.indexOf(element.key) !== -1) {
- throw new TypeError("Duplicated element (" + element.key + ")");
- }
-
- keys.push(element.key);
- },
- decorateElement: function (element, placements) {
- var extras = [];
- var finishers = [];
-
- for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) {
- var keys = placements[element.placement];
- keys.splice(keys.indexOf(element.key), 1);
- var elementObject = this.fromElementDescriptor(element);
- var elementFinisherExtras = this.toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject);
- element = elementFinisherExtras.element;
- this.addElementPlacement(element, placements);
-
- if (elementFinisherExtras.finisher) {
- finishers.push(elementFinisherExtras.finisher);
- }
-
- var newExtras = elementFinisherExtras.extras;
-
- if (newExtras) {
- for (var j = 0; j < newExtras.length; j++) {
- this.addElementPlacement(newExtras[j], placements);
- }
-
- extras.push.apply(extras, newExtras);
- }
- }
-
- return {
- element: element,
- finishers: finishers,
- extras: extras
- };
- },
- decorateConstructor: function (elements, decorators) {
- var finishers = [];
-
- for (var i = decorators.length - 1; i >= 0; i--) {
- var obj = this.fromClassDescriptor(elements);
- var elementsAndFinisher = this.toClassDescriptor((0, decorators[i])(obj) || obj);
-
- if (elementsAndFinisher.finisher !== undefined) {
- finishers.push(elementsAndFinisher.finisher);
- }
-
- if (elementsAndFinisher.elements !== undefined) {
- elements = elementsAndFinisher.elements;
-
- for (var j = 0; j < elements.length - 1; j++) {
- for (var k = j + 1; k < elements.length; k++) {
- if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) {
- throw new TypeError("Duplicated element (" + elements[j].key + ")");
- }
- }
- }
- }
- }
-
- return {
- elements: elements,
- finishers: finishers
- };
- },
- fromElementDescriptor: function (element) {
- var obj = {
- kind: element.kind,
- key: element.key,
- placement: element.placement,
- descriptor: element.descriptor
- };
- var desc = {
- value: "Descriptor",
- configurable: true
- };
- Object.defineProperty(obj, Symbol.toStringTag, desc);
- if (element.kind === "field") obj.initializer = element.initializer;
- return obj;
- },
- toElementDescriptors: function (elementObjects) {
- if (elementObjects === undefined) return;
- return _toArray(elementObjects).map(function (elementObject) {
- var element = this.toElementDescriptor(elementObject);
- this.disallowProperty(elementObject, "finisher", "An element descriptor");
- this.disallowProperty(elementObject, "extras", "An element descriptor");
- return element;
- }, this);
- },
- toElementDescriptor: function (elementObject) {
- var kind = String(elementObject.kind);
-
- if (kind !== "method" && kind !== "field") {
- throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"');
- }
-
- var key = _toPropertyKey(elementObject.key);
-
- var placement = String(elementObject.placement);
-
- if (placement !== "static" && placement !== "prototype" && placement !== "own") {
- throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"');
- }
-
- var descriptor = elementObject.descriptor;
- this.disallowProperty(elementObject, "elements", "An element descriptor");
- var element = {
- kind: kind,
- key: key,
- placement: placement,
- descriptor: Object.assign({}, descriptor)
- };
-
- if (kind !== "field") {
- this.disallowProperty(elementObject, "initializer", "A method descriptor");
- } else {
- this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor");
- this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor");
- this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor");
- element.initializer = elementObject.initializer;
- }
-
- return element;
- },
- toElementFinisherExtras: function (elementObject) {
- var element = this.toElementDescriptor(elementObject);
-
- var finisher = _optionalCallableProperty(elementObject, "finisher");
-
- var extras = this.toElementDescriptors(elementObject.extras);
- return {
- element: element,
- finisher: finisher,
- extras: extras
- };
- },
- fromClassDescriptor: function (elements) {
- var obj = {
- kind: "class",
- elements: elements.map(this.fromElementDescriptor, this)
- };
- var desc = {
- value: "Descriptor",
- configurable: true
- };
- Object.defineProperty(obj, Symbol.toStringTag, desc);
- return obj;
- },
- toClassDescriptor: function (obj) {
- var kind = String(obj.kind);
-
- if (kind !== "class") {
- throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"');
- }
-
- this.disallowProperty(obj, "key", "A class descriptor");
- this.disallowProperty(obj, "placement", "A class descriptor");
- this.disallowProperty(obj, "descriptor", "A class descriptor");
- this.disallowProperty(obj, "initializer", "A class descriptor");
- this.disallowProperty(obj, "extras", "A class descriptor");
-
- var finisher = _optionalCallableProperty(obj, "finisher");
-
- var elements = this.toElementDescriptors(obj.elements);
- return {
- elements: elements,
- finisher: finisher
- };
- },
- runClassFinishers: function (constructor, finishers) {
- for (var i = 0; i < finishers.length; i++) {
- var newConstructor = (0, finishers[i])(constructor);
-
- if (newConstructor !== undefined) {
- if (typeof newConstructor !== "function") {
- throw new TypeError("Finishers must return a constructor.");
- }
-
- constructor = newConstructor;
- }
- }
-
- return constructor;
- },
- disallowProperty: function (obj, name, objectType) {
- if (obj[name] !== undefined) {
- throw new TypeError(objectType + " can't have a ." + name + " property.");
- }
- }
- };
- return api;
- }
-
- function _createElementDescriptor(def) {
- var key = _toPropertyKey(def.key);
-
- var descriptor;
-
- if (def.kind === "method") {
- descriptor = {
- value: def.value,
- writable: true,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "get") {
- descriptor = {
- get: def.value,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "set") {
- descriptor = {
- set: def.value,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "field") {
- descriptor = {
- configurable: true,
- writable: true,
- enumerable: true
- };
- }
-
- var element = {
- kind: def.kind === "field" ? "field" : "method",
- key: key,
- placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype",
- descriptor: descriptor
- };
- if (def.decorators) element.decorators = def.decorators;
- if (def.kind === "field") element.initializer = def.value;
- return element;
- }
-
- function _coalesceGetterSetter(element, other) {
- if (element.descriptor.get !== undefined) {
- other.descriptor.get = element.descriptor.get;
- } else {
- other.descriptor.set = element.descriptor.set;
- }
- }
-
- function _coalesceClassElements(elements) {
- var newElements = [];
-
- var isSameElement = function (other) {
- return other.kind === "method" && other.key === element.key && other.placement === element.placement;
- };
-
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- var other;
-
- if (element.kind === "method" && (other = newElements.find(isSameElement))) {
- if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) {
- if (_hasDecorators(element) || _hasDecorators(other)) {
- throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated.");
- }
-
- other.descriptor = element.descriptor;
- } else {
- if (_hasDecorators(element)) {
- if (_hasDecorators(other)) {
- throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ").");
- }
-
- other.decorators = element.decorators;
- }
-
- _coalesceGetterSetter(element, other);
- }
- } else {
- newElements.push(element);
- }
- }
-
- return newElements;
- }
-
- function _hasDecorators(element) {
- return element.decorators && element.decorators.length;
- }
-
- function _isDataDescriptor(desc) {
- return desc !== undefined && !(desc.value === undefined && desc.writable === undefined);
- }
-
- function _optionalCallableProperty(obj, name) {
- var value = obj[name];
-
- if (value !== undefined && typeof value !== "function") {
- throw new TypeError("Expected '" + name + "' to be a function");
- }
-
- return value;
- }
-
- function _classPrivateMethodGet(receiver, privateSet, fn) {
- if (!privateSet.has(receiver)) {
- throw new TypeError("attempted to get private field on non-instance");
- }
-
- return fn;
- }
-
- function _classPrivateMethodSet() {
- throw new TypeError("attempted to reassign private method");
- }
-
- function _wrapRegExp(re, groups) {
- _wrapRegExp = function (re, groups) {
- return new BabelRegExp(re, undefined, groups);
- };
-
- var _RegExp = _wrapNativeSuper(RegExp);
-
- var _super = RegExp.prototype;
-
- var _groups = new WeakMap();
-
- function BabelRegExp(re, flags, groups) {
- var _this = _RegExp.call(this, re, flags);
-
- _groups.set(_this, groups || _groups.get(re));
-
- return _this;
- }
-
- _inherits(BabelRegExp, _RegExp);
-
- BabelRegExp.prototype.exec = function (str) {
- var result = _super.exec.call(this, str);
-
- if (result) result.groups = buildGroups(result, this);
- return result;
- };
-
- BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {
- if (typeof substitution === "string") {
- var groups = _groups.get(this);
-
- return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) {
- return "$" + groups[name];
- }));
- } else if (typeof substitution === "function") {
- var _this = this;
-
- return _super[Symbol.replace].call(this, str, function () {
- var args = [];
- args.push.apply(args, arguments);
-
- if (typeof args[args.length - 1] !== "object") {
- args.push(buildGroups(args, _this));
- }
-
- return substitution.apply(this, args);
- });
- } else {
- return _super[Symbol.replace].call(this, str, substitution);
- }
- };
-
- function buildGroups(result, re) {
- var g = _groups.get(re);
-
- return Object.keys(g).reduce(function (groups, name) {
- groups[name] = result[g[name]];
- return groups;
- }, Object.create(null));
- }
-
- return _wrapRegExp.apply(this, arguments);
- }
-
- /**
- * Depends on Firefox add-on and executables from
- * {@link https://github.com/brettz9/webappfind}.
- * @author Brett Zamir
- * @license MIT
- * @todo See WebAppFind Readme for SVG-related todos
- */
- var extWebappfind = exports('default', {
- name: 'webappfind',
- init: function init(_ref) {
- var _this = this;
-
- return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
- var importLocale, $, strings, svgEditor, saveMessage, readMessage, excludedMessages, pathID, buttons;
- return regeneratorRuntime.wrap(function _callee$(_context) {
- while (1) {
- switch (_context.prev = _context.next) {
- case 0:
- importLocale = _ref.importLocale, $ = _ref.$;
- _context.next = 3;
- return importLocale();
-
- case 3:
- strings = _context.sent;
- svgEditor = _this;
- saveMessage = 'save', readMessage = 'read', excludedMessages = [readMessage, saveMessage];
-
- _this.canvas.bind('message',
- /**
- * @param {external:Window} win
- * @param {PlainObject} info
- * @param {module:svgcanvas.SvgCanvas#event:message} info.data
- * @param {string} info.origin
- * @listens module:svgcanvas.SvgCanvas#event:message
- * @throws {Error} Unexpected event type
- * @returns {void}
- */
- function (win, _ref2) {
- var data = _ref2.data,
- origin = _ref2.origin;
- // eslint-disable-line no-shadow
- // console.log('data, origin', data, origin);
- var type, content;
-
- try {
- var _data$webappfind = data.webappfind;
- type = _data$webappfind.type;
- pathID = _data$webappfind.pathID;
- content = _data$webappfind.content;
-
- // May throw if data is not an object
- if (origin !== location.origin || // We are only interested in a message sent as though within this URL by our browser add-on
- excludedMessages.includes(type) // Avoid our post below (other messages might be possible in the future which may also need to be excluded if your subsequent code makes assumptions on the type of message this is)
- ) {
- return;
- }
- } catch (err) {
- return;
- }
-
- switch (type) {
- case 'view':
- // Populate the contents
- svgEditor.loadFromString(content);
- /* if ($('#tool_save_file')) {
- $('#tool_save_file').disabled = false;
- } */
-
- break;
-
- case 'save-end':
- $.alert("save complete for pathID ".concat(pathID, "!"));
- break;
-
- default:
- throw new Error('Unexpected WebAppFind event type');
- }
- });
- /*
- window.postMessage({
- webappfind: {
- type: readMessage
- }
- }, window.location.origin === 'null'
- // Avoid "null" string error for `file:` protocol (even though
- // file protocol not currently supported by Firefox)
- ? '*'
- : window.location.origin
- );
- */
-
-
- buttons = [{
- id: 'webappfind_save',
- //
- icon: svgEditor.curConfig.extIconsPath + 'webappfind.png',
- type: 'app_menu',
- position: 4,
- // Before 0-based index position 4 (after the regular "Save Image (S)")
- events: {
- click: function click() {
- if (!pathID) {
- // Not ready yet as haven't received first payload
- return;
- }
-
- window.postMessage({
- webappfind: {
- type: saveMessage,
- pathID: pathID,
- content: svgEditor.canvas.getSvgString()
- }
- }, window.location.origin === 'null' // Avoid "null" string error for `file:` protocol (even
- // though file protocol not currently supported by add-on)
- ? '*' : window.location.origin);
- }
- }
- }];
- return _context.abrupt("return", {
- name: strings.name,
- svgicons: svgEditor.curConfig.extIconsPath + 'webappfind-icon.svg',
- buttons: strings.buttons.map(function (button, i) {
- return Object.assign(buttons[i], button);
- })
- });
-
- case 9:
- case "end":
- return _context.stop();
- }
- }
- }, _callee);
- }))();
- }
- });
-
- }
- };
-});
diff --git a/dist/editor/system/extensions/ext-xdomain-messaging.js b/dist/editor/system/extensions/ext-xdomain-messaging.js
deleted file mode 100644
index 97ef87bf..00000000
--- a/dist/editor/system/extensions/ext-xdomain-messaging.js
+++ /dev/null
@@ -1,1715 +0,0 @@
-System.register([], function (exports) {
- 'use strict';
- return {
- execute: function () {
-
- function _typeof(obj) {
- "@babel/helpers - typeof";
-
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
- _typeof = function (obj) {
- return typeof obj;
- };
- } else {
- _typeof = function (obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- };
- }
-
- return _typeof(obj);
- }
-
- var REACT_ELEMENT_TYPE;
-
- function _jsx(type, props, key, children) {
- if (!REACT_ELEMENT_TYPE) {
- REACT_ELEMENT_TYPE = typeof Symbol === "function" && Symbol["for"] && Symbol["for"]("react.element") || 0xeac7;
- }
-
- var defaultProps = type && type.defaultProps;
- var childrenLength = arguments.length - 3;
-
- if (!props && childrenLength !== 0) {
- props = {
- children: void 0
- };
- }
-
- if (childrenLength === 1) {
- props.children = children;
- } else if (childrenLength > 1) {
- var childArray = new Array(childrenLength);
-
- for (var i = 0; i < childrenLength; i++) {
- childArray[i] = arguments[i + 3];
- }
-
- props.children = childArray;
- }
-
- if (props && defaultProps) {
- for (var propName in defaultProps) {
- if (props[propName] === void 0) {
- props[propName] = defaultProps[propName];
- }
- }
- } else if (!props) {
- props = defaultProps || {};
- }
-
- return {
- $$typeof: REACT_ELEMENT_TYPE,
- type: type,
- key: key === undefined ? null : '' + key,
- ref: null,
- props: props,
- _owner: null
- };
- }
-
- function _asyncIterator(iterable) {
- var method;
-
- if (typeof Symbol !== "undefined") {
- if (Symbol.asyncIterator) {
- method = iterable[Symbol.asyncIterator];
- if (method != null) return method.call(iterable);
- }
-
- if (Symbol.iterator) {
- method = iterable[Symbol.iterator];
- if (method != null) return method.call(iterable);
- }
- }
-
- throw new TypeError("Object is not async iterable");
- }
-
- function _AwaitValue(value) {
- this.wrapped = value;
- }
-
- function _AsyncGenerator(gen) {
- var front, back;
-
- function send(key, arg) {
- return new Promise(function (resolve, reject) {
- var request = {
- key: key,
- arg: arg,
- resolve: resolve,
- reject: reject,
- next: null
- };
-
- if (back) {
- back = back.next = request;
- } else {
- front = back = request;
- resume(key, arg);
- }
- });
- }
-
- function resume(key, arg) {
- try {
- var result = gen[key](arg);
- var value = result.value;
- var wrappedAwait = value instanceof _AwaitValue;
- Promise.resolve(wrappedAwait ? value.wrapped : value).then(function (arg) {
- if (wrappedAwait) {
- resume(key === "return" ? "return" : "next", arg);
- return;
- }
-
- settle(result.done ? "return" : "normal", arg);
- }, function (err) {
- resume("throw", err);
- });
- } catch (err) {
- settle("throw", err);
- }
- }
-
- function settle(type, value) {
- switch (type) {
- case "return":
- front.resolve({
- value: value,
- done: true
- });
- break;
-
- case "throw":
- front.reject(value);
- break;
-
- default:
- front.resolve({
- value: value,
- done: false
- });
- break;
- }
-
- front = front.next;
-
- if (front) {
- resume(front.key, front.arg);
- } else {
- back = null;
- }
- }
-
- this._invoke = send;
-
- if (typeof gen.return !== "function") {
- this.return = undefined;
- }
- }
-
- if (typeof Symbol === "function" && Symbol.asyncIterator) {
- _AsyncGenerator.prototype[Symbol.asyncIterator] = function () {
- return this;
- };
- }
-
- _AsyncGenerator.prototype.next = function (arg) {
- return this._invoke("next", arg);
- };
-
- _AsyncGenerator.prototype.throw = function (arg) {
- return this._invoke("throw", arg);
- };
-
- _AsyncGenerator.prototype.return = function (arg) {
- return this._invoke("return", arg);
- };
-
- function _wrapAsyncGenerator(fn) {
- return function () {
- return new _AsyncGenerator(fn.apply(this, arguments));
- };
- }
-
- function _awaitAsyncGenerator(value) {
- return new _AwaitValue(value);
- }
-
- function _asyncGeneratorDelegate(inner, awaitWrap) {
- var iter = {},
- waiting = false;
-
- function pump(key, value) {
- waiting = true;
- value = new Promise(function (resolve) {
- resolve(inner[key](value));
- });
- return {
- done: false,
- value: awaitWrap(value)
- };
- }
-
- ;
-
- if (typeof Symbol === "function" && Symbol.iterator) {
- iter[Symbol.iterator] = function () {
- return this;
- };
- }
-
- iter.next = function (value) {
- if (waiting) {
- waiting = false;
- return value;
- }
-
- return pump("next", value);
- };
-
- if (typeof inner.throw === "function") {
- iter.throw = function (value) {
- if (waiting) {
- waiting = false;
- throw value;
- }
-
- return pump("throw", value);
- };
- }
-
- if (typeof inner.return === "function") {
- iter.return = function (value) {
- if (waiting) {
- waiting = false;
- return value;
- }
-
- return pump("return", value);
- };
- }
-
- return iter;
- }
-
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
- try {
- var info = gen[key](arg);
- var value = info.value;
- } catch (error) {
- reject(error);
- return;
- }
-
- if (info.done) {
- resolve(value);
- } else {
- Promise.resolve(value).then(_next, _throw);
- }
- }
-
- function _asyncToGenerator(fn) {
- return function () {
- var self = this,
- args = arguments;
- return new Promise(function (resolve, reject) {
- var gen = fn.apply(self, args);
-
- function _next(value) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
- }
-
- function _throw(err) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
- }
-
- _next(undefined);
- });
- };
- }
-
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
-
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
-
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
- }
-
- function _defineEnumerableProperties(obj, descs) {
- for (var key in descs) {
- var desc = descs[key];
- desc.configurable = desc.enumerable = true;
- if ("value" in desc) desc.writable = true;
- Object.defineProperty(obj, key, desc);
- }
-
- if (Object.getOwnPropertySymbols) {
- var objectSymbols = Object.getOwnPropertySymbols(descs);
-
- for (var i = 0; i < objectSymbols.length; i++) {
- var sym = objectSymbols[i];
- var desc = descs[sym];
- desc.configurable = desc.enumerable = true;
- if ("value" in desc) desc.writable = true;
- Object.defineProperty(obj, sym, desc);
- }
- }
-
- return obj;
- }
-
- function _defaults(obj, defaults) {
- var keys = Object.getOwnPropertyNames(defaults);
-
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- var value = Object.getOwnPropertyDescriptor(defaults, key);
-
- if (value && value.configurable && obj[key] === undefined) {
- Object.defineProperty(obj, key, value);
- }
- }
-
- return obj;
- }
-
- function _defineProperty(obj, key, value) {
- if (key in obj) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- } else {
- obj[key] = value;
- }
-
- return obj;
- }
-
- function _extends() {
- _extends = Object.assign || function (target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
-
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- }
-
- return target;
- };
-
- return _extends.apply(this, arguments);
- }
-
- function _objectSpread(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i] != null ? Object(arguments[i]) : {};
- var ownKeys = Object.keys(source);
-
- if (typeof Object.getOwnPropertySymbols === 'function') {
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
- }));
- }
-
- ownKeys.forEach(function (key) {
- _defineProperty(target, key, source[key]);
- });
- }
-
- return target;
- }
-
- function ownKeys(object, enumerableOnly) {
- var keys = Object.keys(object);
-
- if (Object.getOwnPropertySymbols) {
- var symbols = Object.getOwnPropertySymbols(object);
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
- });
- keys.push.apply(keys, symbols);
- }
-
- return keys;
- }
-
- function _objectSpread2(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i] != null ? arguments[i] : {};
-
- if (i % 2) {
- ownKeys(Object(source), true).forEach(function (key) {
- _defineProperty(target, key, source[key]);
- });
- } else if (Object.getOwnPropertyDescriptors) {
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
- } else {
- ownKeys(Object(source)).forEach(function (key) {
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
- });
- }
- }
-
- return target;
- }
-
- function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- });
- if (superClass) _setPrototypeOf(subClass, superClass);
- }
-
- function _inheritsLoose(subClass, superClass) {
- subClass.prototype = Object.create(superClass.prototype);
- subClass.prototype.constructor = subClass;
- subClass.__proto__ = superClass;
- }
-
- function _getPrototypeOf(o) {
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- };
- return _getPrototypeOf(o);
- }
-
- function _setPrototypeOf(o, p) {
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- };
-
- return _setPrototypeOf(o, p);
- }
-
- function _isNativeReflectConstruct() {
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
- if (Reflect.construct.sham) return false;
- if (typeof Proxy === "function") return true;
-
- try {
- Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
- return true;
- } catch (e) {
- return false;
- }
- }
-
- function _construct(Parent, args, Class) {
- if (_isNativeReflectConstruct()) {
- _construct = Reflect.construct;
- } else {
- _construct = function _construct(Parent, args, Class) {
- var a = [null];
- a.push.apply(a, args);
- var Constructor = Function.bind.apply(Parent, a);
- var instance = new Constructor();
- if (Class) _setPrototypeOf(instance, Class.prototype);
- return instance;
- };
- }
-
- return _construct.apply(null, arguments);
- }
-
- function _isNativeFunction(fn) {
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
- }
-
- function _wrapNativeSuper(Class) {
- var _cache = typeof Map === "function" ? new Map() : undefined;
-
- _wrapNativeSuper = function _wrapNativeSuper(Class) {
- if (Class === null || !_isNativeFunction(Class)) return Class;
-
- if (typeof Class !== "function") {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- if (typeof _cache !== "undefined") {
- if (_cache.has(Class)) return _cache.get(Class);
-
- _cache.set(Class, Wrapper);
- }
-
- function Wrapper() {
- return _construct(Class, arguments, _getPrototypeOf(this).constructor);
- }
-
- Wrapper.prototype = Object.create(Class.prototype, {
- constructor: {
- value: Wrapper,
- enumerable: false,
- writable: true,
- configurable: true
- }
- });
- return _setPrototypeOf(Wrapper, Class);
- };
-
- return _wrapNativeSuper(Class);
- }
-
- function _instanceof(left, right) {
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
- return !!right[Symbol.hasInstance](left);
- } else {
- return left instanceof right;
- }
- }
-
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
-
- function _getRequireWildcardCache() {
- if (typeof WeakMap !== "function") return null;
- var cache = new WeakMap();
-
- _getRequireWildcardCache = function () {
- return cache;
- };
-
- return cache;
- }
-
- function _interopRequireWildcard(obj) {
- if (obj && obj.__esModule) {
- return obj;
- }
-
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
- return {
- default: obj
- };
- }
-
- var cache = _getRequireWildcardCache();
-
- if (cache && cache.has(obj)) {
- return cache.get(obj);
- }
-
- var newObj = {};
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
-
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
-
- if (desc && (desc.get || desc.set)) {
- Object.defineProperty(newObj, key, desc);
- } else {
- newObj[key] = obj[key];
- }
- }
- }
-
- newObj.default = obj;
-
- if (cache) {
- cache.set(obj, newObj);
- }
-
- return newObj;
- }
-
- function _newArrowCheck(innerThis, boundThis) {
- if (innerThis !== boundThis) {
- throw new TypeError("Cannot instantiate an arrow function");
- }
- }
-
- function _objectDestructuringEmpty(obj) {
- if (obj == null) throw new TypeError("Cannot destructure undefined");
- }
-
- function _objectWithoutPropertiesLoose(source, excluded) {
- if (source == null) return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
-
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- target[key] = source[key];
- }
-
- return target;
- }
-
- function _objectWithoutProperties(source, excluded) {
- if (source == null) return {};
-
- var target = _objectWithoutPropertiesLoose(source, excluded);
-
- var key, i;
-
- if (Object.getOwnPropertySymbols) {
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
-
- for (i = 0; i < sourceSymbolKeys.length; i++) {
- key = sourceSymbolKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
- target[key] = source[key];
- }
- }
-
- return target;
- }
-
- function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
- }
-
- function _possibleConstructorReturn(self, call) {
- if (call && (typeof call === "object" || typeof call === "function")) {
- return call;
- }
-
- return _assertThisInitialized(self);
- }
-
- function _createSuper(Derived) {
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
-
- return function _createSuperInternal() {
- var Super = _getPrototypeOf(Derived),
- result;
-
- if (hasNativeReflectConstruct) {
- var NewTarget = _getPrototypeOf(this).constructor;
-
- result = Reflect.construct(Super, arguments, NewTarget);
- } else {
- result = Super.apply(this, arguments);
- }
-
- return _possibleConstructorReturn(this, result);
- };
- }
-
- function _superPropBase(object, property) {
- while (!Object.prototype.hasOwnProperty.call(object, property)) {
- object = _getPrototypeOf(object);
- if (object === null) break;
- }
-
- return object;
- }
-
- function _get(target, property, receiver) {
- if (typeof Reflect !== "undefined" && Reflect.get) {
- _get = Reflect.get;
- } else {
- _get = function _get(target, property, receiver) {
- var base = _superPropBase(target, property);
-
- if (!base) return;
- var desc = Object.getOwnPropertyDescriptor(base, property);
-
- if (desc.get) {
- return desc.get.call(receiver);
- }
-
- return desc.value;
- };
- }
-
- return _get(target, property, receiver || target);
- }
-
- function set(target, property, value, receiver) {
- if (typeof Reflect !== "undefined" && Reflect.set) {
- set = Reflect.set;
- } else {
- set = function set(target, property, value, receiver) {
- var base = _superPropBase(target, property);
-
- var desc;
-
- if (base) {
- desc = Object.getOwnPropertyDescriptor(base, property);
-
- if (desc.set) {
- desc.set.call(receiver, value);
- return true;
- } else if (!desc.writable) {
- return false;
- }
- }
-
- desc = Object.getOwnPropertyDescriptor(receiver, property);
-
- if (desc) {
- if (!desc.writable) {
- return false;
- }
-
- desc.value = value;
- Object.defineProperty(receiver, property, desc);
- } else {
- _defineProperty(receiver, property, value);
- }
-
- return true;
- };
- }
-
- return set(target, property, value, receiver);
- }
-
- function _set(target, property, value, receiver, isStrict) {
- var s = set(target, property, value, receiver || target);
-
- if (!s && isStrict) {
- throw new Error('failed to set property');
- }
-
- return value;
- }
-
- function _taggedTemplateLiteral(strings, raw) {
- if (!raw) {
- raw = strings.slice(0);
- }
-
- return Object.freeze(Object.defineProperties(strings, {
- raw: {
- value: Object.freeze(raw)
- }
- }));
- }
-
- function _taggedTemplateLiteralLoose(strings, raw) {
- if (!raw) {
- raw = strings.slice(0);
- }
-
- strings.raw = raw;
- return strings;
- }
-
- function _readOnlyError(name) {
- throw new Error("\"" + name + "\" is read-only");
- }
-
- function _classNameTDZError(name) {
- throw new Error("Class \"" + name + "\" cannot be referenced in computed property keys.");
- }
-
- function _temporalUndefined() {}
-
- function _tdz(name) {
- throw new ReferenceError(name + " is not defined - temporal dead zone");
- }
-
- function _temporalRef(val, name) {
- return val === _temporalUndefined ? _tdz(name) : val;
- }
-
- function _slicedToArray(arr, i) {
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
- }
-
- function _slicedToArrayLoose(arr, i) {
- return _arrayWithHoles(arr) || _iterableToArrayLimitLoose(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
- }
-
- function _toArray(arr) {
- return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
- }
-
- function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
- }
-
- function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
- }
-
- function _arrayWithHoles(arr) {
- if (Array.isArray(arr)) return arr;
- }
-
- function _maybeArrayLike(next, arr, i) {
- if (arr && !Array.isArray(arr) && typeof arr.length === "number") {
- var len = arr.length;
- return _arrayLikeToArray(arr, i !== void 0 && i < len ? i : len);
- }
-
- return next(arr, i);
- }
-
- function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
- }
-
- function _iterableToArrayLimit(arr, i) {
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
- 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"] != null) _i["return"]();
- } finally {
- if (_d) throw _e;
- }
- }
-
- return _arr;
- }
-
- function _iterableToArrayLimitLoose(arr, i) {
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
- var _arr = [];
-
- for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {
- _arr.push(_step.value);
-
- if (i && _arr.length === i) break;
- }
-
- return _arr;
- }
-
- function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
- }
-
- function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
-
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-
- return arr2;
- }
-
- function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function _nonIterableRest() {
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function _createForOfIteratorHelper(o, allowArrayLike) {
- var it;
-
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
- if (it) o = it;
- var i = 0;
-
- var F = function () {};
-
- return {
- s: F,
- n: function () {
- if (i >= o.length) return {
- done: true
- };
- return {
- done: false,
- value: o[i++]
- };
- },
- e: function (e) {
- throw e;
- },
- f: F
- };
- }
-
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- var normalCompletion = true,
- didErr = false,
- err;
- return {
- s: function () {
- it = o[Symbol.iterator]();
- },
- n: function () {
- var step = it.next();
- normalCompletion = step.done;
- return step;
- },
- e: function (e) {
- didErr = true;
- err = e;
- },
- f: function () {
- try {
- if (!normalCompletion && it.return != null) it.return();
- } finally {
- if (didErr) throw err;
- }
- }
- };
- }
-
- function _createForOfIteratorHelperLoose(o, allowArrayLike) {
- var it;
-
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
- if (it) o = it;
- var i = 0;
- return function () {
- if (i >= o.length) return {
- done: true
- };
- return {
- done: false,
- value: o[i++]
- };
- };
- }
-
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- it = o[Symbol.iterator]();
- return it.next.bind(it);
- }
-
- function _skipFirstGeneratorNext(fn) {
- return function () {
- var it = fn.apply(this, arguments);
- it.next();
- return it;
- };
- }
-
- function _toPrimitive(input, hint) {
- if (typeof input !== "object" || input === null) return input;
- var prim = input[Symbol.toPrimitive];
-
- if (prim !== undefined) {
- var res = prim.call(input, hint || "default");
- if (typeof res !== "object") return res;
- throw new TypeError("@@toPrimitive must return a primitive value.");
- }
-
- return (hint === "string" ? String : Number)(input);
- }
-
- function _toPropertyKey(arg) {
- var key = _toPrimitive(arg, "string");
-
- return typeof key === "symbol" ? key : String(key);
- }
-
- function _initializerWarningHelper(descriptor, context) {
- throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.');
- }
-
- function _initializerDefineProperty(target, property, descriptor, context) {
- if (!descriptor) return;
- Object.defineProperty(target, property, {
- enumerable: descriptor.enumerable,
- configurable: descriptor.configurable,
- writable: descriptor.writable,
- value: descriptor.initializer ? descriptor.initializer.call(context) : void 0
- });
- }
-
- function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {
- var desc = {};
- Object.keys(descriptor).forEach(function (key) {
- desc[key] = descriptor[key];
- });
- desc.enumerable = !!desc.enumerable;
- desc.configurable = !!desc.configurable;
-
- if ('value' in desc || desc.initializer) {
- desc.writable = true;
- }
-
- desc = decorators.slice().reverse().reduce(function (desc, decorator) {
- return decorator(target, property, desc) || desc;
- }, desc);
-
- if (context && desc.initializer !== void 0) {
- desc.value = desc.initializer ? desc.initializer.call(context) : void 0;
- desc.initializer = undefined;
- }
-
- if (desc.initializer === void 0) {
- Object.defineProperty(target, property, desc);
- desc = null;
- }
-
- return desc;
- }
-
- var id = 0;
-
- function _classPrivateFieldLooseKey(name) {
- return "__private_" + id++ + "_" + name;
- }
-
- function _classPrivateFieldLooseBase(receiver, privateKey) {
- if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
- throw new TypeError("attempted to use private field on non-instance");
- }
-
- return receiver;
- }
-
- function _classPrivateFieldGet(receiver, privateMap) {
- var descriptor = privateMap.get(receiver);
-
- if (!descriptor) {
- throw new TypeError("attempted to get private field on non-instance");
- }
-
- if (descriptor.get) {
- return descriptor.get.call(receiver);
- }
-
- return descriptor.value;
- }
-
- function _classPrivateFieldSet(receiver, privateMap, value) {
- var descriptor = privateMap.get(receiver);
-
- if (!descriptor) {
- throw new TypeError("attempted to set private field on non-instance");
- }
-
- if (descriptor.set) {
- descriptor.set.call(receiver, value);
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- descriptor.value = value;
- }
-
- return value;
- }
-
- function _classPrivateFieldDestructureSet(receiver, privateMap) {
- if (!privateMap.has(receiver)) {
- throw new TypeError("attempted to set private field on non-instance");
- }
-
- var descriptor = privateMap.get(receiver);
-
- if (descriptor.set) {
- if (!("__destrObj" in descriptor)) {
- descriptor.__destrObj = {
- set value(v) {
- descriptor.set.call(receiver, v);
- }
-
- };
- }
-
- return descriptor.__destrObj;
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- return descriptor;
- }
- }
-
- function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- if (descriptor.get) {
- return descriptor.get.call(receiver);
- }
-
- return descriptor.value;
- }
-
- function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- if (descriptor.set) {
- descriptor.set.call(receiver, value);
- } else {
- if (!descriptor.writable) {
- throw new TypeError("attempted to set read only private field");
- }
-
- descriptor.value = value;
- }
-
- return value;
- }
-
- function _classStaticPrivateMethodGet(receiver, classConstructor, method) {
- if (receiver !== classConstructor) {
- throw new TypeError("Private static access of wrong provenance");
- }
-
- return method;
- }
-
- function _classStaticPrivateMethodSet() {
- throw new TypeError("attempted to set read only static private field");
- }
-
- function _decorate(decorators, factory, superClass, mixins) {
- var api = _getDecoratorsApi();
-
- if (mixins) {
- for (var i = 0; i < mixins.length; i++) {
- api = mixins[i](api);
- }
- }
-
- var r = factory(function initialize(O) {
- api.initializeInstanceElements(O, decorated.elements);
- }, superClass);
- var decorated = api.decorateClass(_coalesceClassElements(r.d.map(_createElementDescriptor)), decorators);
- api.initializeClassElements(r.F, decorated.elements);
- return api.runClassFinishers(r.F, decorated.finishers);
- }
-
- function _getDecoratorsApi() {
- _getDecoratorsApi = function () {
- return api;
- };
-
- var api = {
- elementsDefinitionOrder: [["method"], ["field"]],
- initializeInstanceElements: function (O, elements) {
- ["method", "field"].forEach(function (kind) {
- elements.forEach(function (element) {
- if (element.kind === kind && element.placement === "own") {
- this.defineClassElement(O, element);
- }
- }, this);
- }, this);
- },
- initializeClassElements: function (F, elements) {
- var proto = F.prototype;
- ["method", "field"].forEach(function (kind) {
- elements.forEach(function (element) {
- var placement = element.placement;
-
- if (element.kind === kind && (placement === "static" || placement === "prototype")) {
- var receiver = placement === "static" ? F : proto;
- this.defineClassElement(receiver, element);
- }
- }, this);
- }, this);
- },
- defineClassElement: function (receiver, element) {
- var descriptor = element.descriptor;
-
- if (element.kind === "field") {
- var initializer = element.initializer;
- descriptor = {
- enumerable: descriptor.enumerable,
- writable: descriptor.writable,
- configurable: descriptor.configurable,
- value: initializer === void 0 ? void 0 : initializer.call(receiver)
- };
- }
-
- Object.defineProperty(receiver, element.key, descriptor);
- },
- decorateClass: function (elements, decorators) {
- var newElements = [];
- var finishers = [];
- var placements = {
- static: [],
- prototype: [],
- own: []
- };
- elements.forEach(function (element) {
- this.addElementPlacement(element, placements);
- }, this);
- elements.forEach(function (element) {
- if (!_hasDecorators(element)) return newElements.push(element);
- var elementFinishersExtras = this.decorateElement(element, placements);
- newElements.push(elementFinishersExtras.element);
- newElements.push.apply(newElements, elementFinishersExtras.extras);
- finishers.push.apply(finishers, elementFinishersExtras.finishers);
- }, this);
-
- if (!decorators) {
- return {
- elements: newElements,
- finishers: finishers
- };
- }
-
- var result = this.decorateConstructor(newElements, decorators);
- finishers.push.apply(finishers, result.finishers);
- result.finishers = finishers;
- return result;
- },
- addElementPlacement: function (element, placements, silent) {
- var keys = placements[element.placement];
-
- if (!silent && keys.indexOf(element.key) !== -1) {
- throw new TypeError("Duplicated element (" + element.key + ")");
- }
-
- keys.push(element.key);
- },
- decorateElement: function (element, placements) {
- var extras = [];
- var finishers = [];
-
- for (var decorators = element.decorators, i = decorators.length - 1; i >= 0; i--) {
- var keys = placements[element.placement];
- keys.splice(keys.indexOf(element.key), 1);
- var elementObject = this.fromElementDescriptor(element);
- var elementFinisherExtras = this.toElementFinisherExtras((0, decorators[i])(elementObject) || elementObject);
- element = elementFinisherExtras.element;
- this.addElementPlacement(element, placements);
-
- if (elementFinisherExtras.finisher) {
- finishers.push(elementFinisherExtras.finisher);
- }
-
- var newExtras = elementFinisherExtras.extras;
-
- if (newExtras) {
- for (var j = 0; j < newExtras.length; j++) {
- this.addElementPlacement(newExtras[j], placements);
- }
-
- extras.push.apply(extras, newExtras);
- }
- }
-
- return {
- element: element,
- finishers: finishers,
- extras: extras
- };
- },
- decorateConstructor: function (elements, decorators) {
- var finishers = [];
-
- for (var i = decorators.length - 1; i >= 0; i--) {
- var obj = this.fromClassDescriptor(elements);
- var elementsAndFinisher = this.toClassDescriptor((0, decorators[i])(obj) || obj);
-
- if (elementsAndFinisher.finisher !== undefined) {
- finishers.push(elementsAndFinisher.finisher);
- }
-
- if (elementsAndFinisher.elements !== undefined) {
- elements = elementsAndFinisher.elements;
-
- for (var j = 0; j < elements.length - 1; j++) {
- for (var k = j + 1; k < elements.length; k++) {
- if (elements[j].key === elements[k].key && elements[j].placement === elements[k].placement) {
- throw new TypeError("Duplicated element (" + elements[j].key + ")");
- }
- }
- }
- }
- }
-
- return {
- elements: elements,
- finishers: finishers
- };
- },
- fromElementDescriptor: function (element) {
- var obj = {
- kind: element.kind,
- key: element.key,
- placement: element.placement,
- descriptor: element.descriptor
- };
- var desc = {
- value: "Descriptor",
- configurable: true
- };
- Object.defineProperty(obj, Symbol.toStringTag, desc);
- if (element.kind === "field") obj.initializer = element.initializer;
- return obj;
- },
- toElementDescriptors: function (elementObjects) {
- if (elementObjects === undefined) return;
- return _toArray(elementObjects).map(function (elementObject) {
- var element = this.toElementDescriptor(elementObject);
- this.disallowProperty(elementObject, "finisher", "An element descriptor");
- this.disallowProperty(elementObject, "extras", "An element descriptor");
- return element;
- }, this);
- },
- toElementDescriptor: function (elementObject) {
- var kind = String(elementObject.kind);
-
- if (kind !== "method" && kind !== "field") {
- throw new TypeError('An element descriptor\'s .kind property must be either "method" or' + ' "field", but a decorator created an element descriptor with' + ' .kind "' + kind + '"');
- }
-
- var key = _toPropertyKey(elementObject.key);
-
- var placement = String(elementObject.placement);
-
- if (placement !== "static" && placement !== "prototype" && placement !== "own") {
- throw new TypeError('An element descriptor\'s .placement property must be one of "static",' + ' "prototype" or "own", but a decorator created an element descriptor' + ' with .placement "' + placement + '"');
- }
-
- var descriptor = elementObject.descriptor;
- this.disallowProperty(elementObject, "elements", "An element descriptor");
- var element = {
- kind: kind,
- key: key,
- placement: placement,
- descriptor: Object.assign({}, descriptor)
- };
-
- if (kind !== "field") {
- this.disallowProperty(elementObject, "initializer", "A method descriptor");
- } else {
- this.disallowProperty(descriptor, "get", "The property descriptor of a field descriptor");
- this.disallowProperty(descriptor, "set", "The property descriptor of a field descriptor");
- this.disallowProperty(descriptor, "value", "The property descriptor of a field descriptor");
- element.initializer = elementObject.initializer;
- }
-
- return element;
- },
- toElementFinisherExtras: function (elementObject) {
- var element = this.toElementDescriptor(elementObject);
-
- var finisher = _optionalCallableProperty(elementObject, "finisher");
-
- var extras = this.toElementDescriptors(elementObject.extras);
- return {
- element: element,
- finisher: finisher,
- extras: extras
- };
- },
- fromClassDescriptor: function (elements) {
- var obj = {
- kind: "class",
- elements: elements.map(this.fromElementDescriptor, this)
- };
- var desc = {
- value: "Descriptor",
- configurable: true
- };
- Object.defineProperty(obj, Symbol.toStringTag, desc);
- return obj;
- },
- toClassDescriptor: function (obj) {
- var kind = String(obj.kind);
-
- if (kind !== "class") {
- throw new TypeError('A class descriptor\'s .kind property must be "class", but a decorator' + ' created a class descriptor with .kind "' + kind + '"');
- }
-
- this.disallowProperty(obj, "key", "A class descriptor");
- this.disallowProperty(obj, "placement", "A class descriptor");
- this.disallowProperty(obj, "descriptor", "A class descriptor");
- this.disallowProperty(obj, "initializer", "A class descriptor");
- this.disallowProperty(obj, "extras", "A class descriptor");
-
- var finisher = _optionalCallableProperty(obj, "finisher");
-
- var elements = this.toElementDescriptors(obj.elements);
- return {
- elements: elements,
- finisher: finisher
- };
- },
- runClassFinishers: function (constructor, finishers) {
- for (var i = 0; i < finishers.length; i++) {
- var newConstructor = (0, finishers[i])(constructor);
-
- if (newConstructor !== undefined) {
- if (typeof newConstructor !== "function") {
- throw new TypeError("Finishers must return a constructor.");
- }
-
- constructor = newConstructor;
- }
- }
-
- return constructor;
- },
- disallowProperty: function (obj, name, objectType) {
- if (obj[name] !== undefined) {
- throw new TypeError(objectType + " can't have a ." + name + " property.");
- }
- }
- };
- return api;
- }
-
- function _createElementDescriptor(def) {
- var key = _toPropertyKey(def.key);
-
- var descriptor;
-
- if (def.kind === "method") {
- descriptor = {
- value: def.value,
- writable: true,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "get") {
- descriptor = {
- get: def.value,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "set") {
- descriptor = {
- set: def.value,
- configurable: true,
- enumerable: false
- };
- } else if (def.kind === "field") {
- descriptor = {
- configurable: true,
- writable: true,
- enumerable: true
- };
- }
-
- var element = {
- kind: def.kind === "field" ? "field" : "method",
- key: key,
- placement: def.static ? "static" : def.kind === "field" ? "own" : "prototype",
- descriptor: descriptor
- };
- if (def.decorators) element.decorators = def.decorators;
- if (def.kind === "field") element.initializer = def.value;
- return element;
- }
-
- function _coalesceGetterSetter(element, other) {
- if (element.descriptor.get !== undefined) {
- other.descriptor.get = element.descriptor.get;
- } else {
- other.descriptor.set = element.descriptor.set;
- }
- }
-
- function _coalesceClassElements(elements) {
- var newElements = [];
-
- var isSameElement = function (other) {
- return other.kind === "method" && other.key === element.key && other.placement === element.placement;
- };
-
- for (var i = 0; i < elements.length; i++) {
- var element = elements[i];
- var other;
-
- if (element.kind === "method" && (other = newElements.find(isSameElement))) {
- if (_isDataDescriptor(element.descriptor) || _isDataDescriptor(other.descriptor)) {
- if (_hasDecorators(element) || _hasDecorators(other)) {
- throw new ReferenceError("Duplicated methods (" + element.key + ") can't be decorated.");
- }
-
- other.descriptor = element.descriptor;
- } else {
- if (_hasDecorators(element)) {
- if (_hasDecorators(other)) {
- throw new ReferenceError("Decorators can't be placed on different accessors with for " + "the same property (" + element.key + ").");
- }
-
- other.decorators = element.decorators;
- }
-
- _coalesceGetterSetter(element, other);
- }
- } else {
- newElements.push(element);
- }
- }
-
- return newElements;
- }
-
- function _hasDecorators(element) {
- return element.decorators && element.decorators.length;
- }
-
- function _isDataDescriptor(desc) {
- return desc !== undefined && !(desc.value === undefined && desc.writable === undefined);
- }
-
- function _optionalCallableProperty(obj, name) {
- var value = obj[name];
-
- if (value !== undefined && typeof value !== "function") {
- throw new TypeError("Expected '" + name + "' to be a function");
- }
-
- return value;
- }
-
- function _classPrivateMethodGet(receiver, privateSet, fn) {
- if (!privateSet.has(receiver)) {
- throw new TypeError("attempted to get private field on non-instance");
- }
-
- return fn;
- }
-
- function _classPrivateMethodSet() {
- throw new TypeError("attempted to reassign private method");
- }
-
- function _wrapRegExp(re, groups) {
- _wrapRegExp = function (re, groups) {
- return new BabelRegExp(re, undefined, groups);
- };
-
- var _RegExp = _wrapNativeSuper(RegExp);
-
- var _super = RegExp.prototype;
-
- var _groups = new WeakMap();
-
- function BabelRegExp(re, flags, groups) {
- var _this = _RegExp.call(this, re, flags);
-
- _groups.set(_this, groups || _groups.get(re));
-
- return _this;
- }
-
- _inherits(BabelRegExp, _RegExp);
-
- BabelRegExp.prototype.exec = function (str) {
- var result = _super.exec.call(this, str);
-
- if (result) result.groups = buildGroups(result, this);
- return result;
- };
-
- BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {
- if (typeof substitution === "string") {
- var groups = _groups.get(this);
-
- return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) {
- return "$" + groups[name];
- }));
- } else if (typeof substitution === "function") {
- var _this = this;
-
- return _super[Symbol.replace].call(this, str, function () {
- var args = [];
- args.push.apply(args, arguments);
-
- if (typeof args[args.length - 1] !== "object") {
- args.push(buildGroups(args, _this));
- }
-
- return substitution.apply(this, args);
- });
- } else {
- return _super[Symbol.replace].call(this, str, substitution);
- }
- };
-
- function buildGroups(result, re) {
- var g = _groups.get(re);
-
- return Object.keys(g).reduce(function (groups, name) {
- groups[name] = result[g[name]];
- return groups;
- }, Object.create(null));
- }
-
- return _wrapRegExp.apply(this, arguments);
- }
-
- /**
- * Should not be needed for same domain control (just call via child frame),
- * but an API common for cross-domain and same domain use can be found
- * in embedapi.js with a demo at embedapi.html.
- */
- var extXdomainMessaging = exports('default', {
- name: 'xdomain-messaging',
- init: function init() {
- var svgEditor = this;
- var svgCanvas = svgEditor.canvas;
-
- try {
- window.addEventListener('message', function (e) {
- // We accept and post strings for the sake of IE9 support
- if (!e.data || !['string', 'object'].includes(_typeof(e.data)) || e.data.charAt() === '|') {
- return;
- }
-
- var data = _typeof(e.data) === 'object' ? e.data : JSON.parse(e.data);
-
- if (!data || _typeof(data) !== 'object' || data.namespace !== 'svgCanvas') {
- return;
- } // The default is not to allow any origins, including even the same domain or
- // if run on a `file:///` URL. See `svgedit-config-es.js` for an example of how
- // to configure
-
-
- var allowedOrigins = svgEditor.curConfig.allowedOrigins;
-
- if (!allowedOrigins.includes('*') && !allowedOrigins.includes(e.origin)) {
- console.log("Origin ".concat(e.origin, " not whitelisted for posting to ").concat(window.origin)); // eslint-disable-line no-console
-
- return;
- }
-
- var cbid = data.id;
- var name = data.name,
- args = data.args;
- var message = {
- namespace: 'svg-edit',
- id: cbid
- };
-
- try {
- // Now that we know the origin is trusted, we perform otherwise
- // unsafe arbitrary canvas method execution
- message.result = svgCanvas[name].apply(svgCanvas, _toConsumableArray(args)); // lgtm [js/remote-property-injection]
- } catch (err) {
- message.error = err.message;
- }
-
- e.source.postMessage(JSON.stringify(message), '*');
- });
- } catch (err) {
- console.log('Error with xdomain message listener: ' + err); // eslint-disable-line no-console
- }
- }
- });
-
- }
- };
-});
diff --git a/dist/editor/system/extensions/eyedropper-icon.xml b/dist/editor/system/extensions/eyedropper-icon.xml
deleted file mode 100644
index 8f8233e4..00000000
--- a/dist/editor/system/extensions/eyedropper-icon.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
diff --git a/dist/editor/system/extensions/foreignobject-icons.xml b/dist/editor/system/extensions/foreignobject-icons.xml
deleted file mode 100644
index d5cb7e61..00000000
--- a/dist/editor/system/extensions/foreignobject-icons.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/extensions/grid-icon.xml b/dist/editor/system/extensions/grid-icon.xml
deleted file mode 100644
index 3ec53911..00000000
--- a/dist/editor/system/extensions/grid-icon.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/extensions/markers-icons.xml b/dist/editor/system/extensions/markers-icons.xml
deleted file mode 100644
index 7a9f3047..00000000
--- a/dist/editor/system/extensions/markers-icons.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- T
-
-
-
-
-
-
-
-
-
-
-
- T
-
-
-
-
-
-
-
- T
-
-
-
-
-
diff --git a/dist/editor/system/extensions/polygon-icons.svg b/dist/editor/system/extensions/polygon-icons.svg
deleted file mode 100644
index 732fa814..00000000
--- a/dist/editor/system/extensions/polygon-icons.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/extensions/star-icons.svg b/dist/editor/system/extensions/star-icons.svg
deleted file mode 100644
index 0f429f2d..00000000
--- a/dist/editor/system/extensions/star-icons.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/README.txt b/dist/editor/system/images/README.txt
deleted file mode 100644
index 7c5b5739..00000000
--- a/dist/editor/system/images/README.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-filename origin
-
-align-bottom.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-bottom.png
-align-bottom.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-bottom.svg
-align-center.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-center.png
-align-center.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-center.svg
-align-left.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-left.png
-align-left.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-left.svg
-align-middle.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-center.png
-align-middle.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-center.svg
-align-right.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-right.png
-align-right.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-right.svg
-align-top.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-top.png
-align-top.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-top.svg
-bold.png
-cancel.png
-circle.png
-clear.png
-clone.png
-copy.png
-cut.png
-delete.png
-document-properties.png
-dropdown.gif
-ellipse.png
-eye.png
-flyouth.png
-flyup.gif
-freehand-circle.png
-freehand-square.png
-go-down.png
-go-up.png
-image.png
-italic.png
-line.png
-logo.png
-logo.svg
-move_bottom.png
-move_top.png
-none.png
-open.png
-paste.png
-path.png
-polygon.png https://github.com/SVG-Edit/svgedit/issues/377
-polygon.svg https://github.com/SVG-Edit/svgedit/issues/377
-rect.png
-redo.png
-rotate.png
-save.png
-select.png
-sep.png
-shape_group_elements.png
-shape_ungroup.png
-source.png
-square.png
-text.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-text.png
-text.svg http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-text.svg
-undo.png
-view-refresh.png
-zoom.png http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/page-magnifier.png
diff --git a/dist/editor/system/images/add_subpath.png b/dist/editor/system/images/add_subpath.png
deleted file mode 100644
index a025a78d..00000000
Binary files a/dist/editor/system/images/add_subpath.png and /dev/null differ
diff --git a/dist/editor/system/images/align-bottom.png b/dist/editor/system/images/align-bottom.png
deleted file mode 100644
index b60fa558..00000000
Binary files a/dist/editor/system/images/align-bottom.png and /dev/null differ
diff --git a/dist/editor/system/images/align-bottom.svg b/dist/editor/system/images/align-bottom.svg
deleted file mode 100644
index 36f8efe2..00000000
--- a/dist/editor/system/images/align-bottom.svg
+++ /dev/null
@@ -1,277 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/align-center.png b/dist/editor/system/images/align-center.png
deleted file mode 100644
index b155461c..00000000
Binary files a/dist/editor/system/images/align-center.png and /dev/null differ
diff --git a/dist/editor/system/images/align-center.svg b/dist/editor/system/images/align-center.svg
deleted file mode 100644
index ddf49fce..00000000
--- a/dist/editor/system/images/align-center.svg
+++ /dev/null
@@ -1,252 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/align-left.png b/dist/editor/system/images/align-left.png
deleted file mode 100644
index 4975a62c..00000000
Binary files a/dist/editor/system/images/align-left.png and /dev/null differ
diff --git a/dist/editor/system/images/align-left.svg b/dist/editor/system/images/align-left.svg
deleted file mode 100644
index b1a24a5a..00000000
--- a/dist/editor/system/images/align-left.svg
+++ /dev/null
@@ -1,235 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/align-middle.png b/dist/editor/system/images/align-middle.png
deleted file mode 100644
index 4d945f9e..00000000
Binary files a/dist/editor/system/images/align-middle.png and /dev/null differ
diff --git a/dist/editor/system/images/align-middle.svg b/dist/editor/system/images/align-middle.svg
deleted file mode 100644
index d2b42e6a..00000000
--- a/dist/editor/system/images/align-middle.svg
+++ /dev/null
@@ -1,250 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/align-right.png b/dist/editor/system/images/align-right.png
deleted file mode 100644
index 2dc83ae4..00000000
Binary files a/dist/editor/system/images/align-right.png and /dev/null differ
diff --git a/dist/editor/system/images/align-right.svg b/dist/editor/system/images/align-right.svg
deleted file mode 100644
index c2f8f19e..00000000
--- a/dist/editor/system/images/align-right.svg
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/align-top.png b/dist/editor/system/images/align-top.png
deleted file mode 100644
index 5252723b..00000000
Binary files a/dist/editor/system/images/align-top.png and /dev/null differ
diff --git a/dist/editor/system/images/align-top.svg b/dist/editor/system/images/align-top.svg
deleted file mode 100644
index f314f32d..00000000
--- a/dist/editor/system/images/align-top.svg
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/align.png b/dist/editor/system/images/align.png
deleted file mode 100644
index a0fc147b..00000000
Binary files a/dist/editor/system/images/align.png and /dev/null differ
diff --git a/dist/editor/system/images/angle.png b/dist/editor/system/images/angle.png
deleted file mode 100644
index e054a678..00000000
Binary files a/dist/editor/system/images/angle.png and /dev/null differ
diff --git a/dist/editor/system/images/arrow_right.png b/dist/editor/system/images/arrow_right.png
deleted file mode 100644
index 3d7a1971..00000000
Binary files a/dist/editor/system/images/arrow_right.png and /dev/null differ
diff --git a/dist/editor/system/images/arrow_right_big.png b/dist/editor/system/images/arrow_right_big.png
deleted file mode 100644
index a4847946..00000000
Binary files a/dist/editor/system/images/arrow_right_big.png and /dev/null differ
diff --git a/dist/editor/system/images/blur.png b/dist/editor/system/images/blur.png
deleted file mode 100644
index abd134eb..00000000
Binary files a/dist/editor/system/images/blur.png and /dev/null differ
diff --git a/dist/editor/system/images/bold.png b/dist/editor/system/images/bold.png
deleted file mode 100644
index a1ce11df..00000000
Binary files a/dist/editor/system/images/bold.png and /dev/null differ
diff --git a/dist/editor/system/images/c_radius.png b/dist/editor/system/images/c_radius.png
deleted file mode 100644
index f0f3a522..00000000
Binary files a/dist/editor/system/images/c_radius.png and /dev/null differ
diff --git a/dist/editor/system/images/cancel.png b/dist/editor/system/images/cancel.png
deleted file mode 100644
index 5ee3057e..00000000
Binary files a/dist/editor/system/images/cancel.png and /dev/null differ
diff --git a/dist/editor/system/images/circle.png b/dist/editor/system/images/circle.png
deleted file mode 100644
index f8855fa7..00000000
Binary files a/dist/editor/system/images/circle.png and /dev/null differ
diff --git a/dist/editor/system/images/clear.png b/dist/editor/system/images/clear.png
deleted file mode 100644
index 6bc5396e..00000000
Binary files a/dist/editor/system/images/clear.png and /dev/null differ
diff --git a/dist/editor/system/images/clone.png b/dist/editor/system/images/clone.png
deleted file mode 100644
index b8e10fb3..00000000
Binary files a/dist/editor/system/images/clone.png and /dev/null differ
diff --git a/dist/editor/system/images/closepath.png b/dist/editor/system/images/closepath.png
deleted file mode 100644
index 7364bfc3..00000000
Binary files a/dist/editor/system/images/closepath.png and /dev/null differ
diff --git a/dist/editor/system/images/config.png b/dist/editor/system/images/config.png
deleted file mode 100644
index a4fbf6b5..00000000
Binary files a/dist/editor/system/images/config.png and /dev/null differ
diff --git a/dist/editor/system/images/config.svg b/dist/editor/system/images/config.svg
deleted file mode 100644
index a62cae6e..00000000
--- a/dist/editor/system/images/config.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/dist/editor/system/images/conn.svg b/dist/editor/system/images/conn.svg
deleted file mode 100644
index 7aa6202d..00000000
--- a/dist/editor/system/images/conn.svg
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Layer 1
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/context_menu.png b/dist/editor/system/images/context_menu.png
deleted file mode 100644
index 05a49fc1..00000000
Binary files a/dist/editor/system/images/context_menu.png and /dev/null differ
diff --git a/dist/editor/system/images/copy.png b/dist/editor/system/images/copy.png
deleted file mode 100644
index b1555e00..00000000
Binary files a/dist/editor/system/images/copy.png and /dev/null differ
diff --git a/dist/editor/system/images/cut.png b/dist/editor/system/images/cut.png
deleted file mode 100644
index b87a4e37..00000000
Binary files a/dist/editor/system/images/cut.png and /dev/null differ
diff --git a/dist/editor/system/images/delete.png b/dist/editor/system/images/delete.png
deleted file mode 100644
index d85ea156..00000000
Binary files a/dist/editor/system/images/delete.png and /dev/null differ
diff --git a/dist/editor/system/images/document-properties.png b/dist/editor/system/images/document-properties.png
deleted file mode 100644
index 82327377..00000000
Binary files a/dist/editor/system/images/document-properties.png and /dev/null differ
diff --git a/dist/editor/system/images/dropdown.gif b/dist/editor/system/images/dropdown.gif
deleted file mode 100644
index 4180d5eb..00000000
Binary files a/dist/editor/system/images/dropdown.gif and /dev/null differ
diff --git a/dist/editor/system/images/ellipse.png b/dist/editor/system/images/ellipse.png
deleted file mode 100644
index 6875e2bc..00000000
Binary files a/dist/editor/system/images/ellipse.png and /dev/null differ
diff --git a/dist/editor/system/images/export.png b/dist/editor/system/images/export.png
deleted file mode 100644
index 3ae2a4c0..00000000
Binary files a/dist/editor/system/images/export.png and /dev/null differ
diff --git a/dist/editor/system/images/eye.png b/dist/editor/system/images/eye.png
deleted file mode 100644
index fe5e245c..00000000
Binary files a/dist/editor/system/images/eye.png and /dev/null differ
diff --git a/dist/editor/system/images/fhpath.png b/dist/editor/system/images/fhpath.png
deleted file mode 100644
index 57a5365e..00000000
Binary files a/dist/editor/system/images/fhpath.png and /dev/null differ
diff --git a/dist/editor/system/images/fill.png b/dist/editor/system/images/fill.png
deleted file mode 100644
index c785879d..00000000
Binary files a/dist/editor/system/images/fill.png and /dev/null differ
diff --git a/dist/editor/system/images/flyouth.png b/dist/editor/system/images/flyouth.png
deleted file mode 100644
index 10aba650..00000000
Binary files a/dist/editor/system/images/flyouth.png and /dev/null differ
diff --git a/dist/editor/system/images/flyup.gif b/dist/editor/system/images/flyup.gif
deleted file mode 100644
index c027e137..00000000
Binary files a/dist/editor/system/images/flyup.gif and /dev/null differ
diff --git a/dist/editor/system/images/fontsize.png b/dist/editor/system/images/fontsize.png
deleted file mode 100644
index 944e107f..00000000
Binary files a/dist/editor/system/images/fontsize.png and /dev/null differ
diff --git a/dist/editor/system/images/freehand-circle.png b/dist/editor/system/images/freehand-circle.png
deleted file mode 100644
index 24726c67..00000000
Binary files a/dist/editor/system/images/freehand-circle.png and /dev/null differ
diff --git a/dist/editor/system/images/freehand-square.png b/dist/editor/system/images/freehand-square.png
deleted file mode 100644
index 1ca3e578..00000000
Binary files a/dist/editor/system/images/freehand-square.png and /dev/null differ
diff --git a/dist/editor/system/images/freehand-square.svg b/dist/editor/system/images/freehand-square.svg
deleted file mode 100644
index bad96937..00000000
--- a/dist/editor/system/images/freehand-square.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/globe_link.png b/dist/editor/system/images/globe_link.png
deleted file mode 100644
index 84eae639..00000000
Binary files a/dist/editor/system/images/globe_link.png and /dev/null differ
diff --git a/dist/editor/system/images/go-down.png b/dist/editor/system/images/go-down.png
deleted file mode 100644
index 8b91699e..00000000
Binary files a/dist/editor/system/images/go-down.png and /dev/null differ
diff --git a/dist/editor/system/images/go-up.png b/dist/editor/system/images/go-up.png
deleted file mode 100644
index 20044881..00000000
Binary files a/dist/editor/system/images/go-up.png and /dev/null differ
diff --git a/dist/editor/system/images/group_elements.png b/dist/editor/system/images/group_elements.png
deleted file mode 100644
index 5dbd1ce8..00000000
Binary files a/dist/editor/system/images/group_elements.png and /dev/null differ
diff --git a/dist/editor/system/images/height.png b/dist/editor/system/images/height.png
deleted file mode 100644
index a85678ab..00000000
Binary files a/dist/editor/system/images/height.png and /dev/null differ
diff --git a/dist/editor/system/images/image.png b/dist/editor/system/images/image.png
deleted file mode 100644
index f8fe5641..00000000
Binary files a/dist/editor/system/images/image.png and /dev/null differ
diff --git a/dist/editor/system/images/import.png b/dist/editor/system/images/import.png
deleted file mode 100644
index a2b23f57..00000000
Binary files a/dist/editor/system/images/import.png and /dev/null differ
diff --git a/dist/editor/system/images/italic.png b/dist/editor/system/images/italic.png
deleted file mode 100644
index 8e6d76e1..00000000
Binary files a/dist/editor/system/images/italic.png and /dev/null differ
diff --git a/dist/editor/system/images/line.png b/dist/editor/system/images/line.png
deleted file mode 100644
index f0081a38..00000000
Binary files a/dist/editor/system/images/line.png and /dev/null differ
diff --git a/dist/editor/system/images/linecap_butt.png b/dist/editor/system/images/linecap_butt.png
deleted file mode 100644
index eea4ff8c..00000000
Binary files a/dist/editor/system/images/linecap_butt.png and /dev/null differ
diff --git a/dist/editor/system/images/linecap_round.png b/dist/editor/system/images/linecap_round.png
deleted file mode 100644
index c692818b..00000000
Binary files a/dist/editor/system/images/linecap_round.png and /dev/null differ
diff --git a/dist/editor/system/images/linecap_square.png b/dist/editor/system/images/linecap_square.png
deleted file mode 100644
index 798af9e6..00000000
Binary files a/dist/editor/system/images/linecap_square.png and /dev/null differ
diff --git a/dist/editor/system/images/linejoin_bevel.png b/dist/editor/system/images/linejoin_bevel.png
deleted file mode 100644
index 786e4b06..00000000
Binary files a/dist/editor/system/images/linejoin_bevel.png and /dev/null differ
diff --git a/dist/editor/system/images/linejoin_miter.png b/dist/editor/system/images/linejoin_miter.png
deleted file mode 100644
index 96b7cb62..00000000
Binary files a/dist/editor/system/images/linejoin_miter.png and /dev/null differ
diff --git a/dist/editor/system/images/linejoin_round.png b/dist/editor/system/images/linejoin_round.png
deleted file mode 100644
index 74e11df3..00000000
Binary files a/dist/editor/system/images/linejoin_round.png and /dev/null differ
diff --git a/dist/editor/system/images/link_controls.png b/dist/editor/system/images/link_controls.png
deleted file mode 100644
index 64cb138b..00000000
Binary files a/dist/editor/system/images/link_controls.png and /dev/null differ
diff --git a/dist/editor/system/images/logo.png b/dist/editor/system/images/logo.png
deleted file mode 100644
index 479125ad..00000000
Binary files a/dist/editor/system/images/logo.png and /dev/null differ
diff --git a/dist/editor/system/images/logo.svg b/dist/editor/system/images/logo.svg
deleted file mode 100644
index 83b8e9cc..00000000
--- a/dist/editor/system/images/logo.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Layer 1
-
-
-
-
-
-
-
-
-
-
-
- Layer 2
-
-
-
diff --git a/dist/editor/system/images/move_bottom.png b/dist/editor/system/images/move_bottom.png
deleted file mode 100644
index 44ec15f7..00000000
Binary files a/dist/editor/system/images/move_bottom.png and /dev/null differ
diff --git a/dist/editor/system/images/move_top.png b/dist/editor/system/images/move_top.png
deleted file mode 100644
index aa8f01f0..00000000
Binary files a/dist/editor/system/images/move_top.png and /dev/null differ
diff --git a/dist/editor/system/images/no_color.png b/dist/editor/system/images/no_color.png
deleted file mode 100644
index dd7df0a7..00000000
Binary files a/dist/editor/system/images/no_color.png and /dev/null differ
diff --git a/dist/editor/system/images/node_clone.png b/dist/editor/system/images/node_clone.png
deleted file mode 100755
index 8a3c8abb..00000000
Binary files a/dist/editor/system/images/node_clone.png and /dev/null differ
diff --git a/dist/editor/system/images/node_delete.png b/dist/editor/system/images/node_delete.png
deleted file mode 100755
index f5cb8c80..00000000
Binary files a/dist/editor/system/images/node_delete.png and /dev/null differ
diff --git a/dist/editor/system/images/none.png b/dist/editor/system/images/none.png
deleted file mode 100644
index 3d81b1ce..00000000
Binary files a/dist/editor/system/images/none.png and /dev/null differ
diff --git a/dist/editor/system/images/opacity.png b/dist/editor/system/images/opacity.png
deleted file mode 100644
index a141a7ac..00000000
Binary files a/dist/editor/system/images/opacity.png and /dev/null differ
diff --git a/dist/editor/system/images/open.png b/dist/editor/system/images/open.png
deleted file mode 100644
index 0bf8ce0f..00000000
Binary files a/dist/editor/system/images/open.png and /dev/null differ
diff --git a/dist/editor/system/images/openpath.png b/dist/editor/system/images/openpath.png
deleted file mode 100644
index e04f889e..00000000
Binary files a/dist/editor/system/images/openpath.png and /dev/null differ
diff --git a/dist/editor/system/images/paste.png b/dist/editor/system/images/paste.png
deleted file mode 100644
index 9b3bcd1c..00000000
Binary files a/dist/editor/system/images/paste.png and /dev/null differ
diff --git a/dist/editor/system/images/path.png b/dist/editor/system/images/path.png
deleted file mode 100644
index d093f20b..00000000
Binary files a/dist/editor/system/images/path.png and /dev/null differ
diff --git a/dist/editor/system/images/polygon.png b/dist/editor/system/images/polygon.png
deleted file mode 100644
index 609b3e55..00000000
Binary files a/dist/editor/system/images/polygon.png and /dev/null differ
diff --git a/dist/editor/system/images/polygon.svg b/dist/editor/system/images/polygon.svg
deleted file mode 100644
index e4962213..00000000
--- a/dist/editor/system/images/polygon.svg
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
- This file is released under the MIT license.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/rect.png b/dist/editor/system/images/rect.png
deleted file mode 100644
index d7e673cf..00000000
Binary files a/dist/editor/system/images/rect.png and /dev/null differ
diff --git a/dist/editor/system/images/redo.png b/dist/editor/system/images/redo.png
deleted file mode 100644
index f959305b..00000000
Binary files a/dist/editor/system/images/redo.png and /dev/null differ
diff --git a/dist/editor/system/images/reorient.png b/dist/editor/system/images/reorient.png
deleted file mode 100644
index 728a70bd..00000000
Binary files a/dist/editor/system/images/reorient.png and /dev/null differ
diff --git a/dist/editor/system/images/rotate.png b/dist/editor/system/images/rotate.png
deleted file mode 100644
index c73420fe..00000000
Binary files a/dist/editor/system/images/rotate.png and /dev/null differ
diff --git a/dist/editor/system/images/save.png b/dist/editor/system/images/save.png
deleted file mode 100644
index bc617ca9..00000000
Binary files a/dist/editor/system/images/save.png and /dev/null differ
diff --git a/dist/editor/system/images/select.png b/dist/editor/system/images/select.png
deleted file mode 100644
index b81c8547..00000000
Binary files a/dist/editor/system/images/select.png and /dev/null differ
diff --git a/dist/editor/system/images/select_node.png b/dist/editor/system/images/select_node.png
deleted file mode 100644
index 9705e9a4..00000000
Binary files a/dist/editor/system/images/select_node.png and /dev/null differ
diff --git a/dist/editor/system/images/sep.png b/dist/editor/system/images/sep.png
deleted file mode 100644
index 5485bc48..00000000
Binary files a/dist/editor/system/images/sep.png and /dev/null differ
diff --git a/dist/editor/system/images/shape_group_elements.png b/dist/editor/system/images/shape_group_elements.png
deleted file mode 100644
index a6e0fcd2..00000000
Binary files a/dist/editor/system/images/shape_group_elements.png and /dev/null differ
diff --git a/dist/editor/system/images/shape_ungroup.png b/dist/editor/system/images/shape_ungroup.png
deleted file mode 100644
index d694bcb3..00000000
Binary files a/dist/editor/system/images/shape_ungroup.png and /dev/null differ
diff --git a/dist/editor/system/images/source.png b/dist/editor/system/images/source.png
deleted file mode 100644
index 39471617..00000000
Binary files a/dist/editor/system/images/source.png and /dev/null differ
diff --git a/dist/editor/system/images/spinbtn_updn_big.png b/dist/editor/system/images/spinbtn_updn_big.png
deleted file mode 100644
index f6a4481e..00000000
Binary files a/dist/editor/system/images/spinbtn_updn_big.png and /dev/null differ
diff --git a/dist/editor/system/images/square.png b/dist/editor/system/images/square.png
deleted file mode 100644
index 08fc39dd..00000000
Binary files a/dist/editor/system/images/square.png and /dev/null differ
diff --git a/dist/editor/system/images/stroke.png b/dist/editor/system/images/stroke.png
deleted file mode 100644
index e69ab368..00000000
Binary files a/dist/editor/system/images/stroke.png and /dev/null differ
diff --git a/dist/editor/system/images/svg_edit_icons.svg b/dist/editor/system/images/svg_edit_icons.svg
deleted file mode 100644
index 98aa7b8a..00000000
--- a/dist/editor/system/images/svg_edit_icons.svg
+++ /dev/null
@@ -1,1035 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- s
- v
- g
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- T
- T
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/svg_edit_icons.svgz b/dist/editor/system/images/svg_edit_icons.svgz
deleted file mode 100644
index cb8c80cc..00000000
Binary files a/dist/editor/system/images/svg_edit_icons.svgz and /dev/null differ
diff --git a/dist/editor/system/images/text.png b/dist/editor/system/images/text.png
deleted file mode 100644
index 11ba7df7..00000000
Binary files a/dist/editor/system/images/text.png and /dev/null differ
diff --git a/dist/editor/system/images/text.svg b/dist/editor/system/images/text.svg
deleted file mode 100644
index 5c28753c..00000000
--- a/dist/editor/system/images/text.svg
+++ /dev/null
@@ -1,157 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/images/to_path.png b/dist/editor/system/images/to_path.png
deleted file mode 100644
index 4e0e3c05..00000000
Binary files a/dist/editor/system/images/to_path.png and /dev/null differ
diff --git a/dist/editor/system/images/undo.png b/dist/editor/system/images/undo.png
deleted file mode 100644
index 8187a691..00000000
Binary files a/dist/editor/system/images/undo.png and /dev/null differ
diff --git a/dist/editor/system/images/unlink_use.png b/dist/editor/system/images/unlink_use.png
deleted file mode 100644
index 69f27c8b..00000000
Binary files a/dist/editor/system/images/unlink_use.png and /dev/null differ
diff --git a/dist/editor/system/images/view-refresh.png b/dist/editor/system/images/view-refresh.png
deleted file mode 100644
index 20c9f817..00000000
Binary files a/dist/editor/system/images/view-refresh.png and /dev/null differ
diff --git a/dist/editor/system/images/warning.png b/dist/editor/system/images/warning.png
deleted file mode 100644
index 92da2194..00000000
Binary files a/dist/editor/system/images/warning.png and /dev/null differ
diff --git a/dist/editor/system/images/width.png b/dist/editor/system/images/width.png
deleted file mode 100644
index 0615d5d0..00000000
Binary files a/dist/editor/system/images/width.png and /dev/null differ
diff --git a/dist/editor/system/images/wireframe.png b/dist/editor/system/images/wireframe.png
deleted file mode 100644
index 8ac3c85b..00000000
Binary files a/dist/editor/system/images/wireframe.png and /dev/null differ
diff --git a/dist/editor/system/images/zoom.png b/dist/editor/system/images/zoom.png
deleted file mode 100644
index 557220af..00000000
Binary files a/dist/editor/system/images/zoom.png and /dev/null differ
diff --git a/dist/editor/system/index.html b/dist/editor/system/index.html
deleted file mode 100644
index 2457e6d1..00000000
--- a/dist/editor/system/index.html
+++ /dev/null
@@ -1,780 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- SVG-edit
-
-
-
-
-
-
-
-
-
-
Layers
-
-
-
Move elements to:
-
-
-
L a y e r s
-
-
-
-
-
-
-
- -
-
- New Image (N)
-
- -
-
- Open SVG
-
- -
-
- Import Image
-
- -
-
- Save Image (S)
-
- -
-
- Export
-
- -
-
- Document Properties (D)
-
- -
-
- Editor Preferences
-
- -
-
- SVG-Edit Home Page
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copy the contents of this box into a text editor,
- then save the file with a .svg extension.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/editor/system/index.js b/dist/editor/system/index.js
deleted file mode 100644
index 7894b373..00000000
--- a/dist/editor/system/index.js
+++ /dev/null
@@ -1,89157 +0,0 @@
-System.register([], function (exports, module) {
- 'use strict';
- return {
- execute: function () {
-
- function _typeof(obj) {
- "@babel/helpers - typeof";
-
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
- _typeof = function (obj) {
- return typeof obj;
- };
- } else {
- _typeof = function (obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- };
- }
-
- return _typeof(obj);
- }
-
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
- try {
- var info = gen[key](arg);
- var value = info.value;
- } catch (error) {
- reject(error);
- return;
- }
-
- if (info.done) {
- resolve(value);
- } else {
- Promise.resolve(value).then(_next, _throw);
- }
- }
-
- function _asyncToGenerator(fn) {
- return function () {
- var self = this,
- args = arguments;
- return new Promise(function (resolve, reject) {
- var gen = fn.apply(self, args);
-
- function _next(value) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
- }
-
- function _throw(err) {
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
- }
-
- _next(undefined);
- });
- };
- }
-
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
-
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, descriptor.key, descriptor);
- }
- }
-
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
- }
-
- function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- });
- if (superClass) _setPrototypeOf(subClass, superClass);
- }
-
- function _getPrototypeOf(o) {
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- };
- return _getPrototypeOf(o);
- }
-
- function _setPrototypeOf(o, p) {
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- };
-
- return _setPrototypeOf(o, p);
- }
-
- function _isNativeReflectConstruct() {
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
- if (Reflect.construct.sham) return false;
- if (typeof Proxy === "function") return true;
-
- try {
- Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
- return true;
- } catch (e) {
- return false;
- }
- }
-
- function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
- }
-
- function _possibleConstructorReturn(self, call) {
- if (call && (typeof call === "object" || typeof call === "function")) {
- return call;
- }
-
- return _assertThisInitialized(self);
- }
-
- function _createSuper(Derived) {
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
-
- return function _createSuperInternal() {
- var Super = _getPrototypeOf(Derived),
- result;
-
- if (hasNativeReflectConstruct) {
- var NewTarget = _getPrototypeOf(this).constructor;
-
- result = Reflect.construct(Super, arguments, NewTarget);
- } else {
- result = Super.apply(this, arguments);
- }
-
- return _possibleConstructorReturn(this, result);
- };
- }
-
- function _superPropBase(object, property) {
- while (!Object.prototype.hasOwnProperty.call(object, property)) {
- object = _getPrototypeOf(object);
- if (object === null) break;
- }
-
- return object;
- }
-
- function _get(target, property, receiver) {
- if (typeof Reflect !== "undefined" && Reflect.get) {
- _get = Reflect.get;
- } else {
- _get = function _get(target, property, receiver) {
- var base = _superPropBase(target, property);
-
- if (!base) return;
- var desc = Object.getOwnPropertyDescriptor(base, property);
-
- if (desc.get) {
- return desc.get.call(receiver);
- }
-
- return desc.value;
- };
- }
-
- return _get(target, property, receiver || target);
- }
-
- function _slicedToArray(arr, i) {
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
- }
-
- function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
- }
-
- function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) return _arrayLikeToArray(arr);
- }
-
- function _arrayWithHoles(arr) {
- if (Array.isArray(arr)) return arr;
- }
-
- function _iterableToArray(iter) {
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
- }
-
- function _iterableToArrayLimit(arr, i) {
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
- 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"] != null) _i["return"]();
- } finally {
- if (_d) throw _e;
- }
- }
-
- return _arr;
- }
-
- function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
- }
-
- function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
-
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-
- return arr2;
- }
-
- function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function _nonIterableRest() {
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- function _createForOfIteratorHelper(o, allowArrayLike) {
- var it;
-
- if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
- if (it) o = it;
- var i = 0;
-
- var F = function () {};
-
- return {
- s: F,
- n: function () {
- if (i >= o.length) return {
- done: true
- };
- return {
- done: false,
- value: o[i++]
- };
- },
- e: function (e) {
- throw e;
- },
- f: F
- };
- }
-
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
-
- var normalCompletion = true,
- didErr = false,
- err;
- return {
- s: function () {
- it = o[Symbol.iterator]();
- },
- n: function () {
- var step = it.next();
- normalCompletion = step.done;
- return step;
- },
- e: function (e) {
- didErr = true;
- err = e;
- },
- f: function () {
- try {
- if (!normalCompletion && it.return != null) it.return();
- } finally {
- if (didErr) throw err;
- }
- }
- };
- }
-
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
-
- function createCommonjsModule(fn, basedir, module) {
- return module = {
- path: basedir,
- exports: {},
- require: function (path, base) {
- return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
- }
- }, fn(module, module.exports), module.exports;
- }
-
- function commonjsRequire () {
- throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
- }
-
- var check = function check(it) {
- return it && it.Math == Math && it;
- }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
-
-
- var global_1 = // eslint-disable-next-line no-undef
- check((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) == 'object' && globalThis) || check((typeof window === "undefined" ? "undefined" : _typeof(window)) == 'object' && window) || check((typeof self === "undefined" ? "undefined" : _typeof(self)) == 'object' && self) || check(_typeof(commonjsGlobal) == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func
- Function('return this')();
-
- var fails = function fails(exec) {
- try {
- return !!exec();
- } catch (error) {
- return true;
- }
- };
-
- var descriptors = !fails(function () {
- return Object.defineProperty({}, 1, {
- get: function get() {
- return 7;
- }
- })[1] != 7;
- });
-
- var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
- var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug
-
- var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({
- 1: 2
- }, 1); // `Object.prototype.propertyIsEnumerable` method implementation
- // https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable
-
- var f = NASHORN_BUG ? function propertyIsEnumerable(V) {
- var descriptor = getOwnPropertyDescriptor(this, V);
- return !!descriptor && descriptor.enumerable;
- } : nativePropertyIsEnumerable;
- var objectPropertyIsEnumerable = {
- f: f
- };
-
- var createPropertyDescriptor = function createPropertyDescriptor(bitmap, value) {
- return {
- enumerable: !(bitmap & 1),
- configurable: !(bitmap & 2),
- writable: !(bitmap & 4),
- value: value
- };
- };
-
- var toString = {}.toString;
-
- var classofRaw = function classofRaw(it) {
- return toString.call(it).slice(8, -1);
- };
-
- var split = ''.split; // fallback for non-array-like ES3 and non-enumerable old V8 strings
-
- var indexedObject = fails(function () {
- // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
- // eslint-disable-next-line no-prototype-builtins
- return !Object('z').propertyIsEnumerable(0);
- }) ? function (it) {
- return classofRaw(it) == 'String' ? split.call(it, '') : Object(it);
- } : Object;
-
- // `RequireObjectCoercible` abstract operation
- // https://tc39.github.io/ecma262/#sec-requireobjectcoercible
- var requireObjectCoercible = function requireObjectCoercible(it) {
- if (it == undefined) throw TypeError("Can't call method on " + it);
- return it;
- };
-
- var toIndexedObject = function toIndexedObject(it) {
- return indexedObject(requireObjectCoercible(it));
- };
-
- var isObject = function isObject(it) {
- return _typeof(it) === 'object' ? it !== null : typeof it === 'function';
- };
-
- // https://tc39.github.io/ecma262/#sec-toprimitive
- // instead of the ES6 spec version, we didn't implement @@toPrimitive case
- // and the second argument - flag - preferred type is a string
-
- var toPrimitive = function toPrimitive(input, PREFERRED_STRING) {
- if (!isObject(input)) return input;
- var fn, val;
- if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
- if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
- if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
- throw TypeError("Can't convert object to primitive value");
- };
-
- var hasOwnProperty = {}.hasOwnProperty;
-
- var has = function has(it, key) {
- return hasOwnProperty.call(it, key);
- };
-
- var document$1 = global_1.document; // typeof document.createElement is 'object' in old IE
-
- var EXISTS = isObject(document$1) && isObject(document$1.createElement);
-
- var documentCreateElement = function documentCreateElement(it) {
- return EXISTS ? document$1.createElement(it) : {};
- };
-
- var ie8DomDefine = !descriptors && !fails(function () {
- return Object.defineProperty(documentCreateElement('div'), 'a', {
- get: function get() {
- return 7;
- }
- }).a != 7;
- });
-
- var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-
- var f$1 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
- O = toIndexedObject(O);
- P = toPrimitive(P, true);
- if (ie8DomDefine) try {
- return nativeGetOwnPropertyDescriptor(O, P);
- } catch (error) {
- /* empty */
- }
- if (has(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]);
- };
- var objectGetOwnPropertyDescriptor = {
- f: f$1
- };
-
- var anObject = function anObject(it) {
- if (!isObject(it)) {
- throw TypeError(String(it) + ' is not an object');
- }
-
- return it;
- };
-
- var nativeDefineProperty = Object.defineProperty; // `Object.defineProperty` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
-
- var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
- anObject(O);
- P = toPrimitive(P, true);
- anObject(Attributes);
- if (ie8DomDefine) try {
- return nativeDefineProperty(O, P, Attributes);
- } catch (error) {
- /* empty */
- }
- if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
- if ('value' in Attributes) O[P] = Attributes.value;
- return O;
- };
- var objectDefineProperty = {
- f: f$2
- };
-
- var createNonEnumerableProperty = descriptors ? function (object, key, value) {
- return objectDefineProperty.f(object, key, createPropertyDescriptor(1, value));
- } : function (object, key, value) {
- object[key] = value;
- return object;
- };
-
- var setGlobal = function setGlobal(key, value) {
- try {
- createNonEnumerableProperty(global_1, key, value);
- } catch (error) {
- global_1[key] = value;
- }
-
- return value;
- };
-
- var SHARED = '__core-js_shared__';
- var store = global_1[SHARED] || setGlobal(SHARED, {});
- var sharedStore = store;
-
- var functionToString = Function.toString; // this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper
-
- if (typeof sharedStore.inspectSource != 'function') {
- sharedStore.inspectSource = function (it) {
- return functionToString.call(it);
- };
- }
-
- var inspectSource = sharedStore.inspectSource;
-
- var WeakMap = global_1.WeakMap;
- var nativeWeakMap = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));
-
- var isPure = false;
-
- var shared = createCommonjsModule(function (module) {
- (module.exports = function (key, value) {
- return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {});
- })('versions', []).push({
- version: '3.6.5',
- mode: 'global',
- copyright: '© 2020 Denis Pushkarev (zloirock.ru)'
- });
- });
-
- var id = 0;
- var postfix = Math.random();
-
- var uid = function uid(key) {
- return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);
- };
-
- var keys = shared('keys');
-
- var sharedKey = function sharedKey(key) {
- return keys[key] || (keys[key] = uid(key));
- };
-
- var hiddenKeys = {};
-
- var WeakMap$1 = global_1.WeakMap;
- var set, get, has$1;
-
- var enforce = function enforce(it) {
- return has$1(it) ? get(it) : set(it, {});
- };
-
- var getterFor = function getterFor(TYPE) {
- return function (it) {
- var state;
-
- if (!isObject(it) || (state = get(it)).type !== TYPE) {
- throw TypeError('Incompatible receiver, ' + TYPE + ' required');
- }
-
- return state;
- };
- };
-
- if (nativeWeakMap) {
- var store$1 = new WeakMap$1();
- var wmget = store$1.get;
- var wmhas = store$1.has;
- var wmset = store$1.set;
-
- set = function set(it, metadata) {
- wmset.call(store$1, it, metadata);
- return metadata;
- };
-
- get = function get(it) {
- return wmget.call(store$1, it) || {};
- };
-
- has$1 = function has(it) {
- return wmhas.call(store$1, it);
- };
- } else {
- var STATE = sharedKey('state');
- hiddenKeys[STATE] = true;
-
- set = function set(it, metadata) {
- createNonEnumerableProperty(it, STATE, metadata);
- return metadata;
- };
-
- get = function get(it) {
- return has(it, STATE) ? it[STATE] : {};
- };
-
- has$1 = function has$1(it) {
- return has(it, STATE);
- };
- }
-
- var internalState = {
- set: set,
- get: get,
- has: has$1,
- enforce: enforce,
- getterFor: getterFor
- };
-
- var redefine = createCommonjsModule(function (module) {
- var getInternalState = internalState.get;
- var enforceInternalState = internalState.enforce;
- var TEMPLATE = String(String).split('String');
- (module.exports = function (O, key, value, options) {
- var unsafe = options ? !!options.unsafe : false;
- var simple = options ? !!options.enumerable : false;
- var noTargetGet = options ? !!options.noTargetGet : false;
-
- if (typeof value == 'function') {
- if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key);
- enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
- }
-
- if (O === global_1) {
- if (simple) O[key] = value;else setGlobal(key, value);
- return;
- } else if (!unsafe) {
- delete O[key];
- } else if (!noTargetGet && O[key]) {
- simple = true;
- }
-
- if (simple) O[key] = value;else createNonEnumerableProperty(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
- })(Function.prototype, 'toString', function toString() {
- return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
- });
- });
-
- var path = global_1;
-
- var aFunction = function aFunction(variable) {
- return typeof variable == 'function' ? variable : undefined;
- };
-
- var getBuiltIn = function getBuiltIn(namespace, method) {
- return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global_1[namespace]) : path[namespace] && path[namespace][method] || global_1[namespace] && global_1[namespace][method];
- };
-
- var ceil = Math.ceil;
- var floor = Math.floor; // `ToInteger` abstract operation
- // https://tc39.github.io/ecma262/#sec-tointeger
-
- var toInteger = function toInteger(argument) {
- return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);
- };
-
- var min = Math.min; // `ToLength` abstract operation
- // https://tc39.github.io/ecma262/#sec-tolength
-
- var toLength = function toLength(argument) {
- return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
- };
-
- var max = Math.max;
- var min$1 = Math.min; // Helper for a popular repeating case of the spec:
- // Let integer be ? ToInteger(index).
- // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
-
- var toAbsoluteIndex = function toAbsoluteIndex(index, length) {
- var integer = toInteger(index);
- return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
- };
-
- var createMethod = function createMethod(IS_INCLUDES) {
- return function ($this, el, fromIndex) {
- var O = toIndexedObject($this);
- var length = toLength(O.length);
- var index = toAbsoluteIndex(fromIndex, length);
- var value; // Array#includes uses SameValueZero equality algorithm
- // eslint-disable-next-line no-self-compare
-
- if (IS_INCLUDES && el != el) while (length > index) {
- value = O[index++]; // eslint-disable-next-line no-self-compare
-
- if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not
- } else for (; length > index; index++) {
- if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
- }
- return !IS_INCLUDES && -1;
- };
- };
-
- var arrayIncludes = {
- // `Array.prototype.includes` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
- includes: createMethod(true),
- // `Array.prototype.indexOf` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
- indexOf: createMethod(false)
- };
-
- var indexOf = arrayIncludes.indexOf;
-
- var objectKeysInternal = function objectKeysInternal(object, names) {
- var O = toIndexedObject(object);
- var i = 0;
- var result = [];
- var key;
-
- for (key in O) {
- !has(hiddenKeys, key) && has(O, key) && result.push(key);
- } // Don't enum bug & hidden keys
-
-
- while (names.length > i) {
- if (has(O, key = names[i++])) {
- ~indexOf(result, key) || result.push(key);
- }
- }
-
- return result;
- };
-
- // IE8- don't enum bug keys
- var enumBugKeys = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf'];
-
- var hiddenKeys$1 = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-
- var f$3 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
- return objectKeysInternal(O, hiddenKeys$1);
- };
-
- var objectGetOwnPropertyNames = {
- f: f$3
- };
-
- var f$4 = Object.getOwnPropertySymbols;
- var objectGetOwnPropertySymbols = {
- f: f$4
- };
-
- var ownKeys = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
- var keys = objectGetOwnPropertyNames.f(anObject(it));
- var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
- return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
- };
-
- var copyConstructorProperties = function copyConstructorProperties(target, source) {
- var keys = ownKeys(source);
- var defineProperty = objectDefineProperty.f;
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
-
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
- }
- };
-
- var replacement = /#|\.prototype\./;
-
- var isForced = function isForced(feature, detection) {
- var value = data[normalize(feature)];
- return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;
- };
-
- var normalize = isForced.normalize = function (string) {
- return String(string).replace(replacement, '.').toLowerCase();
- };
-
- var data = isForced.data = {};
- var NATIVE = isForced.NATIVE = 'N';
- var POLYFILL = isForced.POLYFILL = 'P';
- var isForced_1 = isForced;
-
- var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
- /*
- options.target - name of the target object
- options.global - target is the global object
- options.stat - export as static methods of target
- options.proto - export as prototype methods of target
- options.real - real prototype method for the `pure` version
- options.forced - export even if the native feature is available
- options.bind - bind methods to the target, required for the `pure` version
- options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
- options.unsafe - use the simple assignment of property instead of delete + defineProperty
- options.sham - add a flag to not completely full polyfills
- options.enumerable - export as enumerable property
- options.noTargetGet - prevent calling a getter on target
- */
-
- var _export = function _export(options, source) {
- var TARGET = options.target;
- var GLOBAL = options.global;
- var STATIC = options.stat;
- var FORCED, target, key, targetProperty, sourceProperty, descriptor;
-
- if (GLOBAL) {
- target = global_1;
- } else if (STATIC) {
- target = global_1[TARGET] || setGlobal(TARGET, {});
- } else {
- target = (global_1[TARGET] || {}).prototype;
- }
-
- if (target) for (key in source) {
- sourceProperty = source[key];
-
- if (options.noTargetGet) {
- descriptor = getOwnPropertyDescriptor$1(target, key);
- targetProperty = descriptor && descriptor.value;
- } else targetProperty = target[key];
-
- FORCED = isForced_1(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target
-
- if (!FORCED && targetProperty !== undefined) {
- if (_typeof(sourceProperty) === _typeof(targetProperty)) continue;
- copyConstructorProperties(sourceProperty, targetProperty);
- } // add a flag to not completely full polyfills
-
-
- if (options.sham || targetProperty && targetProperty.sham) {
- createNonEnumerableProperty(sourceProperty, 'sham', true);
- } // extend global
-
-
- redefine(target, key, sourceProperty, options);
- }
- };
-
- var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () {
- // Chrome 38 Symbol has incorrect toString conversion
- // eslint-disable-next-line no-undef
- return !String(Symbol());
- });
-
- var useSymbolAsUid = nativeSymbol // eslint-disable-next-line no-undef
- && !Symbol.sham // eslint-disable-next-line no-undef
- && _typeof(Symbol.iterator) == 'symbol';
-
- // https://tc39.github.io/ecma262/#sec-isarray
-
- var isArray = Array.isArray || function isArray(arg) {
- return classofRaw(arg) == 'Array';
- };
-
- // https://tc39.github.io/ecma262/#sec-toobject
-
- var toObject = function toObject(argument) {
- return Object(requireObjectCoercible(argument));
- };
-
- // https://tc39.github.io/ecma262/#sec-object.keys
-
- var objectKeys = Object.keys || function keys(O) {
- return objectKeysInternal(O, enumBugKeys);
- };
-
- // https://tc39.github.io/ecma262/#sec-object.defineproperties
-
- var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) {
- anObject(O);
- var keys = objectKeys(Properties);
- var length = keys.length;
- var index = 0;
- var key;
-
- while (length > index) {
- objectDefineProperty.f(O, key = keys[index++], Properties[key]);
- }
-
- return O;
- };
-
- var html = getBuiltIn('document', 'documentElement');
-
- var GT = '>';
- var LT = '<';
- var PROTOTYPE = 'prototype';
- var SCRIPT = 'script';
- var IE_PROTO = sharedKey('IE_PROTO');
-
- var EmptyConstructor = function EmptyConstructor() {
- /* empty */
- };
-
- var scriptTag = function scriptTag(content) {
- return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
- }; // Create object with fake `null` prototype: use ActiveX Object with cleared prototype
-
-
- var NullProtoObjectViaActiveX = function NullProtoObjectViaActiveX(activeXDocument) {
- activeXDocument.write(scriptTag(''));
- activeXDocument.close();
- var temp = activeXDocument.parentWindow.Object;
- activeXDocument = null; // avoid memory leak
-
- return temp;
- }; // Create object with fake `null` prototype: use iframe Object with cleared prototype
-
-
- var NullProtoObjectViaIFrame = function NullProtoObjectViaIFrame() {
- // Thrash, waste and sodomy: IE GC bug
- var iframe = documentCreateElement('iframe');
- var JS = 'java' + SCRIPT + ':';
- var iframeDocument;
- iframe.style.display = 'none';
- html.appendChild(iframe); // https://github.com/zloirock/core-js/issues/475
-
- iframe.src = String(JS);
- iframeDocument = iframe.contentWindow.document;
- iframeDocument.open();
- iframeDocument.write(scriptTag('document.F=Object'));
- iframeDocument.close();
- return iframeDocument.F;
- }; // Check for document.domain and active x support
- // No need to use active x approach when document.domain is not set
- // see https://github.com/es-shims/es5-shim/issues/150
- // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
- // avoid IE GC bug
-
-
- var activeXDocument;
-
- var _NullProtoObject = function NullProtoObject() {
- try {
- /* global ActiveXObject */
- activeXDocument = document.domain && new ActiveXObject('htmlfile');
- } catch (error) {
- /* ignore */
- }
-
- _NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
- var length = enumBugKeys.length;
-
- while (length--) {
- delete _NullProtoObject[PROTOTYPE][enumBugKeys[length]];
- }
-
- return _NullProtoObject();
- };
-
- hiddenKeys[IE_PROTO] = true; // `Object.create` method
- // https://tc39.github.io/ecma262/#sec-object.create
-
- var objectCreate = Object.create || function create(O, Properties) {
- var result;
-
- if (O !== null) {
- EmptyConstructor[PROTOTYPE] = anObject(O);
- result = new EmptyConstructor();
- EmptyConstructor[PROTOTYPE] = null; // add "__proto__" for Object.getPrototypeOf polyfill
-
- result[IE_PROTO] = O;
- } else result = _NullProtoObject();
-
- return Properties === undefined ? result : objectDefineProperties(result, Properties);
- };
-
- var nativeGetOwnPropertyNames = objectGetOwnPropertyNames.f;
- var toString$1 = {}.toString;
- var windowNames = (typeof window === "undefined" ? "undefined" : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
-
- var getWindowNames = function getWindowNames(it) {
- try {
- return nativeGetOwnPropertyNames(it);
- } catch (error) {
- return windowNames.slice();
- }
- }; // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
-
-
- var f$5 = function getOwnPropertyNames(it) {
- return windowNames && toString$1.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));
- };
-
- var objectGetOwnPropertyNamesExternal = {
- f: f$5
- };
-
- var WellKnownSymbolsStore = shared('wks');
- var _Symbol = global_1.Symbol;
- var createWellKnownSymbol = useSymbolAsUid ? _Symbol : _Symbol && _Symbol.withoutSetter || uid;
-
- var wellKnownSymbol = function wellKnownSymbol(name) {
- if (!has(WellKnownSymbolsStore, name)) {
- if (nativeSymbol && has(_Symbol, name)) WellKnownSymbolsStore[name] = _Symbol[name];else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
- }
-
- return WellKnownSymbolsStore[name];
- };
-
- var f$6 = wellKnownSymbol;
- var wellKnownSymbolWrapped = {
- f: f$6
- };
-
- var defineProperty = objectDefineProperty.f;
-
- var defineWellKnownSymbol = function defineWellKnownSymbol(NAME) {
- var _Symbol = path.Symbol || (path.Symbol = {});
-
- if (!has(_Symbol, NAME)) defineProperty(_Symbol, NAME, {
- value: wellKnownSymbolWrapped.f(NAME)
- });
- };
-
- var defineProperty$1 = objectDefineProperty.f;
- var TO_STRING_TAG = wellKnownSymbol('toStringTag');
-
- var setToStringTag = function setToStringTag(it, TAG, STATIC) {
- if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
- defineProperty$1(it, TO_STRING_TAG, {
- configurable: true,
- value: TAG
- });
- }
- };
-
- var aFunction$1 = function aFunction(it) {
- if (typeof it != 'function') {
- throw TypeError(String(it) + ' is not a function');
- }
-
- return it;
- };
-
- var functionBindContext = function functionBindContext(fn, that, length) {
- aFunction$1(fn);
- if (that === undefined) return fn;
-
- switch (length) {
- case 0:
- return function () {
- return fn.call(that);
- };
-
- case 1:
- return function (a) {
- return fn.call(that, a);
- };
-
- case 2:
- return function (a, b) {
- return fn.call(that, a, b);
- };
-
- case 3:
- return function (a, b, c) {
- return fn.call(that, a, b, c);
- };
- }
-
- return function ()
- /* ...args */
- {
- return fn.apply(that, arguments);
- };
- };
-
- var SPECIES = wellKnownSymbol('species'); // `ArraySpeciesCreate` abstract operation
- // https://tc39.github.io/ecma262/#sec-arrayspeciescreate
-
- var arraySpeciesCreate = function arraySpeciesCreate(originalArray, length) {
- var C;
-
- if (isArray(originalArray)) {
- C = originalArray.constructor; // cross-realm fallback
-
- if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;else if (isObject(C)) {
- C = C[SPECIES];
- if (C === null) C = undefined;
- }
- }
-
- return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
- };
-
- var push = [].push; // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation
-
- var createMethod$1 = function createMethod(TYPE) {
- var IS_MAP = TYPE == 1;
- var IS_FILTER = TYPE == 2;
- var IS_SOME = TYPE == 3;
- var IS_EVERY = TYPE == 4;
- var IS_FIND_INDEX = TYPE == 6;
- var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
- return function ($this, callbackfn, that, specificCreate) {
- var O = toObject($this);
- var self = indexedObject(O);
- var boundFunction = functionBindContext(callbackfn, that, 3);
- var length = toLength(self.length);
- var index = 0;
- var create = specificCreate || arraySpeciesCreate;
- var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
- var value, result;
-
- for (; length > index; index++) {
- if (NO_HOLES || index in self) {
- value = self[index];
- result = boundFunction(value, index, O);
-
- if (TYPE) {
- if (IS_MAP) target[index] = result; // map
- else if (result) switch (TYPE) {
- case 3:
- return true;
- // some
-
- case 5:
- return value;
- // find
-
- case 6:
- return index;
- // findIndex
-
- case 2:
- push.call(target, value);
- // filter
- } else if (IS_EVERY) return false; // every
- }
- }
- }
-
- return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
- };
- };
-
- var arrayIteration = {
- // `Array.prototype.forEach` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
- forEach: createMethod$1(0),
- // `Array.prototype.map` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.map
- map: createMethod$1(1),
- // `Array.prototype.filter` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
- filter: createMethod$1(2),
- // `Array.prototype.some` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.some
- some: createMethod$1(3),
- // `Array.prototype.every` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.every
- every: createMethod$1(4),
- // `Array.prototype.find` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.find
- find: createMethod$1(5),
- // `Array.prototype.findIndex` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex
- findIndex: createMethod$1(6)
- };
-
- var $forEach = arrayIteration.forEach;
- var HIDDEN = sharedKey('hidden');
- var SYMBOL = 'Symbol';
- var PROTOTYPE$1 = 'prototype';
- var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
- var setInternalState = internalState.set;
- var getInternalState = internalState.getterFor(SYMBOL);
- var ObjectPrototype = Object[PROTOTYPE$1];
- var $Symbol = global_1.Symbol;
- var $stringify = getBuiltIn('JSON', 'stringify');
- var nativeGetOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
- var nativeDefineProperty$1 = objectDefineProperty.f;
- var nativeGetOwnPropertyNames$1 = objectGetOwnPropertyNamesExternal.f;
- var nativePropertyIsEnumerable$1 = objectPropertyIsEnumerable.f;
- var AllSymbols = shared('symbols');
- var ObjectPrototypeSymbols = shared('op-symbols');
- var StringToSymbolRegistry = shared('string-to-symbol-registry');
- var SymbolToStringRegistry = shared('symbol-to-string-registry');
- var WellKnownSymbolsStore$1 = shared('wks');
- var QObject = global_1.QObject; // Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
-
- var USE_SETTER = !QObject || !QObject[PROTOTYPE$1] || !QObject[PROTOTYPE$1].findChild; // fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
-
- var setSymbolDescriptor = descriptors && fails(function () {
- return objectCreate(nativeDefineProperty$1({}, 'a', {
- get: function get() {
- return nativeDefineProperty$1(this, 'a', {
- value: 7
- }).a;
- }
- })).a != 7;
- }) ? function (O, P, Attributes) {
- var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor$1(ObjectPrototype, P);
- if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
- nativeDefineProperty$1(O, P, Attributes);
-
- if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
- nativeDefineProperty$1(ObjectPrototype, P, ObjectPrototypeDescriptor);
- }
- } : nativeDefineProperty$1;
-
- var wrap = function wrap(tag, description) {
- var symbol = AllSymbols[tag] = objectCreate($Symbol[PROTOTYPE$1]);
- setInternalState(symbol, {
- type: SYMBOL,
- tag: tag,
- description: description
- });
- if (!descriptors) symbol.description = description;
- return symbol;
- };
-
- var isSymbol = useSymbolAsUid ? function (it) {
- return _typeof(it) == 'symbol';
- } : function (it) {
- return Object(it) instanceof $Symbol;
- };
-
- var $defineProperty = function defineProperty(O, P, Attributes) {
- if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
- anObject(O);
- var key = toPrimitive(P, true);
- anObject(Attributes);
-
- if (has(AllSymbols, key)) {
- if (!Attributes.enumerable) {
- if (!has(O, HIDDEN)) nativeDefineProperty$1(O, HIDDEN, createPropertyDescriptor(1, {}));
- O[HIDDEN][key] = true;
- } else {
- if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
- Attributes = objectCreate(Attributes, {
- enumerable: createPropertyDescriptor(0, false)
- });
- }
-
- return setSymbolDescriptor(O, key, Attributes);
- }
-
- return nativeDefineProperty$1(O, key, Attributes);
- };
-
- var $defineProperties = function defineProperties(O, Properties) {
- anObject(O);
- var properties = toIndexedObject(Properties);
- var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
- $forEach(keys, function (key) {
- if (!descriptors || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);
- });
- return O;
- };
-
- var $create = function create(O, Properties) {
- return Properties === undefined ? objectCreate(O) : $defineProperties(objectCreate(O), Properties);
- };
-
- var $propertyIsEnumerable = function propertyIsEnumerable(V) {
- var P = toPrimitive(V, true);
- var enumerable = nativePropertyIsEnumerable$1.call(this, P);
- if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;
- return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
- };
-
- var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
- var it = toIndexedObject(O);
- var key = toPrimitive(P, true);
- if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;
- var descriptor = nativeGetOwnPropertyDescriptor$1(it, key);
-
- if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
- descriptor.enumerable = true;
- }
-
- return descriptor;
- };
-
- var $getOwnPropertyNames = function getOwnPropertyNames(O) {
- var names = nativeGetOwnPropertyNames$1(toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
- if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);
- });
- return result;
- };
-
- var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
- var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
- var names = nativeGetOwnPropertyNames$1(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
- var result = [];
- $forEach(names, function (key) {
- if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
- result.push(AllSymbols[key]);
- }
- });
- return result;
- }; // `Symbol` constructor
- // https://tc39.github.io/ecma262/#sec-symbol-constructor
-
-
- if (!nativeSymbol) {
- $Symbol = function _Symbol() {
- if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');
- var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
- var tag = uid(description);
-
- var setter = function setter(value) {
- if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);
- if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
- setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
- };
-
- if (descriptors && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, {
- configurable: true,
- set: setter
- });
- return wrap(tag, description);
- };
-
- redefine($Symbol[PROTOTYPE$1], 'toString', function toString() {
- return getInternalState(this).tag;
- });
- redefine($Symbol, 'withoutSetter', function (description) {
- return wrap(uid(description), description);
- });
- objectPropertyIsEnumerable.f = $propertyIsEnumerable;
- objectDefineProperty.f = $defineProperty;
- objectGetOwnPropertyDescriptor.f = $getOwnPropertyDescriptor;
- objectGetOwnPropertyNames.f = objectGetOwnPropertyNamesExternal.f = $getOwnPropertyNames;
- objectGetOwnPropertySymbols.f = $getOwnPropertySymbols;
-
- wellKnownSymbolWrapped.f = function (name) {
- return wrap(wellKnownSymbol(name), name);
- };
-
- if (descriptors) {
- // https://github.com/tc39/proposal-Symbol-description
- nativeDefineProperty$1($Symbol[PROTOTYPE$1], 'description', {
- configurable: true,
- get: function description() {
- return getInternalState(this).description;
- }
- });
-
- {
- redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, {
- unsafe: true
- });
- }
- }
- }
-
- _export({
- global: true,
- wrap: true,
- forced: !nativeSymbol,
- sham: !nativeSymbol
- }, {
- Symbol: $Symbol
- });
- $forEach(objectKeys(WellKnownSymbolsStore$1), function (name) {
- defineWellKnownSymbol(name);
- });
- _export({
- target: SYMBOL,
- stat: true,
- forced: !nativeSymbol
- }, {
- // `Symbol.for` method
- // https://tc39.github.io/ecma262/#sec-symbol.for
- 'for': function _for(key) {
- var string = String(key);
- if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
- var symbol = $Symbol(string);
- StringToSymbolRegistry[string] = symbol;
- SymbolToStringRegistry[symbol] = string;
- return symbol;
- },
- // `Symbol.keyFor` method
- // https://tc39.github.io/ecma262/#sec-symbol.keyfor
- keyFor: function keyFor(sym) {
- if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
- if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
- },
- useSetter: function useSetter() {
- USE_SETTER = true;
- },
- useSimple: function useSimple() {
- USE_SETTER = false;
- }
- });
- _export({
- target: 'Object',
- stat: true,
- forced: !nativeSymbol,
- sham: !descriptors
- }, {
- // `Object.create` method
- // https://tc39.github.io/ecma262/#sec-object.create
- create: $create,
- // `Object.defineProperty` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
- defineProperty: $defineProperty,
- // `Object.defineProperties` method
- // https://tc39.github.io/ecma262/#sec-object.defineproperties
- defineProperties: $defineProperties,
- // `Object.getOwnPropertyDescriptor` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
- getOwnPropertyDescriptor: $getOwnPropertyDescriptor
- });
- _export({
- target: 'Object',
- stat: true,
- forced: !nativeSymbol
- }, {
- // `Object.getOwnPropertyNames` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
- getOwnPropertyNames: $getOwnPropertyNames,
- // `Object.getOwnPropertySymbols` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols
- getOwnPropertySymbols: $getOwnPropertySymbols
- }); // Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
- // https://bugs.chromium.org/p/v8/issues/detail?id=3443
-
- _export({
- target: 'Object',
- stat: true,
- forced: fails(function () {
- objectGetOwnPropertySymbols.f(1);
- })
- }, {
- getOwnPropertySymbols: function getOwnPropertySymbols(it) {
- return objectGetOwnPropertySymbols.f(toObject(it));
- }
- }); // `JSON.stringify` method behavior with symbols
- // https://tc39.github.io/ecma262/#sec-json.stringify
-
- if ($stringify) {
- var FORCED_JSON_STRINGIFY = !nativeSymbol || fails(function () {
- var symbol = $Symbol(); // MS Edge converts symbol values to JSON as {}
-
- return $stringify([symbol]) != '[null]' // WebKit converts symbol values to JSON as null
- || $stringify({
- a: symbol
- }) != '{}' // V8 throws on boxed symbols
- || $stringify(Object(symbol)) != '{}';
- });
- _export({
- target: 'JSON',
- stat: true,
- forced: FORCED_JSON_STRINGIFY
- }, {
- // eslint-disable-next-line no-unused-vars
- stringify: function stringify(it, replacer, space) {
- var args = [it];
- var index = 1;
- var $replacer;
-
- while (arguments.length > index) {
- args.push(arguments[index++]);
- }
-
- $replacer = replacer;
- if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
-
- if (!isArray(replacer)) replacer = function replacer(key, value) {
- if (typeof $replacer == 'function') value = $replacer.call(this, key, value);
- if (!isSymbol(value)) return value;
- };
- args[1] = replacer;
- return $stringify.apply(null, args);
- }
- });
- } // `Symbol.prototype[@@toPrimitive]` method
- // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive
-
-
- if (!$Symbol[PROTOTYPE$1][TO_PRIMITIVE]) {
- createNonEnumerableProperty($Symbol[PROTOTYPE$1], TO_PRIMITIVE, $Symbol[PROTOTYPE$1].valueOf);
- } // `Symbol.prototype[@@toStringTag]` property
- // https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag
-
-
- setToStringTag($Symbol, SYMBOL);
- hiddenKeys[HIDDEN] = true;
-
- var defineProperty$2 = objectDefineProperty.f;
- var NativeSymbol = global_1.Symbol;
-
- if (descriptors && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || // Safari 12 bug
- NativeSymbol().description !== undefined)) {
- var EmptyStringDescriptionStore = {}; // wrap Symbol constructor for correct work with undefined description
-
- var SymbolWrapper = function _Symbol() {
- var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
- var result = this instanceof SymbolWrapper ? new NativeSymbol(description) // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
- : description === undefined ? NativeSymbol() : NativeSymbol(description);
- if (description === '') EmptyStringDescriptionStore[result] = true;
- return result;
- };
-
- copyConstructorProperties(SymbolWrapper, NativeSymbol);
- var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
- symbolPrototype.constructor = SymbolWrapper;
- var symbolToString = symbolPrototype.toString;
-
- var _native = String(NativeSymbol('test')) == 'Symbol(test)';
-
- var regexp = /^Symbol\((.*)\)[^)]+$/;
- defineProperty$2(symbolPrototype, 'description', {
- configurable: true,
- get: function description() {
- var symbol = isObject(this) ? this.valueOf() : this;
- var string = symbolToString.call(symbol);
- if (has(EmptyStringDescriptionStore, symbol)) return '';
- var desc = _native ? string.slice(7, -1) : string.replace(regexp, '$1');
- return desc === '' ? undefined : desc;
- }
- });
- _export({
- global: true,
- forced: true
- }, {
- Symbol: SymbolWrapper
- });
- }
-
- // https://tc39.github.io/ecma262/#sec-symbol.asynciterator
-
- defineWellKnownSymbol('asyncIterator');
-
- // https://tc39.github.io/ecma262/#sec-symbol.hasinstance
-
- defineWellKnownSymbol('hasInstance');
-
- // https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable
-
- defineWellKnownSymbol('isConcatSpreadable');
-
- // https://tc39.github.io/ecma262/#sec-symbol.iterator
-
- defineWellKnownSymbol('iterator');
-
- // https://tc39.github.io/ecma262/#sec-symbol.match
-
- defineWellKnownSymbol('match');
-
- defineWellKnownSymbol('matchAll');
-
- // https://tc39.github.io/ecma262/#sec-symbol.replace
-
- defineWellKnownSymbol('replace');
-
- // https://tc39.github.io/ecma262/#sec-symbol.search
-
- defineWellKnownSymbol('search');
-
- // https://tc39.github.io/ecma262/#sec-symbol.species
-
- defineWellKnownSymbol('species');
-
- // https://tc39.github.io/ecma262/#sec-symbol.split
-
- defineWellKnownSymbol('split');
-
- // https://tc39.github.io/ecma262/#sec-symbol.toprimitive
-
- defineWellKnownSymbol('toPrimitive');
-
- // https://tc39.github.io/ecma262/#sec-symbol.tostringtag
-
- defineWellKnownSymbol('toStringTag');
-
- // https://tc39.github.io/ecma262/#sec-symbol.unscopables
-
- defineWellKnownSymbol('unscopables');
-
- var createProperty = function createProperty(object, key, value) {
- var propertyKey = toPrimitive(key);
- if (propertyKey in object) objectDefineProperty.f(object, propertyKey, createPropertyDescriptor(0, value));else object[propertyKey] = value;
- };
-
- var engineUserAgent = getBuiltIn('navigator', 'userAgent') || '';
-
- var process = global_1.process;
- var versions = process && process.versions;
- var v8 = versions && versions.v8;
- var match, version;
-
- if (v8) {
- match = v8.split('.');
- version = match[0] + match[1];
- } else if (engineUserAgent) {
- match = engineUserAgent.match(/Edge\/(\d+)/);
-
- if (!match || match[1] >= 74) {
- match = engineUserAgent.match(/Chrome\/(\d+)/);
- if (match) version = match[1];
- }
- }
-
- var engineV8Version = version && +version;
-
- var SPECIES$1 = wellKnownSymbol('species');
-
- var arrayMethodHasSpeciesSupport = function arrayMethodHasSpeciesSupport(METHOD_NAME) {
- // We can't use this feature detection in V8 since it causes
- // deoptimization and serious performance degradation
- // https://github.com/zloirock/core-js/issues/677
- return engineV8Version >= 51 || !fails(function () {
- var array = [];
- var constructor = array.constructor = {};
-
- constructor[SPECIES$1] = function () {
- return {
- foo: 1
- };
- };
-
- return array[METHOD_NAME](Boolean).foo !== 1;
- });
- };
-
- var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
- var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
- var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; // We can't use this feature detection in V8 since it causes
- // deoptimization and serious performance degradation
- // https://github.com/zloirock/core-js/issues/679
-
- var IS_CONCAT_SPREADABLE_SUPPORT = engineV8Version >= 51 || !fails(function () {
- var array = [];
- array[IS_CONCAT_SPREADABLE] = false;
- return array.concat()[0] !== array;
- });
- var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
-
- var isConcatSpreadable = function isConcatSpreadable(O) {
- if (!isObject(O)) return false;
- var spreadable = O[IS_CONCAT_SPREADABLE];
- return spreadable !== undefined ? !!spreadable : isArray(O);
- };
-
- var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; // `Array.prototype.concat` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.concat
- // with adding support of @@isConcatSpreadable and @@species
-
- _export({
- target: 'Array',
- proto: true,
- forced: FORCED
- }, {
- concat: function concat(arg) {
- // eslint-disable-line no-unused-vars
- var O = toObject(this);
- var A = arraySpeciesCreate(O, 0);
- var n = 0;
- var i, k, length, len, E;
-
- for (i = -1, length = arguments.length; i < length; i++) {
- E = i === -1 ? O : arguments[i];
-
- if (isConcatSpreadable(E)) {
- len = toLength(E.length);
- if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
-
- for (k = 0; k < len; k++, n++) {
- if (k in E) createProperty(A, n, E[k]);
- }
- } else {
- if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
- createProperty(A, n++, E);
- }
- }
-
- A.length = n;
- return A;
- }
- });
-
- var min$2 = Math.min; // `Array.prototype.copyWithin` method implementation
- // https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
-
- var arrayCopyWithin = [].copyWithin || function copyWithin(target
- /* = 0 */
- , start
- /* = 0, end = @length */
- ) {
- var O = toObject(this);
- var len = toLength(O.length);
- var to = toAbsoluteIndex(target, len);
- var from = toAbsoluteIndex(start, len);
- var end = arguments.length > 2 ? arguments[2] : undefined;
- var count = min$2((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
- var 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;
- };
-
- var UNSCOPABLES = wellKnownSymbol('unscopables');
- var ArrayPrototype = Array.prototype; // Array.prototype[@@unscopables]
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- if (ArrayPrototype[UNSCOPABLES] == undefined) {
- objectDefineProperty.f(ArrayPrototype, UNSCOPABLES, {
- configurable: true,
- value: objectCreate(null)
- });
- } // add a key to Array.prototype[@@unscopables]
-
-
- var addToUnscopables = function addToUnscopables(key) {
- ArrayPrototype[UNSCOPABLES][key] = true;
- };
-
- // https://tc39.github.io/ecma262/#sec-array.prototype.copywithin
-
- _export({
- target: 'Array',
- proto: true
- }, {
- copyWithin: arrayCopyWithin
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables('copyWithin');
-
- var arrayMethodIsStrict = function arrayMethodIsStrict(METHOD_NAME, argument) {
- var method = [][METHOD_NAME];
- return !!method && fails(function () {
- // eslint-disable-next-line no-useless-call,no-throw-literal
- method.call(null, argument || function () {
- throw 1;
- }, 1);
- });
- };
-
- var defineProperty$3 = Object.defineProperty;
- var cache = {};
-
- var thrower = function thrower(it) {
- throw it;
- };
-
- var arrayMethodUsesToLength = function arrayMethodUsesToLength(METHOD_NAME, options) {
- if (has(cache, METHOD_NAME)) return cache[METHOD_NAME];
- if (!options) options = {};
- var method = [][METHOD_NAME];
- var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
- var argument0 = has(options, 0) ? options[0] : thrower;
- var argument1 = has(options, 1) ? options[1] : undefined;
- return cache[METHOD_NAME] = !!method && !fails(function () {
- if (ACCESSORS && !descriptors) return true;
- var O = {
- length: -1
- };
- if (ACCESSORS) defineProperty$3(O, 1, {
- enumerable: true,
- get: thrower
- });else O[1] = 1;
- method.call(O, argument0, argument1);
- });
- };
-
- var $every = arrayIteration.every;
- var STRICT_METHOD = arrayMethodIsStrict('every');
- var USES_TO_LENGTH = arrayMethodUsesToLength('every'); // `Array.prototype.every` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.every
-
- _export({
- target: 'Array',
- proto: true,
- forced: !STRICT_METHOD || !USES_TO_LENGTH
- }, {
- every: function every(callbackfn
- /* , thisArg */
- ) {
- return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-array.prototype.fill
-
-
- var arrayFill = function fill(value
- /* , start = 0, end = @length */
- ) {
- var O = toObject(this);
- var length = toLength(O.length);
- var argumentsLength = arguments.length;
- var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
- var end = argumentsLength > 2 ? arguments[2] : undefined;
- var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
-
- while (endPos > index) {
- O[index++] = value;
- }
-
- return O;
- };
-
- // https://tc39.github.io/ecma262/#sec-array.prototype.fill
-
- _export({
- target: 'Array',
- proto: true
- }, {
- fill: arrayFill
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables('fill');
-
- var $filter = arrayIteration.filter;
- var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); // Edge 14- issue
-
- var USES_TO_LENGTH$1 = arrayMethodUsesToLength('filter'); // `Array.prototype.filter` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.filter
- // with adding support of @@species
-
- _export({
- target: 'Array',
- proto: true,
- forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH$1
- }, {
- filter: function filter(callbackfn
- /* , thisArg */
- ) {
- return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- var $find = arrayIteration.find;
- var FIND = 'find';
- var SKIPS_HOLES = true;
- var USES_TO_LENGTH$2 = arrayMethodUsesToLength(FIND); // Shouldn't skip holes
-
- if (FIND in []) Array(1)[FIND](function () {
- SKIPS_HOLES = false;
- }); // `Array.prototype.find` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.find
-
- _export({
- target: 'Array',
- proto: true,
- forced: SKIPS_HOLES || !USES_TO_LENGTH$2
- }, {
- find: function find(callbackfn
- /* , that = undefined */
- ) {
- return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables(FIND);
-
- var $findIndex = arrayIteration.findIndex;
- var FIND_INDEX = 'findIndex';
- var SKIPS_HOLES$1 = true;
- var USES_TO_LENGTH$3 = arrayMethodUsesToLength(FIND_INDEX); // Shouldn't skip holes
-
- if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () {
- SKIPS_HOLES$1 = false;
- }); // `Array.prototype.findIndex` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.findindex
-
- _export({
- target: 'Array',
- proto: true,
- forced: SKIPS_HOLES$1 || !USES_TO_LENGTH$3
- }, {
- findIndex: function findIndex(callbackfn
- /* , that = undefined */
- ) {
- return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables(FIND_INDEX);
-
- // https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray
-
-
- var flattenIntoArray = function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {
- var targetIndex = start;
- var sourceIndex = 0;
- var mapFn = mapper ? functionBindContext(mapper, thisArg, 3) : false;
- var element;
-
- while (sourceIndex < sourceLen) {
- if (sourceIndex in source) {
- element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];
-
- if (depth > 0 && isArray(element)) {
- targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;
- } else {
- if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length');
- target[targetIndex] = element;
- }
-
- targetIndex++;
- }
-
- sourceIndex++;
- }
-
- return targetIndex;
- };
-
- var flattenIntoArray_1 = flattenIntoArray;
-
- // https://github.com/tc39/proposal-flatMap
-
-
- _export({
- target: 'Array',
- proto: true
- }, {
- flat: function flat()
- /* depthArg = 1 */
- {
- var depthArg = arguments.length ? arguments[0] : undefined;
- var O = toObject(this);
- var sourceLen = toLength(O.length);
- var A = arraySpeciesCreate(O, 0);
- A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));
- return A;
- }
- });
-
- // https://github.com/tc39/proposal-flatMap
-
-
- _export({
- target: 'Array',
- proto: true
- }, {
- flatMap: function flatMap(callbackfn
- /* , thisArg */
- ) {
- var O = toObject(this);
- var sourceLen = toLength(O.length);
- var A;
- aFunction$1(callbackfn);
- A = arraySpeciesCreate(O, 0);
- A.length = flattenIntoArray_1(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- return A;
- }
- });
-
- var $forEach$1 = arrayIteration.forEach;
- var STRICT_METHOD$1 = arrayMethodIsStrict('forEach');
- var USES_TO_LENGTH$4 = arrayMethodUsesToLength('forEach'); // `Array.prototype.forEach` method implementation
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-
- var arrayForEach = !STRICT_METHOD$1 || !USES_TO_LENGTH$4 ? function forEach(callbackfn
- /* , thisArg */
- ) {
- return $forEach$1(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- } : [].forEach;
-
- // https://tc39.github.io/ecma262/#sec-array.prototype.foreach
-
-
- _export({
- target: 'Array',
- proto: true,
- forced: [].forEach != arrayForEach
- }, {
- forEach: arrayForEach
- });
-
- var callWithSafeIterationClosing = function callWithSafeIterationClosing(iterator, fn, value, ENTRIES) {
- try {
- return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); // 7.4.6 IteratorClose(iterator, completion)
- } catch (error) {
- var returnMethod = iterator['return'];
- if (returnMethod !== undefined) anObject(returnMethod.call(iterator));
- throw error;
- }
- };
-
- var iterators = {};
-
- var ITERATOR = wellKnownSymbol('iterator');
- var ArrayPrototype$1 = Array.prototype; // check on default Array iterator
-
- var isArrayIteratorMethod = function isArrayIteratorMethod(it) {
- return it !== undefined && (iterators.Array === it || ArrayPrototype$1[ITERATOR] === it);
- };
-
- var TO_STRING_TAG$1 = wellKnownSymbol('toStringTag');
- var test = {};
- test[TO_STRING_TAG$1] = 'z';
- var toStringTagSupport = String(test) === '[object z]';
-
- var TO_STRING_TAG$2 = wellKnownSymbol('toStringTag'); // ES3 wrong here
-
- var CORRECT_ARGUMENTS = classofRaw(function () {
- return arguments;
- }()) == 'Arguments'; // fallback for IE11 Script Access Denied error
-
- var tryGet = function tryGet(it, key) {
- try {
- return it[key];
- } catch (error) {
- /* empty */
- }
- }; // getting tag from ES6+ `Object.prototype.toString`
-
-
- var classof = toStringTagSupport ? classofRaw : function (it) {
- var O, tag, result;
- return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case
- : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG$2)) == 'string' ? tag // builtinTag case
- : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback
- : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
- };
-
- var ITERATOR$1 = wellKnownSymbol('iterator');
-
- var getIteratorMethod = function getIteratorMethod(it) {
- if (it != undefined) return it[ITERATOR$1] || it['@@iterator'] || iterators[classof(it)];
- };
-
- // https://tc39.github.io/ecma262/#sec-array.from
-
-
- var arrayFrom = function from(arrayLike
- /* , mapfn = undefined, thisArg = undefined */
- ) {
- var O = toObject(arrayLike);
- var C = typeof this == 'function' ? this : Array;
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var iteratorMethod = getIteratorMethod(O);
- var index = 0;
- var length, result, step, iterator, next, value;
- if (mapping) mapfn = functionBindContext(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); // if the target is not iterable or it's an array with the default iterator - use a simple case
-
- if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
- iterator = iteratorMethod.call(O);
- next = iterator.next;
- result = new C();
-
- for (; !(step = next.call(iterator)).done; index++) {
- value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
- createProperty(result, index, value);
- }
- } else {
- length = toLength(O.length);
- result = new C(length);
-
- for (; length > index; index++) {
- value = mapping ? mapfn(O[index], index) : O[index];
- createProperty(result, index, value);
- }
- }
-
- result.length = index;
- return result;
- };
-
- var ITERATOR$2 = wellKnownSymbol('iterator');
- var SAFE_CLOSING = false;
-
- try {
- var called = 0;
- var iteratorWithReturn = {
- next: function next() {
- return {
- done: !!called++
- };
- },
- 'return': function _return() {
- SAFE_CLOSING = true;
- }
- };
-
- iteratorWithReturn[ITERATOR$2] = function () {
- return this;
- }; // eslint-disable-next-line no-throw-literal
-
-
- Array.from(iteratorWithReturn, function () {
- throw 2;
- });
- } catch (error) {
- /* empty */
- }
-
- var checkCorrectnessOfIteration = function checkCorrectnessOfIteration(exec, SKIP_CLOSING) {
- if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
- var ITERATION_SUPPORT = false;
-
- try {
- var object = {};
-
- object[ITERATOR$2] = function () {
- return {
- next: function next() {
- return {
- done: ITERATION_SUPPORT = true
- };
- }
- };
- };
-
- exec(object);
- } catch (error) {
- /* empty */
- }
-
- return ITERATION_SUPPORT;
- };
-
- var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
- Array.from(iterable);
- }); // `Array.from` method
- // https://tc39.github.io/ecma262/#sec-array.from
-
- _export({
- target: 'Array',
- stat: true,
- forced: INCORRECT_ITERATION
- }, {
- from: arrayFrom
- });
-
- var $includes = arrayIncludes.includes;
- var USES_TO_LENGTH$5 = arrayMethodUsesToLength('indexOf', {
- ACCESSORS: true,
- 1: 0
- }); // `Array.prototype.includes` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.includes
-
- _export({
- target: 'Array',
- proto: true,
- forced: !USES_TO_LENGTH$5
- }, {
- includes: function includes(el
- /* , fromIndex = 0 */
- ) {
- return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
- }
- }); // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables('includes');
-
- var $indexOf = arrayIncludes.indexOf;
- var nativeIndexOf = [].indexOf;
- var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0;
- var STRICT_METHOD$2 = arrayMethodIsStrict('indexOf');
- var USES_TO_LENGTH$6 = arrayMethodUsesToLength('indexOf', {
- ACCESSORS: true,
- 1: 0
- }); // `Array.prototype.indexOf` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.indexof
-
- _export({
- target: 'Array',
- proto: true,
- forced: NEGATIVE_ZERO || !STRICT_METHOD$2 || !USES_TO_LENGTH$6
- }, {
- indexOf: function indexOf(searchElement
- /* , fromIndex = 0 */
- ) {
- return NEGATIVE_ZERO // convert -0 to +0
- ? nativeIndexOf.apply(this, arguments) || 0 : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-array.isarray
-
- _export({
- target: 'Array',
- stat: true
- }, {
- isArray: isArray
- });
-
- var correctPrototypeGetter = !fails(function () {
- function F() {
- /* empty */
- }
-
- F.prototype.constructor = null;
- return Object.getPrototypeOf(new F()) !== F.prototype;
- });
-
- var IE_PROTO$1 = sharedKey('IE_PROTO');
- var ObjectPrototype$1 = Object.prototype; // `Object.getPrototypeOf` method
- // https://tc39.github.io/ecma262/#sec-object.getprototypeof
-
- var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) {
- O = toObject(O);
- if (has(O, IE_PROTO$1)) return O[IE_PROTO$1];
-
- if (typeof O.constructor == 'function' && O instanceof O.constructor) {
- return O.constructor.prototype;
- }
-
- return O instanceof Object ? ObjectPrototype$1 : null;
- };
-
- var ITERATOR$3 = wellKnownSymbol('iterator');
- var BUGGY_SAFARI_ITERATORS = false;
-
- var returnThis = function returnThis() {
- return this;
- }; // `%IteratorPrototype%` object
- // https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object
-
-
- var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
-
- if ([].keys) {
- arrayIterator = [].keys(); // Safari 8 has buggy iterators w/o `next`
-
- if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;else {
- PrototypeOfArrayIteratorPrototype = objectGetPrototypeOf(objectGetPrototypeOf(arrayIterator));
- if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
- }
- }
-
- if (IteratorPrototype == undefined) IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
-
- if ( !has(IteratorPrototype, ITERATOR$3)) {
- createNonEnumerableProperty(IteratorPrototype, ITERATOR$3, returnThis);
- }
-
- var iteratorsCore = {
- IteratorPrototype: IteratorPrototype,
- BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
- };
-
- var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
-
- var returnThis$1 = function returnThis() {
- return this;
- };
-
- var createIteratorConstructor = function createIteratorConstructor(IteratorConstructor, NAME, next) {
- var TO_STRING_TAG = NAME + ' Iterator';
- IteratorConstructor.prototype = objectCreate(IteratorPrototype$1, {
- next: createPropertyDescriptor(1, next)
- });
- setToStringTag(IteratorConstructor, TO_STRING_TAG, false);
- iterators[TO_STRING_TAG] = returnThis$1;
- return IteratorConstructor;
- };
-
- var aPossiblePrototype = function aPossiblePrototype(it) {
- if (!isObject(it) && it !== null) {
- throw TypeError("Can't set " + String(it) + ' as a prototype');
- }
-
- return it;
- };
-
- // https://tc39.github.io/ecma262/#sec-object.setprototypeof
- // Works with __proto__ only. Old v8 can't work with null proto objects.
-
- /* eslint-disable no-proto */
-
- var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () {
- var CORRECT_SETTER = false;
- var test = {};
- var setter;
-
- try {
- setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
- setter.call(test, []);
- CORRECT_SETTER = test instanceof Array;
- } catch (error) {
- /* empty */
- }
-
- return function setPrototypeOf(O, proto) {
- anObject(O);
- aPossiblePrototype(proto);
- if (CORRECT_SETTER) setter.call(O, proto);else O.__proto__ = proto;
- return O;
- };
- }() : undefined);
-
- var IteratorPrototype$2 = iteratorsCore.IteratorPrototype;
- var BUGGY_SAFARI_ITERATORS$1 = iteratorsCore.BUGGY_SAFARI_ITERATORS;
- var ITERATOR$4 = wellKnownSymbol('iterator');
- var KEYS = 'keys';
- var VALUES = 'values';
- var ENTRIES = 'entries';
-
- var returnThis$2 = function returnThis() {
- return this;
- };
-
- var defineIterator = function defineIterator(Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
- createIteratorConstructor(IteratorConstructor, NAME, next);
-
- var getIterationMethod = function getIterationMethod(KIND) {
- if (KIND === DEFAULT && defaultIterator) return defaultIterator;
- if (!BUGGY_SAFARI_ITERATORS$1 && KIND in IterablePrototype) return IterablePrototype[KIND];
-
- switch (KIND) {
- case KEYS:
- return function keys() {
- return new IteratorConstructor(this, KIND);
- };
-
- case VALUES:
- return function values() {
- return new IteratorConstructor(this, KIND);
- };
-
- case ENTRIES:
- return function entries() {
- return new IteratorConstructor(this, KIND);
- };
- }
-
- return function () {
- return new IteratorConstructor(this);
- };
- };
-
- var TO_STRING_TAG = NAME + ' Iterator';
- var INCORRECT_VALUES_NAME = false;
- var IterablePrototype = Iterable.prototype;
- var nativeIterator = IterablePrototype[ITERATOR$4] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
- var defaultIterator = !BUGGY_SAFARI_ITERATORS$1 && nativeIterator || getIterationMethod(DEFAULT);
- var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
- var CurrentIteratorPrototype, methods, KEY; // fix native
-
- if (anyNativeIterator) {
- CurrentIteratorPrototype = objectGetPrototypeOf(anyNativeIterator.call(new Iterable()));
-
- if (IteratorPrototype$2 !== Object.prototype && CurrentIteratorPrototype.next) {
- if ( objectGetPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype$2) {
- if (objectSetPrototypeOf) {
- objectSetPrototypeOf(CurrentIteratorPrototype, IteratorPrototype$2);
- } else if (typeof CurrentIteratorPrototype[ITERATOR$4] != 'function') {
- createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR$4, returnThis$2);
- }
- } // Set @@toStringTag to native iterators
-
-
- setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true);
- }
- } // fix Array#{values, @@iterator}.name in V8 / FF
-
-
- if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
- INCORRECT_VALUES_NAME = true;
-
- defaultIterator = function values() {
- return nativeIterator.call(this);
- };
- } // define iterator
-
-
- if ( IterablePrototype[ITERATOR$4] !== defaultIterator) {
- createNonEnumerableProperty(IterablePrototype, ITERATOR$4, defaultIterator);
- }
-
- iterators[NAME] = defaultIterator; // export additional methods
-
- if (DEFAULT) {
- methods = {
- values: getIterationMethod(VALUES),
- keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
- entries: getIterationMethod(ENTRIES)
- };
- if (FORCED) for (KEY in methods) {
- if (BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
- redefine(IterablePrototype, KEY, methods[KEY]);
- }
- } else _export({
- target: NAME,
- proto: true,
- forced: BUGGY_SAFARI_ITERATORS$1 || INCORRECT_VALUES_NAME
- }, methods);
- }
-
- return methods;
- };
-
- var ARRAY_ITERATOR = 'Array Iterator';
- var setInternalState$1 = internalState.set;
- var getInternalState$1 = internalState.getterFor(ARRAY_ITERATOR); // `Array.prototype.entries` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.entries
- // `Array.prototype.keys` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.keys
- // `Array.prototype.values` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.values
- // `Array.prototype[@@iterator]` method
- // https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator
- // `CreateArrayIterator` internal method
- // https://tc39.github.io/ecma262/#sec-createarrayiterator
-
- var es_array_iterator = defineIterator(Array, 'Array', function (iterated, kind) {
- setInternalState$1(this, {
- type: ARRAY_ITERATOR,
- target: toIndexedObject(iterated),
- // target
- index: 0,
- // next index
- kind: kind // kind
-
- }); // `%ArrayIteratorPrototype%.next` method
- // https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next
- }, function () {
- var state = getInternalState$1(this);
- var target = state.target;
- var kind = state.kind;
- var index = state.index++;
-
- if (!target || index >= target.length) {
- state.target = undefined;
- return {
- value: undefined,
- done: true
- };
- }
-
- if (kind == 'keys') return {
- value: index,
- done: false
- };
- if (kind == 'values') return {
- value: target[index],
- done: false
- };
- return {
- value: [index, target[index]],
- done: false
- };
- }, 'values'); // argumentsList[@@iterator] is %ArrayProto_values%
- // https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject
- // https://tc39.github.io/ecma262/#sec-createmappedargumentsobject
-
- iterators.Arguments = iterators.Array; // https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables
-
- addToUnscopables('keys');
- addToUnscopables('values');
- addToUnscopables('entries');
-
- var nativeJoin = [].join;
- var ES3_STRINGS = indexedObject != Object;
- var STRICT_METHOD$3 = arrayMethodIsStrict('join', ','); // `Array.prototype.join` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.join
-
- _export({
- target: 'Array',
- proto: true,
- forced: ES3_STRINGS || !STRICT_METHOD$3
- }, {
- join: function join(separator) {
- return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);
- }
- });
-
- var min$3 = Math.min;
- var nativeLastIndexOf = [].lastIndexOf;
- var NEGATIVE_ZERO$1 = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
- var STRICT_METHOD$4 = arrayMethodIsStrict('lastIndexOf'); // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
-
- var USES_TO_LENGTH$7 = arrayMethodUsesToLength('indexOf', {
- ACCESSORS: true,
- 1: 0
- });
- var FORCED$1 = NEGATIVE_ZERO$1 || !STRICT_METHOD$4 || !USES_TO_LENGTH$7; // `Array.prototype.lastIndexOf` method implementation
- // https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
-
- var arrayLastIndexOf = FORCED$1 ? function lastIndexOf(searchElement
- /* , fromIndex = @[*-1] */
- ) {
- // convert -0 to +0
- if (NEGATIVE_ZERO$1) return nativeLastIndexOf.apply(this, arguments) || 0;
- var O = toIndexedObject(this);
- var length = toLength(O.length);
- var index = length - 1;
- if (arguments.length > 1) index = min$3(index, toInteger(arguments[1]));
- if (index < 0) index = length + index;
-
- for (; index >= 0; index--) {
- if (index in O && O[index] === searchElement) return index || 0;
- }
-
- return -1;
- } : nativeLastIndexOf;
-
- // https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof
-
- _export({
- target: 'Array',
- proto: true,
- forced: arrayLastIndexOf !== [].lastIndexOf
- }, {
- lastIndexOf: arrayLastIndexOf
- });
-
- var $map = arrayIteration.map;
- var HAS_SPECIES_SUPPORT$1 = arrayMethodHasSpeciesSupport('map'); // FF49- issue
-
- var USES_TO_LENGTH$8 = arrayMethodUsesToLength('map'); // `Array.prototype.map` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.map
- // with adding support of @@species
-
- _export({
- target: 'Array',
- proto: true,
- forced: !HAS_SPECIES_SUPPORT$1 || !USES_TO_LENGTH$8
- }, {
- map: function map(callbackfn
- /* , thisArg */
- ) {
- return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- var ISNT_GENERIC = fails(function () {
- function F() {
- /* empty */
- }
-
- return !(Array.of.call(F) instanceof F);
- }); // `Array.of` method
- // https://tc39.github.io/ecma262/#sec-array.of
- // WebKit Array.of isn't generic
-
- _export({
- target: 'Array',
- stat: true,
- forced: ISNT_GENERIC
- }, {
- of: function of()
- /* ...args */
- {
- var index = 0;
- var argumentsLength = arguments.length;
- var result = new (typeof this == 'function' ? this : Array)(argumentsLength);
-
- while (argumentsLength > index) {
- createProperty(result, index, arguments[index++]);
- }
-
- result.length = argumentsLength;
- return result;
- }
- });
-
- var createMethod$2 = function createMethod(IS_RIGHT) {
- return function (that, callbackfn, argumentsLength, memo) {
- aFunction$1(callbackfn);
- var O = toObject(that);
- var self = indexedObject(O);
- var length = toLength(O.length);
- var index = IS_RIGHT ? length - 1 : 0;
- var i = IS_RIGHT ? -1 : 1;
- if (argumentsLength < 2) while (true) {
- if (index in self) {
- memo = self[index];
- index += i;
- break;
- }
-
- index += i;
-
- if (IS_RIGHT ? index < 0 : length <= index) {
- throw TypeError('Reduce of empty array with no initial value');
- }
- }
-
- for (; IS_RIGHT ? index >= 0 : length > index; index += i) {
- if (index in self) {
- memo = callbackfn(memo, self[index], index, O);
- }
- }
-
- return memo;
- };
- };
-
- var arrayReduce = {
- // `Array.prototype.reduce` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
- left: createMethod$2(false),
- // `Array.prototype.reduceRight` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
- right: createMethod$2(true)
- };
-
- var $reduce = arrayReduce.left;
- var STRICT_METHOD$5 = arrayMethodIsStrict('reduce');
- var USES_TO_LENGTH$9 = arrayMethodUsesToLength('reduce', {
- 1: 0
- }); // `Array.prototype.reduce` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduce
-
- _export({
- target: 'Array',
- proto: true,
- forced: !STRICT_METHOD$5 || !USES_TO_LENGTH$9
- }, {
- reduce: function reduce(callbackfn
- /* , initialValue */
- ) {
- return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- var $reduceRight = arrayReduce.right;
- var STRICT_METHOD$6 = arrayMethodIsStrict('reduceRight'); // For preventing possible almost infinite loop in non-standard implementations, test the forward version of the method
-
- var USES_TO_LENGTH$a = arrayMethodUsesToLength('reduce', {
- 1: 0
- }); // `Array.prototype.reduceRight` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright
-
- _export({
- target: 'Array',
- proto: true,
- forced: !STRICT_METHOD$6 || !USES_TO_LENGTH$a
- }, {
- reduceRight: function reduceRight(callbackfn
- /* , initialValue */
- ) {
- return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- var nativeReverse = [].reverse;
- var test$1 = [1, 2]; // `Array.prototype.reverse` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.reverse
- // fix for Safari 12.0 bug
- // https://bugs.webkit.org/show_bug.cgi?id=188794
-
- _export({
- target: 'Array',
- proto: true,
- forced: String(test$1) === String(test$1.reverse())
- }, {
- reverse: function reverse() {
- // eslint-disable-next-line no-self-assign
- if (isArray(this)) this.length = this.length;
- return nativeReverse.call(this);
- }
- });
-
- var HAS_SPECIES_SUPPORT$2 = arrayMethodHasSpeciesSupport('slice');
- var USES_TO_LENGTH$b = arrayMethodUsesToLength('slice', {
- ACCESSORS: true,
- 0: 0,
- 1: 2
- });
- var SPECIES$2 = wellKnownSymbol('species');
- var nativeSlice = [].slice;
- var max$1 = Math.max; // `Array.prototype.slice` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.slice
- // fallback for not array-like ES3 strings and DOM objects
-
- _export({
- target: 'Array',
- proto: true,
- forced: !HAS_SPECIES_SUPPORT$2 || !USES_TO_LENGTH$b
- }, {
- slice: function slice(start, end) {
- var O = toIndexedObject(this);
- var length = toLength(O.length);
- var k = toAbsoluteIndex(start, length);
- var fin = toAbsoluteIndex(end === undefined ? length : end, length); // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
-
- var Constructor, result, n;
-
- if (isArray(O)) {
- Constructor = O.constructor; // cross-realm fallback
-
- if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {
- Constructor = undefined;
- } else if (isObject(Constructor)) {
- Constructor = Constructor[SPECIES$2];
- if (Constructor === null) Constructor = undefined;
- }
-
- if (Constructor === Array || Constructor === undefined) {
- return nativeSlice.call(O, k, fin);
- }
- }
-
- result = new (Constructor === undefined ? Array : Constructor)(max$1(fin - k, 0));
-
- for (n = 0; k < fin; k++, n++) {
- if (k in O) createProperty(result, n, O[k]);
- }
-
- result.length = n;
- return result;
- }
- });
-
- var $some = arrayIteration.some;
- var STRICT_METHOD$7 = arrayMethodIsStrict('some');
- var USES_TO_LENGTH$c = arrayMethodUsesToLength('some'); // `Array.prototype.some` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.some
-
- _export({
- target: 'Array',
- proto: true,
- forced: !STRICT_METHOD$7 || !USES_TO_LENGTH$c
- }, {
- some: function some(callbackfn
- /* , thisArg */
- ) {
- return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- var test$2 = [];
- var nativeSort = test$2.sort; // IE8-
-
- var FAILS_ON_UNDEFINED = fails(function () {
- test$2.sort(undefined);
- }); // V8 bug
-
- var FAILS_ON_NULL = fails(function () {
- test$2.sort(null);
- }); // Old WebKit
-
- var STRICT_METHOD$8 = arrayMethodIsStrict('sort');
- var FORCED$2 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD$8; // `Array.prototype.sort` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.sort
-
- _export({
- target: 'Array',
- proto: true,
- forced: FORCED$2
- }, {
- sort: function sort(comparefn) {
- return comparefn === undefined ? nativeSort.call(toObject(this)) : nativeSort.call(toObject(this), aFunction$1(comparefn));
- }
- });
-
- var SPECIES$3 = wellKnownSymbol('species');
-
- var setSpecies = function setSpecies(CONSTRUCTOR_NAME) {
- var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
- var defineProperty = objectDefineProperty.f;
-
- if (descriptors && Constructor && !Constructor[SPECIES$3]) {
- defineProperty(Constructor, SPECIES$3, {
- configurable: true,
- get: function get() {
- return this;
- }
- });
- }
- };
-
- // https://tc39.github.io/ecma262/#sec-get-array-@@species
-
- setSpecies('Array');
-
- var HAS_SPECIES_SUPPORT$3 = arrayMethodHasSpeciesSupport('splice');
- var USES_TO_LENGTH$d = arrayMethodUsesToLength('splice', {
- ACCESSORS: true,
- 0: 0,
- 1: 2
- });
- var max$2 = Math.max;
- var min$4 = Math.min;
- var MAX_SAFE_INTEGER$1 = 0x1FFFFFFFFFFFFF;
- var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; // `Array.prototype.splice` method
- // https://tc39.github.io/ecma262/#sec-array.prototype.splice
- // with adding support of @@species
-
- _export({
- target: 'Array',
- proto: true,
- forced: !HAS_SPECIES_SUPPORT$3 || !USES_TO_LENGTH$d
- }, {
- splice: function splice(start, deleteCount
- /* , ...items */
- ) {
- var O = toObject(this);
- var len = toLength(O.length);
- var actualStart = toAbsoluteIndex(start, len);
- var argumentsLength = arguments.length;
- var insertCount, actualDeleteCount, A, k, from, to;
-
- if (argumentsLength === 0) {
- insertCount = actualDeleteCount = 0;
- } else if (argumentsLength === 1) {
- insertCount = 0;
- actualDeleteCount = len - actualStart;
- } else {
- insertCount = argumentsLength - 2;
- actualDeleteCount = min$4(max$2(toInteger(deleteCount), 0), len - actualStart);
- }
-
- if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER$1) {
- throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
- }
-
- A = arraySpeciesCreate(O, actualDeleteCount);
-
- for (k = 0; k < actualDeleteCount; k++) {
- from = actualStart + k;
- if (from in O) createProperty(A, k, O[from]);
- }
-
- A.length = actualDeleteCount;
-
- if (insertCount < actualDeleteCount) {
- for (k = actualStart; k < len - actualDeleteCount; k++) {
- from = k + actualDeleteCount;
- to = k + insertCount;
- if (from in O) O[to] = O[from];else delete O[to];
- }
-
- for (k = len; k > len - actualDeleteCount + insertCount; k--) {
- delete O[k - 1];
- }
- } else if (insertCount > actualDeleteCount) {
- for (k = len - actualDeleteCount; k > actualStart; k--) {
- from = k + actualDeleteCount - 1;
- to = k + insertCount - 1;
- if (from in O) O[to] = O[from];else delete O[to];
- }
- }
-
- for (k = 0; k < insertCount; k++) {
- O[k + actualStart] = arguments[k + 2];
- }
-
- O.length = len - actualDeleteCount + insertCount;
- return A;
- }
- });
-
- // in popular engines, so it's moved to a separate module
-
- addToUnscopables('flat');
-
- // in popular engines, so it's moved to a separate module
-
- addToUnscopables('flatMap');
-
- var arrayBufferNative = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';
-
- var redefineAll = function redefineAll(target, src, options) {
- for (var key in src) {
- redefine(target, key, src[key], options);
- }
-
- return target;
- };
-
- var anInstance = function anInstance(it, Constructor, name) {
- if (!(it instanceof Constructor)) {
- throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
- }
-
- return it;
- };
-
- // https://tc39.github.io/ecma262/#sec-toindex
-
- var toIndex = function toIndex(it) {
- if (it === undefined) return 0;
- var number = toInteger(it);
- var length = toLength(number);
- if (number !== length) throw RangeError('Wrong length or index');
- return length;
- };
-
- // IEEE754 conversions based on https://github.com/feross/ieee754
- // eslint-disable-next-line no-shadow-restricted-names
- var Infinity$1 = 1 / 0;
- var abs = Math.abs;
- var pow = Math.pow;
- var floor$1 = Math.floor;
- var log = Math.log;
- var LN2 = Math.LN2;
-
- var pack = function pack(number, mantissaLength, bytes) {
- var buffer = new Array(bytes);
- var exponentLength = bytes * 8 - mantissaLength - 1;
- var eMax = (1 << exponentLength) - 1;
- var eBias = eMax >> 1;
- var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;
- var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
- var index = 0;
- var exponent, mantissa, c;
- number = abs(number); // eslint-disable-next-line no-self-compare
-
- if (number != number || number === Infinity$1) {
- // eslint-disable-next-line no-self-compare
- mantissa = number != number ? 1 : 0;
- exponent = eMax;
- } else {
- exponent = floor$1(log(number) / LN2);
-
- if (number * (c = pow(2, -exponent)) < 1) {
- exponent--;
- c *= 2;
- }
-
- if (exponent + eBias >= 1) {
- number += rt / c;
- } else {
- number += rt * pow(2, 1 - eBias);
- }
-
- if (number * c >= 2) {
- exponent++;
- c /= 2;
- }
-
- if (exponent + eBias >= eMax) {
- mantissa = 0;
- exponent = eMax;
- } else if (exponent + eBias >= 1) {
- mantissa = (number * c - 1) * pow(2, mantissaLength);
- exponent = exponent + eBias;
- } else {
- mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);
- exponent = 0;
- }
- }
-
- for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8) {
- }
-
- exponent = exponent << mantissaLength | mantissa;
- exponentLength += mantissaLength;
-
- for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8) {
- }
-
- buffer[--index] |= sign * 128;
- return buffer;
- };
-
- var unpack = function unpack(buffer, mantissaLength) {
- var bytes = buffer.length;
- var exponentLength = bytes * 8 - mantissaLength - 1;
- var eMax = (1 << exponentLength) - 1;
- var eBias = eMax >> 1;
- var nBits = exponentLength - 7;
- var index = bytes - 1;
- var sign = buffer[index--];
- var exponent = sign & 127;
- var mantissa;
- sign >>= 7;
-
- for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8) {
- }
-
- mantissa = exponent & (1 << -nBits) - 1;
- exponent >>= -nBits;
- nBits += mantissaLength;
-
- for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8) {
- }
-
- if (exponent === 0) {
- exponent = 1 - eBias;
- } else if (exponent === eMax) {
- return mantissa ? NaN : sign ? -Infinity$1 : Infinity$1;
- } else {
- mantissa = mantissa + pow(2, mantissaLength);
- exponent = exponent - eBias;
- }
-
- return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);
- };
-
- var ieee754 = {
- pack: pack,
- unpack: unpack
- };
-
- var getOwnPropertyNames = objectGetOwnPropertyNames.f;
- var defineProperty$4 = objectDefineProperty.f;
- var getInternalState$2 = internalState.get;
- var setInternalState$2 = internalState.set;
- var ARRAY_BUFFER = 'ArrayBuffer';
- var DATA_VIEW = 'DataView';
- var PROTOTYPE$2 = 'prototype';
- var WRONG_LENGTH = 'Wrong length';
- var WRONG_INDEX = 'Wrong index';
- var NativeArrayBuffer = global_1[ARRAY_BUFFER];
- var $ArrayBuffer = NativeArrayBuffer;
- var $DataView = global_1[DATA_VIEW];
- var $DataViewPrototype = $DataView && $DataView[PROTOTYPE$2];
- var ObjectPrototype$2 = Object.prototype;
- var RangeError$1 = global_1.RangeError;
- var packIEEE754 = ieee754.pack;
- var unpackIEEE754 = ieee754.unpack;
-
- var packInt8 = function packInt8(number) {
- return [number & 0xFF];
- };
-
- var packInt16 = function packInt16(number) {
- return [number & 0xFF, number >> 8 & 0xFF];
- };
-
- var packInt32 = function packInt32(number) {
- return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];
- };
-
- var unpackInt32 = function unpackInt32(buffer) {
- return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];
- };
-
- var packFloat32 = function packFloat32(number) {
- return packIEEE754(number, 23, 4);
- };
-
- var packFloat64 = function packFloat64(number) {
- return packIEEE754(number, 52, 8);
- };
-
- var addGetter = function addGetter(Constructor, key) {
- defineProperty$4(Constructor[PROTOTYPE$2], key, {
- get: function get() {
- return getInternalState$2(this)[key];
- }
- });
- };
-
- var get$1 = function get(view, count, index, isLittleEndian) {
- var intIndex = toIndex(index);
- var store = getInternalState$2(view);
- if (intIndex + count > store.byteLength) throw RangeError$1(WRONG_INDEX);
- var bytes = getInternalState$2(store.buffer).bytes;
- var start = intIndex + store.byteOffset;
- var pack = bytes.slice(start, start + count);
- return isLittleEndian ? pack : pack.reverse();
- };
-
- var set$1 = function set(view, count, index, conversion, value, isLittleEndian) {
- var intIndex = toIndex(index);
- var store = getInternalState$2(view);
- if (intIndex + count > store.byteLength) throw RangeError$1(WRONG_INDEX);
- var bytes = getInternalState$2(store.buffer).bytes;
- var start = intIndex + store.byteOffset;
- var pack = conversion(+value);
-
- for (var i = 0; i < count; i++) {
- bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];
- }
- };
-
- if (!arrayBufferNative) {
- $ArrayBuffer = function ArrayBuffer(length) {
- anInstance(this, $ArrayBuffer, ARRAY_BUFFER);
- var byteLength = toIndex(length);
- setInternalState$2(this, {
- bytes: arrayFill.call(new Array(byteLength), 0),
- byteLength: byteLength
- });
- if (!descriptors) this.byteLength = byteLength;
- };
-
- $DataView = function DataView(buffer, byteOffset, byteLength) {
- anInstance(this, $DataView, DATA_VIEW);
- anInstance(buffer, $ArrayBuffer, DATA_VIEW);
- var bufferLength = getInternalState$2(buffer).byteLength;
- var offset = toInteger(byteOffset);
- if (offset < 0 || offset > bufferLength) throw RangeError$1('Wrong offset');
- byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
- if (offset + byteLength > bufferLength) throw RangeError$1(WRONG_LENGTH);
- setInternalState$2(this, {
- buffer: buffer,
- byteLength: byteLength,
- byteOffset: offset
- });
-
- if (!descriptors) {
- this.buffer = buffer;
- this.byteLength = byteLength;
- this.byteOffset = offset;
- }
- };
-
- if (descriptors) {
- addGetter($ArrayBuffer, 'byteLength');
- addGetter($DataView, 'buffer');
- addGetter($DataView, 'byteLength');
- addGetter($DataView, 'byteOffset');
- }
-
- redefineAll($DataView[PROTOTYPE$2], {
- getInt8: function getInt8(byteOffset) {
- return get$1(this, 1, byteOffset)[0] << 24 >> 24;
- },
- getUint8: function getUint8(byteOffset) {
- return get$1(this, 1, byteOffset)[0];
- },
- getInt16: function getInt16(byteOffset
- /* , littleEndian */
- ) {
- var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
- return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
- },
- getUint16: function getUint16(byteOffset
- /* , littleEndian */
- ) {
- var bytes = get$1(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
- return bytes[1] << 8 | bytes[0];
- },
- getInt32: function getInt32(byteOffset
- /* , littleEndian */
- ) {
- return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
- },
- getUint32: function getUint32(byteOffset
- /* , littleEndian */
- ) {
- return unpackInt32(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
- },
- getFloat32: function getFloat32(byteOffset
- /* , littleEndian */
- ) {
- return unpackIEEE754(get$1(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
- },
- getFloat64: function getFloat64(byteOffset
- /* , littleEndian */
- ) {
- return unpackIEEE754(get$1(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
- },
- setInt8: function setInt8(byteOffset, value) {
- set$1(this, 1, byteOffset, packInt8, value);
- },
- setUint8: function setUint8(byteOffset, value) {
- set$1(this, 1, byteOffset, packInt8, value);
- },
- setInt16: function setInt16(byteOffset, value
- /* , littleEndian */
- ) {
- set$1(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setUint16: function setUint16(byteOffset, value
- /* , littleEndian */
- ) {
- set$1(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setInt32: function setInt32(byteOffset, value
- /* , littleEndian */
- ) {
- set$1(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setUint32: function setUint32(byteOffset, value
- /* , littleEndian */
- ) {
- set$1(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setFloat32: function setFloat32(byteOffset, value
- /* , littleEndian */
- ) {
- set$1(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
- },
- setFloat64: function setFloat64(byteOffset, value
- /* , littleEndian */
- ) {
- set$1(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
- }
- });
- } else {
- if (!fails(function () {
- NativeArrayBuffer(1);
- }) || !fails(function () {
- new NativeArrayBuffer(-1); // eslint-disable-line no-new
- }) || fails(function () {
- new NativeArrayBuffer(); // eslint-disable-line no-new
-
- new NativeArrayBuffer(1.5); // eslint-disable-line no-new
-
- new NativeArrayBuffer(NaN); // eslint-disable-line no-new
-
- return NativeArrayBuffer.name != ARRAY_BUFFER;
- })) {
- $ArrayBuffer = function ArrayBuffer(length) {
- anInstance(this, $ArrayBuffer);
- return new NativeArrayBuffer(toIndex(length));
- };
-
- var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE$2] = NativeArrayBuffer[PROTOTYPE$2];
-
- for (var keys$1 = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys$1.length > j;) {
- if (!((key = keys$1[j++]) in $ArrayBuffer)) {
- createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);
- }
- }
-
- ArrayBufferPrototype.constructor = $ArrayBuffer;
- } // WebKit bug - the same parent prototype for typed arrays and data view
-
-
- if (objectSetPrototypeOf && objectGetPrototypeOf($DataViewPrototype) !== ObjectPrototype$2) {
- objectSetPrototypeOf($DataViewPrototype, ObjectPrototype$2);
- } // iOS Safari 7.x bug
-
-
- var testView = new $DataView(new $ArrayBuffer(2));
- var nativeSetInt8 = $DataViewPrototype.setInt8;
- testView.setInt8(0, 2147483648);
- testView.setInt8(1, 2147483649);
- if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, {
- setInt8: function setInt8(byteOffset, value) {
- nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
- },
- setUint8: function setUint8(byteOffset, value) {
- nativeSetInt8.call(this, byteOffset, value << 24 >> 24);
- }
- }, {
- unsafe: true
- });
- }
-
- setToStringTag($ArrayBuffer, ARRAY_BUFFER);
- setToStringTag($DataView, DATA_VIEW);
- var arrayBuffer = {
- ArrayBuffer: $ArrayBuffer,
- DataView: $DataView
- };
-
- var ARRAY_BUFFER$1 = 'ArrayBuffer';
- var ArrayBuffer$1 = arrayBuffer[ARRAY_BUFFER$1];
- var NativeArrayBuffer$1 = global_1[ARRAY_BUFFER$1]; // `ArrayBuffer` constructor
- // https://tc39.github.io/ecma262/#sec-arraybuffer-constructor
-
- _export({
- global: true,
- forced: NativeArrayBuffer$1 !== ArrayBuffer$1
- }, {
- ArrayBuffer: ArrayBuffer$1
- });
- setSpecies(ARRAY_BUFFER$1);
-
- var defineProperty$5 = objectDefineProperty.f;
- var Int8Array$1 = global_1.Int8Array;
- var Int8ArrayPrototype = Int8Array$1 && Int8Array$1.prototype;
- var Uint8ClampedArray$1 = global_1.Uint8ClampedArray;
- var Uint8ClampedArrayPrototype = Uint8ClampedArray$1 && Uint8ClampedArray$1.prototype;
- var TypedArray = Int8Array$1 && objectGetPrototypeOf(Int8Array$1);
- var TypedArrayPrototype = Int8ArrayPrototype && objectGetPrototypeOf(Int8ArrayPrototype);
- var ObjectPrototype$3 = Object.prototype;
- var isPrototypeOf = ObjectPrototype$3.isPrototypeOf;
- var TO_STRING_TAG$3 = wellKnownSymbol('toStringTag');
- var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); // Fixing native typed arrays in Opera Presto crashes the browser, see #595
-
- var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferNative && !!objectSetPrototypeOf && classof(global_1.opera) !== 'Opera';
- var TYPED_ARRAY_TAG_REQIRED = false;
- var NAME;
- var TypedArrayConstructorsList = {
- Int8Array: 1,
- Uint8Array: 1,
- Uint8ClampedArray: 1,
- Int16Array: 2,
- Uint16Array: 2,
- Int32Array: 4,
- Uint32Array: 4,
- Float32Array: 4,
- Float64Array: 8
- };
-
- var isView = function isView(it) {
- var klass = classof(it);
- return klass === 'DataView' || has(TypedArrayConstructorsList, klass);
- };
-
- var isTypedArray = function isTypedArray(it) {
- return isObject(it) && has(TypedArrayConstructorsList, classof(it));
- };
-
- var aTypedArray = function aTypedArray(it) {
- if (isTypedArray(it)) return it;
- throw TypeError('Target is not a typed array');
- };
-
- var aTypedArrayConstructor = function aTypedArrayConstructor(C) {
- if (objectSetPrototypeOf) {
- if (isPrototypeOf.call(TypedArray, C)) return C;
- } else for (var ARRAY in TypedArrayConstructorsList) {
- if (has(TypedArrayConstructorsList, NAME)) {
- var TypedArrayConstructor = global_1[ARRAY];
-
- if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {
- return C;
- }
- }
- }
-
- throw TypeError('Target is not a typed array constructor');
- };
-
- var exportTypedArrayMethod = function exportTypedArrayMethod(KEY, property, forced) {
- if (!descriptors) return;
- if (forced) for (var ARRAY in TypedArrayConstructorsList) {
- var TypedArrayConstructor = global_1[ARRAY];
-
- if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {
- delete TypedArrayConstructor.prototype[KEY];
- }
- }
-
- if (!TypedArrayPrototype[KEY] || forced) {
- redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);
- }
- };
-
- var exportTypedArrayStaticMethod = function exportTypedArrayStaticMethod(KEY, property, forced) {
- var ARRAY, TypedArrayConstructor;
- if (!descriptors) return;
-
- if (objectSetPrototypeOf) {
- if (forced) for (ARRAY in TypedArrayConstructorsList) {
- TypedArrayConstructor = global_1[ARRAY];
-
- if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {
- delete TypedArrayConstructor[KEY];
- }
- }
-
- if (!TypedArray[KEY] || forced) {
- // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
- try {
- return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array$1[KEY] || property);
- } catch (error) {
- /* empty */
- }
- } else return;
- }
-
- for (ARRAY in TypedArrayConstructorsList) {
- TypedArrayConstructor = global_1[ARRAY];
-
- if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
- redefine(TypedArrayConstructor, KEY, property);
- }
- }
- };
-
- for (NAME in TypedArrayConstructorsList) {
- if (!global_1[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false;
- } // WebKit bug - typed arrays constructors prototype is Object.prototype
-
-
- if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
- // eslint-disable-next-line no-shadow
- TypedArray = function TypedArray() {
- throw TypeError('Incorrect invocation');
- };
-
- if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
- if (global_1[NAME]) objectSetPrototypeOf(global_1[NAME], TypedArray);
- }
- }
-
- if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype$3) {
- TypedArrayPrototype = TypedArray.prototype;
- if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
- if (global_1[NAME]) objectSetPrototypeOf(global_1[NAME].prototype, TypedArrayPrototype);
- }
- } // WebKit bug - one more object in Uint8ClampedArray prototype chain
-
-
- if (NATIVE_ARRAY_BUFFER_VIEWS && objectGetPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
- objectSetPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
- }
-
- if (descriptors && !has(TypedArrayPrototype, TO_STRING_TAG$3)) {
- TYPED_ARRAY_TAG_REQIRED = true;
- defineProperty$5(TypedArrayPrototype, TO_STRING_TAG$3, {
- get: function get() {
- return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
- }
- });
-
- for (NAME in TypedArrayConstructorsList) {
- if (global_1[NAME]) {
- createNonEnumerableProperty(global_1[NAME], TYPED_ARRAY_TAG, NAME);
- }
- }
- }
-
- var arrayBufferViewCore = {
- NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
- TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
- aTypedArray: aTypedArray,
- aTypedArrayConstructor: aTypedArrayConstructor,
- exportTypedArrayMethod: exportTypedArrayMethod,
- exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
- isView: isView,
- isTypedArray: isTypedArray,
- TypedArray: TypedArray,
- TypedArrayPrototype: TypedArrayPrototype
- };
-
- var NATIVE_ARRAY_BUFFER_VIEWS$1 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; // `ArrayBuffer.isView` method
- // https://tc39.github.io/ecma262/#sec-arraybuffer.isview
-
- _export({
- target: 'ArrayBuffer',
- stat: true,
- forced: !NATIVE_ARRAY_BUFFER_VIEWS$1
- }, {
- isView: arrayBufferViewCore.isView
- });
-
- var SPECIES$4 = wellKnownSymbol('species'); // `SpeciesConstructor` abstract operation
- // https://tc39.github.io/ecma262/#sec-speciesconstructor
-
- var speciesConstructor = function speciesConstructor(O, defaultConstructor) {
- var C = anObject(O).constructor;
- var S;
- return C === undefined || (S = anObject(C)[SPECIES$4]) == undefined ? defaultConstructor : aFunction$1(S);
- };
-
- var ArrayBuffer$2 = arrayBuffer.ArrayBuffer;
- var DataView$1 = arrayBuffer.DataView;
- var nativeArrayBufferSlice = ArrayBuffer$2.prototype.slice;
- var INCORRECT_SLICE = fails(function () {
- return !new ArrayBuffer$2(2).slice(1, undefined).byteLength;
- }); // `ArrayBuffer.prototype.slice` method
- // https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice
-
- _export({
- target: 'ArrayBuffer',
- proto: true,
- unsafe: true,
- forced: INCORRECT_SLICE
- }, {
- slice: function slice(start, end) {
- if (nativeArrayBufferSlice !== undefined && end === undefined) {
- return nativeArrayBufferSlice.call(anObject(this), start); // FF fix
- }
-
- var length = anObject(this).byteLength;
- var first = toAbsoluteIndex(start, length);
- var fin = toAbsoluteIndex(end === undefined ? length : end, length);
- var result = new (speciesConstructor(this, ArrayBuffer$2))(toLength(fin - first));
- var viewSource = new DataView$1(this);
- var viewTarget = new DataView$1(result);
- var index = 0;
-
- while (first < fin) {
- viewTarget.setUint8(index++, viewSource.getUint8(first++));
- }
-
- return result;
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-dataview-constructor
-
- _export({
- global: true,
- forced: !arrayBufferNative
- }, {
- DataView: arrayBuffer.DataView
- });
-
- // https://tc39.github.io/ecma262/#sec-date.now
-
- _export({
- target: 'Date',
- stat: true
- }, {
- now: function now() {
- return new Date().getTime();
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.repeat
-
-
- var stringRepeat = ''.repeat || function repeat(count) {
- var str = String(requireObjectCoercible(this));
- var result = '';
- var n = toInteger(count);
- if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
-
- for (; n > 0; (n >>>= 1) && (str += str)) {
- if (n & 1) result += str;
- }
-
- return result;
- };
-
- var ceil$1 = Math.ceil; // `String.prototype.{ padStart, padEnd }` methods implementation
-
- var createMethod$3 = function createMethod(IS_END) {
- return function ($this, maxLength, fillString) {
- var S = String(requireObjectCoercible($this));
- var stringLength = S.length;
- var fillStr = fillString === undefined ? ' ' : String(fillString);
- var intMaxLength = toLength(maxLength);
- var fillLen, stringFiller;
- if (intMaxLength <= stringLength || fillStr == '') return S;
- fillLen = intMaxLength - stringLength;
- stringFiller = stringRepeat.call(fillStr, ceil$1(fillLen / fillStr.length));
- if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);
- return IS_END ? S + stringFiller : stringFiller + S;
- };
- };
-
- var stringPad = {
- // `String.prototype.padStart` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.padstart
- start: createMethod$3(false),
- // `String.prototype.padEnd` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.padend
- end: createMethod$3(true)
- };
-
- var padStart = stringPad.start;
- var abs$1 = Math.abs;
- var DatePrototype = Date.prototype;
- var getTime = DatePrototype.getTime;
- var nativeDateToISOString = DatePrototype.toISOString; // `Date.prototype.toISOString` method implementation
- // https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
- // PhantomJS / old WebKit fails here:
-
- var dateToIsoString = fails(function () {
- return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';
- }) || !fails(function () {
- nativeDateToISOString.call(new Date(NaN));
- }) ? function toISOString() {
- if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');
- var date = this;
- var year = date.getUTCFullYear();
- var milliseconds = date.getUTCMilliseconds();
- var sign = year < 0 ? '-' : year > 9999 ? '+' : '';
- return sign + padStart(abs$1(year), sign ? 6 : 4, 0) + '-' + padStart(date.getUTCMonth() + 1, 2, 0) + '-' + padStart(date.getUTCDate(), 2, 0) + 'T' + padStart(date.getUTCHours(), 2, 0) + ':' + padStart(date.getUTCMinutes(), 2, 0) + ':' + padStart(date.getUTCSeconds(), 2, 0) + '.' + padStart(milliseconds, 3, 0) + 'Z';
- } : nativeDateToISOString;
-
- // https://tc39.github.io/ecma262/#sec-date.prototype.toisostring
- // PhantomJS / old WebKit has a broken implementations
-
- _export({
- target: 'Date',
- proto: true,
- forced: Date.prototype.toISOString !== dateToIsoString
- }, {
- toISOString: dateToIsoString
- });
-
- var FORCED$3 = fails(function () {
- return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({
- toISOString: function toISOString() {
- return 1;
- }
- }) !== 1;
- }); // `Date.prototype.toJSON` method
- // https://tc39.github.io/ecma262/#sec-date.prototype.tojson
-
- _export({
- target: 'Date',
- proto: true,
- forced: FORCED$3
- }, {
- // eslint-disable-next-line no-unused-vars
- toJSON: function toJSON(key) {
- var O = toObject(this);
- var pv = toPrimitive(O);
- return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();
- }
- });
-
- var dateToPrimitive = function dateToPrimitive(hint) {
- if (hint !== 'string' && hint !== 'number' && hint !== 'default') {
- throw TypeError('Incorrect hint');
- }
-
- return toPrimitive(anObject(this), hint !== 'number');
- };
-
- var TO_PRIMITIVE$1 = wellKnownSymbol('toPrimitive');
- var DatePrototype$1 = Date.prototype; // `Date.prototype[@@toPrimitive]` method
- // https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive
-
- if (!(TO_PRIMITIVE$1 in DatePrototype$1)) {
- createNonEnumerableProperty(DatePrototype$1, TO_PRIMITIVE$1, dateToPrimitive);
- }
-
- var DatePrototype$2 = Date.prototype;
- var INVALID_DATE = 'Invalid Date';
- var TO_STRING = 'toString';
- var nativeDateToString = DatePrototype$2[TO_STRING];
- var getTime$1 = DatePrototype$2.getTime; // `Date.prototype.toString` method
- // https://tc39.github.io/ecma262/#sec-date.prototype.tostring
-
- if (new Date(NaN) + '' != INVALID_DATE) {
- redefine(DatePrototype$2, TO_STRING, function toString() {
- var value = getTime$1.call(this); // eslint-disable-next-line no-self-compare
-
- return value === value ? nativeDateToString.call(this) : INVALID_DATE;
- });
- }
-
- var slice = [].slice;
- var factories = {};
-
- var construct = function construct(C, argsLength, args) {
- if (!(argsLength in factories)) {
- for (var list = [], i = 0; i < argsLength; i++) {
- list[i] = 'a[' + i + ']';
- } // eslint-disable-next-line no-new-func
-
-
- factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
- }
-
- return factories[argsLength](C, args);
- }; // `Function.prototype.bind` method implementation
- // https://tc39.github.io/ecma262/#sec-function.prototype.bind
-
-
- var functionBind = Function.bind || function bind(that
- /* , ...args */
- ) {
- var fn = aFunction$1(this);
- var partArgs = slice.call(arguments, 1);
-
- var boundFunction = function bound()
- /* args... */
- {
- var args = partArgs.concat(slice.call(arguments));
- return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
- };
-
- if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
- return boundFunction;
- };
-
- // https://tc39.github.io/ecma262/#sec-function.prototype.bind
-
- _export({
- target: 'Function',
- proto: true
- }, {
- bind: functionBind
- });
-
- var HAS_INSTANCE = wellKnownSymbol('hasInstance');
- var FunctionPrototype = Function.prototype; // `Function.prototype[@@hasInstance]` method
- // https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance
-
- if (!(HAS_INSTANCE in FunctionPrototype)) {
- objectDefineProperty.f(FunctionPrototype, HAS_INSTANCE, {
- value: function value(O) {
- if (typeof this != 'function' || !isObject(O)) return false;
- if (!isObject(this.prototype)) return O instanceof this; // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:
-
- while (O = objectGetPrototypeOf(O)) {
- if (this.prototype === O) return true;
- }
-
- return false;
- }
- });
- }
-
- var defineProperty$6 = objectDefineProperty.f;
- var FunctionPrototype$1 = Function.prototype;
- var FunctionPrototypeToString = FunctionPrototype$1.toString;
- var nameRE = /^\s*function ([^ (]*)/;
- var NAME$1 = 'name'; // Function instances `.name` property
- // https://tc39.github.io/ecma262/#sec-function-instances-name
-
- if (descriptors && !(NAME$1 in FunctionPrototype$1)) {
- defineProperty$6(FunctionPrototype$1, NAME$1, {
- configurable: true,
- get: function get() {
- try {
- return FunctionPrototypeToString.call(this).match(nameRE)[1];
- } catch (error) {
- return '';
- }
- }
- });
- }
-
- // https://github.com/tc39/proposal-global
-
- _export({
- global: true
- }, {
- globalThis: global_1
- });
-
- var $stringify$1 = getBuiltIn('JSON', 'stringify');
- var re = /[\uD800-\uDFFF]/g;
- var low = /^[\uD800-\uDBFF]$/;
- var hi = /^[\uDC00-\uDFFF]$/;
-
- var fix = function fix(match, offset, string) {
- var prev = string.charAt(offset - 1);
- var next = string.charAt(offset + 1);
-
- if (low.test(match) && !hi.test(next) || hi.test(match) && !low.test(prev)) {
- return "\\u" + match.charCodeAt(0).toString(16);
- }
-
- return match;
- };
-
- var FORCED$4 = fails(function () {
- return $stringify$1("\uDF06\uD834") !== "\"\\udf06\\ud834\"" || $stringify$1("\uDEAD") !== "\"\\udead\"";
- });
-
- if ($stringify$1) {
- // https://github.com/tc39/proposal-well-formed-stringify
- _export({
- target: 'JSON',
- stat: true,
- forced: FORCED$4
- }, {
- // eslint-disable-next-line no-unused-vars
- stringify: function stringify(it, replacer, space) {
- var result = $stringify$1.apply(null, arguments);
- return typeof result == 'string' ? result.replace(re, fix) : result;
- }
- });
- }
-
- // https://tc39.github.io/ecma262/#sec-json-@@tostringtag
-
- setToStringTag(global_1.JSON, 'JSON', true);
-
- var freezing = !fails(function () {
- return Object.isExtensible(Object.preventExtensions({}));
- });
-
- var internalMetadata = createCommonjsModule(function (module) {
- var defineProperty = objectDefineProperty.f;
- var METADATA = uid('meta');
- var id = 0;
-
- var isExtensible = Object.isExtensible || function () {
- return true;
- };
-
- var setMetadata = function setMetadata(it) {
- defineProperty(it, METADATA, {
- value: {
- objectID: 'O' + ++id,
- // object ID
- weakData: {} // weak collections IDs
-
- }
- });
- };
-
- var fastKey = function fastKey(it, create) {
- // return a primitive with prefix
- if (!isObject(it)) return _typeof(it) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
-
- if (!has(it, METADATA)) {
- // can't set metadata to uncaught frozen object
- if (!isExtensible(it)) return 'F'; // not necessary to add metadata
-
- if (!create) return 'E'; // add missing metadata
-
- setMetadata(it); // return object ID
- }
-
- return it[METADATA].objectID;
- };
-
- var getWeakData = function getWeakData(it, create) {
- if (!has(it, METADATA)) {
- // can't set metadata to uncaught frozen object
- if (!isExtensible(it)) return true; // not necessary to add metadata
-
- if (!create) return false; // add missing metadata
-
- setMetadata(it); // return the store of weak collections IDs
- }
-
- return it[METADATA].weakData;
- }; // add metadata on freeze-family methods calling
-
-
- var onFreeze = function onFreeze(it) {
- if (freezing && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it);
- return it;
- };
-
- var meta = module.exports = {
- REQUIRED: false,
- fastKey: fastKey,
- getWeakData: getWeakData,
- onFreeze: onFreeze
- };
- hiddenKeys[METADATA] = true;
- });
-
- var iterate_1 = createCommonjsModule(function (module) {
- var Result = function Result(stopped, result) {
- this.stopped = stopped;
- this.result = result;
- };
-
- var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
- var boundFunction = functionBindContext(fn, that, AS_ENTRIES ? 2 : 1);
- var iterator, iterFn, index, length, result, next, step;
-
- if (IS_ITERATOR) {
- iterator = iterable;
- } else {
- iterFn = getIteratorMethod(iterable);
- if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); // optimisation for array iterators
-
- if (isArrayIteratorMethod(iterFn)) {
- for (index = 0, length = toLength(iterable.length); length > index; index++) {
- result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);
- if (result && result instanceof Result) return result;
- }
-
- return new Result(false);
- }
-
- iterator = iterFn.call(iterable);
- }
-
- next = iterator.next;
-
- while (!(step = next.call(iterator)).done) {
- result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
- if (_typeof(result) == 'object' && result && result instanceof Result) return result;
- }
-
- return new Result(false);
- };
-
- iterate.stop = function (result) {
- return new Result(true, result);
- };
- });
-
- var inheritIfRequired = function inheritIfRequired($this, dummy, Wrapper) {
- var NewTarget, NewTargetPrototype;
- if ( // it can work only with native `setPrototypeOf`
- objectSetPrototypeOf && // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
- typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype) objectSetPrototypeOf($this, NewTargetPrototype);
- return $this;
- };
-
- var collection = function collection(CONSTRUCTOR_NAME, wrapper, common) {
- var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
- var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
- var ADDER = IS_MAP ? 'set' : 'add';
- var NativeConstructor = global_1[CONSTRUCTOR_NAME];
- var NativePrototype = NativeConstructor && NativeConstructor.prototype;
- var Constructor = NativeConstructor;
- var exported = {};
-
- var fixMethod = function fixMethod(KEY) {
- var nativeMethod = NativePrototype[KEY];
- redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
- nativeMethod.call(this, value === 0 ? 0 : value);
- return this;
- } : KEY == 'delete' ? function (key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'get' ? function get(key) {
- return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
- } : KEY == 'has' ? function has(key) {
- return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
- } : function set(key, value) {
- nativeMethod.call(this, key === 0 ? 0 : key, value);
- return this;
- });
- }; // eslint-disable-next-line max-len
-
-
- if (isForced_1(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
- new NativeConstructor().entries().next();
- })))) {
- // create collection constructor
- Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
- internalMetadata.REQUIRED = true;
- } else if (isForced_1(CONSTRUCTOR_NAME, true)) {
- var instance = new Constructor(); // early implementations not supports chaining
-
- var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false
-
- var THROWS_ON_PRIMITIVES = fails(function () {
- instance.has(1);
- }); // most early implementations doesn't supports iterables, most modern - not close it correctly
- // eslint-disable-next-line no-new
-
- var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
- new NativeConstructor(iterable);
- }); // for early implementations -0 and +0 not the same
-
- var BUGGY_ZERO = !IS_WEAK && fails(function () {
- // V8 ~ Chromium 42- fails only with 5+ elements
- var $instance = new NativeConstructor();
- var index = 5;
-
- while (index--) {
- $instance[ADDER](index, index);
- }
-
- return !$instance.has(-0);
- });
-
- if (!ACCEPT_ITERABLES) {
- Constructor = wrapper(function (dummy, iterable) {
- anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
- var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
- if (iterable != undefined) iterate_1(iterable, that[ADDER], that, IS_MAP);
- return that;
- });
- Constructor.prototype = NativePrototype;
- NativePrototype.constructor = Constructor;
- }
-
- if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
- fixMethod('delete');
- fixMethod('has');
- IS_MAP && fixMethod('get');
- }
-
- if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); // weak collections should not contains .clear method
-
- if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;
- }
-
- exported[CONSTRUCTOR_NAME] = Constructor;
- _export({
- global: true,
- forced: Constructor != NativeConstructor
- }, exported);
- setToStringTag(Constructor, CONSTRUCTOR_NAME);
- if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
- return Constructor;
- };
-
- var defineProperty$7 = objectDefineProperty.f;
- var fastKey = internalMetadata.fastKey;
- var setInternalState$3 = internalState.set;
- var internalStateGetterFor = internalState.getterFor;
- var collectionStrong = {
- getConstructor: function getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState$3(that, {
- type: CONSTRUCTOR_NAME,
- index: objectCreate(null),
- first: undefined,
- last: undefined,
- size: 0
- });
- if (!descriptors) that.size = 0;
- if (iterable != undefined) iterate_1(iterable, that[ADDER], that, IS_MAP);
- });
- var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
-
- var define = function define(that, key, value) {
- var state = getInternalState(that);
- var entry = getEntry(that, key);
- var previous, index; // change existing entry
-
- if (entry) {
- entry.value = value; // create new entry
- } else {
- state.last = entry = {
- index: index = fastKey(key, true),
- key: key,
- value: value,
- previous: previous = state.last,
- next: undefined,
- removed: false
- };
- if (!state.first) state.first = entry;
- if (previous) previous.next = entry;
- if (descriptors) state.size++;else that.size++; // add to index
-
- if (index !== 'F') state.index[index] = entry;
- }
-
- return that;
- };
-
- var getEntry = function getEntry(that, key) {
- var state = getInternalState(that); // fast case
-
- var index = fastKey(key);
- var entry;
- if (index !== 'F') return state.index[index]; // frozen object case
-
- for (entry = state.first; entry; entry = entry.next) {
- if (entry.key == key) return entry;
- }
- };
-
- redefineAll(C.prototype, {
- // 23.1.3.1 Map.prototype.clear()
- // 23.2.3.2 Set.prototype.clear()
- clear: function clear() {
- var that = this;
- var state = getInternalState(that);
- var data = state.index;
- var entry = state.first;
-
- while (entry) {
- entry.removed = true;
- if (entry.previous) entry.previous = entry.previous.next = undefined;
- delete data[entry.index];
- entry = entry.next;
- }
-
- state.first = state.last = undefined;
- if (descriptors) state.size = 0;else that.size = 0;
- },
- // 23.1.3.3 Map.prototype.delete(key)
- // 23.2.3.4 Set.prototype.delete(value)
- 'delete': function _delete(key) {
- var that = this;
- var state = getInternalState(that);
- var entry = getEntry(that, key);
-
- if (entry) {
- var next = entry.next;
- var prev = entry.previous;
- delete state.index[entry.index];
- entry.removed = true;
- if (prev) prev.next = next;
- if (next) next.previous = prev;
- if (state.first == entry) state.first = next;
- if (state.last == entry) state.last = prev;
- if (descriptors) state.size--;else that.size--;
- }
-
- return !!entry;
- },
- // 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 state = getInternalState(this);
- var boundFunction = functionBindContext(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
- var entry;
-
- while (entry = entry ? entry.next : state.first) {
- boundFunction(entry.value, entry.key, this); // revert to the last existing entry
-
- while (entry && entry.removed) {
- entry = entry.previous;
- }
- }
- },
- // 23.1.3.7 Map.prototype.has(key)
- // 23.2.3.7 Set.prototype.has(value)
- has: function has(key) {
- return !!getEntry(this, key);
- }
- });
- redefineAll(C.prototype, IS_MAP ? {
- // 23.1.3.6 Map.prototype.get(key)
- get: function get(key) {
- var entry = getEntry(this, key);
- return entry && entry.value;
- },
- // 23.1.3.9 Map.prototype.set(key, value)
- set: function set(key, value) {
- return define(this, key === 0 ? 0 : key, value);
- }
- } : {
- // 23.2.3.1 Set.prototype.add(value)
- add: function add(value) {
- return define(this, value = value === 0 ? 0 : value, value);
- }
- });
- if (descriptors) defineProperty$7(C.prototype, 'size', {
- get: function get() {
- return getInternalState(this).size;
- }
- });
- return C;
- },
- setStrong: function setStrong(C, CONSTRUCTOR_NAME, IS_MAP) {
- var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
- var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
- var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); // 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
-
- defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
- setInternalState$3(this, {
- type: ITERATOR_NAME,
- target: iterated,
- state: getInternalCollectionState(iterated),
- kind: kind,
- last: undefined
- });
- }, function () {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var entry = state.last; // revert to the last existing entry
-
- while (entry && entry.removed) {
- entry = entry.previous;
- } // get next entry
-
-
- if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
- // or finish the iteration
- state.target = undefined;
- return {
- value: undefined,
- done: true
- };
- } // return step by kind
-
-
- if (kind == 'keys') return {
- value: entry.key,
- done: false
- };
- if (kind == 'values') return {
- value: entry.value,
- done: false
- };
- return {
- value: [entry.key, entry.value],
- done: false
- };
- }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); // add [@@species], 23.1.2.2, 23.2.2.2
-
- setSpecies(CONSTRUCTOR_NAME);
- }
- };
-
- // https://tc39.github.io/ecma262/#sec-map-objects
-
-
- var es_map = collection('Map', function (init) {
- return function Map() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
- }, collectionStrong);
-
- var log$1 = Math.log; // `Math.log1p` method implementation
- // https://tc39.github.io/ecma262/#sec-math.log1p
-
- var mathLog1p = Math.log1p || function log1p(x) {
- return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log$1(1 + x);
- };
-
- var nativeAcosh = Math.acosh;
- var log$2 = Math.log;
- var sqrt = Math.sqrt;
- var LN2$1 = Math.LN2;
- var FORCED$5 = !nativeAcosh // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
- || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 // Tor Browser bug: Math.acosh(Infinity) -> NaN
- || nativeAcosh(Infinity) != Infinity; // `Math.acosh` method
- // https://tc39.github.io/ecma262/#sec-math.acosh
-
- _export({
- target: 'Math',
- stat: true,
- forced: FORCED$5
- }, {
- acosh: function acosh(x) {
- return (x = +x) < 1 ? NaN : x > 94906265.62425156 ? log$2(x) + LN2$1 : mathLog1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
- }
- });
-
- var nativeAsinh = Math.asinh;
- var log$3 = Math.log;
- var sqrt$1 = Math.sqrt;
-
- function asinh(x) {
- return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log$3(x + sqrt$1(x * x + 1));
- } // `Math.asinh` method
- // https://tc39.github.io/ecma262/#sec-math.asinh
- // Tor Browser bug: Math.asinh(0) -> -0
-
-
- _export({
- target: 'Math',
- stat: true,
- forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0)
- }, {
- asinh: asinh
- });
-
- var nativeAtanh = Math.atanh;
- var log$4 = Math.log; // `Math.atanh` method
- // https://tc39.github.io/ecma262/#sec-math.atanh
- // Tor Browser bug: Math.atanh(-0) -> 0
-
- _export({
- target: 'Math',
- stat: true,
- forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0)
- }, {
- atanh: function atanh(x) {
- return (x = +x) == 0 ? x : log$4((1 + x) / (1 - x)) / 2;
- }
- });
-
- // `Math.sign` method implementation
- // https://tc39.github.io/ecma262/#sec-math.sign
- var mathSign = Math.sign || function sign(x) {
- // eslint-disable-next-line no-self-compare
- return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;
- };
-
- var abs$2 = Math.abs;
- var pow$1 = Math.pow; // `Math.cbrt` method
- // https://tc39.github.io/ecma262/#sec-math.cbrt
-
- _export({
- target: 'Math',
- stat: true
- }, {
- cbrt: function cbrt(x) {
- return mathSign(x = +x) * pow$1(abs$2(x), 1 / 3);
- }
- });
-
- var floor$2 = Math.floor;
- var log$5 = Math.log;
- var LOG2E = Math.LOG2E; // `Math.clz32` method
- // https://tc39.github.io/ecma262/#sec-math.clz32
-
- _export({
- target: 'Math',
- stat: true
- }, {
- clz32: function clz32(x) {
- return (x >>>= 0) ? 31 - floor$2(log$5(x + 0.5) * LOG2E) : 32;
- }
- });
-
- var nativeExpm1 = Math.expm1;
- var exp = Math.exp; // `Math.expm1` method implementation
- // https://tc39.github.io/ecma262/#sec-math.expm1
-
- var mathExpm1 = !nativeExpm1 // Old FF bug
- || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 // Tor Browser bug
- || nativeExpm1(-2e-17) != -2e-17 ? function expm1(x) {
- return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
- } : nativeExpm1;
-
- var nativeCosh = Math.cosh;
- var abs$3 = Math.abs;
- var E = Math.E; // `Math.cosh` method
- // https://tc39.github.io/ecma262/#sec-math.cosh
-
- _export({
- target: 'Math',
- stat: true,
- forced: !nativeCosh || nativeCosh(710) === Infinity
- }, {
- cosh: function cosh(x) {
- var t = mathExpm1(abs$3(x) - 1) + 1;
- return (t + 1 / (t * E * E)) * (E / 2);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-math.expm1
-
- _export({
- target: 'Math',
- stat: true,
- forced: mathExpm1 != Math.expm1
- }, {
- expm1: mathExpm1
- });
-
- var abs$4 = Math.abs;
- var pow$2 = Math.pow;
- var EPSILON = pow$2(2, -52);
- var EPSILON32 = pow$2(2, -23);
- var MAX32 = pow$2(2, 127) * (2 - EPSILON32);
- var MIN32 = pow$2(2, -126);
-
- var roundTiesToEven = function roundTiesToEven(n) {
- return n + 1 / EPSILON - 1 / EPSILON;
- }; // `Math.fround` method implementation
- // https://tc39.github.io/ecma262/#sec-math.fround
-
-
- var mathFround = Math.fround || function fround(x) {
- var $abs = abs$4(x);
- var $sign = mathSign(x);
- var a, result;
- if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;
- a = (1 + EPSILON32 / EPSILON) * $abs;
- result = a - (a - $abs); // eslint-disable-next-line no-self-compare
-
- if (result > MAX32 || result != result) return $sign * Infinity;
- return $sign * result;
- };
-
- // https://tc39.github.io/ecma262/#sec-math.fround
-
- _export({
- target: 'Math',
- stat: true
- }, {
- fround: mathFround
- });
-
- var $hypot = Math.hypot;
- var abs$5 = Math.abs;
- var sqrt$2 = Math.sqrt; // Chrome 77 bug
- // https://bugs.chromium.org/p/v8/issues/detail?id=9546
-
- var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; // `Math.hypot` method
- // https://tc39.github.io/ecma262/#sec-math.hypot
-
- _export({
- target: 'Math',
- stat: true,
- forced: BUGGY
- }, {
- hypot: function hypot(value1, value2) {
- // eslint-disable-line no-unused-vars
- var sum = 0;
- var i = 0;
- var aLen = arguments.length;
- var larg = 0;
- var arg, div;
-
- while (i < aLen) {
- arg = abs$5(arguments[i++]);
-
- if (larg < arg) {
- div = larg / arg;
- sum = sum * div * div + 1;
- larg = arg;
- } else if (arg > 0) {
- div = arg / larg;
- sum += div * div;
- } else sum += arg;
- }
-
- return larg === Infinity ? Infinity : larg * sqrt$2(sum);
- }
- });
-
- var nativeImul = Math.imul;
- var FORCED$6 = fails(function () {
- return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2;
- }); // `Math.imul` method
- // https://tc39.github.io/ecma262/#sec-math.imul
- // some WebKit versions fails with big numbers, some has wrong arity
-
- _export({
- target: 'Math',
- stat: true,
- forced: FORCED$6
- }, {
- imul: function imul(x, y) {
- var UINT16 = 0xFFFF;
- var xn = +x;
- var yn = +y;
- var xl = UINT16 & xn;
- var yl = UINT16 & yn;
- return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);
- }
- });
-
- var log$6 = Math.log;
- var LOG10E = Math.LOG10E; // `Math.log10` method
- // https://tc39.github.io/ecma262/#sec-math.log10
-
- _export({
- target: 'Math',
- stat: true
- }, {
- log10: function log10(x) {
- return log$6(x) * LOG10E;
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-math.log1p
-
- _export({
- target: 'Math',
- stat: true
- }, {
- log1p: mathLog1p
- });
-
- var log$7 = Math.log;
- var LN2$2 = Math.LN2; // `Math.log2` method
- // https://tc39.github.io/ecma262/#sec-math.log2
-
- _export({
- target: 'Math',
- stat: true
- }, {
- log2: function log2(x) {
- return log$7(x) / LN2$2;
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-math.sign
-
- _export({
- target: 'Math',
- stat: true
- }, {
- sign: mathSign
- });
-
- var abs$6 = Math.abs;
- var exp$1 = Math.exp;
- var E$1 = Math.E;
- var FORCED$7 = fails(function () {
- return Math.sinh(-2e-17) != -2e-17;
- }); // `Math.sinh` method
- // https://tc39.github.io/ecma262/#sec-math.sinh
- // V8 near Chromium 38 has a problem with very small numbers
-
- _export({
- target: 'Math',
- stat: true,
- forced: FORCED$7
- }, {
- sinh: function sinh(x) {
- return abs$6(x = +x) < 1 ? (mathExpm1(x) - mathExpm1(-x)) / 2 : (exp$1(x - 1) - exp$1(-x - 1)) * (E$1 / 2);
- }
- });
-
- var exp$2 = Math.exp; // `Math.tanh` method
- // https://tc39.github.io/ecma262/#sec-math.tanh
-
- _export({
- target: 'Math',
- stat: true
- }, {
- tanh: function tanh(x) {
- var a = mathExpm1(x = +x);
- var b = mathExpm1(-x);
- return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp$2(x) + exp$2(-x));
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-math-@@tostringtag
-
- setToStringTag(Math, 'Math', true);
-
- var ceil$2 = Math.ceil;
- var floor$3 = Math.floor; // `Math.trunc` method
- // https://tc39.github.io/ecma262/#sec-math.trunc
-
- _export({
- target: 'Math',
- stat: true
- }, {
- trunc: function trunc(it) {
- return (it > 0 ? floor$3 : ceil$2)(it);
- }
- });
-
- // a string of all valid unicode whitespaces
- // eslint-disable-next-line max-len
- var whitespaces = "\t\n\x0B\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF";
-
- var whitespace = '[' + whitespaces + ']';
- var ltrim = RegExp('^' + whitespace + whitespace + '*');
- var rtrim = RegExp(whitespace + whitespace + '*$'); // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
-
- var createMethod$4 = function createMethod(TYPE) {
- return function ($this) {
- var string = String(requireObjectCoercible($this));
- if (TYPE & 1) string = string.replace(ltrim, '');
- if (TYPE & 2) string = string.replace(rtrim, '');
- return string;
- };
- };
-
- var stringTrim = {
- // `String.prototype.{ trimLeft, trimStart }` methods
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart
- start: createMethod$4(1),
- // `String.prototype.{ trimRight, trimEnd }` methods
- // https://tc39.github.io/ecma262/#sec-string.prototype.trimend
- end: createMethod$4(2),
- // `String.prototype.trim` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.trim
- trim: createMethod$4(3)
- };
-
- var getOwnPropertyNames$1 = objectGetOwnPropertyNames.f;
- var getOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
- var defineProperty$8 = objectDefineProperty.f;
- var trim = stringTrim.trim;
- var NUMBER = 'Number';
- var NativeNumber = global_1[NUMBER];
- var NumberPrototype = NativeNumber.prototype; // Opera ~12 has broken Object#toString
-
- var BROKEN_CLASSOF = classofRaw(objectCreate(NumberPrototype)) == NUMBER; // `ToNumber` abstract operation
- // https://tc39.github.io/ecma262/#sec-tonumber
-
- var toNumber = function toNumber(argument) {
- var it = toPrimitive(argument, false);
- var first, third, radix, maxCode, digits, length, index, code;
-
- if (typeof it == 'string' && it.length > 2) {
- it = trim(it);
- first = it.charCodeAt(0);
-
- 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 of /^0b[01]+$/i
-
- case 79:
- case 111:
- radix = 8;
- maxCode = 55;
- break;
- // fast equal of /^0o[0-7]+$/i
-
- default:
- return +it;
- }
-
- digits = it.slice(2);
- length = digits.length;
-
- for (index = 0; index < length; index++) {
- code = digits.charCodeAt(index); // 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;
- }; // `Number` constructor
- // https://tc39.github.io/ecma262/#sec-number-constructor
-
-
- if (isForced_1(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
- var NumberWrapper = function Number(value) {
- var it = arguments.length < 1 ? 0 : value;
- var dummy = this;
- return dummy instanceof NumberWrapper // check on 1..constructor(foo) case
- && (BROKEN_CLASSOF ? fails(function () {
- NumberPrototype.valueOf.call(dummy);
- }) : classofRaw(dummy) != NUMBER) ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);
- };
-
- for (var keys$2 = descriptors ? getOwnPropertyNames$1(NativeNumber) : ( // ES3:
- 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + // ES2015 (in case, if modules with ES2015 Number statics required before):
- 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger').split(','), j$1 = 0, key$1; keys$2.length > j$1; j$1++) {
- if (has(NativeNumber, key$1 = keys$2[j$1]) && !has(NumberWrapper, key$1)) {
- defineProperty$8(NumberWrapper, key$1, getOwnPropertyDescriptor$2(NativeNumber, key$1));
- }
- }
-
- NumberWrapper.prototype = NumberPrototype;
- NumberPrototype.constructor = NumberWrapper;
- redefine(global_1, NUMBER, NumberWrapper);
- }
-
- // https://tc39.github.io/ecma262/#sec-number.epsilon
-
- _export({
- target: 'Number',
- stat: true
- }, {
- EPSILON: Math.pow(2, -52)
- });
-
- var globalIsFinite = global_1.isFinite; // `Number.isFinite` method
- // https://tc39.github.io/ecma262/#sec-number.isfinite
-
- var numberIsFinite = Number.isFinite || function isFinite(it) {
- return typeof it == 'number' && globalIsFinite(it);
- };
-
- // https://tc39.github.io/ecma262/#sec-number.isfinite
-
- _export({
- target: 'Number',
- stat: true
- }, {
- isFinite: numberIsFinite
- });
-
- var floor$4 = Math.floor; // `Number.isInteger` method implementation
- // https://tc39.github.io/ecma262/#sec-number.isinteger
-
- var isInteger = function isInteger(it) {
- return !isObject(it) && isFinite(it) && floor$4(it) === it;
- };
-
- // https://tc39.github.io/ecma262/#sec-number.isinteger
-
- _export({
- target: 'Number',
- stat: true
- }, {
- isInteger: isInteger
- });
-
- // https://tc39.github.io/ecma262/#sec-number.isnan
-
- _export({
- target: 'Number',
- stat: true
- }, {
- isNaN: function isNaN(number) {
- // eslint-disable-next-line no-self-compare
- return number != number;
- }
- });
-
- var abs$7 = Math.abs; // `Number.isSafeInteger` method
- // https://tc39.github.io/ecma262/#sec-number.issafeinteger
-
- _export({
- target: 'Number',
- stat: true
- }, {
- isSafeInteger: function isSafeInteger(number) {
- return isInteger(number) && abs$7(number) <= 0x1FFFFFFFFFFFFF;
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-number.max_safe_integer
-
- _export({
- target: 'Number',
- stat: true
- }, {
- MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF
- });
-
- // https://tc39.github.io/ecma262/#sec-number.min_safe_integer
-
- _export({
- target: 'Number',
- stat: true
- }, {
- MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF
- });
-
- var trim$1 = stringTrim.trim;
- var $parseFloat = global_1.parseFloat;
- var FORCED$8 = 1 / $parseFloat(whitespaces + '-0') !== -Infinity; // `parseFloat` method
- // https://tc39.github.io/ecma262/#sec-parsefloat-string
-
- var numberParseFloat = FORCED$8 ? function parseFloat(string) {
- var trimmedString = trim$1(String(string));
- var result = $parseFloat(trimmedString);
- return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result;
- } : $parseFloat;
-
- // https://tc39.github.io/ecma262/#sec-number.parseFloat
-
- _export({
- target: 'Number',
- stat: true,
- forced: Number.parseFloat != numberParseFloat
- }, {
- parseFloat: numberParseFloat
- });
-
- var trim$2 = stringTrim.trim;
- var $parseInt = global_1.parseInt;
- var hex = /^[+-]?0[Xx]/;
- var FORCED$9 = $parseInt(whitespaces + '08') !== 8 || $parseInt(whitespaces + '0x16') !== 22; // `parseInt` method
- // https://tc39.github.io/ecma262/#sec-parseint-string-radix
-
- var numberParseInt = FORCED$9 ? function parseInt(string, radix) {
- var S = trim$2(String(string));
- return $parseInt(S, radix >>> 0 || (hex.test(S) ? 16 : 10));
- } : $parseInt;
-
- // https://tc39.github.io/ecma262/#sec-number.parseint
-
- _export({
- target: 'Number',
- stat: true,
- forced: Number.parseInt != numberParseInt
- }, {
- parseInt: numberParseInt
- });
-
- // https://tc39.github.io/ecma262/#sec-thisnumbervalue
-
- var thisNumberValue = function thisNumberValue(value) {
- if (typeof value != 'number' && classofRaw(value) != 'Number') {
- throw TypeError('Incorrect invocation');
- }
-
- return +value;
- };
-
- var nativeToFixed = 1.0.toFixed;
- var floor$5 = Math.floor;
-
- var pow$3 = function pow(x, n, acc) {
- return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
- };
-
- var log$8 = function log(x) {
- var n = 0;
- var x2 = x;
-
- while (x2 >= 4096) {
- n += 12;
- x2 /= 4096;
- }
-
- while (x2 >= 2) {
- n += 1;
- x2 /= 2;
- }
-
- return n;
- };
-
- var FORCED$a = nativeToFixed && (0.00008.toFixed(3) !== '0.000' || 0.9.toFixed(0) !== '1' || 1.255.toFixed(2) !== '1.25' || 1000000000000000128.0.toFixed(0) !== '1000000000000000128') || !fails(function () {
- // V8 ~ Android 4.3-
- nativeToFixed.call({});
- }); // `Number.prototype.toFixed` method
- // https://tc39.github.io/ecma262/#sec-number.prototype.tofixed
-
- _export({
- target: 'Number',
- proto: true,
- forced: FORCED$a
- }, {
- // eslint-disable-next-line max-statements
- toFixed: function toFixed(fractionDigits) {
- var number = thisNumberValue(this);
- var fractDigits = toInteger(fractionDigits);
- var data = [0, 0, 0, 0, 0, 0];
- var sign = '';
- var result = '0';
- var e, z, j, k;
-
- var multiply = function multiply(n, c) {
- var index = -1;
- var c2 = c;
-
- while (++index < 6) {
- c2 += n * data[index];
- data[index] = c2 % 1e7;
- c2 = floor$5(c2 / 1e7);
- }
- };
-
- var divide = function divide(n) {
- var index = 6;
- var c = 0;
-
- while (--index >= 0) {
- c += data[index];
- data[index] = floor$5(c / n);
- c = c % n * 1e7;
- }
- };
-
- var dataToString = function dataToString() {
- var index = 6;
- var s = '';
-
- while (--index >= 0) {
- if (s !== '' || index === 0 || data[index] !== 0) {
- var t = String(data[index]);
- s = s === '' ? t : s + stringRepeat.call('0', 7 - t.length) + t;
- }
- }
-
- return s;
- };
-
- if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); // eslint-disable-next-line no-self-compare
-
- if (number != number) return 'NaN';
- if (number <= -1e21 || number >= 1e21) return String(number);
-
- if (number < 0) {
- sign = '-';
- number = -number;
- }
-
- if (number > 1e-21) {
- e = log$8(number * pow$3(2, 69, 1)) - 69;
- z = e < 0 ? number * pow$3(2, -e, 1) : number / pow$3(2, e, 1);
- z *= 0x10000000000000;
- e = 52 - e;
-
- if (e > 0) {
- multiply(0, z);
- j = fractDigits;
-
- while (j >= 7) {
- multiply(1e7, 0);
- j -= 7;
- }
-
- multiply(pow$3(10, j, 1), 0);
- j = e - 1;
-
- while (j >= 23) {
- divide(1 << 23);
- j -= 23;
- }
-
- divide(1 << j);
- multiply(1, 1);
- divide(2);
- result = dataToString();
- } else {
- multiply(0, z);
- multiply(1 << -e, 0);
- result = dataToString() + stringRepeat.call('0', fractDigits);
- }
- }
-
- if (fractDigits > 0) {
- k = result.length;
- result = sign + (k <= fractDigits ? '0.' + stringRepeat.call('0', fractDigits - k) + result : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));
- } else {
- result = sign + result;
- }
-
- return result;
- }
- });
-
- var nativeToPrecision = 1.0.toPrecision;
- var FORCED$b = fails(function () {
- // IE7-
- return nativeToPrecision.call(1, undefined) !== '1';
- }) || !fails(function () {
- // V8 ~ Android 4.3-
- nativeToPrecision.call({});
- }); // `Number.prototype.toPrecision` method
- // https://tc39.github.io/ecma262/#sec-number.prototype.toprecision
-
- _export({
- target: 'Number',
- proto: true,
- forced: FORCED$b
- }, {
- toPrecision: function toPrecision(precision) {
- return precision === undefined ? nativeToPrecision.call(thisNumberValue(this)) : nativeToPrecision.call(thisNumberValue(this), precision);
- }
- });
-
- var nativeAssign = Object.assign;
- var defineProperty$9 = Object.defineProperty; // `Object.assign` method
- // https://tc39.github.io/ecma262/#sec-object.assign
-
- var objectAssign = !nativeAssign || fails(function () {
- // should have correct order of operations (Edge bug)
- if (descriptors && nativeAssign({
- b: 1
- }, nativeAssign(defineProperty$9({}, 'a', {
- enumerable: true,
- get: function get() {
- defineProperty$9(this, 'b', {
- value: 3,
- enumerable: false
- });
- }
- }), {
- b: 2
- })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug)
-
- var A = {};
- var B = {}; // eslint-disable-next-line no-undef
-
- var symbol = Symbol();
- var alphabet = 'abcdefghijklmnopqrst';
- A[symbol] = 7;
- alphabet.split('').forEach(function (chr) {
- B[chr] = chr;
- });
- return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
- }) ? function assign(target, source) {
- // eslint-disable-line no-unused-vars
- var T = toObject(target);
- var argumentsLength = arguments.length;
- var index = 1;
- var getOwnPropertySymbols = objectGetOwnPropertySymbols.f;
- var propertyIsEnumerable = objectPropertyIsEnumerable.f;
-
- while (argumentsLength > index) {
- var S = indexedObject(arguments[index++]);
- var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
- var length = keys.length;
- var j = 0;
- var key;
-
- while (length > j) {
- key = keys[j++];
- if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key];
- }
- }
-
- return T;
- } : nativeAssign;
-
- // https://tc39.github.io/ecma262/#sec-object.assign
-
- _export({
- target: 'Object',
- stat: true,
- forced: Object.assign !== objectAssign
- }, {
- assign: objectAssign
- });
-
- // https://tc39.github.io/ecma262/#sec-object.create
-
- _export({
- target: 'Object',
- stat: true,
- sham: !descriptors
- }, {
- create: objectCreate
- });
-
- var objectPrototypeAccessorsForced = !fails(function () {
- var key = Math.random(); // In FF throws only define methods
- // eslint-disable-next-line no-undef, no-useless-call
-
- __defineSetter__.call(null, key, function () {
- /* empty */
- });
-
- delete global_1[key];
- });
-
- // https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__
-
-
- if (descriptors) {
- _export({
- target: 'Object',
- proto: true,
- forced: objectPrototypeAccessorsForced
- }, {
- __defineGetter__: function __defineGetter__(P, getter) {
- objectDefineProperty.f(toObject(this), P, {
- get: aFunction$1(getter),
- enumerable: true,
- configurable: true
- });
- }
- });
- }
-
- // https://tc39.github.io/ecma262/#sec-object.defineproperties
-
- _export({
- target: 'Object',
- stat: true,
- forced: !descriptors,
- sham: !descriptors
- }, {
- defineProperties: objectDefineProperties
- });
-
- // https://tc39.github.io/ecma262/#sec-object.defineproperty
-
- _export({
- target: 'Object',
- stat: true,
- forced: !descriptors,
- sham: !descriptors
- }, {
- defineProperty: objectDefineProperty.f
- });
-
- // https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__
-
-
- if (descriptors) {
- _export({
- target: 'Object',
- proto: true,
- forced: objectPrototypeAccessorsForced
- }, {
- __defineSetter__: function __defineSetter__(P, setter) {
- objectDefineProperty.f(toObject(this), P, {
- set: aFunction$1(setter),
- enumerable: true,
- configurable: true
- });
- }
- });
- }
-
- var propertyIsEnumerable = objectPropertyIsEnumerable.f; // `Object.{ entries, values }` methods implementation
-
- var createMethod$5 = function createMethod(TO_ENTRIES) {
- return function (it) {
- var O = toIndexedObject(it);
- var keys = objectKeys(O);
- var length = keys.length;
- var i = 0;
- var result = [];
- var key;
-
- while (length > i) {
- key = keys[i++];
-
- if (!descriptors || propertyIsEnumerable.call(O, key)) {
- result.push(TO_ENTRIES ? [key, O[key]] : O[key]);
- }
- }
-
- return result;
- };
- };
-
- var objectToArray = {
- // `Object.entries` method
- // https://tc39.github.io/ecma262/#sec-object.entries
- entries: createMethod$5(true),
- // `Object.values` method
- // https://tc39.github.io/ecma262/#sec-object.values
- values: createMethod$5(false)
- };
-
- var $entries = objectToArray.entries; // `Object.entries` method
- // https://tc39.github.io/ecma262/#sec-object.entries
-
- _export({
- target: 'Object',
- stat: true
- }, {
- entries: function entries(O) {
- return $entries(O);
- }
- });
-
- var onFreeze = internalMetadata.onFreeze;
- var nativeFreeze = Object.freeze;
- var FAILS_ON_PRIMITIVES = fails(function () {
- nativeFreeze(1);
- }); // `Object.freeze` method
- // https://tc39.github.io/ecma262/#sec-object.freeze
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES,
- sham: !freezing
- }, {
- freeze: function freeze(it) {
- return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it;
- }
- });
-
- // https://github.com/tc39/proposal-object-from-entries
-
- _export({
- target: 'Object',
- stat: true
- }, {
- fromEntries: function fromEntries(iterable) {
- var obj = {};
- iterate_1(iterable, function (k, v) {
- createProperty(obj, k, v);
- }, undefined, true);
- return obj;
- }
- });
-
- var nativeGetOwnPropertyDescriptor$2 = objectGetOwnPropertyDescriptor.f;
- var FAILS_ON_PRIMITIVES$1 = fails(function () {
- nativeGetOwnPropertyDescriptor$2(1);
- });
- var FORCED$c = !descriptors || FAILS_ON_PRIMITIVES$1; // `Object.getOwnPropertyDescriptor` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor
-
- _export({
- target: 'Object',
- stat: true,
- forced: FORCED$c,
- sham: !descriptors
- }, {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
- return nativeGetOwnPropertyDescriptor$2(toIndexedObject(it), key);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors
-
- _export({
- target: 'Object',
- stat: true,
- sham: !descriptors
- }, {
- getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
- var O = toIndexedObject(object);
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
- var keys = ownKeys(O);
- var result = {};
- var index = 0;
- var key, descriptor;
-
- while (keys.length > index) {
- descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
- if (descriptor !== undefined) createProperty(result, key, descriptor);
- }
-
- return result;
- }
- });
-
- var nativeGetOwnPropertyNames$2 = objectGetOwnPropertyNamesExternal.f;
- var FAILS_ON_PRIMITIVES$2 = fails(function () {
- return !Object.getOwnPropertyNames(1);
- }); // `Object.getOwnPropertyNames` method
- // https://tc39.github.io/ecma262/#sec-object.getownpropertynames
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES$2
- }, {
- getOwnPropertyNames: nativeGetOwnPropertyNames$2
- });
-
- var FAILS_ON_PRIMITIVES$3 = fails(function () {
- objectGetPrototypeOf(1);
- }); // `Object.getPrototypeOf` method
- // https://tc39.github.io/ecma262/#sec-object.getprototypeof
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES$3,
- sham: !correctPrototypeGetter
- }, {
- getPrototypeOf: function getPrototypeOf(it) {
- return objectGetPrototypeOf(toObject(it));
- }
- });
-
- // `SameValue` abstract operation
- // https://tc39.github.io/ecma262/#sec-samevalue
- var sameValue = Object.is || function is(x, y) {
- // eslint-disable-next-line no-self-compare
- return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
- };
-
- // https://tc39.github.io/ecma262/#sec-object.is
-
- _export({
- target: 'Object',
- stat: true
- }, {
- is: sameValue
- });
-
- var nativeIsExtensible = Object.isExtensible;
- var FAILS_ON_PRIMITIVES$4 = fails(function () {
- nativeIsExtensible(1);
- }); // `Object.isExtensible` method
- // https://tc39.github.io/ecma262/#sec-object.isextensible
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES$4
- }, {
- isExtensible: function isExtensible(it) {
- return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false;
- }
- });
-
- var nativeIsFrozen = Object.isFrozen;
- var FAILS_ON_PRIMITIVES$5 = fails(function () {
- nativeIsFrozen(1);
- }); // `Object.isFrozen` method
- // https://tc39.github.io/ecma262/#sec-object.isfrozen
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES$5
- }, {
- isFrozen: function isFrozen(it) {
- return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true;
- }
- });
-
- var nativeIsSealed = Object.isSealed;
- var FAILS_ON_PRIMITIVES$6 = fails(function () {
- nativeIsSealed(1);
- }); // `Object.isSealed` method
- // https://tc39.github.io/ecma262/#sec-object.issealed
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES$6
- }, {
- isSealed: function isSealed(it) {
- return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true;
- }
- });
-
- var FAILS_ON_PRIMITIVES$7 = fails(function () {
- objectKeys(1);
- }); // `Object.keys` method
- // https://tc39.github.io/ecma262/#sec-object.keys
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES$7
- }, {
- keys: function keys(it) {
- return objectKeys(toObject(it));
- }
- });
-
- var getOwnPropertyDescriptor$3 = objectGetOwnPropertyDescriptor.f; // `Object.prototype.__lookupGetter__` method
- // https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__
-
- if (descriptors) {
- _export({
- target: 'Object',
- proto: true,
- forced: objectPrototypeAccessorsForced
- }, {
- __lookupGetter__: function __lookupGetter__(P) {
- var O = toObject(this);
- var key = toPrimitive(P, true);
- var desc;
-
- do {
- if (desc = getOwnPropertyDescriptor$3(O, key)) return desc.get;
- } while (O = objectGetPrototypeOf(O));
- }
- });
- }
-
- var getOwnPropertyDescriptor$4 = objectGetOwnPropertyDescriptor.f; // `Object.prototype.__lookupSetter__` method
- // https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__
-
- if (descriptors) {
- _export({
- target: 'Object',
- proto: true,
- forced: objectPrototypeAccessorsForced
- }, {
- __lookupSetter__: function __lookupSetter__(P) {
- var O = toObject(this);
- var key = toPrimitive(P, true);
- var desc;
-
- do {
- if (desc = getOwnPropertyDescriptor$4(O, key)) return desc.set;
- } while (O = objectGetPrototypeOf(O));
- }
- });
- }
-
- var onFreeze$1 = internalMetadata.onFreeze;
- var nativePreventExtensions = Object.preventExtensions;
- var FAILS_ON_PRIMITIVES$8 = fails(function () {
- nativePreventExtensions(1);
- }); // `Object.preventExtensions` method
- // https://tc39.github.io/ecma262/#sec-object.preventextensions
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES$8,
- sham: !freezing
- }, {
- preventExtensions: function preventExtensions(it) {
- return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze$1(it)) : it;
- }
- });
-
- var onFreeze$2 = internalMetadata.onFreeze;
- var nativeSeal = Object.seal;
- var FAILS_ON_PRIMITIVES$9 = fails(function () {
- nativeSeal(1);
- }); // `Object.seal` method
- // https://tc39.github.io/ecma262/#sec-object.seal
-
- _export({
- target: 'Object',
- stat: true,
- forced: FAILS_ON_PRIMITIVES$9,
- sham: !freezing
- }, {
- seal: function seal(it) {
- return nativeSeal && isObject(it) ? nativeSeal(onFreeze$2(it)) : it;
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-object.setprototypeof
-
- _export({
- target: 'Object',
- stat: true
- }, {
- setPrototypeOf: objectSetPrototypeOf
- });
-
- // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-
-
- var objectToString = toStringTagSupport ? {}.toString : function toString() {
- return '[object ' + classof(this) + ']';
- };
-
- // https://tc39.github.io/ecma262/#sec-object.prototype.tostring
-
- if (!toStringTagSupport) {
- redefine(Object.prototype, 'toString', objectToString, {
- unsafe: true
- });
- }
-
- var $values = objectToArray.values; // `Object.values` method
- // https://tc39.github.io/ecma262/#sec-object.values
-
- _export({
- target: 'Object',
- stat: true
- }, {
- values: function values(O) {
- return $values(O);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-parsefloat-string
-
- _export({
- global: true,
- forced: parseFloat != numberParseFloat
- }, {
- parseFloat: numberParseFloat
- });
-
- // https://tc39.github.io/ecma262/#sec-parseint-string-radix
-
- _export({
- global: true,
- forced: parseInt != numberParseInt
- }, {
- parseInt: numberParseInt
- });
-
- var nativePromiseConstructor = global_1.Promise;
-
- var engineIsIos = /(iphone|ipod|ipad).*applewebkit/i.test(engineUserAgent);
-
- var location$1 = global_1.location;
- var set$2 = global_1.setImmediate;
- var clear = global_1.clearImmediate;
- var process$1 = global_1.process;
- var MessageChannel = global_1.MessageChannel;
- var Dispatch = global_1.Dispatch;
- var counter = 0;
- var queue = {};
- var ONREADYSTATECHANGE = 'onreadystatechange';
- var defer, channel, port;
-
- var run = function run(id) {
- // eslint-disable-next-line no-prototype-builtins
- if (queue.hasOwnProperty(id)) {
- var fn = queue[id];
- delete queue[id];
- fn();
- }
- };
-
- var runner = function runner(id) {
- return function () {
- run(id);
- };
- };
-
- var listener = function listener(event) {
- run(event.data);
- };
-
- var post = function post(id) {
- // old engines have not location.origin
- global_1.postMessage(id + '', location$1.protocol + '//' + location$1.host);
- }; // Node.js 0.9+ & IE10+ has setImmediate, otherwise:
-
-
- if (!set$2 || !clear) {
- set$2 = function setImmediate(fn) {
- var args = [];
- var i = 1;
-
- while (arguments.length > i) {
- args.push(arguments[i++]);
- }
-
- queue[++counter] = function () {
- // eslint-disable-next-line no-new-func
- (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
- };
-
- defer(counter);
- return counter;
- };
-
- clear = function clearImmediate(id) {
- delete queue[id];
- }; // Node.js 0.8-
-
-
- if (classofRaw(process$1) == 'process') {
- defer = function defer(id) {
- process$1.nextTick(runner(id));
- }; // Sphere (JS game engine) Dispatch API
-
- } else if (Dispatch && Dispatch.now) {
- defer = function defer(id) {
- Dispatch.now(runner(id));
- }; // Browsers with MessageChannel, includes WebWorkers
- // except iOS - https://github.com/zloirock/core-js/issues/624
-
- } else if (MessageChannel && !engineIsIos) {
- channel = new MessageChannel();
- port = channel.port2;
- channel.port1.onmessage = listener;
- defer = functionBindContext(port.postMessage, port, 1); // Browsers with postMessage, skip WebWorkers
- // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
- } else if (global_1.addEventListener && typeof postMessage == 'function' && !global_1.importScripts && !fails(post) && location$1.protocol !== 'file:') {
- defer = post;
- global_1.addEventListener('message', listener, false); // IE8-
- } else if (ONREADYSTATECHANGE in documentCreateElement('script')) {
- defer = function defer(id) {
- html.appendChild(documentCreateElement('script'))[ONREADYSTATECHANGE] = function () {
- html.removeChild(this);
- run(id);
- };
- }; // Rest old browsers
-
- } else {
- defer = function defer(id) {
- setTimeout(runner(id), 0);
- };
- }
- }
-
- var task = {
- set: set$2,
- clear: clear
- };
-
- var getOwnPropertyDescriptor$5 = objectGetOwnPropertyDescriptor.f;
- var macrotask = task.set;
- var MutationObserver$1 = global_1.MutationObserver || global_1.WebKitMutationObserver;
- var process$2 = global_1.process;
- var Promise$1 = global_1.Promise;
- var IS_NODE = classofRaw(process$2) == 'process'; // Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
-
- var queueMicrotaskDescriptor = getOwnPropertyDescriptor$5(global_1, 'queueMicrotask');
- var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
- var flush, head, last, notify, toggle, node, promise, then; // modern engines have queueMicrotask method
-
- if (!queueMicrotask) {
- flush = function flush() {
- var parent, fn;
- if (IS_NODE && (parent = process$2.domain)) parent.exit();
-
- while (head) {
- fn = head.fn;
- head = head.next;
-
- try {
- fn();
- } catch (error) {
- if (head) notify();else last = undefined;
- throw error;
- }
- }
-
- last = undefined;
- if (parent) parent.enter();
- }; // Node.js
-
-
- if (IS_NODE) {
- notify = function notify() {
- process$2.nextTick(flush);
- }; // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
-
- } else if (MutationObserver$1 && !engineIsIos) {
- toggle = true;
- node = document.createTextNode('');
- new MutationObserver$1(flush).observe(node, {
- characterData: true
- });
-
- notify = function notify() {
- node.data = toggle = !toggle;
- }; // environments with maybe non-completely correct, but existent Promise
-
- } else if (Promise$1 && Promise$1.resolve) {
- // Promise.resolve without an argument throws an error in LG WebOS 2
- promise = Promise$1.resolve(undefined);
- then = promise.then;
-
- notify = function notify() {
- then.call(promise, flush);
- }; // for other environments - macrotask based on:
- // - setImmediate
- // - MessageChannel
- // - window.postMessag
- // - onreadystatechange
- // - setTimeout
-
- } else {
- notify = function notify() {
- // strange IE + webpack dev server bug - use .call(global)
- macrotask.call(global_1, flush);
- };
- }
- }
-
- var microtask = queueMicrotask || function (fn) {
- var task = {
- fn: fn,
- next: undefined
- };
- if (last) last.next = task;
-
- if (!head) {
- head = task;
- notify();
- }
-
- last = task;
- };
-
- var PromiseCapability = function PromiseCapability(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$1(resolve);
- this.reject = aFunction$1(reject);
- }; // 25.4.1.5 NewPromiseCapability(C)
-
-
- var f$7 = function f(C) {
- return new PromiseCapability(C);
- };
-
- var newPromiseCapability = {
- f: f$7
- };
-
- var promiseResolve = function promiseResolve(C, x) {
- anObject(C);
- if (isObject(x) && x.constructor === C) return x;
- var promiseCapability = newPromiseCapability.f(C);
- var resolve = promiseCapability.resolve;
- resolve(x);
- return promiseCapability.promise;
- };
-
- var hostReportErrors = function hostReportErrors(a, b) {
- var console = global_1.console;
-
- if (console && console.error) {
- arguments.length === 1 ? console.error(a) : console.error(a, b);
- }
- };
-
- var perform = function perform(exec) {
- try {
- return {
- error: false,
- value: exec()
- };
- } catch (error) {
- return {
- error: true,
- value: error
- };
- }
- };
-
- var task$1 = task.set;
- var SPECIES$5 = wellKnownSymbol('species');
- var PROMISE = 'Promise';
- var getInternalState$3 = internalState.get;
- var setInternalState$4 = internalState.set;
- var getInternalPromiseState = internalState.getterFor(PROMISE);
- var PromiseConstructor = nativePromiseConstructor;
- var TypeError$1 = global_1.TypeError;
- var document$2 = global_1.document;
- var process$3 = global_1.process;
- var $fetch = getBuiltIn('fetch');
- var newPromiseCapability$1 = newPromiseCapability.f;
- var newGenericPromiseCapability = newPromiseCapability$1;
- var IS_NODE$1 = classofRaw(process$3) == 'process';
- var DISPATCH_EVENT = !!(document$2 && document$2.createEvent && global_1.dispatchEvent);
- var UNHANDLED_REJECTION = 'unhandledrejection';
- var REJECTION_HANDLED = 'rejectionhandled';
- var PENDING = 0;
- var FULFILLED = 1;
- var REJECTED = 2;
- var HANDLED = 1;
- var UNHANDLED = 2;
- var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
- var FORCED$d = isForced_1(PROMISE, function () {
- var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
-
- if (!GLOBAL_CORE_JS_PROMISE) {
- // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
- // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
- // We can't detect it synchronously, so just check versions
- if (engineV8Version === 66) return true; // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
-
- if (!IS_NODE$1 && typeof PromiseRejectionEvent != 'function') return true;
- } // We need Promise#finally in the pure version for preventing prototype pollution
- // deoptimization and performance degradation
- // https://github.com/zloirock/core-js/issues/679
-
- if (engineV8Version >= 51 && /native code/.test(PromiseConstructor)) return false; // Detect correctness of subclassing with @@species support
-
- var promise = PromiseConstructor.resolve(1);
-
- var FakePromise = function FakePromise(exec) {
- exec(function () {
- /* empty */
- }, function () {
- /* empty */
- });
- };
-
- var constructor = promise.constructor = {};
- constructor[SPECIES$5] = FakePromise;
- return !(promise.then(function () {
- /* empty */
- }) instanceof FakePromise);
- });
- var INCORRECT_ITERATION$1 = FORCED$d || !checkCorrectnessOfIteration(function (iterable) {
- PromiseConstructor.all(iterable)['catch'](function () {
- /* empty */
- });
- }); // helpers
-
- var isThenable = function isThenable(it) {
- var then;
- return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
- };
-
- var notify$1 = function notify(promise, state, isReject) {
- if (state.notified) return;
- state.notified = true;
- var chain = state.reactions;
- microtask(function () {
- var value = state.value;
- var ok = state.state == FULFILLED;
- var index = 0; // variable length - can't use forEach
-
- while (chain.length > index) {
- var reaction = chain[index++];
- var handler = ok ? reaction.ok : reaction.fail;
- var resolve = reaction.resolve;
- var reject = reaction.reject;
- var domain = reaction.domain;
- var result, then, exited;
-
- try {
- if (handler) {
- if (!ok) {
- if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state);
- state.rejection = HANDLED;
- }
-
- if (handler === true) result = value;else {
- if (domain) domain.enter();
- result = handler(value); // can throw
-
- if (domain) {
- domain.exit();
- exited = true;
- }
- }
-
- if (result === reaction.promise) {
- reject(TypeError$1('Promise-chain cycle'));
- } else if (then = isThenable(result)) {
- then.call(result, resolve, reject);
- } else resolve(result);
- } else reject(value);
- } catch (error) {
- if (domain && !exited) domain.exit();
- reject(error);
- }
- }
-
- state.reactions = [];
- state.notified = false;
- if (isReject && !state.rejection) onUnhandled(promise, state);
- });
- };
-
- var dispatchEvent = function dispatchEvent(name, promise, reason) {
- var event, handler;
-
- if (DISPATCH_EVENT) {
- event = document$2.createEvent('Event');
- event.promise = promise;
- event.reason = reason;
- event.initEvent(name, false, true);
- global_1.dispatchEvent(event);
- } else event = {
- promise: promise,
- reason: reason
- };
-
- if (handler = global_1['on' + name]) handler(event);else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
- };
-
- var onUnhandled = function onUnhandled(promise, state) {
- task$1.call(global_1, function () {
- var value = state.value;
- var IS_UNHANDLED = isUnhandled(state);
- var result;
-
- if (IS_UNHANDLED) {
- result = perform(function () {
- if (IS_NODE$1) {
- process$3.emit('unhandledRejection', value, promise);
- } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
- }); // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
-
- state.rejection = IS_NODE$1 || isUnhandled(state) ? UNHANDLED : HANDLED;
- if (result.error) throw result.value;
- }
- });
- };
-
- var isUnhandled = function isUnhandled(state) {
- return state.rejection !== HANDLED && !state.parent;
- };
-
- var onHandleUnhandled = function onHandleUnhandled(promise, state) {
- task$1.call(global_1, function () {
- if (IS_NODE$1) {
- process$3.emit('rejectionHandled', promise);
- } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
- });
- };
-
- var bind = function bind(fn, promise, state, unwrap) {
- return function (value) {
- fn(promise, state, value, unwrap);
- };
- };
-
- var internalReject = function internalReject(promise, state, value, unwrap) {
- if (state.done) return;
- state.done = true;
- if (unwrap) state = unwrap;
- state.value = value;
- state.state = REJECTED;
- notify$1(promise, state, true);
- };
-
- var internalResolve = function internalResolve(promise, state, value, unwrap) {
- if (state.done) return;
- state.done = true;
- if (unwrap) state = unwrap;
-
- try {
- if (promise === value) throw TypeError$1("Promise can't be resolved itself");
- var then = isThenable(value);
-
- if (then) {
- microtask(function () {
- var wrapper = {
- done: false
- };
-
- try {
- then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));
- } catch (error) {
- internalReject(promise, wrapper, error, state);
- }
- });
- } else {
- state.value = value;
- state.state = FULFILLED;
- notify$1(promise, state, false);
- }
- } catch (error) {
- internalReject(promise, {
- done: false
- }, error, state);
- }
- }; // constructor polyfill
-
-
- if (FORCED$d) {
- // 25.4.3.1 Promise(executor)
- PromiseConstructor = function Promise(executor) {
- anInstance(this, PromiseConstructor, PROMISE);
- aFunction$1(executor);
- Internal.call(this);
- var state = getInternalState$3(this);
-
- try {
- executor(bind(internalResolve, this, state), bind(internalReject, this, state));
- } catch (error) {
- internalReject(this, state, error);
- }
- }; // eslint-disable-next-line no-unused-vars
-
-
- Internal = function Promise(executor) {
- setInternalState$4(this, {
- type: PROMISE,
- done: false,
- notified: false,
- parent: false,
- reactions: [],
- rejection: false,
- state: PENDING,
- value: undefined
- });
- };
-
- Internal.prototype = redefineAll(PromiseConstructor.prototype, {
- // `Promise.prototype.then` method
- // https://tc39.github.io/ecma262/#sec-promise.prototype.then
- then: function then(onFulfilled, onRejected) {
- var state = getInternalPromiseState(this);
- var reaction = newPromiseCapability$1(speciesConstructor(this, PromiseConstructor));
- reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
- reaction.fail = typeof onRejected == 'function' && onRejected;
- reaction.domain = IS_NODE$1 ? process$3.domain : undefined;
- state.parent = true;
- state.reactions.push(reaction);
- if (state.state != PENDING) notify$1(this, state, false);
- return reaction.promise;
- },
- // `Promise.prototype.catch` method
- // https://tc39.github.io/ecma262/#sec-promise.prototype.catch
- 'catch': function _catch(onRejected) {
- return this.then(undefined, onRejected);
- }
- });
-
- OwnPromiseCapability = function OwnPromiseCapability() {
- var promise = new Internal();
- var state = getInternalState$3(promise);
- this.promise = promise;
- this.resolve = bind(internalResolve, promise, state);
- this.reject = bind(internalReject, promise, state);
- };
-
- newPromiseCapability.f = newPromiseCapability$1 = function newPromiseCapability(C) {
- return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
- };
-
- if ( typeof nativePromiseConstructor == 'function') {
- nativeThen = nativePromiseConstructor.prototype.then; // wrap native Promise#then for native async functions
-
- redefine(nativePromiseConstructor.prototype, 'then', function then(onFulfilled, onRejected) {
- var that = this;
- return new PromiseConstructor(function (resolve, reject) {
- nativeThen.call(that, resolve, reject);
- }).then(onFulfilled, onRejected); // https://github.com/zloirock/core-js/issues/640
- }, {
- unsafe: true
- }); // wrap fetch result
-
- if (typeof $fetch == 'function') _export({
- global: true,
- enumerable: true,
- forced: true
- }, {
- // eslint-disable-next-line no-unused-vars
- fetch: function fetch(input
- /* , init */
- ) {
- return promiseResolve(PromiseConstructor, $fetch.apply(global_1, arguments));
- }
- });
- }
- }
-
- _export({
- global: true,
- wrap: true,
- forced: FORCED$d
- }, {
- Promise: PromiseConstructor
- });
- setToStringTag(PromiseConstructor, PROMISE, false);
- setSpecies(PROMISE);
- PromiseWrapper = getBuiltIn(PROMISE); // statics
-
- _export({
- target: PROMISE,
- stat: true,
- forced: FORCED$d
- }, {
- // `Promise.reject` method
- // https://tc39.github.io/ecma262/#sec-promise.reject
- reject: function reject(r) {
- var capability = newPromiseCapability$1(this);
- capability.reject.call(undefined, r);
- return capability.promise;
- }
- });
- _export({
- target: PROMISE,
- stat: true,
- forced: FORCED$d
- }, {
- // `Promise.resolve` method
- // https://tc39.github.io/ecma262/#sec-promise.resolve
- resolve: function resolve(x) {
- return promiseResolve( this, x);
- }
- });
- _export({
- target: PROMISE,
- stat: true,
- forced: INCORRECT_ITERATION$1
- }, {
- // `Promise.all` method
- // https://tc39.github.io/ecma262/#sec-promise.all
- all: function all(iterable) {
- var C = this;
- var capability = newPromiseCapability$1(C);
- var resolve = capability.resolve;
- var reject = capability.reject;
- var result = perform(function () {
- var $promiseResolve = aFunction$1(C.resolve);
- var values = [];
- var counter = 0;
- var remaining = 1;
- iterate_1(iterable, function (promise) {
- var index = counter++;
- var alreadyCalled = false;
- values.push(undefined);
- remaining++;
- $promiseResolve.call(C, promise).then(function (value) {
- if (alreadyCalled) return;
- alreadyCalled = true;
- values[index] = value;
- --remaining || resolve(values);
- }, reject);
- });
- --remaining || resolve(values);
- });
- if (result.error) reject(result.value);
- return capability.promise;
- },
- // `Promise.race` method
- // https://tc39.github.io/ecma262/#sec-promise.race
- race: function race(iterable) {
- var C = this;
- var capability = newPromiseCapability$1(C);
- var reject = capability.reject;
- var result = perform(function () {
- var $promiseResolve = aFunction$1(C.resolve);
- iterate_1(iterable, function (promise) {
- $promiseResolve.call(C, promise).then(capability.resolve, reject);
- });
- });
- if (result.error) reject(result.value);
- return capability.promise;
- }
- });
-
- // https://github.com/tc39/proposal-promise-allSettled
-
-
- _export({
- target: 'Promise',
- stat: true
- }, {
- allSettled: function allSettled(iterable) {
- var C = this;
- var capability = newPromiseCapability.f(C);
- var resolve = capability.resolve;
- var reject = capability.reject;
- var result = perform(function () {
- var promiseResolve = aFunction$1(C.resolve);
- var values = [];
- var counter = 0;
- var remaining = 1;
- iterate_1(iterable, function (promise) {
- var index = counter++;
- var alreadyCalled = false;
- values.push(undefined);
- remaining++;
- promiseResolve.call(C, promise).then(function (value) {
- if (alreadyCalled) return;
- alreadyCalled = true;
- values[index] = {
- status: 'fulfilled',
- value: value
- };
- --remaining || resolve(values);
- }, function (e) {
- if (alreadyCalled) return;
- alreadyCalled = true;
- values[index] = {
- status: 'rejected',
- reason: e
- };
- --remaining || resolve(values);
- });
- });
- --remaining || resolve(values);
- });
- if (result.error) reject(result.value);
- return capability.promise;
- }
- });
-
- var NON_GENERIC = !!nativePromiseConstructor && fails(function () {
- nativePromiseConstructor.prototype['finally'].call({
- then: function then() {
- /* empty */
- }
- }, function () {
- /* empty */
- });
- }); // `Promise.prototype.finally` method
- // https://tc39.github.io/ecma262/#sec-promise.prototype.finally
-
- _export({
- target: 'Promise',
- proto: true,
- real: true,
- forced: NON_GENERIC
- }, {
- 'finally': function _finally(onFinally) {
- var C = speciesConstructor(this, getBuiltIn('Promise'));
- var isFunction = typeof onFinally == 'function';
- return this.then(isFunction ? function (x) {
- return promiseResolve(C, onFinally()).then(function () {
- return x;
- });
- } : onFinally, isFunction ? function (e) {
- return promiseResolve(C, onFinally()).then(function () {
- throw e;
- });
- } : onFinally);
- }
- }); // patch native Promise.prototype for native async functions
-
- if ( typeof nativePromiseConstructor == 'function' && !nativePromiseConstructor.prototype['finally']) {
- redefine(nativePromiseConstructor.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
- }
-
- var nativeApply = getBuiltIn('Reflect', 'apply');
- var functionApply = Function.apply; // MS Edge argumentsList argument is optional
-
- var OPTIONAL_ARGUMENTS_LIST = !fails(function () {
- nativeApply(function () {
- /* empty */
- });
- }); // `Reflect.apply` method
- // https://tc39.github.io/ecma262/#sec-reflect.apply
-
- _export({
- target: 'Reflect',
- stat: true,
- forced: OPTIONAL_ARGUMENTS_LIST
- }, {
- apply: function apply(target, thisArgument, argumentsList) {
- aFunction$1(target);
- anObject(argumentsList);
- return nativeApply ? nativeApply(target, thisArgument, argumentsList) : functionApply.call(target, thisArgument, argumentsList);
- }
- });
-
- var nativeConstruct = getBuiltIn('Reflect', 'construct'); // `Reflect.construct` method
- // https://tc39.github.io/ecma262/#sec-reflect.construct
- // MS Edge supports only 2 arguments and argumentsList argument is optional
- // FF Nightly sets third argument as `new.target`, but does not create `this` from it
-
- var NEW_TARGET_BUG = fails(function () {
- function F() {
- /* empty */
- }
-
- return !(nativeConstruct(function () {
- /* empty */
- }, [], F) instanceof F);
- });
- var ARGS_BUG = !fails(function () {
- nativeConstruct(function () {
- /* empty */
- });
- });
- var FORCED$e = NEW_TARGET_BUG || ARGS_BUG;
- _export({
- target: 'Reflect',
- stat: true,
- forced: FORCED$e,
- sham: FORCED$e
- }, {
- construct: function construct(Target, args
- /* , newTarget */
- ) {
- aFunction$1(Target);
- anObject(args);
- var newTarget = arguments.length < 3 ? Target : aFunction$1(arguments[2]);
- if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);
-
- if (Target == newTarget) {
- // w/o altered newTarget, optimization for 0-4 arguments
- switch (args.length) {
- case 0:
- return new Target();
-
- case 1:
- return new Target(args[0]);
-
- case 2:
- return new Target(args[0], args[1]);
-
- case 3:
- return new Target(args[0], args[1], args[2]);
-
- case 4:
- return new Target(args[0], args[1], args[2], args[3]);
- } // w/o altered newTarget, lot of arguments case
-
-
- var $args = [null];
- $args.push.apply($args, args);
- return new (functionBind.apply(Target, $args))();
- } // with altered newTarget, not support built-in constructors
-
-
- var proto = newTarget.prototype;
- var instance = objectCreate(isObject(proto) ? proto : Object.prototype);
- var result = Function.apply.call(Target, instance, args);
- return isObject(result) ? result : instance;
- }
- });
-
- var ERROR_INSTEAD_OF_FALSE = fails(function () {
- // eslint-disable-next-line no-undef
- Reflect.defineProperty(objectDefineProperty.f({}, 1, {
- value: 1
- }), 1, {
- value: 2
- });
- }); // `Reflect.defineProperty` method
- // https://tc39.github.io/ecma262/#sec-reflect.defineproperty
-
- _export({
- target: 'Reflect',
- stat: true,
- forced: ERROR_INSTEAD_OF_FALSE,
- sham: !descriptors
- }, {
- defineProperty: function defineProperty(target, propertyKey, attributes) {
- anObject(target);
- var key = toPrimitive(propertyKey, true);
- anObject(attributes);
-
- try {
- objectDefineProperty.f(target, key, attributes);
- return true;
- } catch (error) {
- return false;
- }
- }
- });
-
- var getOwnPropertyDescriptor$6 = objectGetOwnPropertyDescriptor.f; // `Reflect.deleteProperty` method
- // https://tc39.github.io/ecma262/#sec-reflect.deleteproperty
-
- _export({
- target: 'Reflect',
- stat: true
- }, {
- deleteProperty: function deleteProperty(target, propertyKey) {
- var descriptor = getOwnPropertyDescriptor$6(anObject(target), propertyKey);
- return descriptor && !descriptor.configurable ? false : delete target[propertyKey];
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-reflect.get
-
- function get$2(target, propertyKey
- /* , receiver */
- ) {
- var receiver = arguments.length < 3 ? target : arguments[2];
- var descriptor, prototype;
- if (anObject(target) === receiver) return target[propertyKey];
- if (descriptor = objectGetOwnPropertyDescriptor.f(target, propertyKey)) return has(descriptor, 'value') ? descriptor.value : descriptor.get === undefined ? undefined : descriptor.get.call(receiver);
- if (isObject(prototype = objectGetPrototypeOf(target))) return get$2(prototype, propertyKey, receiver);
- }
-
- _export({
- target: 'Reflect',
- stat: true
- }, {
- get: get$2
- });
-
- // https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor
-
- _export({
- target: 'Reflect',
- stat: true,
- sham: !descriptors
- }, {
- getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {
- return objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-reflect.getprototypeof
-
- _export({
- target: 'Reflect',
- stat: true,
- sham: !correctPrototypeGetter
- }, {
- getPrototypeOf: function getPrototypeOf(target) {
- return objectGetPrototypeOf(anObject(target));
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-reflect.has
-
- _export({
- target: 'Reflect',
- stat: true
- }, {
- has: function has(target, propertyKey) {
- return propertyKey in target;
- }
- });
-
- var objectIsExtensible = Object.isExtensible; // `Reflect.isExtensible` method
- // https://tc39.github.io/ecma262/#sec-reflect.isextensible
-
- _export({
- target: 'Reflect',
- stat: true
- }, {
- isExtensible: function isExtensible(target) {
- anObject(target);
- return objectIsExtensible ? objectIsExtensible(target) : true;
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-reflect.ownkeys
-
- _export({
- target: 'Reflect',
- stat: true
- }, {
- ownKeys: ownKeys
- });
-
- // https://tc39.github.io/ecma262/#sec-reflect.preventextensions
-
- _export({
- target: 'Reflect',
- stat: true,
- sham: !freezing
- }, {
- preventExtensions: function preventExtensions(target) {
- anObject(target);
-
- try {
- var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions');
- if (objectPreventExtensions) objectPreventExtensions(target);
- return true;
- } catch (error) {
- return false;
- }
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-reflect.set
-
- function set$3(target, propertyKey, V
- /* , receiver */
- ) {
- var receiver = arguments.length < 4 ? target : arguments[3];
- var ownDescriptor = objectGetOwnPropertyDescriptor.f(anObject(target), propertyKey);
- var existingDescriptor, prototype;
-
- if (!ownDescriptor) {
- if (isObject(prototype = objectGetPrototypeOf(target))) {
- return set$3(prototype, propertyKey, V, receiver);
- }
-
- ownDescriptor = createPropertyDescriptor(0);
- }
-
- if (has(ownDescriptor, 'value')) {
- if (ownDescriptor.writable === false || !isObject(receiver)) return false;
-
- if (existingDescriptor = objectGetOwnPropertyDescriptor.f(receiver, propertyKey)) {
- if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;
- existingDescriptor.value = V;
- objectDefineProperty.f(receiver, propertyKey, existingDescriptor);
- } else objectDefineProperty.f(receiver, propertyKey, createPropertyDescriptor(0, V));
-
- return true;
- }
-
- return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true);
- } // MS Edge 17-18 Reflect.set allows setting the property to object
- // with non-writable property on the prototype
-
-
- var MS_EDGE_BUG = fails(function () {
- var object = objectDefineProperty.f({}, 'a', {
- configurable: true
- }); // eslint-disable-next-line no-undef
-
- return Reflect.set(objectGetPrototypeOf(object), 'a', 1, object) !== false;
- });
- _export({
- target: 'Reflect',
- stat: true,
- forced: MS_EDGE_BUG
- }, {
- set: set$3
- });
-
- // https://tc39.github.io/ecma262/#sec-reflect.setprototypeof
-
- if (objectSetPrototypeOf) _export({
- target: 'Reflect',
- stat: true
- }, {
- setPrototypeOf: function setPrototypeOf(target, proto) {
- anObject(target);
- aPossiblePrototype(proto);
-
- try {
- objectSetPrototypeOf(target, proto);
- return true;
- } catch (error) {
- return false;
- }
- }
- });
-
- var MATCH = wellKnownSymbol('match'); // `IsRegExp` abstract operation
- // https://tc39.github.io/ecma262/#sec-isregexp
-
- var isRegexp = function isRegexp(it) {
- var isRegExp;
- return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classofRaw(it) == 'RegExp');
- };
-
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-
-
- var regexpFlags = function regexpFlags() {
- var that = anObject(this);
- var result = '';
- if (that.global) result += 'g';
- if (that.ignoreCase) result += 'i';
- if (that.multiline) result += 'm';
- if (that.dotAll) result += 's';
- if (that.unicode) result += 'u';
- if (that.sticky) result += 'y';
- return result;
- };
-
- // so we use an intermediate function.
-
-
- function RE(s, f) {
- return RegExp(s, f);
- }
-
- var UNSUPPORTED_Y = fails(function () {
- // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
- var re = RE('a', 'y');
- re.lastIndex = 2;
- return re.exec('abcd') != null;
- });
- var BROKEN_CARET = fails(function () {
- // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
- var re = RE('^r', 'gy');
- re.lastIndex = 2;
- return re.exec('str') != null;
- });
- var regexpStickyHelpers = {
- UNSUPPORTED_Y: UNSUPPORTED_Y,
- BROKEN_CARET: BROKEN_CARET
- };
-
- var defineProperty$a = objectDefineProperty.f;
- var getOwnPropertyNames$2 = objectGetOwnPropertyNames.f;
- var setInternalState$5 = internalState.set;
- var MATCH$1 = wellKnownSymbol('match');
- var NativeRegExp = global_1.RegExp;
- var RegExpPrototype = NativeRegExp.prototype;
- var re1 = /a/g;
- var re2 = /a/g; // "new" should create a new object, old webkit bug
-
- var CORRECT_NEW = new NativeRegExp(re1) !== re1;
- var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y;
- var FORCED$f = descriptors && isForced_1('RegExp', !CORRECT_NEW || UNSUPPORTED_Y$1 || fails(function () {
- re2[MATCH$1] = false; // RegExp constructor can alter flags and IsRegExp works correct with @@match
-
- return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
- })); // `RegExp` constructor
- // https://tc39.github.io/ecma262/#sec-regexp-constructor
-
- if (FORCED$f) {
- var RegExpWrapper = function RegExp(pattern, flags) {
- var thisIsRegExp = this instanceof RegExpWrapper;
- var patternIsRegExp = isRegexp(pattern);
- var flagsAreUndefined = flags === undefined;
- var sticky;
-
- if (!thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined) {
- return pattern;
- }
-
- if (CORRECT_NEW) {
- if (patternIsRegExp && !flagsAreUndefined) pattern = pattern.source;
- } else if (pattern instanceof RegExpWrapper) {
- if (flagsAreUndefined) flags = regexpFlags.call(pattern);
- pattern = pattern.source;
- }
-
- if (UNSUPPORTED_Y$1) {
- sticky = !!flags && flags.indexOf('y') > -1;
- if (sticky) flags = flags.replace(/y/g, '');
- }
-
- var result = inheritIfRequired(CORRECT_NEW ? new NativeRegExp(pattern, flags) : NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);
- if (UNSUPPORTED_Y$1 && sticky) setInternalState$5(result, {
- sticky: sticky
- });
- return result;
- };
-
- var proxy = function proxy(key) {
- key in RegExpWrapper || defineProperty$a(RegExpWrapper, key, {
- configurable: true,
- get: function get() {
- return NativeRegExp[key];
- },
- set: function set(it) {
- NativeRegExp[key] = it;
- }
- });
- };
-
- var keys$3 = getOwnPropertyNames$2(NativeRegExp);
- var index = 0;
-
- while (keys$3.length > index) {
- proxy(keys$3[index++]);
- }
-
- RegExpPrototype.constructor = RegExpWrapper;
- RegExpWrapper.prototype = RegExpPrototype;
- redefine(global_1, 'RegExp', RegExpWrapper);
- } // https://tc39.github.io/ecma262/#sec-get-regexp-@@species
-
-
- setSpecies('RegExp');
-
- var nativeExec = RegExp.prototype.exec; // This always refers to the native implementation, because the
- // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,
- // which loads this file before patching the method.
-
- var nativeReplace = String.prototype.replace;
- var patchedExec = nativeExec;
-
- var UPDATES_LAST_INDEX_WRONG = function () {
- var re1 = /a/;
- var re2 = /b*/g;
- nativeExec.call(re1, 'a');
- nativeExec.call(re2, 'a');
- return re1.lastIndex !== 0 || re2.lastIndex !== 0;
- }();
-
- var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET; // nonparticipating capturing group, copied from es5-shim's String#split patch.
-
- var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;
- var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$2;
-
- if (PATCH) {
- patchedExec = function exec(str) {
- var re = this;
- var lastIndex, reCopy, match, i;
- var sticky = UNSUPPORTED_Y$2 && re.sticky;
- var flags = regexpFlags.call(re);
- var source = re.source;
- var charsAdded = 0;
- var strCopy = str;
-
- if (sticky) {
- flags = flags.replace('y', '');
-
- if (flags.indexOf('g') === -1) {
- flags += 'g';
- }
-
- strCopy = String(str).slice(re.lastIndex); // Support anchored sticky behavior.
-
- if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) {
- source = '(?: ' + source + ')';
- strCopy = ' ' + strCopy;
- charsAdded++;
- } // ^(? + rx + ) is needed, in combination with some str slicing, to
- // simulate the 'y' flag.
-
-
- reCopy = new RegExp('^(?:' + source + ')', flags);
- }
-
- if (NPCG_INCLUDED) {
- reCopy = new RegExp('^' + source + '$(?!\\s)', flags);
- }
-
- if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
- match = nativeExec.call(sticky ? reCopy : re, strCopy);
-
- if (sticky) {
- if (match) {
- match.input = match.input.slice(charsAdded);
- match[0] = match[0].slice(charsAdded);
- match.index = re.lastIndex;
- re.lastIndex += match[0].length;
- } else re.lastIndex = 0;
- } else if (UPDATES_LAST_INDEX_WRONG && match) {
- re.lastIndex = re.global ? match.index + match[0].length : lastIndex;
- }
-
- if (NPCG_INCLUDED && match && match.length > 1) {
- // Fix browsers whose `exec` methods don't consistently return `undefined`
- // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/
- nativeReplace.call(match[0], reCopy, function () {
- for (i = 1; i < arguments.length - 2; i++) {
- if (arguments[i] === undefined) match[i] = undefined;
- }
- });
- }
-
- return match;
- };
- }
-
- var regexpExec = patchedExec;
-
- _export({
- target: 'RegExp',
- proto: true,
- forced: /./.exec !== regexpExec
- }, {
- exec: regexpExec
- });
-
- var UNSUPPORTED_Y$3 = regexpStickyHelpers.UNSUPPORTED_Y; // `RegExp.prototype.flags` getter
- // https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags
-
- if (descriptors && (/./g.flags != 'g' || UNSUPPORTED_Y$3)) {
- objectDefineProperty.f(RegExp.prototype, 'flags', {
- configurable: true,
- get: regexpFlags
- });
- }
-
- var UNSUPPORTED_Y$4 = regexpStickyHelpers.UNSUPPORTED_Y;
- var defineProperty$b = objectDefineProperty.f;
- var getInternalState$4 = internalState.get;
- var RegExpPrototype$1 = RegExp.prototype; // `RegExp.prototype.sticky` getter
-
- if (descriptors && UNSUPPORTED_Y$4) {
- defineProperty$b(RegExp.prototype, 'sticky', {
- configurable: true,
- get: function get() {
- if (this === RegExpPrototype$1) return undefined; // We can't use InternalStateModule.getterFor because
- // we don't add metadata for regexps created by a literal.
-
- if (this instanceof RegExp) {
- return !!getInternalState$4(this).sticky;
- }
-
- throw TypeError('Incompatible receiver, RegExp required');
- }
- });
- }
-
- var DELEGATES_TO_EXEC = function () {
- var execCalled = false;
- var re = /[ac]/;
-
- re.exec = function () {
- execCalled = true;
- return /./.exec.apply(this, arguments);
- };
-
- return re.test('abc') === true && execCalled;
- }();
-
- var nativeTest = /./.test;
- _export({
- target: 'RegExp',
- proto: true,
- forced: !DELEGATES_TO_EXEC
- }, {
- test: function test(str) {
- if (typeof this.exec !== 'function') {
- return nativeTest.call(this, str);
- }
-
- var result = this.exec(str);
-
- if (result !== null && !isObject(result)) {
- throw new Error('RegExp exec method returned something other than an Object or null');
- }
-
- return !!result;
- }
- });
-
- var TO_STRING$1 = 'toString';
- var RegExpPrototype$2 = RegExp.prototype;
- var nativeToString = RegExpPrototype$2[TO_STRING$1];
- var NOT_GENERIC = fails(function () {
- return nativeToString.call({
- source: 'a',
- flags: 'b'
- }) != '/a/b';
- }); // FF44- RegExp#toString has a wrong name
-
- var INCORRECT_NAME = nativeToString.name != TO_STRING$1; // `RegExp.prototype.toString` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring
-
- if (NOT_GENERIC || INCORRECT_NAME) {
- redefine(RegExp.prototype, TO_STRING$1, function toString() {
- var R = anObject(this);
- var p = String(R.source);
- var rf = R.flags;
- var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$2) ? regexpFlags.call(R) : rf);
- return '/' + p + '/' + f;
- }, {
- unsafe: true
- });
- }
-
- // https://tc39.github.io/ecma262/#sec-set-objects
-
-
- var es_set = collection('Set', function (init) {
- return function Set() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
- }, collectionStrong);
-
- var createMethod$6 = function createMethod(CONVERT_TO_STRING) {
- return function ($this, pos) {
- var S = String(requireObjectCoercible($this));
- var position = toInteger(pos);
- var size = S.length;
- var first, second;
- if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
- first = S.charCodeAt(position);
- return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
- };
- };
-
- var stringMultibyte = {
- // `String.prototype.codePointAt` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
- codeAt: createMethod$6(false),
- // `String.prototype.at` method
- // https://github.com/mathiasbynens/String.prototype.at
- charAt: createMethod$6(true)
- };
-
- var codeAt = stringMultibyte.codeAt; // `String.prototype.codePointAt` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat
-
- _export({
- target: 'String',
- proto: true
- }, {
- codePointAt: function codePointAt(pos) {
- return codeAt(this, pos);
- }
- });
-
- var notARegexp = function notARegexp(it) {
- if (isRegexp(it)) {
- throw TypeError("The method doesn't accept regular expressions");
- }
-
- return it;
- };
-
- var MATCH$2 = wellKnownSymbol('match');
-
- var correctIsRegexpLogic = function correctIsRegexpLogic(METHOD_NAME) {
- var regexp = /./;
-
- try {
- '/./'[METHOD_NAME](regexp);
- } catch (e) {
- try {
- regexp[MATCH$2] = false;
- return '/./'[METHOD_NAME](regexp);
- } catch (f) {
- /* empty */
- }
- }
-
- return false;
- };
-
- var getOwnPropertyDescriptor$7 = objectGetOwnPropertyDescriptor.f;
- var nativeEndsWith = ''.endsWith;
- var min$5 = Math.min;
- var CORRECT_IS_REGEXP_LOGIC = correctIsRegexpLogic('endsWith'); // https://github.com/zloirock/core-js/pull/702
-
- var MDN_POLYFILL_BUG = !CORRECT_IS_REGEXP_LOGIC && !!function () {
- var descriptor = getOwnPropertyDescriptor$7(String.prototype, 'endsWith');
- return descriptor && !descriptor.writable;
- }(); // `String.prototype.endsWith` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.endswith
-
- _export({
- target: 'String',
- proto: true,
- forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
- }, {
- endsWith: function endsWith(searchString
- /* , endPosition = @length */
- ) {
- var that = String(requireObjectCoercible(this));
- notARegexp(searchString);
- var endPosition = arguments.length > 1 ? arguments[1] : undefined;
- var len = toLength(that.length);
- var end = endPosition === undefined ? len : min$5(toLength(endPosition), len);
- var search = String(searchString);
- return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
- }
- });
-
- var fromCharCode = String.fromCharCode;
- var nativeFromCodePoint = String.fromCodePoint; // length should be 1, old FF problem
-
- var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; // `String.fromCodePoint` method
- // https://tc39.github.io/ecma262/#sec-string.fromcodepoint
-
- _export({
- target: 'String',
- stat: true,
- forced: INCORRECT_LENGTH
- }, {
- fromCodePoint: function fromCodePoint(x) {
- // eslint-disable-line no-unused-vars
- var elements = [];
- var length = arguments.length;
- var i = 0;
- var code;
-
- while (length > i) {
- code = +arguments[i++];
- if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');
- elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));
- }
-
- return elements.join('');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.includes
-
-
- _export({
- target: 'String',
- proto: true,
- forced: !correctIsRegexpLogic('includes')
- }, {
- includes: function includes(searchString
- /* , position = 0 */
- ) {
- return !!~String(requireObjectCoercible(this)).indexOf(notARegexp(searchString), arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- var charAt = stringMultibyte.charAt;
- var STRING_ITERATOR = 'String Iterator';
- var setInternalState$6 = internalState.set;
- var getInternalState$5 = internalState.getterFor(STRING_ITERATOR); // `String.prototype[@@iterator]` method
- // https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator
-
- defineIterator(String, 'String', function (iterated) {
- setInternalState$6(this, {
- type: STRING_ITERATOR,
- string: String(iterated),
- index: 0
- }); // `%StringIteratorPrototype%.next` method
- // https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next
- }, function next() {
- var state = getInternalState$5(this);
- var string = state.string;
- var index = state.index;
- var point;
- if (index >= string.length) return {
- value: undefined,
- done: true
- };
- point = charAt(string, index);
- state.index += point.length;
- return {
- value: point,
- done: false
- };
- });
-
- var SPECIES$6 = wellKnownSymbol('species');
- var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
- // #replace needs built-in support for named groups.
- // #match works fine because it just return the exec results, even if it has
- // a "grops" property.
- var re = /./;
-
- re.exec = function () {
- var result = [];
- result.groups = {
- a: '7'
- };
- return result;
- };
-
- return ''.replace(re, '$') !== '7';
- }); // IE <= 11 replaces $0 with the whole match, as if it was $&
- // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
-
- var REPLACE_KEEPS_$0 = function () {
- return 'a'.replace(/./, '$0') === '$0';
- }();
-
- var REPLACE = wellKnownSymbol('replace'); // Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
-
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = function () {
- if (/./[REPLACE]) {
- return /./[REPLACE]('a', '$0') === '';
- }
-
- return false;
- }(); // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
- // Weex JS has frozen built-in prototypes, so use try / catch wrapper
-
-
- var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
- var re = /(?:)/;
- var originalExec = re.exec;
-
- re.exec = function () {
- return originalExec.apply(this, arguments);
- };
-
- var result = 'ab'.split(re);
- return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
- });
-
- var fixRegexpWellKnownSymbolLogic = function fixRegexpWellKnownSymbolLogic(KEY, length, exec, sham) {
- var SYMBOL = wellKnownSymbol(KEY);
- var DELEGATES_TO_SYMBOL = !fails(function () {
- // String methods call symbol-named RegEp methods
- var O = {};
-
- O[SYMBOL] = function () {
- return 7;
- };
-
- return ''[KEY](O) != 7;
- });
- var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
- // Symbol-named RegExp methods call .exec
- var execCalled = false;
- var re = /a/;
-
- if (KEY === 'split') {
- // We can't use real regex here since it causes deoptimization
- // and serious performance degradation in V8
- // https://github.com/zloirock/core-js/issues/306
- re = {}; // RegExp[@@split] doesn't call the regex's exec method, but first creates
- // a new one. We need to return the patched regex when creating the new one.
-
- re.constructor = {};
-
- re.constructor[SPECIES$6] = function () {
- return re;
- };
-
- re.flags = '';
- re[SYMBOL] = /./[SYMBOL];
- }
-
- re.exec = function () {
- execCalled = true;
- return null;
- };
-
- re[SYMBOL]('');
- return !execCalled;
- });
-
- if (!DELEGATES_TO_SYMBOL || !DELEGATES_TO_EXEC || KEY === 'replace' && !(REPLACE_SUPPORTS_NAMED_GROUPS && REPLACE_KEEPS_$0 && !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE) || KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) {
- var nativeRegExpMethod = /./[SYMBOL];
- var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
- if (regexp.exec === regexpExec) {
- if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
- // The native String method already delegates to @@method (this
- // polyfilled function), leasing to infinite recursion.
- // We avoid it by directly calling the native @@method method.
- return {
- done: true,
- value: nativeRegExpMethod.call(regexp, str, arg2)
- };
- }
-
- return {
- done: true,
- value: nativeMethod.call(str, regexp, arg2)
- };
- }
-
- return {
- done: false
- };
- }, {
- REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,
- REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE
- });
- var stringMethod = methods[0];
- var regexMethod = methods[1];
- redefine(String.prototype, KEY, stringMethod);
- redefine(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 regexMethod.call(string, this, arg);
- } // 21.2.5.6 RegExp.prototype[@@match](string)
- // 21.2.5.9 RegExp.prototype[@@search](string)
- : function (string) {
- return regexMethod.call(string, this);
- });
- }
-
- if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true);
- };
-
- var charAt$1 = stringMultibyte.charAt; // `AdvanceStringIndex` abstract operation
- // https://tc39.github.io/ecma262/#sec-advancestringindex
-
- var advanceStringIndex = function advanceStringIndex(S, index, unicode) {
- return index + (unicode ? charAt$1(S, index).length : 1);
- };
-
- // https://tc39.github.io/ecma262/#sec-regexpexec
-
- var regexpExecAbstract = function regexpExecAbstract(R, S) {
- var exec = R.exec;
-
- if (typeof exec === 'function') {
- var result = exec.call(R, S);
-
- if (_typeof(result) !== 'object') {
- throw TypeError('RegExp exec method returned something other than an Object or null');
- }
-
- return result;
- }
-
- if (classofRaw(R) !== 'RegExp') {
- throw TypeError('RegExp#exec called on incompatible receiver');
- }
-
- return regexpExec.call(R, S);
- };
-
- fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) {
- return [// `String.prototype.match` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.match
- function match(regexp) {
- var O = requireObjectCoercible(this);
- var matcher = regexp == undefined ? undefined : regexp[MATCH];
- return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));
- }, // `RegExp.prototype[@@match]` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match
- function (regexp) {
- var res = maybeCallNative(nativeMatch, regexp, this);
- if (res.done) return res.value;
- var rx = anObject(regexp);
- var S = String(this);
- if (!rx.global) return regexpExecAbstract(rx, S);
- var fullUnicode = rx.unicode;
- rx.lastIndex = 0;
- var A = [];
- var n = 0;
- var result;
-
- while ((result = regexpExecAbstract(rx, S)) !== null) {
- var matchStr = String(result[0]);
- A[n] = matchStr;
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
- n++;
- }
-
- return n === 0 ? null : A;
- }];
- });
-
- var MATCH_ALL = wellKnownSymbol('matchAll');
- var REGEXP_STRING = 'RegExp String';
- var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';
- var setInternalState$7 = internalState.set;
- var getInternalState$6 = internalState.getterFor(REGEXP_STRING_ITERATOR);
- var RegExpPrototype$3 = RegExp.prototype;
- var regExpBuiltinExec = RegExpPrototype$3.exec;
- var nativeMatchAll = ''.matchAll;
- var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () {
- 'a'.matchAll(/./);
- });
-
- var regExpExec = function regExpExec(R, S) {
- var exec = R.exec;
- var result;
-
- if (typeof exec == 'function') {
- result = exec.call(R, S);
- if (_typeof(result) != 'object') throw TypeError('Incorrect exec result');
- return result;
- }
-
- return regExpBuiltinExec.call(R, S);
- }; // eslint-disable-next-line max-len
-
-
- var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) {
- setInternalState$7(this, {
- type: REGEXP_STRING_ITERATOR,
- regexp: regexp,
- string: string,
- global: global,
- unicode: fullUnicode,
- done: false
- });
- }, REGEXP_STRING, function next() {
- var state = getInternalState$6(this);
- if (state.done) return {
- value: undefined,
- done: true
- };
- var R = state.regexp;
- var S = state.string;
- var match = regExpExec(R, S);
- if (match === null) return {
- value: undefined,
- done: state.done = true
- };
-
- if (state.global) {
- if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode);
- return {
- value: match,
- done: false
- };
- }
-
- state.done = true;
- return {
- value: match,
- done: false
- };
- });
-
- var $matchAll = function $matchAll(string) {
- var R = anObject(this);
- var S = String(string);
- var C, flagsValue, flags, matcher, global, fullUnicode;
- C = speciesConstructor(R, RegExp);
- flagsValue = R.flags;
-
- if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype$3)) {
- flagsValue = regexpFlags.call(R);
- }
-
- flags = flagsValue === undefined ? '' : String(flagsValue);
- matcher = new C(C === RegExp ? R.source : R, flags);
- global = !!~flags.indexOf('g');
- fullUnicode = !!~flags.indexOf('u');
- matcher.lastIndex = toLength(R.lastIndex);
- return new $RegExpStringIterator(matcher, S, global, fullUnicode);
- }; // `String.prototype.matchAll` method
- // https://github.com/tc39/proposal-string-matchall
-
-
- _export({
- target: 'String',
- proto: true,
- forced: WORKS_WITH_NON_GLOBAL_REGEX
- }, {
- matchAll: function matchAll(regexp) {
- var O = requireObjectCoercible(this);
- var flags, S, matcher, rx;
-
- if (regexp != null) {
- if (isRegexp(regexp)) {
- flags = String(requireObjectCoercible('flags' in RegExpPrototype$3 ? regexp.flags : regexpFlags.call(regexp)));
- if (!~flags.indexOf('g')) throw TypeError('`.matchAll` does not allow non-global regexes');
- }
-
- if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments);
- matcher = regexp[MATCH_ALL];
- if (matcher === undefined && isPure && classofRaw(regexp) == 'RegExp') matcher = $matchAll;
- if (matcher != null) return aFunction$1(matcher).call(regexp, O);
- } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments);
-
- S = String(O);
- rx = new RegExp(regexp, 'g');
- return rx[MATCH_ALL](S);
- }
- });
- MATCH_ALL in RegExpPrototype$3 || createNonEnumerableProperty(RegExpPrototype$3, MATCH_ALL, $matchAll);
-
- // eslint-disable-next-line unicorn/no-unsafe-regex
-
- var stringPadWebkitBug = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(engineUserAgent);
-
- var $padEnd = stringPad.end; // `String.prototype.padEnd` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.padend
-
- _export({
- target: 'String',
- proto: true,
- forced: stringPadWebkitBug
- }, {
- padEnd: function padEnd(maxLength
- /* , fillString = ' ' */
- ) {
- return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- var $padStart = stringPad.start; // `String.prototype.padStart` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.padstart
-
- _export({
- target: 'String',
- proto: true,
- forced: stringPadWebkitBug
- }, {
- padStart: function padStart(maxLength
- /* , fillString = ' ' */
- ) {
- return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.raw
-
- _export({
- target: 'String',
- stat: true
- }, {
- raw: function raw(template) {
- var rawTemplate = toIndexedObject(template.raw);
- var literalSegments = toLength(rawTemplate.length);
- var argumentsLength = arguments.length;
- var elements = [];
- var i = 0;
-
- while (literalSegments > i) {
- elements.push(String(rawTemplate[i++]));
- if (i < argumentsLength) elements.push(String(arguments[i]));
- }
-
- return elements.join('');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.repeat
-
- _export({
- target: 'String',
- proto: true
- }, {
- repeat: stringRepeat
- });
-
- var max$3 = Math.max;
- var min$6 = Math.min;
- var floor$6 = Math.floor;
- var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g;
- var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g;
-
- var maybeToString = function maybeToString(it) {
- return it === undefined ? it : String(it);
- }; // @@replace logic
-
-
- fixRegexpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {
- var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;
- var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;
- var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';
- return [// `String.prototype.replace` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.replace
- function replace(searchValue, replaceValue) {
- var O = requireObjectCoercible(this);
- var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];
- return replacer !== undefined ? replacer.call(searchValue, O, replaceValue) : nativeReplace.call(String(O), searchValue, replaceValue);
- }, // `RegExp.prototype[@@replace]` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace
- function (regexp, replaceValue) {
- if (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0 || typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) {
- var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);
- if (res.done) return res.value;
- }
-
- var rx = anObject(regexp);
- var S = String(this);
- var functionalReplace = typeof replaceValue === 'function';
- if (!functionalReplace) replaceValue = String(replaceValue);
- var global = rx.global;
-
- if (global) {
- var fullUnicode = rx.unicode;
- rx.lastIndex = 0;
- }
-
- var results = [];
-
- while (true) {
- var result = regexpExecAbstract(rx, S);
- if (result === null) break;
- results.push(result);
- if (!global) break;
- var matchStr = String(result[0]);
- if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
- }
-
- var accumulatedResult = '';
- var nextSourcePosition = 0;
-
- for (var i = 0; i < results.length; i++) {
- result = results[i];
- var matched = String(result[0]);
- var position = max$3(min$6(toInteger(result.index), S.length), 0);
- var captures = []; // NOTE: This is equivalent to
- // captures = result.slice(1).map(maybeToString)
- // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
- // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
- // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
-
- for (var j = 1; j < result.length; j++) {
- captures.push(maybeToString(result[j]));
- }
-
- var namedCaptures = result.groups;
-
- if (functionalReplace) {
- var replacerArgs = [matched].concat(captures, position, S);
- if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);
- var replacement = String(replaceValue.apply(undefined, replacerArgs));
- } else {
- replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
- }
-
- if (position >= nextSourcePosition) {
- accumulatedResult += S.slice(nextSourcePosition, position) + replacement;
- nextSourcePosition = position + matched.length;
- }
- }
-
- return accumulatedResult + S.slice(nextSourcePosition);
- }]; // https://tc39.github.io/ecma262/#sec-getsubstitution
-
- function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {
- var tailPos = position + matched.length;
- var m = captures.length;
- var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;
-
- if (namedCaptures !== undefined) {
- namedCaptures = toObject(namedCaptures);
- symbols = SUBSTITUTION_SYMBOLS;
- }
-
- return nativeReplace.call(replacement, symbols, function (match, ch) {
- var capture;
-
- switch (ch.charAt(0)) {
- case '$':
- return '$';
-
- case '&':
- return matched;
-
- case '`':
- return str.slice(0, position);
-
- case "'":
- return str.slice(tailPos);
-
- case '<':
- capture = namedCaptures[ch.slice(1, -1)];
- break;
-
- default:
- // \d\d?
- var n = +ch;
- if (n === 0) return match;
-
- if (n > m) {
- var f = floor$6(n / 10);
- if (f === 0) return match;
- if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);
- return match;
- }
-
- capture = captures[n - 1];
- }
-
- return capture === undefined ? '' : capture;
- });
- }
- });
-
- fixRegexpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {
- return [// `String.prototype.search` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.search
- function search(regexp) {
- var O = requireObjectCoercible(this);
- var searcher = regexp == undefined ? undefined : regexp[SEARCH];
- return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));
- }, // `RegExp.prototype[@@search]` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search
- function (regexp) {
- var res = maybeCallNative(nativeSearch, regexp, this);
- if (res.done) return res.value;
- var rx = anObject(regexp);
- var S = String(this);
- var previousLastIndex = rx.lastIndex;
- if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
- var result = regexpExecAbstract(rx, S);
- if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
- return result === null ? -1 : result.index;
- }];
- });
-
- var arrayPush = [].push;
- var min$7 = Math.min;
- var MAX_UINT32 = 0xFFFFFFFF; // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError
-
- var SUPPORTS_Y = !fails(function () {
- return !RegExp(MAX_UINT32, 'y');
- }); // @@split logic
-
- fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {
- var internalSplit;
-
- if ('abbc'.split(/(b)*/)[1] == 'c' || 'test'.split(/(?:)/, -1).length != 4 || 'ab'.split(/(?:ab)*/).length != 2 || '.'.split(/(.?)(.?)/).length != 4 || '.'.split(/()()/).length > 1 || ''.split(/.?/).length) {
- // based on es5-shim implementation, need to rework it
- internalSplit = function internalSplit(separator, limit) {
- var string = String(requireObjectCoercible(this));
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
- if (lim === 0) return [];
- if (separator === undefined) return [string]; // If `separator` is not a regex, use native split
-
- if (!isRegexp(separator)) {
- return nativeSplit.call(string, separator, lim);
- }
-
- var output = [];
- var flags = (separator.ignoreCase ? 'i' : '') + (separator.multiline ? 'm' : '') + (separator.unicode ? 'u' : '') + (separator.sticky ? 'y' : '');
- var lastLastIndex = 0; // Make `global` and avoid `lastIndex` issues by working with a copy
-
- var separatorCopy = new RegExp(separator.source, flags + 'g');
- var match, lastIndex, lastLength;
-
- while (match = regexpExec.call(separatorCopy, string)) {
- lastIndex = separatorCopy.lastIndex;
-
- if (lastIndex > lastLastIndex) {
- output.push(string.slice(lastLastIndex, match.index));
- if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));
- lastLength = match[0].length;
- lastLastIndex = lastIndex;
- if (output.length >= lim) break;
- }
-
- if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
- }
-
- if (lastLastIndex === string.length) {
- if (lastLength || !separatorCopy.test('')) output.push('');
- } else output.push(string.slice(lastLastIndex));
-
- return output.length > lim ? output.slice(0, lim) : output;
- }; // Chakra, V8
-
- } else if ('0'.split(undefined, 0).length) {
- internalSplit = function internalSplit(separator, limit) {
- return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);
- };
- } else internalSplit = nativeSplit;
-
- return [// `String.prototype.split` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.split
- function split(separator, limit) {
- var O = requireObjectCoercible(this);
- var splitter = separator == undefined ? undefined : separator[SPLIT];
- return splitter !== undefined ? splitter.call(separator, O, limit) : internalSplit.call(String(O), separator, limit);
- }, // `RegExp.prototype[@@split]` method
- // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split
- //
- // NOTE: This cannot be properly polyfilled in engines that don't support
- // the 'y' flag.
- function (regexp, limit) {
- var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);
- if (res.done) return res.value;
- var rx = anObject(regexp);
- var S = String(this);
- var C = speciesConstructor(rx, RegExp);
- var unicodeMatching = rx.unicode;
- var flags = (rx.ignoreCase ? 'i' : '') + (rx.multiline ? 'm' : '') + (rx.unicode ? 'u' : '') + (SUPPORTS_Y ? 'y' : 'g'); // ^(? + rx + ) is needed, in combination with some S slicing, to
- // simulate the 'y' flag.
-
- var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);
- var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
- if (lim === 0) return [];
- if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : [];
- var p = 0;
- var q = 0;
- var A = [];
-
- while (q < S.length) {
- splitter.lastIndex = SUPPORTS_Y ? q : 0;
- var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q));
- var e;
-
- if (z === null || (e = min$7(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p) {
- q = advanceStringIndex(S, q, unicodeMatching);
- } else {
- A.push(S.slice(p, q));
- if (A.length === lim) return A;
-
- for (var i = 1; i <= z.length - 1; i++) {
- A.push(z[i]);
- if (A.length === lim) return A;
- }
-
- q = p = e;
- }
- }
-
- A.push(S.slice(p));
- return A;
- }];
- }, !SUPPORTS_Y);
-
- var getOwnPropertyDescriptor$8 = objectGetOwnPropertyDescriptor.f;
- var nativeStartsWith = ''.startsWith;
- var min$8 = Math.min;
- var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegexpLogic('startsWith'); // https://github.com/zloirock/core-js/pull/702
-
- var MDN_POLYFILL_BUG$1 = !CORRECT_IS_REGEXP_LOGIC$1 && !!function () {
- var descriptor = getOwnPropertyDescriptor$8(String.prototype, 'startsWith');
- return descriptor && !descriptor.writable;
- }(); // `String.prototype.startsWith` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.startswith
-
- _export({
- target: 'String',
- proto: true,
- forced: !MDN_POLYFILL_BUG$1 && !CORRECT_IS_REGEXP_LOGIC$1
- }, {
- startsWith: function startsWith(searchString
- /* , position = 0 */
- ) {
- var that = String(requireObjectCoercible(this));
- notARegexp(searchString);
- var index = toLength(min$8(arguments.length > 1 ? arguments[1] : undefined, that.length));
- var search = String(searchString);
- return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
- }
- });
-
- var non = "\u200B\x85\u180E"; // check that a method works with the correct list
- // of whitespaces and has a correct name
-
- var stringTrimForced = function stringTrimForced(METHOD_NAME) {
- return fails(function () {
- return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;
- });
- };
-
- var $trim = stringTrim.trim; // `String.prototype.trim` method
- // https://tc39.github.io/ecma262/#sec-string.prototype.trim
-
- _export({
- target: 'String',
- proto: true,
- forced: stringTrimForced('trim')
- }, {
- trim: function trim() {
- return $trim(this);
- }
- });
-
- var $trimEnd = stringTrim.end;
- var FORCED$g = stringTrimForced('trimEnd');
- var trimEnd = FORCED$g ? function trimEnd() {
- return $trimEnd(this);
- } : ''.trimEnd; // `String.prototype.{ trimEnd, trimRight }` methods
- // https://github.com/tc39/ecmascript-string-left-right-trim
-
- _export({
- target: 'String',
- proto: true,
- forced: FORCED$g
- }, {
- trimEnd: trimEnd,
- trimRight: trimEnd
- });
-
- var $trimStart = stringTrim.start;
- var FORCED$h = stringTrimForced('trimStart');
- var trimStart = FORCED$h ? function trimStart() {
- return $trimStart(this);
- } : ''.trimStart; // `String.prototype.{ trimStart, trimLeft }` methods
- // https://github.com/tc39/ecmascript-string-left-right-trim
-
- _export({
- target: 'String',
- proto: true,
- forced: FORCED$h
- }, {
- trimStart: trimStart,
- trimLeft: trimStart
- });
-
- var quot = /"/g; // B.2.3.2.1 CreateHTML(string, tag, attribute, value)
- // https://tc39.github.io/ecma262/#sec-createhtml
-
- var createHtml = function createHtml(string, tag, attribute, value) {
- var S = String(requireObjectCoercible(string));
- var p1 = '<' + tag;
- if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"';
- return p1 + '>' + S + '' + tag + '>';
- };
-
- // of a tag and escaping quotes in arguments
-
- var stringHtmlForced = function stringHtmlForced(METHOD_NAME) {
- return fails(function () {
- var test = ''[METHOD_NAME]('"');
- return test !== test.toLowerCase() || test.split('"').length > 3;
- });
- };
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.anchor
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('anchor')
- }, {
- anchor: function anchor(name) {
- return createHtml(this, 'a', 'name', name);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.big
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('big')
- }, {
- big: function big() {
- return createHtml(this, 'big', '', '');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.blink
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('blink')
- }, {
- blink: function blink() {
- return createHtml(this, 'blink', '', '');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.bold
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('bold')
- }, {
- bold: function bold() {
- return createHtml(this, 'b', '', '');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.fixed
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('fixed')
- }, {
- fixed: function fixed() {
- return createHtml(this, 'tt', '', '');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('fontcolor')
- }, {
- fontcolor: function fontcolor(color) {
- return createHtml(this, 'font', 'color', color);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.fontsize
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('fontsize')
- }, {
- fontsize: function fontsize(size) {
- return createHtml(this, 'font', 'size', size);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.italics
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('italics')
- }, {
- italics: function italics() {
- return createHtml(this, 'i', '', '');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.link
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('link')
- }, {
- link: function link(url) {
- return createHtml(this, 'a', 'href', url);
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.small
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('small')
- }, {
- small: function small() {
- return createHtml(this, 'small', '', '');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.strike
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('strike')
- }, {
- strike: function strike() {
- return createHtml(this, 'strike', '', '');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.sub
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('sub')
- }, {
- sub: function sub() {
- return createHtml(this, 'sub', '', '');
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-string.prototype.sup
-
-
- _export({
- target: 'String',
- proto: true,
- forced: stringHtmlForced('sup')
- }, {
- sup: function sup() {
- return createHtml(this, 'sup', '', '');
- }
- });
-
- /* eslint-disable no-new */
-
- var NATIVE_ARRAY_BUFFER_VIEWS$2 = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
- var ArrayBuffer$3 = global_1.ArrayBuffer;
- var Int8Array$2 = global_1.Int8Array;
- var typedArrayConstructorsRequireWrappers = !NATIVE_ARRAY_BUFFER_VIEWS$2 || !fails(function () {
- Int8Array$2(1);
- }) || !fails(function () {
- new Int8Array$2(-1);
- }) || !checkCorrectnessOfIteration(function (iterable) {
- new Int8Array$2();
- new Int8Array$2(null);
- new Int8Array$2(1.5);
- new Int8Array$2(iterable);
- }, true) || fails(function () {
- // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill
- return new Int8Array$2(new ArrayBuffer$3(2), 1, undefined).length !== 1;
- });
-
- var toPositiveInteger = function toPositiveInteger(it) {
- var result = toInteger(it);
- if (result < 0) throw RangeError("The argument can't be less than 0");
- return result;
- };
-
- var toOffset = function toOffset(it, BYTES) {
- var offset = toPositiveInteger(it);
- if (offset % BYTES) throw RangeError('Wrong offset');
- return offset;
- };
-
- var aTypedArrayConstructor$1 = arrayBufferViewCore.aTypedArrayConstructor;
-
- var typedArrayFrom = function from(source
- /* , mapfn, thisArg */
- ) {
- var O = toObject(source);
- var argumentsLength = arguments.length;
- var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
- var mapping = mapfn !== undefined;
- var iteratorMethod = getIteratorMethod(O);
- var i, length, result, step, iterator, next;
-
- if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) {
- iterator = iteratorMethod.call(O);
- next = iterator.next;
- O = [];
-
- while (!(step = next.call(iterator)).done) {
- O.push(step.value);
- }
- }
-
- if (mapping && argumentsLength > 2) {
- mapfn = functionBindContext(mapfn, arguments[2], 2);
- }
-
- length = toLength(O.length);
- result = new (aTypedArrayConstructor$1(this))(length);
-
- for (i = 0; length > i; i++) {
- result[i] = mapping ? mapfn(O[i], i) : O[i];
- }
-
- return result;
- };
-
- var typedArrayConstructor = createCommonjsModule(function (module) {
-
- var getOwnPropertyNames = objectGetOwnPropertyNames.f;
- var forEach = arrayIteration.forEach;
- var getInternalState = internalState.get;
- var setInternalState = internalState.set;
- var nativeDefineProperty = objectDefineProperty.f;
- var nativeGetOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
- var round = Math.round;
- var RangeError = global_1.RangeError;
- var ArrayBuffer = arrayBuffer.ArrayBuffer;
- var DataView = arrayBuffer.DataView;
- var NATIVE_ARRAY_BUFFER_VIEWS = arrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
- var TYPED_ARRAY_TAG = arrayBufferViewCore.TYPED_ARRAY_TAG;
- var TypedArray = arrayBufferViewCore.TypedArray;
- var TypedArrayPrototype = arrayBufferViewCore.TypedArrayPrototype;
- var aTypedArrayConstructor = arrayBufferViewCore.aTypedArrayConstructor;
- var isTypedArray = arrayBufferViewCore.isTypedArray;
- var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
- var WRONG_LENGTH = 'Wrong length';
-
- var fromList = function fromList(C, list) {
- var index = 0;
- var length = list.length;
- var result = new (aTypedArrayConstructor(C))(length);
-
- while (length > index) {
- result[index] = list[index++];
- }
-
- return result;
- };
-
- var addGetter = function addGetter(it, key) {
- nativeDefineProperty(it, key, {
- get: function get() {
- return getInternalState(this)[key];
- }
- });
- };
-
- var isArrayBuffer = function isArrayBuffer(it) {
- var klass;
- return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';
- };
-
- var isTypedArrayIndex = function isTypedArrayIndex(target, key) {
- return isTypedArray(target) && _typeof(key) != 'symbol' && key in target && String(+key) == String(key);
- };
-
- var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {
- return isTypedArrayIndex(target, key = toPrimitive(key, true)) ? createPropertyDescriptor(2, target[key]) : nativeGetOwnPropertyDescriptor(target, key);
- };
-
- var wrappedDefineProperty = function defineProperty(target, key, descriptor) {
- if (isTypedArrayIndex(target, key = toPrimitive(key, true)) && isObject(descriptor) && has(descriptor, 'value') && !has(descriptor, 'get') && !has(descriptor, 'set') // TODO: add validation descriptor w/o calling accessors
- && !descriptor.configurable && (!has(descriptor, 'writable') || descriptor.writable) && (!has(descriptor, 'enumerable') || descriptor.enumerable)) {
- target[key] = descriptor.value;
- return target;
- }
-
- return nativeDefineProperty(target, key, descriptor);
- };
-
- if (descriptors) {
- if (!NATIVE_ARRAY_BUFFER_VIEWS) {
- objectGetOwnPropertyDescriptor.f = wrappedGetOwnPropertyDescriptor;
- objectDefineProperty.f = wrappedDefineProperty;
- addGetter(TypedArrayPrototype, 'buffer');
- addGetter(TypedArrayPrototype, 'byteOffset');
- addGetter(TypedArrayPrototype, 'byteLength');
- addGetter(TypedArrayPrototype, 'length');
- }
-
- _export({
- target: 'Object',
- stat: true,
- forced: !NATIVE_ARRAY_BUFFER_VIEWS
- }, {
- getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,
- defineProperty: wrappedDefineProperty
- });
-
- module.exports = function (TYPE, wrapper, CLAMPED) {
- var BYTES = TYPE.match(/\d+$/)[0] / 8;
- var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';
- var GETTER = 'get' + TYPE;
- var SETTER = 'set' + TYPE;
- var NativeTypedArrayConstructor = global_1[CONSTRUCTOR_NAME];
- var TypedArrayConstructor = NativeTypedArrayConstructor;
- var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;
- var exported = {};
-
- var getter = function getter(that, index) {
- var data = getInternalState(that);
- return data.view[GETTER](index * BYTES + data.byteOffset, true);
- };
-
- var setter = function setter(that, index, value) {
- var data = getInternalState(that);
- if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;
- data.view[SETTER](index * BYTES + data.byteOffset, value, true);
- };
-
- var addElement = function addElement(that, index) {
- nativeDefineProperty(that, index, {
- get: function get() {
- return getter(this, index);
- },
- set: function set(value) {
- return setter(this, index, value);
- },
- enumerable: true
- });
- };
-
- if (!NATIVE_ARRAY_BUFFER_VIEWS) {
- TypedArrayConstructor = wrapper(function (that, data, offset, $length) {
- anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME);
- var index = 0;
- var byteOffset = 0;
- var buffer, byteLength, length;
-
- if (!isObject(data)) {
- length = toIndex(data);
- byteLength = length * BYTES;
- buffer = new ArrayBuffer(byteLength);
- } else if (isArrayBuffer(data)) {
- buffer = data;
- byteOffset = toOffset(offset, BYTES);
- var $len = data.byteLength;
-
- if ($length === undefined) {
- if ($len % BYTES) throw RangeError(WRONG_LENGTH);
- byteLength = $len - byteOffset;
- if (byteLength < 0) throw RangeError(WRONG_LENGTH);
- } else {
- byteLength = toLength($length) * BYTES;
- if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);
- }
-
- length = byteLength / BYTES;
- } else if (isTypedArray(data)) {
- return fromList(TypedArrayConstructor, data);
- } else {
- return typedArrayFrom.call(TypedArrayConstructor, data);
- }
-
- setInternalState(that, {
- buffer: buffer,
- byteOffset: byteOffset,
- byteLength: byteLength,
- length: length,
- view: new DataView(buffer)
- });
-
- while (index < length) {
- addElement(that, index++);
- }
- });
- if (objectSetPrototypeOf) objectSetPrototypeOf(TypedArrayConstructor, TypedArray);
- TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = objectCreate(TypedArrayPrototype);
- } else if (typedArrayConstructorsRequireWrappers) {
- TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
- anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME);
- return inheritIfRequired(function () {
- if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
- if (isArrayBuffer(data)) return $length !== undefined ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) : typedArrayOffset !== undefined ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) : new NativeTypedArrayConstructor(data);
- if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);
- return typedArrayFrom.call(TypedArrayConstructor, data);
- }(), dummy, TypedArrayConstructor);
- });
- if (objectSetPrototypeOf) objectSetPrototypeOf(TypedArrayConstructor, TypedArray);
- forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {
- if (!(key in TypedArrayConstructor)) {
- createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);
- }
- });
- TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;
- }
-
- if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {
- createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);
- }
-
- if (TYPED_ARRAY_TAG) {
- createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
- }
-
- exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;
- _export({
- global: true,
- forced: TypedArrayConstructor != NativeTypedArrayConstructor,
- sham: !NATIVE_ARRAY_BUFFER_VIEWS
- }, exported);
-
- if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
- createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
- }
-
- if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {
- createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);
- }
-
- setSpecies(CONSTRUCTOR_NAME);
- };
- } else module.exports = function () {
- /* empty */
- };
- });
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Float32', function (init) {
- return function Float32Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Float64', function (init) {
- return function Float64Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Int8', function (init) {
- return function Int8Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Int16', function (init) {
- return function Int16Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Int32', function (init) {
- return function Int32Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Uint8', function (init) {
- return function Uint8Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Uint8', function (init) {
- return function Uint8ClampedArray(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- }, true);
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Uint16', function (init) {
- return function Uint16Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- // https://tc39.github.io/ecma262/#sec-typedarray-objects
-
- typedArrayConstructor('Uint32', function (init) {
- return function Uint32Array(data, byteOffset, length) {
- return init(this, data, byteOffset, length);
- };
- });
-
- var aTypedArray$1 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$1 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.copyWithin` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin
-
- exportTypedArrayMethod$1('copyWithin', function copyWithin(target, start
- /* , end */
- ) {
- return arrayCopyWithin.call(aTypedArray$1(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
- });
-
- var $every$1 = arrayIteration.every;
- var aTypedArray$2 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$2 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.every` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every
-
- exportTypedArrayMethod$2('every', function every(callbackfn
- /* , thisArg */
- ) {
- return $every$1(aTypedArray$2(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var aTypedArray$3 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$3 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.fill` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill
- // eslint-disable-next-line no-unused-vars
-
- exportTypedArrayMethod$3('fill', function fill(value
- /* , start, end */
- ) {
- return arrayFill.apply(aTypedArray$3(this), arguments);
- });
-
- var $filter$1 = arrayIteration.filter;
- var aTypedArray$4 = arrayBufferViewCore.aTypedArray;
- var aTypedArrayConstructor$2 = arrayBufferViewCore.aTypedArrayConstructor;
- var exportTypedArrayMethod$4 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.filter` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter
-
- exportTypedArrayMethod$4('filter', function filter(callbackfn
- /* , thisArg */
- ) {
- var list = $filter$1(aTypedArray$4(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- var C = speciesConstructor(this, this.constructor);
- var index = 0;
- var length = list.length;
- var result = new (aTypedArrayConstructor$2(C))(length);
-
- while (length > index) {
- result[index] = list[index++];
- }
-
- return result;
- });
-
- var $find$1 = arrayIteration.find;
- var aTypedArray$5 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$5 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.find` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find
-
- exportTypedArrayMethod$5('find', function find(predicate
- /* , thisArg */
- ) {
- return $find$1(aTypedArray$5(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var $findIndex$1 = arrayIteration.findIndex;
- var aTypedArray$6 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$6 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.findIndex` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex
-
- exportTypedArrayMethod$6('findIndex', function findIndex(predicate
- /* , thisArg */
- ) {
- return $findIndex$1(aTypedArray$6(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var $forEach$2 = arrayIteration.forEach;
- var aTypedArray$7 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$7 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.forEach` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach
-
- exportTypedArrayMethod$7('forEach', function forEach(callbackfn
- /* , thisArg */
- ) {
- $forEach$2(aTypedArray$7(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var exportTypedArrayStaticMethod$1 = arrayBufferViewCore.exportTypedArrayStaticMethod; // `%TypedArray%.from` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.from
-
- exportTypedArrayStaticMethod$1('from', typedArrayFrom, typedArrayConstructorsRequireWrappers);
-
- var $includes$1 = arrayIncludes.includes;
- var aTypedArray$8 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$8 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.includes` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes
-
- exportTypedArrayMethod$8('includes', function includes(searchElement
- /* , fromIndex */
- ) {
- return $includes$1(aTypedArray$8(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var $indexOf$1 = arrayIncludes.indexOf;
- var aTypedArray$9 = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$9 = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.indexOf` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof
-
- exportTypedArrayMethod$9('indexOf', function indexOf(searchElement
- /* , fromIndex */
- ) {
- return $indexOf$1(aTypedArray$9(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var ITERATOR$5 = wellKnownSymbol('iterator');
- var Uint8Array$1 = global_1.Uint8Array;
- var arrayValues = es_array_iterator.values;
- var arrayKeys = es_array_iterator.keys;
- var arrayEntries = es_array_iterator.entries;
- var aTypedArray$a = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$a = arrayBufferViewCore.exportTypedArrayMethod;
- var nativeTypedArrayIterator = Uint8Array$1 && Uint8Array$1.prototype[ITERATOR$5];
- var CORRECT_ITER_NAME = !!nativeTypedArrayIterator && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined);
-
- var typedArrayValues = function values() {
- return arrayValues.call(aTypedArray$a(this));
- }; // `%TypedArray%.prototype.entries` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries
-
-
- exportTypedArrayMethod$a('entries', function entries() {
- return arrayEntries.call(aTypedArray$a(this));
- }); // `%TypedArray%.prototype.keys` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys
-
- exportTypedArrayMethod$a('keys', function keys() {
- return arrayKeys.call(aTypedArray$a(this));
- }); // `%TypedArray%.prototype.values` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values
-
- exportTypedArrayMethod$a('values', typedArrayValues, !CORRECT_ITER_NAME); // `%TypedArray%.prototype[@@iterator]` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator
-
- exportTypedArrayMethod$a(ITERATOR$5, typedArrayValues, !CORRECT_ITER_NAME);
-
- var aTypedArray$b = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$b = arrayBufferViewCore.exportTypedArrayMethod;
- var $join = [].join; // `%TypedArray%.prototype.join` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join
- // eslint-disable-next-line no-unused-vars
-
- exportTypedArrayMethod$b('join', function join(separator) {
- return $join.apply(aTypedArray$b(this), arguments);
- });
-
- var aTypedArray$c = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$c = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.lastIndexOf` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof
- // eslint-disable-next-line no-unused-vars
-
- exportTypedArrayMethod$c('lastIndexOf', function lastIndexOf(searchElement
- /* , fromIndex */
- ) {
- return arrayLastIndexOf.apply(aTypedArray$c(this), arguments);
- });
-
- var $map$1 = arrayIteration.map;
- var aTypedArray$d = arrayBufferViewCore.aTypedArray;
- var aTypedArrayConstructor$3 = arrayBufferViewCore.aTypedArrayConstructor;
- var exportTypedArrayMethod$d = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.map` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map
-
- exportTypedArrayMethod$d('map', function map(mapfn
- /* , thisArg */
- ) {
- return $map$1(aTypedArray$d(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
- return new (aTypedArrayConstructor$3(speciesConstructor(O, O.constructor)))(length);
- });
- });
-
- var aTypedArrayConstructor$4 = arrayBufferViewCore.aTypedArrayConstructor;
- var exportTypedArrayStaticMethod$2 = arrayBufferViewCore.exportTypedArrayStaticMethod; // `%TypedArray%.of` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.of
-
- exportTypedArrayStaticMethod$2('of', function of()
- /* ...items */
- {
- var index = 0;
- var length = arguments.length;
- var result = new (aTypedArrayConstructor$4(this))(length);
-
- while (length > index) {
- result[index] = arguments[index++];
- }
-
- return result;
- }, typedArrayConstructorsRequireWrappers);
-
- var $reduce$1 = arrayReduce.left;
- var aTypedArray$e = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$e = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.reduce` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce
-
- exportTypedArrayMethod$e('reduce', function reduce(callbackfn
- /* , initialValue */
- ) {
- return $reduce$1(aTypedArray$e(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var $reduceRight$1 = arrayReduce.right;
- var aTypedArray$f = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$f = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.reduceRicht` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright
-
- exportTypedArrayMethod$f('reduceRight', function reduceRight(callbackfn
- /* , initialValue */
- ) {
- return $reduceRight$1(aTypedArray$f(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var aTypedArray$g = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$g = arrayBufferViewCore.exportTypedArrayMethod;
- var floor$7 = Math.floor; // `%TypedArray%.prototype.reverse` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse
-
- exportTypedArrayMethod$g('reverse', function reverse() {
- var that = this;
- var length = aTypedArray$g(that).length;
- var middle = floor$7(length / 2);
- var index = 0;
- var value;
-
- while (index < middle) {
- value = that[index];
- that[index++] = that[--length];
- that[length] = value;
- }
-
- return that;
- });
-
- var aTypedArray$h = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$h = arrayBufferViewCore.exportTypedArrayMethod;
- var FORCED$i = fails(function () {
- // eslint-disable-next-line no-undef
- new Int8Array(1).set({});
- }); // `%TypedArray%.prototype.set` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set
-
- exportTypedArrayMethod$h('set', function set(arrayLike
- /* , offset */
- ) {
- aTypedArray$h(this);
- var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
- var length = this.length;
- var src = toObject(arrayLike);
- var len = toLength(src.length);
- var index = 0;
- if (len + offset > length) throw RangeError('Wrong length');
-
- while (index < len) {
- this[offset + index] = src[index++];
- }
- }, FORCED$i);
-
- var aTypedArray$i = arrayBufferViewCore.aTypedArray;
- var aTypedArrayConstructor$5 = arrayBufferViewCore.aTypedArrayConstructor;
- var exportTypedArrayMethod$i = arrayBufferViewCore.exportTypedArrayMethod;
- var $slice = [].slice;
- var FORCED$j = fails(function () {
- // eslint-disable-next-line no-undef
- new Int8Array(1).slice();
- }); // `%TypedArray%.prototype.slice` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice
-
- exportTypedArrayMethod$i('slice', function slice(start, end) {
- var list = $slice.call(aTypedArray$i(this), start, end);
- var C = speciesConstructor(this, this.constructor);
- var index = 0;
- var length = list.length;
- var result = new (aTypedArrayConstructor$5(C))(length);
-
- while (length > index) {
- result[index] = list[index++];
- }
-
- return result;
- }, FORCED$j);
-
- var $some$1 = arrayIteration.some;
- var aTypedArray$j = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$j = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.some` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some
-
- exportTypedArrayMethod$j('some', function some(callbackfn
- /* , thisArg */
- ) {
- return $some$1(aTypedArray$j(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
- });
-
- var aTypedArray$k = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$k = arrayBufferViewCore.exportTypedArrayMethod;
- var $sort = [].sort; // `%TypedArray%.prototype.sort` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort
-
- exportTypedArrayMethod$k('sort', function sort(comparefn) {
- return $sort.call(aTypedArray$k(this), comparefn);
- });
-
- var aTypedArray$l = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$l = arrayBufferViewCore.exportTypedArrayMethod; // `%TypedArray%.prototype.subarray` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray
-
- exportTypedArrayMethod$l('subarray', function subarray(begin, end) {
- var O = aTypedArray$l(this);
- var length = O.length;
- var beginIndex = toAbsoluteIndex(begin, length);
- return new (speciesConstructor(O, O.constructor))(O.buffer, O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex));
- });
-
- var Int8Array$3 = global_1.Int8Array;
- var aTypedArray$m = arrayBufferViewCore.aTypedArray;
- var exportTypedArrayMethod$m = arrayBufferViewCore.exportTypedArrayMethod;
- var $toLocaleString = [].toLocaleString;
- var $slice$1 = [].slice; // iOS Safari 6.x fails here
-
- var TO_LOCALE_STRING_BUG = !!Int8Array$3 && fails(function () {
- $toLocaleString.call(new Int8Array$3(1));
- });
- var FORCED$k = fails(function () {
- return [1, 2].toLocaleString() != new Int8Array$3([1, 2]).toLocaleString();
- }) || !fails(function () {
- Int8Array$3.prototype.toLocaleString.call([1, 2]);
- }); // `%TypedArray%.prototype.toLocaleString` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring
-
- exportTypedArrayMethod$m('toLocaleString', function toLocaleString() {
- return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice$1.call(aTypedArray$m(this)) : aTypedArray$m(this), arguments);
- }, FORCED$k);
-
- var exportTypedArrayMethod$n = arrayBufferViewCore.exportTypedArrayMethod;
- var Uint8Array$2 = global_1.Uint8Array;
- var Uint8ArrayPrototype = Uint8Array$2 && Uint8Array$2.prototype || {};
- var arrayToString = [].toString;
- var arrayJoin = [].join;
-
- if (fails(function () {
- arrayToString.call({});
- })) {
- arrayToString = function toString() {
- return arrayJoin.call(this);
- };
- }
-
- var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString; // `%TypedArray%.prototype.toString` method
- // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring
-
- exportTypedArrayMethod$n('toString', arrayToString, IS_NOT_ARRAY_METHOD);
-
- var getWeakData = internalMetadata.getWeakData;
- var setInternalState$8 = internalState.set;
- var internalStateGetterFor$1 = internalState.getterFor;
- var find = arrayIteration.find;
- var findIndex = arrayIteration.findIndex;
- var id$1 = 0; // fallback for uncaught frozen keys
-
- var uncaughtFrozenStore = function uncaughtFrozenStore(store) {
- return store.frozen || (store.frozen = new UncaughtFrozenStore());
- };
-
- var UncaughtFrozenStore = function UncaughtFrozenStore() {
- this.entries = [];
- };
-
- var findUncaughtFrozen = function findUncaughtFrozen(store, key) {
- return find(store.entries, function (it) {
- return it[0] === key;
- });
- };
-
- UncaughtFrozenStore.prototype = {
- get: function get(key) {
- var entry = findUncaughtFrozen(this, key);
- if (entry) return entry[1];
- },
- has: function has(key) {
- return !!findUncaughtFrozen(this, key);
- },
- set: function set(key, value) {
- var entry = findUncaughtFrozen(this, key);
- if (entry) entry[1] = value;else this.entries.push([key, value]);
- },
- 'delete': function _delete(key) {
- var index = findIndex(this.entries, function (it) {
- return it[0] === key;
- });
- if (~index) this.entries.splice(index, 1);
- return !!~index;
- }
- };
- var collectionWeak = {
- getConstructor: function getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
- var C = wrapper(function (that, iterable) {
- anInstance(that, C, CONSTRUCTOR_NAME);
- setInternalState$8(that, {
- type: CONSTRUCTOR_NAME,
- id: id$1++,
- frozen: undefined
- });
- if (iterable != undefined) iterate_1(iterable, that[ADDER], that, IS_MAP);
- });
- var getInternalState = internalStateGetterFor$1(CONSTRUCTOR_NAME);
-
- var define = function define(that, key, value) {
- var state = getInternalState(that);
- var data = getWeakData(anObject(key), true);
- if (data === true) uncaughtFrozenStore(state).set(key, value);else data[state.id] = value;
- return that;
- };
-
- redefineAll(C.prototype, {
- // 23.3.3.2 WeakMap.prototype.delete(key)
- // 23.4.3.3 WeakSet.prototype.delete(value)
- 'delete': function _delete(key) {
- var state = getInternalState(this);
- if (!isObject(key)) return false;
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state)['delete'](key);
- return data && has(data, state.id) && delete data[state.id];
- },
- // 23.3.3.4 WeakMap.prototype.has(key)
- // 23.4.3.4 WeakSet.prototype.has(value)
- has: function has$1(key) {
- var state = getInternalState(this);
- if (!isObject(key)) return false;
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state).has(key);
- return data && has(data, state.id);
- }
- });
- redefineAll(C.prototype, IS_MAP ? {
- // 23.3.3.3 WeakMap.prototype.get(key)
- get: function get(key) {
- var state = getInternalState(this);
-
- if (isObject(key)) {
- var data = getWeakData(key);
- if (data === true) return uncaughtFrozenStore(state).get(key);
- return data ? data[state.id] : undefined;
- }
- },
- // 23.3.3.5 WeakMap.prototype.set(key, value)
- set: function set(key, value) {
- return define(this, key, value);
- }
- } : {
- // 23.4.3.1 WeakSet.prototype.add(value)
- add: function add(value) {
- return define(this, value, true);
- }
- });
- return C;
- }
- };
-
- var es_weakMap = createCommonjsModule(function (module) {
-
- var enforceIternalState = internalState.enforce;
- var IS_IE11 = !global_1.ActiveXObject && 'ActiveXObject' in global_1;
- var isExtensible = Object.isExtensible;
- var InternalWeakMap;
-
- var wrapper = function wrapper(init) {
- return function WeakMap() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
- }; // `WeakMap` constructor
- // https://tc39.github.io/ecma262/#sec-weakmap-constructor
-
-
- var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak); // IE11 WeakMap frozen keys fix
- // We can't use feature detection because it crash some old IE builds
- // https://github.com/zloirock/core-js/issues/485
-
- if (nativeWeakMap && IS_IE11) {
- InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
- internalMetadata.REQUIRED = true;
- var WeakMapPrototype = $WeakMap.prototype;
- var nativeDelete = WeakMapPrototype['delete'];
- var nativeHas = WeakMapPrototype.has;
- var nativeGet = WeakMapPrototype.get;
- var nativeSet = WeakMapPrototype.set;
- redefineAll(WeakMapPrototype, {
- 'delete': function _delete(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeDelete.call(this, key) || state.frozen['delete'](key);
- }
-
- return nativeDelete.call(this, key);
- },
- has: function has(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeHas.call(this, key) || state.frozen.has(key);
- }
-
- return nativeHas.call(this, key);
- },
- get: function get(key) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
- }
-
- return nativeGet.call(this, key);
- },
- set: function set(key, value) {
- if (isObject(key) && !isExtensible(key)) {
- var state = enforceIternalState(this);
- if (!state.frozen) state.frozen = new InternalWeakMap();
- nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
- } else nativeSet.call(this, key, value);
-
- return this;
- }
- });
- }
- });
-
- // https://tc39.github.io/ecma262/#sec-weakset-constructor
-
-
- collection('WeakSet', function (init) {
- return function WeakSet() {
- return init(this, arguments.length ? arguments[0] : undefined);
- };
- }, collectionWeak);
-
- // iterable DOM collections
- // flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
- var domIterables = {
- CSSRuleList: 0,
- CSSStyleDeclaration: 0,
- CSSValueList: 0,
- ClientRectList: 0,
- DOMRectList: 0,
- DOMStringList: 0,
- DOMTokenList: 1,
- DataTransferItemList: 0,
- FileList: 0,
- HTMLAllCollection: 0,
- HTMLCollection: 0,
- HTMLFormElement: 0,
- HTMLSelectElement: 0,
- MediaList: 0,
- MimeTypeArray: 0,
- NamedNodeMap: 0,
- NodeList: 1,
- PaintRequestList: 0,
- Plugin: 0,
- PluginArray: 0,
- SVGLengthList: 0,
- SVGNumberList: 0,
- SVGPathSegList: 0,
- SVGPointList: 0,
- SVGStringList: 0,
- SVGTransformList: 0,
- SourceBufferList: 0,
- StyleSheetList: 0,
- TextTrackCueList: 0,
- TextTrackList: 0,
- TouchList: 0
- };
-
- for (var COLLECTION_NAME in domIterables) {
- var Collection = global_1[COLLECTION_NAME];
- var CollectionPrototype = Collection && Collection.prototype; // some Chrome versions have non-configurable methods on DOMTokenList
-
- if (CollectionPrototype && CollectionPrototype.forEach !== arrayForEach) try {
- createNonEnumerableProperty(CollectionPrototype, 'forEach', arrayForEach);
- } catch (error) {
- CollectionPrototype.forEach = arrayForEach;
- }
- }
-
- var ITERATOR$6 = wellKnownSymbol('iterator');
- var TO_STRING_TAG$4 = wellKnownSymbol('toStringTag');
- var ArrayValues = es_array_iterator.values;
-
- for (var COLLECTION_NAME$1 in domIterables) {
- var Collection$1 = global_1[COLLECTION_NAME$1];
- var CollectionPrototype$1 = Collection$1 && Collection$1.prototype;
-
- if (CollectionPrototype$1) {
- // some Chrome versions have non-configurable methods on DOMTokenList
- if (CollectionPrototype$1[ITERATOR$6] !== ArrayValues) try {
- createNonEnumerableProperty(CollectionPrototype$1, ITERATOR$6, ArrayValues);
- } catch (error) {
- CollectionPrototype$1[ITERATOR$6] = ArrayValues;
- }
-
- if (!CollectionPrototype$1[TO_STRING_TAG$4]) {
- createNonEnumerableProperty(CollectionPrototype$1, TO_STRING_TAG$4, COLLECTION_NAME$1);
- }
-
- if (domIterables[COLLECTION_NAME$1]) for (var METHOD_NAME in es_array_iterator) {
- // some Chrome versions have non-configurable methods on DOMTokenList
- if (CollectionPrototype$1[METHOD_NAME] !== es_array_iterator[METHOD_NAME]) try {
- createNonEnumerableProperty(CollectionPrototype$1, METHOD_NAME, es_array_iterator[METHOD_NAME]);
- } catch (error) {
- CollectionPrototype$1[METHOD_NAME] = es_array_iterator[METHOD_NAME];
- }
- }
- }
- }
-
- var FORCED$l = !global_1.setImmediate || !global_1.clearImmediate; // http://w3c.github.io/setImmediate/
-
- _export({
- global: true,
- bind: true,
- enumerable: true,
- forced: FORCED$l
- }, {
- // `setImmediate` method
- // http://w3c.github.io/setImmediate/#si-setImmediate
- setImmediate: task.set,
- // `clearImmediate` method
- // http://w3c.github.io/setImmediate/#si-clearImmediate
- clearImmediate: task.clear
- });
-
- var process$4 = global_1.process;
- var isNode = classofRaw(process$4) == 'process'; // `queueMicrotask` method
- // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask
-
- _export({
- global: true,
- enumerable: true,
- noTargetGet: true
- }, {
- queueMicrotask: function queueMicrotask(fn) {
- var domain = isNode && process$4.domain;
- microtask(domain ? domain.bind(fn) : fn);
- }
- });
-
- var ITERATOR$7 = wellKnownSymbol('iterator');
- var nativeUrl = !fails(function () {
- var url = new URL('b?a=1&b=2&c=3', 'http://a');
- var searchParams = url.searchParams;
- var result = '';
- url.pathname = 'c%20d';
- searchParams.forEach(function (value, key) {
- searchParams['delete']('b');
- result += key + value;
- });
- return isPure && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR$7] // throws in Edge
- || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' // not punycoded in Edge
- || new URL('http://тест').host !== 'xn--e1aybc' // not escaped in Chrome 62-
- || new URL('http://a#б').hash !== '#%D0%B1' // fails in Chrome 66-
- || result !== 'a1c3' // throws in Safari
- || new URL('http://x', undefined).host !== 'x';
- });
-
- var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
-
- var base = 36;
- var tMin = 1;
- var tMax = 26;
- var skew = 38;
- var damp = 700;
- var initialBias = 72;
- var initialN = 128; // 0x80
-
- var delimiter = '-'; // '\x2D'
-
- var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
-
- var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
-
- var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
- var baseMinusTMin = base - tMin;
- var floor$8 = Math.floor;
- var stringFromCharCode = String.fromCharCode;
- /**
- * Creates an array containing the numeric code points of each Unicode
- * character in the string. While JavaScript uses UCS-2 internally,
- * this function will convert a pair of surrogate halves (each of which
- * UCS-2 exposes as separate characters) into a single code point,
- * matching UTF-16.
- */
-
- var ucs2decode = function ucs2decode(string) {
- var output = [];
- var counter = 0;
- var length = string.length;
-
- while (counter < length) {
- var value = string.charCodeAt(counter++);
-
- if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
- // It's a high surrogate, and there is a next character.
- var extra = string.charCodeAt(counter++);
-
- if ((extra & 0xFC00) == 0xDC00) {
- // Low surrogate.
- output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
- } else {
- // It's an unmatched surrogate; only append this code unit, in case the
- // next code unit is the high surrogate of a surrogate pair.
- output.push(value);
- counter--;
- }
- } else {
- output.push(value);
- }
- }
-
- return output;
- };
- /**
- * Converts a digit/integer into a basic code point.
- */
-
-
- var digitToBasic = function digitToBasic(digit) {
- // 0..25 map to ASCII a..z or A..Z
- // 26..35 map to ASCII 0..9
- return digit + 22 + 75 * (digit < 26);
- };
- /**
- * Bias adaptation function as per section 3.4 of RFC 3492.
- * https://tools.ietf.org/html/rfc3492#section-3.4
- */
-
-
- var adapt = function adapt(delta, numPoints, firstTime) {
- var k = 0;
- delta = firstTime ? floor$8(delta / damp) : delta >> 1;
- delta += floor$8(delta / numPoints);
-
- for (; delta > baseMinusTMin * tMax >> 1; k += base) {
- delta = floor$8(delta / baseMinusTMin);
- }
-
- return floor$8(k + (baseMinusTMin + 1) * delta / (delta + skew));
- };
- /**
- * Converts a string of Unicode symbols (e.g. a domain name label) to a
- * Punycode string of ASCII-only symbols.
- */
- // eslint-disable-next-line max-statements
-
-
- var encode = function encode(input) {
- var output = []; // Convert the input in UCS-2 to an array of Unicode code points.
-
- input = ucs2decode(input); // Cache the length.
-
- var inputLength = input.length; // Initialize the state.
-
- var n = initialN;
- var delta = 0;
- var bias = initialBias;
- var i, currentValue; // Handle the basic code points.
-
- for (i = 0; i < input.length; i++) {
- currentValue = input[i];
-
- if (currentValue < 0x80) {
- output.push(stringFromCharCode(currentValue));
- }
- }
-
- var basicLength = output.length; // number of basic code points.
-
- var handledCPCount = basicLength; // number of code points that have been handled;
- // Finish the basic string with a delimiter unless it's empty.
-
- if (basicLength) {
- output.push(delimiter);
- } // Main encoding loop:
-
-
- while (handledCPCount < inputLength) {
- // All non-basic code points < n have been handled already. Find the next larger one:
- var m = maxInt;
-
- for (i = 0; i < input.length; i++) {
- currentValue = input[i];
-
- if (currentValue >= n && currentValue < m) {
- m = currentValue;
- }
- } // Increase `delta` enough to advance the decoder's state to , but guard against overflow.
-
-
- var handledCPCountPlusOne = handledCPCount + 1;
-
- if (m - n > floor$8((maxInt - delta) / handledCPCountPlusOne)) {
- throw RangeError(OVERFLOW_ERROR);
- }
-
- delta += (m - n) * handledCPCountPlusOne;
- n = m;
-
- for (i = 0; i < input.length; i++) {
- currentValue = input[i];
-
- if (currentValue < n && ++delta > maxInt) {
- throw RangeError(OVERFLOW_ERROR);
- }
-
- if (currentValue == n) {
- // Represent delta as a generalized variable-length integer.
- var q = delta;
-
- for (var k = base;;
- /* no condition */
- k += base) {
- var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
- if (q < t) break;
- var qMinusT = q - t;
- var baseMinusT = base - t;
- output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
- q = floor$8(qMinusT / baseMinusT);
- }
-
- output.push(stringFromCharCode(digitToBasic(q)));
- bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
- delta = 0;
- ++handledCPCount;
- }
- }
-
- ++delta;
- ++n;
- }
-
- return output.join('');
- };
-
- var stringPunycodeToAscii = function stringPunycodeToAscii(input) {
- var encoded = [];
- var labels = input.toLowerCase().replace(regexSeparators, ".").split('.');
- var i, label;
-
- for (i = 0; i < labels.length; i++) {
- label = labels[i];
- encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
- }
-
- return encoded.join('.');
- };
-
- var getIterator = function getIterator(it) {
- var iteratorMethod = getIteratorMethod(it);
-
- if (typeof iteratorMethod != 'function') {
- throw TypeError(String(it) + ' is not iterable');
- }
-
- return anObject(iteratorMethod.call(it));
- };
-
- var $fetch$1 = getBuiltIn('fetch');
- var Headers = getBuiltIn('Headers');
- var ITERATOR$8 = wellKnownSymbol('iterator');
- var URL_SEARCH_PARAMS = 'URLSearchParams';
- var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
- var setInternalState$9 = internalState.set;
- var getInternalParamsState = internalState.getterFor(URL_SEARCH_PARAMS);
- var getInternalIteratorState = internalState.getterFor(URL_SEARCH_PARAMS_ITERATOR);
- var plus = /\+/g;
- var sequences = Array(4);
-
- var percentSequence = function percentSequence(bytes) {
- return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
- };
-
- var percentDecode = function percentDecode(sequence) {
- try {
- return decodeURIComponent(sequence);
- } catch (error) {
- return sequence;
- }
- };
-
- var deserialize = function deserialize(it) {
- var result = it.replace(plus, ' ');
- var bytes = 4;
-
- try {
- return decodeURIComponent(result);
- } catch (error) {
- while (bytes) {
- result = result.replace(percentSequence(bytes--), percentDecode);
- }
-
- return result;
- }
- };
-
- var find$1 = /[!'()~]|%20/g;
- var replace = {
- '!': '%21',
- "'": '%27',
- '(': '%28',
- ')': '%29',
- '~': '%7E',
- '%20': '+'
- };
-
- var replacer = function replacer(match) {
- return replace[match];
- };
-
- var serialize = function serialize(it) {
- return encodeURIComponent(it).replace(find$1, replacer);
- };
-
- var parseSearchParams = function parseSearchParams(result, query) {
- if (query) {
- var attributes = query.split('&');
- var index = 0;
- var attribute, entry;
-
- while (index < attributes.length) {
- attribute = attributes[index++];
-
- if (attribute.length) {
- entry = attribute.split('=');
- result.push({
- key: deserialize(entry.shift()),
- value: deserialize(entry.join('='))
- });
- }
- }
- }
- };
-
- var updateSearchParams = function updateSearchParams(query) {
- this.entries.length = 0;
- parseSearchParams(this.entries, query);
- };
-
- var validateArgumentsLength = function validateArgumentsLength(passed, required) {
- if (passed < required) throw TypeError('Not enough arguments');
- };
-
- var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
- setInternalState$9(this, {
- type: URL_SEARCH_PARAMS_ITERATOR,
- iterator: getIterator(getInternalParamsState(params).entries),
- kind: kind
- });
- }, 'Iterator', function next() {
- var state = getInternalIteratorState(this);
- var kind = state.kind;
- var step = state.iterator.next();
- var entry = step.value;
-
- if (!step.done) {
- step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
- }
-
- return step;
- }); // `URLSearchParams` constructor
- // https://url.spec.whatwg.org/#interface-urlsearchparams
-
- var URLSearchParamsConstructor = function URLSearchParams()
- /* init */
- {
- anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
- var init = arguments.length > 0 ? arguments[0] : undefined;
- var that = this;
- var entries = [];
- var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
- setInternalState$9(that, {
- type: URL_SEARCH_PARAMS,
- entries: entries,
- updateURL: function updateURL() {
- /* empty */
- },
- updateSearchParams: updateSearchParams
- });
-
- if (init !== undefined) {
- if (isObject(init)) {
- iteratorMethod = getIteratorMethod(init);
-
- if (typeof iteratorMethod === 'function') {
- iterator = iteratorMethod.call(init);
- next = iterator.next;
-
- while (!(step = next.call(iterator)).done) {
- entryIterator = getIterator(anObject(step.value));
- entryNext = entryIterator.next;
- if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done) throw TypeError('Expected sequence with length 2');
- entries.push({
- key: first.value + '',
- value: second.value + ''
- });
- }
- } else for (key in init) {
- if (has(init, key)) entries.push({
- key: key,
- value: init[key] + ''
- });
- }
- } else {
- parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
- }
- }
- };
-
- var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
- redefineAll(URLSearchParamsPrototype, {
- // `URLSearchParams.prototype.appent` method
- // https://url.spec.whatwg.org/#dom-urlsearchparams-append
- append: function append(name, value) {
- validateArgumentsLength(arguments.length, 2);
- var state = getInternalParamsState(this);
- state.entries.push({
- key: name + '',
- value: value + ''
- });
- state.updateURL();
- },
- // `URLSearchParams.prototype.delete` method
- // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
- 'delete': function _delete(name) {
- validateArgumentsLength(arguments.length, 1);
- var state = getInternalParamsState(this);
- var entries = state.entries;
- var key = name + '';
- var index = 0;
-
- while (index < entries.length) {
- if (entries[index].key === key) entries.splice(index, 1);else index++;
- }
-
- state.updateURL();
- },
- // `URLSearchParams.prototype.get` method
- // https://url.spec.whatwg.org/#dom-urlsearchparams-get
- get: function get(name) {
- validateArgumentsLength(arguments.length, 1);
- var entries = getInternalParamsState(this).entries;
- var key = name + '';
- var index = 0;
-
- for (; index < entries.length; index++) {
- if (entries[index].key === key) return entries[index].value;
- }
-
- return null;
- },
- // `URLSearchParams.prototype.getAll` method
- // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
- getAll: function getAll(name) {
- validateArgumentsLength(arguments.length, 1);
- var entries = getInternalParamsState(this).entries;
- var key = name + '';
- var result = [];
- var index = 0;
-
- for (; index < entries.length; index++) {
- if (entries[index].key === key) result.push(entries[index].value);
- }
-
- return result;
- },
- // `URLSearchParams.prototype.has` method
- // https://url.spec.whatwg.org/#dom-urlsearchparams-has
- has: function has(name) {
- validateArgumentsLength(arguments.length, 1);
- var entries = getInternalParamsState(this).entries;
- var key = name + '';
- var index = 0;
-
- while (index < entries.length) {
- if (entries[index++].key === key) return true;
- }
-
- return false;
- },
- // `URLSearchParams.prototype.set` method
- // https://url.spec.whatwg.org/#dom-urlsearchparams-set
- set: function set(name, value) {
- validateArgumentsLength(arguments.length, 1);
- var state = getInternalParamsState(this);
- var entries = state.entries;
- var found = false;
- var key = name + '';
- var val = value + '';
- var index = 0;
- var entry;
-
- for (; index < entries.length; index++) {
- entry = entries[index];
-
- if (entry.key === key) {
- if (found) entries.splice(index--, 1);else {
- found = true;
- entry.value = val;
- }
- }
- }
-
- if (!found) entries.push({
- key: key,
- value: val
- });
- state.updateURL();
- },
- // `URLSearchParams.prototype.sort` method
- // https://url.spec.whatwg.org/#dom-urlsearchparams-sort
- sort: function sort() {
- var state = getInternalParamsState(this);
- var entries = state.entries; // Array#sort is not stable in some engines
-
- var slice = entries.slice();
- var entry, entriesIndex, sliceIndex;
- entries.length = 0;
-
- for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
- entry = slice[sliceIndex];
-
- for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
- if (entries[entriesIndex].key > entry.key) {
- entries.splice(entriesIndex, 0, entry);
- break;
- }
- }
-
- if (entriesIndex === sliceIndex) entries.push(entry);
- }
-
- state.updateURL();
- },
- // `URLSearchParams.prototype.forEach` method
- forEach: function forEach(callback
- /* , thisArg */
- ) {
- var entries = getInternalParamsState(this).entries;
- var boundFunction = functionBindContext(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
- var index = 0;
- var entry;
-
- while (index < entries.length) {
- entry = entries[index++];
- boundFunction(entry.value, entry.key, this);
- }
- },
- // `URLSearchParams.prototype.keys` method
- keys: function keys() {
- return new URLSearchParamsIterator(this, 'keys');
- },
- // `URLSearchParams.prototype.values` method
- values: function values() {
- return new URLSearchParamsIterator(this, 'values');
- },
- // `URLSearchParams.prototype.entries` method
- entries: function entries() {
- return new URLSearchParamsIterator(this, 'entries');
- }
- }, {
- enumerable: true
- }); // `URLSearchParams.prototype[@@iterator]` method
-
- redefine(URLSearchParamsPrototype, ITERATOR$8, URLSearchParamsPrototype.entries); // `URLSearchParams.prototype.toString` method
- // https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
-
- redefine(URLSearchParamsPrototype, 'toString', function toString() {
- var entries = getInternalParamsState(this).entries;
- var result = [];
- var index = 0;
- var entry;
-
- while (index < entries.length) {
- entry = entries[index++];
- result.push(serialize(entry.key) + '=' + serialize(entry.value));
- }
-
- return result.join('&');
- }, {
- enumerable: true
- });
- setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
- _export({
- global: true,
- forced: !nativeUrl
- }, {
- URLSearchParams: URLSearchParamsConstructor
- }); // Wrap `fetch` for correct work with polyfilled `URLSearchParams`
- // https://github.com/zloirock/core-js/issues/674
-
- if (!nativeUrl && typeof $fetch$1 == 'function' && typeof Headers == 'function') {
- _export({
- global: true,
- enumerable: true,
- forced: true
- }, {
- fetch: function fetch(input
- /* , init */
- ) {
- var args = [input];
- var init, body, headers;
-
- if (arguments.length > 1) {
- init = arguments[1];
-
- if (isObject(init)) {
- body = init.body;
-
- if (classof(body) === URL_SEARCH_PARAMS) {
- headers = init.headers ? new Headers(init.headers) : new Headers();
-
- if (!headers.has('content-type')) {
- headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
- }
-
- init = objectCreate(init, {
- body: createPropertyDescriptor(0, String(body)),
- headers: createPropertyDescriptor(0, headers)
- });
- }
- }
-
- args.push(init);
- }
-
- return $fetch$1.apply(this, args);
- }
- });
- }
-
- var web_urlSearchParams = {
- URLSearchParams: URLSearchParamsConstructor,
- getState: getInternalParamsState
- };
-
- var codeAt$1 = stringMultibyte.codeAt;
- var NativeURL = global_1.URL;
- var URLSearchParams$1 = web_urlSearchParams.URLSearchParams;
- var getInternalSearchParamsState = web_urlSearchParams.getState;
- var setInternalState$a = internalState.set;
- var getInternalURLState = internalState.getterFor('URL');
- var floor$9 = Math.floor;
- var pow$4 = Math.pow;
- var INVALID_AUTHORITY = 'Invalid authority';
- var INVALID_SCHEME = 'Invalid scheme';
- var INVALID_HOST = 'Invalid host';
- var INVALID_PORT = 'Invalid port';
- var ALPHA = /[A-Za-z]/;
- var ALPHANUMERIC = /[\d+-.A-Za-z]/;
- var DIGIT = /\d/;
- var HEX_START = /^(0x|0X)/;
- var OCT = /^[0-7]+$/;
- var DEC = /^\d+$/;
- var HEX = /^[\dA-Fa-f]+$/; // eslint-disable-next-line no-control-regex
-
- var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; // eslint-disable-next-line no-control-regex
-
- var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; // eslint-disable-next-line no-control-regex
-
- var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; // eslint-disable-next-line no-control-regex
-
- var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
- var EOF;
-
- var parseHost = function parseHost(url, input) {
- var result, codePoints, index;
-
- if (input.charAt(0) == '[') {
- if (input.charAt(input.length - 1) != ']') return INVALID_HOST;
- result = parseIPv6(input.slice(1, -1));
- if (!result) return INVALID_HOST;
- url.host = result; // opaque host
- } else if (!isSpecial(url)) {
- if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST;
- result = '';
- codePoints = arrayFrom(input);
-
- for (index = 0; index < codePoints.length; index++) {
- result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
- }
-
- url.host = result;
- } else {
- input = stringPunycodeToAscii(input);
- if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST;
- result = parseIPv4(input);
- if (result === null) return INVALID_HOST;
- url.host = result;
- }
- };
-
- var parseIPv4 = function parseIPv4(input) {
- var parts = input.split('.');
- var partsLength, numbers, index, part, radix, number, ipv4;
-
- if (parts.length && parts[parts.length - 1] == '') {
- parts.pop();
- }
-
- partsLength = parts.length;
- if (partsLength > 4) return input;
- numbers = [];
-
- for (index = 0; index < partsLength; index++) {
- part = parts[index];
- if (part == '') return input;
- radix = 10;
-
- if (part.length > 1 && part.charAt(0) == '0') {
- radix = HEX_START.test(part) ? 16 : 8;
- part = part.slice(radix == 8 ? 1 : 2);
- }
-
- if (part === '') {
- number = 0;
- } else {
- if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input;
- number = parseInt(part, radix);
- }
-
- numbers.push(number);
- }
-
- for (index = 0; index < partsLength; index++) {
- number = numbers[index];
-
- if (index == partsLength - 1) {
- if (number >= pow$4(256, 5 - partsLength)) return null;
- } else if (number > 255) return null;
- }
-
- ipv4 = numbers.pop();
-
- for (index = 0; index < numbers.length; index++) {
- ipv4 += numbers[index] * pow$4(256, 3 - index);
- }
-
- return ipv4;
- }; // eslint-disable-next-line max-statements
-
-
- var parseIPv6 = function parseIPv6(input) {
- var address = [0, 0, 0, 0, 0, 0, 0, 0];
- var pieceIndex = 0;
- var compress = null;
- var pointer = 0;
- var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
-
- var _char = function _char() {
- return input.charAt(pointer);
- };
-
- if (_char() == ':') {
- if (input.charAt(1) != ':') return;
- pointer += 2;
- pieceIndex++;
- compress = pieceIndex;
- }
-
- while (_char()) {
- if (pieceIndex == 8) return;
-
- if (_char() == ':') {
- if (compress !== null) return;
- pointer++;
- pieceIndex++;
- compress = pieceIndex;
- continue;
- }
-
- value = length = 0;
-
- while (length < 4 && HEX.test(_char())) {
- value = value * 16 + parseInt(_char(), 16);
- pointer++;
- length++;
- }
-
- if (_char() == '.') {
- if (length == 0) return;
- pointer -= length;
- if (pieceIndex > 6) return;
- numbersSeen = 0;
-
- while (_char()) {
- ipv4Piece = null;
-
- if (numbersSeen > 0) {
- if (_char() == '.' && numbersSeen < 4) pointer++;else return;
- }
-
- if (!DIGIT.test(_char())) return;
-
- while (DIGIT.test(_char())) {
- number = parseInt(_char(), 10);
- if (ipv4Piece === null) ipv4Piece = number;else if (ipv4Piece == 0) return;else ipv4Piece = ipv4Piece * 10 + number;
- if (ipv4Piece > 255) return;
- pointer++;
- }
-
- address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
- numbersSeen++;
- if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
- }
-
- if (numbersSeen != 4) return;
- break;
- } else if (_char() == ':') {
- pointer++;
- if (!_char()) return;
- } else if (_char()) return;
-
- address[pieceIndex++] = value;
- }
-
- if (compress !== null) {
- swaps = pieceIndex - compress;
- pieceIndex = 7;
-
- while (pieceIndex != 0 && swaps > 0) {
- swap = address[pieceIndex];
- address[pieceIndex--] = address[compress + swaps - 1];
- address[compress + --swaps] = swap;
- }
- } else if (pieceIndex != 8) return;
-
- return address;
- };
-
- var findLongestZeroSequence = function findLongestZeroSequence(ipv6) {
- var maxIndex = null;
- var maxLength = 1;
- var currStart = null;
- var currLength = 0;
- var index = 0;
-
- for (; index < 8; index++) {
- if (ipv6[index] !== 0) {
- if (currLength > maxLength) {
- maxIndex = currStart;
- maxLength = currLength;
- }
-
- currStart = null;
- currLength = 0;
- } else {
- if (currStart === null) currStart = index;
- ++currLength;
- }
- }
-
- if (currLength > maxLength) {
- maxIndex = currStart;
- maxLength = currLength;
- }
-
- return maxIndex;
- };
-
- var serializeHost = function serializeHost(host) {
- var result, index, compress, ignore0; // ipv4
-
- if (typeof host == 'number') {
- result = [];
-
- for (index = 0; index < 4; index++) {
- result.unshift(host % 256);
- host = floor$9(host / 256);
- }
-
- return result.join('.'); // ipv6
- } else if (_typeof(host) == 'object') {
- result = '';
- compress = findLongestZeroSequence(host);
-
- for (index = 0; index < 8; index++) {
- if (ignore0 && host[index] === 0) continue;
- if (ignore0) ignore0 = false;
-
- if (compress === index) {
- result += index ? ':' : '::';
- ignore0 = true;
- } else {
- result += host[index].toString(16);
- if (index < 7) result += ':';
- }
- }
-
- return '[' + result + ']';
- }
-
- return host;
- };
-
- var C0ControlPercentEncodeSet = {};
- var fragmentPercentEncodeSet = objectAssign({}, C0ControlPercentEncodeSet, {
- ' ': 1,
- '"': 1,
- '<': 1,
- '>': 1,
- '`': 1
- });
- var pathPercentEncodeSet = objectAssign({}, fragmentPercentEncodeSet, {
- '#': 1,
- '?': 1,
- '{': 1,
- '}': 1
- });
- var userinfoPercentEncodeSet = objectAssign({}, pathPercentEncodeSet, {
- '/': 1,
- ':': 1,
- ';': 1,
- '=': 1,
- '@': 1,
- '[': 1,
- '\\': 1,
- ']': 1,
- '^': 1,
- '|': 1
- });
-
- var percentEncode = function percentEncode(_char2, set) {
- var code = codeAt$1(_char2, 0);
- return code > 0x20 && code < 0x7F && !has(set, _char2) ? _char2 : encodeURIComponent(_char2);
- };
-
- var specialSchemes = {
- ftp: 21,
- file: null,
- http: 80,
- https: 443,
- ws: 80,
- wss: 443
- };
-
- var isSpecial = function isSpecial(url) {
- return has(specialSchemes, url.scheme);
- };
-
- var includesCredentials = function includesCredentials(url) {
- return url.username != '' || url.password != '';
- };
-
- var cannotHaveUsernamePasswordPort = function cannotHaveUsernamePasswordPort(url) {
- return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
- };
-
- var isWindowsDriveLetter = function isWindowsDriveLetter(string, normalized) {
- var second;
- return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');
- };
-
- var startsWithWindowsDriveLetter = function startsWithWindowsDriveLetter(string) {
- var third;
- return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || (third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#');
- };
-
- var shortenURLsPath = function shortenURLsPath(url) {
- var path = url.path;
- var pathSize = path.length;
-
- if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
- path.pop();
- }
- };
-
- var isSingleDot = function isSingleDot(segment) {
- return segment === '.' || segment.toLowerCase() === '%2e';
- };
-
- var isDoubleDot = function isDoubleDot(segment) {
- segment = segment.toLowerCase();
- return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
- }; // States:
-
-
- var SCHEME_START = {};
- var SCHEME = {};
- var NO_SCHEME = {};
- var SPECIAL_RELATIVE_OR_AUTHORITY = {};
- var PATH_OR_AUTHORITY = {};
- var RELATIVE = {};
- var RELATIVE_SLASH = {};
- var SPECIAL_AUTHORITY_SLASHES = {};
- var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
- var AUTHORITY = {};
- var HOST = {};
- var HOSTNAME = {};
- var PORT = {};
- var FILE = {};
- var FILE_SLASH = {};
- var FILE_HOST = {};
- var PATH_START = {};
- var PATH = {};
- var CANNOT_BE_A_BASE_URL_PATH = {};
- var QUERY = {};
- var FRAGMENT = {}; // eslint-disable-next-line max-statements
-
- var parseURL = function parseURL(url, input, stateOverride, base) {
- var state = stateOverride || SCHEME_START;
- var pointer = 0;
- var buffer = '';
- var seenAt = false;
- var seenBracket = false;
- var seenPasswordToken = false;
-
- var codePoints, _char3, bufferCodePoints, failure;
-
- if (!stateOverride) {
- url.scheme = '';
- url.username = '';
- url.password = '';
- url.host = null;
- url.port = null;
- url.path = [];
- url.query = null;
- url.fragment = null;
- url.cannotBeABaseURL = false;
- input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
- }
-
- input = input.replace(TAB_AND_NEW_LINE, '');
- codePoints = arrayFrom(input);
-
- while (pointer <= codePoints.length) {
- _char3 = codePoints[pointer];
-
- switch (state) {
- case SCHEME_START:
- if (_char3 && ALPHA.test(_char3)) {
- buffer += _char3.toLowerCase();
- state = SCHEME;
- } else if (!stateOverride) {
- state = NO_SCHEME;
- continue;
- } else return INVALID_SCHEME;
-
- break;
-
- case SCHEME:
- if (_char3 && (ALPHANUMERIC.test(_char3) || _char3 == '+' || _char3 == '-' || _char3 == '.')) {
- buffer += _char3.toLowerCase();
- } else if (_char3 == ':') {
- if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host)) return;
- url.scheme = buffer;
-
- if (stateOverride) {
- if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null;
- return;
- }
-
- buffer = '';
-
- if (url.scheme == 'file') {
- state = FILE;
- } else if (isSpecial(url) && base && base.scheme == url.scheme) {
- state = SPECIAL_RELATIVE_OR_AUTHORITY;
- } else if (isSpecial(url)) {
- state = SPECIAL_AUTHORITY_SLASHES;
- } else if (codePoints[pointer + 1] == '/') {
- state = PATH_OR_AUTHORITY;
- pointer++;
- } else {
- url.cannotBeABaseURL = true;
- url.path.push('');
- state = CANNOT_BE_A_BASE_URL_PATH;
- }
- } else if (!stateOverride) {
- buffer = '';
- state = NO_SCHEME;
- pointer = 0;
- continue;
- } else return INVALID_SCHEME;
-
- break;
-
- case NO_SCHEME:
- if (!base || base.cannotBeABaseURL && _char3 != '#') return INVALID_SCHEME;
-
- if (base.cannotBeABaseURL && _char3 == '#') {
- url.scheme = base.scheme;
- url.path = base.path.slice();
- url.query = base.query;
- url.fragment = '';
- url.cannotBeABaseURL = true;
- state = FRAGMENT;
- break;
- }
-
- state = base.scheme == 'file' ? FILE : RELATIVE;
- continue;
-
- case SPECIAL_RELATIVE_OR_AUTHORITY:
- if (_char3 == '/' && codePoints[pointer + 1] == '/') {
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
- pointer++;
- } else {
- state = RELATIVE;
- continue;
- }
-
- break;
-
- case PATH_OR_AUTHORITY:
- if (_char3 == '/') {
- state = AUTHORITY;
- break;
- } else {
- state = PATH;
- continue;
- }
-
- case RELATIVE:
- url.scheme = base.scheme;
-
- if (_char3 == EOF) {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- url.path = base.path.slice();
- url.query = base.query;
- } else if (_char3 == '/' || _char3 == '\\' && isSpecial(url)) {
- state = RELATIVE_SLASH;
- } else if (_char3 == '?') {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- url.path = base.path.slice();
- url.query = '';
- state = QUERY;
- } else if (_char3 == '#') {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- url.path = base.path.slice();
- url.query = base.query;
- url.fragment = '';
- state = FRAGMENT;
- } else {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- url.path = base.path.slice();
- url.path.pop();
- state = PATH;
- continue;
- }
-
- break;
-
- case RELATIVE_SLASH:
- if (isSpecial(url) && (_char3 == '/' || _char3 == '\\')) {
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
- } else if (_char3 == '/') {
- state = AUTHORITY;
- } else {
- url.username = base.username;
- url.password = base.password;
- url.host = base.host;
- url.port = base.port;
- state = PATH;
- continue;
- }
-
- break;
-
- case SPECIAL_AUTHORITY_SLASHES:
- state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
- if (_char3 != '/' || buffer.charAt(pointer + 1) != '/') continue;
- pointer++;
- break;
-
- case SPECIAL_AUTHORITY_IGNORE_SLASHES:
- if (_char3 != '/' && _char3 != '\\') {
- state = AUTHORITY;
- continue;
- }
-
- break;
-
- case AUTHORITY:
- if (_char3 == '@') {
- if (seenAt) buffer = '%40' + buffer;
- seenAt = true;
- bufferCodePoints = arrayFrom(buffer);
-
- for (var i = 0; i < bufferCodePoints.length; i++) {
- var codePoint = bufferCodePoints[i];
-
- if (codePoint == ':' && !seenPasswordToken) {
- seenPasswordToken = true;
- continue;
- }
-
- var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
- if (seenPasswordToken) url.password += encodedCodePoints;else url.username += encodedCodePoints;
- }
-
- buffer = '';
- } else if (_char3 == EOF || _char3 == '/' || _char3 == '?' || _char3 == '#' || _char3 == '\\' && isSpecial(url)) {
- if (seenAt && buffer == '') return INVALID_AUTHORITY;
- pointer -= arrayFrom(buffer).length + 1;
- buffer = '';
- state = HOST;
- } else buffer += _char3;
-
- break;
-
- case HOST:
- case HOSTNAME:
- if (stateOverride && url.scheme == 'file') {
- state = FILE_HOST;
- continue;
- } else if (_char3 == ':' && !seenBracket) {
- if (buffer == '') return INVALID_HOST;
- failure = parseHost(url, buffer);
- if (failure) return failure;
- buffer = '';
- state = PORT;
- if (stateOverride == HOSTNAME) return;
- } else if (_char3 == EOF || _char3 == '/' || _char3 == '?' || _char3 == '#' || _char3 == '\\' && isSpecial(url)) {
- if (isSpecial(url) && buffer == '') return INVALID_HOST;
- if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return;
- failure = parseHost(url, buffer);
- if (failure) return failure;
- buffer = '';
- state = PATH_START;
- if (stateOverride) return;
- continue;
- } else {
- if (_char3 == '[') seenBracket = true;else if (_char3 == ']') seenBracket = false;
- buffer += _char3;
- }
-
- break;
-
- case PORT:
- if (DIGIT.test(_char3)) {
- buffer += _char3;
- } else if (_char3 == EOF || _char3 == '/' || _char3 == '?' || _char3 == '#' || _char3 == '\\' && isSpecial(url) || stateOverride) {
- if (buffer != '') {
- var port = parseInt(buffer, 10);
- if (port > 0xFFFF) return INVALID_PORT;
- url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
- buffer = '';
- }
-
- if (stateOverride) return;
- state = PATH_START;
- continue;
- } else return INVALID_PORT;
-
- break;
-
- case FILE:
- url.scheme = 'file';
- if (_char3 == '/' || _char3 == '\\') state = FILE_SLASH;else if (base && base.scheme == 'file') {
- if (_char3 == EOF) {
- url.host = base.host;
- url.path = base.path.slice();
- url.query = base.query;
- } else if (_char3 == '?') {
- url.host = base.host;
- url.path = base.path.slice();
- url.query = '';
- state = QUERY;
- } else if (_char3 == '#') {
- url.host = base.host;
- url.path = base.path.slice();
- url.query = base.query;
- url.fragment = '';
- state = FRAGMENT;
- } else {
- if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
- url.host = base.host;
- url.path = base.path.slice();
- shortenURLsPath(url);
- }
-
- state = PATH;
- continue;
- }
- } else {
- state = PATH;
- continue;
- }
- break;
-
- case FILE_SLASH:
- if (_char3 == '/' || _char3 == '\\') {
- state = FILE_HOST;
- break;
- }
-
- if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
- if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]);else url.host = base.host;
- }
-
- state = PATH;
- continue;
-
- case FILE_HOST:
- if (_char3 == EOF || _char3 == '/' || _char3 == '\\' || _char3 == '?' || _char3 == '#') {
- if (!stateOverride && isWindowsDriveLetter(buffer)) {
- state = PATH;
- } else if (buffer == '') {
- url.host = '';
- if (stateOverride) return;
- state = PATH_START;
- } else {
- failure = parseHost(url, buffer);
- if (failure) return failure;
- if (url.host == 'localhost') url.host = '';
- if (stateOverride) return;
- buffer = '';
- state = PATH_START;
- }
-
- continue;
- } else buffer += _char3;
-
- break;
-
- case PATH_START:
- if (isSpecial(url)) {
- state = PATH;
- if (_char3 != '/' && _char3 != '\\') continue;
- } else if (!stateOverride && _char3 == '?') {
- url.query = '';
- state = QUERY;
- } else if (!stateOverride && _char3 == '#') {
- url.fragment = '';
- state = FRAGMENT;
- } else if (_char3 != EOF) {
- state = PATH;
- if (_char3 != '/') continue;
- }
-
- break;
-
- case PATH:
- if (_char3 == EOF || _char3 == '/' || _char3 == '\\' && isSpecial(url) || !stateOverride && (_char3 == '?' || _char3 == '#')) {
- if (isDoubleDot(buffer)) {
- shortenURLsPath(url);
-
- if (_char3 != '/' && !(_char3 == '\\' && isSpecial(url))) {
- url.path.push('');
- }
- } else if (isSingleDot(buffer)) {
- if (_char3 != '/' && !(_char3 == '\\' && isSpecial(url))) {
- url.path.push('');
- }
- } else {
- if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
- if (url.host) url.host = '';
- buffer = buffer.charAt(0) + ':'; // normalize windows drive letter
- }
-
- url.path.push(buffer);
- }
-
- buffer = '';
-
- if (url.scheme == 'file' && (_char3 == EOF || _char3 == '?' || _char3 == '#')) {
- while (url.path.length > 1 && url.path[0] === '') {
- url.path.shift();
- }
- }
-
- if (_char3 == '?') {
- url.query = '';
- state = QUERY;
- } else if (_char3 == '#') {
- url.fragment = '';
- state = FRAGMENT;
- }
- } else {
- buffer += percentEncode(_char3, pathPercentEncodeSet);
- }
-
- break;
-
- case CANNOT_BE_A_BASE_URL_PATH:
- if (_char3 == '?') {
- url.query = '';
- state = QUERY;
- } else if (_char3 == '#') {
- url.fragment = '';
- state = FRAGMENT;
- } else if (_char3 != EOF) {
- url.path[0] += percentEncode(_char3, C0ControlPercentEncodeSet);
- }
-
- break;
-
- case QUERY:
- if (!stateOverride && _char3 == '#') {
- url.fragment = '';
- state = FRAGMENT;
- } else if (_char3 != EOF) {
- if (_char3 == "'" && isSpecial(url)) url.query += '%27';else if (_char3 == '#') url.query += '%23';else url.query += percentEncode(_char3, C0ControlPercentEncodeSet);
- }
-
- break;
-
- case FRAGMENT:
- if (_char3 != EOF) url.fragment += percentEncode(_char3, fragmentPercentEncodeSet);
- break;
- }
-
- pointer++;
- }
- }; // `URL` constructor
- // https://url.spec.whatwg.org/#url-class
-
-
- var URLConstructor = function URL(url
- /* , base */
- ) {
- var that = anInstance(this, URLConstructor, 'URL');
- var base = arguments.length > 1 ? arguments[1] : undefined;
- var urlString = String(url);
- var state = setInternalState$a(that, {
- type: 'URL'
- });
- var baseState, failure;
-
- if (base !== undefined) {
- if (base instanceof URLConstructor) baseState = getInternalURLState(base);else {
- failure = parseURL(baseState = {}, String(base));
- if (failure) throw TypeError(failure);
- }
- }
-
- failure = parseURL(state, urlString, null, baseState);
- if (failure) throw TypeError(failure);
- var searchParams = state.searchParams = new URLSearchParams$1();
- var searchParamsState = getInternalSearchParamsState(searchParams);
- searchParamsState.updateSearchParams(state.query);
-
- searchParamsState.updateURL = function () {
- state.query = String(searchParams) || null;
- };
-
- if (!descriptors) {
- that.href = serializeURL.call(that);
- that.origin = getOrigin.call(that);
- that.protocol = getProtocol.call(that);
- that.username = getUsername.call(that);
- that.password = getPassword.call(that);
- that.host = getHost.call(that);
- that.hostname = getHostname.call(that);
- that.port = getPort.call(that);
- that.pathname = getPathname.call(that);
- that.search = getSearch.call(that);
- that.searchParams = getSearchParams.call(that);
- that.hash = getHash.call(that);
- }
- };
-
- var URLPrototype = URLConstructor.prototype;
-
- var serializeURL = function serializeURL() {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var username = url.username;
- var password = url.password;
- var host = url.host;
- var port = url.port;
- var path = url.path;
- var query = url.query;
- var fragment = url.fragment;
- var output = scheme + ':';
-
- if (host !== null) {
- output += '//';
-
- if (includesCredentials(url)) {
- output += username + (password ? ':' + password : '') + '@';
- }
-
- output += serializeHost(host);
- if (port !== null) output += ':' + port;
- } else if (scheme == 'file') output += '//';
-
- output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
- if (query !== null) output += '?' + query;
- if (fragment !== null) output += '#' + fragment;
- return output;
- };
-
- var getOrigin = function getOrigin() {
- var url = getInternalURLState(this);
- var scheme = url.scheme;
- var port = url.port;
- if (scheme == 'blob') try {
- return new URL(scheme.path[0]).origin;
- } catch (error) {
- return 'null';
- }
- if (scheme == 'file' || !isSpecial(url)) return 'null';
- return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
- };
-
- var getProtocol = function getProtocol() {
- return getInternalURLState(this).scheme + ':';
- };
-
- var getUsername = function getUsername() {
- return getInternalURLState(this).username;
- };
-
- var getPassword = function getPassword() {
- return getInternalURLState(this).password;
- };
-
- var getHost = function getHost() {
- var url = getInternalURLState(this);
- var host = url.host;
- var port = url.port;
- return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
- };
-
- var getHostname = function getHostname() {
- var host = getInternalURLState(this).host;
- return host === null ? '' : serializeHost(host);
- };
-
- var getPort = function getPort() {
- var port = getInternalURLState(this).port;
- return port === null ? '' : String(port);
- };
-
- var getPathname = function getPathname() {
- var url = getInternalURLState(this);
- var path = url.path;
- return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
- };
-
- var getSearch = function getSearch() {
- var query = getInternalURLState(this).query;
- return query ? '?' + query : '';
- };
-
- var getSearchParams = function getSearchParams() {
- return getInternalURLState(this).searchParams;
- };
-
- var getHash = function getHash() {
- var fragment = getInternalURLState(this).fragment;
- return fragment ? '#' + fragment : '';
- };
-
- var accessorDescriptor = function accessorDescriptor(getter, setter) {
- return {
- get: getter,
- set: setter,
- configurable: true,
- enumerable: true
- };
- };
-
- if (descriptors) {
- objectDefineProperties(URLPrototype, {
- // `URL.prototype.href` accessors pair
- // https://url.spec.whatwg.org/#dom-url-href
- href: accessorDescriptor(serializeURL, function (href) {
- var url = getInternalURLState(this);
- var urlString = String(href);
- var failure = parseURL(url, urlString);
- if (failure) throw TypeError(failure);
- getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
- }),
- // `URL.prototype.origin` getter
- // https://url.spec.whatwg.org/#dom-url-origin
- origin: accessorDescriptor(getOrigin),
- // `URL.prototype.protocol` accessors pair
- // https://url.spec.whatwg.org/#dom-url-protocol
- protocol: accessorDescriptor(getProtocol, function (protocol) {
- var url = getInternalURLState(this);
- parseURL(url, String(protocol) + ':', SCHEME_START);
- }),
- // `URL.prototype.username` accessors pair
- // https://url.spec.whatwg.org/#dom-url-username
- username: accessorDescriptor(getUsername, function (username) {
- var url = getInternalURLState(this);
- var codePoints = arrayFrom(String(username));
- if (cannotHaveUsernamePasswordPort(url)) return;
- url.username = '';
-
- for (var i = 0; i < codePoints.length; i++) {
- url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
- }
- }),
- // `URL.prototype.password` accessors pair
- // https://url.spec.whatwg.org/#dom-url-password
- password: accessorDescriptor(getPassword, function (password) {
- var url = getInternalURLState(this);
- var codePoints = arrayFrom(String(password));
- if (cannotHaveUsernamePasswordPort(url)) return;
- url.password = '';
-
- for (var i = 0; i < codePoints.length; i++) {
- url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
- }
- }),
- // `URL.prototype.host` accessors pair
- // https://url.spec.whatwg.org/#dom-url-host
- host: accessorDescriptor(getHost, function (host) {
- var url = getInternalURLState(this);
- if (url.cannotBeABaseURL) return;
- parseURL(url, String(host), HOST);
- }),
- // `URL.prototype.hostname` accessors pair
- // https://url.spec.whatwg.org/#dom-url-hostname
- hostname: accessorDescriptor(getHostname, function (hostname) {
- var url = getInternalURLState(this);
- if (url.cannotBeABaseURL) return;
- parseURL(url, String(hostname), HOSTNAME);
- }),
- // `URL.prototype.port` accessors pair
- // https://url.spec.whatwg.org/#dom-url-port
- port: accessorDescriptor(getPort, function (port) {
- var url = getInternalURLState(this);
- if (cannotHaveUsernamePasswordPort(url)) return;
- port = String(port);
- if (port == '') url.port = null;else parseURL(url, port, PORT);
- }),
- // `URL.prototype.pathname` accessors pair
- // https://url.spec.whatwg.org/#dom-url-pathname
- pathname: accessorDescriptor(getPathname, function (pathname) {
- var url = getInternalURLState(this);
- if (url.cannotBeABaseURL) return;
- url.path = [];
- parseURL(url, pathname + '', PATH_START);
- }),
- // `URL.prototype.search` accessors pair
- // https://url.spec.whatwg.org/#dom-url-search
- search: accessorDescriptor(getSearch, function (search) {
- var url = getInternalURLState(this);
- search = String(search);
-
- if (search == '') {
- url.query = null;
- } else {
- if ('?' == search.charAt(0)) search = search.slice(1);
- url.query = '';
- parseURL(url, search, QUERY);
- }
-
- getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
- }),
- // `URL.prototype.searchParams` getter
- // https://url.spec.whatwg.org/#dom-url-searchparams
- searchParams: accessorDescriptor(getSearchParams),
- // `URL.prototype.hash` accessors pair
- // https://url.spec.whatwg.org/#dom-url-hash
- hash: accessorDescriptor(getHash, function (hash) {
- var url = getInternalURLState(this);
- hash = String(hash);
-
- if (hash == '') {
- url.fragment = null;
- return;
- }
-
- if ('#' == hash.charAt(0)) hash = hash.slice(1);
- url.fragment = '';
- parseURL(url, hash, FRAGMENT);
- })
- });
- } // `URL.prototype.toJSON` method
- // https://url.spec.whatwg.org/#dom-url-tojson
-
-
- redefine(URLPrototype, 'toJSON', function toJSON() {
- return serializeURL.call(this);
- }, {
- enumerable: true
- }); // `URL.prototype.toString` method
- // https://url.spec.whatwg.org/#URL-stringification-behavior
-
- redefine(URLPrototype, 'toString', function toString() {
- return serializeURL.call(this);
- }, {
- enumerable: true
- });
-
- if (NativeURL) {
- var nativeCreateObjectURL = NativeURL.createObjectURL;
- var nativeRevokeObjectURL = NativeURL.revokeObjectURL; // `URL.createObjectURL` method
- // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
- // eslint-disable-next-line no-unused-vars
-
- if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
- return nativeCreateObjectURL.apply(NativeURL, arguments);
- }); // `URL.revokeObjectURL` method
- // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
- // eslint-disable-next-line no-unused-vars
-
- if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
- return nativeRevokeObjectURL.apply(NativeURL, arguments);
- });
- }
-
- setToStringTag(URLConstructor, 'URL');
- _export({
- global: true,
- forced: !nativeUrl,
- sham: !descriptors
- }, {
- URL: URLConstructor
- });
-
- // https://url.spec.whatwg.org/#dom-url-tojson
-
-
- _export({
- target: 'URL',
- proto: true,
- enumerable: true
- }, {
- toJSON: function toJSON() {
- return URL.prototype.toString.call(this);
- }
- });
-
- var runtime_1 = createCommonjsModule(function (module) {
- /**
- * Copyright (c) 2014-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- var runtime = function (exports) {
-
- var Op = Object.prototype;
- var hasOwn = Op.hasOwnProperty;
- var undefined$1; // More compressible than void 0.
-
- var $Symbol = typeof Symbol === "function" ? Symbol : {};
- var iteratorSymbol = $Symbol.iterator || "@@iterator";
- var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
- var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
- function define(obj, key, value) {
- Object.defineProperty(obj, key, {
- value: value,
- enumerable: true,
- configurable: true,
- writable: true
- });
- return obj[key];
- }
-
- try {
- // IE 8 has a broken Object.defineProperty that only works on DOM objects.
- define({}, "");
- } catch (err) {
- define = function define(obj, key, value) {
- return obj[key] = value;
- };
- }
-
- function wrap(innerFn, outerFn, self, tryLocsList) {
- // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
- var generator = Object.create(protoGenerator.prototype);
- var context = new Context(tryLocsList || []); // The ._invoke method unifies the implementations of the .next,
- // .throw, and .return methods.
-
- generator._invoke = makeInvokeMethod(innerFn, self, context);
- return generator;
- }
-
- exports.wrap = wrap; // Try/catch helper to minimize deoptimizations. Returns a completion
- // record like context.tryEntries[i].completion. This interface could
- // have been (and was previously) designed to take a closure to be
- // invoked without arguments, but in all the cases we care about we
- // already have an existing method we want to call, so there's no need
- // to create a new function object. We can even get away with assuming
- // the method takes exactly one argument, since that happens to be true
- // in every case, so we don't have to touch the arguments object. The
- // only additional allocation required is the completion record, which
- // has a stable shape and so hopefully should be cheap to allocate.
-
- function tryCatch(fn, obj, arg) {
- try {
- return {
- type: "normal",
- arg: fn.call(obj, arg)
- };
- } catch (err) {
- return {
- type: "throw",
- arg: err
- };
- }
- }
-
- var GenStateSuspendedStart = "suspendedStart";
- var GenStateSuspendedYield = "suspendedYield";
- var GenStateExecuting = "executing";
- var GenStateCompleted = "completed"; // Returning this object from the innerFn has the same effect as
- // breaking out of the dispatch switch statement.
-
- var ContinueSentinel = {}; // Dummy constructor functions that we use as the .constructor and
- // .constructor.prototype properties for functions that return Generator
- // objects. For full spec compliance, you may wish to configure your
- // minifier not to mangle the names of these two functions.
-
- function Generator() {}
-
- function GeneratorFunction() {}
-
- function GeneratorFunctionPrototype() {} // This is a polyfill for %IteratorPrototype% for environments that
- // don't natively support it.
-
-
- var IteratorPrototype = {};
-
- IteratorPrototype[iteratorSymbol] = function () {
- return this;
- };
-
- var getProto = Object.getPrototypeOf;
- var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
-
- if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
- // This environment has a native %IteratorPrototype%; use it instead
- // of the polyfill.
- IteratorPrototype = NativeIteratorPrototype;
- }
-
- var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
- GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"); // Helper for defining the .next, .throw, and .return methods of the
- // Iterator interface in terms of a single ._invoke method.
-
- function defineIteratorMethods(prototype) {
- ["next", "throw", "return"].forEach(function (method) {
- define(prototype, method, function (arg) {
- return this._invoke(method, arg);
- });
- });
- }
-
- exports.isGeneratorFunction = function (genFun) {
- var ctor = typeof genFun === "function" && genFun.constructor;
- return ctor ? ctor === GeneratorFunction || // For the native GeneratorFunction constructor, the best we can
- // do is to check its .name property.
- (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
- };
-
- exports.mark = function (genFun) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
- } else {
- genFun.__proto__ = GeneratorFunctionPrototype;
- define(genFun, toStringTagSymbol, "GeneratorFunction");
- }
-
- genFun.prototype = Object.create(Gp);
- return genFun;
- }; // Within the body of any async function, `await x` is transformed to
- // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
- // `hasOwn.call(value, "__await")` to determine if the yielded value is
- // meant to be awaited.
-
-
- exports.awrap = function (arg) {
- return {
- __await: arg
- };
- };
-
- function AsyncIterator(generator, PromiseImpl) {
- function invoke(method, arg, resolve, reject) {
- var record = tryCatch(generator[method], generator, arg);
-
- if (record.type === "throw") {
- reject(record.arg);
- } else {
- var result = record.arg;
- var value = result.value;
-
- if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
- return PromiseImpl.resolve(value.__await).then(function (value) {
- invoke("next", value, resolve, reject);
- }, function (err) {
- invoke("throw", err, resolve, reject);
- });
- }
-
- return PromiseImpl.resolve(value).then(function (unwrapped) {
- // When a yielded Promise is resolved, its final value becomes
- // the .value of the Promise<{value,done}> result for the
- // current iteration.
- result.value = unwrapped;
- resolve(result);
- }, function (error) {
- // If a rejected Promise was yielded, throw the rejection back
- // into the async generator function so it can be handled there.
- return invoke("throw", error, resolve, reject);
- });
- }
- }
-
- var previousPromise;
-
- function enqueue(method, arg) {
- function callInvokeWithMethodAndArg() {
- return new PromiseImpl(function (resolve, reject) {
- invoke(method, arg, resolve, reject);
- });
- }
-
- 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
- // enqueue has not been called before, then it is important to
- // call invoke immediately, without waiting on a callback to fire,
- // so that the async generator function has the opportunity to do
- // any necessary setup in a predictable way. This predictability
- // is why the Promise constructor synchronously invokes its
- // executor callback, and why async functions synchronously
- // 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(callInvokeWithMethodAndArg, // Avoid propagating failures to Promises returned by later
- // invocations of the iterator.
- callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
- } // Define the unified helper method that is used to implement .next,
- // .throw, and .return (see defineIteratorMethods).
-
-
- this._invoke = enqueue;
- }
-
- defineIteratorMethods(AsyncIterator.prototype);
-
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
- return this;
- };
-
- exports.AsyncIterator = AsyncIterator; // Note that simple async functions are implemented on top of
- // AsyncIterator objects; they just return a Promise for the value of
- // the final result produced by the iterator.
-
- exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
- if (PromiseImpl === void 0) PromiseImpl = Promise;
- var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
- return exports.isGeneratorFunction(outerFn) ? iter // If outerFn is a generator, return the full iterator.
- : iter.next().then(function (result) {
- return result.done ? result.value : iter.next();
- });
- };
-
- function makeInvokeMethod(innerFn, self, context) {
- var state = GenStateSuspendedStart;
- return function invoke(method, arg) {
- if (state === GenStateExecuting) {
- throw new Error("Generator is already running");
- }
-
- if (state === GenStateCompleted) {
- if (method === "throw") {
- throw arg;
- } // Be forgiving, per 25.3.3.3.3 of the spec:
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
-
-
- return doneResult();
- }
-
- context.method = method;
- context.arg = arg;
-
- while (true) {
- var delegate = context.delegate;
-
- if (delegate) {
- var delegateResult = maybeInvokeDelegate(delegate, context);
-
- if (delegateResult) {
- if (delegateResult === ContinueSentinel) continue;
- return delegateResult;
- }
- }
-
- if (context.method === "next") {
- // Setting context._sent for legacy support of Babel's
- // function.sent implementation.
- context.sent = context._sent = context.arg;
- } else if (context.method === "throw") {
- if (state === GenStateSuspendedStart) {
- state = GenStateCompleted;
- throw context.arg;
- }
-
- context.dispatchException(context.arg);
- } else if (context.method === "return") {
- context.abrupt("return", context.arg);
- }
-
- state = GenStateExecuting;
- var record = tryCatch(innerFn, self, context);
-
- if (record.type === "normal") {
- // If an exception is thrown from innerFn, we leave state ===
- // GenStateExecuting and loop back for another invocation.
- state = context.done ? GenStateCompleted : GenStateSuspendedYield;
-
- if (record.arg === ContinueSentinel) {
- continue;
- }
-
- return {
- value: record.arg,
- done: context.done
- };
- } else if (record.type === "throw") {
- state = GenStateCompleted; // Dispatch the exception by looping back around to the
- // context.dispatchException(context.arg) call above.
-
- context.method = "throw";
- context.arg = record.arg;
- }
- }
- };
- } // Call delegate.iterator[context.method](context.arg) and handle the
- // result, either by returning a { value, done } result from the
- // delegate iterator, or by modifying context.method and context.arg,
- // setting context.delegate to null, and returning the ContinueSentinel.
-
-
- function maybeInvokeDelegate(delegate, context) {
- var method = delegate.iterator[context.method];
-
- if (method === undefined$1) {
- // A .throw or .return when the delegate iterator has no .throw
- // method always terminates the yield* loop.
- context.delegate = null;
-
- if (context.method === "throw") {
- // Note: ["return"] must be used for ES3 parsing compatibility.
- if (delegate.iterator["return"]) {
- // If the delegate iterator has a return method, give it a
- // chance to clean up.
- context.method = "return";
- context.arg = undefined$1;
- maybeInvokeDelegate(delegate, context);
-
- if (context.method === "throw") {
- // If maybeInvokeDelegate(context) changed context.method from
- // "return" to "throw", let that override the TypeError below.
- return ContinueSentinel;
- }
- }
-
- context.method = "throw";
- context.arg = new TypeError("The iterator does not provide a 'throw' method");
- }
-
- return ContinueSentinel;
- }
-
- var record = tryCatch(method, delegate.iterator, context.arg);
-
- if (record.type === "throw") {
- context.method = "throw";
- context.arg = record.arg;
- context.delegate = null;
- return ContinueSentinel;
- }
-
- var info = record.arg;
-
- if (!info) {
- context.method = "throw";
- context.arg = new TypeError("iterator result is not an object");
- context.delegate = null;
- return ContinueSentinel;
- }
-
- if (info.done) {
- // Assign the result of the finished delegate to the temporary
- // variable specified by delegate.resultName (see delegateYield).
- context[delegate.resultName] = info.value; // Resume execution at the desired location (see delegateYield).
-
- context.next = delegate.nextLoc; // If context.method was "throw" but the delegate handled the
- // exception, let the outer generator proceed normally. If
- // context.method was "next", forget context.arg since it has been
- // "consumed" by the delegate iterator. If context.method was
- // "return", allow the original .return call to continue in the
- // outer generator.
-
- if (context.method !== "return") {
- context.method = "next";
- context.arg = undefined$1;
- }
- } else {
- // Re-yield the result returned by the delegate method.
- return info;
- } // The delegate iterator is finished, so forget it and continue with
- // the outer generator.
-
-
- context.delegate = null;
- return ContinueSentinel;
- } // Define Generator.prototype.{next,throw,return} in terms of the
- // unified ._invoke helper method.
-
-
- defineIteratorMethods(Gp);
- define(Gp, toStringTagSymbol, "Generator"); // A Generator should always return itself as the iterator object when the
- // @@iterator function is called on it. Some browsers' implementations of the
- // iterator prototype chain incorrectly implement this, causing the Generator
- // object to not be returned from this call. This ensures that doesn't happen.
- // See https://github.com/facebook/regenerator/issues/274 for more details.
-
- Gp[iteratorSymbol] = function () {
- return this;
- };
-
- Gp.toString = function () {
- return "[object Generator]";
- };
-
- function pushTryEntry(locs) {
- var entry = {
- tryLoc: locs[0]
- };
-
- if (1 in locs) {
- entry.catchLoc = locs[1];
- }
-
- if (2 in locs) {
- entry.finallyLoc = locs[2];
- entry.afterLoc = locs[3];
- }
-
- this.tryEntries.push(entry);
- }
-
- function resetTryEntry(entry) {
- var record = entry.completion || {};
- record.type = "normal";
- delete record.arg;
- entry.completion = record;
- }
-
- function Context(tryLocsList) {
- // The root entry object (effectively a try statement without a catch
- // or a finally block) gives us a place to store values thrown from
- // locations where there is no enclosing try statement.
- this.tryEntries = [{
- tryLoc: "root"
- }];
- tryLocsList.forEach(pushTryEntry, this);
- this.reset(true);
- }
-
- exports.keys = function (object) {
- var keys = [];
-
- for (var key in object) {
- keys.push(key);
- }
-
- keys.reverse(); // Rather than returning an object with a next method, we keep
- // things simple and return the next function itself.
-
- return function next() {
- while (keys.length) {
- var key = keys.pop();
-
- if (key in object) {
- next.value = key;
- next.done = false;
- return next;
- }
- } // To avoid creating an additional object, we just hang the .value
- // and .done properties off the next function object itself. This
- // also ensures that the minifier will not anonymize the function.
-
-
- next.done = true;
- return next;
- };
- };
-
- function values(iterable) {
- if (iterable) {
- var iteratorMethod = iterable[iteratorSymbol];
-
- if (iteratorMethod) {
- return iteratorMethod.call(iterable);
- }
-
- if (typeof iterable.next === "function") {
- return iterable;
- }
-
- if (!isNaN(iterable.length)) {
- var i = -1,
- next = function next() {
- while (++i < iterable.length) {
- if (hasOwn.call(iterable, i)) {
- next.value = iterable[i];
- next.done = false;
- return next;
- }
- }
-
- next.value = undefined$1;
- next.done = true;
- return next;
- };
-
- return next.next = next;
- }
- } // Return an iterator with no values.
-
-
- return {
- next: doneResult
- };
- }
-
- exports.values = values;
-
- function doneResult() {
- return {
- value: undefined$1,
- done: true
- };
- }
-
- Context.prototype = {
- constructor: Context,
- reset: function reset(skipTempReset) {
- this.prev = 0;
- this.next = 0; // Resetting context._sent for legacy support of Babel's
- // function.sent implementation.
-
- this.sent = this._sent = undefined$1;
- this.done = false;
- this.delegate = null;
- this.method = "next";
- this.arg = undefined$1;
- this.tryEntries.forEach(resetTryEntry);
-
- if (!skipTempReset) {
- for (var name in this) {
- // Not sure about the optimal order of these conditions:
- if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
- this[name] = undefined$1;
- }
- }
- }
- },
- stop: function stop() {
- this.done = true;
- var rootEntry = this.tryEntries[0];
- var rootRecord = rootEntry.completion;
-
- if (rootRecord.type === "throw") {
- throw rootRecord.arg;
- }
-
- return this.rval;
- },
- dispatchException: function dispatchException(exception) {
- if (this.done) {
- throw exception;
- }
-
- var context = this;
-
- function handle(loc, caught) {
- record.type = "throw";
- record.arg = exception;
- context.next = loc;
-
- if (caught) {
- // If the dispatched exception was caught by a catch block,
- // then let that catch block handle the exception normally.
- context.method = "next";
- context.arg = undefined$1;
- }
-
- return !!caught;
- }
-
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- var record = entry.completion;
-
- if (entry.tryLoc === "root") {
- // Exception thrown outside of any try block that could handle
- // it, so set the completion value of the entire function to
- // throw the exception.
- return handle("end");
- }
-
- if (entry.tryLoc <= this.prev) {
- var hasCatch = hasOwn.call(entry, "catchLoc");
- var hasFinally = hasOwn.call(entry, "finallyLoc");
-
- if (hasCatch && hasFinally) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- } else if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
- } else if (hasCatch) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- }
- } else if (hasFinally) {
- if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
- } else {
- throw new Error("try statement without catch or finally");
- }
- }
- }
- },
- abrupt: function abrupt(type, arg) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
- var finallyEntry = entry;
- break;
- }
- }
-
- if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
- // Ignore the finally entry if control is not jumping to a
- // location outside the try/catch block.
- finallyEntry = null;
- }
-
- var record = finallyEntry ? finallyEntry.completion : {};
- record.type = type;
- record.arg = arg;
-
- if (finallyEntry) {
- this.method = "next";
- this.next = finallyEntry.finallyLoc;
- return ContinueSentinel;
- }
-
- return this.complete(record);
- },
- complete: function complete(record, afterLoc) {
- if (record.type === "throw") {
- throw record.arg;
- }
-
- if (record.type === "break" || record.type === "continue") {
- this.next = record.arg;
- } else if (record.type === "return") {
- this.rval = this.arg = record.arg;
- this.method = "return";
- this.next = "end";
- } else if (record.type === "normal" && afterLoc) {
- this.next = afterLoc;
- }
-
- return ContinueSentinel;
- },
- finish: function finish(finallyLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.finallyLoc === finallyLoc) {
- this.complete(entry.completion, entry.afterLoc);
- resetTryEntry(entry);
- return ContinueSentinel;
- }
- }
- },
- "catch": function _catch(tryLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
-
- if (entry.tryLoc === tryLoc) {
- var record = entry.completion;
-
- if (record.type === "throw") {
- var thrown = record.arg;
- resetTryEntry(entry);
- }
-
- return thrown;
- }
- } // The context.catch method must only be called with a location
- // argument that corresponds to a known catch block.
-
-
- throw new Error("illegal catch attempt");
- },
- delegateYield: function delegateYield(iterable, resultName, nextLoc) {
- this.delegate = {
- iterator: values(iterable),
- resultName: resultName,
- nextLoc: nextLoc
- };
-
- if (this.method === "next") {
- // Deliberately forget the last sent value so that we don't
- // accidentally pass it on to the delegate.
- this.arg = undefined$1;
- }
-
- return ContinueSentinel;
- }
- }; // Regardless of whether this script is executing as a CommonJS module
- // or not, return the runtime object so that we can declare the variable
- // regeneratorRuntime in the outer scope, which allows this module to be
- // injected easily by `bin/regenerator --include-runtime script.js`.
-
- return exports;
- }( // If this script is executing as a CommonJS module, use module.exports
- // as the regeneratorRuntime namespace. Otherwise create a new empty
- // object. Either way, the resulting object will be used to initialize
- // the regeneratorRuntime variable at the top of this file.
- module.exports );
-
- try {
- regeneratorRuntime = runtime;
- } catch (accidentalStrictMode) {
- // This module should not be running in strict mode, so the above
- // assignment should always work unless something is misconfigured. Just
- // in case runtime.js accidentally runs in strict mode, we can escape
- // strict mode using a global Function call. This could conceivably fail
- // if a Content Security Policy forbids using Function, but in that case
- // the proper solution is to fix the accidental strict mode problem. If
- // you've misconfigured your bundler to force strict mode and applied a
- // CSP to forbid Function, and you're not willing to fix either of those
- // problems, please detail your unique predicament in a GitHub issue.
- Function("r", "regeneratorRuntime = r")(runtime);
- }
- });
-
- // http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript/
-
- /**
- *
- * @param {Event} ev
- * @returns {void}
- */
- function touchHandler(ev) {
- var changedTouches = ev.changedTouches,
- first = changedTouches[0];
- var type = '';
-
- switch (ev.type) {
- case 'touchstart':
- type = 'mousedown';
- break;
-
- case 'touchmove':
- type = 'mousemove';
- break;
-
- case 'touchend':
- type = 'mouseup';
- break;
-
- default:
- return;
- }
-
- var screenX = first.screenX,
- screenY = first.screenY,
- clientX = first.clientX,
- clientY = first.clientY; // eslint-disable-line no-shadow
-
- var simulatedEvent = new MouseEvent(type, {
- // Event interface
- bubbles: true,
- cancelable: true,
- // UIEvent interface
- view: window,
- detail: 1,
- // click count
- // MouseEvent interface (customized)
- screenX: screenX,
- screenY: screenY,
- clientX: clientX,
- clientY: clientY,
- // MouseEvent interface (defaults) - these could be removed
- ctrlKey: false,
- altKey: false,
- shiftKey: false,
- metaKey: false,
- button: 0,
- // main button (usually left)
- relatedTarget: null
- });
-
- if (changedTouches.length < 2) {
- first.target.dispatchEvent(simulatedEvent);
- ev.preventDefault();
- }
- }
-
- document.addEventListener('touchstart', touchHandler, true);
- document.addEventListener('touchmove', touchHandler, true);
- document.addEventListener('touchend', touchHandler, true);
- document.addEventListener('touchcancel', touchHandler, true);
-
- /**
- * Namespaces or tools therefor.
- * @module namespaces
- * @license MIT
- */
-
- /**
- * Common namepaces constants in alpha order.
- * @enum {string}
- * @type {PlainObject}
- * @memberof module:namespaces
- */
- var NS = {
- HTML: 'http://www.w3.org/1999/xhtml',
- MATH: 'http://www.w3.org/1998/Math/MathML',
- SE: 'http://svg-edit.googlecode.com',
- SVG: 'http://www.w3.org/2000/svg',
- XLINK: 'http://www.w3.org/1999/xlink',
- XML: 'http://www.w3.org/XML/1998/namespace',
- XMLNS: 'http://www.w3.org/2000/xmlns/' // see http://www.w3.org/TR/REC-xml-names/#xmlReserved
-
- };
- /**
- * @function module:namespaces.getReverseNS
- * @returns {string} The NS with key values switched and lowercase
- */
-
- var getReverseNS = function getReverseNS() {
- var reverseNS = {};
- Object.entries(NS).forEach(function (_ref) {
- var _ref2 = _slicedToArray(_ref, 2),
- name = _ref2[0],
- URI = _ref2[1];
-
- reverseNS[URI] = name.toLowerCase();
- });
- return reverseNS;
- };
-
- /* eslint-disable import/unambiguous, max-len */
-
- /* globals SVGPathSeg, SVGPathSegMovetoRel, SVGPathSegMovetoAbs,
- SVGPathSegMovetoRel, SVGPathSegLinetoRel, SVGPathSegLinetoAbs,
- SVGPathSegLinetoHorizontalRel, SVGPathSegLinetoHorizontalAbs,
- SVGPathSegLinetoVerticalRel, SVGPathSegLinetoVerticalAbs,
- SVGPathSegClosePath, SVGPathSegCurvetoCubicRel,
- SVGPathSegCurvetoCubicAbs, SVGPathSegCurvetoCubicSmoothRel,
- SVGPathSegCurvetoCubicSmoothAbs, SVGPathSegCurvetoQuadraticRel,
- SVGPathSegCurvetoQuadraticAbs, SVGPathSegCurvetoQuadraticSmoothRel,
- SVGPathSegCurvetoQuadraticSmoothAbs, SVGPathSegArcRel, SVGPathSegArcAbs */
-
- /**
- * SVGPathSeg API polyfill
- * https://github.com/progers/pathseg
- *
- * This is a drop-in replacement for the `SVGPathSeg` and `SVGPathSegList` APIs
- * that were removed from SVG2 ({@link https://lists.w3.org/Archives/Public/www-svg/2015Jun/0044.html}),
- * including the latest spec changes which were implemented in Firefox 43 and
- * Chrome 46.
- */
-
- /* eslint-disable no-shadow, class-methods-use-this, jsdoc/require-jsdoc */
- // Linting: We avoid `no-shadow` as ESLint thinks these are still available globals
- // Linting: We avoid `class-methods-use-this` as this is a polyfill that must
- // follow the conventions
- (function () {
- if (!('SVGPathSeg' in window)) {
- // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSeg
- var _SVGPathSeg = /*#__PURE__*/function () {
- function _SVGPathSeg(type, typeAsLetter, owningPathSegList) {
- _classCallCheck(this, _SVGPathSeg);
-
- this.pathSegType = type;
- this.pathSegTypeAsLetter = typeAsLetter;
- this._owningPathSegList = owningPathSegList;
- } // Notify owning PathSegList on any changes so they can be synchronized back to the path element.
-
-
- _createClass(_SVGPathSeg, [{
- key: "_segmentChanged",
- value: function _segmentChanged() {
- if (this._owningPathSegList) {
- this._owningPathSegList.segmentChanged(this);
- }
- }
- }]);
-
- return _SVGPathSeg;
- }();
-
- _SVGPathSeg.prototype.classname = 'SVGPathSeg';
- _SVGPathSeg.PATHSEG_UNKNOWN = 0;
- _SVGPathSeg.PATHSEG_CLOSEPATH = 1;
- _SVGPathSeg.PATHSEG_MOVETO_ABS = 2;
- _SVGPathSeg.PATHSEG_MOVETO_REL = 3;
- _SVGPathSeg.PATHSEG_LINETO_ABS = 4;
- _SVGPathSeg.PATHSEG_LINETO_REL = 5;
- _SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;
- _SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;
- _SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;
- _SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;
- _SVGPathSeg.PATHSEG_ARC_ABS = 10;
- _SVGPathSeg.PATHSEG_ARC_REL = 11;
- _SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;
- _SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;
- _SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;
- _SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;
- _SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;
- _SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;
- _SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
- _SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
-
- var _SVGPathSegClosePath = /*#__PURE__*/function (_SVGPathSeg2) {
- _inherits(_SVGPathSegClosePath, _SVGPathSeg2);
-
- var _super = _createSuper(_SVGPathSegClosePath);
-
- function _SVGPathSegClosePath(owningPathSegList) {
- _classCallCheck(this, _SVGPathSegClosePath);
-
- return _super.call(this, _SVGPathSeg.PATHSEG_CLOSEPATH, 'z', owningPathSegList);
- }
-
- _createClass(_SVGPathSegClosePath, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegClosePath]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegClosePath(undefined);
- }
- }]);
-
- return _SVGPathSegClosePath;
- }(_SVGPathSeg);
-
- var _SVGPathSegMovetoAbs = /*#__PURE__*/function (_SVGPathSeg3) {
- _inherits(_SVGPathSegMovetoAbs, _SVGPathSeg3);
-
- var _super2 = _createSuper(_SVGPathSegMovetoAbs);
-
- function _SVGPathSegMovetoAbs(owningPathSegList, x, y) {
- var _this;
-
- _classCallCheck(this, _SVGPathSegMovetoAbs);
-
- _this = _super2.call(this, _SVGPathSeg.PATHSEG_MOVETO_ABS, 'M', owningPathSegList);
- _this._x = x;
- _this._y = y;
- return _this;
- }
-
- _createClass(_SVGPathSegMovetoAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegMovetoAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegMovetoAbs(undefined, this._x, this._y);
- }
- }]);
-
- return _SVGPathSegMovetoAbs;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegMovetoAbs.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegMovetoRel = /*#__PURE__*/function (_SVGPathSeg4) {
- _inherits(_SVGPathSegMovetoRel, _SVGPathSeg4);
-
- var _super3 = _createSuper(_SVGPathSegMovetoRel);
-
- function _SVGPathSegMovetoRel(owningPathSegList, x, y) {
- var _this2;
-
- _classCallCheck(this, _SVGPathSegMovetoRel);
-
- _this2 = _super3.call(this, _SVGPathSeg.PATHSEG_MOVETO_REL, 'm', owningPathSegList);
- _this2._x = x;
- _this2._y = y;
- return _this2;
- }
-
- _createClass(_SVGPathSegMovetoRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegMovetoRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegMovetoRel(undefined, this._x, this._y);
- }
- }]);
-
- return _SVGPathSegMovetoRel;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegMovetoRel.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegLinetoAbs = /*#__PURE__*/function (_SVGPathSeg5) {
- _inherits(_SVGPathSegLinetoAbs, _SVGPathSeg5);
-
- var _super4 = _createSuper(_SVGPathSegLinetoAbs);
-
- function _SVGPathSegLinetoAbs(owningPathSegList, x, y) {
- var _this3;
-
- _classCallCheck(this, _SVGPathSegLinetoAbs);
-
- _this3 = _super4.call(this, _SVGPathSeg.PATHSEG_LINETO_ABS, 'L', owningPathSegList);
- _this3._x = x;
- _this3._y = y;
- return _this3;
- }
-
- _createClass(_SVGPathSegLinetoAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegLinetoAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegLinetoAbs(undefined, this._x, this._y);
- }
- }]);
-
- return _SVGPathSegLinetoAbs;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegLinetoAbs.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegLinetoRel = /*#__PURE__*/function (_SVGPathSeg6) {
- _inherits(_SVGPathSegLinetoRel, _SVGPathSeg6);
-
- var _super5 = _createSuper(_SVGPathSegLinetoRel);
-
- function _SVGPathSegLinetoRel(owningPathSegList, x, y) {
- var _this4;
-
- _classCallCheck(this, _SVGPathSegLinetoRel);
-
- _this4 = _super5.call(this, _SVGPathSeg.PATHSEG_LINETO_REL, 'l', owningPathSegList);
- _this4._x = x;
- _this4._y = y;
- return _this4;
- }
-
- _createClass(_SVGPathSegLinetoRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegLinetoRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegLinetoRel(undefined, this._x, this._y);
- }
- }]);
-
- return _SVGPathSegLinetoRel;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegLinetoRel.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegCurvetoCubicAbs = /*#__PURE__*/function (_SVGPathSeg7) {
- _inherits(_SVGPathSegCurvetoCubicAbs, _SVGPathSeg7);
-
- var _super6 = _createSuper(_SVGPathSegCurvetoCubicAbs);
-
- function _SVGPathSegCurvetoCubicAbs(owningPathSegList, x, y, x1, y1, x2, y2) {
- var _this5;
-
- _classCallCheck(this, _SVGPathSegCurvetoCubicAbs);
-
- _this5 = _super6.call(this, _SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, 'C', owningPathSegList);
- _this5._x = x;
- _this5._y = y;
- _this5._x1 = x1;
- _this5._y1 = y1;
- _this5._x2 = x2;
- _this5._y2 = y2;
- return _this5;
- }
-
- _createClass(_SVGPathSegCurvetoCubicAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegCurvetoCubicAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x1 + ' ' + this._y1 + ' ' + this._x2 + ' ' + this._y2 + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);
- }
- }]);
-
- return _SVGPathSegCurvetoCubicAbs;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegCurvetoCubicAbs.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- x1: {
- get: function get() {
- return this._x1;
- },
- set: function set(x1) {
- this._x1 = x1;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y1: {
- get: function get() {
- return this._y1;
- },
- set: function set(y1) {
- this._y1 = y1;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- x2: {
- get: function get() {
- return this._x2;
- },
- set: function set(x2) {
- this._x2 = x2;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y2: {
- get: function get() {
- return this._y2;
- },
- set: function set(y2) {
- this._y2 = y2;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegCurvetoCubicRel = /*#__PURE__*/function (_SVGPathSeg8) {
- _inherits(_SVGPathSegCurvetoCubicRel, _SVGPathSeg8);
-
- var _super7 = _createSuper(_SVGPathSegCurvetoCubicRel);
-
- function _SVGPathSegCurvetoCubicRel(owningPathSegList, x, y, x1, y1, x2, y2) {
- var _this6;
-
- _classCallCheck(this, _SVGPathSegCurvetoCubicRel);
-
- _this6 = _super7.call(this, _SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, 'c', owningPathSegList);
- _this6._x = x;
- _this6._y = y;
- _this6._x1 = x1;
- _this6._y1 = y1;
- _this6._x2 = x2;
- _this6._y2 = y2;
- return _this6;
- }
-
- _createClass(_SVGPathSegCurvetoCubicRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegCurvetoCubicRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x1 + ' ' + this._y1 + ' ' + this._x2 + ' ' + this._y2 + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);
- }
- }]);
-
- return _SVGPathSegCurvetoCubicRel;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegCurvetoCubicRel.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- x1: {
- get: function get() {
- return this._x1;
- },
- set: function set(x1) {
- this._x1 = x1;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y1: {
- get: function get() {
- return this._y1;
- },
- set: function set(y1) {
- this._y1 = y1;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- x2: {
- get: function get() {
- return this._x2;
- },
- set: function set(x2) {
- this._x2 = x2;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y2: {
- get: function get() {
- return this._y2;
- },
- set: function set(y2) {
- this._y2 = y2;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegCurvetoQuadraticAbs = /*#__PURE__*/function (_SVGPathSeg9) {
- _inherits(_SVGPathSegCurvetoQuadraticAbs, _SVGPathSeg9);
-
- var _super8 = _createSuper(_SVGPathSegCurvetoQuadraticAbs);
-
- function _SVGPathSegCurvetoQuadraticAbs(owningPathSegList, x, y, x1, y1) {
- var _this7;
-
- _classCallCheck(this, _SVGPathSegCurvetoQuadraticAbs);
-
- _this7 = _super8.call(this, _SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, 'Q', owningPathSegList);
- _this7._x = x;
- _this7._y = y;
- _this7._x1 = x1;
- _this7._y1 = y1;
- return _this7;
- }
-
- _createClass(_SVGPathSegCurvetoQuadraticAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegCurvetoQuadraticAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x1 + ' ' + this._y1 + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);
- }
- }]);
-
- return _SVGPathSegCurvetoQuadraticAbs;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegCurvetoQuadraticAbs.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- x1: {
- get: function get() {
- return this._x1;
- },
- set: function set(x1) {
- this._x1 = x1;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y1: {
- get: function get() {
- return this._y1;
- },
- set: function set(y1) {
- this._y1 = y1;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegCurvetoQuadraticRel = /*#__PURE__*/function (_SVGPathSeg10) {
- _inherits(_SVGPathSegCurvetoQuadraticRel, _SVGPathSeg10);
-
- var _super9 = _createSuper(_SVGPathSegCurvetoQuadraticRel);
-
- function _SVGPathSegCurvetoQuadraticRel(owningPathSegList, x, y, x1, y1) {
- var _this8;
-
- _classCallCheck(this, _SVGPathSegCurvetoQuadraticRel);
-
- _this8 = _super9.call(this, _SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, 'q', owningPathSegList);
- _this8._x = x;
- _this8._y = y;
- _this8._x1 = x1;
- _this8._y1 = y1;
- return _this8;
- }
-
- _createClass(_SVGPathSegCurvetoQuadraticRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegCurvetoQuadraticRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x1 + ' ' + this._y1 + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);
- }
- }]);
-
- return _SVGPathSegCurvetoQuadraticRel;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegCurvetoQuadraticRel.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- x1: {
- get: function get() {
- return this._x1;
- },
- set: function set(x1) {
- this._x1 = x1;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y1: {
- get: function get() {
- return this._y1;
- },
- set: function set(y1) {
- this._y1 = y1;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegArcAbs = /*#__PURE__*/function (_SVGPathSeg11) {
- _inherits(_SVGPathSegArcAbs, _SVGPathSeg11);
-
- var _super10 = _createSuper(_SVGPathSegArcAbs);
-
- function _SVGPathSegArcAbs(owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {
- var _this9;
-
- _classCallCheck(this, _SVGPathSegArcAbs);
-
- _this9 = _super10.call(this, _SVGPathSeg.PATHSEG_ARC_ABS, 'A', owningPathSegList);
- _this9._x = x;
- _this9._y = y;
- _this9._r1 = r1;
- _this9._r2 = r2;
- _this9._angle = angle;
- _this9._largeArcFlag = largeArcFlag;
- _this9._sweepFlag = sweepFlag;
- return _this9;
- }
-
- _createClass(_SVGPathSegArcAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegArcAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._r1 + ' ' + this._r2 + ' ' + this._angle + ' ' + (this._largeArcFlag ? '1' : '0') + ' ' + (this._sweepFlag ? '1' : '0') + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);
- }
- }]);
-
- return _SVGPathSegArcAbs;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegArcAbs.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- r1: {
- get: function get() {
- return this._r1;
- },
- set: function set(r1) {
- this._r1 = r1;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- r2: {
- get: function get() {
- return this._r2;
- },
- set: function set(r2) {
- this._r2 = r2;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- angle: {
- get: function get() {
- return this._angle;
- },
- set: function set(angle) {
- this._angle = angle;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- largeArcFlag: {
- get: function get() {
- return this._largeArcFlag;
- },
- set: function set(largeArcFlag) {
- this._largeArcFlag = largeArcFlag;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- sweepFlag: {
- get: function get() {
- return this._sweepFlag;
- },
- set: function set(sweepFlag) {
- this._sweepFlag = sweepFlag;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegArcRel = /*#__PURE__*/function (_SVGPathSeg12) {
- _inherits(_SVGPathSegArcRel, _SVGPathSeg12);
-
- var _super11 = _createSuper(_SVGPathSegArcRel);
-
- function _SVGPathSegArcRel(owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {
- var _this10;
-
- _classCallCheck(this, _SVGPathSegArcRel);
-
- _this10 = _super11.call(this, _SVGPathSeg.PATHSEG_ARC_REL, 'a', owningPathSegList);
- _this10._x = x;
- _this10._y = y;
- _this10._r1 = r1;
- _this10._r2 = r2;
- _this10._angle = angle;
- _this10._largeArcFlag = largeArcFlag;
- _this10._sweepFlag = sweepFlag;
- return _this10;
- }
-
- _createClass(_SVGPathSegArcRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegArcRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._r1 + ' ' + this._r2 + ' ' + this._angle + ' ' + (this._largeArcFlag ? '1' : '0') + ' ' + (this._sweepFlag ? '1' : '0') + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);
- }
- }]);
-
- return _SVGPathSegArcRel;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegArcRel.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- r1: {
- get: function get() {
- return this._r1;
- },
- set: function set(r1) {
- this._r1 = r1;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- r2: {
- get: function get() {
- return this._r2;
- },
- set: function set(r2) {
- this._r2 = r2;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- angle: {
- get: function get() {
- return this._angle;
- },
- set: function set(angle) {
- this._angle = angle;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- largeArcFlag: {
- get: function get() {
- return this._largeArcFlag;
- },
- set: function set(largeArcFlag) {
- this._largeArcFlag = largeArcFlag;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- sweepFlag: {
- get: function get() {
- return this._sweepFlag;
- },
- set: function set(sweepFlag) {
- this._sweepFlag = sweepFlag;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegLinetoHorizontalAbs = /*#__PURE__*/function (_SVGPathSeg13) {
- _inherits(_SVGPathSegLinetoHorizontalAbs, _SVGPathSeg13);
-
- var _super12 = _createSuper(_SVGPathSegLinetoHorizontalAbs);
-
- function _SVGPathSegLinetoHorizontalAbs(owningPathSegList, x) {
- var _this11;
-
- _classCallCheck(this, _SVGPathSegLinetoHorizontalAbs);
-
- _this11 = _super12.call(this, _SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, 'H', owningPathSegList);
- _this11._x = x;
- return _this11;
- }
-
- _createClass(_SVGPathSegLinetoHorizontalAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegLinetoHorizontalAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegLinetoHorizontalAbs(undefined, this._x);
- }
- }]);
-
- return _SVGPathSegLinetoHorizontalAbs;
- }(_SVGPathSeg);
-
- Object.defineProperty(_SVGPathSegLinetoHorizontalAbs.prototype, 'x', {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- });
-
- var _SVGPathSegLinetoHorizontalRel = /*#__PURE__*/function (_SVGPathSeg14) {
- _inherits(_SVGPathSegLinetoHorizontalRel, _SVGPathSeg14);
-
- var _super13 = _createSuper(_SVGPathSegLinetoHorizontalRel);
-
- function _SVGPathSegLinetoHorizontalRel(owningPathSegList, x) {
- var _this12;
-
- _classCallCheck(this, _SVGPathSegLinetoHorizontalRel);
-
- _this12 = _super13.call(this, _SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, 'h', owningPathSegList);
- _this12._x = x;
- return _this12;
- }
-
- _createClass(_SVGPathSegLinetoHorizontalRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegLinetoHorizontalRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegLinetoHorizontalRel(undefined, this._x);
- }
- }]);
-
- return _SVGPathSegLinetoHorizontalRel;
- }(_SVGPathSeg);
-
- Object.defineProperty(_SVGPathSegLinetoHorizontalRel.prototype, 'x', {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- });
-
- var _SVGPathSegLinetoVerticalAbs = /*#__PURE__*/function (_SVGPathSeg15) {
- _inherits(_SVGPathSegLinetoVerticalAbs, _SVGPathSeg15);
-
- var _super14 = _createSuper(_SVGPathSegLinetoVerticalAbs);
-
- function _SVGPathSegLinetoVerticalAbs(owningPathSegList, y) {
- var _this13;
-
- _classCallCheck(this, _SVGPathSegLinetoVerticalAbs);
-
- _this13 = _super14.call(this, _SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, 'V', owningPathSegList);
- _this13._y = y;
- return _this13;
- }
-
- _createClass(_SVGPathSegLinetoVerticalAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegLinetoVerticalAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegLinetoVerticalAbs(undefined, this._y);
- }
- }]);
-
- return _SVGPathSegLinetoVerticalAbs;
- }(_SVGPathSeg);
-
- Object.defineProperty(_SVGPathSegLinetoVerticalAbs.prototype, 'y', {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- });
-
- var _SVGPathSegLinetoVerticalRel = /*#__PURE__*/function (_SVGPathSeg16) {
- _inherits(_SVGPathSegLinetoVerticalRel, _SVGPathSeg16);
-
- var _super15 = _createSuper(_SVGPathSegLinetoVerticalRel);
-
- function _SVGPathSegLinetoVerticalRel(owningPathSegList, y) {
- var _this14;
-
- _classCallCheck(this, _SVGPathSegLinetoVerticalRel);
-
- _this14 = _super15.call(this, _SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, 'v', owningPathSegList);
- _this14._y = y;
- return _this14;
- }
-
- _createClass(_SVGPathSegLinetoVerticalRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegLinetoVerticalRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegLinetoVerticalRel(undefined, this._y);
- }
- }]);
-
- return _SVGPathSegLinetoVerticalRel;
- }(_SVGPathSeg);
-
- Object.defineProperty(_SVGPathSegLinetoVerticalRel.prototype, 'y', {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- });
-
- var _SVGPathSegCurvetoCubicSmoothAbs = /*#__PURE__*/function (_SVGPathSeg17) {
- _inherits(_SVGPathSegCurvetoCubicSmoothAbs, _SVGPathSeg17);
-
- var _super16 = _createSuper(_SVGPathSegCurvetoCubicSmoothAbs);
-
- function _SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, x, y, x2, y2) {
- var _this15;
-
- _classCallCheck(this, _SVGPathSegCurvetoCubicSmoothAbs);
-
- _this15 = _super16.call(this, _SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, 'S', owningPathSegList);
- _this15._x = x;
- _this15._y = y;
- _this15._x2 = x2;
- _this15._y2 = y2;
- return _this15;
- }
-
- _createClass(_SVGPathSegCurvetoCubicSmoothAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegCurvetoCubicSmoothAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x2 + ' ' + this._y2 + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);
- }
- }]);
-
- return _SVGPathSegCurvetoCubicSmoothAbs;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegCurvetoCubicSmoothAbs.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- x2: {
- get: function get() {
- return this._x2;
- },
- set: function set(x2) {
- this._x2 = x2;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y2: {
- get: function get() {
- return this._y2;
- },
- set: function set(y2) {
- this._y2 = y2;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegCurvetoCubicSmoothRel = /*#__PURE__*/function (_SVGPathSeg18) {
- _inherits(_SVGPathSegCurvetoCubicSmoothRel, _SVGPathSeg18);
-
- var _super17 = _createSuper(_SVGPathSegCurvetoCubicSmoothRel);
-
- function _SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, x, y, x2, y2) {
- var _this16;
-
- _classCallCheck(this, _SVGPathSegCurvetoCubicSmoothRel);
-
- _this16 = _super17.call(this, _SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, 's', owningPathSegList);
- _this16._x = x;
- _this16._y = y;
- _this16._x2 = x2;
- _this16._y2 = y2;
- return _this16;
- }
-
- _createClass(_SVGPathSegCurvetoCubicSmoothRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegCurvetoCubicSmoothRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x2 + ' ' + this._y2 + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);
- }
- }]);
-
- return _SVGPathSegCurvetoCubicSmoothRel;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegCurvetoCubicSmoothRel.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- x2: {
- get: function get() {
- return this._x2;
- },
- set: function set(x2) {
- this._x2 = x2;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y2: {
- get: function get() {
- return this._y2;
- },
- set: function set(y2) {
- this._y2 = y2;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegCurvetoQuadraticSmoothAbs = /*#__PURE__*/function (_SVGPathSeg19) {
- _inherits(_SVGPathSegCurvetoQuadraticSmoothAbs, _SVGPathSeg19);
-
- var _super18 = _createSuper(_SVGPathSegCurvetoQuadraticSmoothAbs);
-
- function _SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, x, y) {
- var _this17;
-
- _classCallCheck(this, _SVGPathSegCurvetoQuadraticSmoothAbs);
-
- _this17 = _super18.call(this, _SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, 'T', owningPathSegList);
- _this17._x = x;
- _this17._y = y;
- return _this17;
- }
-
- _createClass(_SVGPathSegCurvetoQuadraticSmoothAbs, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegCurvetoQuadraticSmoothAbs]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);
- }
- }]);
-
- return _SVGPathSegCurvetoQuadraticSmoothAbs;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegCurvetoQuadraticSmoothAbs.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- });
-
- var _SVGPathSegCurvetoQuadraticSmoothRel = /*#__PURE__*/function (_SVGPathSeg20) {
- _inherits(_SVGPathSegCurvetoQuadraticSmoothRel, _SVGPathSeg20);
-
- var _super19 = _createSuper(_SVGPathSegCurvetoQuadraticSmoothRel);
-
- function _SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, x, y) {
- var _this18;
-
- _classCallCheck(this, _SVGPathSegCurvetoQuadraticSmoothRel);
-
- _this18 = _super19.call(this, _SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, 't', owningPathSegList);
- _this18._x = x;
- _this18._y = y;
- return _this18;
- }
-
- _createClass(_SVGPathSegCurvetoQuadraticSmoothRel, [{
- key: "toString",
- value: function toString() {
- return '[object SVGPathSegCurvetoQuadraticSmoothRel]';
- }
- }, {
- key: "_asPathString",
- value: function _asPathString() {
- return this.pathSegTypeAsLetter + ' ' + this._x + ' ' + this._y;
- }
- }, {
- key: "clone",
- value: function clone() {
- return new _SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);
- }
- }]);
-
- return _SVGPathSegCurvetoQuadraticSmoothRel;
- }(_SVGPathSeg);
-
- Object.defineProperties(_SVGPathSegCurvetoQuadraticSmoothRel.prototype, {
- x: {
- get: function get() {
- return this._x;
- },
- set: function set(x) {
- this._x = x;
-
- this._segmentChanged();
- },
- enumerable: true
- },
- y: {
- get: function get() {
- return this._y;
- },
- set: function set(y) {
- this._y = y;
-
- this._segmentChanged();
- },
- enumerable: true
- }
- }); // Add createSVGPathSeg* functions to SVGPathElement.
- // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathElement.
-
- SVGPathElement.prototype.createSVGPathSegClosePath = function () {
- return new _SVGPathSegClosePath(undefined);
- };
-
- SVGPathElement.prototype.createSVGPathSegMovetoAbs = function (x, y) {
- return new _SVGPathSegMovetoAbs(undefined, x, y);
- };
-
- SVGPathElement.prototype.createSVGPathSegMovetoRel = function (x, y) {
- return new _SVGPathSegMovetoRel(undefined, x, y);
- };
-
- SVGPathElement.prototype.createSVGPathSegLinetoAbs = function (x, y) {
- return new _SVGPathSegLinetoAbs(undefined, x, y);
- };
-
- SVGPathElement.prototype.createSVGPathSegLinetoRel = function (x, y) {
- return new _SVGPathSegLinetoRel(undefined, x, y);
- };
-
- SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function (x, y, x1, y1, x2, y2) {
- return new _SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);
- };
-
- SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function (x, y, x1, y1, x2, y2) {
- return new _SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);
- };
-
- SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function (x, y, x1, y1) {
- return new _SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);
- };
-
- SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function (x, y, x1, y1) {
- return new _SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);
- };
-
- SVGPathElement.prototype.createSVGPathSegArcAbs = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {
- return new _SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);
- };
-
- SVGPathElement.prototype.createSVGPathSegArcRel = function (x, y, r1, r2, angle, largeArcFlag, sweepFlag) {
- return new _SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);
- };
-
- SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function (x) {
- return new _SVGPathSegLinetoHorizontalAbs(undefined, x);
- };
-
- SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function (x) {
- return new _SVGPathSegLinetoHorizontalRel(undefined, x);
- };
-
- SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function (y) {
- return new _SVGPathSegLinetoVerticalAbs(undefined, y);
- };
-
- SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function (y) {
- return new _SVGPathSegLinetoVerticalRel(undefined, y);
- };
-
- SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function (x, y, x2, y2) {
- return new _SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);
- };
-
- SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function (x, y, x2, y2) {
- return new _SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);
- };
-
- SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function (x, y) {
- return new _SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);
- };
-
- SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function (x, y) {
- return new _SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);
- };
-
- if (!('getPathSegAtLength' in SVGPathElement.prototype)) {
- // Add getPathSegAtLength to SVGPathElement.
- // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-__svg__SVGPathElement__getPathSegAtLength
- // This polyfill requires SVGPathElement.getTotalLength to implement the distance-along-a-path algorithm.
- SVGPathElement.prototype.getPathSegAtLength = function (distance) {
- if (distance === undefined || !isFinite(distance)) {
- throw new Error('Invalid arguments.');
- }
-
- var measurementElement = document.createElementNS('http://www.w3.org/2000/svg', 'path');
- measurementElement.setAttribute('d', this.getAttribute('d'));
- var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1; // If the path is empty, return 0.
-
- if (lastPathSegment <= 0) {
- return 0;
- }
-
- do {
- measurementElement.pathSegList.removeItem(lastPathSegment);
-
- if (distance > measurementElement.getTotalLength()) {
- break;
- }
-
- lastPathSegment--;
- } while (lastPathSegment > 0);
-
- return lastPathSegment;
- };
- }
-
- window.SVGPathSeg = _SVGPathSeg;
- window.SVGPathSegClosePath = _SVGPathSegClosePath;
- window.SVGPathSegMovetoAbs = _SVGPathSegMovetoAbs;
- window.SVGPathSegMovetoRel = _SVGPathSegMovetoRel;
- window.SVGPathSegLinetoAbs = _SVGPathSegLinetoAbs;
- window.SVGPathSegLinetoRel = _SVGPathSegLinetoRel;
- window.SVGPathSegCurvetoCubicAbs = _SVGPathSegCurvetoCubicAbs;
- window.SVGPathSegCurvetoCubicRel = _SVGPathSegCurvetoCubicRel;
- window.SVGPathSegCurvetoQuadraticAbs = _SVGPathSegCurvetoQuadraticAbs;
- window.SVGPathSegCurvetoQuadraticRel = _SVGPathSegCurvetoQuadraticRel;
- window.SVGPathSegArcAbs = _SVGPathSegArcAbs;
- window.SVGPathSegArcRel = _SVGPathSegArcRel;
- window.SVGPathSegLinetoHorizontalAbs = _SVGPathSegLinetoHorizontalAbs;
- window.SVGPathSegLinetoHorizontalRel = _SVGPathSegLinetoHorizontalRel;
- window.SVGPathSegLinetoVerticalAbs = _SVGPathSegLinetoVerticalAbs;
- window.SVGPathSegLinetoVerticalRel = _SVGPathSegLinetoVerticalRel;
- window.SVGPathSegCurvetoCubicSmoothAbs = _SVGPathSegCurvetoCubicSmoothAbs;
- window.SVGPathSegCurvetoCubicSmoothRel = _SVGPathSegCurvetoCubicSmoothRel;
- window.SVGPathSegCurvetoQuadraticSmoothAbs = _SVGPathSegCurvetoQuadraticSmoothAbs;
- window.SVGPathSegCurvetoQuadraticSmoothRel = _SVGPathSegCurvetoQuadraticSmoothRel;
- } // Checking for SVGPathSegList in window checks for the case of an implementation without the
- // SVGPathSegList API.
- // The second check for appendItem is specific to Firefox 59+ which removed only parts of the
- // SVGPathSegList API (e.g., appendItem). In this case we need to re-implement the entire API
- // so the polyfill data (i.e., _list) is used throughout.
-
-
- if (!('SVGPathSegList' in window) || !('appendItem' in window.SVGPathSegList.prototype)) {
- // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGPathSegList
- var SVGPathSegList = /*#__PURE__*/function () {
- function SVGPathSegList(pathElement) {
- _classCallCheck(this, SVGPathSegList);
-
- this._pathElement = pathElement;
- this._list = this._parsePath(this._pathElement.getAttribute('d')); // Use a MutationObserver to catch changes to the path's "d" attribute.
-
- this._mutationObserverConfig = {
- attributes: true,
- attributeFilter: ['d']
- };
- this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));
-
- this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);
- } // Process any pending mutations to the path element and update the list as needed.
- // This should be the first call of all public functions and is needed because
- // MutationObservers are not synchronous so we can have pending asynchronous mutations.
-
-
- _createClass(SVGPathSegList, [{
- key: "_checkPathSynchronizedToList",
- value: function _checkPathSynchronizedToList() {
- this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());
- }
- }, {
- key: "_updateListFromPathMutations",
- value: function _updateListFromPathMutations(mutationRecords) {
- if (!this._pathElement) {
- return;
- }
-
- var hasPathMutations = false;
- mutationRecords.forEach(function (record) {
- if (record.attributeName === 'd') {
- hasPathMutations = true;
- }
- });
-
- if (hasPathMutations) {
- this._list = this._parsePath(this._pathElement.getAttribute('d'));
- }
- } // Serialize the list and update the path's 'd' attribute.
-
- }, {
- key: "_writeListToPath",
- value: function _writeListToPath() {
- this._pathElementMutationObserver.disconnect();
-
- this._pathElement.setAttribute('d', SVGPathSegList._pathSegArrayAsString(this._list));
-
- this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);
- } // When a path segment changes the list needs to be synchronized back to the path element.
-
- }, {
- key: "segmentChanged",
- value: function segmentChanged(pathSeg) {
- this._writeListToPath();
- }
- }, {
- key: "clear",
- value: function clear() {
- this._checkPathSynchronizedToList();
-
- this._list.forEach(function (pathSeg) {
- pathSeg._owningPathSegList = null;
- });
-
- this._list = [];
-
- this._writeListToPath();
- }
- }, {
- key: "initialize",
- value: function initialize(newItem) {
- this._checkPathSynchronizedToList();
-
- this._list = [newItem];
- newItem._owningPathSegList = this;
-
- this._writeListToPath();
-
- return newItem;
- }
- }, {
- key: "_checkValidIndex",
- value: function _checkValidIndex(index) {
- if (isNaN(index) || index < 0 || index >= this.numberOfItems) {
- throw new Error('INDEX_SIZE_ERR');
- }
- }
- }, {
- key: "getItem",
- value: function getItem(index) {
- this._checkPathSynchronizedToList();
-
- this._checkValidIndex(index);
-
- return this._list[index];
- }
- }, {
- key: "insertItemBefore",
- value: function insertItemBefore(newItem, index) {
- this._checkPathSynchronizedToList(); // Spec: If the index is greater than or equal to numberOfItems, then the new item is appended to the end of the list.
-
-
- if (index > this.numberOfItems) {
- index = this.numberOfItems;
- }
-
- if (newItem._owningPathSegList) {
- // SVG2 spec says to make a copy.
- newItem = newItem.clone();
- }
-
- this._list.splice(index, 0, newItem);
-
- newItem._owningPathSegList = this;
-
- this._writeListToPath();
-
- return newItem;
- }
- }, {
- key: "replaceItem",
- value: function replaceItem(newItem, index) {
- this._checkPathSynchronizedToList();
-
- if (newItem._owningPathSegList) {
- // SVG2 spec says to make a copy.
- newItem = newItem.clone();
- }
-
- this._checkValidIndex(index);
-
- this._list[index] = newItem;
- newItem._owningPathSegList = this;
-
- this._writeListToPath();
-
- return newItem;
- }
- }, {
- key: "removeItem",
- value: function removeItem(index) {
- this._checkPathSynchronizedToList();
-
- this._checkValidIndex(index);
-
- var item = this._list[index];
-
- this._list.splice(index, 1);
-
- this._writeListToPath();
-
- return item;
- }
- }, {
- key: "appendItem",
- value: function appendItem(newItem) {
- this._checkPathSynchronizedToList();
-
- if (newItem._owningPathSegList) {
- // SVG2 spec says to make a copy.
- newItem = newItem.clone();
- }
-
- this._list.push(newItem);
-
- newItem._owningPathSegList = this; // TODO: Optimize this to just append to the existing attribute.
-
- this._writeListToPath();
-
- return newItem;
- } // This closely follows SVGPathParser::parsePath from Source/core/svg/SVGPathParser.cpp.
-
- }, {
- key: "_parsePath",
- value: function _parsePath(string) {
- if (!string || !string.length) {
- return [];
- }
-
- var owningPathSegList = this;
-
- var Builder = /*#__PURE__*/function () {
- function Builder() {
- _classCallCheck(this, Builder);
-
- this.pathSegList = [];
- }
-
- _createClass(Builder, [{
- key: "appendSegment",
- value: function appendSegment(pathSeg) {
- this.pathSegList.push(pathSeg);
- }
- }]);
-
- return Builder;
- }();
-
- var Source = /*#__PURE__*/function () {
- function Source(string) {
- _classCallCheck(this, Source);
-
- this._string = string;
- this._currentIndex = 0;
- this._endIndex = this._string.length;
- this._previousCommand = SVGPathSeg.PATHSEG_UNKNOWN;
-
- this._skipOptionalSpaces();
- }
-
- _createClass(Source, [{
- key: "_isCurrentSpace",
- value: function _isCurrentSpace() {
- var character = this._string[this._currentIndex];
- return character <= ' ' && (character === ' ' || character === '\n' || character === '\t' || character === '\r' || character === '\f');
- }
- }, {
- key: "_skipOptionalSpaces",
- value: function _skipOptionalSpaces() {
- while (this._currentIndex < this._endIndex && this._isCurrentSpace()) {
- this._currentIndex++;
- }
-
- return this._currentIndex < this._endIndex;
- }
- }, {
- key: "_skipOptionalSpacesOrDelimiter",
- value: function _skipOptionalSpacesOrDelimiter() {
- if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) !== ',') {
- return false;
- }
-
- if (this._skipOptionalSpaces()) {
- if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) === ',') {
- this._currentIndex++;
-
- this._skipOptionalSpaces();
- }
- }
-
- return this._currentIndex < this._endIndex;
- }
- }, {
- key: "hasMoreData",
- value: function hasMoreData() {
- return this._currentIndex < this._endIndex;
- }
- }, {
- key: "peekSegmentType",
- value: function peekSegmentType() {
- var lookahead = this._string[this._currentIndex];
- return this._pathSegTypeFromChar(lookahead);
- }
- }, {
- key: "_pathSegTypeFromChar",
- value: function _pathSegTypeFromChar(lookahead) {
- switch (lookahead) {
- case 'Z':
- case 'z':
- return SVGPathSeg.PATHSEG_CLOSEPATH;
-
- case 'M':
- return SVGPathSeg.PATHSEG_MOVETO_ABS;
-
- case 'm':
- return SVGPathSeg.PATHSEG_MOVETO_REL;
-
- case 'L':
- return SVGPathSeg.PATHSEG_LINETO_ABS;
-
- case 'l':
- return SVGPathSeg.PATHSEG_LINETO_REL;
-
- case 'C':
- return SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;
-
- case 'c':
- return SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;
-
- case 'Q':
- return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;
-
- case 'q':
- return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;
-
- case 'A':
- return SVGPathSeg.PATHSEG_ARC_ABS;
-
- case 'a':
- return SVGPathSeg.PATHSEG_ARC_REL;
-
- case 'H':
- return SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;
-
- case 'h':
- return SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;
-
- case 'V':
- return SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;
-
- case 'v':
- return SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;
-
- case 'S':
- return SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
-
- case 's':
- return SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
-
- case 'T':
- return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
-
- case 't':
- return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
-
- default:
- return SVGPathSeg.PATHSEG_UNKNOWN;
- }
- }
- }, {
- key: "_nextCommandHelper",
- value: function _nextCommandHelper(lookahead, previousCommand) {
- // Check for remaining coordinates in the current command.
- if ((lookahead === '+' || lookahead === '-' || lookahead === '.' || lookahead >= '0' && lookahead <= '9') && previousCommand !== SVGPathSeg.PATHSEG_CLOSEPATH) {
- if (previousCommand === SVGPathSeg.PATHSEG_MOVETO_ABS) {
- return SVGPathSeg.PATHSEG_LINETO_ABS;
- }
-
- if (previousCommand === SVGPathSeg.PATHSEG_MOVETO_REL) {
- return SVGPathSeg.PATHSEG_LINETO_REL;
- }
-
- return previousCommand;
- }
-
- return SVGPathSeg.PATHSEG_UNKNOWN;
- }
- }, {
- key: "initialCommandIsMoveTo",
- value: function initialCommandIsMoveTo() {
- // If the path is empty it is still valid, so return true.
- if (!this.hasMoreData()) {
- return true;
- }
-
- var command = this.peekSegmentType(); // Path must start with moveTo.
-
- return command === SVGPathSeg.PATHSEG_MOVETO_ABS || command === SVGPathSeg.PATHSEG_MOVETO_REL;
- } // Parse a number from an SVG path. This very closely follows genericParseNumber(...) from Source/core/svg/SVGParserUtilities.cpp.
- // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-PathDataBNF
-
- }, {
- key: "_parseNumber",
- value: function _parseNumber() {
- var exponent = 0;
- var integer = 0;
- var frac = 1;
- var decimal = 0;
- var sign = 1;
- var expsign = 1;
- var startIndex = this._currentIndex;
-
- this._skipOptionalSpaces(); // Read the sign.
-
-
- if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) === '+') {
- this._currentIndex++;
- } else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) === '-') {
- this._currentIndex++;
- sign = -1;
- }
-
- if (this._currentIndex === this._endIndex || (this._string.charAt(this._currentIndex) < '0' || this._string.charAt(this._currentIndex) > '9') && this._string.charAt(this._currentIndex) !== '.') {
- // The first character of a number must be one of [0-9+-.].
- return undefined;
- } // Read the integer part, build right-to-left.
-
-
- var startIntPartIndex = this._currentIndex;
-
- while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= '0' && this._string.charAt(this._currentIndex) <= '9') {
- this._currentIndex++; // Advance to first non-digit.
- }
-
- if (this._currentIndex !== startIntPartIndex) {
- var scanIntPartIndex = this._currentIndex - 1;
- var multiplier = 1;
-
- while (scanIntPartIndex >= startIntPartIndex) {
- integer += multiplier * (this._string.charAt(scanIntPartIndex--) - '0');
- multiplier *= 10;
- }
- } // Read the decimals.
-
-
- if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) === '.') {
- this._currentIndex++; // There must be a least one digit following the .
-
- if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < '0' || this._string.charAt(this._currentIndex) > '9') {
- return undefined;
- }
-
- while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= '0' && this._string.charAt(this._currentIndex) <= '9') {
- frac *= 10;
- decimal += (this._string.charAt(this._currentIndex) - '0') / frac;
- this._currentIndex += 1;
- }
- } // Read the exponent part.
-
-
- if (this._currentIndex !== startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) === 'e' || this._string.charAt(this._currentIndex) === 'E') && this._string.charAt(this._currentIndex + 1) !== 'x' && this._string.charAt(this._currentIndex + 1) !== 'm') {
- this._currentIndex++; // Read the sign of the exponent.
-
- if (this._string.charAt(this._currentIndex) === '+') {
- this._currentIndex++;
- } else if (this._string.charAt(this._currentIndex) === '-') {
- this._currentIndex++;
- expsign = -1;
- } // There must be an exponent.
-
-
- if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < '0' || this._string.charAt(this._currentIndex) > '9') {
- return undefined;
- }
-
- while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= '0' && this._string.charAt(this._currentIndex) <= '9') {
- exponent *= 10;
- exponent += this._string.charAt(this._currentIndex) - '0';
- this._currentIndex++;
- }
- }
-
- var number = integer + decimal;
- number *= sign;
-
- if (exponent) {
- number *= Math.pow(10, expsign * exponent);
- }
-
- if (startIndex === this._currentIndex) {
- return undefined;
- }
-
- this._skipOptionalSpacesOrDelimiter();
-
- return number;
- }
- }, {
- key: "_parseArcFlag",
- value: function _parseArcFlag() {
- if (this._currentIndex >= this._endIndex) {
- return undefined;
- }
-
- var flag = false;
-
- var flagChar = this._string.charAt(this._currentIndex++);
-
- if (flagChar === '0') {
- flag = false;
- } else if (flagChar === '1') {
- flag = true;
- } else {
- return undefined;
- }
-
- this._skipOptionalSpacesOrDelimiter();
-
- return flag;
- }
- }, {
- key: "parseSegment",
- value: function parseSegment() {
- var lookahead = this._string[this._currentIndex];
-
- var command = this._pathSegTypeFromChar(lookahead);
-
- if (command === SVGPathSeg.PATHSEG_UNKNOWN) {
- // Possibly an implicit command. Not allowed if this is the first command.
- if (this._previousCommand === SVGPathSeg.PATHSEG_UNKNOWN) {
- return null;
- }
-
- command = this._nextCommandHelper(lookahead, this._previousCommand);
-
- if (command === SVGPathSeg.PATHSEG_UNKNOWN) {
- return null;
- }
- } else {
- this._currentIndex++;
- }
-
- this._previousCommand = command;
-
- switch (command) {
- case SVGPathSeg.PATHSEG_MOVETO_REL:
- return new SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());
-
- case SVGPathSeg.PATHSEG_MOVETO_ABS:
- return new SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());
-
- case SVGPathSeg.PATHSEG_LINETO_REL:
- return new SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());
-
- case SVGPathSeg.PATHSEG_LINETO_ABS:
- return new SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());
-
- case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:
- return new SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());
-
- case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:
- return new SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());
-
- case SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:
- return new SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());
-
- case SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:
- return new SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());
-
- case SVGPathSeg.PATHSEG_CLOSEPATH:
- this._skipOptionalSpaces();
-
- return new SVGPathSegClosePath(owningPathSegList);
-
- case SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:
- {
- var points = {
- x1: this._parseNumber(),
- y1: this._parseNumber(),
- x2: this._parseNumber(),
- y2: this._parseNumber(),
- x: this._parseNumber(),
- y: this._parseNumber()
- };
- return new SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);
- }
-
- case SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:
- {
- var _points = {
- x1: this._parseNumber(),
- y1: this._parseNumber(),
- x2: this._parseNumber(),
- y2: this._parseNumber(),
- x: this._parseNumber(),
- y: this._parseNumber()
- };
- return new SVGPathSegCurvetoCubicAbs(owningPathSegList, _points.x, _points.y, _points.x1, _points.y1, _points.x2, _points.y2);
- }
-
- case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:
- {
- var _points2 = {
- x2: this._parseNumber(),
- y2: this._parseNumber(),
- x: this._parseNumber(),
- y: this._parseNumber()
- };
- return new SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, _points2.x, _points2.y, _points2.x2, _points2.y2);
- }
-
- case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:
- {
- var _points3 = {
- x2: this._parseNumber(),
- y2: this._parseNumber(),
- x: this._parseNumber(),
- y: this._parseNumber()
- };
- return new SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, _points3.x, _points3.y, _points3.x2, _points3.y2);
- }
-
- case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:
- {
- var _points4 = {
- x1: this._parseNumber(),
- y1: this._parseNumber(),
- x: this._parseNumber(),
- y: this._parseNumber()
- };
- return new SVGPathSegCurvetoQuadraticRel(owningPathSegList, _points4.x, _points4.y, _points4.x1, _points4.y1);
- }
-
- case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:
- {
- var _points5 = {
- x1: this._parseNumber(),
- y1: this._parseNumber(),
- x: this._parseNumber(),
- y: this._parseNumber()
- };
- return new SVGPathSegCurvetoQuadraticAbs(owningPathSegList, _points5.x, _points5.y, _points5.x1, _points5.y1);
- }
-
- case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:
- return new SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());
-
- case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:
- return new SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());
-
- case SVGPathSeg.PATHSEG_ARC_REL:
- {
- var _points6 = {
- x1: this._parseNumber(),
- y1: this._parseNumber(),
- arcAngle: this._parseNumber(),
- arcLarge: this._parseArcFlag(),
- arcSweep: this._parseArcFlag(),
- x: this._parseNumber(),
- y: this._parseNumber()
- };
- return new SVGPathSegArcRel(owningPathSegList, _points6.x, _points6.y, _points6.x1, _points6.y1, _points6.arcAngle, _points6.arcLarge, _points6.arcSweep);
- }
-
- case SVGPathSeg.PATHSEG_ARC_ABS:
- {
- var _points7 = {
- x1: this._parseNumber(),
- y1: this._parseNumber(),
- arcAngle: this._parseNumber(),
- arcLarge: this._parseArcFlag(),
- arcSweep: this._parseArcFlag(),
- x: this._parseNumber(),
- y: this._parseNumber()
- };
- return new SVGPathSegArcAbs(owningPathSegList, _points7.x, _points7.y, _points7.x1, _points7.y1, _points7.arcAngle, _points7.arcLarge, _points7.arcSweep);
- }
-
- default:
- throw new Error('Unknown path seg type.');
- }
- }
- }]);
-
- return Source;
- }();
-
- var builder = new Builder();
- var source = new Source(string);
-
- if (!source.initialCommandIsMoveTo()) {
- return [];
- }
-
- while (source.hasMoreData()) {
- var pathSeg = source.parseSegment();
-
- if (!pathSeg) {
- return [];
- }
-
- builder.appendSegment(pathSeg);
- }
-
- return builder.pathSegList;
- } // STATIC
-
- }], [{
- key: "_pathSegArrayAsString",
- value: function _pathSegArrayAsString(pathSegArray) {
- var string = '';
- var first = true;
- pathSegArray.forEach(function (pathSeg) {
- if (first) {
- first = false;
- string += pathSeg._asPathString();
- } else {
- string += ' ' + pathSeg._asPathString();
- }
- });
- return string;
- }
- }]);
-
- return SVGPathSegList;
- }();
-
- SVGPathSegList.prototype.classname = 'SVGPathSegList';
- Object.defineProperty(SVGPathSegList.prototype, 'numberOfItems', {
- get: function get() {
- this._checkPathSynchronizedToList();
-
- return this._list.length;
- },
- enumerable: true
- }); // Add the pathSegList accessors to SVGPathElement.
- // Spec: https://www.w3.org/TR/SVG11/single-page.html#paths-InterfaceSVGAnimatedPathData
-
- Object.defineProperties(SVGPathElement.prototype, {
- pathSegList: {
- get: function get() {
- if (!this._pathSegList) {
- this._pathSegList = new SVGPathSegList(this);
- }
-
- return this._pathSegList;
- },
- enumerable: true
- },
- // TODO: The following are not implemented and simply return SVGPathElement.pathSegList.
- normalizedPathSegList: {
- get: function get() {
- return this.pathSegList;
- },
- enumerable: true
- },
- animatedPathSegList: {
- get: function get() {
- return this.pathSegList;
- },
- enumerable: true
- },
- animatedNormalizedPathSegList: {
- get: function get() {
- return this.pathSegList;
- },
- enumerable: true
- }
- });
- window.SVGPathSegList = SVGPathSegList;
- }
- })();
-
- var $ = jQuery;
-
- var supportsSVG_ = function () {
- return Boolean(document.createElementNS && document.createElementNS(NS.SVG, 'svg').createSVGRect);
- }();
- var _navigator = navigator,
- userAgent = _navigator.userAgent;
- var svg = document.createElementNS(NS.SVG, 'svg'); // Note: Browser sniffing should only be used if no other detection method is possible
-
- var isOpera_ = Boolean(window.opera);
- var isWebkit_ = userAgent.includes('AppleWebKit');
- var isGecko_ = userAgent.includes('Gecko/');
- var isIE_ = userAgent.includes('MSIE');
- var isChrome_ = userAgent.includes('Chrome/');
- var isWindows_ = userAgent.includes('Windows');
- var isMac_ = userAgent.includes('Macintosh');
- var isTouch_ = ('ontouchstart' in window);
-
- var supportsSelectors_ = function () {
- return Boolean(svg.querySelector);
- }();
-
- var supportsXpath_ = function () {
- return Boolean(document.evaluate);
- }(); // segList functions (for FF1.5 and 2.0)
-
-
- var supportsPathReplaceItem_ = function () {
- var path = document.createElementNS(NS.SVG, 'path');
- path.setAttribute('d', 'M0,0 10,10');
- var seglist = path.pathSegList;
- var seg = path.createSVGPathSegLinetoAbs(5, 5);
-
- try {
- seglist.replaceItem(seg, 1);
- return true;
- } catch (err) {}
-
- return false;
- }();
-
- var supportsPathInsertItemBefore_ = function () {
- var path = document.createElementNS(NS.SVG, 'path');
- path.setAttribute('d', 'M0,0 10,10');
- var seglist = path.pathSegList;
- var seg = path.createSVGPathSegLinetoAbs(5, 5);
-
- try {
- seglist.insertItemBefore(seg, 1);
- return true;
- } catch (err) {}
-
- return false;
- }(); // text character positioning (for IE9 and now Chrome)
-
-
- var supportsGoodTextCharPos_ = function () {
- var svgroot = document.createElementNS(NS.SVG, 'svg');
- var svgcontent = document.createElementNS(NS.SVG, 'svg');
- document.documentElement.append(svgroot);
- svgcontent.setAttribute('x', 5);
- svgroot.append(svgcontent);
- var text = document.createElementNS(NS.SVG, 'text');
- text.textContent = 'a';
- svgcontent.append(text);
-
- try {
- // Chrome now fails here
- var pos = text.getStartPositionOfChar(0).x;
- return pos === 0;
- } catch (err) {
- return false;
- } finally {
- svgroot.remove();
- }
- }();
-
- var supportsPathBBox_ = function () {
- var svgcontent = document.createElementNS(NS.SVG, 'svg');
- document.documentElement.append(svgcontent);
- var path = document.createElementNS(NS.SVG, 'path');
- path.setAttribute('d', 'M0,0 C0,0 10,10 10,0');
- svgcontent.append(path);
- var bbox = path.getBBox();
- svgcontent.remove();
- return bbox.height > 4 && bbox.height < 5;
- }(); // Support for correct bbox sizing on groups with horizontal/vertical lines
-
-
- var supportsHVLineContainerBBox_ = function () {
- var svgcontent = document.createElementNS(NS.SVG, 'svg');
- document.documentElement.append(svgcontent);
- var path = document.createElementNS(NS.SVG, 'path');
- path.setAttribute('d', 'M0,0 10,0');
- var path2 = document.createElementNS(NS.SVG, 'path');
- path2.setAttribute('d', 'M5,0 15,0');
- var g = document.createElementNS(NS.SVG, 'g');
- g.append(path, path2);
- svgcontent.append(g);
- var bbox = g.getBBox();
- svgcontent.remove(); // Webkit gives 0, FF gives 10, Opera (correctly) gives 15
-
- return bbox.width === 15;
- }();
-
- var supportsGoodDecimals_ = function () {
- // Correct decimals on clone attributes (Opera < 10.5/win/non-en)
- var rect = document.createElementNS(NS.SVG, 'rect');
- rect.setAttribute('x', 0.1);
- var crect = rect.cloneNode(false);
- var retValue = !crect.getAttribute('x').includes(',');
-
- if (!retValue) {
- // Todo: i18nize or remove
- $.alert('NOTE: This version of Opera is known to contain bugs in SVG-edit.\n' + 'Please upgrade to the latest version in which the problems have been fixed.');
- }
-
- return retValue;
- }();
-
- var supportsNonScalingStroke_ = function () {
- var rect = document.createElementNS(NS.SVG, 'rect');
- rect.setAttribute('style', 'vector-effect:non-scaling-stroke');
- return rect.style.vectorEffect === 'non-scaling-stroke';
- }();
-
- var supportsNativeSVGTransformLists_ = function () {
- var rect = document.createElementNS(NS.SVG, 'rect');
- var rxform = rect.transform.baseVal;
- var t1 = svg.createSVGTransform();
- rxform.appendItem(t1);
- var r1 = rxform.getItem(0);
-
- var isSVGTransform = function isSVGTransform(o) {
- // https://developer.mozilla.org/en-US/docs/Web/API/SVGTransform
- return o && _typeof(o) === 'object' && typeof o.setMatrix === 'function' && 'angle' in o;
- };
-
- return isSVGTransform(r1) && isSVGTransform(t1) && r1.type === t1.type && r1.angle === t1.angle && r1.matrix.a === t1.matrix.a && r1.matrix.b === t1.matrix.b && r1.matrix.c === t1.matrix.c && r1.matrix.d === t1.matrix.d && r1.matrix.e === t1.matrix.e && r1.matrix.f === t1.matrix.f;
- }(); // Public API
-
- /**
- * @function module:browser.isOpera
- * @returns {boolean}
- */
-
-
- var isOpera = function isOpera() {
- return isOpera_;
- };
- /**
- * @function module:browser.isWebkit
- * @returns {boolean}
- */
-
- var isWebkit = function isWebkit() {
- return isWebkit_;
- };
- /**
- * @function module:browser.isGecko
- * @returns {boolean}
- */
-
- var isGecko = function isGecko() {
- return isGecko_;
- };
- /**
- * @function module:browser.isIE
- * @returns {boolean}
- */
-
- var isIE = function isIE() {
- return isIE_;
- };
- /**
- * @function module:browser.isChrome
- * @returns {boolean}
- */
-
- var isChrome = function isChrome() {
- return isChrome_;
- };
- /**
- * @function module:browser.isMac
- * @returns {boolean}
- */
-
- var isMac = function isMac() {
- return isMac_;
- };
- /**
- * @function module:browser.isTouch
- * @returns {boolean}
- */
-
- var isTouch = function isTouch() {
- return isTouch_;
- };
- /**
- * @function module:browser.supportsSelectors
- * @returns {boolean}
- */
-
- var supportsSelectors = function supportsSelectors() {
- return supportsSelectors_;
- };
- /**
- * @function module:browser.supportsXpath
- * @returns {boolean}
- */
-
- var supportsXpath = function supportsXpath() {
- return supportsXpath_;
- };
- /**
- * @function module:browser.supportsPathReplaceItem
- * @returns {boolean}
- */
-
- var supportsPathReplaceItem = function supportsPathReplaceItem() {
- return supportsPathReplaceItem_;
- };
- /**
- * @function module:browser.supportsPathInsertItemBefore
- * @returns {boolean}
- */
-
- var supportsPathInsertItemBefore = function supportsPathInsertItemBefore() {
- return supportsPathInsertItemBefore_;
- };
- /**
- * @function module:browser.supportsPathBBox
- * @returns {boolean}
- */
-
- var supportsPathBBox = function supportsPathBBox() {
- return supportsPathBBox_;
- };
- /**
- * @function module:browser.supportsHVLineContainerBBox
- * @returns {boolean}
- */
-
- var supportsHVLineContainerBBox = function supportsHVLineContainerBBox() {
- return supportsHVLineContainerBBox_;
- };
- /**
- * @function module:browser.supportsGoodTextCharPos
- * @returns {boolean}
- */
-
- var supportsGoodTextCharPos = function supportsGoodTextCharPos() {
- return supportsGoodTextCharPos_;
- };
- /**
- * @function module:browser.supportsNonScalingStroke
- * @returns {boolean}
- */
-
- var supportsNonScalingStroke = function supportsNonScalingStroke() {
- return supportsNonScalingStroke_;
- };
- /**
- * @function module:browser.supportsNativeTransformLists
- * @returns {boolean}
- */
-
- var supportsNativeTransformLists = function supportsNativeTransformLists() {
- return supportsNativeSVGTransformLists_;
- };
-
- /**
- * A jQuery module to work with SVG attributes.
- * @module jQueryAttr
- * @license MIT
- */
-
- /**
- * This fixes `$(...).attr()` to work as expected with SVG elements.
- * Does not currently use `*AttributeNS()` since we rarely need that.
- * Adds {@link external:jQuery.fn.attr}.
- * See {@link https://api.jquery.com/attr/} for basic documentation of `.attr()`.
- *
- * Additional functionality:
- * - When getting attributes, a string that's a number is returned as type number.
- * - If an array is supplied as the first parameter, multiple values are returned
- * as an object with values for each given attribute.
- * @function module:jQueryAttr.jQueryAttr
- * @param {external:jQuery} $ The jQuery object to which to add the plug-in
- * @returns {external:jQuery}
- */
- function jQueryPluginSVG($) {
- var proxied = $.fn.attr,
- svgns = 'http://www.w3.org/2000/svg';
- /**
- * @typedef {PlainObject} module:jQueryAttr.Attributes
- */
-
- /**
- * @function external:jQuery.fn.attr
- * @param {string|string[]|PlainObject} key
- * @param {string} value
- * @returns {external:jQuery|module:jQueryAttr.Attributes}
- */
-
- $.fn.attr = function (key, value) {
- var len = this.length;
-
- if (!len) {
- return proxied.call(this, key, value);
- }
-
- for (var i = 0; i < len; ++i) {
- var elem = this[i]; // set/get SVG attribute
-
- if (elem.namespaceURI === svgns) {
- // Setting attribute
- if (value !== undefined) {
- elem.setAttribute(key, value);
- } else if (Array.isArray(key)) {
- // Getting attributes from array
- var obj = {};
- var j = key.length;
-
- while (j--) {
- var aname = key[j];
- var attr = elem.getAttribute(aname); // This returns a number when appropriate
-
- if (attr || attr === '0') {
- attr = isNaN(attr) ? attr : attr - 0;
- }
-
- obj[aname] = attr;
- }
-
- return obj;
- }
-
- if (_typeof(key) === 'object') {
- // Setting attributes from object
- for (var _i = 0, _Object$entries = Object.entries(key); _i < _Object$entries.length; _i++) {
- var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
- name = _Object$entries$_i[0],
- val = _Object$entries$_i[1];
-
- elem.setAttribute(name, val);
- } // Getting attribute
-
- } else {
- var _attr = elem.getAttribute(key);
-
- if (_attr || _attr === '0') {
- _attr = isNaN(_attr) ? _attr : _attr - 0;
- }
-
- return _attr;
- }
- } else {
- return proxied.call(this, key, value);
- }
- }
-
- return this;
- };
-
- return $;
- }
-
- var svgroot = document.createElementNS(NS.SVG, 'svg');
- /**
- * Helper function to convert `SVGTransform` to a string.
- * @param {SVGTransform} xform
- * @returns {string}
- */
-
- function transformToString(xform) {
- var m = xform.matrix;
- var text = '';
-
- switch (xform.type) {
- case 1:
- // MATRIX
- text = 'matrix(' + [m.a, m.b, m.c, m.d, m.e, m.f].join(',') + ')';
- break;
-
- case 2:
- // TRANSLATE
- text = 'translate(' + m.e + ',' + m.f + ')';
- break;
-
- case 3:
- // SCALE
- if (m.a === m.d) {
- text = 'scale(' + m.a + ')';
- } else {
- text = 'scale(' + m.a + ',' + m.d + ')';
- }
-
- break;
-
- case 4:
- {
- // ROTATE
- var cx = 0;
- var cy = 0; // this prevents divide by zero
-
- if (xform.angle !== 0) {
- var K = 1 - m.a;
- cy = (K * m.f + m.b * m.e) / (K * K + m.b * m.b);
- cx = (m.e - m.b * cy) / K;
- }
-
- text = 'rotate(' + xform.angle + ' ' + cx + ',' + cy + ')';
- break;
- }
- }
-
- return text;
- }
- /**
- * Map of SVGTransformList objects.
- */
-
-
- var listMap_ = {};
- /**
- * @interface module:SVGTransformList.SVGEditTransformList
- * @property {Integer} numberOfItems unsigned long
- */
-
- /**
- * @function module:SVGTransformList.SVGEditTransformList#clear
- * @returns {void}
- */
-
- /**
- * @function module:SVGTransformList.SVGEditTransformList#initialize
- * @param {SVGTransform} newItem
- * @returns {SVGTransform}
- */
-
- /**
- * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
- * @function module:SVGTransformList.SVGEditTransformList#getItem
- * @param {Integer} index unsigned long
- * @returns {SVGTransform}
- */
-
- /**
- * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
- * @function module:SVGTransformList.SVGEditTransformList#insertItemBefore
- * @param {SVGTransform} newItem
- * @param {Integer} index unsigned long
- * @returns {SVGTransform}
- */
-
- /**
- * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
- * @function module:SVGTransformList.SVGEditTransformList#replaceItem
- * @param {SVGTransform} newItem
- * @param {Integer} index unsigned long
- * @returns {SVGTransform}
- */
-
- /**
- * DOES NOT THROW DOMException, INDEX_SIZE_ERR.
- * @function module:SVGTransformList.SVGEditTransformList#removeItem
- * @param {Integer} index unsigned long
- * @returns {SVGTransform}
- */
-
- /**
- * @function module:SVGTransformList.SVGEditTransformList#appendItem
- * @param {SVGTransform} newItem
- * @returns {SVGTransform}
- */
-
- /**
- * NOT IMPLEMENTED.
- * @ignore
- * @function module:SVGTransformList.SVGEditTransformList#createSVGTransformFromMatrix
- * @param {SVGMatrix} matrix
- * @returns {SVGTransform}
- */
-
- /**
- * NOT IMPLEMENTED.
- * @ignore
- * @function module:SVGTransformList.SVGEditTransformList#consolidate
- * @returns {SVGTransform}
- */
-
- /**
- * SVGTransformList implementation for Webkit.
- * These methods do not currently raise any exceptions.
- * These methods also do not check that transforms are being inserted. This is basically
- * implementing as much of SVGTransformList that we need to get the job done.
- * @implements {module:SVGTransformList.SVGEditTransformList}
- */
-
- var SVGTransformList = /*#__PURE__*/function () {
- // eslint-disable-line no-shadow
-
- /**
- * @param {Element} elem
- * @returns {SVGTransformList}
- */
- function SVGTransformList(elem) {
- _classCallCheck(this, SVGTransformList);
-
- this._elem = elem || null;
- this._xforms = []; // TODO: how do we capture the undo-ability in the changed transform list?
-
- this._update = function () {
- var tstr = ''; // /* const concatMatrix = */ svgroot.createSVGMatrix();
-
- for (var i = 0; i < this.numberOfItems; ++i) {
- var xform = this._list.getItem(i);
-
- tstr += transformToString(xform) + ' ';
- }
-
- this._elem.setAttribute('transform', tstr);
- };
-
- this._list = this;
-
- this._init = function () {
- var _this = this;
-
- // Transform attribute parser
- var str = this._elem.getAttribute('transform');
-
- if (!str) {
- return;
- } // TODO: Add skew support in future
-
-
- var re = /\s*((scale|matrix|rotate|translate)\s*\(.*?\))\s*,?\s*/; // const re = /\s*(?(?:scale|matrix|rotate|translate)\s*\(.*?\))\s*,?\s*/;
-
- var m = true;
-
- while (m) {
- m = str.match(re);
- str = str.replace(re, '');
-
- if (m && m[1]) {
- (function () {
- var x = m[1];
- var bits = x.split(/\s*\(/);
- var name = bits[0];
- var valBits = bits[1].match(/\s*(.*?)\s*\)/);
- valBits[1] = valBits[1].replace(/(\d)-/g, '$1 -');
- var valArr = valBits[1].split(/[, ]+/);
- var letters = 'abcdef'.split('');
- /*
- if (m && m.groups.xform) {
- const x = m.groups.xform;
- const [name, bits] = x.split(/\s*\(/);
- const valBits = bits.match(/\s*(?.*?)\s*\)/);
- valBits.groups.nonWhitespace = valBits.groups.nonWhitespace.replace(
- /(?\d)-/g, '$ -'
- );
- const valArr = valBits.groups.nonWhitespace.split(/[, ]+/);
- const letters = [...'abcdef'];
- */
-
- var mtx = svgroot.createSVGMatrix();
- Object.values(valArr).forEach(function (item, i) {
- valArr[i] = Number.parseFloat(item);
-
- if (name === 'matrix') {
- mtx[letters[i]] = valArr[i];
- }
- });
- var xform = svgroot.createSVGTransform();
- var fname = 'set' + name.charAt(0).toUpperCase() + name.slice(1);
- var values = name === 'matrix' ? [mtx] : valArr;
-
- if (name === 'scale' && values.length === 1) {
- values.push(values[0]);
- } else if (name === 'translate' && values.length === 1) {
- values.push(0);
- } else if (name === 'rotate' && values.length === 1) {
- values.push(0, 0);
- }
-
- xform[fname].apply(xform, _toConsumableArray(values));
-
- _this._list.appendItem(xform);
- })();
- }
- }
- };
-
- this._removeFromOtherLists = function (item) {
- if (item) {
- // Check if this transform is already in a transformlist, and
- // remove it if so.
- Object.values(listMap_).some(function (tl) {
- for (var i = 0, len = tl._xforms.length; i < len; ++i) {
- if (tl._xforms[i] === item) {
- tl.removeItem(i);
- return true;
- }
- }
-
- return false;
- });
- }
- };
-
- this.numberOfItems = 0;
- }
- /**
- * @returns {void}
- */
-
-
- _createClass(SVGTransformList, [{
- key: "clear",
- value: function clear() {
- this.numberOfItems = 0;
- this._xforms = [];
- }
- /**
- * @param {SVGTransform} newItem
- * @returns {void}
- */
-
- }, {
- key: "initialize",
- value: function initialize(newItem) {
- this.numberOfItems = 1;
-
- this._removeFromOtherLists(newItem);
-
- this._xforms = [newItem];
- }
- /**
- * @param {Integer} index unsigned long
- * @throws {Error}
- * @returns {SVGTransform}
- */
-
- }, {
- key: "getItem",
- value: function getItem(index) {
- if (index < this.numberOfItems && index >= 0) {
- return this._xforms[index];
- }
-
- var err = new Error('DOMException with code=INDEX_SIZE_ERR');
- err.code = 1;
- throw err;
- }
- /**
- * @param {SVGTransform} newItem
- * @param {Integer} index unsigned long
- * @returns {SVGTransform}
- */
-
- }, {
- key: "insertItemBefore",
- value: function insertItemBefore(newItem, index) {
- var retValue = null;
-
- if (index >= 0) {
- if (index < this.numberOfItems) {
- this._removeFromOtherLists(newItem);
-
- var newxforms = new Array(this.numberOfItems + 1); // TODO: use array copying and slicing
-
- var i;
-
- for (i = 0; i < index; ++i) {
- newxforms[i] = this._xforms[i];
- }
-
- newxforms[i] = newItem;
-
- for (var j = i + 1; i < this.numberOfItems; ++j, ++i) {
- newxforms[j] = this._xforms[i];
- }
-
- this.numberOfItems++;
- this._xforms = newxforms;
- retValue = newItem;
-
- this._list._update();
- } else {
- retValue = this._list.appendItem(newItem);
- }
- }
-
- return retValue;
- }
- /**
- * @param {SVGTransform} newItem
- * @param {Integer} index unsigned long
- * @returns {SVGTransform}
- */
-
- }, {
- key: "replaceItem",
- value: function replaceItem(newItem, index) {
- var retValue = null;
-
- if (index < this.numberOfItems && index >= 0) {
- this._removeFromOtherLists(newItem);
-
- this._xforms[index] = newItem;
- retValue = newItem;
-
- this._list._update();
- }
-
- return retValue;
- }
- /**
- * @param {Integer} index unsigned long
- * @throws {Error}
- * @returns {SVGTransform}
- */
-
- }, {
- key: "removeItem",
- value: function removeItem(index) {
- if (index < this.numberOfItems && index >= 0) {
- var retValue = this._xforms[index];
- var newxforms = new Array(this.numberOfItems - 1);
- var i;
-
- for (i = 0; i < index; ++i) {
- newxforms[i] = this._xforms[i];
- }
-
- for (var j = i; j < this.numberOfItems - 1; ++j, ++i) {
- newxforms[j] = this._xforms[i + 1];
- }
-
- this.numberOfItems--;
- this._xforms = newxforms;
-
- this._list._update();
-
- return retValue;
- }
-
- var err = new Error('DOMException with code=INDEX_SIZE_ERR');
- err.code = 1;
- throw err;
- }
- /**
- * @param {SVGTransform} newItem
- * @returns {SVGTransform}
- */
-
- }, {
- key: "appendItem",
- value: function appendItem(newItem) {
- this._removeFromOtherLists(newItem);
-
- this._xforms.push(newItem);
-
- this.numberOfItems++;
-
- this._list._update();
-
- return newItem;
- }
- }]);
-
- return SVGTransformList;
- }();
- /**
- * @function module:SVGTransformList.resetListMap
- * @returns {void}
- */
-
- var resetListMap = function resetListMap() {
- listMap_ = {};
- };
- /**
- * Removes transforms of the given element from the map.
- * @function module:SVGTransformList.removeElementFromListMap
- * @param {Element} elem - a DOM Element
- * @returns {void}
- */
-
- var removeElementFromListMap = function removeElementFromListMap(elem) {
- // eslint-disable-line import/no-mutable-exports
- if (elem.id && listMap_[elem.id]) {
- delete listMap_[elem.id];
- }
- };
- /**
- * Returns an object that behaves like a `SVGTransformList` for the given DOM element.
- * @function module:SVGTransformList.getTransformList
- * @param {Element} elem - DOM element to get a transformlist from
- * @todo The polyfill should have `SVGAnimatedTransformList` and this should use it
- * @returns {SVGAnimatedTransformList|SVGTransformList}
- */
-
- var getTransformList = function getTransformList(elem) {
- if (!supportsNativeTransformLists()) {
- var id = elem.id || 'temp';
- var t = listMap_[id];
-
- if (!t || id === 'temp') {
- listMap_[id] = new SVGTransformList(elem);
-
- listMap_[id]._init();
-
- t = listMap_[id];
- }
-
- return t;
- }
-
- if (elem.transform) {
- return elem.transform.baseVal;
- }
-
- if (elem.gradientTransform) {
- return elem.gradientTransform.baseVal;
- }
-
- if (elem.patternTransform) {
- return elem.patternTransform.baseVal;
- }
-
- return null;
- };
-
- /**
- * Tools for working with units.
- * @module units
- * @license MIT
- *
- * @copyright 2010 Alexis Deveria, 2010 Jeff Schiller
- */
- var wAttrs = ['x', 'x1', 'cx', 'rx', 'width'];
- var hAttrs = ['y', 'y1', 'cy', 'ry', 'height'];
- var unitAttrs = ['r', 'radius'].concat(wAttrs, hAttrs); // unused
-
- /*
- const unitNumMap = {
- '%': 2,
- em: 3,
- ex: 4,
- px: 5,
- cm: 6,
- mm: 7,
- in: 8,
- pt: 9,
- pc: 10
- };
- */
- // Container of elements.
-
- var elementContainer_; // Stores mapping of unit type to user coordinates.
-
- var typeMap_ = {};
- /**
- * @interface module:units.ElementContainer
- */
-
- /**
- * @function module:units.ElementContainer#getBaseUnit
- * @returns {string} The base unit type of the container ('em')
- */
-
- /**
- * @function module:units.ElementContainer#getElement
- * @returns {?Element} An element in the container given an id
- */
-
- /**
- * @function module:units.ElementContainer#getHeight
- * @returns {Float} The container's height
- */
-
- /**
- * @function module:units.ElementContainer#getWidth
- * @returns {Float} The container's width
- */
-
- /**
- * @function module:units.ElementContainer#getRoundDigits
- * @returns {Integer} The number of digits number should be rounded to
- */
-
- /* eslint-disable jsdoc/valid-types */
-
- /**
- * @typedef {PlainObject} module:units.TypeMap
- * @property {Float} em
- * @property {Float} ex
- * @property {Float} in
- * @property {Float} cm
- * @property {Float} mm
- * @property {Float} pt
- * @property {Float} pc
- * @property {Integer} px
- * @property {0} %
- */
-
- /* eslint-enable jsdoc/valid-types */
-
- /**
- * Initializes this module.
- *
- * @function module:units.init
- * @param {module:units.ElementContainer} elementContainer - An object implementing the ElementContainer interface.
- * @returns {void}
- */
-
- var init = function init(elementContainer) {
- elementContainer_ = elementContainer; // Get correct em/ex values by creating a temporary SVG.
-
- var svg = document.createElementNS(NS.SVG, 'svg');
- document.body.append(svg);
- var rect = document.createElementNS(NS.SVG, 'rect');
- rect.setAttribute('width', '1em');
- rect.setAttribute('height', '1ex');
- rect.setAttribute('x', '1in');
- svg.append(rect);
- var bb = rect.getBBox();
- svg.remove();
- var inch = bb.x;
- typeMap_ = {
- em: bb.width,
- ex: bb.height,
- "in": inch,
- cm: inch / 2.54,
- mm: inch / 25.4,
- pt: inch / 72,
- pc: inch / 6,
- px: 1,
- '%': 0
- };
- };
- /**
- * Group: Unit conversion functions.
- */
-
- /**
- * @function module:units.getTypeMap
- * @returns {module:units.TypeMap} The unit object with values for each unit
- */
-
- var getTypeMap = function getTypeMap() {
- return typeMap_;
- };
- /**
- * @typedef {GenericArray} module:units.CompareNumbers
- * @property {Integer} length 2
- * @property {Float} 0
- * @property {Float} 1
- */
-
- /**
- * Rounds a given value to a float with number of digits defined in
- * `round_digits` of `saveOptions`
- *
- * @function module:units.shortFloat
- * @param {string|Float|module:units.CompareNumbers} val - The value (or Array of two numbers) to be rounded
- * @returns {Float|string} If a string/number was given, returns a Float. If an array, return a string
- * with comma-separated floats
- */
-
- var shortFloat = function shortFloat(val) {
- var digits = elementContainer_.getRoundDigits();
-
- if (!isNaN(val)) {
- return Number(Number(val).toFixed(digits));
- }
-
- if (Array.isArray(val)) {
- return shortFloat(val[0]) + ',' + shortFloat(val[1]);
- }
-
- return Number.parseFloat(val).toFixed(digits) - 0;
- };
- /**
- * Converts the number to given unit or baseUnit.
- * @function module:units.convertUnit
- * @param {string|Float} val
- * @param {"em"|"ex"|"in"|"cm"|"mm"|"pt"|"pc"|"px"|"%"} [unit]
- * @returns {Float}
- */
-
- var convertUnit = function convertUnit(val, unit) {
- unit = unit || elementContainer_.getBaseUnit(); // baseVal.convertToSpecifiedUnits(unitNumMap[unit]);
- // const val = baseVal.valueInSpecifiedUnits;
- // baseVal.convertToSpecifiedUnits(1);
-
- return shortFloat(val / typeMap_[unit]);
- };
- /**
- * Sets an element's attribute based on the unit in its current value.
- *
- * @function module:units.setUnitAttr
- * @param {Element} elem - DOM element to be changed
- * @param {string} attr - Name of the attribute associated with the value
- * @param {string} val - Attribute value to convert
- * @returns {void}
- */
-
- var setUnitAttr = function setUnitAttr(elem, attr, val) {
- // if (!isNaN(val)) {
- // New value is a number, so check currently used unit
- // const oldVal = elem.getAttribute(attr);
- // Enable this for alternate mode
- // if (oldVal !== null && (isNaN(oldVal) || elementContainer_.getBaseUnit() !== 'px')) {
- // // Old value was a number, so get unit, then convert
- // let unit;
- // if (oldVal.substr(-1) === '%') {
- // const res = getResolution();
- // unit = '%';
- // val *= 100;
- // if (wAttrs.includes(attr)) {
- // val = val / res.w;
- // } else if (hAttrs.includes(attr)) {
- // val = val / res.h;
- // } else {
- // return val / Math.sqrt((res.w*res.w) + (res.h*res.h))/Math.sqrt(2);
- // }
- // } else {
- // if (elementContainer_.getBaseUnit() !== 'px') {
- // unit = elementContainer_.getBaseUnit();
- // } else {
- // unit = oldVal.substr(-2);
- // }
- // val = val / typeMap_[unit];
- // }
- //
- // val += unit;
- // }
- // }
- elem.setAttribute(attr, val);
- };
- /**
- * Converts given values to numbers. Attributes must be supplied in
- * case a percentage is given.
- *
- * @function module:units.convertToNum
- * @param {string} attr - Name of the attribute associated with the value
- * @param {string} val - Attribute value to convert
- * @returns {Float} The converted number
- */
-
- var convertToNum = function convertToNum(attr, val) {
- // Return a number if that's what it already is
- if (!isNaN(val)) {
- return val - 0;
- }
-
- if (val.substr(-1) === '%') {
- // Deal with percentage, depends on attribute
- var _num = val.substr(0, val.length - 1) / 100;
-
- var width = elementContainer_.getWidth();
- var height = elementContainer_.getHeight();
-
- if (wAttrs.includes(attr)) {
- return _num * width;
- }
-
- if (hAttrs.includes(attr)) {
- return _num * height;
- }
-
- return _num * Math.sqrt(width * width + height * height) / Math.sqrt(2);
- }
-
- var unit = val.substr(-2);
- var num = val.substr(0, val.length - 2); // Note that this multiplication turns the string into a number
-
- return num * typeMap_[unit];
- };
- /**
- * Check if an attribute's value is in a valid format.
- * @function module:units.isValidUnit
- * @param {string} attr - The name of the attribute associated with the value
- * @param {string} val - The attribute value to check
- * @param {Element} selectedElement
- * @returns {boolean} Whether the unit is valid
- */
-
- var isValidUnit = function isValidUnit(attr, val, selectedElement) {
- if (unitAttrs.includes(attr)) {
- // True if it's just a number
- if (!isNaN(val)) {
- return true;
- } // Not a number, check if it has a valid unit
-
-
- val = val.toLowerCase();
- return Object.keys(typeMap_).some(function (unit) {
- var re = new RegExp('^-?[\\d\\.]+' + unit + '$');
- return re.test(val);
- });
- }
-
- if (attr === 'id') {
- // if we're trying to change the id, make sure it's not already present in the doc
- // and the id value is valid.
- var result = false; // because getElem() can throw an exception in the case of an invalid id
- // (according to https://www.w3.org/TR/xml-id/ IDs must be a NCName)
- // we wrap it in an exception and only return true if the ID was valid and
- // not already present
-
- try {
- var elem = elementContainer_.getElement(val);
- result = !elem || elem === selectedElement;
- } catch (e) {}
-
- return result;
- }
-
- return true;
- };
-
- /**
- * Mathematical utilities.
- * @module math
- * @license MIT
- *
- * @copyright 2010 Alexis Deveria, 2010 Jeff Schiller
- */
-
- var NEAR_ZERO = 1e-14; // Throw away SVGSVGElement used for creating matrices/transforms.
-
- var svg$1 = document.createElementNS(NS.SVG, 'svg');
- /**
- * A (hopefully) quicker function to transform a point by a matrix
- * (this function avoids any DOM calls and just does the math).
- * @function module:math.transformPoint
- * @param {Float} x - Float representing the x coordinate
- * @param {Float} y - Float representing the y coordinate
- * @param {SVGMatrix} m - Matrix object to transform the point with
- * @returns {module:math.XYObject} An x, y object representing the transformed point
- */
-
- var transformPoint = function transformPoint(x, y, m) {
- return {
- x: m.a * x + m.c * y + m.e,
- y: m.b * x + m.d * y + m.f
- };
- };
- /**
- * Helper function to check if the matrix performs no actual transform
- * (i.e. exists for identity purposes).
- * @function module:math.isIdentity
- * @param {SVGMatrix} m - The matrix object to check
- * @returns {boolean} Indicates whether or not the matrix is 1,0,0,1,0,0
- */
-
- var isIdentity = function isIdentity(m) {
- return m.a === 1 && m.b === 0 && m.c === 0 && m.d === 1 && m.e === 0 && m.f === 0;
- };
- /**
- * This function tries to return a `SVGMatrix` that is the multiplication `m1 * m2`.
- * We also round to zero when it's near zero.
- * @function module:math.matrixMultiply
- * @param {...SVGMatrix} args - Matrix objects to multiply
- * @returns {SVGMatrix} The matrix object resulting from the calculation
- */
-
- var matrixMultiply = function matrixMultiply() {
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
-
- var m = args.reduceRight(function (prev, m1) {
- return m1.multiply(prev);
- });
-
- if (Math.abs(m.a) < NEAR_ZERO) {
- m.a = 0;
- }
-
- if (Math.abs(m.b) < NEAR_ZERO) {
- m.b = 0;
- }
-
- if (Math.abs(m.c) < NEAR_ZERO) {
- m.c = 0;
- }
-
- if (Math.abs(m.d) < NEAR_ZERO) {
- m.d = 0;
- }
-
- if (Math.abs(m.e) < NEAR_ZERO) {
- m.e = 0;
- }
-
- if (Math.abs(m.f) < NEAR_ZERO) {
- m.f = 0;
- }
-
- return m;
- };
- /**
- * See if the given transformlist includes a non-indentity matrix transform.
- * @function module:math.hasMatrixTransform
- * @param {SVGTransformList} [tlist] - The transformlist to check
- * @returns {boolean} Whether or not a matrix transform was found
- */
-
- var hasMatrixTransform = function hasMatrixTransform(tlist) {
- if (!tlist) {
- return false;
- }
-
- var num = tlist.numberOfItems;
-
- while (num--) {
- var xform = tlist.getItem(num);
-
- if (xform.type === 1 && !isIdentity(xform.matrix)) {
- return true;
- }
- }
-
- return false;
- };
- /**
- * @typedef {PlainObject} module:math.TransformedBox An object with the following values
- * @property {module:math.XYObject} tl - The top left coordinate
- * @property {module:math.XYObject} tr - The top right coordinate
- * @property {module:math.XYObject} bl - The bottom left coordinate
- * @property {module:math.XYObject} br - The bottom right coordinate
- * @property {PlainObject} aabox - Object with the following values:
- * @property {Float} aabox.x - Float with the axis-aligned x coordinate
- * @property {Float} aabox.y - Float with the axis-aligned y coordinate
- * @property {Float} aabox.width - Float with the axis-aligned width coordinate
- * @property {Float} aabox.height - Float with the axis-aligned height coordinate
- */
-
- /**
- * Transforms a rectangle based on the given matrix.
- * @function module:math.transformBox
- * @param {Float} l - Float with the box's left coordinate
- * @param {Float} t - Float with the box's top coordinate
- * @param {Float} w - Float with the box width
- * @param {Float} h - Float with the box height
- * @param {SVGMatrix} m - Matrix object to transform the box by
- * @returns {module:math.TransformedBox}
- */
-
- var transformBox = function transformBox(l, t, w, h, m) {
- var tl = transformPoint(l, t, m),
- tr = transformPoint(l + w, t, m),
- bl = transformPoint(l, t + h, m),
- br = transformPoint(l + w, t + h, m),
- minx = Math.min(tl.x, tr.x, bl.x, br.x),
- maxx = Math.max(tl.x, tr.x, bl.x, br.x),
- miny = Math.min(tl.y, tr.y, bl.y, br.y),
- maxy = Math.max(tl.y, tr.y, bl.y, br.y);
- return {
- tl: tl,
- tr: tr,
- bl: bl,
- br: br,
- aabox: {
- x: minx,
- y: miny,
- width: maxx - minx,
- height: maxy - miny
- }
- };
- };
- /**
- * This returns a single matrix Transform for a given Transform List
- * (this is the equivalent of `SVGTransformList.consolidate()` but unlike
- * that method, this one does not modify the actual `SVGTransformList`).
- * This function is very liberal with its `min`, `max` arguments.
- * @function module:math.transformListToTransform
- * @param {SVGTransformList} tlist - The transformlist object
- * @param {Integer} [min=0] - Optional integer indicating start transform position
- * @param {Integer} [max] - Optional integer indicating end transform position;
- * defaults to one less than the tlist's `numberOfItems`
- * @returns {SVGTransform} A single matrix transform object
- */
-
- var transformListToTransform = function transformListToTransform(tlist, min, max) {
- if (!tlist) {
- // Or should tlist = null have been prevented before this?
- return svg$1.createSVGTransformFromMatrix(svg$1.createSVGMatrix());
- }
-
- min = min || 0;
- max = max || tlist.numberOfItems - 1;
- min = Number.parseInt(min);
- max = Number.parseInt(max);
-
- if (min > max) {
- var temp = max;
- max = min;
- min = temp;
- }
-
- var m = svg$1.createSVGMatrix();
-
- for (var i = min; i <= max; ++i) {
- // if our indices are out of range, just use a harmless identity matrix
- var mtom = i >= 0 && i < tlist.numberOfItems ? tlist.getItem(i).matrix : svg$1.createSVGMatrix();
- m = matrixMultiply(m, mtom);
- }
-
- return svg$1.createSVGTransformFromMatrix(m);
- };
- /**
- * Get the matrix object for a given element.
- * @function module:math.getMatrix
- * @param {Element} elem - The DOM element to check
- * @returns {SVGMatrix} The matrix object associated with the element's transformlist
- */
-
- var getMatrix = function getMatrix(elem) {
- var tlist = getTransformList(elem);
- return transformListToTransform(tlist).matrix;
- };
- /**
- * Returns a 45 degree angle coordinate associated with the two given
- * coordinates.
- * @function module:math.snapToAngle
- * @param {Integer} x1 - First coordinate's x value
- * @param {Integer} y1 - First coordinate's y value
- * @param {Integer} x2 - Second coordinate's x value
- * @param {Integer} y2 - Second coordinate's y value
- * @returns {module:math.AngleCoord45}
- */
-
- var snapToAngle = function snapToAngle(x1, y1, x2, y2) {
- var snap = Math.PI / 4; // 45 degrees
-
- var dx = x2 - x1;
- var dy = y2 - y1;
- var angle = Math.atan2(dy, dx);
- var dist = Math.sqrt(dx * dx + dy * dy);
- var snapangle = Math.round(angle / snap) * snap;
- return {
- x: x1 + dist * Math.cos(snapangle),
- y: y1 + dist * Math.sin(snapangle),
- a: snapangle
- };
- };
- /**
- * Check if two rectangles (BBoxes objects) intersect each other.
- * @function module:math.rectsIntersect
- * @param {SVGRect} r1 - The first BBox-like object
- * @param {SVGRect} r2 - The second BBox-like object
- * @returns {boolean} True if rectangles intersect
- */
-
- var rectsIntersect = function rectsIntersect(r1, r2) {
- return r2.x < r1.x + r1.width && r2.x + r2.width > r1.x && r2.y < r1.y + r1.height && r2.y + r2.height > r1.y;
- };
-
- var $$1 = jQueryPluginSVG(jQuery); // String used to encode base64.
-
- var KEYSTR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; // Much faster than running getBBox() every time
-
- var visElems = 'a,circle,ellipse,foreignObject,g,image,line,path,polygon,polyline,rect,svg,text,tspan,use,clipPath';
- var visElemsArr = visElems.split(','); // const hidElems = 'defs,desc,feGaussianBlur,filter,linearGradient,marker,mask,metadata,pattern,radialGradient,stop,switch,symbol,title,textPath';
-
- var editorContext_ = null;
- var domdoc_ = null;
- var domcontainer_ = null;
- var svgroot_ = null;
- /**
- * Object with the following keys/values.
- * @typedef {PlainObject} module:utilities.SVGElementJSON
- * @property {string} element - Tag name of the SVG element to create
- * @property {PlainObject} attr - Has key-value attributes to assign to the new element. An `id` should be set so that {@link module:utilities.EditorContext#addSVGElementFromJson} can later re-identify the element for modification or replacement.
- * @property {boolean} [curStyles=false] - Indicates whether current style attributes should be applied first
- * @property {module:utilities.SVGElementJSON[]} [children] - Data objects to be added recursively as children
- * @property {string} [namespace="http://www.w3.org/2000/svg"] - Indicate a (non-SVG) namespace
- */
-
- /**
- * An object that creates SVG elements for the canvas.
- *
- * @interface module:utilities.EditorContext
- * @property {module:path.pathActions} pathActions
- */
-
- /**
- * @function module:utilities.EditorContext#getSVGContent
- * @returns {SVGSVGElement}
- */
-
- /**
- * Create a new SVG element based on the given object keys/values and add it
- * to the current layer.
- * The element will be run through `cleanupElement` before being returned.
- * @function module:utilities.EditorContext#addSVGElementFromJson
- * @param {module:utilities.SVGElementJSON} data
- * @returns {Element} The new element
- */
-
- /**
- * @function module:utilities.EditorContext#getSelectedElements
- * @returns {Element[]} the array with selected DOM elements
- */
-
- /**
- * @function module:utilities.EditorContext#getDOMDocument
- * @returns {HTMLDocument}
- */
-
- /**
- * @function module:utilities.EditorContext#getDOMContainer
- * @returns {HTMLElement}
- */
-
- /**
- * @function module:utilities.EditorContext#getSVGRoot
- * @returns {SVGSVGElement}
- */
-
- /**
- * @function module:utilities.EditorContext#getBaseUnit
- * @returns {string}
- */
-
- /**
- * @function module:utilities.EditorContext#getSnappingStep
- * @returns {Float|string}
- */
-
- /**
- * @function module:utilities.init
- * @param {module:utilities.EditorContext} editorContext
- * @returns {void}
- */
-
- var init$1 = function init(editorContext) {
- editorContext_ = editorContext;
- domdoc_ = editorContext.getDOMDocument();
- domcontainer_ = editorContext.getDOMContainer();
- svgroot_ = editorContext.getSVGRoot();
- };
- /**
- * Used to prevent the [Billion laughs attack]{@link https://en.wikipedia.org/wiki/Billion_laughs_attack}.
- * @function module:utilities.dropXMLInternalSubset
- * @param {string} str String to be processed
- * @returns {string} The string with entity declarations in the internal subset removed
- * @todo This might be needed in other places `parseFromString` is used even without LGTM flagging
- */
-
- var dropXMLInternalSubset = function dropXMLInternalSubset(str) {
- return str.replace(/()/, '$1$2'); // return str.replace(/(?\?\]>)/, '$$');
- };
- /**
- * Converts characters in a string to XML-friendly entities.
- * @function module:utilities.toXml
- * @example `&` becomes `&`
- * @param {string} str - The string to be converted
- * @returns {string} The converted string
- */
-
- var toXml = function toXml(str) {
- // ' is ok in XML, but not HTML
- // > does not normally need escaping, though it can if within a CDATA expression (and preceded by "]]")
- return str.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, '''); // Note: `'` is XML only
- };
- // public domain. It would be nice if you left this header intact.
- // Base64 code from Tyler Akins -- http://rumkin.com
- // schiller: Removed string concatenation in favour of Array.join() optimization,
- // also precalculate the size of the array needed.
-
- /**
- * Converts a string to base64.
- * @function module:utilities.encode64
- * @param {string} input
- * @returns {string} Base64 output
- */
-
- function encode64(input) {
- // base64 strings are 4/3 larger than the original string
- input = encodeUTF8(input); // convert non-ASCII characters
- // input = convertToXMLReferences(input);
-
- if (window.btoa) {
- return window.btoa(input); // Use native if available
- }
-
- var output = new Array(Math.floor((input.length + 2) / 3) * 4);
- var i = 0,
- p = 0;
-
- do {
- var chr1 = input.charCodeAt(i++);
- var chr2 = input.charCodeAt(i++);
- var chr3 = input.charCodeAt(i++);
- /* eslint-disable no-bitwise */
-
- var enc1 = chr1 >> 2;
- var enc2 = (chr1 & 3) << 4 | chr2 >> 4;
- var enc3 = (chr2 & 15) << 2 | chr3 >> 6;
- var enc4 = chr3 & 63;
- /* eslint-enable no-bitwise */
-
- if (Number.isNaN(chr2)) {
- enc3 = 64;
- enc4 = 64;
- } else if (Number.isNaN(chr3)) {
- enc4 = 64;
- }
-
- output[p++] = KEYSTR.charAt(enc1);
- output[p++] = KEYSTR.charAt(enc2);
- output[p++] = KEYSTR.charAt(enc3);
- output[p++] = KEYSTR.charAt(enc4);
- } while (i < input.length);
-
- return output.join('');
- }
- /**
- * Converts a string from base64.
- * @function module:utilities.decode64
- * @param {string} input Base64-encoded input
- * @returns {string} Decoded output
- */
-
- function decode64(input) {
- if (window.atob) {
- return decodeUTF8(window.atob(input));
- } // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
-
-
- input = input.replace(/[^A-Za-z\d+/=]/g, '');
- var output = '';
- var i = 0;
-
- do {
- var enc1 = KEYSTR.indexOf(input.charAt(i++));
- var enc2 = KEYSTR.indexOf(input.charAt(i++));
- var enc3 = KEYSTR.indexOf(input.charAt(i++));
- var enc4 = KEYSTR.indexOf(input.charAt(i++));
- /* eslint-disable no-bitwise */
-
- var chr1 = enc1 << 2 | enc2 >> 4;
- var chr2 = (enc2 & 15) << 4 | enc3 >> 2;
- var chr3 = (enc3 & 3) << 6 | enc4;
- /* eslint-enable no-bitwise */
-
- output += String.fromCharCode(chr1);
-
- if (enc3 !== 64) {
- output += String.fromCharCode(chr2);
- }
-
- if (enc4 !== 64) {
- output += String.fromCharCode(chr3);
- }
- } while (i < input.length);
-
- return decodeUTF8(output);
- }
- /**
- * @function module:utilities.decodeUTF8
- * @param {string} argString
- * @returns {string}
- */
-
- function decodeUTF8(argString) {
- return decodeURIComponent(escape(argString));
- } // codedread:does not seem to work with webkit-based browsers on OSX // Brettz9: please test again as function upgraded
-
- /**
- * @function module:utilities.encodeUTF8
- * @param {string} argString
- * @returns {string}
- */
-
- var encodeUTF8 = function encodeUTF8(argString) {
- return unescape(encodeURIComponent(argString));
- };
- /**
- * Convert dataURL to object URL.
- * @function module:utilities.dataURLToObjectURL
- * @param {string} dataurl
- * @returns {string} object URL or empty string
- */
-
- var dataURLToObjectURL = function dataURLToObjectURL(dataurl) {
- if (typeof Uint8Array === 'undefined' || typeof Blob === 'undefined' || typeof URL === 'undefined' || !URL.createObjectURL) {
- return '';
- }
-
- var arr = dataurl.split(','),
- mime = arr[0].match(/:(.*?);/)[1],
- bstr = atob(arr[1]);
- /*
- const [prefix, suffix] = dataurl.split(','),
- {groups: {mime}} = prefix.match(/:(?.*?);/),
- bstr = atob(suffix);
- */
-
- var n = bstr.length;
- var u8arr = new Uint8Array(n);
-
- while (n--) {
- u8arr[n] = bstr.charCodeAt(n);
- }
-
- var blob = new Blob([u8arr], {
- type: mime
- });
- return URL.createObjectURL(blob);
- };
- /**
- * Get object URL for a blob object.
- * @function module:utilities.createObjectURL
- * @param {Blob} blob A Blob object or File object
- * @returns {string} object URL or empty string
- */
-
- var createObjectURL = function createObjectURL(blob) {
- if (!blob || typeof URL === 'undefined' || !URL.createObjectURL) {
- return '';
- }
-
- return URL.createObjectURL(blob);
- };
- /**
- * @property {string} blankPageObjectURL
- */
-
- var blankPageObjectURL = function () {
- if (typeof Blob === 'undefined') {
- return '';
- }
-
- var blob = new Blob(['SVG-edit '], {
- type: 'text/html'
- });
- return createObjectURL(blob);
- }();
- /**
- * Cross-browser compatible method of converting a string to an XML tree.
- * Found this function [here]{@link http://groups.google.com/group/jquery-dev/browse_thread/thread/c6d11387c580a77f}.
- * @function module:utilities.text2xml
- * @param {string} sXML
- * @throws {Error}
- * @returns {XMLDocument}
- */
-
- var text2xml = function text2xml(sXML) {
- if (sXML.includes('`
- * - ``
- * - ``
- * @function module:utilities.getUrlFromAttr
- * @param {string} attrVal The attribute value as a string
- * @returns {string} String with just the URL, like "someFile.svg#foo"
- */
-
- var getUrlFromAttr = function getUrlFromAttr(attrVal) {
- if (attrVal) {
- // url('#somegrad')
- if (attrVal.startsWith('url("')) {
- return attrVal.substring(5, attrVal.indexOf('"', 6));
- } // url('#somegrad')
-
-
- if (attrVal.startsWith("url('")) {
- return attrVal.substring(5, attrVal.indexOf("'", 6));
- }
-
- if (attrVal.startsWith('url(')) {
- return attrVal.substring(4, attrVal.indexOf(')'));
- }
- }
-
- return null;
- };
- /**
- * @function module:utilities.getHref
- * @param {Element} elem
- * @returns {string} The given element's `xlink:href` value
- */
-
- var getHref = function getHref(elem) {
- // eslint-disable-line import/no-mutable-exports
- return elem.getAttributeNS(NS.XLINK, 'href');
- };
- /**
- * Sets the given element's `xlink:href` value.
- * @function module:utilities.setHref
- * @param {Element} elem
- * @param {string} val
- * @returns {void}
- */
-
- var setHref = function setHref(elem, val) {
- // eslint-disable-line import/no-mutable-exports
- elem.setAttributeNS(NS.XLINK, 'xlink:href', val);
- };
- /**
- * @function module:utilities.findDefs
- * @returns {SVGDefsElement} The document's `` element, creating it first if necessary
- */
-
- var findDefs = function findDefs() {
- var svgElement = editorContext_.getSVGContent();
- var defs = svgElement.getElementsByTagNameNS(NS.SVG, 'defs');
-
- if (defs.length > 0) {
- defs = defs[0];
- } else {
- defs = svgElement.ownerDocument.createElementNS(NS.SVG, 'defs');
-
- if (svgElement.firstChild) {
- // first child is a comment, so call nextSibling
- svgElement.insertBefore(defs, svgElement.firstChild.nextSibling); // svgElement.firstChild.nextSibling.before(defs); // Not safe
- } else {
- svgElement.append(defs);
- }
- }
-
- return defs;
- }; // TODO(codedread): Consider moving the next to functions to bbox.js
-
- /**
- * Get correct BBox for a path in Webkit.
- * Converted from code found [here]{@link http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html}.
- * @function module:utilities.getPathBBox
- * @param {SVGPathElement} path - The path DOM element to get the BBox for
- * @returns {module:utilities.BBoxObject} A BBox-like object
- */
-
- var getPathBBox = function getPathBBox(path) {
- var seglist = path.pathSegList;
- var tot = seglist.numberOfItems;
- var bounds = [[], []];
- var start = seglist.getItem(0);
- var P0 = [start.x, start.y];
-
- var getCalc = function getCalc(j, P1, P2, P3) {
- return function (t) {
- return 1 - Math.pow(t, 3) * P0[j] + 3 * 1 - Math.pow(t, 2) * t * P1[j] + 3 * (1 - t) * Math.pow(t, 2) * P2[j] + Math.pow(t, 3) * P3[j];
- };
- };
-
- for (var i = 0; i < tot; i++) {
- var seg = seglist.getItem(i);
-
- if (seg.x === undefined) {
- continue;
- } // Add actual points to limits
-
-
- bounds[0].push(P0[0]);
- bounds[1].push(P0[1]);
-
- if (seg.x1) {
- var P1 = [seg.x1, seg.y1],
- P2 = [seg.x2, seg.y2],
- P3 = [seg.x, seg.y];
-
- for (var j = 0; j < 2; j++) {
- var calc = getCalc(j, P1, P2, P3);
- var b = 6 * P0[j] - 12 * P1[j] + 6 * P2[j];
- var a = -3 * P0[j] + 9 * P1[j] - 9 * P2[j] + 3 * P3[j];
- var c = 3 * P1[j] - 3 * P0[j];
-
- if (a === 0) {
- if (b === 0) {
- continue;
- }
-
- var t = -c / b;
-
- if (t > 0 && t < 1) {
- bounds[j].push(calc(t));
- }
-
- continue;
- }
-
- var b2ac = Math.pow(b, 2) - 4 * c * a;
-
- if (b2ac < 0) {
- continue;
- }
-
- var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);
-
- if (t1 > 0 && t1 < 1) {
- bounds[j].push(calc(t1));
- }
-
- var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);
-
- if (t2 > 0 && t2 < 1) {
- bounds[j].push(calc(t2));
- }
- }
-
- P0 = P3;
- } else {
- bounds[0].push(seg.x);
- bounds[1].push(seg.y);
- }
- }
-
- var x = Math.min.apply(null, bounds[0]);
- var w = Math.max.apply(null, bounds[0]) - x;
- var y = Math.min.apply(null, bounds[1]);
- var h = Math.max.apply(null, bounds[1]) - y;
- return {
- x: x,
- y: y,
- width: w,
- height: h
- };
- };
- /**
- * Get the given/selected element's bounding box object, checking for
- * horizontal/vertical lines (see issue 717)
- * Note that performance is currently terrible, so some way to improve would
- * be great.
- * @param {Element} selected - Container or `