1/******************************************************************************* 2 * Copyright 2017 Adobe Systems Incorporated 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 ******************************************************************************/ 16if (window.Element && !Element.prototype.closest) { 17 // eslint valid-jsdoc: "off" 18 Element.prototype.closest = 19 function(s) { 20 "use strict"; 21 var matches = (this.document || this.ownerDocument).querySelectorAll(s); 22 var el = this; 23 var i; 24 do { 25 i = matches.length; 26 while (--i >= 0 && matches.item(i) !== el) { 27 // continue 28 } 29 } while ((i < 0) && (el = el.parentElement)); 30 return el; 31 }; 32} 33 34if (window.Element && !Element.prototype.matches) { 35 Element.prototype.matches = 36 Element.prototype.matchesSelector || 37 Element.prototype.mozMatchesSelector || 38 Element.prototype.msMatchesSelector || 39 Element.prototype.oMatchesSelector || 40 Element.prototype.webkitMatchesSelector || 41 function(s) { 42 "use strict"; 43 var matches = (this.document || this.ownerDocument).querySelectorAll(s); 44 var i = matches.length; 45 while (--i >= 0 && matches.item(i) !== this) { 46 // continue 47 } 48 return i > -1; 49 }; 50} 51 52if (!Object.assign) { 53 Object.assign = function(target, varArgs) { // .length of function is 2 54 "use strict"; 55 if (target === null) { 56 throw new TypeError("Cannot convert undefined or null to object"); 57 } 58 59 var to = Object(target); 60 61 for (var index = 1; index < arguments.length; index++) { 62 var nextSource = arguments[index]; 63 64 if (nextSource !== null) { 65 for (var nextKey in nextSource) { 66 if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { 67 to[nextKey] = nextSource[nextKey]; 68 } 69 } 70 } 71 } 72 return to; 73 }; 74} 75 76(function(arr) { 77 "use strict"; 78 arr.forEach(function(item) { 79 if (item.hasOwnProperty("remove")) { 80 return; 81 } 82 Object.defineProperty(item, "remove", { 83 configurable: true, 84 enumerable: true, 85 writable: true, 86 value: function remove() { 87 this.parentNode.removeChild(this); 88 } 89 }); 90 }); 91})([Element.prototype, CharacterData.prototype, DocumentType.prototype]); 92 93/******************************************************************************* 94 * Copyright 2016 Adobe Systems Incorporated 95 * 96 * Licensed under the Apache License, Version 2.0 (the "License"); 97 * you may not use this file except in compliance with the License. 98 * You may obtain a copy of the License at 99 * 100 * http://www.apache.org/licenses/LICENSE-2.0 101 * 102 * Unless required by applicable law or agreed to in writing, software 103 * distributed under the License is distributed on an "AS IS" BASIS, 104 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 105 * See the License for the specific language governing permissions and 106 * limitations under the License. 107 ******************************************************************************/ 108(function() { 109 "use strict"; 110 111 var devicePixelRatio = window.devicePixelRatio || 1; 112 113 function SmartImage(noScriptElement, options) { 114 var that = this; 115 var showsLazyLoader = false;
116 var image; 117 var container; 118 var anchor; 119 var dropContainer; 120 var initDone = false; 121 122 that.defaults = { 123 loadHidden: false, 124 imageSelector: "img", 125 containerSelector: ".cmp-image", 126 sourceAttribute: "src", 127 lazyEnabled: true, 128 lazyThreshold: 0, 129 lazyEmptyPixel: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", 130 lazyLoaderClass: "loading", 131 lazyLoaderStyle: { 132 "height": 0, 133 "padding-bottom": "" // will get replaced with ratio in % 134 } 135 }; 136 137 function init() { 138 var tmp = document.createElement("div"); 139 tmp.innerHTML = decodeNoScript(noScriptElement.textContent.trim()); 140 var imageElement = tmp.firstElementChild; 141 var source = imageElement.getAttribute(options.sourceAttribute); 142 imageElement.removeAttribute(options.sourceAttribute); 143 imageElement.setAttribute("data-src-disabled", source); 144 container.insertBefore(imageElement, noScriptElement); 145 noScriptElement.remove(); 146 147 if (container.matches(options.imageSelector)) { 148 image = container; 149 } else { 150 image = imageElement; 151 } 152 153 that.container = container; 154 that.options = options; 155 that.image = image; 156 if (options.lazyEnabled) { 157 addLazyLoader(); 158 } 159 window.addEventListener("scroll", that.update); 160 window.addEventListener("resize", that.update); 161 window.addEventListener("update", that.update); 162 image.addEventListener("cmp-image-redraw", that.update); 163 that.update(); 164 } 165 166 function loadImage() { 167 if (options.smartSizes && options.smartImages && options.smartSizes.length > 0) { 168 if (options.smartSizes.length === options.smartImages.length) { 169 var containerWidth = 0; 170 171 if (container.tagName.toLowerCase() === "a") { 172 containerWidth = container.parentElement.clientWidth; 173 } else { 174 containerWidth = container.clientWidth; 175 } 176 var optimalSize = containerWidth * devicePixelRatio; 177 var len = options.smartSizes.length; 178 var key = 0; 179 180 while ((key < len - 1) && (options.smartSizes[key] < optimalSize)) { 181 key++; 182 } 183 184 if (image.getAttribute(options.sourceAttribute) !== options.smartImages[key]) { 185 image.setAttribute(options.sourceAttribute, options.smartImages[key]); 186 image.removeAttribute("data-src-disabled"); 187 window.removeEventListener("scroll", that.update); 188 } 189 } 190 } else { 191 if (!initDone) { 192 image.setAttribute(options.sourceAttribute, image.getAttribute("data-src-disabled")); 193 image.removeAttribute("data-src-disabled"); 194 window.removeEventListener("scroll", that.update); 195 initDone = true; 196 } 197 } 198 199 if (showsLazyLoader) { 200 image.addEventListener("load", removeLazyLoader); 201 } 202 } 203 204 function addLazyLoader() { 205 var width = image.getAttribute("width"); 206 var height = image.getAttribute("height"); 207 if (width && height) { 208 var ratio = (height / width) * 100; 209 var styles = options.lazyLoaderStyle; 210 styles["padding-bottom"] = ratio + "%"; 211 for (var s in styles) { 212 if (styles.hasOwnProperty(s)) { 213 image.style[s] = styles[s]; 214 } 215 } 216 } 217 image.setAttribute(options.sourceAttribute, options.lazyEmptyPixel); 218 image.classList.add(options.lazyLoaderClass); 219 showsLazyLoader = true; 220 } 221 222 function removeLazyLoader() { 223 image.classList.remove(options.lazyLoaderClass); 224 for (var property in options.lazyLoaderStyle) { 225 if (options.lazyLoaderStyle.hasOwnProperty(property)) { 226 image.style[property] = ""; 227 } 228 } 229 image.removeEventListener("load", removeLazyLoader); 230 showsLazyLoader = false;
231 } 232 233 function isLazyVisible() { 234 235 if (container.offsetParent === null) { 236 return false; 237 } 238 239 var wt = window.pageYOffset; 240 var wb = wt + document.documentElement.clientHeight; 241 var et = container.getBoundingClientRect().top + wt; 242 var eb = et + container.clientHeight; 243 244 return eb >= wt - options.lazyThreshold && et <= wb + options.lazyThreshold; 245 } 246 247 that.update = function() { 248 if (options.lazyEnabled) { 249 if (isLazyVisible() || options.loadHidden) { 250 loadImage(); 251 } 252 } else { 253 loadImage(); 254 } 255 }; 256 257 options = Object.assign(that.defaults, options); 258 259 container = noScriptElement.closest(options.containerSelector); 260 if (container) { 261 dropContainer = noScriptElement.closest(".cq-dd-image"); 262 if (dropContainer) { 263 container = dropContainer; 264 } 265 anchor = container.querySelector(".cmp-image--link"); 266 if (anchor !== null) { 267 container = anchor; 268 } 269 init(); 270 } 271 } 272 273 document.addEventListener("DOMContentLoaded", function() { 274 275 var imageElements = document.querySelectorAll("noscript[data-cmp-image]"); 276 var images = []; 277 for (var index = 0; index < imageElements.length; index++) { 278 var noScriptElement = imageElements[index]; 279 var imageOptions = noScriptElement.dataset.cmpImage; 280 noScriptElement.removeAttribute("data-cmp-image"); 281 images.push(new SmartImage(noScriptElement, JSON.parse(imageOptions))); 282 } 283 var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; 284 var body = document.querySelector("body"); 285 var observer = new MutationObserver(function(mutations) { 286 mutations.forEach(function(mutation) { 287 // needed for IE 288 var nodesArray = [].slice.call(mutation.addedNodes); 289 if (nodesArray.length > 0) { 290 nodesArray.forEach(function(addedNode) { 291 if (addedNode.querySelectorAll) { 292 var noScriptArray = [].slice.call(addedNode.querySelectorAll("noscript[data-cmp-image]")); 293 noScriptArray.forEach(function(noScriptElement) { 294 var imageOptions = JSON.parse(noScriptElement.dataset.cmpImage); 295 noScriptElement.removeAttribute("data-cmp-image"); 296 images.push(new SmartImage(noScriptElement, imageOptions)); 297 }); 298 } 299 }); 300 } 301 }); 302 }); 303 304 observer.observe(body, { 305 subtree: true, 306 childList: true, 307 characterData: true 308 }); 309 }); 310 311 /* 312 on drag & drop of the component into a parsys, noscript's content will be escaped multiple times by the editor which creates 313 the DOM for editing; the HTML parser cannot be used here due to the multiple escaping 314 */ 315 function decodeNoScript(text) { 316 text = text.replace(/&(amp;)*lt;/g, "<"); 317 text = text.replace(/&(amp;)*gt;/g, ">"); 318 return text; 319 } 320})(); 321 322/******************************************************************************* 323 * Copyright 2016 Adobe Systems Incorporated 324 * 325 * Licensed under the Apache License, Version 2.0 (the "License"); 326 * you may not use this file except in compliance with the License. 327 * You may obtain a copy of the License at 328 * 329 * http://www.apache.org/licenses/LICENSE-2.0 330 * 331 * Unless required by applicable law or agreed to in writing, software 332 * distributed under the License is distributed on an "AS IS" BASIS, 333 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 334 * See the License for the specific language governing permissions and 335 * limitations under the License. 336 ******************************************************************************/ 337(function() { 338 "use strict"; 339 340 function documentReady(fn) { 341 if (document.readyState !== "loading") { 342 fn(); 343 } else { 344 document.addEventListener("DOMContentLoaded", fn); 345 } 346 } 347 348 var INPUT_FIELD = ".cmp-form-field input"; 349 var REQUIRED_MSG_ATTRIBUTE = "data-cmp-required"; 350 var CONSTRAINT_MSG_ATTRIBUTE = "data-cmp-constraint"; 351 352 documentReady(function() { 353 var inputFields = document.querySelectorAll(INPUT_FIELD); 354 var inputField; 355 var index; 356 357 for (index = 0; index < inputFields.length; index++) { 358 inputField = inputFields[index]; 359 inputField.addEventListener("invalid", function(e) { 360 e.target.setCustomValidity(""); 361 if (e.target.validity.typeMismatch) { 362 if (inputField.hasAttribute(CONSTRAINT_MSG_ATTRIBUTE)) { 363 e.target.setCustomValidity(inputField.getAttribute(CONSTRAINT_MSG_ATTRIBUTE)); 364 } 365 } else if (e.target.validity.valueMissing) { 366 if (inputField.hasAttribute(REQUIRED_MSG_ATTRIBUTE)) { 367 e.target.setCustomValidity(inputField.getAttribute(REQUIRED_MSG_ATTRIBUTE)); 368 } 369 } 370 }); 371 inputField.addEventListener("input", function(e) { 372 e.target.setCustomValidity(""); 373 }); 374 } 375 }); 376 377})(); 378 379/* 380 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ 381 * 382 * Uses the built in easing capabilities added In jQuery 1.1 383 * to offer multiple easing options 384 * 385 * TERMS OF USE - jQuery Easing 386 * 387 * Open source under the BSD License. 388 * 389 * Copyright © 2008 George McGinley Smith 390 * All rights reserved. 391 * 392 * Redistribution and use in source and binary forms, with or without modification, 393 * are permitted provided that the following conditions are met: 394 * 395 * Redistributions of source code must retain the above copyright notice, this list of 396 * conditions and the following disclaimer. 397 * Redistributions in binary form must reproduce the above copyright notice, this list 398 * of conditions and the following disclaimer in the documentation and/or other materials 399 * provided with the distribution. 400 * 401 * Neither the name of the author nor the names of contributors may be used to endorse 402 * or promote products derived from this software without specific prior written permission. 403 * 404 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 405 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 406 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 407 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
vendor: 5,091 bytes, lines 408-553
408 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 409 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 410 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 411 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 412 * OF THE POSSIBILITY OF SUCH DAMAGE. 413 * 414*/ 415 416// t: current time, b: begInnIng value, c: change In value, d: duration 417jQuery.easing['jswing'] = jQuery.easing['swing']; 418 419jQuery.extend( jQuery.easing, 420{ 421 def: 'easeOutQuad', 422 swing: function (x, t, b, c, d) { 423 //alert(jQuery.easing.default); 424 return jQuery.easing[jQuery.easing.def](x, t, b, c, d); 425 }, 426 easeInQuad: function (x, t, b, c, d) { 427 return c*(t/=d)*t + b; 428 }, 429 easeOutQuad: function (x, t, b, c, d) { 430 return -c *(t/=d)*(t-2) + b; 431 }, 432 easeInOutQuad: function (x, t, b, c, d) { 433 if ((t/=d/2) < 1) return c/2*t*t + b; 434 return -c/2 * ((--t)*(t-2) - 1) + b; 435 }, 436 easeInCubic: function (x, t, b, c, d) { 437 return c*(t/=d)*t*t + b; 438 }, 439 easeOutCubic: function (x, t, b, c, d) { 440 return c*((t=t/d-1)*t*t + 1) + b; 441 }, 442 easeInOutCubic: function (x, t, b, c, d) { 443 if ((t/=d/2) < 1) return c/2*t*t*t + b; 444 return c/2*((t-=2)*t*t + 2) + b; 445 }, 446 easeInQuart: function (x, t, b, c, d) { 447 return c*(t/=d)*t*t*t + b; 448 }, 449 easeOutQuart: function (x, t, b, c, d) { 450 return -c * ((t=t/d-1)*t*t*t - 1) + b; 451 }, 452 easeInOutQuart: function (x, t, b, c, d) { 453 if ((t/=d/2) < 1) return c/2*t*t*t*t + b; 454 return -c/2 * ((t-=2)*t*t*t - 2) + b; 455 }, 456 easeInQuint: function (x, t, b, c, d) { 457 return c*(t/=d)*t*t*t*t + b; 458 }, 459 easeOutQuint: function (x, t, b, c, d) { 460 return c*((t=t/d-1)*t*t*t*t + 1) + b; 461 }, 462 easeInOutQuint: function (x, t, b, c, d) { 463 if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; 464 return c/2*((t-=2)*t*t*t*t + 2) + b; 465 }, 466 easeInSine: function (x, t, b, c, d) { 467 return -c * Math.cos(t/d * (Math.PI/2)) + c + b; 468 }, 469 easeOutSine: function (x, t, b, c, d) { 470 return c * Math.sin(t/d * (Math.PI/2)) + b; 471 }, 472 easeInOutSine: function (x, t, b, c, d) { 473 return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; 474 }, 475 easeInExpo: function (x, t, b, c, d) { 476 return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; 477 }, 478 easeOutExpo: function (x, t, b, c, d) { 479 return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; 480 }, 481 easeInOutExpo: function (x, t, b, c, d) { 482 if (t==0) return b; 483 if (t==d) return b+c; 484 if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; 485 return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; 486 }, 487 easeInCirc: function (x, t, b, c, d) { 488 return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; 489 }, 490 easeOutCirc: function (x, t, b, c, d) { 491 return c * Math.sqrt(1 - (t=t/d-1)*t) + b; 492 }, 493 easeInOutCirc: function (x, t, b, c, d) { 494 if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; 495 return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; 496 }, 497 easeInElastic: function (x, t, b, c, d) { 498 var s=1.70158;var p=0;var a=c; 499 if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; 500 if (a < Math.abs(c)) { a=c; var s=p/4; } 501 else var s = p/(2*Math.PI) * Math.asin (c/a); 502 return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; 503 }, 504 easeOutElastic: function (x, t, b, c, d) { 505 var s=1.70158;var p=0;var a=c; 506 if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; 507 if (a < Math.abs(c)) { a=c; var s=p/4; } 508 else var s = p/(2*Math.PI) * Math.asin (c/a); 509 return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; 510 }, 511 easeInOutElastic: function (x, t, b, c, d) { 512 var s=1.70158;var p=0;var a=c; 513 if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); 514 if (a < Math.abs(c)) { a=c; var s=p/4; } 515 else var s = p/(2*Math.PI) * Math.asin (c/a); 516 if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; 517 return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; 518 }, 519 easeInBack: function (x, t, b, c, d, s) { 520 if (s == undefined) s = 1.70158; 521 return c*(t/=d)*t*((s+1)*t - s) + b; 522 }, 523 easeOutBack: function (x, t, b, c, d, s) { 524 if (s == undefined) s = 1.70158; 525 return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; 526 }, 527 easeInOutBack: function (x, t, b, c, d, s) { 528 if (s == undefined) s = 1.70158; 529 if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; 530 return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; 531 }, 532 easeInBounce: function (x, t, b, c, d) { 533 return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; 534 }, 535 easeOutBounce: function (x, t, b, c, d) { 536 if ((t/=d) < (1/2.75)) { 537 return c*(7.5625*t*t) + b; 538 } else if (t < (2/2.75)) { 539 return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; 540 } else if (t < (2.5/2.75)) { 541 return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; 542 } else { 543 return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; 544 } 545 }, 546 easeInOutBounce: function (x, t, b, c, d) { 547 if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; 548 return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; 549 } 550}); 551 552/* 553 *
554 * TERMS OF USE - EASING EQUATIONS 555 * 556 * Open source under the BSD License. 557 * 558 * Copyright © 2001 Robert Penner 559 * All rights reserved. 560 * 561 * Redistribution and use in source and binary forms, with or without modification, 562 * are permitted provided that the following conditions are met: 563 * 564 * Redistributions of source code must retain the above copyright notice, this list of 565 * conditions and the following disclaimer. 566 * Redistributions in binary form must reproduce the above copyright notice, this list 567 * of conditions and the following disclaimer in the documentation and/or other materials 568 * provided with the distribution. 569 * 570 * Neither the name of the author nor the names of contributors may be used to endorse 571 * or promote products derived from this software without specific prior written permission. 572 * 573 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 574 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 575 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 576 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 577 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 578 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 579 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 580 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 581 * OF THE POSSIBILITY OF SUCH DAMAGE. 582 * 583 */ 584(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ 585(function (global){ 586"use strict"; 587 588require("core-js/shim"); 589 590require("regenerator-runtime/runtime"); 591 592require("core-js/fn/regexp/escape"); 593 594if (global._babelPolyfill) { 595 throw new Error("only one instance of babel-polyfill is allowed"); 596} 597global._babelPolyfill = true; 598 599var DEFINE_PROPERTY = "defineProperty"; 600function define(O, key, value) { 601 O[key] || Object[DEFINE_PROPERTY](O, key, { 602 writable: true, 603 configurable: true, 604 value: value 605 }); 606} 607 608define(String.prototype, "padLeft", "".padStart); 609define(String.prototype, "padRight", "".padEnd); 610 611"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function (key) { 612 [][key] && define(Array, key, Function.call.bind([][key])); 613}); 614}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 615},{"core-js/fn/regexp/escape":7,"core-js/shim":335,"regenerator-runtime/runtime":2}],2:[function(require
vendor: 13,670 bytes, lines 615-968
615,module,exports){ 616(function (global){ 617/** 618 * Copyright (c) 2014, Facebook, Inc. 619 * All rights reserved. 620 * 621 * This source code is licensed under the BSD-style license found in the 622 * https://raw.github.com/facebook/regenerator/master/LICENSE file. An 623 * additional grant of patent rights can be found in the PATENTS file in 624 * the same directory. 625 */ 626 627!(function(global) { 628 "use strict"; 629 630 var Op = Object.prototype; 631 var hasOwn = Op.hasOwnProperty; 632 var undefined; // More compressible than void 0. 633 var $Symbol = typeof Symbol === "function" ? Symbol : {}; 634 var iteratorSymbol = $Symbol.iterator || "@@iterator"; 635 var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; 636 var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; 637 638 var inModule = typeof module === "object"; 639 var runtime = global.regeneratorRuntime; 640 if (runtime) { 641 if (inModule) { 642 // If regeneratorRuntime is defined globally and we're in a module, 643 // make the exports object identical to regeneratorRuntime. 644 module.exports = runtime; 645 } 646 // Don't bother evaluating the rest of this file if the runtime was 647 // already defined globally. 648 return; 649 } 650 651 // Define the runtime globally (as expected by generated code) as either 652 // module.exports (if we're in a module) or a new, empty object. 653 runtime = global.regeneratorRuntime = inModule ? module.exports : {}; 654 655 function wrap(innerFn, outerFn, self, tryLocsList) { 656 // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. 657 var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; 658 var generator = Object.create(protoGenerator.prototype); 659 var context = new Context(tryLocsList || []); 660 661 // The ._invoke method unifies the implementations of the .next, 662 // .throw, and .return methods. 663 generator._invoke = makeInvokeMethod(innerFn, self, context); 664 665 return generator; 666 } 667 runtime.wrap = wrap; 668 669 // Try/catch helper to minimize deoptimizations. Returns a completion 670 // record like context.tryEntries[i].completion. This interface could 671 // have been (and was previously) designed to take a closure to be 672 // invoked without arguments, but in all the cases we care about we 673 // already have an existing method we want to call, so there's no need 674 // to create a new function object. We can even get away with assuming 675 // the method takes exactly one argument, since that happens to be true 676 // in every case, so we don't have to touch the arguments object. The 677 // only additional allocation required is the completion record, which 678 // has a stable shape and so hopefully should be cheap to allocate. 679 function tryCatch(fn, obj, arg) { 680 try { 681 return { type: "normal", arg: fn.call(obj, arg) }; 682 } catch (err) { 683 return { type: "throw", arg: err }; 684 } 685 } 686 687 var GenStateSuspendedStart = "suspendedStart"; 688 var GenStateSuspendedYield = "suspendedYield"; 689 var GenStateExecuting = "executing"; 690 var GenStateCompleted = "completed"; 691 692 // Returning this object from the innerFn has the same effect as 693 // breaking out of the dispatch switch statement. 694 var ContinueSentinel = {}; 695 696 // Dummy constructor functions that we use as the .constructor and 697 // .constructor.prototype properties for functions that return Generator 698 // objects. For full spec compliance, you may wish to configure your 699 // minifier not to mangle the names of these two functions. 700 function Generator() {} 701 function GeneratorFunction() {} 702 function GeneratorFunctionPrototype() {} 703 704 // This is a polyfill for %IteratorPrototype% for environments that 705 // don't natively support it. 706 var IteratorPrototype = {}; 707 IteratorPrototype[iteratorSymbol] = function () { 708 return this; 709 }; 710 711 var getProto = Object.getPrototypeOf; 712 var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); 713 if (NativeIteratorPrototype && 714 NativeIteratorPrototype !== Op && 715 hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { 716 // This environment has a native %IteratorPrototype%; use it instead 717 // of the polyfill. 718 IteratorPrototype = NativeIteratorPrototype; 719 } 720 721 var Gp = GeneratorFunctionPrototype.prototype = 722 Generator.prototype = Object.create(IteratorPrototype); 723 GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; 724 GeneratorFunctionPrototype.constructor = GeneratorFunction; 725 GeneratorFunctionPrototype[toStringTagSymbol] = 726 GeneratorFunction.displayName = "GeneratorFunction"; 727 728 // Helper for defining the .next, .throw, and .return methods of the 729 // Iterator interface in terms of a single ._invoke method. 730 function defineIteratorMethods(prototype) { 731 ["next", "throw", "return"].forEach(function(method) { 732 prototype[method] = function(arg) { 733 return this._invoke(method, arg); 734 }; 735 }); 736 } 737 738 runtime.isGeneratorFunction = function(genFun) { 739 var ctor = typeof genFun === "function" && genFun.constructor; 740 return ctor 741 ? ctor === GeneratorFunction || 742 // For the native GeneratorFunction constructor, the best we can 743 // do is to check its .name property. 744 (ctor.displayName || ctor.name) === "GeneratorFunction" 745 : false; 746 }; 747 748 runtime.mark = function(genFun) { 749 if (Object.setPrototypeOf) { 750 Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); 751 } else { 752 genFun.__proto__ = GeneratorFunctionPrototype; 753 if (!(toStringTagSymbol in genFun)) { 754 genFun[toStringTagSymbol] = "GeneratorFunction"; 755 } 756 } 757 genFun.prototype = Object.create(Gp); 758 return genFun; 759 }; 760 761 // Within the body of any async function, `await x` is transformed to 762 // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test 763 // `hasOwn.call(value, "__await")` to determine if the yielded value is 764 // meant to be awaited. 765 runtime.awrap = function(arg) { 766 return { __await: arg }; 767 }; 768 769 function AsyncIterator(generator) { 770 function invoke(method, arg, resolve, reject) { 771 var record = tryCatch(generator[method], generator, arg); 772 if (record.type === "throw") { 773 reject(record.arg); 774 } else { 775 var result = record.arg; 776 var value = result.value; 777 if (value && 778 typeof value === "object" && 779 hasOwn.call(value, "__await")) { 780 return Promise.resolve(value.__await).then(function(value) { 781 invoke("next", value, resolve, reject); 782 }, function(err) { 783 invoke("throw", err, resolve, reject); 784 }); 785 } 786 787 return Promise.resolve(value).then(function(unwrapped) { 788 // When a yielded Promise is resolved, its final value becomes 789 // the .value of the Promise<{value,done}> result for the 790 // current iteration. If the Promise is rejected, however, the 791 // result for this iteration will be rejected with the same 792 // reason. Note that rejections of yielded Promises are not 793 // thrown back into the generator function, as is the case 794 // when an awaited Promise is rejected. This difference in 795 // behavior between yield and await is important, because it 796 // allows the consumer to decide what to do with the yielded 797 // rejection (swallow it and continue, manually .throw it back 798 // into the generator, abandon iteration, whatever). With 799 // await, by contrast, there is no opportunity to examine the 800 // rejection reason outside the generator function, so the 801 // only option is to throw it from the await expression, and 802 // let the generator function handle the exception. 803 result.value = unwrapped; 804 resolve(result); 805 }, reject); 806 } 807 } 808 809 if (typeof global.process === "object" && global.process.domain) { 810 invoke = global.process.domain.bind(invoke); 811 } 812 813 var previousPromise; 814 815 function enqueue(method, arg) { 816 function callInvokeWithMethodAndArg() { 817 return new Promise(function(resolve, reject) { 818 invoke(method, arg, resolve, reject); 819 }); 820 } 821 822 return previousPromise = 823 // If enqueue has been called before, then we want to wait until 824 // all previous Promises have been resolved before calling invoke, 825 // so that results are always delivered in the correct order. If 826 // enqueue has not been called before, then it is important to 827 // call invoke immediately, without waiting on a callback to fire, 828 // so that the async generator function has the opportunity to do 829 // any necessary setup in a predictable way. This predictability 830 // is why the Promise constructor synchronously invokes its 831 // executor callback, and why async functions synchronously 832 // execute code before the first await. Since we implement simple 833 // async functions in terms of async generators, it is especially 834 // important to get this right, even though it requires care. 835 previousPromise ? previousPromise.then( 836 callInvokeWithMethodAndArg, 837 // Avoid propagating failures to Promises returned by later 838 // invocations of the iterator. 839 callInvokeWithMethodAndArg 840 ) : callInvokeWithMethodAndArg(); 841 } 842 843 // Define the unified helper method that is used to implement .next, 844 // .throw, and .return (see defineIteratorMethods). 845 this._invoke = enqueue; 846 } 847 848 defineIteratorMethods(AsyncIterator.prototype); 849 AsyncIterator.prototype[asyncIteratorSymbol] = function () { 850 return this; 851 }; 852 runtime.AsyncIterator = AsyncIterator; 853 854 // Note that simple async functions are implemented on top of 855 // AsyncIterator objects; they just return a Promise for the value of 856 // the final result produced by the iterator. 857 runtime.async = function(innerFn, outerFn, self, tryLocsList) { 858 var iter = new AsyncIterator( 859 wrap(innerFn, outerFn, self, tryLocsList) 860 ); 861 862 return runtime.isGeneratorFunction(outerFn) 863 ? iter // If outerFn is a generator, return the full iterator. 864 : iter.next().then(function(result) { 865 return result.done ? result.value : iter.next(); 866 }); 867 }; 868 869 function makeInvokeMethod(innerFn, self, context) { 870 var state = GenStateSuspendedStart; 871 872 return function invoke(method, arg) { 873 if (state === GenStateExecuting) { 874 throw new Error("Generator is already running"); 875 } 876 877 if (state === GenStateCompleted) { 878 if (method === "throw") { 879 throw arg; 880 } 881 882 // Be forgiving, per 25.3.3.3.3 of the spec: 883 // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume 884 return doneResult(); 885 } 886 887 context.method = method; 888 context.arg = arg; 889 890 while (true) { 891 var delegate = context.delegate; 892 if (delegate) { 893 var delegateResult = maybeInvokeDelegate(delegate, context); 894 if (delegateResult) { 895 if (delegateResult === ContinueSentinel) continue; 896 return delegateResult; 897 } 898 } 899 900 if (context.method === "next") { 901 // Setting context._sent for legacy support of Babel's 902 // function.sent implementation. 903 context.sent = context._sent = context.arg; 904 905 } else if (context.method === "throw") { 906 if (state === GenStateSuspendedStart) { 907 state = GenStateCompleted; 908 throw context.arg; 909 } 910 911 context.dispatchException(context.arg); 912 913 } else if (context.method === "return") { 914 context.abrupt("return", context.arg); 915 } 916 917 state = GenStateExecuting; 918 919 var record = tryCatch(innerFn, self, context); 920 if (record.type === "normal") { 921 // If an exception is thrown from innerFn, we leave state === 922 // GenStateExecuting and loop back for another invocation. 923 state = context.done 924 ? GenStateCompleted 925 : GenStateSuspendedYield; 926 927 if (record.arg === ContinueSentinel) { 928 continue; 929 } 930 931 return { 932 value: record.arg, 933 done: context.done 934 }; 935 936 } else if (record.type === "throw") { 937 state = GenStateCompleted; 938 // Dispatch the exception by looping back around to the 939 // context.dispatchException(context.arg) call above. 940 context.method = "throw"; 941 context.arg = record.arg; 942 } 943 } 944 }; 945 } 946 947 // Call delegate.iterator[context.method](context.arg) and handle the 948 // result, either by returning a { value, done } result from the 949 // delegate iterator, or by modifying context.method and context.arg, 950 // setting context.delegate to null, and returning the ContinueSentinel. 951 function maybeInvokeDelegate(delegate, context) { 952 var method = delegate.iterator[context.method]; 953 if (method === undefined) { 954 // A .throw or .return when the delegate iterator has no .throw 955 // method always terminates the yield* loop. 956 context.delegate = null; 957 958 if (context.method === "throw") { 959 if (delegate.iterator.return) { 960 // If the delegate iterator has a return method, give it a 961 // chance to clean up. 962 context.method = "return"; 963 context.arg = undefined; 964 maybeInvokeDelegate(delegate, context); 965 966 if (context.method === "throw") { 967 // If maybeInvokeDelegate(context) changed context.method from 968 // "return" to "throw", let that override the TypeError below.
vendor: 10,473 bytes, lines 969-1346
969 return ContinueSentinel; 970 } 971 } 972 973 context.method = "throw"; 974 context.arg = new TypeError( 975 "The iterator does not provide a 'throw' method"); 976 } 977 978 return ContinueSentinel; 979 } 980 981 var record = tryCatch(method, delegate.iterator, context.arg); 982 983 if (record.type === "throw") { 984 context.method = "throw"; 985 context.arg = record.arg; 986 context.delegate = null; 987 return ContinueSentinel; 988 } 989 990 var info = record.arg; 991 992 if (! info) { 993 context.method = "throw"; 994 context.arg = new TypeError("iterator result is not an object"); 995 context.delegate = null; 996 return ContinueSentinel; 997 } 998 999 if (info.done) { 1000 // Assign the result of the finished delegate to the temporary 1001 // variable specified by delegate.resultName (see delegateYield). 1002 context[delegate.resultName] = info.value; 1003 1004 // Resume execution at the desired location (see delegateYield). 1005 context.next = delegate.nextLoc; 1006 1007 // If context.method was "throw" but the delegate handled the 1008 // exception, let the outer generator proceed normally. If 1009 // context.method was "next", forget context.arg since it has been 1010 // "consumed" by the delegate iterator. If context.method was 1011 // "return", allow the original .return call to continue in the 1012 // outer generator. 1013 if (context.method !== "return") { 1014 context.method = "next"; 1015 context.arg = undefined; 1016 } 1017 1018 } else { 1019 // Re-yield the result returned by the delegate method. 1020 return info; 1021 } 1022 1023 // The delegate iterator is finished, so forget it and continue with 1024 // the outer generator. 1025 context.delegate = null; 1026 return ContinueSentinel; 1027 } 1028 1029 // Define Generator.prototype.{next,throw,return} in terms of the 1030 // unified ._invoke helper method. 1031 defineIteratorMethods(Gp); 1032 1033 Gp[toStringTagSymbol] = "Generator"; 1034 1035 // A Generator should always return itself as the iterator object when the 1036 // @@iterator function is called on it. Some browsers' implementations of the 1037 // iterator prototype chain incorrectly implement this, causing the Generator 1038 // object to not be returned from this call. This ensures that doesn't happen. 1039 // See https://github.com/facebook/regenerator/issues/274 for more details. 1040 Gp[iteratorSymbol] = function() { 1041 return this; 1042 }; 1043 1044 Gp.toString = function() { 1045 return "[object Generator]"; 1046 }; 1047 1048 function pushTryEntry(locs) { 1049 var entry = { tryLoc: locs[0] }; 1050 1051 if (1 in locs) { 1052 entry.catchLoc = locs[1]; 1053 } 1054 1055 if (2 in locs) { 1056 entry.finallyLoc = locs[2]; 1057 entry.afterLoc = locs[3]; 1058 } 1059 1060 this.tryEntries.push(entry); 1061 } 1062 1063 function resetTryEntry(entry) { 1064 var record = entry.completion || {}; 1065 record.type = "normal"; 1066 delete record.arg; 1067 entry.completion = record; 1068 } 1069 1070 function Context(tryLocsList) { 1071 // The root entry object (effectively a try statement without a catch 1072 // or a finally block) gives us a place to store values thrown from 1073 // locations where there is no enclosing try statement. 1074 this.tryEntries = [{ tryLoc: "root" }]; 1075 tryLocsList.forEach(pushTryEntry, this); 1076 this.reset(true); 1077 } 1078 1079 runtime.keys = function(object) { 1080 var keys = []; 1081 for (var key in object) { 1082 keys.push(key); 1083 } 1084 keys.reverse(); 1085 1086 // Rather than returning an object with a next method, we keep 1087 // things simple and return the next function itself. 1088 return function next() { 1089 while (keys.length) { 1090 var key = keys.pop(); 1091 if (key in object) { 1092 next.value = key; 1093 next.done = false; 1094 return next; 1095 } 1096 } 1097 1098 // To avoid creating an additional object, we just hang the .value 1099 // and .done properties off the next function object itself. This 1100 // also ensures that the minifier will not anonymize the function. 1101 next.done = true; 1102 return next; 1103 }; 1104 }; 1105 1106 function values(iterable) { 1107 if (iterable) { 1108 var iteratorMethod = iterable[iteratorSymbol]; 1109 if (iteratorMethod) { 1110 return iteratorMethod.call(iterable); 1111 } 1112 1113 if (typeof iterable.next === "function") { 1114 return iterable; 1115 } 1116 1117 if (!isNaN(iterable.length)) { 1118 var i = -1, next = function next() { 1119 while (++i < iterable.length) { 1120 if (hasOwn.call(iterable, i)) { 1121 next.value = iterable[i]; 1122 next.done = false; 1123 return next; 1124 } 1125 } 1126 1127 next.value = undefined; 1128 next.done = true; 1129 1130 return next; 1131 }; 1132 1133 return next.next = next; 1134 } 1135 } 1136 1137 // Return an iterator with no values. 1138 return { next: doneResult }; 1139 } 1140 runtime.values = values; 1141 1142 function doneResult() { 1143 return { value: undefined, done: true }; 1144 } 1145 1146 Context.prototype = { 1147 constructor: Context, 1148 1149 reset: function(skipTempReset) { 1150 this.prev = 0; 1151 this.next = 0; 1152 // Resetting context._sent for legacy support of Babel's 1153 // function.sent implementation. 1154 this.sent = this._sent = undefined; 1155 this.done = false; 1156 this.delegate = null; 1157 1158 this.method = "next"; 1159 this.arg = undefined; 1160 1161 this.tryEntries.forEach(resetTryEntry); 1162 1163 if (!skipTempReset) { 1164 for (var name in this) { 1165 // Not sure about the optimal order of these conditions: 1166 if (name.charAt(0) === "t" && 1167 hasOwn.call(this, name) && 1168 !isNaN(+name.slice(1))) { 1169 this[name] = undefined; 1170 } 1171 } 1172 } 1173 }, 1174 1175 stop: function() { 1176 this.done = true; 1177 1178 var rootEntry = this.tryEntries[0]; 1179 var rootRecord = rootEntry.completion; 1180 if (rootRecord.type === "throw") { 1181 throw rootRecord.arg; 1182 } 1183 1184 return this.rval; 1185 }, 1186 1187 dispatchException: function(exception) { 1188 if (this.done) { 1189 throw exception; 1190 } 1191 1192 var context = this; 1193 function handle(loc, caught) { 1194 record.type = "throw"; 1195 record.arg = exception; 1196 context.next = loc; 1197 1198 if (caught) { 1199 // If the dispatched exception was caught by a catch block, 1200 // then let that catch block handle the exception normally. 1201 context.method = "next"; 1202 context.arg = undefined; 1203 } 1204 1205 return !! caught; 1206 } 1207 1208 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 1209 var entry = this.tryEntries[i]; 1210 var record = entry.completion; 1211 1212 if (entry.tryLoc === "root") { 1213 // Exception thrown outside of any try block that could handle 1214 // it, so set the completion value of the entire function to 1215 // throw the exception. 1216 return handle("end"); 1217 } 1218 1219 if (entry.tryLoc <= this.prev) { 1220 var hasCatch = hasOwn.call(entry, "catchLoc"); 1221 var hasFinally = hasOwn.call(entry, "finallyLoc"); 1222 1223 if (hasCatch && hasFinally) { 1224 if (this.prev < entry.catchLoc) { 1225 return handle(entry.catchLoc, true); 1226 } else if (this.prev < entry.finallyLoc) { 1227 return handle(entry.finallyLoc); 1228 } 1229 1230 } else if (hasCatch) { 1231 if (this.prev < entry.catchLoc) { 1232 return handle(entry.catchLoc, true); 1233 } 1234 1235 } else if (hasFinally) { 1236 if (this.prev < entry.finallyLoc) { 1237 return handle(entry.finallyLoc); 1238 } 1239 1240 } else { 1241 throw new Error("try statement without catch or finally"); 1242 } 1243 } 1244 } 1245 }, 1246 1247 abrupt: function(type, arg) { 1248 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 1249 var entry = this.tryEntries[i]; 1250 if (entry.tryLoc <= this.prev && 1251 hasOwn.call(entry, "finallyLoc") && 1252 this.prev < entry.finallyLoc) { 1253 var finallyEntry = entry; 1254 break; 1255 } 1256 } 1257 1258 if (finallyEntry && 1259 (type === "break" || 1260 type === "continue") && 1261 finallyEntry.tryLoc <= arg && 1262 arg <= finallyEntry.finallyLoc) { 1263 // Ignore the finally entry if control is not jumping to a 1264 // location outside the try/catch block. 1265 finallyEntry = null; 1266 } 1267 1268 var record = finallyEntry ? finallyEntry.completion : {}; 1269 record.type = type; 1270 record.arg = arg; 1271 1272 if (finallyEntry) { 1273 this.method = "next"; 1274 this.next = finallyEntry.finallyLoc; 1275 return ContinueSentinel; 1276 } 1277 1278 return this.complete(record); 1279 }, 1280 1281 complete: function(record, afterLoc) { 1282 if (record.type === "throw") { 1283 throw record.arg; 1284 } 1285 1286 if (record.type === "break" || 1287 record.type === "continue") { 1288 this.next = record.arg; 1289 } else if (record.type === "return") { 1290 this.rval = this.arg = record.arg; 1291 this.method = "return"; 1292 this.next = "end"; 1293 } else if (record.type === "normal" && afterLoc) { 1294 this.next = afterLoc; 1295 } 1296 1297 return ContinueSentinel; 1298 }, 1299 1300 finish: function(finallyLoc) { 1301 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 1302 var entry = this.tryEntries[i]; 1303 if (entry.finallyLoc === finallyLoc) { 1304 this.complete(entry.completion, entry.afterLoc); 1305 resetTryEntry(entry); 1306 return ContinueSentinel; 1307 } 1308 } 1309 }, 1310 1311 "catch": function(tryLoc) { 1312 for (var i = this.tryEntries.length - 1; i >= 0; --i) { 1313 var entry = this.tryEntries[i]; 1314 if (entry.tryLoc === tryLoc) { 1315 var record = entry.completion; 1316 if (record.type === "throw") { 1317 var thrown = record.arg; 1318 resetTryEntry(entry); 1319 } 1320 return thrown; 1321 } 1322 } 1323 1324 // The context.catch method must only be called with a location 1325 // argument that corresponds to a known catch block. 1326 throw new Error("illegal catch attempt"); 1327 }, 1328 1329 delegateYield: function(iterable, resultName, nextLoc) { 1330 this.delegate = { 1331 iterator: values(iterable), 1332 resultName: resultName, 1333 nextLoc: nextLoc 1334 }; 1335 1336 if (this.method === "next") { 1337 // Deliberately forget the last sent value so that we don't 1338 // accidentally pass it on to the delegate. 1339 this.arg = undefined; 1340 } 1341 1342 return ContinueSentinel; 1343 } 1344 }; 1345})( 1346 //
1346Among the various tricks for obtaining a reference to the global 1347 // object, this seems to be the most reliable technique that does not 1348 // use indirect eval (which violates Content Security Policy). 1349 typeof global === "object" ? global : 1350 typeof window === "object" ? window : 1351 typeof self === "object" ? self : this 1352); 1353 1354}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 1355},{}],3:[function(require,module,exports){ 1356 1357},{}],4:[function(require,module,exports){ 1358'use strict'; 1359 1360var GetIntrinsic = require('get-intrinsic'); 1361 1362var callBind = require('./'); 1363 1364var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf')); 1365 1366module.exports = function callBoundIntrinsic(name, allowMissing) { 1367 var intrinsic = GetIntrinsic(name, !!allowMissing); 1368 if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) { 1369 return callBind(intrinsic); 1370 } 1371 return intrinsic; 1372}; 1373 1374},{"./":5,"get-intrinsic":338}],5:[function(require,module,exports){ 1375'use strict'; 1376 1377var bind = require('function-bind'); 1378var GetIntrinsic = require('get-intrinsic'); 1379 1380var $apply = GetIntrinsic('%Function.prototype.apply%'); 1381var $call = GetIntrinsic('%Function.prototype.call%'); 1382var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply); 1383 1384var $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true); 1385var $defineProperty = GetIntrinsic('%Object.defineProperty%', true); 1386var $max = GetIntrinsic('%Math.max%'); 1387 1388if ($defineProperty) { 1389 try { 1390 $defineProperty({}, 'a', { value: 1 }); 1391 } catch (e) { 1392 // IE 8 has a broken defineProperty 1393 $defineProperty = null; 1394 } 1395} 1396 1397module.exports = function callBind(originalFunction) { 1398 var func = $reflectApply(bind, $call, arguments); 1399 if ($gOPD && $defineProperty) { 1400 var desc = $gOPD(func, 'length'); 1401 if (desc.configurable) { 1402 // original length, plus the receiver, minus any additional arguments (after the receiver) 1403 $defineProperty( 1404 func, 1405 'length', 1406 { value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) } 1407 ); 1408 } 1409 } 1410 return func; 1411}; 1412 1413var applyBind = function applyBind() { 1414 return $reflectApply(bind, $apply, arguments); 1415}; 1416 1417if ($defineProperty) { 1418 $defineProperty(module.exports, 'apply', { value: applyBind }); 1419} else { 1420 module.exports.apply = applyBind; 1421} 1422 1423},{"function-bind":337,"get-intrinsic":338}],6:[function(require,module,exports){ 1424// Console-polyfill. MIT license. 1425// https://github.com/paulmillr/console-polyfill
1426// Make it safe to do console.log() always. 1427(function(global) { 1428 'use strict'; 1429 if (!global.console) { 1430 global.console = {}; 1431 } 1432 var con = global.console; 1433 var prop, method; 1434 var dummy = function() {}; 1435 var properties = ['memory']; 1436 var methods = ('assert,clear,count,debug,dir,dirxml,error,exception,group,' + 1437 'groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,' + 1438 'show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn').split(','); 1439 while (prop = properties.pop()) if (!con[prop]) con[prop] = {}; 1440 while (method = methods.pop()) if (!con[method]) con[method] = dummy; 1441 // Using `this` for web workers & supports Browserify / Webpack. 1442})(typeof window === 'undefined' ? this : window); 1443 1444},{}],7:[function(require,module,exports){ 1445require('../../modules/core.regexp.escape'); 1446module.exports = require('../../modules/_core').RegExp.escape; 1447 1448},{"../../modules/_core":29,"../../modules/core.regexp.escape":137}],8:[function(require,module,exports){ 1449module.exports = function (it) { 1450 if (typeof it != 'function') throw TypeError(it + ' is not a function!'); 1451 return it; 1452}; 1453 1454},{}],9:[function(require,module,exports){ 1455var cof = require('./_cof'); 1456module.exports = function (it, msg) { 1457 if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg); 1458 return +it; 1459}; 1460 1461},{"./_cof":24}],10:[function(require,module,exports){ 1462// 22.1.3.31 Array.prototype[@@unscopables] 1463var UNSCOPABLES = require('./_wks')('unscopables'); 1464var ArrayProto = Array.prototype; 1465if (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {}); 1466module.exports = function (key) { 1467 ArrayProto[UNSCOPABLES][key] = true; 1468}; 1469 1470},{"./_hide":49,"./_wks":135}],11:[function(require,module,exports){ 1471'use strict'; 1472var at = require('./_string-at')(true); 1473 1474 // `AdvanceStringIndex` abstract operation 1475// https://tc39.github.io/ecma262/#sec-advancestringindex 1476module.exports = function (S, index, unicode) { 1477 return index + (unicode ? at(S, index).length : 1); 1478}; 1479 1480},{"./_string-at":112}],12:[function(require,module,exports){ 1481module.exports = function (it, Constructor, name, forbiddenField) { 1482 if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) { 1483 throw TypeError(name + ': incorrect invocation!'); 1484 } return it; 1485}; 1486 1487},{}],13:[function(require,module,exports){ 1488var isObject = require('./_is-object'); 1489module.exports = function (it) { 1490 if (!isObject(it)) throw TypeError(it + ' is not an object!'); 1491 return it; 1492}; 1493 1494},{"./_is-object":58}],14:[function(require,module,exports){ 1495// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) 1496'use strict'; 1497var toObject = require('./_to-object'); 1498var toAbsoluteIndex = require('./_to-absolute-index'); 1499var toLength = require('./_to-length'); 1500 1501module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { 1502 var O = toObject(this); 1503 var len = toLength(O.length); 1504 var to = toAbsoluteIndex(target, len); 1505 var from = toAbsoluteIndex(start, len); 1506 var end = arguments.length > 2 ? arguments[2] : undefined; 1507 var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); 1508 var inc = 1; 1509 if (from < to && to < from + count) { 1510 inc = -1; 1511 from += count - 1; 1512 to += count - 1; 1513 } 1514 while (count-- > 0) { 1515 if (from in O) O[to] = O[from]; 1516 else delete O[to]; 1517 to += inc; 1518 from += inc; 1519 } return O; 1520}; 1521 1522},{"./_to-absolute-index":120,"./_to-length":124,"./_to-object":125}],15:[function(require,module,exports){ 1523// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) 1524'use strict'; 1525var toObject = require('./_to-object'); 1526var toAbsoluteIndex = require('./_to-absolute-index'); 1527var toLength = require('./_to-length'); 1528module.exports = function fill(value /* , start = 0, end = @length */) { 1529 var O = toObject(this); 1530 var length = toLength(O.length); 1531 var aLen = arguments.length; 1532 var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); 1533 var end = aLen > 2 ? arguments[2] : undefined; 1534 var endPos = end === undefined ? length : toAbsoluteIndex(end, length); 1535 while (endPos > index) O[index++] = value; 1536 return O; 1537}; 1538 1539},{"./_to-absolute-index":120,"./_to-length":124,"./_to-object":125}],16:[function(require,module,exports){ 1540var forOf = require('./_for-of'); 1541 1542module.exports = function (iter, ITERATOR) { 1543 var result = []; 1544 forOf(iter, false, result.push, result, ITERATOR); 1545 return result; 1546}; 1547 1548},{"./_for-of":45}],17:[function(require,module,exports){ 1549// false -> Array#indexOf 1550// true -> Array#includes 1551var toIObject = require('./_to-iobject');
vendor: 8,747 bytes, lines 1552-1802
1552var toLength = require('./_to-length'); 1553var toAbsoluteIndex = require('./_to-absolute-index'); 1554module.exports = function (IS_INCLUDES) { 1555 return function ($this, el, fromIndex) { 1556 var O = toIObject($this); 1557 var length = toLength(O.length); 1558 var index = toAbsoluteIndex(fromIndex, length); 1559 var value; 1560 // Array#includes uses SameValueZero equality algorithm 1561 // eslint-disable-next-line no-self-compare 1562 if (IS_INCLUDES && el != el) while (length > index) { 1563 value = O[index++]; 1564 // eslint-disable-next-line no-self-compare 1565 if (value != value) return true; 1566 // Array#indexOf ignores holes, Array#includes - not 1567 } else for (;length > index; index++) if (IS_INCLUDES || index in O) { 1568 if (O[index] === el) return IS_INCLUDES || index || 0; 1569 } return !IS_INCLUDES && -1; 1570 }; 1571}; 1572 1573},{"./_to-absolute-index":120,"./_to-iobject":123,"./_to-length":124}],18:[function(require,module,exports){ 1574// 0 -> Array#forEach 1575// 1 -> Array#map 1576// 2 -> Array#filter 1577// 3 -> Array#some 1578// 4 -> Array#every 1579// 5 -> Array#find 1580// 6 -> Array#findIndex 1581var ctx = require('./_ctx'); 1582var IObject = require('./_iobject'); 1583var toObject = require('./_to-object'); 1584var toLength = require('./_to-length'); 1585var asc = require('./_array-species-create'); 1586module.exports = function (TYPE, $create) { 1587 var IS_MAP = TYPE == 1; 1588 var IS_FILTER = TYPE == 2; 1589 var IS_SOME = TYPE == 3; 1590 var IS_EVERY = TYPE == 4; 1591 var IS_FIND_INDEX = TYPE == 6; 1592 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; 1593 var create = $create || asc; 1594 return function ($this, callbackfn, that) { 1595 var O = toObject($this); 1596 var self = IObject(O); 1597 var f = ctx(callbackfn, that, 3); 1598 var length = toLength(self.length); 1599 var index = 0; 1600 var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; 1601 var val, res; 1602 for (;length > index; index++) if (NO_HOLES || index in self) { 1603 val = self[index]; 1604 res = f(val, index, O); 1605 if (TYPE) { 1606 if (IS_MAP) result[index] = res; // map 1607 else if (res) switch (TYPE) { 1608 case 3: return true; // some 1609 case 5: return val; // find 1610 case 6: return index; // findIndex 1611 case 2: result.push(val); // filter 1612 } else if (IS_EVERY) return false; // every 1613 } 1614 } 1615 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; 1616 }; 1617}; 1618 1619},{"./_array-species-create":21,"./_ctx":31,"./_iobject":54,"./_to-length":124,"./_to-object":125}],19:[function(require,module,exports){ 1620var aFunction = require('./_a-function'); 1621var toObject = require('./_to-object'); 1622var IObject = require('./_iobject'); 1623var toLength = require('./_to-length'); 1624 1625module.exports = function (that, callbackfn, aLen, memo, isRight) { 1626 aFunction(callbackfn); 1627 var O = toObject(that); 1628 var self = IObject(O); 1629 var length = toLength(O.length); 1630 var index = isRight ? length - 1 : 0; 1631 var i = isRight ? -1 : 1; 1632 if (aLen < 2) for (;;) { 1633 if (index in self) { 1634 memo = self[index]; 1635 index += i; 1636 break; 1637 } 1638 index += i; 1639 if (isRight ? index < 0 : length <= index) { 1640 throw TypeError('Reduce of empty array with no initial value'); 1641 } 1642 } 1643 for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { 1644 memo = callbackfn(memo, self[index], index, O); 1645 } 1646 return memo; 1647}; 1648 1649},{"./_a-function":8,"./_iobject":54,"./_to-length":124,"./_to-object":125}],20:[function(require,module,exports){ 1650var isObject = require('./_is-object'); 1651var isArray = require('./_is-array'); 1652var SPECIES = require('./_wks')('species'); 1653 1654module.exports = function (original) { 1655 var C; 1656 if (isArray(original)) { 1657 C = original.constructor; 1658 // cross-realm fallback 1659 if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; 1660 if (isObject(C)) { 1661 C = C[SPECIES]; 1662 if (C === null) C = undefined; 1663 } 1664 } return C === undefined ? Array : C; 1665}; 1666 1667},{"./_is-array":56,"./_is-object":58,"./_wks":135}],21:[function(require,module,exports){ 1668// 9.4.2.3 ArraySpeciesCreate(originalArray, length) 1669var speciesConstructor = require('./_array-species-constructor'); 1670 1671module.exports = function (original, length) { 1672 return new (speciesConstructor(original))(length); 1673}; 1674 1675},{"./_array-species-constructor":20}],22:[function(require,module,exports){ 1676'use strict'; 1677var aFunction = require('./_a-function'); 1678var isObject = require('./_is-object'); 1679var invoke = require('./_invoke'); 1680var arraySlice = [].slice; 1681var factories = {}; 1682 1683var construct = function (F, len, args) { 1684 if (!(len in factories)) { 1685 for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; 1686 // eslint-disable-next-line no-new-func 1687 factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); 1688 } return factories[len](F, args); 1689}; 1690 1691module.exports = Function.bind || function bind(that /* , ...args */) { 1692 var fn = aFunction(this); 1693 var partArgs = arraySlice.call(arguments, 1); 1694 var bound = function (/* args... */) { 1695 var args = partArgs.concat(arraySlice.call(arguments)); 1696 return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); 1697 }; 1698 if (isObject(fn.prototype)) bound.prototype = fn.prototype; 1699 return bound; 1700}; 1701 1702},{"./_a-function":8,"./_invoke":53,"./_is-object":58}],23:[function(require,module,exports){ 1703// getting tag from 19.1.3.6 Object.prototype.toString() 1704var cof = require('./_cof'); 1705var TAG = require('./_wks')('toStringTag'); 1706// ES3 wrong here 1707var ARG = cof(function () { return arguments; }()) == 'Arguments'; 1708 1709// fallback for IE11 Script Access Denied error 1710var tryGet = function (it, key) { 1711 try { 1712 return it[key]; 1713 } catch (e) { /* empty */ } 1714}; 1715 1716module.exports = function (it) { 1717 var O, T, B; 1718 return it === undefined ? 'Undefined' : it === null ? 'Null' 1719 // @@toStringTag case 1720 : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T 1721 // builtinTag case 1722 : ARG ? cof(O) 1723 // ES3 arguments fallback 1724 : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; 1725}; 1726 1727},{"./_cof":24,"./_wks":135}],24:[function(require,module,exports){ 1728var toString = {}.toString; 1729 1730module.exports = function (it) { 1731 return toString.call(it).slice(8, -1); 1732}; 1733 1734},{}],25:[function(require,module,exports){ 1735'use strict'; 1736var dP = require('./_object-dp').f; 1737var create = require('./_object-create'); 1738var redefineAll = require('./_redefine-all'); 1739var ctx = require('./_ctx'); 1740var anInstance = require('./_an-instance'); 1741var forOf = require('./_for-of'); 1742var $iterDefine = require('./_iter-define'); 1743var step = require('./_iter-step'); 1744var setSpecies = require('./_set-species'); 1745var DESCRIPTORS = require('./_descriptors'); 1746var fastKey = require('./_meta').fastKey; 1747var validate = require('./_validate-collection'); 1748var SIZE = DESCRIPTORS ? '_s' : 'size'; 1749 1750var getEntry = function (that, key) { 1751 // fast case 1752 var index = fastKey(key); 1753 var entry; 1754 if (index !== 'F') return that._i[index]; 1755 // frozen object case 1756 for (entry = that._f; entry; entry = entry.n) { 1757 if (entry.k == key) return entry; 1758 } 1759}; 1760 1761module.exports = { 1762 getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { 1763 var C = wrapper(function (that, iterable) { 1764 anInstance(that, C, NAME, '_i'); 1765 that._t = NAME; // collection type 1766 that._i = create(null); // index 1767 that._f = undefined; // first entry 1768 that._l = undefined; // last entry 1769 that[SIZE] = 0; // size 1770 if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); 1771 }); 1772 redefineAll(C.prototype, { 1773 // 23.1.3.1 Map.prototype.clear() 1774 // 23.2.3.2 Set.prototype.clear() 1775 clear: function clear() { 1776 for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { 1777 entry.r = true; 1778 if (entry.p) entry.p = entry.p.n = undefined; 1779 delete data[entry.i]; 1780 } 1781 that._f = that._l = undefined; 1782 that[SIZE] = 0; 1783 }, 1784 // 23.1.3.3 Map.prototype.delete(key) 1785 // 23.2.3.4 Set.prototype.delete(value) 1786 'delete': function (key) { 1787 var that = validate(this, NAME); 1788 var entry = getEntry(that, key); 1789 if (entry) { 1790 var next = entry.n; 1791 var prev = entry.p; 1792 delete that._i[entry.i]; 1793 entry.r = true; 1794 if (prev) prev.n = next; 1795 if (next) next.p = prev; 1796 if (that._f == entry) that._f = next; 1797 if (that._l == entry) that._l = prev; 1798 that[SIZE]--; 1799 } return !!entry; 1800 }, 1801 // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) 1802 // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)
vendor: 5,250 bytes, lines 1803-1953
1803 forEach: function forEach(callbackfn /* , that = undefined */) { 1804 validate(this, NAME); 1805 var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); 1806 var entry; 1807 while (entry = entry ? entry.n : this._f) { 1808 f(entry.v, entry.k, this); 1809 // revert to the last existing entry 1810 while (entry && entry.r) entry = entry.p; 1811 } 1812 }, 1813 // 23.1.3.7 Map.prototype.has(key) 1814 // 23.2.3.7 Set.prototype.has(value) 1815 has: function has(key) { 1816 return !!getEntry(validate(this, NAME), key); 1817 } 1818 }); 1819 if (DESCRIPTORS) dP(C.prototype, 'size', { 1820 get: function () { 1821 return validate(this, NAME)[SIZE]; 1822 } 1823 }); 1824 return C; 1825 }, 1826 def: function (that, key, value) { 1827 var entry = getEntry(that, key); 1828 var prev, index; 1829 // change existing entry 1830 if (entry) { 1831 entry.v = value; 1832 // create new entry 1833 } else { 1834 that._l = entry = { 1835 i: index = fastKey(key, true), // <- index 1836 k: key, // <- key 1837 v: value, // <- value 1838 p: prev = that._l, // <- previous entry 1839 n: undefined, // <- next entry 1840 r: false // <- removed 1841 }; 1842 if (!that._f) that._f = entry; 1843 if (prev) prev.n = entry; 1844 that[SIZE]++; 1845 // add to index 1846 if (index !== 'F') that._i[index] = entry; 1847 } return that; 1848 }, 1849 getEntry: getEntry, 1850 setStrong: function (C, NAME, IS_MAP) { 1851 // add .keys, .values, .entries, [@@iterator] 1852 // 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 1853 $iterDefine(C, NAME, function (iterated, kind) { 1854 this._t = validate(iterated, NAME); // target 1855 this._k = kind; // kind 1856 this._l = undefined; // previous 1857 }, function () { 1858 var that = this; 1859 var kind = that._k; 1860 var entry = that._l; 1861 // revert to the last existing entry 1862 while (entry && entry.r) entry = entry.p; 1863 // get next entry 1864 if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { 1865 // or finish the iteration 1866 that._t = undefined; 1867 return step(1); 1868 } 1869 // return step by kind 1870 if (kind == 'keys') return step(0, entry.k); 1871 if (kind == 'values') return step(0, entry.v); 1872 return step(0, [entry.k, entry.v]); 1873 }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); 1874 1875 // add [@@species], 23.1.2.2, 23.2.2.2 1876 setSpecies(NAME); 1877 } 1878}; 1879 1880},{"./_an-instance":12,"./_ctx":31,"./_descriptors":35,"./_for-of":45,"./_iter-define":62,"./_iter-step":64,"./_meta":72,"./_object-create":77,"./_object-dp":78,"./_redefine-all":97,"./_set-species":106,"./_validate-collection":132}],26:[function(require,module,exports){ 1881// https://github.com/DavidBruant/Map-Set.prototype.toJSON 1882var classof = require('./_classof'); 1883var from = require('./_array-from-iterable'); 1884module.exports = function (NAME) { 1885 return function toJSON() { 1886 if (classof(this) != NAME) throw TypeError(NAME + "#toJSON isn't generic"); 1887 return from(this); 1888 }; 1889}; 1890 1891},{"./_array-from-iterable":16,"./_classof":23}],27:[function(require,module,exports){ 1892'use strict'; 1893var redefineAll = require('./_redefine-all'); 1894var getWeak = require('./_meta').getWeak; 1895var anObject = require('./_an-object'); 1896var isObject = require('./_is-object'); 1897var anInstance = require('./_an-instance'); 1898var forOf = require('./_for-of'); 1899var createArrayMethod = require('./_array-methods'); 1900var $has = require('./_has'); 1901var validate = require('./_validate-collection'); 1902var arrayFind = createArrayMethod(5); 1903var arrayFindIndex = createArrayMethod(6); 1904var id = 0; 1905 1906// fallback for uncaught frozen keys 1907var uncaughtFrozenStore = function (that) { 1908 return that._l || (that._l = new UncaughtFrozenStore()); 1909}; 1910var UncaughtFrozenStore = function () { 1911 this.a = []; 1912}; 1913var findUncaughtFrozen = function (store, key) { 1914 return arrayFind(store.a, function (it) { 1915 return it[0] === key; 1916 }); 1917}; 1918UncaughtFrozenStore.prototype = { 1919 get: function (key) { 1920 var entry = findUncaughtFrozen(this, key); 1921 if (entry) return entry[1]; 1922 }, 1923 has: function (key) { 1924 return !!findUncaughtFrozen(this, key); 1925 }, 1926 set: function (key, value) { 1927 var entry = findUncaughtFrozen(this, key); 1928 if (entry) entry[1] = value; 1929 else this.a.push([key, value]); 1930 }, 1931 'delete': function (key) { 1932 var index = arrayFindIndex(this.a, function (it) { 1933 return it[0] === key; 1934 }); 1935 if (~index) this.a.splice(index, 1); 1936 return !!~index; 1937 } 1938}; 1939 1940module.exports = { 1941 getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { 1942 var C = wrapper(function (that, iterable) { 1943 anInstance(that, C, NAME, '_i'); 1944 that._t = NAME; // collection type 1945 that._i = id++; // collection id 1946 that._l = undefined; // leak store for uncaught frozen objects 1947 if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); 1948 }); 1949 redefineAll(C.prototype, { 1950 // 23.3.3.2 WeakMap.prototype.delete(key) 1951 // 23.4.3.3 WeakSet.prototype.delete(value) 1952 'delete': function (key) { 1953 if (!isObject(key)) return false;
vendor: 18,603 bytes, lines 1954-2461
1954 var data = getWeak(key); 1955 if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); 1956 return data && $has(data, this._i) && delete data[this._i]; 1957 }, 1958 // 23.3.3.4 WeakMap.prototype.has(key) 1959 // 23.4.3.4 WeakSet.prototype.has(value) 1960 has: function has(key) { 1961 if (!isObject(key)) return false; 1962 var data = getWeak(key); 1963 if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); 1964 return data && $has(data, this._i); 1965 } 1966 }); 1967 return C; 1968 }, 1969 def: function (that, key, value) { 1970 var data = getWeak(anObject(key), true); 1971 if (data === true) uncaughtFrozenStore(that).set(key, value); 1972 else data[that._i] = value; 1973 return that; 1974 }, 1975 ufstore: uncaughtFrozenStore 1976}; 1977 1978},{"./_an-instance":12,"./_an-object":13,"./_array-methods":18,"./_for-of":45,"./_has":48,"./_is-object":58,"./_meta":72,"./_redefine-all":97,"./_validate-collection":132}],28:[function(require,module,exports){ 1979'use strict'; 1980var global = require('./_global'); 1981var $export = require('./_export'); 1982var redefine = require('./_redefine'); 1983var redefineAll = require('./_redefine-all'); 1984var meta = require('./_meta'); 1985var forOf = require('./_for-of'); 1986var anInstance = require('./_an-instance'); 1987var isObject = require('./_is-object'); 1988var fails = require('./_fails'); 1989var $iterDetect = require('./_iter-detect'); 1990var setToStringTag = require('./_set-to-string-tag'); 1991var inheritIfRequired = require('./_inherit-if-required'); 1992 1993module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { 1994 var Base = global[NAME]; 1995 var C = Base; 1996 var ADDER = IS_MAP ? 'set' : 'add'; 1997 var proto = C && C.prototype; 1998 var O = {}; 1999 var fixMethod = function (KEY) { 2000 var fn = proto[KEY]; 2001 redefine(proto, KEY, 2002 KEY == 'delete' ? function (a) { 2003 return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); 2004 } : KEY == 'has' ? function has(a) { 2005 return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); 2006 } : KEY == 'get' ? function get(a) { 2007 return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); 2008 } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } 2009 : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } 2010 ); 2011 }; 2012 if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { 2013 new C().entries().next(); 2014 }))) { 2015 // create collection constructor 2016 C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); 2017 redefineAll(C.prototype, methods); 2018 meta.NEED = true; 2019 } else { 2020 var instance = new C(); 2021 // early implementations not supports chaining 2022 var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; 2023 // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false 2024 var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); 2025 // most early implementations doesn't supports iterables, most modern - not close it correctly 2026 var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new 2027 // for early implementations -0 and +0 not the same 2028 var BUGGY_ZERO = !IS_WEAK && fails(function () { 2029 // V8 ~ Chromium 42- fails only with 5+ elements 2030 var $instance = new C(); 2031 var index = 5; 2032 while (index--) $instance[ADDER](index, index); 2033 return !$instance.has(-0); 2034 }); 2035 if (!ACCEPT_ITERABLES) { 2036 C = wrapper(function (target, iterable) { 2037 anInstance(target, C, NAME); 2038 var that = inheritIfRequired(new Base(), target, C); 2039 if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); 2040 return that; 2041 }); 2042 C.prototype = proto; 2043 proto.constructor = C; 2044 } 2045 if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { 2046 fixMethod('delete'); 2047 fixMethod('has'); 2048 IS_MAP && fixMethod('get'); 2049 } 2050 if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); 2051 // weak collections should not contains .clear method 2052 if (IS_WEAK && proto.clear) delete proto.clear; 2053 } 2054 2055 setToStringTag(C, NAME); 2056 2057 O[NAME] = C; 2058 $export($export.G + $export.W + $export.F * (C != Base), O); 2059 2060 if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); 2061 2062 return C; 2063}; 2064 2065},{"./_an-instance":12,"./_export":39,"./_fails":41,"./_for-of":45,"./_global":47,"./_inherit-if-required":52,"./_is-object":58,"./_iter-detect":63,"./_meta":72,"./_redefine":98,"./_redefine-all":97,"./_set-to-string-tag":107}],29:[function(require,module,exports){ 2066var core = module.exports = { version: '2.6.12' }; 2067if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef 2068 2069},{}],30:[function(require,module,exports){ 2070'use strict'; 2071var $defineProperty = require('./_object-dp'); 2072var createDesc = require('./_property-desc'); 2073 2074module.exports = function (object, index, value) { 2075 if (index in object) $defineProperty.f(object, index, createDesc(0, value)); 2076 else object[index] = value; 2077}; 2078 2079},{"./_object-dp":78,"./_property-desc":96}],31:[function(require,module,exports){ 2080// optional / simple context binding 2081var aFunction = require('./_a-function'); 2082module.exports = function (fn, that, length) { 2083 aFunction(fn); 2084 if (that === undefined) return fn; 2085 switch (length) { 2086 case 1: return function (a) { 2087 return fn.call(that, a); 2088 }; 2089 case 2: return function (a, b) { 2090 return fn.call(that, a, b); 2091 }; 2092 case 3: return function (a, b, c) { 2093 return fn.call(that, a, b, c); 2094 }; 2095 } 2096 return function (/* ...args */) { 2097 return fn.apply(that, arguments); 2098 }; 2099}; 2100 2101},{"./_a-function":8}],32:[function(require,module,exports){ 2102'use strict'; 2103// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() 2104var fails = require('./_fails'); 2105var getTime = Date.prototype.getTime; 2106var $toISOString = Date.prototype.toISOString; 2107 2108var lz = function (num) { 2109 return num > 9 ? num : '0' + num; 2110}; 2111 2112// PhantomJS / old WebKit has a broken implementations 2113module.exports = (fails(function () { 2114 return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; 2115}) || !fails(function () { 2116 $toISOString.call(new Date(NaN)); 2117})) ? function toISOString() { 2118 if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); 2119 var d = this; 2120 var y = d.getUTCFullYear(); 2121 var m = d.getUTCMilliseconds(); 2122 var s = y < 0 ? '-' : y > 9999 ? '+' : ''; 2123 return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + 2124 '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + 2125 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + 2126 ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; 2127} : $toISOString; 2128 2129},{"./_fails":41}],33:[function(require,module,exports){ 2130'use strict'; 2131var anObject = require('./_an-object'); 2132var toPrimitive = require('./_to-primitive'); 2133var NUMBER = 'number'; 2134 2135module.exports = function (hint) { 2136 if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); 2137 return toPrimitive(anObject(this), hint != NUMBER); 2138}; 2139 2140},{"./_an-object":13,"./_to-primitive":126}],34:[function(require,module,exports){ 2141// 7.2.1 RequireObjectCoercible(argument) 2142module.exports = function (it) { 2143 if (it == undefined) throw TypeError("Can't call method on " + it); 2144 return it; 2145}; 2146 2147},{}],35:[function(require,module,exports){ 2148// Thank's IE8 for his funny defineProperty 2149module.exports = !require('./_fails')(function () { 2150 return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; 2151}); 2152 2153},{"./_fails":41}],36:[function(require,module,exports){ 2154var isObject = require('./_is-object'); 2155var document = require('./_global').document; 2156// typeof document.createElement is 'object' in old IE 2157var is = isObject(document) && isObject(document.createElement); 2158module.exports = function (it) { 2159 return is ? document.createElement(it) : {}; 2160}; 2161 2162},{"./_global":47,"./_is-object":58}],37:[function(require,module,exports){ 2163// IE 8- don't enum bug keys 2164module.exports = ( 2165 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' 2166).split(','); 2167 2168},{}],38:[function(require,module,exports){ 2169// all enumerable object keys, includes symbols 2170var getKeys = require('./_object-keys'); 2171var gOPS = require('./_object-gops'); 2172var pIE = require('./_object-pie'); 2173module.exports = function (it) { 2174 var result = getKeys(it); 2175 var getSymbols = gOPS.f; 2176 if (getSymbols) { 2177 var symbols = getSymbols(it); 2178 var isEnum = pIE.f; 2179 var i = 0; 2180 var key; 2181 while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); 2182 } return result; 2183}; 2184 2185},{"./_object-gops":84,"./_object-keys":87,"./_object-pie":88}],39:[function(require,module,exports){ 2186var global = require('./_global'); 2187var core = require('./_core'); 2188var hide = require('./_hide'); 2189var redefine = require('./_redefine'); 2190var ctx = require('./_ctx'); 2191var PROTOTYPE = 'prototype'; 2192 2193var $export = function (type, name, source) { 2194 var IS_FORCED = type & $export.F; 2195 var IS_GLOBAL = type & $export.G; 2196 var IS_STATIC = type & $export.S; 2197 var IS_PROTO = type & $export.P; 2198 var IS_BIND = type & $export.B; 2199 var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; 2200 var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); 2201 var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); 2202 var key, own, out, exp; 2203 if (IS_GLOBAL) source = name; 2204 for (key in source) { 2205 // contains in native 2206 own = !IS_FORCED && target && target[key] !== undefined; 2207 // export native or passed 2208 out = (own ? target : source)[key]; 2209 // bind timers to global for call from export context 2210 exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; 2211 // extend global 2212 if (target) redefine(target, key, out, type & $export.U); 2213 // export 2214 if (exports[key] != out) hide(exports, key, exp); 2215 if (IS_PROTO && expProto[key] != out) expProto[key] = out; 2216 } 2217}; 2218global.core = core; 2219// type bitmap 2220$export.F = 1; // forced 2221$export.G = 2; // global 2222$export.S = 4; // static 2223$export.P = 8; // proto 2224$export.B = 16; // bind 2225$export.W = 32; // wrap 2226$export.U = 64; // safe 2227$export.R = 128; // real proto method for `library` 2228module.exports = $export; 2229 2230},{"./_core":29,"./_ctx":31,"./_global":47,"./_hide":49,"./_redefine":98}],40:[function(require,module,exports){ 2231var MATCH = require('./_wks')('match'); 2232module.exports = function (KEY) { 2233 var re = /./; 2234 try { 2235 '/./'[KEY](re); 2236 } catch (e) { 2237 try { 2238 re[MATCH] = false; 2239 return !'/./'[KEY](re); 2240 } catch (f) { /* empty */ } 2241 } return true; 2242}; 2243 2244},{"./_wks":135}],41:[function(require,module,exports){ 2245module.exports = function (exec) { 2246 try { 2247 return !!exec(); 2248 } catch (e) { 2249 return true; 2250 } 2251}; 2252 2253},{}],42:[function(require,module,exports){ 2254'use strict'; 2255require('./es6.regexp.exec'); 2256var redefine = require('./_redefine'); 2257var hide = require('./_hide'); 2258var fails = require('./_fails'); 2259var defined = require('./_defined'); 2260var wks = require('./_wks'); 2261var regexpExec = require('./_regexp-exec'); 2262 2263var SPECIES = wks('species'); 2264 2265var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { 2266 // #replace needs built-in support for named groups. 2267 // #match works fine because it just return the exec results, even if it has 2268 // a "grops" property. 2269 var re = /./; 2270 re.exec = function () { 2271 var result = []; 2272 result.groups = { a: '7' }; 2273 return result; 2274 }; 2275 return ''.replace(re, '$<a>') !== '7'; 2276}); 2277 2278var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () { 2279 // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec 2280 var re = /(?:)/; 2281 var originalExec = re.exec; 2282 re.exec = function () { return originalExec.apply(this, arguments); }; 2283 var result = 'ab'.split(re); 2284 return result.length === 2 && result[0] === 'a' && result[1] === 'b'; 2285})(); 2286 2287module.exports = function (KEY, length, exec) { 2288 var SYMBOL = wks(KEY); 2289 2290 var DELEGATES_TO_SYMBOL = !fails(function () { 2291 // String methods call symbol-named RegEp methods 2292 var O = {}; 2293 O[SYMBOL] = function () { return 7; }; 2294 return ''[KEY](O) != 7; 2295 }); 2296 2297 var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () { 2298 // Symbol-named RegExp methods call .exec 2299 var execCalled = false; 2300 var re = /a/; 2301 re.exec = function () { execCalled = true; return null; }; 2302 if (KEY === 'split') { 2303 // RegExp[@@split] doesn't call the regex's exec method, but first creates 2304 // a new one. We need to return the patched regex when creating the new one. 2305 re.constructor = {}; 2306 re.constructor[SPECIES] = function () { return re; }; 2307 } 2308 re[SYMBOL](''); 2309 return !execCalled; 2310 }) : undefined; 2311 2312 if ( 2313 !DELEGATES_TO_SYMBOL || 2314 !DELEGATES_TO_EXEC || 2315 (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || 2316 (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) 2317 ) { 2318 var nativeRegExpMethod = /./[SYMBOL]; 2319 var fns = exec( 2320 defined, 2321 SYMBOL, 2322 ''[KEY], 2323 function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { 2324 if (regexp.exec === regexpExec) { 2325 if (DELEGATES_TO_SYMBOL && !forceStringMethod) { 2326 // The native String method already delegates to @@method (this 2327 // polyfilled function), leasing to infinite recursion. 2328 // We avoid it by directly calling the native @@method method. 2329 return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; 2330 } 2331 return { done: true, value: nativeMethod.call(str, regexp, arg2) }; 2332 } 2333 return { done: false }; 2334 } 2335 ); 2336 var strfn = fns[0]; 2337 var rxfn = fns[1]; 2338 2339 redefine(String.prototype, KEY, strfn); 2340 hide(RegExp.prototype, SYMBOL, length == 2 2341 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) 2342 // 21.2.5.11 RegExp.prototype[@@split](string, limit) 2343 ? function (string, arg) { return rxfn.call(string, this, arg); } 2344 // 21.2.5.6 RegExp.prototype[@@match](string) 2345 // 21.2.5.9 RegExp.prototype[@@search](string) 2346 : function (string) { return rxfn.call(string, this); } 2347 ); 2348 } 2349}; 2350 2351},{"./_defined":34,"./_fails":41,"./_hide":49,"./_redefine":98,"./_regexp-exec":100,"./_wks":135,"./es6.regexp.exec":232}],43:[function(require,module,exports){ 2352'use strict'; 2353// 21.2.5.3 get RegExp.prototype.flags 2354var anObject = require('./_an-object'); 2355module.exports = function () { 2356 var that = anObject(this); 2357 var result = ''; 2358 if (that.global) result += 'g'; 2359 if (that.ignoreCase) result += 'i'; 2360 if (that.multiline) result += 'm'; 2361 if (that.unicode) result += 'u'; 2362 if (that.sticky) result += 'y'; 2363 return result; 2364}; 2365 2366},{"./_an-object":13}],44:[function(require,module,exports){ 2367'use strict'; 2368// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray 2369var isArray = require('./_is-array'); 2370var isObject = require('./_is-object'); 2371var toLength = require('./_to-length'); 2372var ctx = require('./_ctx'); 2373var IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable'); 2374 2375function flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) { 2376 var targetIndex = start; 2377 var sourceIndex = 0; 2378 var mapFn = mapper ? ctx(mapper, thisArg, 3) : false; 2379 var element, spreadable; 2380 2381 while (sourceIndex < sourceLen) { 2382 if (sourceIndex in source) { 2383 element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; 2384 2385 spreadable = false; 2386 if (isObject(element)) { 2387 spreadable = element[IS_CONCAT_SPREADABLE]; 2388 spreadable = spreadable !== undefined ? !!spreadable : isArray(element); 2389 } 2390 2391 if (spreadable && depth > 0) { 2392 targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; 2393 } else { 2394 if (targetIndex >= 0x1fffffffffffff) throw TypeError(); 2395 target[targetIndex] = element; 2396 } 2397 2398 targetIndex++; 2399 } 2400 sourceIndex++; 2401 } 2402 return targetIndex; 2403} 2404 2405module.exports = flattenIntoArray; 2406 2407},{"./_ctx":31,"./_is-array":56,"./_is-object":58,"./_to-length":124,"./_wks":135}],45:[function(require,module,exports){ 2408var ctx = require('./_ctx'); 2409var call = require('./_iter-call'); 2410var isArrayIter = require('./_is-array-iter'); 2411var anObject = require('./_an-object'); 2412var toLength = require('./_to-length'); 2413var getIterFn = require('./core.get-iterator-method'); 2414var BREAK = {}; 2415var RETURN = {}; 2416var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { 2417 var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); 2418 var f = ctx(fn, that, entries ? 2 : 1); 2419 var index = 0; 2420 var length, step, iterator, result; 2421 if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); 2422 // fast case for arrays with default iterator 2423 if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { 2424 result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); 2425 if (result === BREAK || result === RETURN) return result; 2426 } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { 2427 result = call(iterator, f, step.value, entries); 2428 if (result === BREAK || result === RETURN) return result; 2429 } 2430}; 2431exports.BREAK = BREAK; 2432exports.RETURN = RETURN; 2433 2434},{"./_an-object":13,"./_ctx":31,"./_is-array-iter":55,"./_iter-call":60,"./_to-length":124,"./core.get-iterator-method":136}],46:[function(require,module,exports){ 2435module.exports = require('./_shared')('native-function-to-string', Function.toString); 2436 2437},{"./_shared":109}],47:[function(require,module,exports){ 2438// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 2439var global = module.exports = typeof window != 'undefined' && window.Math == Math 2440 ? window : typeof self != 'undefined' && self.Math == Math ? self 2441 // eslint-disable-next-line no-new-func 2442 : Function('return this')(); 2443if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef 2444 2445},{}],48:[function(require,module,exports){ 2446var hasOwnProperty = {}.hasOwnProperty; 2447module.exports = function (it, key) { 2448 return hasOwnProperty.call(it, key); 2449}; 2450 2451},{}],49:[function(require,module,exports){ 2452var dP = require('./_object-dp'); 2453var createDesc = require('./_property-desc'); 2454module.exports = require('./_descriptors') ? function (object, key, value) { 2455 return dP.f(object, key, createDesc(1, value)); 2456} : function (object, key, value) { 2457 object[key] = value; 2458 return object; 2459}; 2460 2461}
2461,{"./_descriptors":35,"./_object-dp":78,"./_property-desc":96}],50:[function(require,module,exports){ 2462var document = require('./_global').document; 2463module.exports = document && document.documentElement; 2464 2465},{"./_global":47}],51:[function(require,module,exports){ 2466module.exports = !require('./_descriptors') && !require('./_fails')(function () { 2467 return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7; 2468}); 2469 2470},{"./_descriptors":35,"./_dom-create":36,"./_fails":41}],52:[function(require,module,exports){ 2471var isObject = require('./_is-object'); 2472var setPrototypeOf = require('./_set-proto').set; 2473module.exports = function (that, target, C) { 2474 var S = target.constructor; 2475 var P; 2476 if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { 2477 setPrototypeOf(that, P); 2478 } return that; 2479}; 2480 2481},{"./_is-object":58,"./_set-proto":105}],53:[function(require,module,exports){ 2482// fast apply, http://jsperf.lnkit.com/fast-apply/5 2483module.exports = function (fn, args, that) { 2484 var un = that === undefined; 2485 switch (args.length) { 2486 case 0: return un ? fn() 2487 : fn.call(that); 2488 case 1: return un ? fn(args[0]) 2489 : fn.call(that, args[0]); 2490 case 2: return un ? fn(args[0], args[1]) 2491 : fn.call(that, args[0], args[1]); 2492 case 3: return un ? fn(args[0], args[1], args[2]) 2493 : fn.call(that, args[0], args[1], args[2]); 2494 case 4: return un ? fn(args[0], args[1], args[2], args[3]) 2495 : fn.call(that, args[0], args[1], args[2], args[3]); 2496 } return fn.apply(that, args); 2497}; 2498 2499},{}],54:[function(require,module,exports){ 2500// fallback for non-array-like ES3 and non-enumerable old V8 strings 2501var cof = require('./_cof'); 2502// eslint-disable-next-line no-prototype-builtins 2503module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { 2504 return cof(it) == 'String' ? it.split('') : Object(it); 2505}; 2506 2507},{"./_cof":24}],55:[function(require,module,exports){ 2508// check on default Array iterator 2509var Iterators = require('./_iterators'); 2510var ITERATOR = require('./_wks')('iterator'); 2511var ArrayProto = Array.prototype; 2512 2513module.exports = function (it) { 2514 return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); 2515}; 2516 2517},{"./_iterators":65,"./_wks":135}],56:[function(require,module,exports){ 2518// 7.2.2 IsArray(argument) 2519var cof = require('./_cof'); 2520module.exports = Array.isArray || function isArray(arg) { 2521 return cof(arg) == 'Array'; 2522}; 2523 2524},{"./_cof":24}],57:[function(require,module,exports){ 2525// 20.1.2.3 Number.isInteger(number) 2526var isObject = require('./_is-object'); 2527var floor = Math.floor; 2528module.exports = function isInteger(it) { 2529 return !isObject(it) && isFinite(it) && floor(it) === it; 2530}; 2531 2532},{"./_is-object":58}],58:[function(require,module,exports){ 2533module.exports = function (it) { 2534 return typeof it === 'object' ? it !== null : typeof it === 'function'; 2535}; 2536 2537},{}],59:[function(require,module,exports){ 2538// 7.2.8 IsRegExp(argument) 2539var isObject = require('./_is-object'); 2540var cof = require('./_cof'); 2541var MATCH = require('./_wks')('match'); 2542module.exports = function (it) { 2543 var isRegExp; 2544 return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); 2545}; 2546 2547},{"./_cof":24,"./_is-object":58,"./_wks":135}],60:[function(require,module,exports){ 2548// call something on iterator step with safe closing on error 2549var anObject = require('./_an-object'); 2550module.exports = function (iterator, fn, value, entries) { 2551 try { 2552 return entries ? fn(anObject(value)[0], value[1]) : fn(value); 2553 // 7.4.6 IteratorClose(iterator, completion) 2554 } catch (e) { 2555 var ret = iterator['return']; 2556 if (ret !== undefined) anObject(ret.call(iterator)); 2557 throw e; 2558 } 2559}; 2560 2561},{"./_an-object":13}],61:[function(require,module,exports){ 2562'use strict'; 2563var create = require('./_object-create'); 2564var descriptor = require('./_property-desc'); 2565var setToStringTag = require('./_set-to-string-tag'); 2566var IteratorPrototype = {}; 2567 2568// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() 2569require('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; }); 2570 2571module.exports = function (Constructor, NAME, next) { 2572 Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); 2573 setToStringTag(Constructor, NAME + ' Iterator'); 2574}; 2575 2576},{"./_hide":49,"./_object-create":77,"./_property-desc":96,"./_set-to-string-tag":107,"./_wks":135}],62:[function(require,module,exports){ 2577'use strict'; 2578var LIBRARY = require('./_library');
vendor: 4,496 bytes, lines 2579-2702
2579var $export = require('./_export'); 2580var redefine = require('./_redefine'); 2581var hide = require('./_hide'); 2582var Iterators = require('./_iterators'); 2583var $iterCreate = require('./_iter-create'); 2584var setToStringTag = require('./_set-to-string-tag'); 2585var getPrototypeOf = require('./_object-gpo'); 2586var ITERATOR = require('./_wks')('iterator'); 2587var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` 2588var FF_ITERATOR = '@@iterator'; 2589var KEYS = 'keys'; 2590var VALUES = 'values'; 2591 2592var returnThis = function () { return this; }; 2593 2594module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { 2595 $iterCreate(Constructor, NAME, next); 2596 var getMethod = function (kind) { 2597 if (!BUGGY && kind in proto) return proto[kind]; 2598 switch (kind) { 2599 case KEYS: return function keys() { return new Constructor(this, kind); }; 2600 case VALUES: return function values() { return new Constructor(this, kind); }; 2601 } return function entries() { return new Constructor(this, kind); }; 2602 }; 2603 var TAG = NAME + ' Iterator'; 2604 var DEF_VALUES = DEFAULT == VALUES; 2605 var VALUES_BUG = false; 2606 var proto = Base.prototype; 2607 var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; 2608 var $default = $native || getMethod(DEFAULT); 2609 var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; 2610 var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; 2611 var methods, key, IteratorPrototype; 2612 // Fix native 2613 if ($anyNative) { 2614 IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); 2615 if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { 2616 // Set @@toStringTag to native iterators 2617 setToStringTag(IteratorPrototype, TAG, true); 2618 // fix for some old engines 2619 if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); 2620 } 2621 } 2622 // fix Array#{values, @@iterator}.name in V8 / FF 2623 if (DEF_VALUES && $native && $native.name !== VALUES) { 2624 VALUES_BUG = true; 2625 $default = function values() { return $native.call(this); }; 2626 } 2627 // Define iterator 2628 if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { 2629 hide(proto, ITERATOR, $default); 2630 } 2631 // Plug for library 2632 Iterators[NAME] = $default; 2633 Iterators[TAG] = returnThis; 2634 if (DEFAULT) { 2635 methods = { 2636 values: DEF_VALUES ? $default : getMethod(VALUES), 2637 keys: IS_SET ? $default : getMethod(KEYS), 2638 entries: $entries 2639 }; 2640 if (FORCED) for (key in methods) { 2641 if (!(key in proto)) redefine(proto, key, methods[key]); 2642 } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); 2643 } 2644 return methods; 2645}; 2646 2647},{"./_export":39,"./_hide":49,"./_iter-create":61,"./_iterators":65,"./_library":66,"./_object-gpo":85,"./_redefine":98,"./_set-to-string-tag":107,"./_wks":135}],63:[function(require,module,exports){ 2648var ITERATOR = require('./_wks')('iterator'); 2649var SAFE_CLOSING = false; 2650 2651try { 2652 var riter = [7][ITERATOR](); 2653 riter['return'] = function () { SAFE_CLOSING = true; }; 2654 // eslint-disable-next-line no-throw-literal 2655 Array.from(riter, function () { throw 2; }); 2656} catch (e) { /* empty */ } 2657 2658module.exports = function (exec, skipClosing) { 2659 if (!skipClosing && !SAFE_CLOSING) return false; 2660 var safe = false; 2661 try { 2662 var arr = [7]; 2663 var iter = arr[ITERATOR](); 2664 iter.next = function () { return { done: safe = true }; }; 2665 arr[ITERATOR] = function () { return iter; }; 2666 exec(arr); 2667 } catch (e) { /* empty */ } 2668 return safe; 2669}; 2670 2671},{"./_wks":135}],64:[function(require,module,exports){ 2672module.exports = function (done, value) { 2673 return { value: value, done: !!done }; 2674}; 2675 2676},{}],65:[function(require,module,exports){ 2677module.exports = {}; 2678 2679},{}],66:[function(require,module,exports){ 2680module.exports = false; 2681 2682},{}],67:[function(require,module,exports){ 2683// 20.2.2.14 Math.expm1(x) 2684var $expm1 = Math.expm1; 2685module.exports = (!$expm1 2686 // Old FF bug 2687 || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 2688 // Tor Browser bug 2689 || $expm1(-2e-17) != -2e-17 2690) ? function expm1(x) { 2691 return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; 2692} : $expm1; 2693 2694},{}],68:[function(require,module,exports){ 2695// 20.2.2.16 Math.fround(x) 2696var sign = require('./_math-sign'); 2697var pow = Math.pow; 2698var EPSILON = pow(2, -52); 2699var EPSILON32 = pow(2, -23); 2700var MAX32 = pow(2, 127) * (2 - EPSILON32); 2701var MIN32 = pow(2, -126); 2702
vendor: 4,706 bytes, lines 2703-2838
2703var roundTiesToEven = function (n) { 2704 return n + 1 / EPSILON - 1 / EPSILON; 2705}; 2706 2707module.exports = Math.fround || function fround(x) { 2708 var $abs = Math.abs(x); 2709 var $sign = sign(x); 2710 var a, result; 2711 if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; 2712 a = (1 + EPSILON32 / EPSILON) * $abs; 2713 result = a - (a - $abs); 2714 // eslint-disable-next-line no-self-compare 2715 if (result > MAX32 || result != result) return $sign * Infinity; 2716 return $sign * result; 2717}; 2718 2719},{"./_math-sign":71}],69:[function(require,module,exports){ 2720// 20.2.2.20 Math.log1p(x) 2721module.exports = Math.log1p || function log1p(x) { 2722 return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); 2723}; 2724 2725},{}],70:[function(require,module,exports){ 2726// https://rwaldron.github.io/proposal-math-extensions/ 2727module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { 2728 if ( 2729 arguments.length === 0 2730 // eslint-disable-next-line no-self-compare 2731 || x != x 2732 // eslint-disable-next-line no-self-compare 2733 || inLow != inLow 2734 // eslint-disable-next-line no-self-compare 2735 || inHigh != inHigh 2736 // eslint-disable-next-line no-self-compare 2737 || outLow != outLow 2738 // eslint-disable-next-line no-self-compare 2739 || outHigh != outHigh 2740 ) return NaN; 2741 if (x === Infinity || x === -Infinity) return x; 2742 return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; 2743}; 2744 2745},{}],71:[function(require,module,exports){ 2746// 20.2.2.28 Math.sign(x) 2747module.exports = Math.sign || function sign(x) { 2748 // eslint-disable-next-line no-self-compare 2749 return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; 2750}; 2751 2752},{}],72:[function(require,module,exports){ 2753var META = require('./_uid')('meta'); 2754var isObject = require('./_is-object'); 2755var has = require('./_has'); 2756var setDesc = require('./_object-dp').f; 2757var id = 0; 2758var isExtensible = Object.isExtensible || function () { 2759 return true; 2760}; 2761var FREEZE = !require('./_fails')(function () { 2762 return isExtensible(Object.preventExtensions({})); 2763}); 2764var setMeta = function (it) { 2765 setDesc(it, META, { value: { 2766 i: 'O' + ++id, // object ID 2767 w: {} // weak collections IDs 2768 } }); 2769}; 2770var fastKey = function (it, create) { 2771 // return primitive with prefix 2772 if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; 2773 if (!has(it, META)) { 2774 // can't set metadata to uncaught frozen object 2775 if (!isExtensible(it)) return 'F'; 2776 // not necessary to add metadata 2777 if (!create) return 'E'; 2778 // add missing metadata 2779 setMeta(it); 2780 // return object ID 2781 } return it[META].i; 2782}; 2783var getWeak = function (it, create) { 2784 if (!has(it, META)) { 2785 // can't set metadata to uncaught frozen object 2786 if (!isExtensible(it)) return true; 2787 // not necessary to add metadata 2788 if (!create) return false; 2789 // add missing metadata 2790 setMeta(it); 2791 // return hash weak collections IDs 2792 } return it[META].w; 2793}; 2794// add metadata on freeze-family methods calling 2795var onFreeze = function (it) { 2796 if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); 2797 return it; 2798}; 2799var meta = module.exports = { 2800 KEY: META, 2801 NEED: false, 2802 fastKey: fastKey, 2803 getWeak: getWeak, 2804 onFreeze: onFreeze 2805}; 2806 2807},{"./_fails":41,"./_has":48,"./_is-object":58,"./_object-dp":78,"./_uid":130}],73:[function(require,module,exports){ 2808var Map = require('./es6.map'); 2809var $export = require('./_export'); 2810var shared = require('./_shared')('metadata'); 2811var store = shared.store || (shared.store = new (require('./es6.weak-map'))()); 2812 2813var getOrCreateMetadataMap = function (target, targetKey, create) { 2814 var targetMetadata = store.get(target); 2815 if (!targetMetadata) { 2816 if (!create) return undefined; 2817 store.set(target, targetMetadata = new Map()); 2818 } 2819 var keyMetadata = targetMetadata.get(targetKey); 2820 if (!keyMetadata) { 2821 if (!create) return undefined; 2822 targetMetadata.set(targetKey, keyMetadata = new Map()); 2823 } return keyMetadata; 2824}; 2825var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { 2826 var metadataMap = getOrCreateMetadataMap(O, P, false); 2827 return metadataMap === undefined ? false : metadataMap.has(MetadataKey); 2828}; 2829var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { 2830 var metadataMap = getOrCreateMetadataMap(O, P, false); 2831 return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); 2832}; 2833var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { 2834 getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); 2835}; 2836var ordinaryOwnMetadataKeys = function (target, targetKey) { 2837 var metadataMap = getOrCreateMetadataMap(target, targetKey, false); 2838 var keys = [];
vendor: 8,632 bytes, lines 2839-3096
2839 if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); 2840 return keys; 2841}; 2842var toMetaKey = function (it) { 2843 return it === undefined || typeof it == 'symbol' ? it : String(it); 2844}; 2845var exp = function (O) { 2846 $export($export.S, 'Reflect', O); 2847}; 2848 2849module.exports = { 2850 store: store, 2851 map: getOrCreateMetadataMap, 2852 has: ordinaryHasOwnMetadata, 2853 get: ordinaryGetOwnMetadata, 2854 set: ordinaryDefineOwnMetadata, 2855 keys: ordinaryOwnMetadataKeys, 2856 key: toMetaKey, 2857 exp: exp 2858}; 2859 2860},{"./_export":39,"./_shared":109,"./es6.map":167,"./es6.weak-map":274}],74:[function(require,module,exports){ 2861var global = require('./_global'); 2862var macrotask = require('./_task').set; 2863var Observer = global.MutationObserver || global.WebKitMutationObserver; 2864var process = global.process; 2865var Promise = global.Promise; 2866var isNode = require('./_cof')(process) == 'process'; 2867 2868module.exports = function () { 2869 var head, last, notify; 2870 2871 var flush = function () { 2872 var parent, fn; 2873 if (isNode && (parent = process.domain)) parent.exit(); 2874 while (head) { 2875 fn = head.fn; 2876 head = head.next; 2877 try { 2878 fn(); 2879 } catch (e) { 2880 if (head) notify(); 2881 else last = undefined; 2882 throw e; 2883 } 2884 } last = undefined; 2885 if (parent) parent.enter(); 2886 }; 2887 2888 // Node.js 2889 if (isNode) { 2890 notify = function () { 2891 process.nextTick(flush); 2892 }; 2893 // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 2894 } else if (Observer && !(global.navigator && global.navigator.standalone)) { 2895 var toggle = true; 2896 var node = document.createTextNode(''); 2897 new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new 2898 notify = function () { 2899 node.data = toggle = !toggle; 2900 }; 2901 // environments with maybe non-completely correct, but existent Promise 2902 } else if (Promise && Promise.resolve) { 2903 // Promise.resolve without an argument throws an error in LG WebOS 2 2904 var promise = Promise.resolve(undefined); 2905 notify = function () { 2906 promise.then(flush); 2907 }; 2908 // for other environments - macrotask based on: 2909 // - setImmediate 2910 // - MessageChannel 2911 // - window.postMessag 2912 // - onreadystatechange 2913 // - setTimeout 2914 } else { 2915 notify = function () { 2916 // strange IE + webpack dev server bug - use .call(global) 2917 macrotask.call(global, flush); 2918 }; 2919 } 2920 2921 return function (fn) { 2922 var task = { fn: fn, next: undefined }; 2923 if (last) last.next = task; 2924 if (!head) { 2925 head = task; 2926 notify(); 2927 } last = task; 2928 }; 2929}; 2930 2931},{"./_cof":24,"./_global":47,"./_task":119}],75:[function(require,module,exports){ 2932'use strict'; 2933// 25.4.1.5 NewPromiseCapability(C) 2934var aFunction = require('./_a-function'); 2935 2936function PromiseCapability(C) { 2937 var resolve, reject; 2938 this.promise = new C(function ($$resolve, $$reject) { 2939 if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); 2940 resolve = $$resolve; 2941 reject = $$reject; 2942 }); 2943 this.resolve = aFunction(resolve); 2944 this.reject = aFunction(reject); 2945} 2946 2947module.exports.f = function (C) { 2948 return new PromiseCapability(C); 2949}; 2950 2951},{"./_a-function":8}],76:[function(require,module,exports){ 2952'use strict'; 2953// 19.1.2.1 Object.assign(target, source, ...) 2954var DESCRIPTORS = require('./_descriptors'); 2955var getKeys = require('./_object-keys'); 2956var gOPS = require('./_object-gops'); 2957var pIE = require('./_object-pie'); 2958var toObject = require('./_to-object'); 2959var IObject = require('./_iobject'); 2960var $assign = Object.assign; 2961 2962// should work with symbols and should have deterministic property order (V8 bug) 2963module.exports = !$assign || require('./_fails')(function () { 2964 var A = {}; 2965 var B = {}; 2966 // eslint-disable-next-line no-undef 2967 var S = Symbol(); 2968 var K = 'abcdefghijklmnopqrst'; 2969 A[S] = 7; 2970 K.split('').forEach(function (k) { B[k] = k; }); 2971 return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; 2972}) ? function assign(target, source) { // eslint-disable-line no-unused-vars 2973 var T = toObject(target); 2974 var aLen = arguments.length; 2975 var index = 1; 2976 var getSymbols = gOPS.f; 2977 var isEnum = pIE.f; 2978 while (aLen > index) { 2979 var S = IObject(arguments[index++]); 2980 var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); 2981 var length = keys.length; 2982 var j = 0; 2983 var key; 2984 while (length > j) { 2985 key = keys[j++]; 2986 if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; 2987 } 2988 } return T; 2989} : $assign; 2990 2991},{"./_descriptors":35,"./_fails":41,"./_iobject":54,"./_object-gops":84,"./_object-keys":87,"./_object-pie":88,"./_to-object":125}],77:[function(require,module,exports){ 2992// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) 2993var anObject = require('./_an-object'); 2994var dPs = require('./_object-dps'); 2995var enumBugKeys = require('./_enum-bug-keys'); 2996var IE_PROTO = require('./_shared-key')('IE_PROTO'); 2997var Empty = function () { /* empty */ }; 2998var PROTOTYPE = 'prototype'; 2999 3000// Create object with fake `null` prototype: use iframe Object with cleared prototype 3001var createDict = function () { 3002 // Thrash, waste and sodomy: IE GC bug 3003 var iframe = require('./_dom-create')('iframe'); 3004 var i = enumBugKeys.length; 3005 var lt = '<'; 3006 var gt = '>'; 3007 var iframeDocument; 3008 iframe.style.display = 'none'; 3009 require('./_html').appendChild(iframe); 3010 iframe.src = 'javascript:'; // eslint-disable-line no-script-url 3011 // createDict = iframe.contentWindow.Object; 3012 // html.removeChild(iframe); 3013 iframeDocument = iframe.contentWindow.document; 3014 iframeDocument.open(); 3015 iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); 3016 iframeDocument.close(); 3017 createDict = iframeDocument.F; 3018 while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; 3019 return createDict(); 3020}; 3021 3022module.exports = Object.create || function create(O, Properties) { 3023 var result; 3024 if (O !== null) { 3025 Empty[PROTOTYPE] = anObject(O); 3026 result = new Empty(); 3027 Empty[PROTOTYPE] = null; 3028 // add "__proto__" for Object.getPrototypeOf polyfill 3029 result[IE_PROTO] = O; 3030 } else result = createDict(); 3031 return Properties === undefined ? result : dPs(result, Properties); 3032}; 3033 3034},{"./_an-object":13,"./_dom-create":36,"./_enum-bug-keys":37,"./_html":50,"./_object-dps":79,"./_shared-key":108}],78:[function(require,module,exports){ 3035var anObject = require('./_an-object'); 3036var IE8_DOM_DEFINE = require('./_ie8-dom-define'); 3037var toPrimitive = require('./_to-primitive'); 3038var dP = Object.defineProperty; 3039 3040exports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) { 3041 anObject(O); 3042 P = toPrimitive(P, true); 3043 anObject(Attributes); 3044 if (IE8_DOM_DEFINE) try { 3045 return dP(O, P, Attributes); 3046 } catch (e) { /* empty */ } 3047 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); 3048 if ('value' in Attributes) O[P] = Attributes.value; 3049 return O; 3050}; 3051 3052},{"./_an-object":13,"./_descriptors":35,"./_ie8-dom-define":51,"./_to-primitive":126}],79:[function(require,module,exports){ 3053var dP = require('./_object-dp'); 3054var anObject = require('./_an-object'); 3055var getKeys = require('./_object-keys'); 3056 3057module.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) { 3058 anObject(O); 3059 var keys = getKeys(Properties); 3060 var length = keys.length; 3061 var i = 0; 3062 var P; 3063 while (length > i) dP.f(O, P = keys[i++], Properties[P]); 3064 return O; 3065}; 3066 3067},{"./_an-object":13,"./_descriptors":35,"./_object-dp":78,"./_object-keys":87}],80:[function(require,module,exports){ 3068'use strict'; 3069// Forced replacement prototype accessors methods 3070module.exports = require('./_library') || !require('./_fails')(function () { 3071 var K = Math.random(); 3072 // In FF throws only define methods 3073 // eslint-disable-next-line no-undef, no-useless-call 3074 __defineSetter__.call(null, K, function () { /* empty */ }); 3075 delete require('./_global')[K]; 3076}); 3077 3078},{"./_fails":41,"./_global":47,"./_library":66}],81:[function(require,module,exports){ 3079var pIE = require('./_object-pie'); 3080var createDesc = require('./_property-desc'); 3081var toIObject = require('./_to-iobject'); 3082var toPrimitive = require('./_to-primitive'); 3083var has = require('./_has'); 3084var IE8_DOM_DEFINE = require('./_ie8-dom-define'); 3085var gOPD = Object.getOwnPropertyDescriptor; 3086 3087exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) { 3088 O = toIObject(O); 3089 P = toPrimitive(P, true); 3090 if (IE8_DOM_DEFINE) try { 3091 return gOPD(O, P); 3092 } catch (e) { /* empty */ } 3093 if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); 3094}; 3095 3096}
vendor: 10,970 bytes, lines 3096-3418
3096,{"./_descriptors":35,"./_has":48,"./_ie8-dom-define":51,"./_object-pie":88,"./_property-desc":96,"./_to-iobject":123,"./_to-primitive":126}],82:[function(require,module,exports){ 3097// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window 3098var toIObject = require('./_to-iobject'); 3099var gOPN = require('./_object-gopn').f; 3100var toString = {}.toString; 3101 3102var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames 3103 ? Object.getOwnPropertyNames(window) : []; 3104 3105var getWindowNames = function (it) { 3106 try { 3107 return gOPN(it); 3108 } catch (e) { 3109 return windowNames.slice(); 3110 } 3111}; 3112 3113module.exports.f = function getOwnPropertyNames(it) { 3114 return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); 3115}; 3116 3117},{"./_object-gopn":83,"./_to-iobject":123}],83:[function(require,module,exports){ 3118// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) 3119var $keys = require('./_object-keys-internal'); 3120var hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype'); 3121 3122exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 3123 return $keys(O, hiddenKeys); 3124}; 3125 3126},{"./_enum-bug-keys":37,"./_object-keys-internal":86}],84:[function(require,module,exports){ 3127exports.f = Object.getOwnPropertySymbols; 3128 3129},{}],85:[function(require,module,exports){ 3130// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) 3131var has = require('./_has'); 3132var toObject = require('./_to-object'); 3133var IE_PROTO = require('./_shared-key')('IE_PROTO'); 3134var ObjectProto = Object.prototype; 3135 3136module.exports = Object.getPrototypeOf || function (O) { 3137 O = toObject(O); 3138 if (has(O, IE_PROTO)) return O[IE_PROTO]; 3139 if (typeof O.constructor == 'function' && O instanceof O.constructor) { 3140 return O.constructor.prototype; 3141 } return O instanceof Object ? ObjectProto : null; 3142}; 3143 3144},{"./_has":48,"./_shared-key":108,"./_to-object":125}],86:[function(require,module,exports){ 3145var has = require('./_has'); 3146var toIObject = require('./_to-iobject'); 3147var arrayIndexOf = require('./_array-includes')(false); 3148var IE_PROTO = require('./_shared-key')('IE_PROTO'); 3149 3150module.exports = function (object, names) { 3151 var O = toIObject(object); 3152 var i = 0; 3153 var result = []; 3154 var key; 3155 for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); 3156 // Don't enum bug & hidden keys 3157 while (names.length > i) if (has(O, key = names[i++])) { 3158 ~arrayIndexOf(result, key) || result.push(key); 3159 } 3160 return result; 3161}; 3162 3163},{"./_array-includes":17,"./_has":48,"./_shared-key":108,"./_to-iobject":123}],87:[function(require,module,exports){ 3164// 19.1.2.14 / 15.2.3.14 Object.keys(O) 3165var $keys = require('./_object-keys-internal'); 3166var enumBugKeys = require('./_enum-bug-keys'); 3167 3168module.exports = Object.keys || function keys(O) { 3169 return $keys(O, enumBugKeys); 3170}; 3171 3172},{"./_enum-bug-keys":37,"./_object-keys-internal":86}],88:[function(require,module,exports){ 3173exports.f = {}.propertyIsEnumerable; 3174 3175},{}],89:[function(require,module,exports){ 3176// most Object methods by ES6 should accept primitives 3177var $export = require('./_export'); 3178var core = require('./_core'); 3179var fails = require('./_fails'); 3180module.exports = function (KEY, exec) { 3181 var fn = (core.Object || {})[KEY] || Object[KEY]; 3182 var exp = {}; 3183 exp[KEY] = exec(fn); 3184 $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); 3185}; 3186 3187},{"./_core":29,"./_export":39,"./_fails":41}],90:[function(require,module,exports){ 3188var DESCRIPTORS = require('./_descriptors'); 3189var getKeys = require('./_object-keys'); 3190var toIObject = require('./_to-iobject'); 3191var isEnum = require('./_object-pie').f; 3192module.exports = function (isEntries) { 3193 return function (it) { 3194 var O = toIObject(it); 3195 var keys = getKeys(O); 3196 var length = keys.length; 3197 var i = 0; 3198 var result = []; 3199 var key; 3200 while (length > i) { 3201 key = keys[i++]; 3202 if (!DESCRIPTORS || isEnum.call(O, key)) { 3203 result.push(isEntries ? [key, O[key]] : O[key]); 3204 } 3205 } 3206 return result; 3207 }; 3208}; 3209 3210},{"./_descriptors":35,"./_object-keys":87,"./_object-pie":88,"./_to-iobject":123}],91:[function(require,module,exports){ 3211// all object keys, includes non-enumerable and symbols 3212var gOPN = require('./_object-gopn'); 3213var gOPS = require('./_object-gops'); 3214var anObject = require('./_an-object'); 3215var Reflect = require('./_global').Reflect; 3216module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { 3217 var keys = gOPN.f(anObject(it)); 3218 var getSymbols = gOPS.f; 3219 return getSymbols ? keys.concat(getSymbols(it)) : keys; 3220}; 3221 3222},{"./_an-object":13,"./_global":47,"./_object-gopn":83,"./_object-gops":84}],92:[function(require,module,exports){ 3223var $parseFloat = require('./_global').parseFloat; 3224var $trim = require('./_string-trim').trim; 3225 3226module.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) { 3227 var string = $trim(String(str), 3); 3228 var result = $parseFloat(string); 3229 return result === 0 && string.charAt(0) == '-' ? -0 : result; 3230} : $parseFloat; 3231 3232},{"./_global":47,"./_string-trim":117,"./_string-ws":118}],93:[function(require,module,exports){ 3233var $parseInt = require('./_global').parseInt; 3234var $trim = require('./_string-trim').trim; 3235var ws = require('./_string-ws'); 3236var hex = /^[-+]?0[xX]/; 3237 3238module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { 3239 var string = $trim(String(str), 3); 3240 return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); 3241} : $parseInt; 3242 3243},{"./_global":47,"./_string-trim":117,"./_string-ws":118}],94:[function(require,module,exports){ 3244module.exports = function (exec) { 3245 try { 3246 return { e: false, v: exec() }; 3247 } catch (e) { 3248 return { e: true, v: e }; 3249 } 3250}; 3251 3252},{}],95:[function(require,module,exports){ 3253var anObject = require('./_an-object'); 3254var isObject = require('./_is-object'); 3255var newPromiseCapability = require('./_new-promise-capability'); 3256 3257module.exports = function (C, x) { 3258 anObject(C); 3259 if (isObject(x) && x.constructor === C) return x; 3260 var promiseCapability = newPromiseCapability.f(C); 3261 var resolve = promiseCapability.resolve; 3262 resolve(x); 3263 return promiseCapability.promise; 3264}; 3265 3266},{"./_an-object":13,"./_is-object":58,"./_new-promise-capability":75}],96:[function(require,module,exports){ 3267module.exports = function (bitmap, value) { 3268 return { 3269 enumerable: !(bitmap & 1), 3270 configurable: !(bitmap & 2), 3271 writable: !(bitmap & 4), 3272 value: value 3273 }; 3274}; 3275 3276},{}],97:[function(require,module,exports){ 3277var redefine = require('./_redefine'); 3278module.exports = function (target, src, safe) { 3279 for (var key in src) redefine(target, key, src[key], safe); 3280 return target; 3281}; 3282 3283},{"./_redefine":98}],98:[function(require,module,exports){ 3284var global = require('./_global'); 3285var hide = require('./_hide'); 3286var has = require('./_has'); 3287var SRC = require('./_uid')('src'); 3288var $toString = require('./_function-to-string'); 3289var TO_STRING = 'toString'; 3290var TPL = ('' + $toString).split(TO_STRING); 3291 3292require('./_core').inspectSource = function (it) { 3293 return $toString.call(it); 3294}; 3295 3296(module.exports = function (O, key, val, safe) { 3297 var isFunction = typeof val == 'function'; 3298 if (isFunction) has(val, 'name') || hide(val, 'name', key); 3299 if (O[key] === val) return; 3300 if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); 3301 if (O === global) { 3302 O[key] = val; 3303 } else if (!safe) { 3304 delete O[key]; 3305 hide(O, key, val); 3306 } else if (O[key]) { 3307 O[key] = val; 3308 } else { 3309 hide(O, key, val); 3310 } 3311// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 3312})(Function.prototype, TO_STRING, function toString() { 3313 return typeof this == 'function' && this[SRC] || $toString.call(this); 3314}); 3315 3316},{"./_core":29,"./_function-to-string":46,"./_global":47,"./_has":48,"./_hide":49,"./_uid":130}],99:[function(require,module,exports){ 3317'use strict'; 3318 3319var classof = require('./_classof'); 3320var builtinExec = RegExp.prototype.exec; 3321 3322 // `RegExpExec` abstract operation 3323// https://tc39.github.io/ecma262/#sec-regexpexec 3324module.exports = function (R, S) { 3325 var exec = R.exec; 3326 if (typeof exec === 'function') { 3327 var result = exec.call(R, S); 3328 if (typeof result !== 'object') { 3329 throw new TypeError('RegExp exec method returned something other than an Object or null'); 3330 } 3331 return result; 3332 } 3333 if (classof(R) !== 'RegExp') { 3334 throw new TypeError('RegExp#exec called on incompatible receiver'); 3335 } 3336 return builtinExec.call(R, S); 3337}; 3338 3339},{"./_classof":23}],100:[function(require,module,exports){ 3340'use strict'; 3341 3342var regexpFlags = require('./_flags'); 3343 3344var nativeExec = RegExp.prototype.exec; 3345// This always refers to the native implementation, because the 3346// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, 3347// which loads this file before patching the method. 3348var nativeReplace = String.prototype.replace; 3349 3350var patchedExec = nativeExec; 3351 3352var LAST_INDEX = 'lastIndex'; 3353 3354var UPDATES_LAST_INDEX_WRONG = (function () { 3355 var re1 = /a/, 3356 re2 = /b*/g; 3357 nativeExec.call(re1, 'a'); 3358 nativeExec.call(re2, 'a'); 3359 return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; 3360})(); 3361 3362// nonparticipating capturing group, copied from es5-shim's String#split patch. 3363var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; 3364 3365var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; 3366 3367if (PATCH) { 3368 patchedExec = function exec(str) { 3369 var re = this; 3370 var lastIndex, reCopy, match, i; 3371 3372 if (NPCG_INCLUDED) { 3373 reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); 3374 } 3375 if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; 3376 3377 match = nativeExec.call(re, str); 3378 3379 if (UPDATES_LAST_INDEX_WRONG && match) { 3380 re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; 3381 } 3382 if (NPCG_INCLUDED && match && match.length > 1) { 3383 // Fix browsers whose `exec` methods don't consistently return `undefined` 3384 // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ 3385 // eslint-disable-next-line no-loop-func 3386 nativeReplace.call(match[0], reCopy, function () { 3387 for (i = 1; i < arguments.length - 2; i++) { 3388 if (arguments[i] === undefined) match[i] = undefined; 3389 } 3390 }); 3391 } 3392 3393 return match; 3394 }; 3395} 3396 3397module.exports = patchedExec; 3398 3399},{"./_flags":43}],101:[function(require,module,exports){ 3400module.exports = function (regExp, replace) { 3401 var replacer = replace === Object(replace) ? function (part) { 3402 return replace[part]; 3403 } : replace; 3404 return function (it) { 3405 return String(it).replace(regExp, replacer); 3406 }; 3407}; 3408 3409},{}],102:[function(require,module,exports){ 3410// 7.2.9 SameValue(x, y) 3411module.exports = Object.is || function is(x, y) { 3412 // eslint-disable-next-line no-self-compare 3413 return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; 3414}; 3415 3416},{}],103:[function(require,module,exports){ 3417'use strict'; 3418// https://tc39.github.io/proposal-setmap-offrom/
3419var $export = require('./_export'); 3420var aFunction = require('./_a-function'); 3421var ctx = require('./_ctx'); 3422var forOf = require('./_for-of'); 3423 3424module.exports = function (COLLECTION) { 3425 $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) { 3426 var mapFn = arguments[1]; 3427 var mapping, A, n, cb; 3428 aFunction(this); 3429 mapping = mapFn !== undefined; 3430 if (mapping) aFunction(mapFn); 3431 if (source == undefined) return new this(); 3432 A = []; 3433 if (mapping) { 3434 n = 0; 3435 cb = ctx(mapFn, arguments[2], 2); 3436 forOf(source, false, function (nextItem) { 3437 A.push(cb(nextItem, n++)); 3438 }); 3439 } else { 3440 forOf(source, false, A.push, A); 3441 } 3442 return new this(A); 3443 } }); 3444}; 3445 3446},{"./_a-function":8,"./_ctx":31,"./_export":39,"./_for-of":45}],104:[function(require,module,exports){ 3447'use strict'; 3448// https://tc39.github.io/proposal-setmap-offrom/ 3449var $export = require('./_export'); 3450 3451module.exports = function (COLLECTION) { 3452 $export($export.S, COLLECTION, { of: function of() { 3453 var length = arguments.length; 3454 var A = new Array(length); 3455 while (length--) A[length] = arguments[length]; 3456 return new this(A); 3457 } }); 3458}; 3459 3460},{"./_export":39}],105:[function(require,module,exports){ 3461// Works with __proto__ only. Old v8 can't work with null proto objects. 3462/* eslint-disable no-proto */ 3463var isObject = require('./_is-object'); 3464var anObject = require('./_an-object'); 3465var check = function (O, proto) { 3466 anObject(O); 3467 if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); 3468}; 3469module.exports = { 3470 set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line 3471 function (test, buggy, set) { 3472 try { 3473 set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2); 3474 set(test, []); 3475 buggy = !(test instanceof Array); 3476 } catch (e) { buggy = true; } 3477 return function setPrototypeOf(O, proto) { 3478 check(O, proto); 3479 if (buggy) O.__proto__ = proto; 3480 else set(O, proto); 3481 return O; 3482 }; 3483 }({}, false) : undefined), 3484 check: check 3485}; 3486 3487},{"./_an-object":13,"./_ctx":31,"./_is-object":58,"./_object-gopd":81}],106:[function(require,module,exports){ 3488'use strict'; 3489var global = require('./_global'); 3490var dP = require('./_object-dp'); 3491var DESCRIPTORS = require('./_descriptors'); 3492var SPECIES = require('./_wks')('species'); 3493 3494module.exports = function (KEY) { 3495 var C = global[KEY]; 3496 if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { 3497 configurable: true, 3498 get: function () { return this; } 3499 }); 3500}; 3501 3502},{"./_descriptors":35,"./_global":47,"./_object-dp":78,"./_wks":135}],107:[function(require,module,exports){ 3503var def = require('./_object-dp').f; 3504var has = require('./_has'); 3505var TAG = require('./_wks')('toStringTag'); 3506 3507module.exports = function (it, tag, stat) { 3508 if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); 3509}; 3510 3511},{"./_has":48,"./_object-dp":78,"./_wks":135}],108:[function(require,module,exports){ 3512var shared = require('./_shared')('keys'); 3513var uid = require('./_uid'); 3514module.exports = function (key) {
vendor: 8,817 bytes, lines 3515-3769
3515 return shared[key] || (shared[key] = uid(key)); 3516}; 3517 3518},{"./_shared":109,"./_uid":130}],109:[function(require,module,exports){ 3519var core = require('./_core'); 3520var global = require('./_global'); 3521var SHARED = '__core-js_shared__'; 3522var store = global[SHARED] || (global[SHARED] = {}); 3523 3524(module.exports = function (key, value) { 3525 return store[key] || (store[key] = value !== undefined ? value : {}); 3526})('versions', []).push({ 3527 version: core.version, 3528 mode: require('./_library') ? 'pure' : 'global', 3529 copyright: '© 2020 Denis Pushkarev (zloirock.ru)' 3530}); 3531 3532},{"./_core":29,"./_global":47,"./_library":66}],110:[function(require,module,exports){ 3533// 7.3.20 SpeciesConstructor(O, defaultConstructor) 3534var anObject = require('./_an-object'); 3535var aFunction = require('./_a-function'); 3536var SPECIES = require('./_wks')('species'); 3537module.exports = function (O, D) { 3538 var C = anObject(O).constructor; 3539 var S; 3540 return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); 3541}; 3542 3543},{"./_a-function":8,"./_an-object":13,"./_wks":135}],111:[function(require,module,exports){ 3544'use strict'; 3545var fails = require('./_fails'); 3546 3547module.exports = function (method, arg) { 3548 return !!method && fails(function () { 3549 // eslint-disable-next-line no-useless-call 3550 arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); 3551 }); 3552}; 3553 3554},{"./_fails":41}],112:[function(require,module,exports){ 3555var toInteger = require('./_to-integer'); 3556var defined = require('./_defined'); 3557// true -> String#at 3558// false -> String#codePointAt 3559module.exports = function (TO_STRING) { 3560 return function (that, pos) { 3561 var s = String(defined(that)); 3562 var i = toInteger(pos); 3563 var l = s.length; 3564 var a, b; 3565 if (i < 0 || i >= l) return TO_STRING ? '' : undefined; 3566 a = s.charCodeAt(i); 3567 return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff 3568 ? TO_STRING ? s.charAt(i) : a 3569 : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; 3570 }; 3571}; 3572 3573},{"./_defined":34,"./_to-integer":122}],113:[function(require,module,exports){ 3574// helper for String#{startsWith, endsWith, includes} 3575var isRegExp = require('./_is-regexp'); 3576var defined = require('./_defined'); 3577 3578module.exports = function (that, searchString, NAME) { 3579 if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); 3580 return String(defined(that)); 3581}; 3582 3583},{"./_defined":34,"./_is-regexp":59}],114:[function(require,module,exports){ 3584var $export = require('./_export'); 3585var fails = require('./_fails'); 3586var defined = require('./_defined'); 3587var quot = /"/g; 3588// B.2.3.2.1 CreateHTML(string, tag, attribute, value) 3589var createHTML = function (string, tag, attribute, value) { 3590 var S = String(defined(string)); 3591 var p1 = '<' + tag; 3592 if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; 3593 return p1 + '>' + S + '</' + tag + '>'; 3594}; 3595module.exports = function (NAME, exec) { 3596 var O = {}; 3597 O[NAME] = exec(createHTML); 3598 $export($export.P + $export.F * fails(function () { 3599 var test = ''[NAME]('"'); 3600 return test !== test.toLowerCase() || test.split('"').length > 3; 3601 }), 'String', O); 3602}; 3603 3604},{"./_defined":34,"./_export":39,"./_fails":41}],115:[function(require,module,exports){ 3605// https://github.com/tc39/proposal-string-pad-start-end 3606var toLength = require('./_to-length'); 3607var repeat = require('./_string-repeat'); 3608var defined = require('./_defined'); 3609 3610module.exports = function (that, maxLength, fillString, left) { 3611 var S = String(defined(that)); 3612 var stringLength = S.length; 3613 var fillStr = fillString === undefined ? ' ' : String(fillString); 3614 var intMaxLength = toLength(maxLength); 3615 if (intMaxLength <= stringLength || fillStr == '') return S; 3616 var fillLen = intMaxLength - stringLength; 3617 var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); 3618 if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); 3619 return left ? stringFiller + S : S + stringFiller; 3620}; 3621 3622},{"./_defined":34,"./_string-repeat":116,"./_to-length":124}],116:[function(require,module,exports){ 3623'use strict'; 3624var toInteger = require('./_to-integer'); 3625var defined = require('./_defined'); 3626 3627module.exports = function repeat(count) { 3628 var str = String(defined(this)); 3629 var res = ''; 3630 var n = toInteger(count); 3631 if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); 3632 for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; 3633 return res; 3634}; 3635 3636},{"./_defined":34,"./_to-integer":122}],117:[function(require,module,exports){ 3637var $export = require('./_export'); 3638var defined = require('./_defined'); 3639var fails = require('./_fails'); 3640var spaces = require('./_string-ws'); 3641var space = '[' + spaces + ']'; 3642var non = '\u200b\u0085'; 3643var ltrim = RegExp('^' + space + space + '*'); 3644var rtrim = RegExp(space + space + '*$'); 3645 3646var exporter = function (KEY, exec, ALIAS) { 3647 var exp = {}; 3648 var FORCE = fails(function () { 3649 return !!spaces[KEY]() || non[KEY]() != non; 3650 }); 3651 var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; 3652 if (ALIAS) exp[ALIAS] = fn; 3653 $export($export.P + $export.F * FORCE, 'String', exp); 3654}; 3655 3656// 1 -> String#trimLeft 3657// 2 -> String#trimRight 3658// 3 -> String#trim 3659var trim = exporter.trim = function (string, TYPE) { 3660 string = String(defined(string)); 3661 if (TYPE & 1) string = string.replace(ltrim, ''); 3662 if (TYPE & 2) string = string.replace(rtrim, ''); 3663 return string; 3664}; 3665 3666module.exports = exporter; 3667 3668},{"./_defined":34,"./_export":39,"./_fails":41,"./_string-ws":118}],118:[function(require,module,exports){ 3669module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + 3670 '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 3671 3672},{}],119:[function(require,module,exports){ 3673var ctx = require('./_ctx'); 3674var invoke = require('./_invoke'); 3675var html = require('./_html'); 3676var cel = require('./_dom-create'); 3677var global = require('./_global'); 3678var process = global.process; 3679var setTask = global.setImmediate; 3680var clearTask = global.clearImmediate; 3681var MessageChannel = global.MessageChannel; 3682var Dispatch = global.Dispatch; 3683var counter = 0; 3684var queue = {}; 3685var ONREADYSTATECHANGE = 'onreadystatechange'; 3686var defer, channel, port; 3687var run = function () { 3688 var id = +this; 3689 // eslint-disable-next-line no-prototype-builtins 3690 if (queue.hasOwnProperty(id)) { 3691 var fn = queue[id]; 3692 delete queue[id]; 3693 fn(); 3694 } 3695}; 3696var listener = function (event) { 3697 run.call(event.data); 3698}; 3699// Node.js 0.9+ & IE10+ has setImmediate, otherwise: 3700if (!setTask || !clearTask) { 3701 setTask = function setImmediate(fn) { 3702 var args = []; 3703 var i = 1; 3704 while (arguments.length > i) args.push(arguments[i++]); 3705 queue[++counter] = function () { 3706 // eslint-disable-next-line no-new-func 3707 invoke(typeof fn == 'function' ? fn : Function(fn), args); 3708 }; 3709 defer(counter); 3710 return counter; 3711 }; 3712 clearTask = function clearImmediate(id) { 3713 delete queue[id]; 3714 }; 3715 // Node.js 0.8- 3716 if (require('./_cof')(process) == 'process') { 3717 defer = function (id) { 3718 process.nextTick(ctx(run, id, 1)); 3719 }; 3720 // Sphere (JS game engine) Dispatch API 3721 } else if (Dispatch && Dispatch.now) { 3722 defer = function (id) { 3723 Dispatch.now(ctx(run, id, 1)); 3724 }; 3725 // Browsers with MessageChannel, includes WebWorkers 3726 } else if (MessageChannel) { 3727 channel = new MessageChannel(); 3728 port = channel.port2; 3729 channel.port1.onmessage = listener; 3730 defer = ctx(port.postMessage, port, 1); 3731 // Browsers with postMessage, skip WebWorkers 3732 // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' 3733 } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { 3734 defer = function (id) { 3735 global.postMessage(id + '', '*'); 3736 }; 3737 global.addEventListener('message', listener, false); 3738 // IE8- 3739 } else if (ONREADYSTATECHANGE in cel('script')) { 3740 defer = function (id) { 3741 html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { 3742 html.removeChild(this); 3743 run.call(id); 3744 }; 3745 }; 3746 // Rest old browsers 3747 } else { 3748 defer = function (id) { 3749 setTimeout(ctx(run, id, 1), 0); 3750 }; 3751 } 3752} 3753module.exports = { 3754 set: setTask, 3755 clear: clearTask 3756}; 3757 3758},{"./_cof":24,"./_ctx":31,"./_dom-create":36,"./_global":47,"./_html":50,"./_invoke":53}],120:[function(require,module,exports){ 3759var toInteger = require('./_to-integer'); 3760var max = Math.max; 3761var min = Math.min; 3762module.exports = function (index, length) { 3763 index = toInteger(index); 3764 return index < 0 ? max(index + length, 0) : min(index, length); 3765}; 3766 3767},{"./_to-integer":122}],121:[function(require,module,exports){ 3768// https://tc39.github.io/ecma262/#sec-toindex 3769var toInteger = require('./_to-integer');
3770var toLength = require('./_to-length'); 3771module.exports = function (it) { 3772 if (it === undefined) return 0; 3773 var number = toInteger(it); 3774 var length = toLength(number); 3775 if (number !== length) throw RangeError('Wrong length!'); 3776 return length; 3777}; 3778 3779},{"./_to-integer":122,"./_to-length":124}],122:[function(require,module,exports){ 3780// 7.1.4 ToInteger 3781var ceil = Math.ceil; 3782var floor = Math.floor; 3783module.exports = function (it) { 3784 return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); 3785}; 3786 3787},{}],123:[function(require,module,exports){ 3788// to indexed object, toObject with fallback for non-array-like ES3 strings 3789var IObject = require('./_iobject'); 3790var defined = require('./_defined'); 3791module.exports = function (it) { 3792 return IObject(defined(it)); 3793}; 3794 3795},{"./_defined":34,"./_iobject":54}],124:[function(require,module,exports){ 3796// 7.1.15 ToLength 3797var toInteger = require('./_to-integer'); 3798var min = Math.min; 3799module.exports = function (it) { 3800 return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 3801}; 3802 3803},{"./_to-integer":122}],125:[function(require,module,exports){ 3804// 7.1.13 ToObject(argument) 3805var defined = require('./_defined'); 3806module.exports = function (it) { 3807 return Object(defined(it)); 3808}; 3809 3810},{"./_defined":34}],126:[function(require,module,exports){ 3811// 7.1.1 ToPrimitive(input [, PreferredType]) 3812var isObject = require('./_is-object'); 3813// instead of the ES6 spec version, we didn't implement @@toPrimitive case 3814// and the second argument - flag - preferred type is a string 3815module.exports = function (it, S) { 3816 if (!isObject(it)) return it; 3817 var fn, val; 3818 if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 3819 if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; 3820 if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; 3821 throw TypeError("Can't convert object to primitive value"); 3822}; 3823 3824},{"./_is-object":58}],127:[function(require,module,exports){ 3825'use strict'; 3826if (require('./_descriptors')) { 3827 var LIBRARY = require('./_library'); 3828 var global = require('./_global'); 3829 var fails = require('./_fails'); 3830 var $export = require('./_export'); 3831 var $typed = require('./_typed'); 3832 var $buffer = require('./_typed-buffer'); 3833 var ctx = require('./_ctx'); 3834 var anInstance = require('./_an-instance'); 3835 var propertyDesc = require('./_property-desc'); 3836 var hide = require('./_hide'); 3837 var redefineAll = require('./_redefine-all'); 3838 var toInteger = require('./_to-integer'); 3839 var toLength = require('./_to-length'); 3840 var toIndex = require('./_to-index'); 3841 var toAbsoluteIndex = require('./_to-absolute-index'); 3842 var toPrimitive = require('./_to-primitive'); 3843 var has = require('./_has'); 3844 var classof = require('./_classof'); 3845 var isObject = require('./_is-object'); 3846 var toObject = require('./_to-object'); 3847 var isArrayIter = require('./_is-array-iter'); 3848 var create = require('./_object-create'); 3849 var getPrototypeOf = require('./_object-gpo'); 3850 var gOPN = require('./_object-gopn').f; 3851 var getIterFn = require('./core.get-iterator-method'); 3852 var uid = require('./_uid'); 3853 var wks = require('./_wks'); 3854 var createArrayMethod = require('./_array-methods'); 3855 var createArrayIncludes = require('./_array-includes'); 3856 var speciesConstructor = require('./_species-constructor'); 3857 var ArrayIterators = require('./es6.array.iterator'); 3858 var Iterators = require('./_iterators'); 3859 var $iterDetect = require('./_iter-detect'); 3860 var setSpecies = require('./_set-species'); 3861 var arrayFill = require('./_array-fill'); 3862 var arrayCopyWithin = require('./_array-copy-within'); 3863 var $DP = require('./_object-dp'); 3864 var $GOPD = require('./_object-gopd'
vendor: 8,586 bytes, lines 3864-4092
3864); 3865 var dP = $DP.f; 3866 var gOPD = $GOPD.f; 3867 var RangeError = global.RangeError; 3868 var TypeError = global.TypeError; 3869 var Uint8Array = global.Uint8Array; 3870 var ARRAY_BUFFER = 'ArrayBuffer'; 3871 var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; 3872 var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; 3873 var PROTOTYPE = 'prototype'; 3874 var ArrayProto = Array[PROTOTYPE]; 3875 var $ArrayBuffer = $buffer.ArrayBuffer; 3876 var $DataView = $buffer.DataView; 3877 var arrayForEach = createArrayMethod(0); 3878 var arrayFilter = createArrayMethod(2); 3879 var arraySome = createArrayMethod(3); 3880 var arrayEvery = createArrayMethod(4); 3881 var arrayFind = createArrayMethod(5); 3882 var arrayFindIndex = createArrayMethod(6); 3883 var arrayIncludes = createArrayIncludes(true); 3884 var arrayIndexOf = createArrayIncludes(false); 3885 var arrayValues = ArrayIterators.values; 3886 var arrayKeys = ArrayIterators.keys; 3887 var arrayEntries = ArrayIterators.entries; 3888 var arrayLastIndexOf = ArrayProto.lastIndexOf; 3889 var arrayReduce = ArrayProto.reduce; 3890 var arrayReduceRight = ArrayProto.reduceRight; 3891 var arrayJoin = ArrayProto.join; 3892 var arraySort = ArrayProto.sort; 3893 var arraySlice = ArrayProto.slice; 3894 var arrayToString = ArrayProto.toString; 3895 var arrayToLocaleString = ArrayProto.toLocaleString; 3896 var ITERATOR = wks('iterator'); 3897 var TAG = wks('toStringTag'); 3898 var TYPED_CONSTRUCTOR = uid('typed_constructor'); 3899 var DEF_CONSTRUCTOR = uid('def_constructor'); 3900 var ALL_CONSTRUCTORS = $typed.CONSTR; 3901 var TYPED_ARRAY = $typed.TYPED; 3902 var VIEW = $typed.VIEW; 3903 var WRONG_LENGTH = 'Wrong length!'; 3904 3905 var $map = createArrayMethod(1, function (O, length) { 3906 return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); 3907 }); 3908 3909 var LITTLE_ENDIAN = fails(function () { 3910 // eslint-disable-next-line no-undef 3911 return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; 3912 }); 3913 3914 var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { 3915 new Uint8Array(1).set({}); 3916 }); 3917 3918 var toOffset = function (it, BYTES) { 3919 var offset = toInteger(it); 3920 if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); 3921 return offset; 3922 }; 3923 3924 var validate = function (it) { 3925 if (isObject(it) && TYPED_ARRAY in it) return it; 3926 throw TypeError(it + ' is not a typed array!'); 3927 }; 3928 3929 var allocate = function (C, length) { 3930 if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { 3931 throw TypeError('It is not a typed array constructor!'); 3932 } return new C(length); 3933 }; 3934 3935 var speciesFromList = function (O, list) { 3936 return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); 3937 }; 3938 3939 var fromList = function (C, list) { 3940 var index = 0; 3941 var length = list.length; 3942 var result = allocate(C, length); 3943 while (length > index) result[index] = list[index++]; 3944 return result; 3945 }; 3946 3947 var addGetter = function (it, key, internal) { 3948 dP(it, key, { get: function () { return this._d[internal]; } }); 3949 }; 3950 3951 var $from = function from(source /* , mapfn, thisArg */) { 3952 var O = toObject(source); 3953 var aLen = arguments.length; 3954 var mapfn = aLen > 1 ? arguments[1] : undefined; 3955 var mapping = mapfn !== undefined; 3956 var iterFn = getIterFn(O); 3957 var i, length, values, result, step, iterator; 3958 if (iterFn != undefined && !isArrayIter(iterFn)) { 3959 for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { 3960 values.push(step.value); 3961 } O = values; 3962 } 3963 if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); 3964 for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { 3965 result[i] = mapping ? mapfn(O[i], i) : O[i]; 3966 } 3967 return result; 3968 }; 3969 3970 var $of = function of(/* ...items */) { 3971 var index = 0; 3972 var length = arguments.length; 3973 var result = allocate(this, length); 3974 while (length > index) result[index] = arguments[index++]; 3975 return result; 3976 }; 3977 3978 // iOS Safari 6.x fails here 3979 var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); 3980 3981 var $toLocaleString = function toLocaleString() { 3982 return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); 3983 }; 3984 3985 var proto = { 3986 copyWithin: function copyWithin(target, start /* , end */) { 3987 return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); 3988 }, 3989 every: function every(callbackfn /* , thisArg */) { 3990 return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 3991 }, 3992 fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars 3993 return arrayFill.apply(validate(this), arguments); 3994 }, 3995 filter: function filter(callbackfn /* , thisArg */) { 3996 return speciesFromList(this, arrayFilter(validate(this), callbackfn, 3997 arguments.length > 1 ? arguments[1] : undefined)); 3998 }, 3999 find: function find(predicate /* , thisArg */) { 4000 return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 4001 }, 4002 findIndex: function findIndex(predicate /* , thisArg */) { 4003 return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 4004 }, 4005 forEach: function forEach(callbackfn /* , thisArg */) { 4006 arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4007 }, 4008 indexOf: function indexOf(searchElement /* , fromIndex */) { 4009 return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 4010 }, 4011 includes: function includes(searchElement /* , fromIndex */) { 4012 return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 4013 }, 4014 join: function join(separator) { // eslint-disable-line no-unused-vars 4015 return arrayJoin.apply(validate(this), arguments); 4016 }, 4017 lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars 4018 return arrayLastIndexOf.apply(validate(this), arguments); 4019 }, 4020 map: function map(mapfn /* , thisArg */) { 4021 return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); 4022 }, 4023 reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars 4024 return arrayReduce.apply(validate(this), arguments); 4025 }, 4026 reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars 4027 return arrayReduceRight.apply(validate(this), arguments); 4028 }, 4029 reverse: function reverse() { 4030 var that = this; 4031 var length = validate(that).length; 4032 var middle = Math.floor(length / 2); 4033 var index = 0; 4034 var value; 4035 while (index < middle) { 4036 value = that[index]; 4037 that[index++] = that[--length]; 4038 that[length] = value; 4039 } return that; 4040 }, 4041 some: function some(callbackfn /* , thisArg */) { 4042 return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4043 }, 4044 sort: function sort(comparefn) { 4045 return arraySort.call(validate(this), comparefn); 4046 }, 4047 subarray: function subarray(begin, end) { 4048 var O = validate(this); 4049 var length = O.length; 4050 var $begin = toAbsoluteIndex(begin, length); 4051 return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( 4052 O.buffer, 4053 O.byteOffset + $begin * O.BYTES_PER_ELEMENT, 4054 toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) 4055 ); 4056 } 4057 }; 4058 4059 var $slice = function slice(start, end) { 4060 return speciesFromList(this, arraySlice.call(validate(this), start, end)); 4061 }; 4062 4063 var $set = function set(arrayLike /* , offset */) { 4064 validate(this); 4065 var offset = toOffset(arguments[1], 1); 4066 var length = this.length; 4067 var src = toObject(arrayLike); 4068 var len = toLength(src.length); 4069 var index = 0; 4070 if (len + offset > length) throw RangeError(WRONG_LENGTH); 4071 while (index < len) this[offset + index] = src[index++]; 4072 }; 4073 4074 var $iterators = { 4075 entries: function entries() { 4076 return arrayEntries.call(validate(this)); 4077 }, 4078 keys: function keys() { 4079 return arrayKeys.call(validate(this)); 4080 }, 4081 values: function values() { 4082 return arrayValues.call(validate(this)); 4083 } 4084 }; 4085 4086 var isTAIndex = function (target, key) { 4087 return isObject(target) 4088 && target[TYPED_ARRAY] 4089 && typeof key != 'symbol' 4090 && key in target 4091 && String(+key) == String(key); 4092 };
vendor: 7,985 bytes, lines 4093-4304
4093 var $getDesc = function getOwnPropertyDescriptor(target, key) { 4094 return isTAIndex(target, key = toPrimitive(key, true)) 4095 ? propertyDesc(2, target[key]) 4096 : gOPD(target, key); 4097 }; 4098 var $setDesc = function defineProperty(target, key, desc) { 4099 if (isTAIndex(target, key = toPrimitive(key, true)) 4100 && isObject(desc) 4101 && has(desc, 'value') 4102 && !has(desc, 'get') 4103 && !has(desc, 'set') 4104 // TODO: add validation descriptor w/o calling accessors 4105 && !desc.configurable 4106 && (!has(desc, 'writable') || desc.writable) 4107 && (!has(desc, 'enumerable') || desc.enumerable) 4108 ) { 4109 target[key] = desc.value; 4110 return target; 4111 } return dP(target, key, desc); 4112 }; 4113 4114 if (!ALL_CONSTRUCTORS) { 4115 $GOPD.f = $getDesc; 4116 $DP.f = $setDesc; 4117 } 4118 4119 $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { 4120 getOwnPropertyDescriptor: $getDesc, 4121 defineProperty: $setDesc 4122 }); 4123 4124 if (fails(function () { arrayToString.call({}); })) { 4125 arrayToString = arrayToLocaleString = function toString() { 4126 return arrayJoin.call(this); 4127 }; 4128 } 4129 4130 var $TypedArrayPrototype$ = redefineAll({}, proto); 4131 redefineAll($TypedArrayPrototype$, $iterators); 4132 hide($TypedArrayPrototype$, ITERATOR, $iterators.values); 4133 redefineAll($TypedArrayPrototype$, { 4134 slice: $slice, 4135 set: $set, 4136 constructor: function () { /* noop */ }, 4137 toString: arrayToString, 4138 toLocaleString: $toLocaleString 4139 }); 4140 addGetter($TypedArrayPrototype$, 'buffer', 'b'); 4141 addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); 4142 addGetter($TypedArrayPrototype$, 'byteLength', 'l'); 4143 addGetter($TypedArrayPrototype$, 'length', 'e'); 4144 dP($TypedArrayPrototype$, TAG, { 4145 get: function () { return this[TYPED_ARRAY]; } 4146 }); 4147 4148 // eslint-disable-next-line max-statements 4149 module.exports = function (KEY, BYTES, wrapper, CLAMPED) { 4150 CLAMPED = !!CLAMPED; 4151 var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; 4152 var GETTER = 'get' + KEY; 4153 var SETTER = 'set' + KEY; 4154 var TypedArray = global[NAME]; 4155 var Base = TypedArray || {}; 4156 var TAC = TypedArray && getPrototypeOf(TypedArray); 4157 var FORCED = !TypedArray || !$typed.ABV; 4158 var O = {}; 4159 var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; 4160 var getter = function (that, index) { 4161 var data = that._d; 4162 return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); 4163 }; 4164 var setter = function (that, index, value) { 4165 var data = that._d; 4166 if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; 4167 data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); 4168 }; 4169 var addElement = function (that, index) { 4170 dP(that, index, { 4171 get: function () { 4172 return getter(this, index); 4173 }, 4174 set: function (value) { 4175 return setter(this, index, value); 4176 }, 4177 enumerable: true 4178 }); 4179 }; 4180 if (FORCED) { 4181 TypedArray = wrapper(function (that, data, $offset, $length) { 4182 anInstance(that, TypedArray, NAME, '_d'); 4183 var index = 0; 4184 var offset = 0; 4185 var buffer, byteLength, length, klass; 4186 if (!isObject(data)) { 4187 length = toIndex(data); 4188 byteLength = length * BYTES; 4189 buffer = new $ArrayBuffer(byteLength); 4190 } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { 4191 buffer = data; 4192 offset = toOffset($offset, BYTES); 4193 var $len = data.byteLength; 4194 if ($length === undefined) { 4195 if ($len % BYTES) throw RangeError(WRONG_LENGTH); 4196 byteLength = $len - offset; 4197 if (byteLength < 0) throw RangeError(WRONG_LENGTH); 4198 } else { 4199 byteLength = toLength($length) * BYTES; 4200 if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); 4201 } 4202 length = byteLength / BYTES; 4203 } else if (TYPED_ARRAY in data) { 4204 return fromList(TypedArray, data); 4205 } else { 4206 return $from.call(TypedArray, data); 4207 } 4208 hide(that, '_d', { 4209 b: buffer, 4210 o: offset, 4211 l: byteLength, 4212 e: length, 4213 v: new $DataView(buffer) 4214 }); 4215 while (index < length) addElement(that, index++); 4216 }); 4217 TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); 4218 hide(TypedArrayPrototype, 'constructor', TypedArray); 4219 } else if (!fails(function () { 4220 TypedArray(1); 4221 }) || !fails(function () { 4222 new TypedArray(-1); // eslint-disable-line no-new 4223 }) || !$iterDetect(function (iter) { 4224 new TypedArray(); // eslint-disable-line no-new 4225 new TypedArray(null); // eslint-disable-line no-new 4226 new TypedArray(1.5); // eslint-disable-line no-new 4227 new TypedArray(iter); // eslint-disable-line no-new 4228 }, true)) { 4229 TypedArray = wrapper(function (that, data, $offset, $length) { 4230 anInstance(that, TypedArray, NAME); 4231 var klass; 4232 // `ws` module bug, temporarily remove validation length for Uint8Array 4233 // https://github.com/websockets/ws/pull/645 4234 if (!isObject(data)) return new Base(toIndex(data)); 4235 if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { 4236 return $length !== undefined 4237 ? new Base(data, toOffset($offset, BYTES), $length) 4238 : $offset !== undefined 4239 ? new Base(data, toOffset($offset, BYTES)) 4240 : new Base(data); 4241 } 4242 if (TYPED_ARRAY in data) return fromList(TypedArray, data); 4243 return $from.call(TypedArray, data); 4244 }); 4245 arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { 4246 if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); 4247 }); 4248 TypedArray[PROTOTYPE] = TypedArrayPrototype; 4249 if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; 4250 } 4251 var $nativeIterator = TypedArrayPrototype[ITERATOR]; 4252 var CORRECT_ITER_NAME = !!$nativeIterator 4253 && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); 4254 var $iterator = $iterators.values; 4255 hide(TypedArray, TYPED_CONSTRUCTOR, true); 4256 hide(TypedArrayPrototype, TYPED_ARRAY, NAME); 4257 hide(TypedArrayPrototype, VIEW, true); 4258 hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); 4259 4260 if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { 4261 dP(TypedArrayPrototype, TAG, { 4262 get: function () { return NAME; } 4263 }); 4264 } 4265 4266 O[NAME] = TypedArray; 4267 4268 $export($export.G + $export.W + $export.F * (TypedArray != Base), O); 4269 4270 $export($export.S, NAME, { 4271 BYTES_PER_ELEMENT: BYTES 4272 }); 4273 4274 $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { 4275 from: $from, 4276 of: $of 4277 }); 4278 4279 if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); 4280 4281 $export($export.P, NAME, proto); 4282 4283 setSpecies(NAME); 4284 4285 $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); 4286 4287 $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); 4288 4289 if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; 4290 4291 $export($export.P + $export.F * fails(function () { 4292 new TypedArray(1).slice(); 4293 }), NAME, { slice: $slice }); 4294 4295 $export($export.P + $export.F * (fails(function () { 4296 return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); 4297 }) || !fails(function () { 4298 TypedArrayPrototype.toLocaleString.call([1, 2]); 4299 })), NAME, { toLocaleString: $toLocaleString }); 4300 4301 Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; 4302 if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); 4303 }; 4304} else module.exports = function () { /* empty */ };
vendor: 3,392 bytes, lines 4305-4392
4305 4306},{"./_an-instance":12,"./_array-copy-within":14,"./_array-fill":15,"./_array-includes":17,"./_array-methods":18,"./_classof":23,"./_ctx":31,"./_descriptors":35,"./_export":39,"./_fails":41,"./_global":47,"./_has":48,"./_hide":49,"./_is-array-iter":55,"./_is-object":58,"./_iter-detect":63,"./_iterators":65,"./_library":66,"./_object-create":77,"./_object-dp":78,"./_object-gopd":81,"./_object-gopn":83,"./_object-gpo":85,"./_property-desc":96,"./_redefine-all":97,"./_set-species":106,"./_species-constructor":110,"./_to-absolute-index":120,"./_to-index":121,"./_to-integer":122,"./_to-length":124,"./_to-object":125,"./_to-primitive":126,"./_typed":129,"./_typed-buffer":128,"./_uid":130,"./_wks":135,"./core.get-iterator-method":136,"./es6.array.iterator":148}],128:[function(require,module,exports){ 4307'use strict'; 4308var global = require('./_global'); 4309var DESCRIPTORS = require('./_descriptors'); 4310var LIBRARY = require('./_library'); 4311var $typed = require('./_typed'); 4312var hide = require('./_hide'); 4313var redefineAll = require('./_redefine-all'); 4314var fails = require('./_fails'); 4315var anInstance = require('./_an-instance'); 4316var toInteger = require('./_to-integer'); 4317var toLength = require('./_to-length'); 4318var toIndex = require('./_to-index'); 4319var gOPN = require('./_object-gopn').f; 4320var dP = require('./_object-dp').f; 4321var arrayFill = require('./_array-fill'); 4322var setToStringTag = require('./_set-to-string-tag'); 4323var ARRAY_BUFFER = 'ArrayBuffer'; 4324var DATA_VIEW = 'DataView'; 4325var PROTOTYPE = 'prototype'; 4326var WRONG_LENGTH = 'Wrong length!'; 4327var WRONG_INDEX = 'Wrong index!'; 4328var $ArrayBuffer = global[ARRAY_BUFFER]; 4329var $DataView = global[DATA_VIEW]; 4330var Math = global.Math; 4331var RangeError = global.RangeError; 4332// eslint-disable-next-line no-shadow-restricted-names 4333var Infinity = global.Infinity; 4334var BaseBuffer = $ArrayBuffer; 4335var abs = Math.abs; 4336var pow = Math.pow; 4337var floor = Math.floor; 4338var log = Math.log; 4339var LN2 = Math.LN2; 4340var BUFFER = 'buffer'; 4341var BYTE_LENGTH = 'byteLength'; 4342var BYTE_OFFSET = 'byteOffset'; 4343var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; 4344var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; 4345var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; 4346 4347// IEEE754 conversions based on https://github.com/feross/ieee754 4348function packIEEE754(value, mLen, nBytes) { 4349 var buffer = new Array(nBytes); 4350 var eLen = nBytes * 8 - mLen - 1; 4351 var eMax = (1 << eLen) - 1; 4352 var eBias = eMax >> 1; 4353 var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; 4354 var i = 0; 4355 var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; 4356 var e, m, c; 4357 value = abs(value); 4358 // eslint-disable-next-line no-self-compare 4359 if (value != value || value === Infinity) { 4360 // eslint-disable-next-line no-self-compare 4361 m = value != value ? 1 : 0; 4362 e = eMax; 4363 } else { 4364 e = floor(log(value) / LN2); 4365 if (value * (c = pow(2, -e)) < 1) { 4366 e--; 4367 c *= 2; 4368 } 4369 if (e + eBias >= 1) { 4370 value += rt / c; 4371 } else { 4372 value += rt * pow(2, 1 - eBias); 4373 } 4374 if (value * c >= 2) { 4375 e++; 4376 c /= 2; 4377 } 4378 if (e + eBias >= eMax) { 4379 m = 0; 4380 e = eMax; 4381 } else if (e + eBias >= 1) { 4382 m = (value * c - 1) * pow(2, mLen); 4383 e = e + eBias; 4384 } else { 4385 m = value * pow(2, eBias - 1) * pow(2, mLen); 4386 e = 0; 4387 } 4388 } 4389 for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); 4390 e = e << mLen | m; 4391 eLen += mLen; 4392 for (; eLen > 0;
vendor: 6,964 bytes, lines 4392-4584
4392 buffer[i++] = e & 255, e /= 256, eLen -= 8); 4393 buffer[--i] |= s * 128; 4394 return buffer; 4395} 4396function unpackIEEE754(buffer, mLen, nBytes) { 4397 var eLen = nBytes * 8 - mLen - 1; 4398 var eMax = (1 << eLen) - 1; 4399 var eBias = eMax >> 1; 4400 var nBits = eLen - 7; 4401 var i = nBytes - 1; 4402 var s = buffer[i--]; 4403 var e = s & 127; 4404 var m; 4405 s >>= 7; 4406 for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); 4407 m = e & (1 << -nBits) - 1; 4408 e >>= -nBits; 4409 nBits += mLen; 4410 for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); 4411 if (e === 0) { 4412 e = 1 - eBias; 4413 } else if (e === eMax) { 4414 return m ? NaN : s ? -Infinity : Infinity; 4415 } else { 4416 m = m + pow(2, mLen); 4417 e = e - eBias; 4418 } return (s ? -1 : 1) * m * pow(2, e - mLen); 4419} 4420 4421function unpackI32(bytes) { 4422 return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; 4423} 4424function packI8(it) { 4425 return [it & 0xff]; 4426} 4427function packI16(it) { 4428 return [it & 0xff, it >> 8 & 0xff]; 4429} 4430function packI32(it) { 4431 return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; 4432} 4433function packF64(it) { 4434 return packIEEE754(it, 52, 8); 4435} 4436function packF32(it) { 4437 return packIEEE754(it, 23, 4); 4438} 4439 4440function addGetter(C, key, internal) { 4441 dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); 4442} 4443 4444function get(view, bytes, index, isLittleEndian) { 4445 var numIndex = +index; 4446 var intIndex = toIndex(numIndex); 4447 if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); 4448 var store = view[$BUFFER]._b; 4449 var start = intIndex + view[$OFFSET]; 4450 var pack = store.slice(start, start + bytes); 4451 return isLittleEndian ? pack : pack.reverse(); 4452} 4453function set(view, bytes, index, conversion, value, isLittleEndian) { 4454 var numIndex = +index; 4455 var intIndex = toIndex(numIndex); 4456 if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); 4457 var store = view[$BUFFER]._b; 4458 var start = intIndex + view[$OFFSET]; 4459 var pack = conversion(+value); 4460 for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; 4461} 4462 4463if (!$typed.ABV) { 4464 $ArrayBuffer = function ArrayBuffer(length) { 4465 anInstance(this, $ArrayBuffer, ARRAY_BUFFER); 4466 var byteLength = toIndex(length); 4467 this._b = arrayFill.call(new Array(byteLength), 0); 4468 this[$LENGTH] = byteLength; 4469 }; 4470 4471 $DataView = function DataView(buffer, byteOffset, byteLength) { 4472 anInstance(this, $DataView, DATA_VIEW); 4473 anInstance(buffer, $ArrayBuffer, DATA_VIEW); 4474 var bufferLength = buffer[$LENGTH]; 4475 var offset = toInteger(byteOffset); 4476 if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); 4477 byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); 4478 if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); 4479 this[$BUFFER] = buffer; 4480 this[$OFFSET] = offset; 4481 this[$LENGTH] = byteLength; 4482 }; 4483 4484 if (DESCRIPTORS) { 4485 addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); 4486 addGetter($DataView, BUFFER, '_b'); 4487 addGetter($DataView, BYTE_LENGTH, '_l'); 4488 addGetter($DataView, BYTE_OFFSET, '_o'); 4489 } 4490 4491 redefineAll($DataView[PROTOTYPE], { 4492 getInt8: function getInt8(byteOffset) { 4493 return get(this, 1, byteOffset)[0] << 24 >> 24; 4494 }, 4495 getUint8: function getUint8(byteOffset) { 4496 return get(this, 1, byteOffset)[0]; 4497 }, 4498 getInt16: function getInt16(byteOffset /* , littleEndian */) { 4499 var bytes = get(this, 2, byteOffset, arguments[1]); 4500 return (bytes[1] << 8 | bytes[0]) << 16 >> 16; 4501 }, 4502 getUint16: function getUint16(byteOffset /* , littleEndian */) { 4503 var bytes = get(this, 2, byteOffset, arguments[1]); 4504 return bytes[1] << 8 | bytes[0]; 4505 }, 4506 getInt32: function getInt32(byteOffset /* , littleEndian */) { 4507 return unpackI32(get(this, 4, byteOffset, arguments[1])); 4508 }, 4509 getUint32: function getUint32(byteOffset /* , littleEndian */) { 4510 return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; 4511 }, 4512 getFloat32: function getFloat32(byteOffset /* , littleEndian */) { 4513 return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); 4514 }, 4515 getFloat64: function getFloat64(byteOffset /* , littleEndian */) { 4516 return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); 4517 }, 4518 setInt8: function setInt8(byteOffset, value) { 4519 set(this, 1, byteOffset, packI8, value); 4520 }, 4521 setUint8: function setUint8(byteOffset, value) { 4522 set(this, 1, byteOffset, packI8, value); 4523 }, 4524 setInt16: function setInt16(byteOffset, value /* , littleEndian */) { 4525 set(this, 2, byteOffset, packI16, value, arguments[2]); 4526 }, 4527 setUint16: function setUint16(byteOffset, value /* , littleEndian */) { 4528 set(this, 2, byteOffset, packI16, value, arguments[2]); 4529 }, 4530 setInt32: function setInt32(byteOffset, value /* , littleEndian */) { 4531 set(this, 4, byteOffset, packI32, value, arguments[2]); 4532 }, 4533 setUint32: function setUint32(byteOffset, value /* , littleEndian */) { 4534 set(this, 4, byteOffset, packI32, value, arguments[2]); 4535 }, 4536 setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { 4537 set(this, 4, byteOffset, packF32, value, arguments[2]); 4538 }, 4539 setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { 4540 set(this, 8, byteOffset, packF64, value, arguments[2]); 4541 } 4542 }); 4543} else { 4544 if (!fails(function () { 4545 $ArrayBuffer(1); 4546 }) || !fails(function () { 4547 new $ArrayBuffer(-1); // eslint-disable-line no-new 4548 }) || fails(function () { 4549 new $ArrayBuffer(); // eslint-disable-line no-new 4550 new $ArrayBuffer(1.5); // eslint-disable-line no-new 4551 new $ArrayBuffer(NaN); // eslint-disable-line no-new 4552 return $ArrayBuffer.name != ARRAY_BUFFER; 4553 })) { 4554 $ArrayBuffer = function ArrayBuffer(length) { 4555 anInstance(this, $ArrayBuffer); 4556 return new BaseBuffer(toIndex(length)); 4557 }; 4558 var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; 4559 for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { 4560 if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); 4561 } 4562 if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; 4563 } 4564 // iOS Safari 7.x bug 4565 var view = new $DataView(new $ArrayBuffer(2)); 4566 var $setInt8 = $DataView[PROTOTYPE].setInt8; 4567 view.setInt8(0, 2147483648); 4568 view.setInt8(1, 2147483649); 4569 if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { 4570 setInt8: function setInt8(byteOffset, value) { 4571 $setInt8.call(this, byteOffset, value << 24 >> 24); 4572 }, 4573 setUint8: function setUint8(byteOffset, value) { 4574 $setInt8.call(this, byteOffset, value << 24 >> 24); 4575 } 4576 }, true); 4577} 4578setToStringTag($ArrayBuffer, ARRAY_BUFFER); 4579setToStringTag($DataView, DATA_VIEW); 4580hide($DataView[PROTOTYPE], $typed.VIEW, true); 4581exports[ARRAY_BUFFER] = $ArrayBuffer; 4582exports[DATA_VIEW] = $DataView; 4583 4584},{"./_an-instance":12,"./_array-fill":15,"./_descriptors":35,"./_fail
4584s":41,"./_global":47,"./_hide":49,"./_library":66,"./_object-dp":78,"./_object-gopn":83,"./_redefine-all":97,"./_set-to-string-tag":107,"./_to-index":121,"./_to-integer":122,"./_to-length":124,"./_typed":129}],129:[function(require,module,exports){ 4585var global = require('./_global'); 4586var hide = require('./_hide'); 4587var uid = require('./_uid'); 4588var TYPED = uid('typed_array'); 4589var VIEW = uid('view'); 4590var ABV = !!(global.ArrayBuffer && global.DataView); 4591var CONSTR = ABV; 4592var i = 0; 4593var l = 9; 4594var Typed; 4595 4596var TypedArrayConstructors = ( 4597 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' 4598).split(','); 4599 4600while (i < l) { 4601 if (Typed = global[TypedArrayConstructors[i++]]) { 4602 hide(Typed.prototype, TYPED, true); 4603 hide(Typed.prototype, VIEW, true); 4604 } else CONSTR = false; 4605} 4606 4607module.exports = { 4608 ABV: ABV, 4609 CONSTR: CONSTR, 4610 TYPED: TYPED, 4611 VIEW: VIEW 4612}; 4613 4614},{"./_global":47,"./_hide":49,"./_uid":130}],130:[function(require,module,exports){ 4615var id = 0; 4616var px = Math.random(); 4617module.exports = function (key) { 4618 return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); 4619}; 4620 4621},{}],131:[function(require,module,exports){ 4622var global = require('./_global'); 4623var navigator = global.navigator; 4624 4625module.exports = navigator && navigator.userAgent || ''; 4626 4627},{"./_global":47}],132:[function(require,module,exports){ 4628var isObject = require('./_is-object'); 4629module.exports = function (it, TYPE) { 4630 if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); 4631 return it; 4632}; 4633 4634},{"./_is-object":58}],133:[function(require,module,exports){ 4635var global = require('./_global'); 4636var core = require('./_core'); 4637var LIBRARY = require('./_library'); 4638var wksExt = require('./_wks-ext'); 4639var defineProperty = require('./_object-dp').f; 4640module.exports = function (name) { 4641 var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); 4642 if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); 4643}; 4644 4645},{"./_core":29,"./_global":47,"./_library":66,"./_object-dp":78,"./_wks-ext":134}],134:[function(require,module,exports){ 4646exports.f = require('./_wks'); 4647 4648},{"./_wks":135}],135:[function(require,module,exports){ 4649var store = require('./_shared')('wks'); 4650var uid = require('./_uid'); 4651var Symbol = require('./_global').Symbol; 4652var USE_SYMBOL = typeof Symbol == 'function'; 4653 4654var $exports = module.exports = function (name) { 4655 return store[name] || (store[name] = 4656 USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); 4657}; 4658 4659$exports.store = store; 4660 4661},{"./_global":47,"./_shared":109,"./_uid":130}],136:[function(require,module,exports){ 4662var classof = require('./_classof'); 4663var ITERATOR = require('./_wks')('iterator'); 4664var Iterators = require('./_iterators'); 4665module.exports = require('./_core').getIteratorMethod = function (it) { 4666 if (it != undefined) return it[ITERATOR] 4667 || it['@@iterator'] 4668 || Iterators[classof(it)]; 4669}; 4670 4671},{"./_classof":23,"./_core":29,"./_iterators":65,"./_wks":135}],137:[function(require,module,exports){ 4672// https://github.com/benjamingr/RexExp.escape 4673var $export = require('./_export'); 4674var $re = require('./_replacer')(/[\\^$*+?.()|[\]{}]/g, '\\$&'); 4675 4676$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } }); 4677 4678},{"./_export":39,"./_replacer":101}],138:[function(require,module,exports){ 4679// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) 4680var $export = require('./_export'); 4681 4682$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') }); 4683 4684require('./_add-to-unscopables')('copyWithin'); 4685 4686},{"./_add-to-unscopables":10,"./_array-copy-within":14,"./_export":39}],139:[function(require,module,exports){ 4687'use strict'; 4688var $export = require('./_export'); 4689var $every = require('./_array-methods')(4); 4690 4691$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', { 4692 // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) 4693 every: function every(callbackfn /* , thisArg */) { 4694 return $every(this, callbackfn, arguments[1]); 4695 } 4696}); 4697 4698},{"./_array-methods":18,"./_export":39,"./_strict-method":111}],140:[function(require,module,exports){ 4699// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)
4700var $export = require('./_export'); 4701 4702$export($export.P, 'Array', { fill: require('./_array-fill') }); 4703 4704require('./_add-to-unscopables')('fill'); 4705 4706},{"./_add-to-unscopables":10,"./_array-fill":15,"./_export":39}],141:[function(require,module,exports){ 4707'use strict'; 4708var $export = require('./_export'); 4709var $filter = require('./_array-methods')(2); 4710 4711$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', { 4712 // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) 4713 filter: function filter(callbackfn /* , thisArg */) { 4714 return $filter(this, callbackfn, arguments[1]); 4715 } 4716}); 4717 4718},{"./_array-methods":18,"./_export":39,"./_strict-method":111}],142:[function(require,module,exports){ 4719'use strict'; 4720// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) 4721var $export = require('./_export'); 4722var $find = require('./_array-methods')(6); 4723var KEY = 'findIndex'; 4724var forced = true; 4725// Shouldn't skip holes 4726if (KEY in []) Array(1)[KEY](function () { forced = false; }); 4727$export($export.P + $export.F * forced, 'Array', { 4728 findIndex: function findIndex(callbackfn /* , that = undefined */) { 4729 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4730 } 4731}); 4732require('./_add-to-unscopables')(KEY); 4733 4734},{"./_add-to-unscopables":10,"./_array-methods":18,"./_export":39}],143:[function(require,module,exports){ 4735'use strict'; 4736// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)
vendor: 5,173 bytes, lines 4737-4863
4737var $export = require('./_export'); 4738var $find = require('./_array-methods')(5); 4739var KEY = 'find'; 4740var forced = true; 4741// Shouldn't skip holes 4742if (KEY in []) Array(1)[KEY](function () { forced = false; }); 4743$export($export.P + $export.F * forced, 'Array', { 4744 find: function find(callbackfn /* , that = undefined */) { 4745 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 4746 } 4747}); 4748require('./_add-to-unscopables')(KEY); 4749 4750},{"./_add-to-unscopables":10,"./_array-methods":18,"./_export":39}],144:[function(require,module,exports){ 4751'use strict'; 4752var $export = require('./_export'); 4753var $forEach = require('./_array-methods')(0); 4754var STRICT = require('./_strict-method')([].forEach, true); 4755 4756$export($export.P + $export.F * !STRICT, 'Array', { 4757 // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) 4758 forEach: function forEach(callbackfn /* , thisArg */) { 4759 return $forEach(this, callbackfn, arguments[1]); 4760 } 4761}); 4762 4763},{"./_array-methods":18,"./_export":39,"./_strict-method":111}],145:[function(require,module,exports){ 4764'use strict'; 4765var ctx = require('./_ctx'); 4766var $export = require('./_export'); 4767var toObject = require('./_to-object'); 4768var call = require('./_iter-call'); 4769var isArrayIter = require('./_is-array-iter'); 4770var toLength = require('./_to-length'); 4771var createProperty = require('./_create-property'); 4772var getIterFn = require('./core.get-iterator-method'); 4773 4774$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', { 4775 // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) 4776 from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { 4777 var O = toObject(arrayLike); 4778 var C = typeof this == 'function' ? this : Array; 4779 var aLen = arguments.length; 4780 var mapfn = aLen > 1 ? arguments[1] : undefined; 4781 var mapping = mapfn !== undefined; 4782 var index = 0; 4783 var iterFn = getIterFn(O); 4784 var length, result, step, iterator; 4785 if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); 4786 // if object isn't iterable or it's array with default iterator - use simple case 4787 if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { 4788 for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { 4789 createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); 4790 } 4791 } else { 4792 length = toLength(O.length); 4793 for (result = new C(length); length > index; index++) { 4794 createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); 4795 } 4796 } 4797 result.length = index; 4798 return result; 4799 } 4800}); 4801 4802},{"./_create-property":30,"./_ctx":31,"./_export":39,"./_is-array-iter":55,"./_iter-call":60,"./_iter-detect":63,"./_to-length":124,"./_to-object":125,"./core.get-iterator-method":136}],146:[function(require,module,exports){ 4803'use strict'; 4804var $export = require('./_export'); 4805var $indexOf = require('./_array-includes')(false); 4806var $native = [].indexOf; 4807var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; 4808 4809$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', { 4810 // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) 4811 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { 4812 return NEGATIVE_ZERO 4813 // convert -0 to +0 4814 ? $native.apply(this, arguments) || 0 4815 : $indexOf(this, searchElement, arguments[1]); 4816 } 4817}); 4818 4819},{"./_array-includes":17,"./_export":39,"./_strict-method":111}],147:[function(require,module,exports){ 4820// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) 4821var $export = require('./_export'); 4822 4823$export($export.S, 'Array', { isArray: require('./_is-array') }); 4824 4825},{"./_export":39,"./_is-array":56}],148:[function(require,module,exports){ 4826'use strict'; 4827var addToUnscopables = require('./_add-to-unscopables'); 4828var step = require('./_iter-step'); 4829var Iterators = require('./_iterators'); 4830var toIObject = require('./_to-iobject'); 4831 4832// 22.1.3.4 Array.prototype.entries() 4833// 22.1.3.13 Array.prototype.keys() 4834// 22.1.3.29 Array.prototype.values() 4835// 22.1.3.30 Array.prototype[@@iterator]() 4836module.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) { 4837 this._t = toIObject(iterated); // target 4838 this._i = 0; // next index 4839 this._k = kind; // kind 4840// 22.1.5.2.1 %ArrayIteratorPrototype%.next() 4841}, function () { 4842 var O = this._t; 4843 var kind = this._k; 4844 var index = this._i++; 4845 if (!O || index >= O.length) { 4846 this._t = undefined; 4847 return step(1); 4848 } 4849 if (kind == 'keys') return step(0, index); 4850 if (kind == 'values') return step(0, O[index]); 4851 return step(0, [index, O[index]]); 4852}, 'values'); 4853 4854// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) 4855Iterators.Arguments = Iterators.Array; 4856 4857addToUnscopables('keys'); 4858addToUnscopables('values'); 4859addToUnscopables('entries'); 4860 4861},{"./_add-to-unscopables":10,"./_iter-define":62,"./_iter-step":64,"./_iterators":65,"./_to-iobject":123}],149:[function(require,module,exports){ 4862'use strict'; 4863// 22.1.3.13 Array.prototype.join(separator)
4864var $export = require('./_export'); 4865var toIObject = require('./_to-iobject'); 4866var arrayJoin = [].join; 4867 4868// fallback for not array-like strings 4869$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', { 4870 join: function join(separator) { 4871 return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); 4872 } 4873}); 4874 4875},{"./_export":39,"./_iobject":54,"./_strict-method":111,"./_to-iobject":123}],150:[function(require,module,exports){ 4876'use strict'; 4877var $export = require('./_export'); 4878var toIObject = require('./_to-iobject'); 4879var toInteger = require('./_to-integer'); 4880var toLength = require('./_to-length'); 4881var $native = [].lastIndexOf; 4882var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; 4883 4884$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', { 4885 // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) 4886 lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { 4887 // convert -0 to +0 4888 if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; 4889 var O = toIObject(this); 4890 var length = toLength(O.length); 4891 var index = length - 1; 4892 if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); 4893 if (index < 0) index = length + index; 4894 for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; 4895 return -1; 4896 } 4897}); 4898 4899},{"./_export":39,"./_strict-method":111,"./_to-integer":122,"./_to-iobject":123,"./_to-length":124}],151:[function(require,module,exports){ 4900'use strict'; 4901var $export = require('./_export'); 4902var $map = require('./_array-methods')(1); 4903 4904$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', { 4905 // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) 4906 map: function map(callbackfn /* , thisArg */) { 4907 return $map(this, callbackfn, arguments[1]); 4908 } 4909}); 4910 4911},{"./_array-methods":18,"./_export":39,"./_strict-method":111}],152:[function(require,module,exports){ 4912'use strict'; 4913var $export = require('./_export'); 4914var createProperty = require('./_create-property'); 4915 4916// WebKit Array.of isn't generic 4917$export($export.S + $export.F * require('./_fails')(function () { 4918 function F() { /* empty */ } 4919 return !(Array.of.call(F) instanceof F); 4920}), 'Array', { 4921 // 22.1.2.3 Array.of( ...items) 4922 of: function of(/* ...args */) { 4923 var index = 0; 4924 var aLen = arguments.length; 4925 var result = new (typeof this == 'function' ? this : Array)(aLen); 4926 while (aLen > index) createProperty(result, index, arguments[index++]); 4927 result.length = aLen; 4928 return result; 4929 } 4930}); 4931 4932},{"./_create-property":30,"./_export":39,"./_fails":41}],153:[function(require,module,exports){ 4933'use strict'; 4934var $export = require('./_export'); 4935var $reduce = require('./_array-reduce'); 4936 4937$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', { 4938 // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) 4939 reduceRight: function reduceRight(callbackfn /* , initialValue */) { 4940 return $reduce(this, callbackfn, arguments.length, arguments[1], true); 4941 } 4942}); 4943 4944},{"./_array-reduce":19,"./_export":39,"./_strict-method":111}],154:[function(require,module,exports){ 4945'use strict'; 4946var $export = require('./_export'); 4947var $reduce = require('./_array-reduce'); 4948 4949$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', { 4950 // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) 4951 reduce: function reduce(callbackfn /* , initialValue */) { 4952 return $reduce(this, callbackfn, arguments.length, arguments[1], false); 4953 } 4954}); 4955 4956},{"./_array-reduce":19,"./_export":39,"./_strict-method":111}],155:[function(require,module,exports){ 4957'use strict'; 4958var $export = require('./_export'); 4959var html = require('./_html'); 4960var cof = require('./_cof'); 4961var toAbsoluteIndex = require('./_to-absolute-index'); 4962var toLength = require('./_to-length'); 4963var arraySlice = [].slice; 4964 4965// fallback for not array-like ES3 strings and DOM objects 4966$export($export.P + $export.F * require('./_fails')(function () { 4967 if (html) arraySlice.call(html); 4968}), 'Array', { 4969 slice: function slice(begin, end) { 4970 var len = toLength(this.length); 4971 var klass = cof(this); 4972 end = end === undefined ? len : end; 4973 if (klass == 'Array') return arraySlice.call(this, begin, end); 4974 var start = toAbsoluteIndex(begin, len); 4975 var upTo = toAbsoluteIndex(end, len); 4976 var size = toLength(upTo - start); 4977 var cloned = new Array(size); 4978 var i = 0; 4979 for (; i < size; i++) cloned[i] = klass == 'String' 4980 ? this.charAt(start + i) 4981 : this[start + i]; 4982 return cloned; 4983 } 4984}); 4985 4986}
4986,{"./_cof":24,"./_export":39,"./_fails":41,"./_html":50,"./_to-absolute-index":120,"./_to-length":124}],156:[function(require,module,exports){ 4987'use strict'; 4988var $export = require('./_export'); 4989var $some = require('./_array-methods')(3); 4990 4991$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', { 4992 // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) 4993 some: function some(callbackfn /* , thisArg */) { 4994 return $some(this, callbackfn, arguments[1]); 4995 } 4996}); 4997 4998},{"./_array-methods":18,"./_export":39,"./_strict-method":111}],157:[function(require,module,exports){ 4999'use strict'; 5000var $export = require('./_export'); 5001var aFunction = require('./_a-function'); 5002var toObject = require('./_to-object'); 5003var fails = require('./_fails'); 5004var $sort = [].sort; 5005var test = [1, 2, 3]; 5006 5007$export($export.P + $export.F * (fails(function () { 5008 // IE8- 5009 test.sort(undefined); 5010}) || !fails(function () { 5011 // V8 bug 5012 test.sort(null); 5013 // Old WebKit 5014}) || !require('./_strict-method')($sort)), 'Array', { 5015 // 22.1.3.25 Array.prototype.sort(comparefn) 5016 sort: function sort(comparefn) { 5017 return comparefn === undefined 5018 ? $sort.call(toObject(this)) 5019 : $sort.call(toObject(this), aFunction(comparefn)); 5020 } 5021}); 5022 5023},{"./_a-function":8,"./_export":39,"./_fails":41,"./_strict-method":111,"./_to-object":125}],158:[function(require,module,exports){ 5024require('./_set-species')('Array'); 5025 5026},{"./_set-species":106}],159:[function(require,module,exports){ 5027// 20.3.3.1 / 15.9.4.4 Date.now() 5028var $export = require('./_export'); 5029 5030$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); 5031 5032},{"./_export":39}],160:[function(require,module,exports){ 5033// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() 5034var $export = require('./_export'); 5035var toISOString = require('./_date-to-iso-string'); 5036 5037// PhantomJS / old WebKit has a broken implementations 5038$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { 5039 toISOString: toISOString 5040}); 5041 5042},{"./_date-to-iso-string":32,"./_export":39}],161:[function(require,module,exports){ 5043'use strict'; 5044var $export = require('./_export'); 5045var toObject = require('./_to-object'); 5046var toPrimitive = require('./_to-primitive'); 5047 5048$export($export.P + $export.F * require('./_fails')(function () { 5049 return new Date(NaN).toJSON() !== null 5050 || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; 5051}), 'Date', { 5052 // eslint-disable-next-line no-unused-vars 5053 toJSON: function toJSON(key) { 5054 var O = toObject(this); 5055 var pv = toPrimitive(O); 5056 return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); 5057 } 5058}); 5059 5060},{"./_export":39,"./_fails":41,"./_to-object":125,"./_to-primitive":126}],162:[function(require,module,exports){ 5061var TO_PRIMITIVE = require('./_wks')('toPrimitive'); 5062var proto = Date.prototype; 5063 5064if (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive')); 5065 5066},{"./_date-to-primitive":33,"./_hide":49,"./_wks":135}],163:[function(require,module,exports){ 5067var DateProto = Date.prototype; 5068var INVALID_DATE = 'Invalid Date'; 5069var TO_STRING = 'toString'; 5070var $toString = DateProto[TO_STRING]; 5071var getTime = DateProto.getTime; 5072if (new Date(NaN) + '' != INVALID_DATE) { 5073 require('./_redefine')(DateProto, TO_STRING, function toString() { 5074 var value = getTime.call(this); 5075 // eslint-disable-next-line no-self-compare 5076 return value === value ? $toString.call(this) : INVALID_DATE; 5077 }); 5078} 5079 5080},{"./_redefine":98}],164:[function(require,module,exports){ 5081// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) 5082var $export = require('./_export'); 5083 5084$export($export.P, 'Function', { bind: require('./_bind') }); 5085 5086},{"./_bind":22,"./_export":39}],165:[function(require,module,exports){ 5087'use strict'; 5088var isObject = require('./_is-object'); 5089var getPrototypeOf = require('./_object-gpo'); 5090var HAS_INSTANCE = require('./_wks')('hasInstance'); 5091var FunctionProto = Function.prototype; 5092// 19.2.3.6 Function.prototype[@@hasInstance](V) 5093if (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) { 5094 if (typeof this != 'function' || !isObject(O)) return false;
5095 if (!isObject(this.prototype)) return O instanceof this; 5096 // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: 5097 while (O = getPrototypeOf(O)) if (this.prototype === O) return true; 5098 return false; 5099} }); 5100 5101},{"./_is-object":58,"./_object-dp":78,"./_object-gpo":85,"./_wks":135}],166:[function(require,module,exports){ 5102var dP = require('./_object-dp').f; 5103var FProto = Function.prototype; 5104var nameRE = /^\s*function ([^ (]*)/; 5105var NAME = 'name'; 5106 5107// 19.2.4.2 name 5108NAME in FProto || require('./_descriptors') && dP(FProto, NAME, { 5109 configurable: true, 5110 get: function () { 5111 try { 5112 return ('' + this).match(nameRE)[1]; 5113 } catch (e) { 5114 return ''; 5115 } 5116 } 5117}); 5118 5119},{"./_descriptors":35,"./_object-dp":78}],167:[function(require,module,exports){ 5120'use strict'; 5121var strong = require('./_collection-strong'); 5122var validate = require('./_validate-collection'); 5123var MAP = 'Map'; 5124 5125// 23.1 Map Objects 5126module.exports = require('./_collection')(MAP, function (get) { 5127 return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; 5128}, { 5129 // 23.1.3.6 Map.prototype.get(key) 5130 get: function get(key) { 5131 var entry = strong.getEntry(validate(this, MAP), key); 5132 return entry && entry.v; 5133 }, 5134 // 23.1.3.9 Map.prototype.set(key, value) 5135 set: function set(key, value) { 5136 return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); 5137 } 5138}, strong, true); 5139 5140},{"./_collection":28,"./_collection-strong":25,"./_validate-collection":132}],168:[function(require,module,exports){ 5141// 20.2.2.3 Math.acosh(x) 5142var $export = require('./_export'); 5143var log1p = require('./_math-log1p'); 5144var sqrt = Math.sqrt; 5145var $acosh = Math.acosh; 5146 5147$export($export.S + $export.F * !($acosh 5148 // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 5149 && Math.floor($acosh(Number.MAX_VALUE)) == 710 5150 // Tor Browser bug: Math.acosh(Infinity) -> NaN 5151 && $acosh(Infinity) == Infinity 5152), 'Math', { 5153 acosh: function acosh(x) { 5154 return (x = +x) < 1 ? NaN : x > 94906265.62425156 5155 ? Math.log(x) + Math.LN2 5156 : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); 5157 } 5158}); 5159 5160},{"./_export":39,"./_math-log1p":69}],169:[function(require,module,exports){ 5161// 20.2.2.5 Math.asinh(x) 5162var $export = require('./_export'); 5163var $asinh = Math.asinh; 5164 5165function asinh(x) { 5166 return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); 5167} 5168 5169// Tor Browser bug: Math.asinh(0) -> -0 5170$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); 5171 5172},{"./_export":39}],170:[function(require,module,exports){ 5173// 20.2.2.7 Math.atanh(x) 5174var $export = require('./_export'); 5175var $atanh = Math.atanh; 5176 5177// Tor Browser bug: Math.atanh(-0) -> 0 5178$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { 5179 atanh: function atanh(x) { 5180 return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; 5181 } 5182}); 5183 5184},{"./_export":39}],171:[function(require,module,exports){ 5185// 20.2.2.9 Math.cbrt(x) 5186var $export = require('./_export'); 5187var sign = require('./_math-sign'); 5188 5189$export($export.S, 'Math', { 5190 cbrt: function cbrt(x) { 5191 return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); 5192 } 5193}); 5194 5195},{"./_export":39,"./_math-sign":71}],172:[function(require,module,exports){ 5196// 20.2.2.11 Math.clz32(x) 5197var $export = require('./_export'); 5198 5199$export($export.S, 'Math', { 5200 clz32: function clz32(x) { 5201 return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; 5202 } 5203}); 5204 5205},{"./_export":39}],173:[function(require,module,exports){ 5206// 20.2.2.12 Math.cosh(x) 5207var $export = require('./_export'); 5208var exp = Math.exp; 5209 5210$export($export.S, 'Math', { 5211 cosh: function cosh(x) { 5212 return (exp(x = +x) + exp(-x)) / 2; 5213 } 5214}); 5215 5216},{"./_export":39}],174:[function(require,module,exports){ 5217// 20.2.2.14 Math.expm1(x) 5218var $export = require('./_export'); 5219var $expm1 = require('./_math-expm1'); 5220 5221$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); 5222 5223},{"./_export":39,"./_math-expm1":67}],175:[function(require,module,exports){ 5224// 20.2.2.16 Math.fround(x) 5225var $export = require('./_export'); 5226 5227$export($export.S, 'Math', { fround: require('./_math-fround') }); 5228 5229},{"./_export":39,"./_math-fround":68}],176:[function(require,module,exports){ 5230// 20.2.2.17 Math.hypot([value1[, value2[, ⦠]]])
vendor: 4,775 bytes, lines 5231-5384
5231var $export = require('./_export'); 5232var abs = Math.abs; 5233 5234$export($export.S, 'Math', { 5235 hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars 5236 var sum = 0; 5237 var i = 0; 5238 var aLen = arguments.length; 5239 var larg = 0; 5240 var arg, div; 5241 while (i < aLen) { 5242 arg = abs(arguments[i++]); 5243 if (larg < arg) { 5244 div = larg / arg; 5245 sum = sum * div * div + 1; 5246 larg = arg; 5247 } else if (arg > 0) { 5248 div = arg / larg; 5249 sum += div * div; 5250 } else sum += arg; 5251 } 5252 return larg === Infinity ? Infinity : larg * Math.sqrt(sum); 5253 } 5254}); 5255 5256},{"./_export":39}],177:[function(require,module,exports){ 5257// 20.2.2.18 Math.imul(x, y) 5258var $export = require('./_export'); 5259var $imul = Math.imul; 5260 5261// some WebKit versions fails with big numbers, some has wrong arity 5262$export($export.S + $export.F * require('./_fails')(function () { 5263 return $imul(0xffffffff, 5) != -5 || $imul.length != 2; 5264}), 'Math', { 5265 imul: function imul(x, y) { 5266 var UINT16 = 0xffff; 5267 var xn = +x; 5268 var yn = +y; 5269 var xl = UINT16 & xn; 5270 var yl = UINT16 & yn; 5271 return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); 5272 } 5273}); 5274 5275},{"./_export":39,"./_fails":41}],178:[function(require,module,exports){ 5276// 20.2.2.21 Math.log10(x) 5277var $export = require('./_export'); 5278 5279$export($export.S, 'Math', { 5280 log10: function log10(x) { 5281 return Math.log(x) * Math.LOG10E; 5282 } 5283}); 5284 5285},{"./_export":39}],179:[function(require,module,exports){ 5286// 20.2.2.20 Math.log1p(x) 5287var $export = require('./_export'); 5288 5289$export($export.S, 'Math', { log1p: require('./_math-log1p') }); 5290 5291},{"./_export":39,"./_math-log1p":69}],180:[function(require,module,exports){ 5292// 20.2.2.22 Math.log2(x) 5293var $export = require('./_export'); 5294 5295$export($export.S, 'Math', { 5296 log2: function log2(x) { 5297 return Math.log(x) / Math.LN2; 5298 } 5299}); 5300 5301},{"./_export":39}],181:[function(require,module,exports){ 5302// 20.2.2.28 Math.sign(x) 5303var $export = require('./_export'); 5304 5305$export($export.S, 'Math', { sign: require('./_math-sign') }); 5306 5307},{"./_export":39,"./_math-sign":71}],182:[function(require,module,exports){ 5308// 20.2.2.30 Math.sinh(x) 5309var $export = require('./_export'); 5310var expm1 = require('./_math-expm1'); 5311var exp = Math.exp; 5312 5313// V8 near Chromium 38 has a problem with very small numbers 5314$export($export.S + $export.F * require('./_fails')(function () { 5315 return !Math.sinh(-2e-17) != -2e-17; 5316}), 'Math', { 5317 sinh: function sinh(x) { 5318 return Math.abs(x = +x) < 1 5319 ? (expm1(x) - expm1(-x)) / 2 5320 : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); 5321 } 5322}); 5323 5324},{"./_export":39,"./_fails":41,"./_math-expm1":67}],183:[function(require,module,exports){ 5325// 20.2.2.33 Math.tanh(x) 5326var $export = require('./_export'); 5327var expm1 = require('./_math-expm1'); 5328var exp = Math.exp; 5329 5330$export($export.S, 'Math', { 5331 tanh: function tanh(x) { 5332 var a = expm1(x = +x); 5333 var b = expm1(-x); 5334 return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); 5335 } 5336}); 5337 5338},{"./_export":39,"./_math-expm1":67}],184:[function(require,module,exports){ 5339// 20.2.2.34 Math.trunc(x) 5340var $export = require('./_export'); 5341 5342$export($export.S, 'Math', { 5343 trunc: function trunc(it) { 5344 return (it > 0 ? Math.floor : Math.ceil)(it); 5345 } 5346}); 5347 5348},{"./_export":39}],185:[function(require,module,exports){ 5349'use strict'; 5350var global = require('./_global'); 5351var has = require('./_has'); 5352var cof = require('./_cof'); 5353var inheritIfRequired = require('./_inherit-if-required'); 5354var toPrimitive = require('./_to-primitive'); 5355var fails = require('./_fails'); 5356var gOPN = require('./_object-gopn').f; 5357var gOPD = require('./_object-gopd').f; 5358var dP = require('./_object-dp').f; 5359var $trim = require('./_string-trim').trim; 5360var NUMBER = 'Number'; 5361var $Number = global[NUMBER]; 5362var Base = $Number; 5363var proto = $Number.prototype; 5364// Opera ~12 has broken Object#toString 5365var BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER; 5366var TRIM = 'trim' in String.prototype; 5367 5368// 7.1.3 ToNumber(argument) 5369var toNumber = function (argument) { 5370 var it = toPrimitive(argument, false); 5371 if (typeof it == 'string' && it.length > 2) { 5372 it = TRIM ? it.trim() : $trim(it, 3); 5373 var first = it.charCodeAt(0); 5374 var third, radix, maxCode; 5375 if (first === 43 || first === 45) { 5376 third = it.charCodeAt(2); 5377 if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix 5378 } else if (first === 48) { 5379 switch (it.charCodeAt(1)) { 5380 case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i 5381 case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i 5382 default: return +it; 5383 } 5384 for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {
vendor: 1,662 bytes, lines 5385-5420
5385 code = digits.charCodeAt(i); 5386 // parseInt parses a string to a first unavailable symbol 5387 // but ToNumber should return NaN if a string contains unavailable symbols 5388 if (code < 48 || code > maxCode) return NaN; 5389 } return parseInt(digits, radix); 5390 } 5391 } return +it; 5392}; 5393 5394if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { 5395 $Number = function Number(value) { 5396 var it = arguments.length < 1 ? 0 : value; 5397 var that = this; 5398 return that instanceof $Number 5399 // check on 1..constructor(foo) case 5400 && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) 5401 ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); 5402 }; 5403 for (var keys = require('./_descriptors') ? gOPN(Base) : ( 5404 // ES3: 5405 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + 5406 // ES6 (in case, if modules with ES6 Number statics required before): 5407 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + 5408 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' 5409 ).split(','), j = 0, key; keys.length > j; j++) { 5410 if (has(Base, key = keys[j]) && !has($Number, key)) { 5411 dP($Number, key, gOPD(Base, key)); 5412 } 5413 } 5414 $Number.prototype = proto; 5415 proto.constructor = $Number; 5416 require('./_redefine')(global, NUMBER, $Number); 5417} 5418 5419},{"./_cof":24,"./_descriptors":35,"./_fails":41,"./_global":47,"./_has":48,"./_inherit-if-required":52,"./_object-create":77,"./_object-dp":78,"./_object-gopd":81,"./_object-gopn":83,"./_redefine":98,"./_string-trim":117,"./_to-primitive":126}],186:[function(require,module,exports){ 5420// 20.1.2.1 Number.EPSILON
vendor: 4,581 bytes, lines 5421-5579
5421var $export = require('./_export'); 5422 5423$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); 5424 5425},{"./_export":39}],187:[function(require,module,exports){ 5426// 20.1.2.2 Number.isFinite(number) 5427var $export = require('./_export'); 5428var _isFinite = require('./_global').isFinite; 5429 5430$export($export.S, 'Number', { 5431 isFinite: function isFinite(it) { 5432 return typeof it == 'number' && _isFinite(it); 5433 } 5434}); 5435 5436},{"./_export":39,"./_global":47}],188:[function(require,module,exports){ 5437// 20.1.2.3 Number.isInteger(number) 5438var $export = require('./_export'); 5439 5440$export($export.S, 'Number', { isInteger: require('./_is-integer') }); 5441 5442},{"./_export":39,"./_is-integer":57}],189:[function(require,module,exports){ 5443// 20.1.2.4 Number.isNaN(number) 5444var $export = require('./_export'); 5445 5446$export($export.S, 'Number', { 5447 isNaN: function isNaN(number) { 5448 // eslint-disable-next-line no-self-compare 5449 return number != number; 5450 } 5451}); 5452 5453},{"./_export":39}],190:[function(require,module,exports){ 5454// 20.1.2.5 Number.isSafeInteger(number) 5455var $export = require('./_export'); 5456var isInteger = require('./_is-integer'); 5457var abs = Math.abs; 5458 5459$export($export.S, 'Number', { 5460 isSafeInteger: function isSafeInteger(number) { 5461 return isInteger(number) && abs(number) <= 0x1fffffffffffff; 5462 } 5463}); 5464 5465},{"./_export":39,"./_is-integer":57}],191:[function(require,module,exports){ 5466// 20.1.2.6 Number.MAX_SAFE_INTEGER 5467var $export = require('./_export'); 5468 5469$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); 5470 5471},{"./_export":39}],192:[function(require,module,exports){ 5472// 20.1.2.10 Number.MIN_SAFE_INTEGER 5473var $export = require('./_export'); 5474 5475$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); 5476 5477},{"./_export":39}],193:[function(require,module,exports){ 5478var $export = require('./_export'); 5479var $parseFloat = require('./_parse-float'); 5480// 20.1.2.12 Number.parseFloat(string) 5481$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); 5482 5483},{"./_export":39,"./_parse-float":92}],194:[function(require,module,exports){ 5484var $export = require('./_export'); 5485var $parseInt = require('./_parse-int'); 5486// 20.1.2.13 Number.parseInt(string, radix) 5487$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); 5488 5489},{"./_export":39,"./_parse-int":93}],195:[function(require,module,exports){ 5490'use strict'; 5491var $export = require('./_export'); 5492var toInteger = require('./_to-integer'); 5493var aNumberValue = require('./_a-number-value'); 5494var repeat = require('./_string-repeat'); 5495var $toFixed = 1.0.toFixed; 5496var floor = Math.floor; 5497var data = [0, 0, 0, 0, 0, 0]; 5498var ERROR = 'Number.toFixed: incorrect invocation!'; 5499var ZERO = '0'; 5500 5501var multiply = function (n, c) { 5502 var i = -1; 5503 var c2 = c; 5504 while (++i < 6) { 5505 c2 += n * data[i]; 5506 data[i] = c2 % 1e7; 5507 c2 = floor(c2 / 1e7); 5508 } 5509}; 5510var divide = function (n) { 5511 var i = 6; 5512 var c = 0; 5513 while (--i >= 0) { 5514 c += data[i]; 5515 data[i] = floor(c / n); 5516 c = (c % n) * 1e7; 5517 } 5518}; 5519var numToString = function () { 5520 var i = 6; 5521 var s = ''; 5522 while (--i >= 0) { 5523 if (s !== '' || i === 0 || data[i] !== 0) { 5524 var t = String(data[i]); 5525 s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; 5526 } 5527 } return s; 5528}; 5529var pow = function (x, n, acc) { 5530 return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); 5531}; 5532var log = function (x) { 5533 var n = 0; 5534 var x2 = x; 5535 while (x2 >= 4096) { 5536 n += 12; 5537 x2 /= 4096; 5538 } 5539 while (x2 >= 2) { 5540 n += 1; 5541 x2 /= 2; 5542 } return n; 5543}; 5544 5545$export($export.P + $export.F * (!!$toFixed && ( 5546 0.00008.toFixed(3) !== '0.000' || 5547 0.9.toFixed(0) !== '1' || 5548 1.255.toFixed(2) !== '1.25' || 5549 1000000000000000128.0.toFixed(0) !== '1000000000000000128' 5550) || !require('./_fails')(function () { 5551 // V8 ~ Android 4.3- 5552 $toFixed.call({}); 5553})), 'Number', { 5554 toFixed: function toFixed(fractionDigits) { 5555 var x = aNumberValue(this, ERROR); 5556 var f = toInteger(fractionDigits); 5557 var s = ''; 5558 var m = ZERO; 5559 var e, z, j, k; 5560 if (f < 0 || f > 20) throw RangeError(ERROR); 5561 // eslint-disable-next-line no-self-compare 5562 if (x != x) return 'NaN'; 5563 if (x <= -1e21 || x >= 1e21) return String(x); 5564 if (x < 0) { 5565 s = '-'; 5566 x = -x; 5567 } 5568 if (x > 1e-21) { 5569 e = log(x * pow(2, 69, 1)) - 69; 5570 z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); 5571 z *= 0x10000000000000; 5572 e = 52 - e; 5573 if (e > 0) { 5574 multiply(0, z); 5575 j = f; 5576 while (j >= 7) { 5577 multiply(1e7, 0); 5578 j -= 7; 5579 }
5580 multiply(pow(10, j, 1), 0); 5581 j = e - 1; 5582 while (j >= 23) { 5583 divide(1 << 23); 5584 j -= 23; 5585 } 5586 divide(1 << j); 5587 multiply(1, 1); 5588 divide(2); 5589 m = numToString(); 5590 } else { 5591 multiply(0, z); 5592 multiply(1 << -e, 0); 5593 m = numToString() + repeat.call(ZERO, f); 5594 } 5595 } 5596 if (f > 0) { 5597 k = m.length; 5598 m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); 5599 } else { 5600 m = s + m; 5601 } return m; 5602 } 5603}); 5604 5605},{"./_a-number-value":9,"./_export":39,"./_fails":41,"./_string-repeat":116,"./_to-integer":122}],196:[function(require,module,exports){ 5606'use strict'; 5607var $export = require('./_export'); 5608var $fails = require('./_fails'); 5609var aNumberValue = require('./_a-number-value'); 5610var $toPrecision = 1.0.toPrecision; 5611 5612$export($export.P + $export.F * ($fails(function () { 5613 // IE7- 5614 return $toPrecision.call(1, undefined) !== '1'; 5615}) || !$fails(function () { 5616 // V8 ~ Android 4.3- 5617 $toPrecision.call({}); 5618})), 'Number', { 5619 toPrecision: function toPrecision(precision) { 5620 var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); 5621 return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); 5622 } 5623}); 5624 5625},{"./_a-number-value":9,"./_export":39,"./_fails":41}],197:[function(require,module,exports){ 5626// 19.1.3.1 Object.assign(target, source) 5627var $export = require('./_export'); 5628 5629$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') }); 5630 5631},{"./_export":39,"./_object-assign":76}],198:[function(require,module,exports){ 5632var $export = require('./_export'); 5633// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) 5634$export($export.S, 'Object', { create: require('./_object-create') }); 5635 5636},{"./_export":39,"./_object-create":77}],199:[function(require,module,exports){ 5637var $export = require('./_export'); 5638// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) 5639$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') }); 5640 5641},{"./_descriptors":35,"./_export":39,"./_object-dps":79}],200:[function(require,module,exports){ 5642var $export = require('./_export'); 5643// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) 5644$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f }); 5645 5646},{"./_descriptors":35,"./_export":39,"./_object-dp":78}],201:[function(require,module,exports){ 5647// 19.1.2.5 Object.freeze(O) 5648var isObject = require('./_is-object'); 5649var meta = require('./_meta').onFreeze; 5650 5651require('./_object-sap')('freeze', function ($freeze) { 5652 return function freeze(it) { 5653 return $freeze && isObject(it) ? $freeze(meta(it)) : it; 5654 }; 5655}); 5656 5657},{"./_is-object":58,"./_meta":72,"./_object-sap":89}],202:[function(require,module,exports){ 5658// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) 5659var toIObject = require('./_to-iobject'); 5660var $getOwnPropertyDescriptor = require('./_object-gopd').f; 5661 5662require('./_object-sap')('getOwnPropertyDescriptor', function () { 5663 return function getOwnPropertyDescriptor(it, key) { 5664 return $getOwnPropertyDescriptor(toIObject(it), key); 5665 }; 5666}); 5667 5668},{"./_object-gopd":81,"./_object-sap":89,"./_to-iobject":123}],203:[function(require,module,exports){ 5669// 19.1.2.7 Object.getOwnPropertyNames(O) 5670require('./_object-sap')('getOwnPropertyNames', function () { 5671 return require('./_object-gopn-ext').f; 5672}); 5673 5674},{"./_object-gopn-ext":82,"./_object-sap":89}],204:[function(require,module,exports){ 5675// 19.1.2.9 Object.getPrototypeOf(O) 5676var toObject = require('./_to-object'); 5677var $getPrototypeOf = require('./_object-gpo'); 5678 5679require('./_object-sap')('getPrototypeOf', function () { 5680 return function getPrototypeOf(it) { 5681 return $getPrototypeOf(toObject(it)); 5682 }; 5683}); 5684 5685},{"./_object-gpo":85,"./_object-sap":89,"./_to-object":125}],205:[function(require,module,exports){ 5686// 19.1.2.11 Object.isExtensible(O) 5687var isObject = require('./_is-object'); 5688 5689require('./_object-sap')('isExtensible', function ($isExtensible) { 5690 return function isExtensible(it) { 5691 return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;
5692 }; 5693}); 5694 5695},{"./_is-object":58,"./_object-sap":89}],206:[function(require,module,exports){ 5696// 19.1.2.12 Object.isFrozen(O) 5697var isObject = require('./_is-object'); 5698 5699require('./_object-sap')('isFrozen', function ($isFrozen) { 5700 return function isFrozen(it) { 5701 return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; 5702 }; 5703}); 5704 5705},{"./_is-object":58,"./_object-sap":89}],207:[function(require,module,exports){ 5706// 19.1.2.13 Object.isSealed(O) 5707var isObject = require('./_is-object'); 5708 5709require('./_object-sap')('isSealed', function ($isSealed) { 5710 return function isSealed(it) { 5711 return isObject(it) ? $isSealed ? $isSealed(it) : false : true; 5712 }; 5713}); 5714 5715},{"./_is-object":58,"./_object-sap":89}],208:[function(require,module,exports){ 5716// 19.1.3.10 Object.is(value1, value2) 5717var $export = require('./_export'); 5718$export($export.S, 'Object', { is: require('./_same-value') }); 5719 5720},{"./_export":39,"./_same-value":102}],209:[function(require,module,exports){ 5721// 19.1.2.14 Object.keys(O) 5722var toObject = require('./_to-object'); 5723var $keys = require('./_object-keys'); 5724 5725require('./_object-sap')('keys', function () { 5726 return function keys(it) { 5727 return $keys(toObject(it)); 5728 }; 5729}); 5730 5731},{"./_object-keys":87,"./_object-sap":89,"./_to-object":125}],210:[function(require,module,exports){ 5732// 19.1.2.15 Object.preventExtensions(O) 5733var isObject = require('./_is-object'); 5734var meta = require('./_meta').onFreeze; 5735 5736require('./_object-sap')('preventExtensions', function ($preventExtensions) { 5737 return function preventExtensions(it) { 5738 return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; 5739 }; 5740}); 5741 5742},{"./_is-object":58,"./_meta":72,"./_object-sap":89}],211:[function(require,module,exports){ 5743// 19.1.2.17 Object.seal(O) 5744var isObject = require('./_is-object'); 5745var meta = require('./_meta').onFreeze; 5746 5747require('./_object-sap')('seal', function ($seal) { 5748 return function seal(it) { 5749 return $seal && isObject(it) ? $seal(meta(it)) : it; 5750 }; 5751}); 5752 5753},{"./_is-object":58,"./_meta":72,"./_object-sap":89}],212:[function(require,module,exports){ 5754// 19.1.3.19 Object.setPrototypeOf(O, proto) 5755var $export = require('./_export'); 5756$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set }); 5757 5758},{"./_export":39,"./_set-proto":105}],213:[function(require,module,exports){ 5759'use strict'; 5760// 19.1.3.6 Object.prototype.toString() 5761var classof = require('./_classof'); 5762var test = {}; 5763test[require('./_wks')('toStringTag')] = 'z'; 5764if (test + '' != '[object z]') { 5765 require('./_redefine')(Object.prototype, 'toString', function toString() { 5766 return '[object ' + classof(this) + ']'; 5767 }, true); 5768} 5769 5770},{"./_classof":23,"./_redefine":98,"./_wks":135}],214:[function(require,module,exports){ 5771var $export = require('./_export'); 5772var $parseFloat = require('./_parse-float'); 5773// 18.2.4 parseFloat(string) 5774$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); 5775 5776},{"./_export":39,"./_parse-float":92}],215:[function(require,module,exports){ 5777var $export = require('./_export'); 5778var $parseInt = require('./_parse-int'); 5779// 18.2.5 parseInt(string, radix) 5780$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); 5781 5782},{"./_export":39,"./_parse-int":93}],216:[function(require,module,exports){ 5783'use strict'; 5784var LIBRARY = require('./_library'); 5785var global = require('./_global'); 5786var ctx = require('./_ctx'); 5787var classof = require('./_classof'); 5788var $export = require('./_export'); 5789var isObject = require('./_is-object'); 5790var aFunction = require('./_a-function'); 5791var anInstance = require('./_an-instance'); 5792var forOf = require('./_for-of'); 5793var speciesConstructor = require('./_species-constructor'); 5794var task = require('./_task').set; 5795var microtask = require('./_microtask')(); 5796var newPromiseCapabilityModule = require('./_new-promise-capability'); 5797var perform = require('./_perform'); 5798var userAgent = require('./_user-agent'); 5799var promiseResolve = require('./_promise-resolve'); 5800var PROMISE = 'Promise'; 5801var TypeError = global.TypeError; 5802var process = global.process; 5803var versions = process && process.versions; 5804var v8 = versions && versions.v8 || ''; 5805var $Promise = global[PROMISE]; 5806var isNode = classof(process) == 'process'; 5807var empty = function () { /* empty */ }; 5808var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; 5809var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; 5810 5811var USE_NATIVE = !!function () { 5812 try { 5813 // correct subclassing with @@species support 5814 var promise = $Promise.resolve(1); 5815 var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) { 5816 exec(empty, empty); 5817 }; 5818 // unhandled rejections tracking support, NodeJS Promise without it fails @@species test 5819 return (isNode || typeof PromiseRejectionEvent == 'function') 5820 && promise.then(empty) instanceof FakePromise 5821 // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables 5822 // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 5823 // we can't detect it synchronously, so just check versions 5824 && v8.indexOf('6.6') !== 0 5825 && userAgent.indexOf('Chrome/66') === -1; 5826 } catch (e) { /* empty */ } 5827}(); 5828 5829// helpers 5830var isThenable = function (it) { 5831 var then; 5832 return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
vendor: 11,034 bytes, lines 5833-6137
5833}; 5834var notify = function (promise, isReject) { 5835 if (promise._n) return; 5836 promise._n = true; 5837 var chain = promise._c; 5838 microtask(function () { 5839 var value = promise._v; 5840 var ok = promise._s == 1; 5841 var i = 0; 5842 var run = function (reaction) { 5843 var handler = ok ? reaction.ok : reaction.fail; 5844 var resolve = reaction.resolve; 5845 var reject = reaction.reject; 5846 var domain = reaction.domain; 5847 var result, then, exited; 5848 try { 5849 if (handler) { 5850 if (!ok) { 5851 if (promise._h == 2) onHandleUnhandled(promise); 5852 promise._h = 1; 5853 } 5854 if (handler === true) result = value; 5855 else { 5856 if (domain) domain.enter(); 5857 result = handler(value); // may throw 5858 if (domain) { 5859 domain.exit(); 5860 exited = true; 5861 } 5862 } 5863 if (result === reaction.promise) { 5864 reject(TypeError('Promise-chain cycle')); 5865 } else if (then = isThenable(result)) { 5866 then.call(result, resolve, reject); 5867 } else resolve(result); 5868 } else reject(value); 5869 } catch (e) { 5870 if (domain && !exited) domain.exit(); 5871 reject(e); 5872 } 5873 }; 5874 while (chain.length > i) run(chain[i++]); // variable length - can't use forEach 5875 promise._c = []; 5876 promise._n = false; 5877 if (isReject && !promise._h) onUnhandled(promise); 5878 }); 5879}; 5880var onUnhandled = function (promise) { 5881 task.call(global, function () { 5882 var value = promise._v; 5883 var unhandled = isUnhandled(promise); 5884 var result, handler, console; 5885 if (unhandled) { 5886 result = perform(function () { 5887 if (isNode) { 5888 process.emit('unhandledRejection', value, promise); 5889 } else if (handler = global.onunhandledrejection) { 5890 handler({ promise: promise, reason: value }); 5891 } else if ((console = global.console) && console.error) { 5892 console.error('Unhandled promise rejection', value); 5893 } 5894 }); 5895 // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should 5896 promise._h = isNode || isUnhandled(promise) ? 2 : 1; 5897 } promise._a = undefined; 5898 if (unhandled && result.e) throw result.v; 5899 }); 5900}; 5901var isUnhandled = function (promise) { 5902 return promise._h !== 1 && (promise._a || promise._c).length === 0; 5903}; 5904var onHandleUnhandled = function (promise) { 5905 task.call(global, function () { 5906 var handler; 5907 if (isNode) { 5908 process.emit('rejectionHandled', promise); 5909 } else if (handler = global.onrejectionhandled) { 5910 handler({ promise: promise, reason: promise._v }); 5911 } 5912 }); 5913}; 5914var $reject = function (value) { 5915 var promise = this; 5916 if (promise._d) return; 5917 promise._d = true; 5918 promise = promise._w || promise; // unwrap 5919 promise._v = value; 5920 promise._s = 2; 5921 if (!promise._a) promise._a = promise._c.slice(); 5922 notify(promise, true); 5923}; 5924var $resolve = function (value) { 5925 var promise = this; 5926 var then; 5927 if (promise._d) return; 5928 promise._d = true; 5929 promise = promise._w || promise; // unwrap 5930 try { 5931 if (promise === value) throw TypeError("Promise can't be resolved itself"); 5932 if (then = isThenable(value)) { 5933 microtask(function () { 5934 var wrapper = { _w: promise, _d: false }; // wrap 5935 try { 5936 then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); 5937 } catch (e) { 5938 $reject.call(wrapper, e); 5939 } 5940 }); 5941 } else { 5942 promise._v = value; 5943 promise._s = 1; 5944 notify(promise, false); 5945 } 5946 } catch (e) { 5947 $reject.call({ _w: promise, _d: false }, e); // wrap 5948 } 5949}; 5950 5951// constructor polyfill 5952if (!USE_NATIVE) { 5953 // 25.4.3.1 Promise(executor) 5954 $Promise = function Promise(executor) { 5955 anInstance(this, $Promise, PROMISE, '_h'); 5956 aFunction(executor); 5957 Internal.call(this); 5958 try { 5959 executor(ctx($resolve, this, 1), ctx($reject, this, 1)); 5960 } catch (err) { 5961 $reject.call(this, err); 5962 } 5963 }; 5964 // eslint-disable-next-line no-unused-vars 5965 Internal = function Promise(executor) { 5966 this._c = []; // <- awaiting reactions 5967 this._a = undefined; // <- checked in isUnhandled reactions 5968 this._s = 0; // <- state 5969 this._d = false; // <- done 5970 this._v = undefined; // <- value 5971 this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled 5972 this._n = false; // <- notify 5973 }; 5974 Internal.prototype = require('./_redefine-all')($Promise.prototype, { 5975 // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) 5976 then: function then(onFulfilled, onRejected) { 5977 var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); 5978 reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; 5979 reaction.fail = typeof onRejected == 'function' && onRejected; 5980 reaction.domain = isNode ? process.domain : undefined; 5981 this._c.push(reaction); 5982 if (this._a) this._a.push(reaction); 5983 if (this._s) notify(this, false); 5984 return reaction.promise; 5985 }, 5986 // 25.4.5.1 Promise.prototype.catch(onRejected) 5987 'catch': function (onRejected) { 5988 return this.then(undefined, onRejected); 5989 } 5990 }); 5991 OwnPromiseCapability = function () { 5992 var promise = new Internal(); 5993 this.promise = promise; 5994 this.resolve = ctx($resolve, promise, 1); 5995 this.reject = ctx($reject, promise, 1); 5996 }; 5997 newPromiseCapabilityModule.f = newPromiseCapability = function (C) { 5998 return C === $Promise || C === Wrapper 5999 ? new OwnPromiseCapability(C) 6000 : newGenericPromiseCapability(C); 6001 }; 6002} 6003 6004$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); 6005require('./_set-to-string-tag')($Promise, PROMISE); 6006require('./_set-species')(PROMISE); 6007Wrapper = require('./_core')[PROMISE]; 6008 6009// statics 6010$export($export.S + $export.F * !USE_NATIVE, PROMISE, { 6011 // 25.4.4.5 Promise.reject(r) 6012 reject: function reject(r) { 6013 var capability = newPromiseCapability(this); 6014 var $$reject = capability.reject; 6015 $$reject(r); 6016 return capability.promise; 6017 } 6018}); 6019$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { 6020 // 25.4.4.6 Promise.resolve(x) 6021 resolve: function resolve(x) { 6022 return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); 6023 } 6024}); 6025$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) { 6026 $Promise.all(iter)['catch'](empty); 6027})), PROMISE, { 6028 // 25.4.4.1 Promise.all(iterable) 6029 all: function all(iterable) { 6030 var C = this; 6031 var capability = newPromiseCapability(C); 6032 var resolve = capability.resolve; 6033 var reject = capability.reject; 6034 var result = perform(function () { 6035 var values = []; 6036 var index = 0; 6037 var remaining = 1; 6038 forOf(iterable, false, function (promise) { 6039 var $index = index++; 6040 var alreadyCalled = false; 6041 values.push(undefined); 6042 remaining++; 6043 C.resolve(promise).then(function (value) { 6044 if (alreadyCalled) return; 6045 alreadyCalled = true; 6046 values[$index] = value; 6047 --remaining || resolve(values); 6048 }, reject); 6049 }); 6050 --remaining || resolve(values); 6051 }); 6052 if (result.e) reject(result.v); 6053 return capability.promise; 6054 }, 6055 // 25.4.4.4 Promise.race(iterable) 6056 race: function race(iterable) { 6057 var C = this; 6058 var capability = newPromiseCapability(C); 6059 var reject = capability.reject; 6060 var result = perform(function () { 6061 forOf(iterable, false, function (promise) { 6062 C.resolve(promise).then(capability.resolve, reject); 6063 }); 6064 }); 6065 if (result.e) reject(result.v); 6066 return capability.promise; 6067 } 6068}); 6069 6070},{"./_a-function":8,"./_an-instance":12,"./_classof":23,"./_core":29,"./_ctx":31,"./_export":39,"./_for-of":45,"./_global":47,"./_is-object":58,"./_iter-detect":63,"./_library":66,"./_microtask":74,"./_new-promise-capability":75,"./_perform":94,"./_promise-resolve":95,"./_redefine-all":97,"./_set-species":106,"./_set-to-string-tag":107,"./_species-constructor":110,"./_task":119,"./_user-agent":131,"./_wks":135}],217:[function(require,module,exports){ 6071// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) 6072var $export = require('./_export'); 6073var aFunction = require('./_a-function'); 6074var anObject = require('./_an-object'); 6075var rApply = (require('./_global').Reflect || {}).apply; 6076var fApply = Function.apply; 6077// MS Edge argumentsList argument is optional 6078$export($export.S + $export.F * !require('./_fails')(function () { 6079 rApply(function () { /* empty */ }); 6080}), 'Reflect', { 6081 apply: function apply(target, thisArgument, argumentsList) { 6082 var T = aFunction(target); 6083 var L = anObject(argumentsList); 6084 return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); 6085 } 6086}); 6087 6088},{"./_a-function":8,"./_an-object":13,"./_export":39,"./_fails":41,"./_global":47}],218:[function(require,module,exports){ 6089// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) 6090var $export = require('./_export'); 6091var create = require('./_object-create'); 6092var aFunction = require('./_a-function'); 6093var anObject = require('./_an-object'); 6094var isObject = require('./_is-object'); 6095var fails = require('./_fails'); 6096var bind = require('./_bind'); 6097var rConstruct = (require('./_global').Reflect || {}).construct; 6098 6099// MS Edge supports only 2 arguments and argumentsList argument is optional 6100// FF Nightly sets third argument as `new.target`, but does not create `this` from it 6101var NEW_TARGET_BUG = fails(function () { 6102 function F() { /* empty */ } 6103 return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); 6104}); 6105var ARGS_BUG = !fails(function () { 6106 rConstruct(function () { /* empty */ }); 6107}); 6108 6109$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { 6110 construct: function construct(Target, args /* , newTarget */) { 6111 aFunction(Target); 6112 anObject(args); 6113 var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); 6114 if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); 6115 if (Target == newTarget) { 6116 // w/o altered newTarget, optimization for 0-4 arguments 6117 switch (args.length) { 6118 case 0: return new Target(); 6119 case 1: return new Target(args[0]); 6120 case 2: return new Target(args[0], args[1]); 6121 case 3: return new Target(args[0], args[1], args[2]); 6122 case 4: return new Target(args[0], args[1], args[2], args[3]); 6123 } 6124 // w/o altered newTarget, lot of arguments case 6125 var $args = [null]; 6126 $args.push.apply($args, args); 6127 return new (bind.apply(Target, $args))(); 6128 } 6129 // with altered newTarget, not support built-in constructors 6130 var proto = newTarget.prototype; 6131 var instance = create(isObject(proto) ? proto : Object.prototype); 6132 var result = Function.apply.call(Target, instance, args); 6133 return isObject(result) ? result : instance; 6134 } 6135}); 6136 6137},{"./_a-function":8,"./_an-object":13,"./_bind":22,"./_export":39,"./_fail
6137s":41,"./_global":47,"./_is-object":58,"./_object-create":77}],219:[function(require,module,exports){ 6138// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) 6139var dP = require('./_object-dp'); 6140var $export = require('./_export'); 6141var anObject = require('./_an-object'); 6142var toPrimitive = require('./_to-primitive'); 6143 6144// MS Edge has broken Reflect.defineProperty - throwing instead of returning false 6145$export($export.S + $export.F * require('./_fails')(function () { 6146 // eslint-disable-next-line no-undef 6147 Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); 6148}), 'Reflect', { 6149 defineProperty: function defineProperty(target, propertyKey, attributes) { 6150 anObject(target); 6151 propertyKey = toPrimitive(propertyKey, true); 6152 anObject(attributes); 6153 try { 6154 dP.f(target, propertyKey, attributes); 6155 return true; 6156 } catch (e) { 6157 return false; 6158 } 6159 } 6160}); 6161 6162},{"./_an-object":13,"./_export":39,"./_fails":41,"./_object-dp":78,"./_to-primitive":126}],220:[function(require,module,exports){ 6163// 26.1.4 Reflect.deleteProperty(target, propertyKey) 6164var $export = require('./_export'); 6165var gOPD = require('./_object-gopd').f; 6166var anObject = require('./_an-object'); 6167 6168$export($export.S, 'Reflect', { 6169 deleteProperty: function deleteProperty(target, propertyKey) { 6170 var desc = gOPD(anObject(target), propertyKey); 6171 return desc && !desc.configurable ? false : delete target[propertyKey]; 6172 } 6173}); 6174 6175},{"./_an-object":13,"./_export":39,"./_object-gopd":81}],221:[function(require,module,exports){ 6176'use strict'; 6177// 26.1.5 Reflect.enumerate(target) 6178var $export = require('./_export'); 6179var anObject = require('./_an-object'); 6180var Enumerate = function (iterated) { 6181 this._t = anObject(iterated); // target 6182 this._i = 0; // next index 6183 var keys = this._k = []; // keys 6184 var key; 6185 for (key in iterated) keys.push(key); 6186}; 6187require('./_iter-create')(Enumerate, 'Object', function () { 6188 var that = this; 6189 var keys = that._k; 6190 var key; 6191 do { 6192 if (that._i >= keys.length) return { value: undefined, done: true }; 6193 } while (!((key = keys[that._i++]) in that._t)); 6194 return { value: key, done: false }; 6195}); 6196 6197$export($export.S, 'Reflect', { 6198 enumerate: function enumerate(target) { 6199 return new Enumerate(target); 6200 } 6201}); 6202 6203},{"./_an-object":13,"./_export":39,"./_iter-create":61}],222:[function(require,module,exports){ 6204// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) 6205var gOPD = require('./_object-gopd'); 6206var $export = require('./_export'); 6207var anObject = require('./_an-object'); 6208 6209$export($export.S, 'Reflect', { 6210 getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { 6211 return gOPD.f(anObject(target), propertyKey); 6212 } 6213}); 6214 6215},{"./_an-object":13,"./_export":39,"./_object-gopd":81}],223:[function(require,module,exports){ 6216// 26.1.8 Reflect.getPrototypeOf(target) 6217var $export = require('./_export'); 6218var getProto = require('./_object-gpo'); 6219var anObject = require('./_an-object'); 6220 6221$export($export.S, 'Reflect', { 6222 getPrototypeOf: function getPrototypeOf(target) { 6223 return getProto(anObject(target)); 6224 } 6225}); 6226 6227},{"./_an-object":13,"./_export":39,"./_object-gpo":85}],224:[function(require,module,exports){ 6228// 26.1.6 Reflect.get(target, propertyKey [, receiver]) 6229var gOPD = require('./_object-gopd'); 6230var getPrototypeOf = require('./_object-gpo'); 6231var has = require('./_has'); 6232var $export = require('./_export'); 6233var isObject = require('./_is-object'); 6234var anObject = require('./_an-object'); 6235 6236function get(target, propertyKey /* , receiver */) { 6237 var receiver = arguments.length < 3 ? target : arguments[2]; 6238 var desc, proto; 6239 if (anObject(target) === receiver) return target[propertyKey]; 6240 if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') 6241 ? desc.value 6242 : desc.get !== undefined 6243 ? desc.get.call(receiver) 6244 : undefined; 6245 if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); 6246} 6247 6248$export($export.S, 'Reflect', { get: get }); 6249 6250},{"./_an-object":13,"./_export":39,"./_has":48,"./_is-object":58,"./_object-gopd":81,"./_object-gpo":85}],225:[function(require,module,exports){ 6251// 26.1.9 Reflect.has(target, propertyKey)
vendor: 2,912 bytes, lines 6252-6341
6252var $export = require('./_export'); 6253 6254$export($export.S, 'Reflect', { 6255 has: function has(target, propertyKey) { 6256 return propertyKey in target; 6257 } 6258}); 6259 6260},{"./_export":39}],226:[function(require,module,exports){ 6261// 26.1.10 Reflect.isExtensible(target) 6262var $export = require('./_export'); 6263var anObject = require('./_an-object'); 6264var $isExtensible = Object.isExtensible; 6265 6266$export($export.S, 'Reflect', { 6267 isExtensible: function isExtensible(target) { 6268 anObject(target); 6269 return $isExtensible ? $isExtensible(target) : true; 6270 } 6271}); 6272 6273},{"./_an-object":13,"./_export":39}],227:[function(require,module,exports){ 6274// 26.1.11 Reflect.ownKeys(target) 6275var $export = require('./_export'); 6276 6277$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') }); 6278 6279},{"./_export":39,"./_own-keys":91}],228:[function(require,module,exports){ 6280// 26.1.12 Reflect.preventExtensions(target) 6281var $export = require('./_export'); 6282var anObject = require('./_an-object'); 6283var $preventExtensions = Object.preventExtensions; 6284 6285$export($export.S, 'Reflect', { 6286 preventExtensions: function preventExtensions(target) { 6287 anObject(target); 6288 try { 6289 if ($preventExtensions) $preventExtensions(target); 6290 return true; 6291 } catch (e) { 6292 return false; 6293 } 6294 } 6295}); 6296 6297},{"./_an-object":13,"./_export":39}],229:[function(require,module,exports){ 6298// 26.1.14 Reflect.setPrototypeOf(target, proto) 6299var $export = require('./_export'); 6300var setProto = require('./_set-proto'); 6301 6302if (setProto) $export($export.S, 'Reflect', { 6303 setPrototypeOf: function setPrototypeOf(target, proto) { 6304 setProto.check(target, proto); 6305 try { 6306 setProto.set(target, proto); 6307 return true; 6308 } catch (e) { 6309 return false; 6310 } 6311 } 6312}); 6313 6314},{"./_export":39,"./_set-proto":105}],230:[function(require,module,exports){ 6315// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) 6316var dP = require('./_object-dp'); 6317var gOPD = require('./_object-gopd'); 6318var getPrototypeOf = require('./_object-gpo'); 6319var has = require('./_has'); 6320var $export = require('./_export'); 6321var createDesc = require('./_property-desc'); 6322var anObject = require('./_an-object'); 6323var isObject = require('./_is-object'); 6324 6325function set(target, propertyKey, V /* , receiver */) { 6326 var receiver = arguments.length < 4 ? target : arguments[3]; 6327 var ownDesc = gOPD.f(anObject(target), propertyKey); 6328 var existingDescriptor, proto; 6329 if (!ownDesc) { 6330 if (isObject(proto = getPrototypeOf(target))) { 6331 return set(proto, propertyKey, V, receiver); 6332 } 6333 ownDesc = createDesc(0); 6334 } 6335 if (has(ownDesc, 'value')) { 6336 if (ownDesc.writable === false || !isObject(receiver)) return false; 6337 if (existingDescriptor = gOPD.f(receiver, propertyKey)) { 6338 if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; 6339 existingDescriptor.value = V; 6340 dP.f(receiver, propertyKey, existingDescriptor); 6341 }
vendor: 13,955 bytes, lines 6341-6689
6341 else dP.f(receiver, propertyKey, createDesc(0, V)); 6342 return true; 6343 } 6344 return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); 6345} 6346 6347$export($export.S, 'Reflect', { set: set }); 6348 6349},{"./_an-object":13,"./_export":39,"./_has":48,"./_is-object":58,"./_object-dp":78,"./_object-gopd":81,"./_object-gpo":85,"./_property-desc":96}],231:[function(require,module,exports){ 6350var global = require('./_global'); 6351var inheritIfRequired = require('./_inherit-if-required'); 6352var dP = require('./_object-dp').f; 6353var gOPN = require('./_object-gopn').f; 6354var isRegExp = require('./_is-regexp'); 6355var $flags = require('./_flags'); 6356var $RegExp = global.RegExp; 6357var Base = $RegExp; 6358var proto = $RegExp.prototype; 6359var re1 = /a/g; 6360var re2 = /a/g; 6361// "new" creates a new object, old webkit buggy here 6362var CORRECT_NEW = new $RegExp(re1) !== re1; 6363 6364if (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () { 6365 re2[require('./_wks')('match')] = false; 6366 // RegExp constructor can alter flags and IsRegExp works correct with @@match 6367 return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; 6368}))) { 6369 $RegExp = function RegExp(p, f) { 6370 var tiRE = this instanceof $RegExp; 6371 var piRE = isRegExp(p); 6372 var fiU = f === undefined; 6373 return !tiRE && piRE && p.constructor === $RegExp && fiU ? p 6374 : inheritIfRequired(CORRECT_NEW 6375 ? new Base(piRE && !fiU ? p.source : p, f) 6376 : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) 6377 , tiRE ? this : proto, $RegExp); 6378 }; 6379 var proxy = function (key) { 6380 key in $RegExp || dP($RegExp, key, { 6381 configurable: true, 6382 get: function () { return Base[key]; }, 6383 set: function (it) { Base[key] = it; } 6384 }); 6385 }; 6386 for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); 6387 proto.constructor = $RegExp; 6388 $RegExp.prototype = proto; 6389 require('./_redefine')(global, 'RegExp', $RegExp); 6390} 6391 6392require('./_set-species')('RegExp'); 6393 6394},{"./_descriptors":35,"./_fails":41,"./_flags":43,"./_global":47,"./_inherit-if-required":52,"./_is-regexp":59,"./_object-dp":78,"./_object-gopn":83,"./_redefine":98,"./_set-species":106,"./_wks":135}],232:[function(require,module,exports){ 6395'use strict'; 6396var regexpExec = require('./_regexp-exec'); 6397require('./_export')({ 6398 target: 'RegExp', 6399 proto: true, 6400 forced: regexpExec !== /./.exec 6401}, { 6402 exec: regexpExec 6403}); 6404 6405},{"./_export":39,"./_regexp-exec":100}],233:[function(require,module,exports){ 6406// 21.2.5.3 get RegExp.prototype.flags() 6407if (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', { 6408 configurable: true, 6409 get: require('./_flags') 6410}); 6411 6412},{"./_descriptors":35,"./_flags":43,"./_object-dp":78}],234:[function(require,module,exports){ 6413'use strict'; 6414 6415var anObject = require('./_an-object'); 6416var toLength = require('./_to-length'); 6417var advanceStringIndex = require('./_advance-string-index'); 6418var regExpExec = require('./_regexp-exec-abstract'); 6419 6420// @@match logic 6421require('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) { 6422 return [ 6423 // `String.prototype.match` method 6424 // https://tc39.github.io/ecma262/#sec-string.prototype.match 6425 function match(regexp) { 6426 var O = defined(this); 6427 var fn = regexp == undefined ? undefined : regexp[MATCH]; 6428 return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); 6429 }, 6430 // `RegExp.prototype[@@match]` method 6431 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match 6432 function (regexp) { 6433 var res = maybeCallNative($match, regexp, this); 6434 if (res.done) return res.value; 6435 var rx = anObject(regexp); 6436 var S = String(this); 6437 if (!rx.global) return regExpExec(rx, S); 6438 var fullUnicode = rx.unicode; 6439 rx.lastIndex = 0; 6440 var A = []; 6441 var n = 0; 6442 var result; 6443 while ((result = regExpExec(rx, S)) !== null) { 6444 var matchStr = String(result[0]); 6445 A[n] = matchStr; 6446 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 6447 n++; 6448 } 6449 return n === 0 ? null : A; 6450 } 6451 ]; 6452}); 6453 6454},{"./_advance-string-index":11,"./_an-object":13,"./_fix-re-wks":42,"./_regexp-exec-abstract":99,"./_to-length":124}],235:[function(require,module,exports){ 6455'use strict'; 6456 6457var anObject = require('./_an-object'); 6458var toObject = require('./_to-object'); 6459var toLength = require('./_to-length'); 6460var toInteger = require('./_to-integer'); 6461var advanceStringIndex = require('./_advance-string-index'); 6462var regExpExec = require('./_regexp-exec-abstract'); 6463var max = Math.max; 6464var min = Math.min; 6465var floor = Math.floor; 6466var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; 6467var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; 6468 6469var maybeToString = function (it) { 6470 return it === undefined ? it : String(it); 6471}; 6472 6473// @@replace logic 6474require('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) { 6475 return [ 6476 // `String.prototype.replace` method 6477 // https://tc39.github.io/ecma262/#sec-string.prototype.replace 6478 function replace(searchValue, replaceValue) { 6479 var O = defined(this); 6480 var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; 6481 return fn !== undefined 6482 ? fn.call(searchValue, O, replaceValue) 6483 : $replace.call(String(O), searchValue, replaceValue); 6484 }, 6485 // `RegExp.prototype[@@replace]` method 6486 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace 6487 function (regexp, replaceValue) { 6488 var res = maybeCallNative($replace, regexp, this, replaceValue); 6489 if (res.done) return res.value; 6490 6491 var rx = anObject(regexp); 6492 var S = String(this); 6493 var functionalReplace = typeof replaceValue === 'function'; 6494 if (!functionalReplace) replaceValue = String(replaceValue); 6495 var global = rx.global; 6496 if (global) { 6497 var fullUnicode = rx.unicode; 6498 rx.lastIndex = 0; 6499 } 6500 var results = []; 6501 while (true) { 6502 var result = regExpExec(rx, S); 6503 if (result === null) break; 6504 results.push(result); 6505 if (!global) break; 6506 var matchStr = String(result[0]); 6507 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 6508 } 6509 var accumulatedResult = ''; 6510 var nextSourcePosition = 0; 6511 for (var i = 0; i < results.length; i++) { 6512 result = results[i]; 6513 var matched = String(result[0]); 6514 var position = max(min(toInteger(result.index), S.length), 0); 6515 var captures = []; 6516 // NOTE: This is equivalent to 6517 // captures = result.slice(1).map(maybeToString) 6518 // but for some reason `nativeSlice.call(result, 1, result.length)` (called in 6519 // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and 6520 // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. 6521 for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); 6522 var namedCaptures = result.groups; 6523 if (functionalReplace) { 6524 var replacerArgs = [matched].concat(captures, position, S); 6525 if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); 6526 var replacement = String(replaceValue.apply(undefined, replacerArgs)); 6527 } else { 6528 replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); 6529 } 6530 if (position >= nextSourcePosition) { 6531 accumulatedResult += S.slice(nextSourcePosition, position) + replacement; 6532 nextSourcePosition = position + matched.length; 6533 } 6534 } 6535 return accumulatedResult + S.slice(nextSourcePosition); 6536 } 6537 ]; 6538 6539 // https://tc39.github.io/ecma262/#sec-getsubstitution 6540 function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { 6541 var tailPos = position + matched.length; 6542 var m = captures.length; 6543 var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; 6544 if (namedCaptures !== undefined) { 6545 namedCaptures = toObject(namedCaptures); 6546 symbols = SUBSTITUTION_SYMBOLS; 6547 } 6548 return $replace.call(replacement, symbols, function (match, ch) { 6549 var capture; 6550 switch (ch.charAt(0)) { 6551 case '$': return '$'; 6552 case '&': return matched; 6553 case '`': return str.slice(0, position); 6554 case "'": return str.slice(tailPos); 6555 case '<': 6556 capture = namedCaptures[ch.slice(1, -1)]; 6557 break; 6558 default: // \d\d? 6559 var n = +ch; 6560 if (n === 0) return match; 6561 if (n > m) { 6562 var f = floor(n / 10); 6563 if (f === 0) return match; 6564 if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); 6565 return match; 6566 } 6567 capture = captures[n - 1]; 6568 } 6569 return capture === undefined ? '' : capture; 6570 }); 6571 } 6572}); 6573 6574},{"./_advance-string-index":11,"./_an-object":13,"./_fix-re-wks":42,"./_regexp-exec-abstract":99,"./_to-integer":122,"./_to-length":124,"./_to-object":125}],236:[function(require,module,exports){ 6575'use strict'; 6576 6577var anObject = require('./_an-object'); 6578var sameValue = require('./_same-value'); 6579var regExpExec = require('./_regexp-exec-abstract'); 6580 6581// @@search logic 6582require('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) { 6583 return [ 6584 // `String.prototype.search` method 6585 // https://tc39.github.io/ecma262/#sec-string.prototype.search 6586 function search(regexp) { 6587 var O = defined(this); 6588 var fn = regexp == undefined ? undefined : regexp[SEARCH]; 6589 return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); 6590 }, 6591 // `RegExp.prototype[@@search]` method 6592 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search 6593 function (regexp) { 6594 var res = maybeCallNative($search, regexp, this); 6595 if (res.done) return res.value; 6596 var rx = anObject(regexp); 6597 var S = String(this); 6598 var previousLastIndex = rx.lastIndex; 6599 if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; 6600 var result = regExpExec(rx, S); 6601 if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; 6602 return result === null ? -1 : result.index; 6603 } 6604 ]; 6605}); 6606 6607},{"./_an-object":13,"./_fix-re-wks":42,"./_regexp-exec-abstract":99,"./_same-value":102}],237:[function(require,module,exports){ 6608'use strict'; 6609 6610var isRegExp = require('./_is-regexp'); 6611var anObject = require('./_an-object'); 6612var speciesConstructor = require('./_species-constructor'); 6613var advanceStringIndex = require('./_advance-string-index'); 6614var toLength = require('./_to-length'); 6615var callRegExpExec = require('./_regexp-exec-abstract'); 6616var regexpExec = require('./_regexp-exec'); 6617var fails = require('./_fails'); 6618var $min = Math.min; 6619var $push = [].push; 6620var $SPLIT = 'split'; 6621var LENGTH = 'length'; 6622var LAST_INDEX = 'lastIndex'; 6623var MAX_UINT32 = 0xffffffff; 6624 6625// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError 6626var SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); }); 6627 6628// @@split logic 6629require('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) { 6630 var internalSplit; 6631 if ( 6632 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || 6633 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || 6634 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || 6635 '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || 6636 '.'[$SPLIT](/()()/)[LENGTH] > 1 || 6637 ''[$SPLIT](/.?/)[LENGTH] 6638 ) { 6639 // based on es5-shim implementation, need to rework it 6640 internalSplit = function (separator, limit) { 6641 var string = String(this); 6642 if (separator === undefined && limit === 0) return []; 6643 // If `separator` is not a regex, use native split 6644 if (!isRegExp(separator)) return $split.call(string, separator, limit); 6645 var output = []; 6646 var flags = (separator.ignoreCase ? 'i' : '') + 6647 (separator.multiline ? 'm' : '') + 6648 (separator.unicode ? 'u' : '') + 6649 (separator.sticky ? 'y' : ''); 6650 var lastLastIndex = 0; 6651 var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0; 6652 // Make `global` and avoid `lastIndex` issues by working with a copy 6653 var separatorCopy = new RegExp(separator.source, flags + 'g'); 6654 var match, lastIndex, lastLength; 6655 while (match = regexpExec.call(separatorCopy, string)) { 6656 lastIndex = separatorCopy[LAST_INDEX]; 6657 if (lastIndex > lastLastIndex) { 6658 output.push(string.slice(lastLastIndex, match.index)); 6659 if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); 6660 lastLength = match[0][LENGTH]; 6661 lastLastIndex = lastIndex; 6662 if (output[LENGTH] >= splitLimit) break; 6663 } 6664 if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop 6665 } 6666 if (lastLastIndex === string[LENGTH]) { 6667 if (lastLength || !separatorCopy.test('')) output.push(''); 6668 } else output.push(string.slice(lastLastIndex)); 6669 return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; 6670 }; 6671 // Chakra, V8 6672 } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { 6673 internalSplit = function (separator, limit) { 6674 return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit); 6675 }; 6676 } else { 6677 internalSplit = $split; 6678 } 6679 6680 return [ 6681 // `String.prototype.split` method 6682 // https://tc39.github.io/ecma262/#sec-string.prototype.split 6683 function split(separator, limit) { 6684 var O = defined(this); 6685 var splitter = separator == undefined ? undefined : separator[SPLIT]; 6686 return splitter !== undefined 6687 ? splitter.call(separator, O, limit) 6688 : internalSplit.call(String(O), separator, limit); 6689 },
vendor: 4,106 bytes, lines 6690-6804
6690 // `RegExp.prototype[@@split]` method 6691 // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split 6692 // 6693 // NOTE: This cannot be properly polyfilled in engines that don't support 6694 // the 'y' flag. 6695 function (regexp, limit) { 6696 var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split); 6697 if (res.done) return res.value; 6698 6699 var rx = anObject(regexp); 6700 var S = String(this); 6701 var C = speciesConstructor(rx, RegExp); 6702 6703 var unicodeMatching = rx.unicode; 6704 var flags = (rx.ignoreCase ? 'i' : '') + 6705 (rx.multiline ? 'm' : '') + 6706 (rx.unicode ? 'u' : '') + 6707 (SUPPORTS_Y ? 'y' : 'g'); 6708 6709 // ^(? + rx + ) is needed, in combination with some S slicing, to 6710 // simulate the 'y' flag. 6711 var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); 6712 var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; 6713 if (lim === 0) return []; 6714 if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; 6715 var p = 0; 6716 var q = 0; 6717 var A = []; 6718 while (q < S.length) { 6719 splitter.lastIndex = SUPPORTS_Y ? q : 0; 6720 var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); 6721 var e; 6722 if ( 6723 z === null || 6724 (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p 6725 ) { 6726 q = advanceStringIndex(S, q, unicodeMatching); 6727 } else { 6728 A.push(S.slice(p, q)); 6729 if (A.length === lim) return A; 6730 for (var i = 1; i <= z.length - 1; i++) { 6731 A.push(z[i]); 6732 if (A.length === lim) return A; 6733 } 6734 q = p = e; 6735 } 6736 } 6737 A.push(S.slice(p)); 6738 return A; 6739 } 6740 ]; 6741}); 6742 6743},{"./_advance-string-index":11,"./_an-object":13,"./_fails":41,"./_fix-re-wks":42,"./_is-regexp":59,"./_regexp-exec":100,"./_regexp-exec-abstract":99,"./_species-constructor":110,"./_to-length":124}],238:[function(require,module,exports){ 6744'use strict'; 6745require('./es6.regexp.flags'); 6746var anObject = require('./_an-object'); 6747var $flags = require('./_flags'); 6748var DESCRIPTORS = require('./_descriptors'); 6749var TO_STRING = 'toString'; 6750var $toString = /./[TO_STRING]; 6751 6752var define = function (fn) { 6753 require('./_redefine')(RegExp.prototype, TO_STRING, fn, true); 6754}; 6755 6756// 21.2.5.14 RegExp.prototype.toString() 6757if (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { 6758 define(function toString() { 6759 var R = anObject(this); 6760 return '/'.concat(R.source, '/', 6761 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); 6762 }); 6763// FF44- RegExp#toString has a wrong name 6764} else if ($toString.name != TO_STRING) { 6765 define(function toString() { 6766 return $toString.call(this); 6767 }); 6768} 6769 6770},{"./_an-object":13,"./_descriptors":35,"./_fails":41,"./_flags":43,"./_redefine":98,"./es6.regexp.flags":233}],239:[function(require,module,exports){ 6771'use strict'; 6772var strong = require('./_collection-strong'); 6773var validate = require('./_validate-collection'); 6774var SET = 'Set'; 6775 6776// 23.2 Set Objects 6777module.exports = require('./_collection')(SET, function (get) { 6778 return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; 6779}, { 6780 // 23.2.3.1 Set.prototype.add(value) 6781 add: function add(value) { 6782 return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); 6783 } 6784}, strong); 6785 6786},{"./_collection":28,"./_collection-strong":25,"./_validate-collection":132}],240:[function(require,module,exports){ 6787'use strict'; 6788// B.2.3.2 String.prototype.anchor(name) 6789require('./_string-html')('anchor', function (createHTML) { 6790 return function anchor(name) { 6791 return createHTML(this, 'a', 'name', name); 6792 }; 6793}); 6794 6795},{"./_string-html":114}],241:[function(require,module,exports){ 6796'use strict'; 6797// B.2.3.3 String.prototype.big() 6798require('./_string-html')('big', function (createHTML) { 6799 return function big() { 6800 return createHTML(this, 'big', '', ''); 6801 }; 6802}); 6803 6804},{"./_string-html":114}
vendor: 8,499 bytes, lines 6804-7056
6804],242:[function(require,module,exports){ 6805'use strict'; 6806// B.2.3.4 String.prototype.blink() 6807require('./_string-html')('blink', function (createHTML) { 6808 return function blink() { 6809 return createHTML(this, 'blink', '', ''); 6810 }; 6811}); 6812 6813},{"./_string-html":114}],243:[function(require,module,exports){ 6814'use strict'; 6815// B.2.3.5 String.prototype.bold() 6816require('./_string-html')('bold', function (createHTML) { 6817 return function bold() { 6818 return createHTML(this, 'b', '', ''); 6819 }; 6820}); 6821 6822},{"./_string-html":114}],244:[function(require,module,exports){ 6823'use strict'; 6824var $export = require('./_export'); 6825var $at = require('./_string-at')(false); 6826$export($export.P, 'String', { 6827 // 21.1.3.3 String.prototype.codePointAt(pos) 6828 codePointAt: function codePointAt(pos) { 6829 return $at(this, pos); 6830 } 6831}); 6832 6833},{"./_export":39,"./_string-at":112}],245:[function(require,module,exports){ 6834// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) 6835'use strict'; 6836var $export = require('./_export'); 6837var toLength = require('./_to-length'); 6838var context = require('./_string-context'); 6839var ENDS_WITH = 'endsWith'; 6840var $endsWith = ''[ENDS_WITH]; 6841 6842$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', { 6843 endsWith: function endsWith(searchString /* , endPosition = @length */) { 6844 var that = context(this, searchString, ENDS_WITH); 6845 var endPosition = arguments.length > 1 ? arguments[1] : undefined; 6846 var len = toLength(that.length); 6847 var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); 6848 var search = String(searchString); 6849 return $endsWith 6850 ? $endsWith.call(that, search, end) 6851 : that.slice(end - search.length, end) === search; 6852 } 6853}); 6854 6855},{"./_export":39,"./_fails-is-regexp":40,"./_string-context":113,"./_to-length":124}],246:[function(require,module,exports){ 6856'use strict'; 6857// B.2.3.6 String.prototype.fixed() 6858require('./_string-html')('fixed', function (createHTML) { 6859 return function fixed() { 6860 return createHTML(this, 'tt', '', ''); 6861 }; 6862}); 6863 6864},{"./_string-html":114}],247:[function(require,module,exports){ 6865'use strict'; 6866// B.2.3.7 String.prototype.fontcolor(color) 6867require('./_string-html')('fontcolor', function (createHTML) { 6868 return function fontcolor(color) { 6869 return createHTML(this, 'font', 'color', color); 6870 }; 6871}); 6872 6873},{"./_string-html":114}],248:[function(require,module,exports){ 6874'use strict'; 6875// B.2.3.8 String.prototype.fontsize(size) 6876require('./_string-html')('fontsize', function (createHTML) { 6877 return function fontsize(size) { 6878 return createHTML(this, 'font', 'size', size); 6879 }; 6880}); 6881 6882},{"./_string-html":114}],249:[function(require,module,exports){ 6883var $export = require('./_export'); 6884var toAbsoluteIndex = require('./_to-absolute-index'); 6885var fromCharCode = String.fromCharCode; 6886var $fromCodePoint = String.fromCodePoint; 6887 6888// length should be 1, old FF problem 6889$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { 6890 // 21.1.2.2 String.fromCodePoint(...codePoints) 6891 fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars 6892 var res = []; 6893 var aLen = arguments.length; 6894 var i = 0; 6895 var code; 6896 while (aLen > i) { 6897 code = +arguments[i++]; 6898 if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); 6899 res.push(code < 0x10000 6900 ? fromCharCode(code) 6901 : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) 6902 ); 6903 } return res.join(''); 6904 } 6905}); 6906 6907},{"./_export":39,"./_to-absolute-index":120}],250:[function(require,module,exports){ 6908// 21.1.3.7 String.prototype.includes(searchString, position = 0) 6909'use strict'; 6910var $export = require('./_export'); 6911var context = require('./_string-context'); 6912var INCLUDES = 'includes'; 6913 6914$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', { 6915 includes: function includes(searchString /* , position = 0 */) { 6916 return !!~context(this, searchString, INCLUDES) 6917 .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); 6918 } 6919}); 6920 6921},{"./_export":39,"./_fails-is-regexp":40,"./_string-context":113}],251:[function(require,module,exports){ 6922'use strict'; 6923// B.2.3.9 String.prototype.italics() 6924require('./_string-html')('italics', function (createHTML) { 6925 return function italics() { 6926 return createHTML(this, 'i', '', ''); 6927 }; 6928}); 6929 6930},{"./_string-html":114}],252:[function(require,module,exports){ 6931'use strict'; 6932var $at = require('./_string-at')(true); 6933 6934// 21.1.3.27 String.prototype[@@iterator]() 6935require('./_iter-define')(String, 'String', function (iterated) { 6936 this._t = String(iterated); // target 6937 this._i = 0; // next index 6938// 21.1.5.2.1 %StringIteratorPrototype%.next() 6939}, function () { 6940 var O = this._t; 6941 var index = this._i; 6942 var point; 6943 if (index >= O.length) return { value: undefined, done: true }; 6944 point = $at(O, index); 6945 this._i += point.length; 6946 return { value: point, done: false }; 6947}); 6948 6949},{"./_iter-define":62,"./_string-at":112}],253:[function(require,module,exports){ 6950'use strict'; 6951// B.2.3.10 String.prototype.link(url) 6952require('./_string-html')('link', function (createHTML) { 6953 return function link(url) { 6954 return createHTML(this, 'a', 'href', url); 6955 }; 6956}); 6957 6958},{"./_string-html":114}],254:[function(require,module,exports){ 6959var $export = require('./_export'); 6960var toIObject = require('./_to-iobject'); 6961var toLength = require('./_to-length'); 6962 6963$export($export.S, 'String', { 6964 // 21.1.2.4 String.raw(callSite, ...substitutions) 6965 raw: function raw(callSite) { 6966 var tpl = toIObject(callSite.raw); 6967 var len = toLength(tpl.length); 6968 var aLen = arguments.length; 6969 var res = []; 6970 var i = 0; 6971 while (len > i) { 6972 res.push(String(tpl[i++])); 6973 if (i < aLen) res.push(String(arguments[i])); 6974 } return res.join(''); 6975 } 6976}); 6977 6978},{"./_export":39,"./_to-iobject":123,"./_to-length":124}],255:[function(require,module,exports){ 6979var $export = require('./_export'); 6980 6981$export($export.P, 'String', { 6982 // 21.1.3.13 String.prototype.repeat(count) 6983 repeat: require('./_string-repeat') 6984}); 6985 6986},{"./_export":39,"./_string-repeat":116}],256:[function(require,module,exports){ 6987'use strict'; 6988// B.2.3.11 String.prototype.small() 6989require('./_string-html')('small', function (createHTML) { 6990 return function small() { 6991 return createHTML(this, 'small', '', ''); 6992 }; 6993}); 6994 6995},{"./_string-html":114}],257:[function(require,module,exports){ 6996// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) 6997'use strict'; 6998var $export = require('./_export'); 6999var toLength = require('./_to-length'); 7000var context = require('./_string-context'); 7001var STARTS_WITH = 'startsWith'; 7002var $startsWith = ''[STARTS_WITH]; 7003 7004$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', { 7005 startsWith: function startsWith(searchString /* , position = 0 */) { 7006 var that = context(this, searchString, STARTS_WITH); 7007 var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); 7008 var search = String(searchString); 7009 return $startsWith 7010 ? $startsWith.call(that, search, index) 7011 : that.slice(index, index + search.length) === search; 7012 } 7013}); 7014 7015},{"./_export":39,"./_fails-is-regexp":40,"./_string-context":113,"./_to-length":124}],258:[function(require,module,exports){ 7016'use strict'; 7017// B.2.3.12 String.prototype.strike() 7018require('./_string-html')('strike', function (createHTML) { 7019 return function strike() { 7020 return createHTML(this, 'strike', '', ''); 7021 }; 7022}); 7023 7024},{"./_string-html":114}],259:[function(require,module,exports){ 7025'use strict'; 7026// B.2.3.13 String.prototype.sub() 7027require('./_string-html')('sub', function (createHTML) { 7028 return function sub() { 7029 return createHTML(this, 'sub', '', ''); 7030 }; 7031}); 7032 7033},{"./_string-html":114}],260:[function(require,module,exports){ 7034'use strict'; 7035// B.2.3.14 String.prototype.sup() 7036require('./_string-html')('sup', function (createHTML) { 7037 return function sup() { 7038 return createHTML(this, 'sup', '', ''); 7039 }; 7040}); 7041 7042},{"./_string-html":114}],261:[function(require,module,exports){ 7043'use strict'; 7044// 21.1.3.25 String.prototype.trim() 7045require('./_string-trim')('trim', function ($trim) { 7046 return function trim() { 7047 return $trim(this, 3); 7048 }; 7049}); 7050 7051},{"./_string-trim":117}],262:[function(require,module,exports){ 7052'use strict'; 7053// ECMAScript 6 symbols shim 7054var global = require('./_global'); 7055var has = require('./_has'); 7056var DESCRIPTORS = require('./_descriptors');
vendor: 11,787 bytes, lines 7057-7347
7057var $export = require('./_export'); 7058var redefine = require('./_redefine'); 7059var META = require('./_meta').KEY; 7060var $fails = require('./_fails'); 7061var shared = require('./_shared'); 7062var setToStringTag = require('./_set-to-string-tag'); 7063var uid = require('./_uid'); 7064var wks = require('./_wks'); 7065var wksExt = require('./_wks-ext'); 7066var wksDefine = require('./_wks-define'); 7067var enumKeys = require('./_enum-keys'); 7068var isArray = require('./_is-array'); 7069var anObject = require('./_an-object'); 7070var isObject = require('./_is-object'); 7071var toObject = require('./_to-object'); 7072var toIObject = require('./_to-iobject'); 7073var toPrimitive = require('./_to-primitive'); 7074var createDesc = require('./_property-desc'); 7075var _create = require('./_object-create'); 7076var gOPNExt = require('./_object-gopn-ext'); 7077var $GOPD = require('./_object-gopd'); 7078var $GOPS = require('./_object-gops'); 7079var $DP = require('./_object-dp'); 7080var $keys = require('./_object-keys'); 7081var gOPD = $GOPD.f; 7082var dP = $DP.f; 7083var gOPN = gOPNExt.f; 7084var $Symbol = global.Symbol; 7085var $JSON = global.JSON; 7086var _stringify = $JSON && $JSON.stringify; 7087var PROTOTYPE = 'prototype'; 7088var HIDDEN = wks('_hidden'); 7089var TO_PRIMITIVE = wks('toPrimitive'); 7090var isEnum = {}.propertyIsEnumerable; 7091var SymbolRegistry = shared('symbol-registry'); 7092var AllSymbols = shared('symbols'); 7093var OPSymbols = shared('op-symbols'); 7094var ObjectProto = Object[PROTOTYPE]; 7095var USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f; 7096var QObject = global.QObject; 7097// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 7098var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; 7099 7100// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 7101var setSymbolDesc = DESCRIPTORS && $fails(function () { 7102 return _create(dP({}, 'a', { 7103 get: function () { return dP(this, 'a', { value: 7 }).a; } 7104 })).a != 7; 7105}) ? function (it, key, D) { 7106 var protoDesc = gOPD(ObjectProto, key); 7107 if (protoDesc) delete ObjectProto[key]; 7108 dP(it, key, D); 7109 if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); 7110} : dP; 7111 7112var wrap = function (tag) { 7113 var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); 7114 sym._k = tag; 7115 return sym; 7116}; 7117 7118var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { 7119 return typeof it == 'symbol'; 7120} : function (it) { 7121 return it instanceof $Symbol; 7122}; 7123 7124var $defineProperty = function defineProperty(it, key, D) { 7125 if (it === ObjectProto) $defineProperty(OPSymbols, key, D); 7126 anObject(it); 7127 key = toPrimitive(key, true); 7128 anObject(D); 7129 if (has(AllSymbols, key)) { 7130 if (!D.enumerable) { 7131 if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); 7132 it[HIDDEN][key] = true; 7133 } else { 7134 if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; 7135 D = _create(D, { enumerable: createDesc(0, false) }); 7136 } return setSymbolDesc(it, key, D); 7137 } return dP(it, key, D); 7138}; 7139var $defineProperties = function defineProperties(it, P) { 7140 anObject(it); 7141 var keys = enumKeys(P = toIObject(P)); 7142 var i = 0; 7143 var l = keys.length; 7144 var key; 7145 while (l > i) $defineProperty(it, key = keys[i++], P[key]); 7146 return it; 7147}; 7148var $create = function create(it, P) { 7149 return P === undefined ? _create(it) : $defineProperties(_create(it), P); 7150}; 7151var $propertyIsEnumerable = function propertyIsEnumerable(key) { 7152 var E = isEnum.call(this, key = toPrimitive(key, true)); 7153 if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; 7154 return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; 7155}; 7156var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { 7157 it = toIObject(it); 7158 key = toPrimitive(key, true); 7159 if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; 7160 var D = gOPD(it, key); 7161 if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; 7162 return D; 7163}; 7164var $getOwnPropertyNames = function getOwnPropertyNames(it) { 7165 var names = gOPN(toIObject(it)); 7166 var result = []; 7167 var i = 0; 7168 var key; 7169 while (names.length > i) { 7170 if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); 7171 } return result; 7172}; 7173var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { 7174 var IS_OP = it === ObjectProto; 7175 var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); 7176 var result = []; 7177 var i = 0; 7178 var key; 7179 while (names.length > i) { 7180 if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); 7181 } return result; 7182}; 7183 7184// 19.4.1.1 Symbol([description]) 7185if (!USE_NATIVE) { 7186 $Symbol = function Symbol() { 7187 if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); 7188 var tag = uid(arguments.length > 0 ? arguments[0] : undefined); 7189 var $set = function (value) { 7190 if (this === ObjectProto) $set.call(OPSymbols, value); 7191 if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; 7192 setSymbolDesc(this, tag, createDesc(1, value)); 7193 }; 7194 if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); 7195 return wrap(tag); 7196 }; 7197 redefine($Symbol[PROTOTYPE], 'toString', function toString() { 7198 return this._k; 7199 }); 7200 7201 $GOPD.f = $getOwnPropertyDescriptor; 7202 $DP.f = $defineProperty; 7203 require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames; 7204 require('./_object-pie').f = $propertyIsEnumerable; 7205 $GOPS.f = $getOwnPropertySymbols; 7206 7207 if (DESCRIPTORS && !require('./_library')) { 7208 redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); 7209 } 7210 7211 wksExt.f = function (name) { 7212 return wrap(wks(name)); 7213 }; 7214} 7215 7216$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); 7217 7218for (var es6Symbols = ( 7219 // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 7220 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' 7221).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); 7222 7223for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); 7224 7225$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { 7226 // 19.4.2.1 Symbol.for(key) 7227 'for': function (key) { 7228 return has(SymbolRegistry, key += '') 7229 ? SymbolRegistry[key] 7230 : SymbolRegistry[key] = $Symbol(key); 7231 }, 7232 // 19.4.2.5 Symbol.keyFor(sym) 7233 keyFor: function keyFor(sym) { 7234 if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); 7235 for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; 7236 }, 7237 useSetter: function () { setter = true; }, 7238 useSimple: function () { setter = false; } 7239}); 7240 7241$export($export.S + $export.F * !USE_NATIVE, 'Object', { 7242 // 19.1.2.2 Object.create(O [, Properties]) 7243 create: $create, 7244 // 19.1.2.4 Object.defineProperty(O, P, Attributes) 7245 defineProperty: $defineProperty, 7246 // 19.1.2.3 Object.defineProperties(O, Properties) 7247 defineProperties: $defineProperties, 7248 // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) 7249 getOwnPropertyDescriptor: $getOwnPropertyDescriptor, 7250 // 19.1.2.7 Object.getOwnPropertyNames(O) 7251 getOwnPropertyNames: $getOwnPropertyNames, 7252 // 19.1.2.8 Object.getOwnPropertySymbols(O) 7253 getOwnPropertySymbols: $getOwnPropertySymbols 7254}); 7255 7256// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives 7257// https://bugs.chromium.org/p/v8/issues/detail?id=3443 7258var FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); }); 7259 7260$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', { 7261 getOwnPropertySymbols: function getOwnPropertySymbols(it) { 7262 return $GOPS.f(toObject(it)); 7263 } 7264}); 7265 7266// 24.3.2 JSON.stringify(value [, replacer [, space]]) 7267$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { 7268 var S = $Symbol(); 7269 // MS Edge converts symbol values to JSON as {} 7270 // WebKit converts symbol values to JSON as null 7271 // V8 throws on boxed symbols 7272 return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; 7273})), 'JSON', { 7274 stringify: function stringify(it) { 7275 var args = [it]; 7276 var i = 1; 7277 var replacer, $replacer; 7278 while (arguments.length > i) args.push(arguments[i++]); 7279 $replacer = replacer = args[1]; 7280 if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined 7281 if (!isArray(replacer)) replacer = function (key, value) { 7282 if (typeof $replacer == 'function') value = $replacer.call(this, key, value); 7283 if (!isSymbol(value)) return value; 7284 }; 7285 args[1] = replacer; 7286 return _stringify.apply($JSON, args); 7287 } 7288}); 7289 7290// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) 7291$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); 7292// 19.4.3.5 Symbol.prototype[@@toStringTag] 7293setToStringTag($Symbol, 'Symbol'); 7294// 20.2.1.9 Math[@@toStringTag] 7295setToStringTag(Math, 'Math', true); 7296// 24.3.3 JSON[@@toStringTag] 7297setToStringTag(global.JSON, 'JSON', true); 7298 7299},{"./_an-object":13,"./_descriptors":35,"./_enum-keys":38,"./_export":39,"./_fails":41,"./_global":47,"./_has":48,"./_hide":49,"./_is-array":56,"./_is-object":58,"./_library":66,"./_meta":72,"./_object-create":77,"./_object-dp":78,"./_object-gopd":81,"./_object-gopn":83,"./_object-gopn-ext":82,"./_object-gops":84,"./_object-keys":87,"./_object-pie":88,"./_property-desc":96,"./_redefine":98,"./_set-to-string-tag":107,"./_shared":109,"./_to-iobject":123,"./_to-object":125,"./_to-primitive":126,"./_uid":130,"./_wks":135,"./_wks-define":133,"./_wks-ext":134}],263:[function(require,module,exports){ 7300'use strict'; 7301var $export = require('./_export'); 7302var $typed = require('./_typed'); 7303var buffer = require('./_typed-buffer'); 7304var anObject = require('./_an-object'); 7305var toAbsoluteIndex = require('./_to-absolute-index'); 7306var toLength = require('./_to-length'); 7307var isObject = require('./_is-object'); 7308var ArrayBuffer = require('./_global').ArrayBuffer; 7309var speciesConstructor = require('./_species-constructor'); 7310var $ArrayBuffer = buffer.ArrayBuffer; 7311var $DataView = buffer.DataView; 7312var $isView = $typed.ABV && ArrayBuffer.isView; 7313var $slice = $ArrayBuffer.prototype.slice; 7314var VIEW = $typed.VIEW; 7315var ARRAY_BUFFER = 'ArrayBuffer'; 7316 7317$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); 7318 7319$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { 7320 // 24.1.3.1 ArrayBuffer.isView(arg) 7321 isView: function isView(it) { 7322 return $isView && $isView(it) || isObject(it) && VIEW in it; 7323 } 7324}); 7325 7326$export($export.P + $export.U + $export.F * require('./_fails')(function () { 7327 return !new $ArrayBuffer(2).slice(1, undefined).byteLength; 7328}), ARRAY_BUFFER, { 7329 // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) 7330 slice: function slice(start, end) { 7331 if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix 7332 var len = anObject(this).byteLength; 7333 var first = toAbsoluteIndex(start, len); 7334 var fin = toAbsoluteIndex(end === undefined ? len : end, len); 7335 var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); 7336 var viewS = new $DataView(this); 7337 var viewT = new $DataView(result); 7338 var index = 0; 7339 while (first < fin) { 7340 viewT.setUint8(index++, viewS.getUint8(first++)); 7341 } return result; 7342 } 7343}); 7344 7345require('./_set-species')(ARRAY_BUFFER); 7346 7347},{"./_an-object":13,"./_export":39,"./_fails":41,"./_global":47,"./_is-object":58,"./_set-species":106,"./_species-constructor":110,"./_to-absolute-index":120,"./_to-length":124,"./_typed":129,"./_typed-buffer":128}],264:[function(require,module,exports){
7348var $export = require('./_export'); 7349$export($export.G + $export.W + $export.F * !require('./_typed').ABV, { 7350 DataView: require('./_typed-buffer').DataView 7351}); 7352 7353},{"./_export":39,"./_typed":129,"./_typed-buffer":128}],265:[function(require,module,exports){ 7354require('./_typed-array')('Float32', 4, function (init) { 7355 return function Float32Array(data, byteOffset, length) { 7356 return init(this, data, byteOffset, length); 7357 }; 7358}); 7359 7360},{"./_typed-array":127}],266:[function(require,module,exports){ 7361require('./_typed-array')('Float64', 8, function (init) { 7362 return function Float64Array(data, byteOffset, length) { 7363 return init(this, data, byteOffset, length); 7364 }; 7365}); 7366 7367},{"./_typed-array":127}],267:[function(require,module,exports){ 7368require('./_typed-array')('Int16', 2, function (init) { 7369 return function Int16Array(data, byteOffset, length) { 7370 return init(this, data, byteOffset, length); 7371 }; 7372}); 7373 7374},{"./_typed-array":127}],268:[function(require,module,exports){ 7375require('./_typed-array')('Int32', 4, function (init) { 7376 return function Int32Array(data, byteOffset, length) { 7377 return init(this, data, byteOffset, length); 7378 }; 7379}); 7380 7381},{"./_typed-array":127}],269:[function(require,module,exports){ 7382require('./_typed-array')('Int8', 1, function (init) { 7383 return function Int8Array(data, byteOffset, length) { 7384 return init(this, data, byteOffset, length); 7385 }; 7386}); 7387 7388},{"./_typed-array":127}],270:[function(require,module,exports){ 7389require('./_typed-array')('Uint16', 2, function (init) { 7390 return function Uint16Array(data, byteOffset, length) { 7391 return init(this, data, byteOffset, length); 7392 }; 7393}); 7394 7395},{"./_typed-array":127}],271:[function(require,module,exports){ 7396require('./_typed-array')('Uint32', 4, function (init) { 7397 return function Uint32Array(data, byteOffset, length) { 7398 return init(this, data, byteOffset, length); 7399 }; 7400}); 7401 7402},{"./_typed-array":127}],272:[function(require,module,exports){ 7403require('./_typed-array')('Uint8', 1, function (init) { 7404 return function Uint8Array(data, byteOffset, length) { 7405 return init(this, data, byteOffset, length); 7406 }; 7407}); 7408 7409},{"./_typed-array":127}],273:[function(require,module,exports){ 7410require('./_typed-array')('Uint8', 1, function (init) { 7411 return function Uint8ClampedArray(data, byteOffset, length) { 7412 return init(this, data, byteOffset, length); 7413 }; 7414}, true); 7415 7416},{"./_typed-array":127}],274:[function(require,module,exports){ 7417'use strict'; 7418var global = require('./_global'); 7419var each = require('./_array-methods')(0); 7420var redefine = require('./_redefine'); 7421var meta = require('./_meta'); 7422var assign = require('./_object-assign'); 7423var weak = require('./_collection-weak'); 7424var isObject = require('./_is-object'); 7425var validate = require('./_validate-collection'); 7426var NATIVE_WEAK_MAP = require('./_validate-collection'); 7427var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; 7428var WEAK_MAP = 'WeakMap'; 7429var getWeak = meta.getWeak; 7430var isExtensible = Object.isExtensible; 7431var uncaughtFrozenStore = weak.ufstore; 7432var InternalMap; 7433 7434var wrapper = function (get) { 7435 return function WeakMap() { 7436 return get(this, arguments.length > 0 ? arguments[0] : undefined); 7437 }; 7438}; 7439 7440var methods = { 7441 // 23.3.3.3 WeakMap.prototype.get(key) 7442 get: function get(key) { 7443 if (isObject(key)) { 7444 var data = getWeak(key); 7445 if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); 7446 return data ? data[this._i] : undefined; 7447 } 7448 }, 7449 // 23.3.3.5 WeakMap.prototype.set(key, value) 7450 set: function set(key, value) { 7451 return weak.def(validate(this, WEAK_MAP), key, value); 7452 } 7453}; 7454 7455// 23.3 WeakMap Objects 7456var $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true); 7457 7458// IE11 WeakMap frozen keys fix 7459if (NATIVE_WEAK_MAP && IS_IE11) { 7460 InternalMap = weak.getConstructor(wrapper, WEAK_MAP); 7461 assign(InternalMap.prototype, methods); 7462 meta.NEED = true; 7463 each(['delete', 'has', 'get', 'set'], function (key) { 7464 var proto = $WeakMap.prototype; 7465 var method = proto[key]; 7466 redefine(proto, key, function (a, b) { 7467 // store frozen objects on internal weakmap shim 7468 if (isObject(a) && !isExtensible(a)) { 7469 if (!this._f) this._f = new InternalMap(); 7470 var result = this._f[key](a, b); 7471 return key == 'set' ? this : result; 7472 // store all the rest on native weakmap 7473 } return method.call(this, a, b); 7474 }); 7475 }); 7476} 7477 7478},{"./_array-methods":18,"./_collection":28,"./_collection-weak":27,"./_global":47,"./_is-object":58,"./_meta":72,"./_object-assign":76,"./_redefine":98,"./_validate-collection":132}],275:[function(require,module,exports){ 7479'use strict'; 7480var weak = require('./_collection-weak'); 7481var validate = require('./_validate-collection'); 7482var WEAK_SET = 'WeakSet'; 7483 7484// 23.4 WeakSet Objects 7485require('./_collection')(WEAK_SET, function (get) { 7486 return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; 7487}, { 7488 // 23.4.3.1 WeakSet.prototype.add(value) 7489 add: function add(value) { 7490 return weak.def(validate(this, WEAK_SET), value, true); 7491 } 7492}, weak, false, true); 7493 7494},{"./_collection":28,"./_collection-weak":27,"./_validate-collection":132}],276:[function(require,module,exports){ 7495'use strict'; 7496// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap
7497var $export = require('./_export'); 7498var flattenIntoArray = require('./_flatten-into-array'); 7499var toObject = require('./_to-object'); 7500var toLength = require('./_to-length'); 7501var aFunction = require('./_a-function'); 7502var arraySpeciesCreate = require('./_array-species-create'); 7503 7504$export($export.P, 'Array', { 7505 flatMap: function flatMap(callbackfn /* , thisArg */) { 7506 var O = toObject(this); 7507 var sourceLen, A; 7508 aFunction(callbackfn); 7509 sourceLen = toLength(O.length); 7510 A = arraySpeciesCreate(O, 0); 7511 flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]); 7512 return A; 7513 } 7514}); 7515 7516require('./_add-to-unscopables')('flatMap'); 7517 7518},{"./_a-function":8,"./_add-to-unscopables":10,"./_array-species-create":21,"./_export":39,"./_flatten-into-array":44,"./_to-length":124,"./_to-object":125}],277:[function(require,module,exports){ 7519'use strict'; 7520// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten 7521var $export = require('./_export'); 7522var flattenIntoArray = require('./_flatten-into-array'); 7523var toObject = require('./_to-object'); 7524var toLength = require('./_to-length'); 7525var toInteger = require('./_to-integer'); 7526var arraySpeciesCreate = require('./_array-species-create'); 7527 7528$export($export.P, 'Array', { 7529 flatten: function flatten(/* depthArg = 1 */) { 7530 var depthArg = arguments[0]; 7531 var O = toObject(this); 7532 var sourceLen = toLength(O.length); 7533 var A = arraySpeciesCreate(O, 0); 7534 flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); 7535 return A; 7536 } 7537}); 7538 7539require('./_add-to-unscopables')('flatten'); 7540 7541},{"./_add-to-unscopables":10,"./_array-species-create":21,"./_export":39,"./_flatten-into-array":44,"./_to-integer":122,"./_to-length":124,"./_to-object":125}],278:[function(require,module,exports){ 7542'use strict'; 7543// https://github.com/tc39/Array.prototype.includes 7544var $export = require('./_export'); 7545var $includes = require('./_array-includes')(true); 7546 7547$export($export.P, 'Array', { 7548 includes: function includes(el /* , fromIndex = 0 */) { 7549 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); 7550 } 7551}); 7552 7553require('./_add-to-unscopables')('includes'); 7554 7555},{"./_add-to-unscopables":10,"./_array-includes":17,"./_export":39}],279:[function(require,module,exports){ 7556// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask 7557var $export = require('./_export'); 7558var microtask = require('./_microtask')(); 7559var process = require('./_global').process; 7560var isNode = require('./_cof')(process) == 'process'; 7561 7562$export($export.G, { 7563 asap: function asap(fn) { 7564 var domain = isNode && process.domain; 7565 microtask(domain ? domain.bind(fn) : fn); 7566 } 7567}); 7568 7569},{"./_cof":24,"./_export":39,"./_global":47,"./_microtask":74}],280:[function(require,module,exports){ 7570// https://github.com/ljharb/proposal-is-error 7571var $export = require('./_export'); 7572var cof = require('./_cof'); 7573 7574$export($export.S, 'Error', { 7575 isError: function isError(it) { 7576 return cof(it) === 'Error'; 7577 } 7578}); 7579 7580},{"./_cof":24,"./_export":39}],281:[function(require,module,exports){ 7581// https://github.com/tc39/proposal-global 7582var $export = require('./_export'); 7583 7584$export($export.G, { global: require('./_global') }); 7585 7586},{"./_export":39,"./_global":47}],282:[function(require,module,exports){ 7587// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from 7588require('./_set-collection-from')('Map'); 7589 7590},{"./_set-collection-from":103}],283:[function(require,module,exports){ 7591// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of 7592require('./_set-collection-of')('Map'); 7593 7594},{"./_set-collection-of":104}],284:[function(require,module,exports){ 7595// https://github.com/DavidBruant/Map-Set.prototype.toJSON 7596var $export = require('./_export'); 7597 7598$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') }); 7599 7600},{"./_collection-to-json":26,"./_export":39}],285:[function(require,module,exports){ 7601// https://rwaldron.github.io/proposal-math-extensions/
7602var $export = require('./_export'); 7603 7604$export($export.S, 'Math', { 7605 clamp: function clamp(x, lower, upper) { 7606 return Math.min(upper, Math.max(lower, x)); 7607 } 7608}); 7609 7610},{"./_export":39}],286:[function(require,module,exports){ 7611// https://rwaldron.github.io/proposal-math-extensions/ 7612var $export = require('./_export'); 7613 7614$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 }); 7615 7616},{"./_export":39}],287:[function(require,module,exports){ 7617// https://rwaldron.github.io/proposal-math-extensions/ 7618var $export = require('./_export'); 7619var RAD_PER_DEG = 180 / Math.PI; 7620 7621$export($export.S, 'Math', { 7622 degrees: function degrees(radians) { 7623 return radians * RAD_PER_DEG; 7624 } 7625}); 7626 7627},{"./_export":39}],288:[function(require,module,exports){ 7628// https://rwaldron.github.io/proposal-math-extensions/ 7629var $export = require('./_export'); 7630var scale = require('./_math-scale'); 7631var fround = require('./_math-fround'); 7632 7633$export($export.S, 'Math', { 7634 fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { 7635 return fround(scale(x, inLow, inHigh, outLow, outHigh)); 7636 } 7637}); 7638 7639},{"./_export":39,"./_math-fround":68,"./_math-scale":70}],289:[function(require,module,exports){ 7640// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 7641var $export = require('./_export'); 7642 7643$export($export.S, 'Math', { 7644 iaddh: function iaddh(x0, x1, y0, y1) { 7645 var $x0 = x0 >>> 0; 7646 var $x1 = x1 >>> 0;
vendor: 5,786 bytes, lines 7647-7816
7647 var $y0 = y0 >>> 0; 7648 return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; 7649 } 7650}); 7651 7652},{"./_export":39}],290:[function(require,module,exports){ 7653// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 7654var $export = require('./_export'); 7655 7656$export($export.S, 'Math', { 7657 imulh: function imulh(u, v) { 7658 var UINT16 = 0xffff; 7659 var $u = +u; 7660 var $v = +v; 7661 var u0 = $u & UINT16; 7662 var v0 = $v & UINT16; 7663 var u1 = $u >> 16; 7664 var v1 = $v >> 16; 7665 var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); 7666 return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); 7667 } 7668}); 7669 7670},{"./_export":39}],291:[function(require,module,exports){ 7671// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 7672var $export = require('./_export'); 7673 7674$export($export.S, 'Math', { 7675 isubh: function isubh(x0, x1, y0, y1) { 7676 var $x0 = x0 >>> 0; 7677 var $x1 = x1 >>> 0; 7678 var $y0 = y0 >>> 0; 7679 return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; 7680 } 7681}); 7682 7683},{"./_export":39}],292:[function(require,module,exports){ 7684// https://rwaldron.github.io/proposal-math-extensions/ 7685var $export = require('./_export'); 7686 7687$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI }); 7688 7689},{"./_export":39}],293:[function(require,module,exports){ 7690// https://rwaldron.github.io/proposal-math-extensions/ 7691var $export = require('./_export'); 7692var DEG_PER_RAD = Math.PI / 180; 7693 7694$export($export.S, 'Math', { 7695 radians: function radians(degrees) { 7696 return degrees * DEG_PER_RAD; 7697 } 7698}); 7699 7700},{"./_export":39}],294:[function(require,module,exports){ 7701// https://rwaldron.github.io/proposal-math-extensions/ 7702var $export = require('./_export'); 7703 7704$export($export.S, 'Math', { scale: require('./_math-scale') }); 7705 7706},{"./_export":39,"./_math-scale":70}],295:[function(require,module,exports){ 7707// http://jfbastien.github.io/papers/Math.signbit.html 7708var $export = require('./_export'); 7709 7710$export($export.S, 'Math', { signbit: function signbit(x) { 7711 // eslint-disable-next-line no-self-compare 7712 return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0; 7713} }); 7714 7715},{"./_export":39}],296:[function(require,module,exports){ 7716// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 7717var $export = require('./_export'); 7718 7719$export($export.S, 'Math', { 7720 umulh: function umulh(u, v) { 7721 var UINT16 = 0xffff; 7722 var $u = +u; 7723 var $v = +v; 7724 var u0 = $u & UINT16; 7725 var v0 = $v & UINT16; 7726 var u1 = $u >>> 16; 7727 var v1 = $v >>> 16; 7728 var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); 7729 return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); 7730 } 7731}); 7732 7733},{"./_export":39}],297:[function(require,module,exports){ 7734'use strict'; 7735var $export = require('./_export'); 7736var toObject = require('./_to-object'); 7737var aFunction = require('./_a-function'); 7738var $defineProperty = require('./_object-dp'); 7739 7740// B.2.2.2 Object.prototype.__defineGetter__(P, getter) 7741require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { 7742 __defineGetter__: function __defineGetter__(P, getter) { 7743 $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); 7744 } 7745}); 7746 7747},{"./_a-function":8,"./_descriptors":35,"./_export":39,"./_object-dp":78,"./_object-forced-pam":80,"./_to-object":125}],298:[function(require,module,exports){ 7748'use strict'; 7749var $export = require('./_export'); 7750var toObject = require('./_to-object'); 7751var aFunction = require('./_a-function'); 7752var $defineProperty = require('./_object-dp'); 7753 7754// B.2.2.3 Object.prototype.__defineSetter__(P, setter) 7755require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { 7756 __defineSetter__: function __defineSetter__(P, setter) { 7757 $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); 7758 } 7759}); 7760 7761},{"./_a-function":8,"./_descriptors":35,"./_export":39,"./_object-dp":78,"./_object-forced-pam":80,"./_to-object":125}],299:[function(require,module,exports){ 7762// https://github.com/tc39/proposal-object-values-entries 7763var $export = require('./_export'); 7764var $entries = require('./_object-to-array')(true); 7765 7766$export($export.S, 'Object', { 7767 entries: function entries(it) { 7768 return $entries(it); 7769 } 7770}); 7771 7772},{"./_export":39,"./_object-to-array":90}],300:[function(require,module,exports){ 7773// https://github.com/tc39/proposal-object-getownpropertydescriptors 7774var $export = require('./_export'); 7775var ownKeys = require('./_own-keys'); 7776var toIObject = require('./_to-iobject'); 7777var gOPD = require('./_object-gopd'); 7778var createProperty = require('./_create-property'); 7779 7780$export($export.S, 'Object', { 7781 getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { 7782 var O = toIObject(object); 7783 var getDesc = gOPD.f; 7784 var keys = ownKeys(O); 7785 var result = {}; 7786 var i = 0; 7787 var key, desc; 7788 while (keys.length > i) { 7789 desc = getDesc(O, key = keys[i++]); 7790 if (desc !== undefined) createProperty(result, key, desc); 7791 } 7792 return result; 7793 } 7794}); 7795 7796},{"./_create-property":30,"./_export":39,"./_object-gopd":81,"./_own-keys":91,"./_to-iobject":123}],301:[function(require,module,exports){ 7797'use strict'; 7798var $export = require('./_export'); 7799var toObject = require('./_to-object'); 7800var toPrimitive = require('./_to-primitive'); 7801var getPrototypeOf = require('./_object-gpo'); 7802var getOwnPropertyDescriptor = require('./_object-gopd').f; 7803 7804// B.2.2.4 Object.prototype.__lookupGetter__(P) 7805require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { 7806 __lookupGetter__: function __lookupGetter__(P) { 7807 var O = toObject(this); 7808 var K = toPrimitive(P, true); 7809 var D; 7810 do { 7811 if (D = getOwnPropertyDescriptor(O, K)) return D.get; 7812 } while (O = getPrototypeOf(O)); 7813 } 7814}); 7815 7816}
vendor: 8,048 bytes, lines 7816-8072
7816,{"./_descriptors":35,"./_export":39,"./_object-forced-pam":80,"./_object-gopd":81,"./_object-gpo":85,"./_to-object":125,"./_to-primitive":126}],302:[function(require,module,exports){ 7817'use strict'; 7818var $export = require('./_export'); 7819var toObject = require('./_to-object'); 7820var toPrimitive = require('./_to-primitive'); 7821var getPrototypeOf = require('./_object-gpo'); 7822var getOwnPropertyDescriptor = require('./_object-gopd').f; 7823 7824// B.2.2.5 Object.prototype.__lookupSetter__(P) 7825require('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', { 7826 __lookupSetter__: function __lookupSetter__(P) { 7827 var O = toObject(this); 7828 var K = toPrimitive(P, true); 7829 var D; 7830 do { 7831 if (D = getOwnPropertyDescriptor(O, K)) return D.set; 7832 } while (O = getPrototypeOf(O)); 7833 } 7834}); 7835 7836},{"./_descriptors":35,"./_export":39,"./_object-forced-pam":80,"./_object-gopd":81,"./_object-gpo":85,"./_to-object":125,"./_to-primitive":126}],303:[function(require,module,exports){ 7837// https://github.com/tc39/proposal-object-values-entries 7838var $export = require('./_export'); 7839var $values = require('./_object-to-array')(false); 7840 7841$export($export.S, 'Object', { 7842 values: function values(it) { 7843 return $values(it); 7844 } 7845}); 7846 7847},{"./_export":39,"./_object-to-array":90}],304:[function(require,module,exports){ 7848'use strict'; 7849// https://github.com/zenparsing/es-observable 7850var $export = require('./_export'); 7851var global = require('./_global'); 7852var core = require('./_core'); 7853var microtask = require('./_microtask')(); 7854var OBSERVABLE = require('./_wks')('observable'); 7855var aFunction = require('./_a-function'); 7856var anObject = require('./_an-object'); 7857var anInstance = require('./_an-instance'); 7858var redefineAll = require('./_redefine-all'); 7859var hide = require('./_hide'); 7860var forOf = require('./_for-of'); 7861var RETURN = forOf.RETURN; 7862 7863var getMethod = function (fn) { 7864 return fn == null ? undefined : aFunction(fn); 7865}; 7866 7867var cleanupSubscription = function (subscription) { 7868 var cleanup = subscription._c; 7869 if (cleanup) { 7870 subscription._c = undefined; 7871 cleanup(); 7872 } 7873}; 7874 7875var subscriptionClosed = function (subscription) { 7876 return subscription._o === undefined; 7877}; 7878 7879var closeSubscription = function (subscription) { 7880 if (!subscriptionClosed(subscription)) { 7881 subscription._o = undefined; 7882 cleanupSubscription(subscription); 7883 } 7884}; 7885 7886var Subscription = function (observer, subscriber) { 7887 anObject(observer); 7888 this._c = undefined; 7889 this._o = observer; 7890 observer = new SubscriptionObserver(this); 7891 try { 7892 var cleanup = subscriber(observer); 7893 var subscription = cleanup; 7894 if (cleanup != null) { 7895 if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); }; 7896 else aFunction(cleanup); 7897 this._c = cleanup; 7898 } 7899 } catch (e) { 7900 observer.error(e); 7901 return; 7902 } if (subscriptionClosed(this)) cleanupSubscription(this); 7903}; 7904 7905Subscription.prototype = redefineAll({}, { 7906 unsubscribe: function unsubscribe() { closeSubscription(this); } 7907}); 7908 7909var SubscriptionObserver = function (subscription) { 7910 this._s = subscription; 7911}; 7912 7913SubscriptionObserver.prototype = redefineAll({}, { 7914 next: function next(value) { 7915 var subscription = this._s; 7916 if (!subscriptionClosed(subscription)) { 7917 var observer = subscription._o; 7918 try { 7919 var m = getMethod(observer.next); 7920 if (m) return m.call(observer, value); 7921 } catch (e) { 7922 try { 7923 closeSubscription(subscription); 7924 } finally { 7925 throw e; 7926 } 7927 } 7928 } 7929 }, 7930 error: function error(value) { 7931 var subscription = this._s; 7932 if (subscriptionClosed(subscription)) throw value; 7933 var observer = subscription._o; 7934 subscription._o = undefined; 7935 try { 7936 var m = getMethod(observer.error); 7937 if (!m) throw value; 7938 value = m.call(observer, value); 7939 } catch (e) { 7940 try { 7941 cleanupSubscription(subscription); 7942 } finally { 7943 throw e; 7944 } 7945 } cleanupSubscription(subscription); 7946 return value; 7947 }, 7948 complete: function complete(value) { 7949 var subscription = this._s; 7950 if (!subscriptionClosed(subscription)) { 7951 var observer = subscription._o; 7952 subscription._o = undefined; 7953 try { 7954 var m = getMethod(observer.complete); 7955 value = m ? m.call(observer, value) : undefined; 7956 } catch (e) { 7957 try { 7958 cleanupSubscription(subscription); 7959 } finally { 7960 throw e; 7961 } 7962 } cleanupSubscription(subscription); 7963 return value; 7964 } 7965 } 7966}); 7967 7968var $Observable = function Observable(subscriber) { 7969 anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber); 7970}; 7971 7972redefineAll($Observable.prototype, { 7973 subscribe: function subscribe(observer) { 7974 return new Subscription(observer, this._f); 7975 }, 7976 forEach: function forEach(fn) { 7977 var that = this; 7978 return new (core.Promise || global.Promise)(function (resolve, reject) { 7979 aFunction(fn); 7980 var subscription = that.subscribe({ 7981 next: function (value) { 7982 try { 7983 return fn(value); 7984 } catch (e) { 7985 reject(e); 7986 subscription.unsubscribe(); 7987 } 7988 }, 7989 error: reject, 7990 complete: resolve 7991 }); 7992 }); 7993 } 7994}); 7995 7996redefineAll($Observable, { 7997 from: function from(x) { 7998 var C = typeof this === 'function' ? this : $Observable; 7999 var method = getMethod(anObject(x)[OBSERVABLE]); 8000 if (method) { 8001 var observable = anObject(method.call(x)); 8002 return observable.constructor === C ? observable : new C(function (observer) { 8003 return observable.subscribe(observer); 8004 }); 8005 } 8006 return new C(function (observer) { 8007 var done = false; 8008 microtask(function () { 8009 if (!done) { 8010 try { 8011 if (forOf(x, false, function (it) { 8012 observer.next(it); 8013 if (done) return RETURN; 8014 }) === RETURN) return; 8015 } catch (e) { 8016 if (done) throw e; 8017 observer.error(e); 8018 return; 8019 } observer.complete(); 8020 } 8021 }); 8022 return function () { done = true; }; 8023 }); 8024 }, 8025 of: function of() { 8026 for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++]; 8027 return new (typeof this === 'function' ? this : $Observable)(function (observer) { 8028 var done = false; 8029 microtask(function () { 8030 if (!done) { 8031 for (var j = 0; j < items.length; ++j) { 8032 observer.next(items[j]); 8033 if (done) return; 8034 } observer.complete(); 8035 } 8036 }); 8037 return function () { done = true; }; 8038 }); 8039 } 8040}); 8041 8042hide($Observable.prototype, OBSERVABLE, function () { return this; }); 8043 8044$export($export.G, { Observable: $Observable }); 8045 8046require('./_set-species')('Observable'); 8047 8048},{"./_a-function":8,"./_an-instance":12,"./_an-object":13,"./_core":29,"./_export":39,"./_for-of":45,"./_global":47,"./_hide":49,"./_microtask":74,"./_redefine-all":97,"./_set-species":106,"./_wks":135}],305:[function(require,module,exports){ 8049// https://github.com/tc39/proposal-promise-finally 8050'use strict'; 8051var $export = require('./_export'); 8052var core = require('./_core'); 8053var global = require('./_global'); 8054var speciesConstructor = require('./_species-constructor'); 8055var promiseResolve = require('./_promise-resolve'); 8056 8057$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { 8058 var C = speciesConstructor(this, core.Promise || global.Promise); 8059 var isFunction = typeof onFinally == 'function'; 8060 return this.then( 8061 isFunction ? function (x) { 8062 return promiseResolve(C, onFinally()).then(function () { return x; }); 8063 } : onFinally, 8064 isFunction ? function (e) { 8065 return promiseResolve(C, onFinally()).then(function () { throw e; }); 8066 } : onFinally 8067 ); 8068} }); 8069 8070},{"./_core":29,"./_export":39,"./_global":47,"./_promise-resolve":95,"./_species-constructor":110}],306:[function(require,module,exports){ 8071'use strict'; 8072// https://github.com/tc39/proposal-promise-try
vendor: 4,899 bytes, lines 8073-8183
8073var $export = require('./_export'); 8074var newPromiseCapability = require('./_new-promise-capability'); 8075var perform = require('./_perform'); 8076 8077$export($export.S, 'Promise', { 'try': function (callbackfn) { 8078 var promiseCapability = newPromiseCapability.f(this); 8079 var result = perform(callbackfn); 8080 (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v); 8081 return promiseCapability.promise; 8082} }); 8083 8084},{"./_export":39,"./_new-promise-capability":75,"./_perform":94}],307:[function(require,module,exports){ 8085var metadata = require('./_metadata'); 8086var anObject = require('./_an-object'); 8087var toMetaKey = metadata.key; 8088var ordinaryDefineOwnMetadata = metadata.set; 8089 8090metadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) { 8091 ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey)); 8092} }); 8093 8094},{"./_an-object":13,"./_metadata":73}],308:[function(require,module,exports){ 8095var metadata = require('./_metadata'); 8096var anObject = require('./_an-object'); 8097var toMetaKey = metadata.key; 8098var getOrCreateMetadataMap = metadata.map; 8099var store = metadata.store; 8100 8101metadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { 8102 var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]); 8103 var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); 8104 if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; 8105 if (metadataMap.size) return true; 8106 var targetMetadata = store.get(target); 8107 targetMetadata['delete'](targetKey); 8108 return !!targetMetadata.size || store['delete'](target); 8109} }); 8110 8111},{"./_an-object":13,"./_metadata":73}],309:[function(require,module,exports){ 8112var Set = require('./es6.set'); 8113var from = require('./_array-from-iterable'); 8114var metadata = require('./_metadata'); 8115var anObject = require('./_an-object'); 8116var getPrototypeOf = require('./_object-gpo'); 8117var ordinaryOwnMetadataKeys = metadata.keys; 8118var toMetaKey = metadata.key; 8119 8120var ordinaryMetadataKeys = function (O, P) { 8121 var oKeys = ordinaryOwnMetadataKeys(O, P); 8122 var parent = getPrototypeOf(O); 8123 if (parent === null) return oKeys; 8124 var pKeys = ordinaryMetadataKeys(parent, P); 8125 return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; 8126}; 8127 8128metadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { 8129 return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); 8130} }); 8131 8132},{"./_an-object":13,"./_array-from-iterable":16,"./_metadata":73,"./_object-gpo":85,"./es6.set":239}],310:[function(require,module,exports){ 8133var metadata = require('./_metadata'); 8134var anObject = require('./_an-object'); 8135var getPrototypeOf = require('./_object-gpo'); 8136var ordinaryHasOwnMetadata = metadata.has; 8137var ordinaryGetOwnMetadata = metadata.get; 8138var toMetaKey = metadata.key; 8139 8140var ordinaryGetMetadata = function (MetadataKey, O, P) { 8141 var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); 8142 if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); 8143 var parent = getPrototypeOf(O); 8144 return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; 8145}; 8146 8147metadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { 8148 return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); 8149} }); 8150 8151},{"./_an-object":13,"./_metadata":73,"./_object-gpo":85}],311:[function(require,module,exports){ 8152var metadata = require('./_metadata'); 8153var anObject = require('./_an-object'); 8154var ordinaryOwnMetadataKeys = metadata.keys; 8155var toMetaKey = metadata.key; 8156 8157metadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { 8158 return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1])); 8159} }); 8160 8161},{"./_an-object":13,"./_metadata":73}],312:[function(require,module,exports){ 8162var metadata = require('./_metadata'); 8163var anObject = require('./_an-object'); 8164var ordinaryGetOwnMetadata = metadata.get; 8165var toMetaKey = metadata.key; 8166 8167metadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { 8168 return ordinaryGetOwnMetadata(metadataKey, anObject(target) 8169 , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); 8170} }); 8171 8172},{"./_an-object":13,"./_metadata":73}],313:[function(require,module,exports){ 8173var metadata = require('./_metadata'); 8174var anObject = require('./_an-object'); 8175var getPrototypeOf = require('./_object-gpo'); 8176var ordinaryHasOwnMetadata = metadata.has; 8177var toMetaKey = metadata.key; 8178 8179var ordinaryHasMetadata = function (MetadataKey, O, P) { 8180 var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); 8181 if (hasOwn) return true; 8182 var parent = getPrototypeOf(O); 8183 return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;
8184}; 8185 8186metadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { 8187 return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2])); 8188} }); 8189 8190},{"./_an-object":13,"./_metadata":73,"./_object-gpo":85}],314:[function(require,module,exports){ 8191var metadata = require('./_metadata'); 8192var anObject = require('./_an-object'); 8193var ordinaryHasOwnMetadata = metadata.has; 8194var toMetaKey = metadata.key; 8195 8196metadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { 8197 return ordinaryHasOwnMetadata(metadataKey, anObject(target) 8198 , arguments.length < 3 ? undefined : toMetaKey(arguments[2])); 8199} }); 8200 8201},{"./_an-object":13,"./_metadata":73}],315:[function(require,module,exports){ 8202var $metadata = require('./_metadata'); 8203var anObject = require('./_an-object'); 8204var aFunction = require('./_a-function'); 8205var toMetaKey = $metadata.key; 8206var ordinaryDefineOwnMetadata = $metadata.set; 8207 8208$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) { 8209 return function decorator(target, targetKey) { 8210 ordinaryDefineOwnMetadata( 8211 metadataKey, metadataValue, 8212 (targetKey !== undefined ? anObject : aFunction)(target), 8213 toMetaKey(targetKey) 8214 ); 8215 }; 8216} }); 8217 8218},{"./_a-function":8,"./_an-object":13,"./_metadata":73}],316:[function(require,module,exports){ 8219// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from 8220require('./_set-collection-from')('Set'); 8221 8222},{"./_set-collection-from":103}],317:[function(require,module,exports){ 8223// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of 8224require('./_set-collection-of')('Set'); 8225 8226},{"./_set-collection-of":104}],318:[function(require,module,exports){ 8227// https://github.com/DavidBruant/Map-Set.prototype.toJSON 8228var $export = require('./_export'); 8229 8230$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') }); 8231 8232},{"./_collection-to-json":26,"./_export":39}],319:[function(require,module,exports){ 8233'use strict'; 8234// https://github.com/mathiasbynens/String.prototype.at 8235var $export = require('./_export'); 8236var $at = require('./_string-at')(true); 8237var $fails = require('./_fails'); 8238 8239var FORCED = $fails(function () { 8240 return 'ð ®·'.at(0) !== 'ð ®·'; 8241}); 8242 8243$export($export.P + $export.F * FORCED, 'String', { 8244 at: function at(pos) { 8245 return $at(this, pos); 8246 } 8247}); 8248 8249},{"./_export":39,"./_fails":41,"./_string-at":112}],320:[function(require,module,exports){ 8250'use strict'; 8251// https://tc39.github.io/String.prototype.matchAll/ 8252var $export = require('./_export'); 8253var defined = require('./_defined'); 8254var toLength = require('./_to-length'); 8255var isRegExp = require('./_is-regexp'); 8256var getFlags = require('./_flags'); 8257var RegExpProto = RegExp.prototype; 8258 8259var $RegExpStringIterator = function (regexp, string) { 8260 this._r = regexp; 8261 this._s = string; 8262}; 8263 8264require('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() { 8265 var match = this._r.exec(this._s); 8266 return { value: match, done: match === null }; 8267}); 8268 8269$export($export.P, 'String', { 8270 matchAll: function matchAll(regexp) { 8271 defined(this); 8272 if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!'); 8273 var S = String(this); 8274 var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp); 8275 var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags); 8276 rx.lastIndex = toLength(regexp.lastIndex); 8277 return new $RegExpStringIterator(rx, S); 8278 } 8279}); 8280 8281},{"./_defined":34,"./_export":39,"./_flags":43,"./_is-regexp":59,"./_iter-create":61,"./_to-length":124}],321:[function(require,module,exports){ 8282'use strict'; 8283// https://github.com/tc39/proposal-string-pad-start-end 8284var $export = require('./_export'); 8285var $pad = require('./_string-pad'); 8286var userAgent = require('./_user-agent'); 8287 8288// https://github.com/zloirock/core-js/issues/280 8289var WEBKIT_BUG = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); 8290 8291$export($export.P + $export.F * WEBKIT_BUG, 'String', { 8292 padEnd: function padEnd(maxLength /* , fillString = ' ' */) { 8293 return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); 8294 } 8295}); 8296 8297},{"./_export":39,"./_string-pad":115,"./_user-agent":131}],322:[function(require,module,exports){ 8298'use strict'; 8299// https://github.com/tc39/proposal-string-pad-start-end
8300var $export = require('./_export'); 8301var $pad = require('./_string-pad'); 8302var userAgent = require('./_user-agent'); 8303 8304// https://github.com/zloirock/core-js/issues/280 8305var WEBKIT_BUG = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); 8306 8307$export($export.P + $export.F * WEBKIT_BUG, 'String', { 8308 padStart: function padStart(maxLength /* , fillString = ' ' */) { 8309 return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); 8310 } 8311}); 8312 8313},{"./_export":39,"./_string-pad":115,"./_user-agent":131}],323:[function(require,module,exports){ 8314'use strict'; 8315// https://github.com/sebmarkbage/ecmascript-string-left-right-trim 8316require('./_string-trim')('trimLeft', function ($trim) { 8317 return function trimLeft() { 8318 return $trim(this, 1); 8319 }; 8320}, 'trimStart'); 8321 8322},{"./_string-trim":117}],324:[function(require,module,exports){ 8323'use strict'; 8324// https://github.com/sebmarkbage/ecmascript-string-left-right-trim 8325require('./_string-trim')('trimRight', function ($trim) { 8326 return function trimRight() { 8327 return $trim(this, 2); 8328 }; 8329}, 'trimEnd'); 8330 8331},{"./_string-trim":117}],325:[function(require,module,exports){ 8332require('./_wks-define')('asyncIterator'); 8333 8334},{"./_wks-define":133}],326:[function(require,module,exports){ 8335require('./_wks-define')('observable'); 8336 8337},{"./_wks-define":133}],327:[function(require,module,exports){ 8338// https://github.com/tc39/proposal-global 8339var $export = require('./_export'); 8340 8341$export($export.S, 'System', { global: require('./_global') }); 8342 8343},{"./_export":39,"./_global":47}],328:[function(require,module,exports){ 8344// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from 8345require('./_set-collection-from')('WeakMap'); 8346 8347},{"./_set-collection-from":103}],329:[function(require,module,exports){ 8348// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of 8349require('./_set-collection-of')('WeakMap'); 8350 8351},{"./_set-collection-of":104}],330:[function(require,module,exports){ 8352// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from 8353require('./_set-collection-from')('WeakSet'); 8354 8355},{"./_set-collection-from":103}],331:[function(require,module,exports){ 8356// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of 8357require('./_set-collection-of')('WeakSet'); 8358 8359},{"./_set-collection-of":104}],332:[function(require,module,exports){ 8360var $iterators = require('./es6.array.iterator'); 8361var getKeys = require('./_object-keys'); 8362var redefine = require('./_redefine'); 8363var global = require('./_global'); 8364var hide = require('./_hide'); 8365var Iterators = require('./_iterators'); 8366var wks = require('./_wks'); 8367var ITERATOR = wks('iterator'); 8368var TO_STRING_TAG = wks('toStringTag'); 8369var ArrayValues = Iterators.Array; 8370 8371var DOMIterables = { 8372 CSSRuleList: true, // TODO: Not spec compliant, should be false. 8373 CSSStyleDeclaration: false, 8374 CSSValueList: false, 8375 ClientRectList: false, 8376 DOMRectList: false, 8377 DOMStringList: false, 8378 DOMTokenList: true, 8379 DataTransferItemList: false, 8380 FileList: false, 8381 HTMLAllCollection: false, 8382 HTMLCollection: false, 8383 HTMLFormElement: false, 8384 HTMLSelectElement: false, 8385 MediaList: true, // TODO: Not spec compliant, should be false. 8386 MimeTypeArray: false, 8387 NamedNodeMap: false, 8388 NodeList: true, 8389 PaintRequestList: false, 8390 Plugin: false, 8391 PluginArray: false, 8392 SVGLengthList: false, 8393 SVGNumberList: false, 8394 SVGPathSegList: false, 8395 SVGPointList: false, 8396 SVGStringList: false, 8397 SVGTransformList: false, 8398 SourceBufferList: false, 8399 StyleSheetList: true, // TODO: Not spec compliant, should be false. 8400 TextTrackCueList: false, 8401 TextTrackList: false, 8402 TouchList: false 8403}; 8404 8405for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { 8406 var NAME = collections[i]; 8407 var explicit = DOMIterables[NAME]; 8408 var Collection = global[NAME]; 8409 var proto = Collection && Collection.prototype; 8410 var key; 8411 if (proto) { 8412 if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); 8413 if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); 8414 Iterators[NAME] = ArrayValues; 8415 if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); 8416 } 8417} 8418 8419},{"./_global":47,"./_hide":49,"./_iterators":65,"./_object-keys":87,"./_redefine":98,"./_wks":135,"./es6.array.iterator":148}],333:[function(require,module,exports){
vendor: 8,252 bytes, lines 8420-8622
8420var $export = require('./_export'); 8421var $task = require('./_task'); 8422$export($export.G + $export.B, { 8423 setImmediate: $task.set, 8424 clearImmediate: $task.clear 8425}); 8426 8427},{"./_export":39,"./_task":119}],334:[function(require,module,exports){ 8428// ie9- setTimeout & setInterval additional parameters fix 8429var global = require('./_global'); 8430var $export = require('./_export'); 8431var userAgent = require('./_user-agent'); 8432var slice = [].slice; 8433var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check 8434var wrap = function (set) { 8435 return function (fn, time /* , ...args */) { 8436 var boundArgs = arguments.length > 2; 8437 var args = boundArgs ? slice.call(arguments, 2) : false; 8438 return set(boundArgs ? function () { 8439 // eslint-disable-next-line no-new-func 8440 (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); 8441 } : fn, time); 8442 }; 8443}; 8444$export($export.G + $export.B + $export.F * MSIE, { 8445 setTimeout: wrap(global.setTimeout), 8446 setInterval: wrap(global.setInterval) 8447}); 8448 8449},{"./_export":39,"./_global":47,"./_user-agent":131}],335:[function(require,module,exports){ 8450require('./modules/es6.symbol'); 8451require('./modules/es6.object.create'); 8452require('./modules/es6.object.define-property'); 8453require('./modules/es6.object.define-properties'); 8454require('./modules/es6.object.get-own-property-descriptor'); 8455require('./modules/es6.object.get-prototype-of'); 8456require('./modules/es6.object.keys'); 8457require('./modules/es6.object.get-own-property-names'); 8458require('./modules/es6.object.freeze'); 8459require('./modules/es6.object.seal'); 8460require('./modules/es6.object.prevent-extensions'); 8461require('./modules/es6.object.is-frozen'); 8462require('./modules/es6.object.is-sealed'); 8463require('./modules/es6.object.is-extensible'); 8464require('./modules/es6.object.assign'); 8465require('./modules/es6.object.is'); 8466require('./modules/es6.object.set-prototype-of'); 8467require('./modules/es6.object.to-string'); 8468require('./modules/es6.function.bind'); 8469require('./modules/es6.function.name'); 8470require('./modules/es6.function.has-instance'); 8471require('./modules/es6.parse-int'); 8472require('./modules/es6.parse-float'); 8473require('./modules/es6.number.constructor'); 8474require('./modules/es6.number.to-fixed'); 8475require('./modules/es6.number.to-precision'); 8476require('./modules/es6.number.epsilon'); 8477require('./modules/es6.number.is-finite'); 8478require('./modules/es6.number.is-integer'); 8479require('./modules/es6.number.is-nan'); 8480require('./modules/es6.number.is-safe-integer'); 8481require('./modules/es6.number.max-safe-integer'); 8482require('./modules/es6.number.min-safe-integer'); 8483require('./modules/es6.number.parse-float'); 8484require('./modules/es6.number.parse-int'); 8485require('./modules/es6.math.acosh'); 8486require('./modules/es6.math.asinh'); 8487require('./modules/es6.math.atanh'); 8488require('./modules/es6.math.cbrt'); 8489require('./modules/es6.math.clz32'); 8490require('./modules/es6.math.cosh'); 8491require('./modules/es6.math.expm1'); 8492require('./modules/es6.math.fround'); 8493require('./modules/es6.math.hypot'); 8494require('./modules/es6.math.imul'); 8495require('./modules/es6.math.log10'); 8496require('./modules/es6.math.log1p'); 8497require('./modules/es6.math.log2'); 8498require('./modules/es6.math.sign'); 8499require('./modules/es6.math.sinh'); 8500require('./modules/es6.math.tanh'); 8501require('./modules/es6.math.trunc'); 8502require('./modules/es6.string.from-code-point'); 8503require('./modules/es6.string.raw'); 8504require('./modules/es6.string.trim'); 8505require('./modules/es6.string.iterator'); 8506require('./modules/es6.string.code-point-at'); 8507require('./modules/es6.string.ends-with'); 8508require('./modules/es6.string.includes'); 8509require('./modules/es6.string.repeat'); 8510require('./modules/es6.string.starts-with'); 8511require('./modules/es6.string.anchor'); 8512require('./modules/es6.string.big'); 8513require('./modules/es6.string.blink'); 8514require('./modules/es6.string.bold'); 8515require('./modules/es6.string.fixed'); 8516require('./modules/es6.string.fontcolor'); 8517require('./modules/es6.string.fontsize'); 8518require('./modules/es6.string.italics'); 8519require('./modules/es6.string.link'); 8520require('./modules/es6.string.small'); 8521require('./modules/es6.string.strike'); 8522require('./modules/es6.string.sub'); 8523require('./modules/es6.string.sup'); 8524require('./modules/es6.date.now'); 8525require('./modules/es6.date.to-json'); 8526require('./modules/es6.date.to-iso-string'); 8527require('./modules/es6.date.to-string'); 8528require('./modules/es6.date.to-primitive'); 8529require('./modules/es6.array.is-array'); 8530require('./modules/es6.array.from'); 8531require('./modules/es6.array.of'); 8532require('./modules/es6.array.join'); 8533require('./modules/es6.array.slice'); 8534require('./modules/es6.array.sort'); 8535require('./modules/es6.array.for-each'); 8536require('./modules/es6.array.map'); 8537require('./modules/es6.array.filter'); 8538require('./modules/es6.array.some'); 8539require('./modules/es6.array.every'); 8540require('./modules/es6.array.reduce'); 8541require('./modules/es6.array.reduce-right'); 8542require('./modules/es6.array.index-of'); 8543require('./modules/es6.array.last-index-of'); 8544require('./modules/es6.array.copy-within'); 8545require('./modules/es6.array.fill'); 8546require('./modules/es6.array.find'); 8547require('./modules/es6.array.find-index'); 8548require('./modules/es6.array.species'); 8549require('./modules/es6.array.iterator'); 8550require('./modules/es6.regexp.constructor'); 8551require('./modules/es6.regexp.exec'); 8552require('./modules/es6.regexp.to-string'); 8553require('./modules/es6.regexp.flags'); 8554require('./modules/es6.regexp.match'); 8555require('./modules/es6.regexp.replace'); 8556require('./modules/es6.regexp.search'); 8557require('./modules/es6.regexp.split'); 8558require('./modules/es6.promise'); 8559require('./modules/es6.map'); 8560require('./modules/es6.set'); 8561require('./modules/es6.weak-map'); 8562require('./modules/es6.weak-set'); 8563require('./modules/es6.typed.array-buffer'); 8564require('./modules/es6.typed.data-view'); 8565require('./modules/es6.typed.int8-array'); 8566require('./modules/es6.typed.uint8-array'); 8567require('./modules/es6.typed.uint8-clamped-array'); 8568require('./modules/es6.typed.int16-array'); 8569require('./modules/es6.typed.uint16-array'); 8570require('./modules/es6.typed.int32-array'); 8571require('./modules/es6.typed.uint32-array'); 8572require('./modules/es6.typed.float32-array'); 8573require('./modules/es6.typed.float64-array'); 8574require('./modules/es6.reflect.apply'); 8575require('./modules/es6.reflect.construct'); 8576require('./modules/es6.reflect.define-property'); 8577require('./modules/es6.reflect.delete-property'); 8578require('./modules/es6.reflect.enumerate'); 8579require('./modules/es6.reflect.get'); 8580require('./modules/es6.reflect.get-own-property-descriptor'); 8581require('./modules/es6.reflect.get-prototype-of'); 8582require('./modules/es6.reflect.has'); 8583require('./modules/es6.reflect.is-extensible'); 8584require('./modules/es6.reflect.own-keys'); 8585require('./modules/es6.reflect.prevent-extensions'); 8586require('./modules/es6.reflect.set'); 8587require('./modules/es6.reflect.set-prototype-of'); 8588require('./modules/es7.array.includes'); 8589require('./modules/es7.array.flat-map'); 8590require('./modules/es7.array.flatten'); 8591require('./modules/es7.string.at'); 8592require('./modules/es7.string.pad-start'); 8593require('./modules/es7.string.pad-end'); 8594require('./modules/es7.string.trim-left'); 8595require('./modules/es7.string.trim-right'); 8596require('./modules/es7.string.match-all'); 8597require('./modules/es7.symbol.async-iterator'); 8598require('./modules/es7.symbol.observable'); 8599require('./modules/es7.object.get-own-property-descriptors'); 8600require('./modules/es7.object.values'); 8601require('./modules/es7.object.entries'); 8602require('./modules/es7.object.define-getter'); 8603require('./modules/es7.object.define-setter'); 8604require('./modules/es7.object.lookup-getter'); 8605require('./modules/es7.object.lookup-setter'); 8606require('./modules/es7.map.to-json'); 8607require('./modules/es7.set.to-json'); 8608require('./modules/es7.map.of'); 8609require('./modules/es7.set.of'); 8610require('./modules/es7.weak-map.of'); 8611require('./modules/es7.weak-set.of'); 8612require('./modules/es7.map.from'); 8613require('./modules/es7.set.from'); 8614require('./modules/es7.weak-map.from'); 8615require('./modules/es7.weak-set.from'); 8616require('./modules/es7.global'); 8617require('./modules/es7.system.global'); 8618require('./modules/es7.error.is-error'); 8619require('./modules/es7.math.clamp'); 8620require('./modules/es7.math.deg-per-rad'); 8621require('./modules/es7.math.degrees'); 8622require('./modules/es7.math.fscale');
8623require('./modules/es7.math.iaddh'); 8624require('./modules/es7.math.isubh'); 8625require('./modules/es7.math.imulh'); 8626require('./modules/es7.math.rad-per-deg'); 8627require('./modules/es7.math.radians'); 8628require('./modules/es7.math.scale'); 8629require('./modules/es7.math.umulh'); 8630require('./modules/es7.math.signbit'); 8631require('./modules/es7.promise.finally'); 8632require('./modules/es7.promise.try'); 8633require('./modules/es7.reflect.define-metadata'); 8634require('./modules/es7.reflect.delete-metadata'); 8635require('./modules/es7.reflect.get-metadata'); 8636require('./modules/es7.reflect.get-metadata-keys'); 8637require('./modules/es7.reflect.get-own-metadata'); 8638require('./modules/es7.reflect.get-own-metadata-keys'); 8639require('./modules/es7.reflect.has-metadata'); 8640require('./modules/es7.reflect.has-own-metadata'); 8641require('./modules/es7.reflect.metadata'); 8642require('./modules/es7.asap'); 8643require('./modules/es7.observable'); 8644require('./modules/web.timers'); 8645require('./modules/web.immediate'); 8646require('./modules/web.dom.iterable'); 8647module.exports = require('./modules/_core'); 8648 8649},{"./modules/_core":29,"./modules/es6.array.copy-within":138,"./modules/es6.array.every":139,"./modules/es6.array.fill":140,"./modules/es6.array.filter":141,"./modules/es6.array.find":143,"./modules/es6.array.find-index":142,"./modules/es6.array.for-each":144,"./modules/es6.array.from":145,"./modules/es6.array.index-of":146,"./modules/es6.array.is-array":147,"./modules/es6.array.iterator":148,"./modules/es6.array.join":149,"./modules/es6.array.last-index-of":150,"./modules/es6.array.map":151,"./modules/es6.array.of":152,"./modules/es6.array.reduce":154,"./modules/es6.array.reduce-right":153,"./modules/es6.array.slice":155,"./modules/es6.array.some":156,"./modules/es6.array.sort":157,"./modules/es6.array.species":158,"./modules/es6.date.now":159,"./modules/es6.date.to-iso-string":160,"./modules/es6.date.to-json":161,"./modules/es6.date.to-primitive":162,"./modules/es6.date.to-string":163,"./modules/es6.function.bind":164,"./modules/es6.function.has-instance":165,"./modules/es6.function.name":166,"./modules/es6.map":167,"./modules/es6.math.acosh":168,"./modules/es6.math.asinh":169,"./modules/es6.math.atanh":170,"./modules/es6.math.cbrt":171,"./modules/es6.math.clz32":172,"./modules/es6.math.cosh":173,"./modules/es6.math.expm1":174,"./modules/es6.math.fround":175,"./modules/es6.math.hypot":176,"./modules/es6.math.imul":177,"./modules/es6.math.log10":178,"./modules/es6.math.log1p":179,"./modules/es6.math.log2":180,"./modules/es6.math.sign":181,"./modules/es6.math.sinh":182,"./modules/es6.math.tanh":183,"./modules/es6.math.trunc":184,"./modules/es6.number.constructor":185,"./modules/es6.number.epsilon":186,"./modules/es6.number.is-finite":187,"./modules/es6.number.is-integer":188,"./modules/es6.number.is-nan":189,"./modules/es6.number.is-safe-integer":190,"./modules/es6.number.max-safe-integer":191,"./modules/es6.number.min-safe-integer":192,"./modules/es6.number.parse-float":193,"./modules/es6.number.parse-int":194,"./modules/es6.number.to-fixed":195,"./modules/es6.number.to-precision":196,"./modules/es6.object.assign":197,"./modules/es6.object.create":198,"./modules/es6.object.define-properties":199,"./modules/es6.object.define-property":200,"./modules/es6.object.freeze":201,"./modules/es6.object.get-own-property-descriptor":202,"./modules/es6.object.get-own-property-names":203,"./modules/es6.object.get-prototype-of":204,"./modules/es6.object.is":208,"./modules/es6.object.is-extensible":205,"./modules/es6.object.is-frozen":206,"./modules/es6.object.is-sealed":207,"./modules/es6.object.keys":209,"./modules/es6.object.prevent-extensions":210,"./modules/es6.object.seal":211,"./modules/es6.object.set-prototype-of":212,"./modules/es6.object.to-string":213,"./modules/es6.parse-float":214,"./modules/es6.parse-int":215,"./modules/es6.promise":216,"./modules/es6.reflect.apply":217,"./modules/es6.reflect.construct":218,"./modules/es6.reflect.define-property":219,"./modules/es6.reflect.delete-property":220,"./modules/es6.reflect.enumerate":221,"./modules/es6.reflect.get":224,"./modules/es6.reflect.get-own-property-descriptor":222,"./modules/es6.reflect.get-prototype-of":223,"./modules/es6.reflect.has":225,"./modules/es6.reflect.is-extensible":226,"./modules/es6.reflect.own-keys":227,"./modules/es6.reflect.prevent-extensions":228,"./modules/es6.reflect.set":230,"./modules/es6.reflect.set-prototype-of":229,"./modules/es6.regexp.constructor":231,"./modules/es6.regexp.exec":232,"./modules/es6.regexp.flags":233,"./modules/es6.regexp.match":234,"./modules/es6.regexp.replace":235,"./modules/es6.regexp.search":236,"./modules/es6.regexp.split":237,"./modules/es6.regexp.to-string":238,"./modules/es6.set":239,"./modules/es6.string.anchor":240,"./modules/es6.string.big":241,"./modules/es6.string.blink":242,"./modules/es6.string.bold":243,"./modules/es6.string.code-point-at":244,"./modules/es6.string.ends-with":245,"./modules/es6.string.fixed":246,"./modules/es6.string.fontc
8649olor":247,"./modules/es6.string.fontsize":248,"./modules/es6.string.from-code-point":249,"./modules/es6.string.includes":250,"./modules/es6.string.italics":251,"./modules/es6.string.iterator":252,"./modules/es6.string.link":253,"./modules/es6.string.raw":254,"./modules/es6.string.repeat":255,"./modules/es6.string.small":256,"./modules/es6.string.starts-with":257,"./modules/es6.string.strike":258,"./modules/es6.string.sub":259,"./modules/es6.string.sup":260,"./modules/es6.string.trim":261,"./modules/es6.symbol":262,"./modules/es6.typed.array-buffer":263,"./modules/es6.typed.data-view":264,"./modules/es6.typed.float32-array":265,"./modules/es6.typed.float64-array":266,"./modules/es6.typed.int16-array":267,"./modules/es6.typed.int32-array":268,"./modules/es6.typed.int8-array":269,"./modules/es6.typed.uint16-array":270,"./modules/es6.typed.uint32-array":271,"./modules/es6.typed.uint8-array":272,"./modules/es6.typed.uint8-clamped-array":273,"./modules/es6.weak-map":274,"./modules/es6.weak-set":275,"./modules/es7.array.flat-map":276,"./modules/es7.array.flatten":277,"./modules/es7.array.includes":278,"./modules/es7.asap":279,"./modules/es7.error.is-error":280,"./modules/es7.global":281,"./modules/es7.map.from":282,"./modules/es7.map.of":283,"./modules/es7.map.to-json":284,"./modules/es7.math.clamp":285,"./modules/es7.math.deg-per-rad":286,"./modules/es7.math.degrees":287,"./modules/es7.math.fscale":288,"./modules/es7.math.iad
vendor: 19,478 bytes, lines 8649-9138
8649dh":289,"./modules/es7.math.imulh":290,"./modules/es7.math.isubh":291,"./modules/es7.math.rad-per-deg":292,"./modules/es7.math.radians":293,"./modules/es7.math.scale":294,"./modules/es7.math.signbit":295,"./modules/es7.math.umulh":296,"./modules/es7.object.define-getter":297,"./modules/es7.object.define-setter":298,"./modules/es7.object.entries":299,"./modules/es7.object.get-own-property-descriptors":300,"./modules/es7.object.lookup-getter":301,"./modules/es7.object.lookup-setter":302,"./modules/es7.object.values":303,"./modules/es7.observable":304,"./modules/es7.promise.finally":305,"./modules/es7.promise.try":306,"./modules/es7.reflect.define-metadata":307,"./modules/es7.reflect.delete-metadata":308,"./modules/es7.reflect.get-metadata":310,"./modules/es7.reflect.get-metadata-keys":309,"./modules/es7.reflect.get-own-metadata":312,"./modules/es7.reflect.get-own-metadata-keys":311,"./modules/es7.reflect.has-metadata":313,"./modules/es7.reflect.has-own-metadata":314,"./modules/es7.reflect.metadata":315,"./modules/es7.set.from":316,"./modules/es7.set.of":317,"./modules/es7.set.to-json":318,"./modules/es7.string.at":319,"./modules/es7.string.match-all":320,"./modules/es7.string.pad-end":321,"./modules/es7.string.pad-start":322,"./modules/es7.string.trim-left":323,"./modules/es7.string.trim-right":324,"./modules/es7.symbol.async-iterator":325,"./modules/es7.symbol.observable":326,"./modules/es7.system.global":327,"./modules/es7.weak-map.from":328,"./modules/es7.weak-map.of":329,"./modules/es7.weak-set.from":330,"./modules/es7.weak-set.of":331,"./modules/web.dom.iterable":332,"./modules/web.immediate":333,"./modules/web.timers":334}],336:[function(require,module,exports){ 8650'use strict'; 8651 8652/* eslint no-invalid-this: 1 */ 8653 8654var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible '; 8655var slice = Array.prototype.slice; 8656var toStr = Object.prototype.toString; 8657var funcType = '[object Function]'; 8658 8659module.exports = function bind(that) { 8660 var target = this; 8661 if (typeof target !== 'function' || toStr.call(target) !== funcType) { 8662 throw new TypeError(ERROR_MESSAGE + target); 8663 } 8664 var args = slice.call(arguments, 1); 8665 8666 var bound; 8667 var binder = function () { 8668 if (this instanceof bound) { 8669 var result = target.apply( 8670 this, 8671 args.concat(slice.call(arguments)) 8672 ); 8673 if (Object(result) === result) { 8674 return result; 8675 } 8676 return this; 8677 } else { 8678 return target.apply( 8679 that, 8680 args.concat(slice.call(arguments)) 8681 ); 8682 } 8683 }; 8684 8685 var boundLength = Math.max(0, target.length - args.length); 8686 var boundArgs = []; 8687 for (var i = 0; i < boundLength; i++) { 8688 boundArgs.push('$' + i); 8689 } 8690 8691 bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder); 8692 8693 if (target.prototype) { 8694 var Empty = function Empty() {}; 8695 Empty.prototype = target.prototype; 8696 bound.prototype = new Empty(); 8697 Empty.prototype = null; 8698 } 8699 8700 return bound; 8701}; 8702 8703},{}],337:[function(require,module,exports){ 8704'use strict'; 8705 8706var implementation = require('./implementation'); 8707 8708module.exports = Function.prototype.bind || implementation; 8709 8710},{"./implementation":336}],338:[function(require,module,exports){ 8711'use strict'; 8712 8713var undefined; 8714 8715var $SyntaxError = SyntaxError; 8716var $Function = Function; 8717var $TypeError = TypeError; 8718 8719// eslint-disable-next-line consistent-return 8720var getEvalledConstructor = function (expressionSyntax) { 8721 try { 8722 return $Function('"use strict"; return (' + expressionSyntax + ').constructor;')(); 8723 } catch (e) {} 8724}; 8725 8726var $gOPD = Object.getOwnPropertyDescriptor; 8727if ($gOPD) { 8728 try { 8729 $gOPD({}, ''); 8730 } catch (e) { 8731 $gOPD = null; // this is IE 8, which has a broken gOPD 8732 } 8733} 8734 8735var throwTypeError = function () { 8736 throw new $TypeError(); 8737}; 8738var ThrowTypeError = $gOPD 8739 ? (function () { 8740 try { 8741 // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties 8742 arguments.callee; // IE 8 does not throw here 8743 return throwTypeError; 8744 } catch (calleeThrows) { 8745 try { 8746 // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '') 8747 return $gOPD(arguments, 'callee').get; 8748 } catch (gOPDthrows) { 8749 return throwTypeError; 8750 } 8751 } 8752 }()) 8753 : throwTypeError; 8754 8755var hasSymbols = require('has-symbols')(); 8756 8757var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto 8758 8759var needsEval = {}; 8760 8761var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array); 8762 8763var INTRINSICS = { 8764 '%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError, 8765 '%Array%': Array, 8766 '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer, 8767 '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined, 8768 '%AsyncFromSyncIteratorPrototype%': undefined, 8769 '%AsyncFunction%': needsEval, 8770 '%AsyncGenerator%': needsEval, 8771 '%AsyncGeneratorFunction%': needsEval, 8772 '%AsyncIteratorPrototype%': needsEval, 8773 '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics, 8774 '%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt, 8775 '%Boolean%': Boolean, 8776 '%DataView%': typeof DataView === 'undefined' ? undefined : DataView, 8777 '%Date%': Date, 8778 '%decodeURI%': decodeURI, 8779 '%decodeURIComponent%': decodeURIComponent, 8780 '%encodeURI%': encodeURI, 8781 '%encodeURIComponent%': encodeURIComponent, 8782 '%Error%': Error, 8783 '%eval%': eval, // eslint-disable-line no-eval 8784 '%EvalError%': EvalError, 8785 '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array, 8786 '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array, 8787 '%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry, 8788 '%Function%': $Function, 8789 '%GeneratorFunction%': needsEval, 8790 '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array, 8791 '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array, 8792 '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array, 8793 '%isFinite%': isFinite, 8794 '%isNaN%': isNaN, 8795 '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined, 8796 '%JSON%': typeof JSON === 'object' ? JSON : undefined, 8797 '%Map%': typeof Map === 'undefined' ? undefined : Map, 8798 '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()), 8799 '%Math%': Math, 8800 '%Number%': Number, 8801 '%Object%': Object, 8802 '%parseFloat%': parseFloat, 8803 '%parseInt%': parseInt, 8804 '%Promise%': typeof Promise === 'undefined' ? undefined : Promise, 8805 '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy, 8806 '%RangeError%': RangeError, 8807 '%ReferenceError%': ReferenceError, 8808 '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect, 8809 '%RegExp%': RegExp, 8810 '%Set%': typeof Set === 'undefined' ? undefined : Set, 8811 '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()), 8812 '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer, 8813 '%String%': String, 8814 '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined, 8815 '%Symbol%': hasSymbols ? Symbol : undefined, 8816 '%SyntaxError%': $SyntaxError, 8817 '%ThrowTypeError%': ThrowTypeError, 8818 '%TypedArray%': TypedArray, 8819 '%TypeError%': $TypeError, 8820 '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array, 8821 '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray, 8822 '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array, 8823 '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array, 8824 '%URIError%': URIError, 8825 '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap, 8826 '%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef, 8827 '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet 8828}; 8829 8830var doEval = function doEval(name) { 8831 var value; 8832 if (name === '%AsyncFunction%') { 8833 value = getEvalledConstructor('async function () {}'); 8834 } else if (name === '%GeneratorFunction%') { 8835 value = getEvalledConstructor('function* () {}'); 8836 } else if (name === '%AsyncGeneratorFunction%') { 8837 value = getEvalledConstructor('async function* () {}'); 8838 } else if (name === '%AsyncGenerator%') { 8839 var fn = doEval('%AsyncGeneratorFunction%'); 8840 if (fn) { 8841 value = fn.prototype; 8842 } 8843 } else if (name === '%AsyncIteratorPrototype%') { 8844 var gen = doEval('%AsyncGenerator%'); 8845 if (gen) { 8846 value = getProto(gen.prototype); 8847 } 8848 } 8849 8850 INTRINSICS[name] = value; 8851 8852 return value; 8853}; 8854 8855var LEGACY_ALIASES = { 8856 '%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'], 8857 '%ArrayPrototype%': ['Array', 'prototype'], 8858 '%ArrayProto_entries%': ['Array', 'prototype', 'entries'], 8859 '%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'], 8860 '%ArrayProto_keys%': ['Array', 'prototype', 'keys'], 8861 '%ArrayProto_values%': ['Array', 'prototype', 'values'], 8862 '%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'], 8863 '%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'], 8864 '%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'], 8865 '%BooleanPrototype%': ['Boolean', 'prototype'], 8866 '%DataViewPrototype%': ['DataView', 'prototype'], 8867 '%DatePrototype%': ['Date', 'prototype'], 8868 '%ErrorPrototype%': ['Error', 'prototype'], 8869 '%EvalErrorPrototype%': ['EvalError', 'prototype'], 8870 '%Float32ArrayPrototype%': ['Float32Array', 'prototype'], 8871 '%Float64ArrayPrototype%': ['Float64Array', 'prototype'], 8872 '%FunctionPrototype%': ['Function', 'prototype'], 8873 '%Generator%': ['GeneratorFunction', 'prototype'], 8874 '%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'], 8875 '%Int8ArrayPrototype%': ['Int8Array', 'prototype'], 8876 '%Int16ArrayPrototype%': ['Int16Array', 'prototype'], 8877 '%Int32ArrayPrototype%': ['Int32Array', 'prototype'], 8878 '%JSONParse%': ['JSON', 'parse'], 8879 '%JSONStringify%': ['JSON', 'stringify'], 8880 '%MapPrototype%': ['Map', 'prototype'], 8881 '%NumberPrototype%': ['Number', 'prototype'], 8882 '%ObjectPrototype%': ['Object', 'prototype'], 8883 '%ObjProto_toString%': ['Object', 'prototype', 'toString'], 8884 '%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'], 8885 '%PromisePrototype%': ['Promise', 'prototype'], 8886 '%PromiseProto_then%': ['Promise', 'prototype', 'then'], 8887 '%Promise_all%': ['Promise', 'all'], 8888 '%Promise_reject%': ['Promise', 'reject'], 8889 '%Promise_resolve%': ['Promise', 'resolve'], 8890 '%RangeErrorPrototype%': ['RangeError', 'prototype'], 8891 '%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'], 8892 '%RegExpPrototype%': ['RegExp', 'prototype'], 8893 '%SetPrototype%': ['Set', 'prototype'], 8894 '%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'], 8895 '%StringPrototype%': ['String', 'prototype'], 8896 '%SymbolPrototype%': ['Symbol', 'prototype'], 8897 '%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'], 8898 '%TypedArrayPrototype%': ['TypedArray', 'prototype'], 8899 '%TypeErrorPrototype%': ['TypeError', 'prototype'], 8900 '%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'], 8901 '%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'], 8902 '%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'], 8903 '%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'], 8904 '%URIErrorPrototype%': ['URIError', 'prototype'], 8905 '%WeakMapPrototype%': ['WeakMap', 'prototype'], 8906 '%WeakSetPrototype%': ['WeakSet', 'prototype'] 8907}; 8908 8909var bind = require('function-bind'); 8910var hasOwn = require('has'); 8911var $concat = bind.call(Function.call, Array.prototype.concat); 8912var $spliceApply = bind.call(Function.apply, Array.prototype.splice); 8913var $replace = bind.call(Function.call, String.prototype.replace); 8914var $strSlice = bind.call(Function.call, String.prototype.slice); 8915 8916/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ 8917var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; 8918var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */ 8919var stringToPath = function stringToPath(string) { 8920 var first = $strSlice(string, 0, 1); 8921 var last = $strSlice(string, -1); 8922 if (first === '%' && last !== '%') { 8923 throw new $SyntaxError('invalid intrinsic syntax, expected closing `%`'); 8924 } else if (last === '%' && first !== '%') { 8925 throw new $SyntaxError('invalid intrinsic syntax, expected opening `%`'); 8926 } 8927 var result = []; 8928 $replace(string, rePropName, function (match, number, quote, subString) { 8929 result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match; 8930 }); 8931 return result; 8932}; 8933/* end adaptation */ 8934 8935var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) { 8936 var intrinsicName = name; 8937 var alias; 8938 if (hasOwn(LEGACY_ALIASES, intrinsicName)) { 8939 alias = LEGACY_ALIASES[intrinsicName]; 8940 intrinsicName = '%' + alias[0] + '%'; 8941 } 8942 8943 if (hasOwn(INTRINSICS, intrinsicName)) { 8944 var value = INTRINSICS[intrinsicName]; 8945 if (value === needsEval) { 8946 value = doEval(intrinsicName); 8947 } 8948 if (typeof value === 'undefined' && !allowMissing) { 8949 throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!'); 8950 } 8951 8952 return { 8953 alias: alias, 8954 name: intrinsicName, 8955 value: value 8956 }; 8957 } 8958 8959 throw new $SyntaxError('intrinsic ' + name + ' does not exist!'); 8960}; 8961 8962module.exports = function GetIntrinsic(name, allowMissing) { 8963 if (typeof name !== 'string' || name.length === 0) { 8964 throw new $TypeError('intrinsic name must be a non-empty string'); 8965 } 8966 if (arguments.length > 1 && typeof allowMissing !== 'boolean') { 8967 throw new $TypeError('"allowMissing" argument must be a boolean'); 8968 } 8969 8970 var parts = stringToPath(name); 8971 var intrinsicBaseName = parts.length > 0 ? parts[0] : ''; 8972 8973 var intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing); 8974 var intrinsicRealName = intrinsic.name; 8975 var value = intrinsic.value; 8976 var skipFurtherCaching = false; 8977 8978 var alias = intrinsic.alias; 8979 if (alias) { 8980 intrinsicBaseName = alias[0]; 8981 $spliceApply(parts, $concat([0, 1], alias)); 8982 } 8983 8984 for (var i = 1, isOwn = true; i < parts.length; i += 1) { 8985 var part = parts[i]; 8986 var first = $strSlice(part, 0, 1); 8987 var last = $strSlice(part, -1); 8988 if ( 8989 ( 8990 (first === '"' || first === "'" || first === '`') 8991 || (last === '"' || last === "'" || last === '`') 8992 ) 8993 && first !== last 8994 ) { 8995 throw new $SyntaxError('property names with quotes must have matching quotes'); 8996 } 8997 if (part === 'constructor' || !isOwn) { 8998 skipFurtherCaching = true; 8999 } 9000 9001 intrinsicBaseName += '.' + part; 9002 intrinsicRealName = '%' + intrinsicBaseName + '%'; 9003 9004 if (hasOwn(INTRINSICS, intrinsicRealName)) { 9005 value = INTRINSICS[intrinsicRealName]; 9006 } else if (value != null) { 9007 if (!(part in value)) { 9008 if (!allowMissing) { 9009 throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.'); 9010 } 9011 return void undefined; 9012 } 9013 if ($gOPD && (i + 1) >= parts.length) { 9014 var desc = $gOPD(value, part); 9015 isOwn = !!desc; 9016 9017 // By convention, when a data property is converted to an accessor 9018 // property to emulate a data property that does not suffer from 9019 // the override mistake, that accessor's getter is marked with 9020 // an `originalValue` property. Here, when we detect this, we 9021 // uphold the illusion by pretending to see that original data 9022 // property, i.e., returning the value rather than the getter 9023 // itself. 9024 if (isOwn && 'get' in desc && !('originalValue' in desc.get)) { 9025 value = desc.get; 9026 } else { 9027 value = value[part]; 9028 } 9029 } else { 9030 isOwn = hasOwn(value, part); 9031 value = value[part]; 9032 } 9033 9034 if (isOwn && !skipFurtherCaching) { 9035 INTRINSICS[intrinsicRealName] = value; 9036 } 9037 } 9038 } 9039 return value; 9040}; 9041 9042},{"function-bind":337,"has":341,"has-symbols":339}],339:[function(require,module,exports){ 9043'use strict'; 9044 9045var origSymbol = typeof Symbol !== 'undefined' && Symbol; 9046var hasSymbolSham = require('./shams'); 9047 9048module.exports = function hasNativeSymbols() { 9049 if (typeof origSymbol !== 'function') { return false; } 9050 if (typeof Symbol !== 'function') { return false; } 9051 if (typeof origSymbol('foo') !== 'symbol') { return false; } 9052 if (typeof Symbol('bar') !== 'symbol') { return false; } 9053 9054 return hasSymbolSham(); 9055}; 9056 9057},{"./shams":340}],340:[function(require,module,exports){ 9058'use strict'; 9059 9060/* eslint complexity: [2, 18], max-statements: [2, 33] */ 9061module.exports = function hasSymbols() { 9062 if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; } 9063 if (typeof Symbol.iterator === 'symbol') { return true; } 9064 9065 var obj = {}; 9066 var sym = Symbol('test'); 9067 var symObj = Object(sym); 9068 if (typeof sym === 'string') { return false; } 9069 9070 if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; } 9071 if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; } 9072 9073 // temp disabled per https://github.com/ljharb/object.assign/issues/17 9074 // if (sym instanceof Symbol) { return false; } 9075 // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4 9076 // if (!(symObj instanceof Symbol)) { return false; } 9077 9078 // if (typeof Symbol.prototype.toString !== 'function') { return false; } 9079 // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; } 9080 9081 var symVal = 42; 9082 obj[sym] = symVal; 9083 for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop 9084 if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; } 9085 9086 if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; } 9087 9088 var syms = Object.getOwnPropertySymbols(obj); 9089 if (syms.length !== 1 || syms[0] !== sym) { return false; } 9090 9091 if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; } 9092 9093 if (typeof Object.getOwnPropertyDescriptor === 'function') { 9094 var descriptor = Object.getOwnPropertyDescriptor(obj, sym); 9095 if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; } 9096 } 9097 9098 return true; 9099}; 9100 9101},{}],341:[function(require,module,exports){ 9102'use strict'; 9103 9104var bind = require('function-bind'); 9105 9106module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); 9107 9108},{"function-bind":337}],342:[function(require,module,exports){ 9109/* 9110* jQuery Mobile 1.4.0pre 9111* Git HEAD hash: 856505571fd484976814d85280f26d139b752915 <> Date: Tue Jun 4 2013 20:00:33 UTC 9112* http://jquerymobile.com 9113* 9114* Copyright 2010, 2013 jQuery Foundation, Inc. and other contributors 9115* Released under the MIT license. 9116* http://jquery.org/license 9117* 9118*/ 9119 9120 9121(function ( root, doc, factory ) { 9122 if ( typeof define === "function" && define.amd ) { 9123 // AMD. Register as an anonymous module. 9124 define( [ "jquery" ], function ( $ ) { 9125 factory( $, root, doc ); 9126 return $.mobile; 9127 }); 9128 } else { 9129 // Browser globals 9130 factory( root.jQuery, root, doc ); 9131 } 9132}( this, document, function ( jQuery, window, document, undefined ) { 9133// This plugin is an experiment for abstracting away the touch and mouse 9134// events so that developers don't have to worry about which method of input 9135// the device their document is loaded on supports. 9136// 9137// The idea here is to allow the developer to register listeners for the 9138// basic mouse events, such as mousedown, mousemove, mouseup, and click,
9139// and the plugin will take care of registering the correct listeners 9140// behind the scenes to invoke the listener at the fastest possible time 9141// for that device, while still retaining the order of event firing in 9142// the traditional mouse environment, should multiple handlers be registered 9143// on the same element for different events. 9144// 9145// The current version exposes the following virtual events to jQuery bind methods: 9146// "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel" 9147 9148(function( $, window, document, undefined ) { 9149 9150var dataPropertyName = "virtualMouseBindings", 9151 touchTargetPropertyName = "virtualTouchID", 9152 virtualEventNames = "vmouseover vmousedown vmousemove vmouseup vclick vmouseout vmousecancel".split( " " ), 9153 touchEventProps = "clientX clientY pageX pageY screenX screenY".split( " " ), 9154 mouseHookProps = $.event.mouseHooks ? $.event.mouseHooks.props : [], 9155 mouseEventProps = $.event.props.concat( mouseHookProps ), 9156 activeDocHandlers = {}, 9157 resetTimerID = 0, 9158 startX = 0, 9159 startY = 0, 9160 didScroll = false, 9161 clickBlockList = [], 9162 blockMouseTriggers = false, 9163 blockTouchTriggers = false, 9164 eventCaptureSupported = "addEventListener" in document, 9165 $document = $( document ), 9166 nextTouchID = 1, 9167 lastTouchID = 0, threshold, 9168 i; 9169 9170$.vmouse = { 9171 moveDistanceThreshold: 10, 9172 clickDistanceThreshold: 10, 9173 resetTimerDuration: 1500 9174}; 9175 9176function getNativeEvent( event ) { 9177 9178 while ( event && typeof event.originalEvent !== "undefined" ) { 9179 event = event.originalEvent; 9180 } 9181 return event; 9182} 9183 9184function createVirtualEvent( event, eventType ) { 9185 9186 var t = event.type, 9187 oe, props, ne, prop, ct, touch, i, j, len; 9188 9189 event = $.Event( event ); 9190 event.type = eventType; 9191 9192 oe = event.originalEvent; 9193 props = $.event.props; 9194 9195 // addresses separation of $.event.props in to $.event.mouseHook.props and Issue 3280 9196 // https://github.com/jquery/jquery-mobile/issues/3280 9197 if ( t.search( /^(mouse|click)/ ) > -1 ) { 9198 props = mouseEventProps; 9199 } 9200 9201 // copy original event properties over to the new event 9202 // this would happen if we could call $.event.fix instead of $.Event 9203 // but we don't have a way to force an event to be fixed multiple times 9204 if ( oe ) { 9205 for ( i = props.length, prop; i; ) { 9206 prop = props[ --i ]; 9207 event[ prop ] = oe[ prop ]; 9208 } 9209 } 9210 9211 // make sure that if the mouse and click virtual events are generated 9212 // without a .which one is defined 9213 if ( t.search(/mouse(down|up)|click/) > -1 && !event.which ) { 9214 event.which = 1; 9215 } 9216 9217 if ( t.search(/^touch/) !== -1 ) { 9218 ne = getNativeEvent( oe ); 9219 t = ne.touches; 9220 ct = ne.changedTouches; 9221 touch = ( t && t.length ) ? t[0] : ( ( ct && ct.length ) ? ct[ 0 ] : undefined ); 9222 9223 if ( touch ) { 9224 for ( j = 0, len = touchEventProps.length; j < len; j++) { 9225 prop = touchEventProps[ j ]; 9226 event[ prop ] = touch[ prop ]; 9227 } 9228 } 9229 } 9230 9231 return event; 9232} 9233 9234function getVirtualBindingFlags( element ) { 9235 9236 var flags = {}, 9237 b, k; 9238 9239 while ( element ) { 9240 9241 b = $.data( element, dataPropertyName ); 9242 9243 for ( k in b ) { 9244 if ( b[ k ] ) { 9245 flags[ k ] = flags.hasVirtualBinding = true; 9246 } 9247 } 9248 element = element.parentNode; 9249 } 9250 return flags; 9251} 9252 9253function getClosestElementWithVirtualBinding( element, eventType ) { 9254 var b; 9255 while ( element ) { 9256 9257 b = $.data( element, dataPropertyName ); 9258 9259 if ( b && ( !eventType || b[ eventType ] ) ) { 9260 return element; 9261 } 9262 element = element.parentNode; 9263 } 9264 return null; 9265} 9266 9267function enableTouchBindings() { 9268 blockTouchTriggers = false; 9269} 9270 9271function disableTouchBindings() { 9272 blockTouchTriggers = true; 9273} 9274 9275function enableMouseBindings() { 9276 lastTouchID = 0; 9277 clickBlockList.length = 0; 9278 blockMouseTriggers = false; 9279 9280 // When mouse bindings are enabled, our 9281 // touch bindings are disabled. 9282 disableTouchBindings(); 9283} 9284 9285function disableMouseBindings() { 9286 // When mouse bindings are disabled, our 9287 // touch bindings are enabled. 9288 enableTouchBindings(); 9289} 9290 9291function startResetTimer() { 9292 clearResetTimer(); 9293 resetTimerID = setTimeout( function() { 9294 resetTimerID = 0; 9295 enableMouseBindings(); 9296 }, $.vmouse.resetTimerDuration ); 9297} 9298 9299function clearResetTimer() { 9300 if ( resetTimerID ) { 9301 clearTimeout( resetTimerID ); 9302 resetTimerID = 0; 9303 } 9304} 9305 9306function triggerVirtualEvent( eventType, event, flags ) { 9307 var ve; 9308 9309 if ( ( flags && flags[ eventType ] ) || 9310 ( !flags && getClosestElementWithVirtualBinding( event.target, eventType ) ) ) { 9311
9312 ve = createVirtualEvent( event, eventType ); 9313 9314 $( event.target).trigger( ve ); 9315 } 9316 9317 return ve; 9318} 9319 9320function mouseEventCallback( event ) { 9321 var touchID = $.data( event.target, touchTargetPropertyName ), 9322 ve; 9323 9324 if ( !blockMouseTriggers && ( !lastTouchID || lastTouchID !== touchID ) ) { 9325 ve = triggerVirtualEvent( "v" + event.type, event ); 9326 if ( ve ) { 9327 if ( ve.isDefaultPrevented() ) { 9328 event.preventDefault(); 9329 } 9330 if ( ve.isPropagationStopped() ) { 9331 event.stopPropagation(); 9332 } 9333 if ( ve.isImmediatePropagationStopped() ) { 9334 event.stopImmediatePropagation(); 9335 } 9336 } 9337 } 9338} 9339 9340function handleTouchStart( event ) { 9341 9342 var touches = getNativeEvent( event ).touches, 9343 target, flags, t; 9344 9345 if ( touches && touches.length === 1 ) { 9346 9347 target = event.target; 9348 flags = getVirtualBindingFlags( target ); 9349 9350 if ( flags.hasVirtualBinding ) { 9351 9352 lastTouchID = nextTouchID++; 9353 $.data( target, touchTargetPropertyName, lastTouchID ); 9354 9355 clearResetTimer(); 9356 9357 disableMouseBindings(); 9358 didScroll = false; 9359 9360 t = getNativeEvent( event ).touches[ 0 ]; 9361 startX = t.pageX; 9362 startY = t.pageY; 9363 9364 triggerVirtualEvent( "vmouseover", event, flags ); 9365 triggerVirtualEvent( "vmousedown", event, flags ); 9366 } 9367 } 9368} 9369 9370function handleScroll( event ) { 9371 if ( blockTouchTriggers ) { 9372 return; 9373 } 9374 9375 if ( !didScroll ) { 9376 triggerVirtualEvent( "vmousecancel", event, getVirtualBindingFlags( event.target ) ); 9377 } 9378 9379 didScroll = true; 9380 startResetTimer(); 9381} 9382 9383function handleTouchMove( event ) { 9384 if ( blockTouchTriggers ) { 9385 return; 9386 } 9387 9388 var t = getNativeEvent( event ).touches[ 0 ], 9389 didCancel = didScroll, 9390 moveThreshold = $.vmouse.moveDistanceThreshold, 9391 flags = getVirtualBindingFlags( event.target ); 9392 9393 didScroll = didScroll || 9394 ( Math.abs( t.pageX - startX ) > moveThreshold || 9395 Math.abs( t.pageY - startY ) > moveThreshold ); 9396 9397 9398 if ( didScroll && !didCancel ) { 9399 triggerVirtualEvent( "vmousecancel", event, flags ); 9400 } 9401 9402 triggerVirtualEvent( "vmousemove", event, flags ); 9403 startResetTimer(); 9404} 9405 9406function handleTouchEnd( event ) { 9407 if ( blockTouchTriggers ) { 9408 return; 9409 } 9410 9411 disableTouchBindings(); 9412 9413 var flags = getVirtualBindingFlags( event.target ), 9414 ve, t; 9415 triggerVirtualEvent( "vmouseup", event, flags ); 9416 9417 if ( !didScroll ) { 9418 ve = triggerVirtualEvent( "vclick", event, flags ); 9419 if ( ve && ve.isDefaultPrevented() ) { 9420 // The target of the mouse events that follow the touchend 9421 // event don't necessarily match the target used during the 9422 // touch. This means we need to rely on coordinates for blocking 9423 // any click that is generated. 9424 t = getNativeEvent( event ).changedTouches[ 0 ]; 9425 clickBlockList.push({ 9426 touchID: lastTouchID, 9427 x: t.clientX, 9428 y: t.clientY 9429 }); 9430 9431 // Prevent any mouse events that follow from triggering 9432 // virtual event notifications. 9433 blockMouseTriggers = true; 9434 } 9435 } 9436 triggerVirtualEvent( "vmouseout", event, flags); 9437 didScroll = false; 9438 9439 startResetTimer(); 9440} 9441 9442function hasVirtualBindings( ele ) { 9443 var bindings = $.data( ele, dataPropertyName ), 9444 k; 9445 9446 if ( bindings ) { 9447 for ( k in bindings ) { 9448 if ( bindings[ k ] ) { 9449 return true; 9450 } 9451 } 9452 } 9453 return false; 9454} 9455 9456function dummyMouseHandler() {} 9457 9458function getSpecialEventObject( eventType ) { 9459 var realType = eventType.substr( 1 ); 9460 9461 return { 9462 setup: function(/* data, namespace */) { 9463 // If this is the first virtual mouse binding for this element, 9464 // add a bindings object to its data. 9465 9466 if ( !hasVirtualBindings( this ) ) { 9467 $.data( this, dataPropertyName, {} ); 9468 } 9469 9470 // If setup is called, we know it is the first binding for this 9471 // eventType, so initialize the count for the eventType to zero. 9472 var bindings = $.data( this, dataPropertyName ); 9473 bindings[ eventType ] = true; 9474 9475 // If this is the first virtual mouse event for this type, 9476 // register a global handler on the document. 9477 9478 activeDocHandlers[ eventType ] = ( activeDocHandlers[ eventType ] || 0 ) + 1; 9479 9480 if ( activeDocHandlers[ eventType ] === 1 ) { 9481 $document.bind( realType, mouseEventCallback ); 9482 } 9483 9484 // Some browsers, like Opera Mini, won't dispatch mouse/click events 9485 // for elements unless they actually have handlers registered on them. 9486 // To get around this, we register dummy handlers on the elements. 9487 9488 $( this ).bind( realType, dummyMouseHandler ); 9489 9490 // For now, if event capture is not supported, we rely on mouse handlers. 9491 if ( eventCaptureSupported ) { 9492 // If this is the first virtual mouse binding for the document, 9493 // register our touchstart handler on the document. 9494 9495 activeDocHandlers[ "touchstart" ] = ( activeDocHandlers[ "touchstart" ] || 0) + 1; 9496 9497 if ( activeDocHandlers[ "touchstart" ] === 1 ) { 9498 $document.bind( "touchstart", handleTouchStart ) 9499 .bind( "touchend", handleTouchEnd ) 9500 9501 // On touch platforms, touching the screen and then dragging your finger 9502 // causes the window content to scroll after some distance threshold is 9503 // exceeded. On these platforms, a scroll prevents a click event from being 9504 // dispatched, and on some platforms, even the touchend is suppressed. To 9505 // mimic the suppression of the click event, we need to watch for a scroll 9506 // event. Unfortunately, some platforms like iOS don't dispatch scroll
9507 // events until *AFTER* the user lifts their finger (touchend). This means 9508 // we need to watch both scroll and touchmove events to figure out whether 9509 // or not a scroll happenens before the touchend event is fired. 9510 9511 .bind( "touchmove", handleTouchMove ) 9512 .bind( "scroll", handleScroll ); 9513 } 9514 } 9515 }, 9516 9517 teardown: function(/* data, namespace */) { 9518 // If this is the last virtual binding for this eventType, 9519 // remove its global handler from the document. 9520 9521 --activeDocHandlers[ eventType ]; 9522 9523 if ( !activeDocHandlers[ eventType ] ) { 9524 $document.unbind( realType, mouseEventCallback ); 9525 } 9526 9527 if ( eventCaptureSupported ) { 9528 // If this is the last virtual mouse binding in existence, 9529 // remove our document touchstart listener. 9530 9531 --activeDocHandlers[ "touchstart" ]; 9532 9533 if ( !activeDocHandlers[ "touchstart" ] ) { 9534 $document.unbind( "touchstart", handleTouchStart ) 9535 .unbind( "touchmove", handleTouchMove ) 9536 .unbind( "touchend", handleTouchEnd ) 9537 .unbind( "scroll", handleScroll ); 9538 } 9539 } 9540 9541 var $this = $( this ), 9542 bindings = $.data( this, dataPropertyName ); 9543 9544 // teardown may be called when an element was 9545 // removed from the DOM. If this is the case, 9546 // jQuery core may have already stripped the element 9547 // of any data bindings so we need to check it before 9548 // using it. 9549 if ( bindings ) { 9550 bindings[ eventType ] = false; 9551 } 9552 9553 // Unregister the dummy event handler. 9554 9555 $this.unbind( realType, dummyMouseHandler ); 9556 9557 // If this is the last virtual mouse binding on the 9558 // element, remove the binding data from the element. 9559 9560 if ( !hasVirtualBindings( this ) ) { 9561 $this.removeData( dataPropertyName ); 9562 } 9563 } 9564 }; 9565} 9566 9567// Expose our custom events to the jQuery bind/unbind mechanism. 9568 9569for ( i = 0; i < virtualEventNames.length; i++ ) { 9570 $.event.special[ virtualEventNames[ i ] ] = getSpecialEventObject( virtualEventNames[ i ] ); 9571} 9572 9573// Add a capture click handler to block clicks. 9574// Note that we require event capture support for this so if the device 9575// doesn't support it, we punt for now and rely solely on mouse events. 9576if ( eventCaptureSupported ) { 9577 document.addEventListener( "click", function( e ) { 9578 var cnt = clickBlockList.length, 9579 target = e.target, 9580 x, y, ele, i, o, touchID; 9581 9582 if ( cnt ) { 9583 x = e.clientX; 9584 y = e.clientY; 9585 threshold = $.vmouse.clickDistanceThreshold; 9586 9587 // The idea here is to run through the clickBlockList to see if 9588 // the current click event is in the proximity of one of our 9589 // vclick events that had preventDefault() called on it. If we find 9590 // one, then we block the click. 9591 // 9592 // Why do we have to rely on proximity? 9593 // 9594 // Because the target of the touch event that triggered the vclick 9595 // can be different from the target of the click event synthesized 9596 // by the browser. The target of a mouse/click event that is syntehsized 9597 // from a touch event seems to be implementation specific. For example, 9598 // some browsers will fire mouse/click events for a link that is near 9599 // a touch event, even though the target of the touchstart/touchend event 9600 // says the user touched outside the link. Also, it seems that with most 9601 // browsers, the target of the mouse/click event is not calculated until the 9602 // time it is dispatched, so if you replace an element that you touched 9603 // with another element, the target of the mouse/click will be the new 9604 // element underneath that point. 9605 // 9606 // Aside from proximity, we also check to see if the target and any 9607 // of its ancestors were the ones that blocked a click. This is necessary 9608 // because of the strange mouse/click target calculation done in the 9609 // Android 2.1 browser, where if you click on an element, and there is a 9610 // mouse/click handler on one of its ancestors, the target will be the 9611 // innermost child of the touched element, even if that child is no where 9612 // near the point of touch. 9613 9614 ele = target; 9615 9616 while ( ele ) { 9617 for ( i = 0; i < cnt; i++ ) { 9618 o = clickBlockList[ i ]; 9619 touchID = 0; 9620 9621 if ( ( ele === target && Math.abs( o.x - x ) < threshold && Math.abs( o.y - y ) < threshold ) || 9622 $.data( ele, touchTargetPropertyName ) === o.touchID ) { 9623 // XXX: We may want to consider removing matches from the block list 9624 // instead of waiting for the reset timer to fire. 9625 e.preventDefault(); 9626 e.stopPropagation(); 9627 return; 9628 } 9629 } 9630 ele = ele.parentNode; 9631 } 9632 } 9633 }, true); 9634} 9635}
9635)( $, window, document ); 9636 9637(function( $ ) { 9638 $.mobile = {}; 9639}( $ )); 9640 (function( $, undefined ) { 9641 var support = { 9642 touch: "ontouchend" in document 9643 }; 9644 9645 $.mobile.support = $.mobile.support || {}; 9646 $.extend( $.support, support ); 9647 $.extend( $.mobile.support, support ); 9648 }( $ )); 9649 9650 9651(function( $, window, undefined ) { 9652 var $document = $( document ), 9653 supportTouch = $.mobile.support.touch, 9654 scrollEvent = "touchmove scroll", 9655 touchStartEvent = supportTouch ? "touchstart" : "mousedown", 9656 touchStopEvent = supportTouch ? "touchend" : "mouseup", 9657 touchMoveEvent = supportTouch ? "touchmove" : "mousemove"; 9658 9659 // setup new event shortcuts 9660 $.each( ( "touchstart touchmove touchend " + 9661 "tap taphold " + 9662 "swipe swipeleft swiperight " + 9663 "scrollstart scrollstop" ).split( " " ), function( i, name ) { 9664 9665 $.fn[ name ] = function( fn ) { 9666 return fn ? this.bind( name, fn ) : this.trigger( name ); 9667 }; 9668 9669 // jQuery < 1.8 9670 if ( $.attrFn ) { 9671 $.attrFn[ name ] = true; 9672 } 9673 }); 9674 9675 function triggerCustomEvent( obj, eventType, event ) { 9676 var originalType = event.type; 9677 event.type = eventType; 9678 $.event.dispatch.call( obj, event ); 9679 event.type = originalType; 9680 } 9681 9682 // also handles scrollstop 9683 $.event.special.scrollstart = { 9684 9685 enabled: true, 9686 setup: function() { 9687 9688 var thisObject = this, 9689 $this = $( thisObject ), 9690 scrolling, 9691 timer; 9692 9693 function trigger( event, state ) { 9694 scrolling = state; 9695 triggerCustomEvent( thisObject, scrolling ? "scrollstart" : "scrollstop", event ); 9696 } 9697 9698 // iPhone triggers scroll after a small delay; use touchmove instead 9699 $this.bind( scrollEvent, function( event ) { 9700 9701 if ( !$.event.special.scrollstart.enabled ) { 9702 return; 9703 } 9704 9705 if ( !scrolling ) { 9706 trigger( event, true ); 9707 } 9708 9709 clearTimeout( timer ); 9710 timer = setTimeout( function() { 9711 trigger( event, false ); 9712 }, 50 ); 9713 }); 9714 }, 9715 teardown: function() { 9716 $( this ).unbind( scrollEvent ); 9717 } 9718 }; 9719 9720 // also handles taphold 9721 $.event.special.tap = { 9722 tapholdThreshold: 750, 9723 emitTapOnTaphold: true, 9724 setup: function() { 9725 var thisObject = this, 9726 $this = $( thisObject ), 9727 isTaphold = false; 9728 9729 $this.bind( "vmousedown", function( event ) { 9730 isTaphold = false; 9731 if ( event.which && event.which !== 1 ) { 9732 return false; 9733 } 9734 9735 var origTarget = event.target, 9736 timer; 9737 9738 function clearTapTimer() { 9739 clearTimeout( timer ); 9740 } 9741 9742 function clearTapHandlers() { 9743 clearTapTimer(); 9744 9745 $this.unbind( "vclick", clickHandler ) 9746 .unbind( "vmouseup", clearTapTimer ); 9747 $document.unbind( "vmousecancel", clearTapHandlers ); 9748 } 9749 9750 function clickHandler( event ) { 9751 clearTapHandlers(); 9752 9753 // ONLY trigger a 'tap' event if the start target is 9754 // the same as the stop target. 9755 if ( !isTaphold && origTarget === event.target ) { 9756 triggerCustomEvent( thisObject, "tap", event ); 9757 } else if ( isTaphold ) { 9758 event.stopPropagation(); 9759 } 9760 } 9761 9762 $this.bind( "vmouseup", clearTapTimer ) 9763 .bind( "vclick", clickHandler ); 9764 $document.bind( "vmousecancel", clearTapHandlers ); 9765 9766 timer = setTimeout( function() { 9767 if( $.event.special.tap.emitTapOnTaphold ) { 9768 isTaphold = true; 9769 } 9770 triggerCustomEvent( thisObject, "taphold", $.Event( "taphold", { target: origTarget } ) ); 9771 }, $.event.special.tap.tapholdThreshold ); 9772 }); 9773 }, 9774 teardown: function() { 9775 $( this ).unbind( "vmousedown" ).unbind( "vclick" ).unbind( "vmouseup" ); 9776 $document.unbind( "vmousecancel" ); 9777 } 9778 }; 9779 9780 // also handles swipeleft, swiperight 9781 $.event.special.swipe = { 9782 scrollSupressionThreshold: 30, // More than this horizontal displacement, and we will suppress scrolling. 9783 9784 durationThreshold: 1000, // More time than this, and it isn't a swipe. 9785 9786 horizontalDistanceThreshold: 30, // Swipe horizontal displacement must be more than this. 9787 9788 verticalDistanceThreshold: 75, // Swipe vertical displacement must be less than this. 9789 9790 start: function( event ) { 9791 var data = event.originalEvent.touches ? 9792 event.originalEvent.touches[ 0 ] : event; 9793 return { 9794 time: ( new Date() ).getTime(), 9795 coords: [ data.pageX, data.pageY ], 9796 origin: $( event.target ) 9797 }; 9798 }, 9799 9800 stop: function( event ) { 9801 var data = event.originalEvent.touches ? 9802 event.originalEvent.touches[ 0 ] : event; 9803 return { 9804 time: ( new Date() ).getTime(), 9805 coords: [ data.pageX, data.pageY ] 9806 }; 9807 }, 9808 9809 handleSwipe: function( start, stop, thisObject, origTarget ) { 9810 if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
9811 Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold && 9812 Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) { 9813 var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight"; 9814 9815 triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget }) ); 9816 triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget } ) ); 9817 } 9818 }, 9819 9820 setup: function() { 9821 var thisObject = this, 9822 $this = $( thisObject ); 9823 9824 $this.bind( touchStartEvent, function( event ) { 9825 var stop, 9826 start = $.event.special.swipe.start( event ), 9827 origTarget = event.target; 9828 9829 function moveHandler( event ) { 9830 if ( !start ) { 9831 return; 9832 } 9833 9834 stop = $.event.special.swipe.stop( event ); 9835 9836 // prevent scrolling 9837 if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) { 9838 event.preventDefault(); 9839 } 9840 } 9841 9842 $this.bind( touchMoveEvent, moveHandler ) 9843 .one( touchStopEvent, function() { 9844 $this.unbind( touchMoveEvent, moveHandler ); 9845 9846 if ( start && stop ) { 9847 $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget ); 9848 } 9849 start = stop = undefined; 9850 }); 9851 }); 9852 }, 9853 9854 teardown: function() { 9855 $( this ).unbind( touchStartEvent ).unbind( touchMoveEvent ).unbind( touchStopEvent ); 9856 } 9857 }; 9858 $.each({ 9859 scrollstop: "scrollstart", 9860 taphold: "tap", 9861 swipeleft: "swipe", 9862 swiperight: "swipe" 9863 }, function( event, sourceEvent ) { 9864 9865 $.event.special[ event ] = { 9866 setup: function() { 9867 $( this ).bind( sourceEvent, $.noop ); 9868 }, 9869 teardown: function() { 9870 $( this ).unbind( sourceEvent ); 9871 } 9872 }; 9873 }); 9874 9875})( $, this ); 9876 9877})); 9878 9879},{}],343:[function(require,module,exports){ 9880(function(window, factory) { 9881 var lazySizes = factory(window, window.document); 9882 window.lazySizes = lazySizes; 9883 if(typeof module == 'object' && module.exports){ 9884 module.exports = lazySizes; 9885 } 9886}(window, function l(window, document) { 9887 'use strict'; 9888 /*jshint eqnull:true */ 9889 if(!document.getElementsByClassName){return;} 9890 9891 var lazysizes, lazySizesConfig; 9892 9893 var docElem = document.documentElement; 9894 9895 var Date = window.Date; 9896 9897 var supportPicture = window.HTMLPictureElement; 9898 9899 var _addEventListener = 'addEventListener'; 9900 9901 var _getAttribute = 'getAttribute'; 9902 9903 var addEventListener = window[_addEventListener]; 9904 9905 var setTimeout = window.setTimeout; 9906 9907 var requestAnimationFrame = window.requestAnimationFrame || setTimeout; 9908 9909 var requestIdleCallback = window.requestIdleCallback; 9910 9911 var regPicture = /^picture$/i; 9912 9913 var loadEvents = ['load', 'error', 'lazyincluded', '_lazyloaded']; 9914 9915 var regClassCache = {}; 9916
vendor: 11,318 bytes, lines 9917-10373
9917 var forEach = Array.prototype.forEach; 9918 9919 var hasClass = function(ele, cls) { 9920 if(!regClassCache[cls]){ 9921 regClassCache[cls] = new RegExp('(\\s|^)'+cls+'(\\s|$)'); 9922 } 9923 return regClassCache[cls].test(ele[_getAttribute]('class') || '') && regClassCache[cls]; 9924 }; 9925 9926 var addClass = function(ele, cls) { 9927 if (!hasClass(ele, cls)){ 9928 ele.setAttribute('class', (ele[_getAttribute]('class') || '').trim() + ' ' + cls); 9929 } 9930 }; 9931 9932 var removeClass = function(ele, cls) { 9933 var reg; 9934 if ((reg = hasClass(ele,cls))) { 9935 ele.setAttribute('class', (ele[_getAttribute]('class') || '').replace(reg, ' ')); 9936 } 9937 }; 9938 9939 var addRemoveLoadEvents = function(dom, fn, add){ 9940 var action = add ? _addEventListener : 'removeEventListener'; 9941 if(add){ 9942 addRemoveLoadEvents(dom, fn); 9943 } 9944 loadEvents.forEach(function(evt){ 9945 dom[action](evt, fn); 9946 }); 9947 }; 9948 9949 var triggerEvent = function(elem, name, detail, noBubbles, noCancelable){ 9950 var event = document.createEvent('Event'); 9951 9952 if(!detail){ 9953 detail = {}; 9954 } 9955 9956 detail.instance = lazysizes; 9957 9958 event.initEvent(name, !noBubbles, !noCancelable); 9959 9960 event.detail = detail; 9961 9962 elem.dispatchEvent(event); 9963 return event; 9964 }; 9965 9966 var updatePolyfill = function (el, full){ 9967 var polyfill; 9968 if( !supportPicture && ( polyfill = (window.picturefill || lazySizesConfig.pf) ) ){ 9969 if(full && full.src && !el[_getAttribute]('srcset')){ 9970 el.setAttribute('srcset', full.src); 9971 } 9972 polyfill({reevaluate: true, elements: [el]}); 9973 } else if(full && full.src){ 9974 el.src = full.src; 9975 } 9976 }; 9977 9978 var getCSS = function (elem, style){ 9979 return (getComputedStyle(elem, null) || {})[style]; 9980 }; 9981 9982 var getWidth = function(elem, parent, width){ 9983 width = width || elem.offsetWidth; 9984 9985 while(width < lazySizesConfig.minSize && parent && !elem._lazysizesWidth){ 9986 width = parent.offsetWidth; 9987 parent = parent.parentNode; 9988 } 9989 9990 return width; 9991 }; 9992 9993 var rAF = (function(){ 9994 var running, waiting; 9995 var firstFns = []; 9996 var secondFns = []; 9997 var fns = firstFns; 9998 9999 var run = function(){ 10000 var runFns = fns; 10001 10002 fns = firstFns.length ? secondFns : firstFns; 10003 10004 running = true; 10005 waiting = false; 10006 10007 while(runFns.length){ 10008 runFns.shift()(); 10009 } 10010 10011 running = false; 10012 }; 10013 10014 var rafBatch = function(fn, queue){ 10015 if(running && !queue){ 10016 fn.apply(this, arguments); 10017 } else { 10018 fns.push(fn); 10019 10020 if(!waiting){ 10021 waiting = true; 10022 (document.hidden ? setTimeout : requestAnimationFrame)(run); 10023 } 10024 } 10025 }; 10026 10027 rafBatch._lsFlush = run; 10028 10029 return rafBatch; 10030 })(); 10031 10032 var rAFIt = function(fn, simple){ 10033 return simple ? 10034 function() { 10035 rAF(fn); 10036 } : 10037 function(){ 10038 var that = this; 10039 var args = arguments; 10040 rAF(function(){ 10041 fn.apply(that, args); 10042 }); 10043 } 10044 ; 10045 }; 10046 10047 var throttle = function(fn){ 10048 var running; 10049 var lastTime = 0; 10050 var gDelay = lazySizesConfig.throttleDelay; 10051 var rICTimeout = lazySizesConfig.ricTimeout; 10052 var run = function(){ 10053 running = false; 10054 lastTime = Date.now(); 10055 fn(); 10056 }; 10057 var idleCallback = requestIdleCallback && rICTimeout > 49 ? 10058 function(){ 10059 requestIdleCallback(run, {timeout: rICTimeout}); 10060 10061 if(rICTimeout !== lazySizesConfig.ricTimeout){ 10062 rICTimeout = lazySizesConfig.ricTimeout; 10063 } 10064 } : 10065 rAFIt(function(){ 10066 setTimeout(run); 10067 }, true) 10068 ; 10069 10070 return function(isPriority){ 10071 var delay; 10072 10073 if((isPriority = isPriority === true)){ 10074 rICTimeout = 33; 10075 } 10076 10077 if(running){ 10078 return; 10079 } 10080 10081 running = true; 10082 10083 delay = gDelay - (Date.now() - lastTime); 10084 10085 if(delay < 0){ 10086 delay = 0; 10087 } 10088 10089 if(isPriority || delay < 9){ 10090 idleCallback(); 10091 } else { 10092 setTimeout(idleCallback, delay); 10093 } 10094 }; 10095 }; 10096 10097 //based on http://modernjavascript.blogspot.de/2013/08/building-better-debounce.html 10098 var debounce = function(func) { 10099 var timeout, timestamp; 10100 var wait = 99; 10101 var run = function(){ 10102 timeout = null; 10103 func(); 10104 }; 10105 var later = function() { 10106 var last = Date.now() - timestamp; 10107 10108 if (last < wait) { 10109 setTimeout(later, wait - last); 10110 } else { 10111 (requestIdleCallback || run)(run); 10112 } 10113 }; 10114 10115 return function() { 10116 timestamp = Date.now(); 10117 10118 if (!timeout) { 10119 timeout = setTimeout(later, wait); 10120 } 10121 }; 10122 }; 10123 10124 (function(){ 10125 var prop; 10126 10127 var lazySizesDefaults = { 10128 lazyClass: 'lazyload', 10129 loadedClass: 'lazyloaded', 10130 loadingClass: 'lazyloading', 10131 preloadClass: 'lazypreload', 10132 errorClass: 'lazyerror', 10133 //strictClass: 'lazystrict', 10134 autosizesClass: 'lazyautosizes', 10135 srcAttr: 'data-src', 10136 srcsetAttr: 'data-srcset', 10137 sizesAttr: 'data-sizes', 10138 //preloadAfterLoad: false, 10139 minSize: 40, 10140 customMedia: {}, 10141 init: true, 10142 expFactor: 1.5, 10143 hFac: 0.8, 10144 loadMode: 2, 10145 loadHidden: true, 10146 ricTimeout: 0, 10147 throttleDelay: 125, 10148 }; 10149 10150 lazySizesConfig = window.lazySizesConfig || window.lazysizesConfig || {}; 10151 10152 for(prop in lazySizesDefaults){ 10153 if(!(prop in lazySizesConfig)){ 10154 lazySizesConfig[prop] = lazySizesDefaults[prop]; 10155 } 10156 } 10157 10158 window.lazySizesConfig = lazySizesConfig; 10159 10160 setTimeout(function(){ 10161 if(lazySizesConfig.init){ 10162 init(); 10163 } 10164 }); 10165 })(); 10166 10167 var loader = (function(){ 10168 var preloadElems, isCompleted, resetPreloadingTimer, loadMode, started; 10169 10170 var eLvW, elvH, eLtop, eLleft, eLright, eLbottom, isBodyHidden; 10171 10172 var regImg = /^img$/i; 10173 var regIframe = /^iframe$/i; 10174 10175 var supportScroll = ('onscroll' in window) && !(/(gle|ing)bot/.test(navigator.userAgent)); 10176 10177 var shrinkExpand = 0; 10178 var currentExpand = 0; 10179 10180 var isLoading = 0; 10181 var lowRuns = -1; 10182 10183 var resetPreloading = function(e){ 10184 isLoading--; 10185 if(!e || isLoading < 0 || !e.target){ 10186 isLoading = 0; 10187 } 10188 }; 10189 10190 var isVisible = function (elem) { 10191 if (isBodyHidden == null) { 10192 isBodyHidden = getCSS(document.body, 'visibility') == 'hidden'; 10193 } 10194 10195 return isBodyHidden || (getCSS(elem.parentNode, 'visibility') != 'hidden' && getCSS(elem, 'visibility') != 'hidden'); 10196 }; 10197 10198 var isNestedVisible = function(elem, elemExpand){ 10199 var outerRect; 10200 var parent = elem; 10201 var visible = isVisible(elem); 10202 10203 eLtop -= elemExpand; 10204 eLbottom += elemExpand; 10205 eLleft -= elemExpand; 10206 eLright += elemExpand; 10207 10208 while(visible && (parent = parent.offsetParent) && parent != document.body && parent != docElem){ 10209 visible = ((getCSS(parent, 'opacity') || 1) > 0); 10210 10211 if(visible && getCSS(parent, 'overflow') != 'visible'){ 10212 outerRect = parent.getBoundingClientRect(); 10213 visible = eLright > outerRect.left && 10214 eLleft < outerRect.right && 10215 eLbottom > outerRect.top - 1 && 10216 eLtop < outerRect.bottom + 1 10217 ; 10218 } 10219 } 10220 10221 return visible; 10222 }; 10223 10224 var checkElements = function() { 10225 var eLlen, i, rect, autoLoadElem, loadedSomething, elemExpand, elemNegativeExpand, elemExpandVal, 10226 beforeExpandVal, defaultExpand, preloadExpand, hFac; 10227 var lazyloadElems = lazysizes.elements; 10228 10229 if((loadMode = lazySizesConfig.loadMode) && isLoading < 8 && (eLlen = lazyloadElems.length)){ 10230 10231 i = 0; 10232 10233 lowRuns++; 10234 10235 defaultExpand = (!lazySizesConfig.expand || lazySizesConfig.expand < 1) ? 10236 docElem.clientHeight > 500 && docElem.clientWidth > 500 ? 500 : 370 : 10237 lazySizesConfig.expand; 10238 10239 lazysizes._defEx = defaultExpand; 10240 10241 preloadExpand = defaultExpand * lazySizesConfig.expFactor; 10242 hFac = lazySizesConfig.hFac; 10243 isBodyHidden = null; 10244 10245 if(currentExpand < preloadExpand && isLoading < 1 && lowRuns > 2 && loadMode > 2 && !document.hidden){ 10246 currentExpand = preloadExpand; 10247 lowRuns = 0; 10248 } else if(loadMode > 1 && lowRuns > 1 && isLoading < 6){ 10249 currentExpand = defaultExpand; 10250 } else { 10251 currentExpand = shrinkExpand; 10252 } 10253 10254 for(; i < eLlen; i++){ 10255 10256 if(!lazyloadElems[i] || lazyloadElems[i]._lazyRace){continue;} 10257 10258 if(!supportScroll){unveilElement(lazyloadElems[i]);continue;} 10259 10260 if(!(elemExpandVal = lazyloadElems[i][_getAttribute]('data-expand')) || !(elemExpand = elemExpandVal * 1)){ 10261 elemExpand = currentExpand; 10262 } 10263 10264 if(beforeExpandVal !== elemExpand){ 10265 eLvW = innerWidth + (elemExpand * hFac); 10266 elvH = innerHeight + elemExpand; 10267 elemNegativeExpand = elemExpand * -1; 10268 beforeExpandVal = elemExpand; 10269 } 10270 10271 rect = lazyloadElems[i].getBoundingClientRect(); 10272 10273 if ((eLbottom = rect.bottom) >= elemNegativeExpand && 10274 (eLtop = rect.top) <= elvH && 10275 (eLright = rect.right) >= elemNegativeExpand * hFac && 10276 (eLleft = rect.left) <= eLvW && 10277 (eLbottom || eLright || eLleft || eLtop) && 10278 (lazySizesConfig.loadHidden || isVisible(lazyloadElems[i])) && 10279 ((isCompleted && isLoading < 3 && !elemExpandVal && (loadMode < 3 || lowRuns < 4)) || isNestedVisible(lazyloadElems[i], elemExpand))){ 10280 unveilElement(lazyloadElems[i]); 10281 loadedSomething = true; 10282 if(isLoading > 9){break;} 10283 } else if(!loadedSomething && isCompleted && !autoLoadElem && 10284 isLoading < 4 && lowRuns < 4 && loadMode > 2 && 10285 (preloadElems[0] || lazySizesConfig.preloadAfterLoad) && 10286 (preloadElems[0] || (!elemExpandVal && ((eLbottom || eLright || eLleft || eLtop) || lazyloadElems[i][_getAttribute](lazySizesConfig.sizesAttr) != 'auto')))){ 10287 autoLoadElem = preloadElems[0] || lazyloadElems[i]; 10288 } 10289 } 10290 10291 if(autoLoadElem && !loadedSomething){ 10292 unveilElement(autoLoadElem); 10293 } 10294 } 10295 }; 10296 10297 var throttledCheckElements = throttle(checkElements); 10298 10299 var switchLoadingClass = function(e){ 10300 var elem = e.target; 10301 10302 if (elem._lazyCache) { 10303 delete elem._lazyCache; 10304 return; 10305 } 10306 10307 resetPreloading(e); 10308 addClass(elem, lazySizesConfig.loadedClass); 10309 removeClass(elem, lazySizesConfig.loadingClass); 10310 addRemoveLoadEvents(elem, rafSwitchLoadingClass); 10311 triggerEvent(elem, 'lazyloaded'); 10312 }; 10313 var rafedSwitchLoadingClass = rAFIt(switchLoadingClass); 10314 var rafSwitchLoadingClass = function(e){ 10315 rafedSwitchLoadingClass({target: e.target}); 10316 }; 10317 10318 var changeIframeSrc = function(elem, src){ 10319 try { 10320 elem.contentWindow.location.replace(src); 10321 } catch(e){ 10322 elem.src = src; 10323 } 10324 }; 10325 10326 var handleSources = function(source){ 10327 var customMedia; 10328 10329 var sourceSrcset = source[_getAttribute](lazySizesConfig.srcsetAttr); 10330 10331 if( (customMedia = lazySizesConfig.customMedia[source[_getAttribute]('data-media') || source[_getAttribute]('media')]) ){ 10332 source.setAttribute('media', customMedia); 10333 } 10334 10335 if(sourceSrcset){ 10336 source.setAttribute('srcset', sourceSrcset); 10337 } 10338 }; 10339 10340 var lazyUnveil = rAFIt(function (elem, detail, isAuto, sizes, isImg){ 10341 var src, srcset, parent, isPicture, event, firesLoad; 10342 10343 if(!(event = triggerEvent(elem, 'lazybeforeunveil', detail)).defaultPrevented){ 10344 10345 if(sizes){ 10346 if(isAuto){ 10347 addClass(elem, lazySizesConfig.autosizesClass); 10348 } else { 10349 elem.setAttribute('sizes', sizes); 10350 } 10351 } 10352 10353 srcset = elem[_getAttribute](lazySizesConfig.srcsetAttr); 10354 src = elem[_getAttribute](lazySizesConfig.srcAttr); 10355 10356 if(isImg) { 10357 parent = elem.parentNode; 10358 isPicture = parent && regPicture.test(parent.nodeName || ''); 10359 } 10360 10361 firesLoad = detail.firesLoad || (('src' in elem) && (srcset || src || isPicture)); 10362 10363 event = {target: elem}; 10364 10365 addClass(elem, lazySizesConfig.loadingClass); 10366 10367 if(firesLoad){ 10368 clearTimeout(resetPreloadingTimer); 10369 resetPreloadingTimer = setTimeout(resetPreloading, 2500); 10370 addRemoveLoadEvents(elem, rafSwitchLoadingClass, true); 10371 } 10372 10373 if(isPicture){
10374 forEach.call(parent.getElementsByTagName('source'), handleSources); 10375 } 10376 10377 if(srcset){ 10378 elem.setAttribute('srcset', srcset); 10379 } else if(src && !isPicture){ 10380 if(regIframe.test(elem.nodeName)){ 10381 changeIframeSrc(elem, src); 10382 } else { 10383 elem.src = src; 10384 } 10385 } 10386 10387 if(isImg && (srcset || isPicture)){ 10388 updatePolyfill(elem, {src: src}); 10389 } 10390 } 10391 10392 if(elem._lazyRace){ 10393 delete elem._lazyRace; 10394 } 10395 removeClass(elem, lazySizesConfig.lazyClass); 10396 10397 rAF(function(){ 10398 // Part of this can be removed as soon as this fix is older: https://bugs.chromium.org/p/chromium/issues/detail?id=7731 (2015) 10399 var isLoaded = elem.complete && elem.naturalWidth > 1; 10400 10401 if( !firesLoad || isLoaded){ 10402 if (isLoaded) { 10403 addClass(elem, 'ls-is-cached'); 10404 } 10405 switchLoadingClass(event); 10406 elem._lazyCache = true; 10407 setTimeout(function(){ 10408 if ('_lazyCache' in elem) { 10409 delete elem._lazyCache; 10410 } 10411 }, 9); 10412 } 10413 }, true); 10414 }); 10415 10416 var unveilElement = function (elem){ 10417 var detail; 10418 10419 var isImg = regImg.test(elem.nodeName); 10420 10421 //allow using sizes="auto", but don't use. it's invalid. Use data-sizes="auto" or a valid value for sizes instead (i.e.: sizes="80vw") 10422 var sizes = isImg && (elem[_getAttribute](lazySizesConfig.sizesAttr) || elem[_getAttribute]('sizes')); 10423 var isAuto = sizes == 'auto'; 10424 10425 if( (isAuto || !isCompleted) && isImg && (elem[_getAttribute]('src') || elem.srcset) && !elem.complete && !hasClass(elem, lazySizesConfig.errorClass) && hasClass(elem, lazySizesConfig.lazyClass)){return;} 10426 10427 detail = triggerEvent(elem, 'lazyunveilread').detail; 10428 10429 if(isAuto){ 10430 autoSizer.updateElem(elem, true, elem.offsetWidth); 10431 } 10432 10433 elem._lazyRace = true; 10434 isLoading++; 10435 10436 lazyUnveil(elem, detail, isAuto, sizes, isImg); 10437 }; 10438 10439 var onload = function(){ 10440 if(isCompleted){return;} 10441 if(Date.now() - started < 999){ 10442 setTimeout(onload, 999); 10443 return; 10444 } 10445 var afterScroll = debounce(function(){ 10446 lazySizesConfig.loadMode = 3; 10447 throttledCheckElements(); 10448 }); 10449 10450 isCompleted = true; 10451 10452 lazySizesConfig.loadMode = 3; 10453 10454 throttledCheckElements(); 10455 10456 addEventListener('scroll', function(){ 10457 if(lazySizesConfig.loadMode == 3){ 10458 lazySizesConfig.loadMode = 2; 10459 } 10460 afterScroll(); 10461 }, true); 10462 }; 10463 10464 return { 10465 _: function(){ 10466 started = Date.now(); 10467 10468 lazysizes.elements = document.getElementsByClassName(lazySizesConfig.lazyClass); 10469 preloadElems = document.getElementsByClassName(lazySizesConfig.lazyClass + ' ' + lazySizesConfig.preloadClass); 10470 10471 addEventListener('scroll', throttledCheckElements, true); 10472 10473 addEventListener('resize', throttledCheckElements, true); 10474 10475 if(window.MutationObserver){ 10476 new MutationObserver( throttledCheckElements ).observe( docElem, {childList: true, subtree: true, attributes: true} ); 10477 } else { 10478 docElem[_addEventListener]('DOMNodeInserted', throttledCheckElements, true); 10479 docElem[_addEventListener]('DOMAttrModified', throttledCheckElements, true); 10480 setInterval(throttledCheckElements, 999); 10481 } 10482 10483 addEventListener('hashchange', throttledCheckElements, true); 10484 10485 //, 'fullscreenchange' 10486 ['focus', 'mouseover', 'click', 'load', 'transitionend', 'animationend', 'webkitAnimationEnd'].forEach(function(name){ 10487 document[_addEventListener](name, throttledCheckElements, true); 10488 }); 10489 10490 if((/d$|^c/.test(document.readyState))){ 10491 onload(); 10492 } else { 10493 addEventListener('load', onload); 10494 document[_addEventListener]('DOMContentLoaded', throttledCheckElements); 10495 setTimeout(onload, 20000); 10496 } 10497 10498 if(lazysizes.elements.length){ 10499 checkElements(); 10500 rAF._lsFlush(); 10501 } else { 10502 throttledCheckElements(); 10503 } 10504 }, 10505 checkElems: throttledCheckElements, 10506 unveil: unveilElement 10507 }; 10508 })(); 10509 10510 10511 var autoSizer = (function(){ 10512 var autosizesElems; 10513 10514 var sizeElement = rAFIt(function(elem, parent, event, width){ 10515 var sources, i, len; 10516 elem._lazysizesWidth = width; 10517 width += 'px'; 10518 10519 elem.setAttribute('sizes', width); 10520 10521 if(regPicture.test(parent.nodeName || '')){ 10522 sources = parent.getElementsByTagName('source'); 10523 for(i = 0, len = sources.length; i < len; i++){ 10524 sources[i].setAttribute('sizes', width); 10525 } 10526 } 10527 10528 if(!event.detail.dataAttr){ 10529 updatePolyfill(elem, event.detail); 10530 } 10531 }); 10532 var getSizeElement = function (elem, dataAttr, width){ 10533 var event; 10534 var parent = elem.parentNode; 10535 10536 if(parent){ 10537 width = getWidth(elem, parent, width); 10538 event = triggerEvent(elem, 'lazybeforesizes', {width: width, dataAttr: !!dataAttr}); 10539 10540 if(!event.defaultPrevented){ 10541 width = event.detail.width; 10542 10543 if(width && width !== elem._lazysizesWidth){ 10544 sizeElement(elem, parent, event, width); 10545 } 10546 } 10547 } 10548 }; 10549 10550 var updateElementsSizes = function(){ 10551 var i; 10552 var len = autosizesElems.length; 10553 if(len){ 10554 i = 0; 10555
10556 for(; i < len; i++){ 10557 getSizeElement(autosizesElems[i]); 10558 } 10559 } 10560 }; 10561 10562 var debouncedUpdateElementsSizes = debounce(updateElementsSizes); 10563 10564 return { 10565 _: function(){ 10566 autosizesElems = document.getElementsByClassName(lazySizesConfig.autosizesClass); 10567 addEventListener('resize', debouncedUpdateElementsSizes); 10568 }, 10569 checkElems: debouncedUpdateElementsSizes, 10570 updateElem: getSizeElement 10571 }; 10572 })(); 10573 10574 var init = function(){ 10575 if(!init.i){ 10576 init.i = true; 10577 autoSizer._(); 10578 loader._(); 10579 } 10580 }; 10581 10582 lazysizes = { 10583 cfg: lazySizesConfig, 10584 autoSizer: autoSizer, 10585 loader: loader, 10586 init: init, 10587 uP: updatePolyfill, 10588 aC: addClass, 10589 rC: removeClass, 10590 hC: hasClass, 10591 fire: triggerEvent, 10592 gW: getWidth, 10593 rAF: rAF, 10594 }; 10595 10596 return lazysizes; 10597} 10598)); 10599 10600},{}],344:[function(require,module,exports){ 10601var hasMap = typeof Map === 'function' && Map.prototype; 10602var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null; 10603var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null; 10604var mapForEach = hasMap && Map.prototype.forEach; 10605var hasSet = typeof Set === 'function' && Set.prototype; 10606var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null; 10607var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null; 10608var setForEach = hasSet && Set.prototype.forEach; 10609var hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype; 10610var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; 10611var hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype; 10612var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; 10613var hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype; 10614var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; 10615var booleanValueOf = Boolean.prototype.valueOf; 10616var objectToString = Object.prototype.toString; 10617var functionToString = Function.prototype.toString; 10618var $match = String.prototype.match; 10619var $slice = String.prototype.slice; 10620var $replace = String.prototype.replace; 10621var $toUpperCase = String.prototype.toUpperCase; 10622var $toLowerCase = String.prototype.toLowerCase; 10623var $test = RegExp.prototype.test; 10624var $concat = Array.prototype.concat; 10625var $join = Array.prototype.join; 10626var $arrSlice = Array.prototype.slice; 10627var $floor = Math.floor; 10628var bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null; 10629var gOPS = Object.getOwnPropertySymbols; 10630var symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null; 10631var hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object'; 10632// ie, `has-tostringtag/shams 10633var toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol') 10634 ? Symbol.toStringTag 10635 : null; 10636var isEnumerable = Object.prototype.propertyIsEnumerable; 10637 10638var gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ( 10639 [].__proto__ === Array.prototype // eslint-disable-line no-proto 10640 ? function (O) { 10641 return O.__proto__; // eslint-disable-line no-proto 10642 } 10643 : null 10644); 10645 10646function addNumericSeparator(num, str) { 10647 if ( 10648 num === Infinity 10649 || num === -Infinity 10650 || num !== num 10651 || (num && num > -1000 && num < 1000) 10652 || $test.call(/e/, str) 10653 ) { 10654 return str; 10655 } 10656 var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; 10657 if (typeof num === 'number') { 10658 var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num) 10659 if (int !== num) { 10660 var intStr = String(int); 10661 var dec = $slice.call(str, intStr.length + 1); 10662 return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, ''); 10663 } 10664 } 10665 return $replace.call(str, sepRegex, '$&_'); 10666} 10667 10668var utilInspect = require('./util.inspect');
vendor: 3,328 bytes, lines 10669-10762
10669var inspectCustom = utilInspect.custom; 10670var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; 10671 10672module.exports = function inspect_(obj, options, depth, seen) { 10673 var opts = options || {}; 10674 10675 if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) { 10676 throw new TypeError('option "quoteStyle" must be "single" or "double"'); 10677 } 10678 if ( 10679 has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number' 10680 ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity 10681 : opts.maxStringLength !== null 10682 ) 10683 ) { 10684 throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); 10685 } 10686 var customInspect = has(opts, 'customInspect') ? opts.customInspect : true; 10687 if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') { 10688 throw new TypeError('option "customInspect", if provided, must be `true`, `false`, or `\'symbol\'`'); 10689 } 10690 10691 if ( 10692 has(opts, 'indent') 10693 && opts.indent !== null 10694 && opts.indent !== '\t' 10695 && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0) 10696 ) { 10697 throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); 10698 } 10699 if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') { 10700 throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); 10701 } 10702 var numericSeparator = opts.numericSeparator; 10703 10704 if (typeof obj === 'undefined') { 10705 return 'undefined'; 10706 } 10707 if (obj === null) { 10708 return 'null'; 10709 } 10710 if (typeof obj === 'boolean') { 10711 return obj ? 'true' : 'false'; 10712 } 10713 10714 if (typeof obj === 'string') { 10715 return inspectString(obj, opts); 10716 } 10717 if (typeof obj === 'number') { 10718 if (obj === 0) { 10719 return Infinity / obj > 0 ? '0' : '-0'; 10720 } 10721 var str = String(obj); 10722 return numericSeparator ? addNumericSeparator(obj, str) : str; 10723 } 10724 if (typeof obj === 'bigint') { 10725 var bigIntStr = String(obj) + 'n'; 10726 return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; 10727 } 10728 10729 var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth; 10730 if (typeof depth === 'undefined') { depth = 0; } 10731 if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') { 10732 return isArray(obj) ? '[Array]' : '[Object]'; 10733 } 10734 10735 var indent = getIndent(opts, depth); 10736 10737 if (typeof seen === 'undefined') { 10738 seen = []; 10739 } else if (indexOf(seen, obj) >= 0) { 10740 return '[Circular]'; 10741 } 10742 10743 function inspect(value, from, noIndent) { 10744 if (from) { 10745 seen = $arrSlice.call(seen); 10746 seen.push(from); 10747 } 10748 if (noIndent) { 10749 var newOpts = { 10750 depth: opts.depth 10751 }; 10752 if (has(opts, 'quoteStyle')) { 10753 newOpts.quoteStyle = opts.quoteStyle; 10754 } 10755 return inspect_(value, newOpts, depth + 1, seen); 10756 } 10757 return inspect_(value, opts, depth + 1, seen); 10758 } 10759 10760 if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable 10761 var name = nameOf(obj); 10762 var keys = arrObjKeys(obj, inspect);
vendor: 3,014 bytes, lines 10763-10836
10763 return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : ''); 10764 } 10765 if (isSymbol(obj)) { 10766 var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, '$1') : symToString.call(obj); 10767 return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString; 10768 } 10769 if (isElement(obj)) { 10770 var s = '<' + $toLowerCase.call(String(obj.nodeName)); 10771 var attrs = obj.attributes || []; 10772 for (var i = 0; i < attrs.length; i++) { 10773 s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts); 10774 } 10775 s += '>'; 10776 if (obj.childNodes && obj.childNodes.length) { s += '...'; } 10777 s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>'; 10778 return s; 10779 } 10780 if (isArray(obj)) { 10781 if (obj.length === 0) { return '[]'; } 10782 var xs = arrObjKeys(obj, inspect); 10783 if (indent && !singleLineValues(xs)) { 10784 return '[' + indentedJoin(xs, indent) + ']'; 10785 } 10786 return '[ ' + $join.call(xs, ', ') + ' ]'; 10787 } 10788 if (isError(obj)) { 10789 var parts = arrObjKeys(obj, inspect); 10790 if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) { 10791 return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }'; 10792 } 10793 if (parts.length === 0) { return '[' + String(obj) + ']'; } 10794 return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }'; 10795 } 10796 if (typeof obj === 'object' && customInspect) { 10797 if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) { 10798 return utilInspect(obj, { depth: maxDepth - depth }); 10799 } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') { 10800 return obj.inspect(); 10801 } 10802 } 10803 if (isMap(obj)) { 10804 var mapParts = []; 10805 mapForEach.call(obj, function (value, key) { 10806 mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj)); 10807 }); 10808 return collectionOf('Map', mapSize.call(obj), mapParts, indent); 10809 } 10810 if (isSet(obj)) { 10811 var setParts = []; 10812 setForEach.call(obj, function (value) { 10813 setParts.push(inspect(value, obj)); 10814 }); 10815 return collectionOf('Set', setSize.call(obj), setParts, indent); 10816 } 10817 if (isWeakMap(obj)) { 10818 return weakCollectionOf('WeakMap'); 10819 } 10820 if (isWeakSet(obj)) { 10821 return weakCollectionOf('WeakSet'); 10822 } 10823 if (isWeakRef(obj)) { 10824 return weakCollectionOf('WeakRef'); 10825 } 10826 if (isNumber(obj)) { 10827 return markBoxed(inspect(Number(obj))); 10828 } 10829 if (isBigInt(obj)) { 10830 return markBoxed(inspect(bigIntValueOf.call(obj))); 10831 } 10832 if (isBoolean(obj)) { 10833 return markBoxed(booleanValueOf.call(obj)); 10834 } 10835 if (isString(obj)) { 10836 return markBoxed(inspect(String(obj)))
vendor: 8,843 bytes, lines 10836-11114
10836; 10837 } 10838 if (!isDate(obj) && !isRegExp(obj)) { 10839 var ys = arrObjKeys(obj, inspect); 10840 var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; 10841 var protoTag = obj instanceof Object ? '' : 'null prototype'; 10842 var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : ''; 10843 var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : ''; 10844 var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : ''); 10845 if (ys.length === 0) { return tag + '{}'; } 10846 if (indent) { 10847 return tag + '{' + indentedJoin(ys, indent) + '}'; 10848 } 10849 return tag + '{ ' + $join.call(ys, ', ') + ' }'; 10850 } 10851 return String(obj); 10852}; 10853 10854function wrapQuotes(s, defaultStyle, opts) { 10855 var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '"' : "'"; 10856 return quoteChar + s + quoteChar; 10857} 10858 10859function quote(s) { 10860 return $replace.call(String(s), /"/g, '"'); 10861} 10862 10863function isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 10864function isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 10865function isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 10866function isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 10867function isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 10868function isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 10869function isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); } 10870 10871// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives 10872function isSymbol(obj) { 10873 if (hasShammedSymbols) { 10874 return obj && typeof obj === 'object' && obj instanceof Symbol; 10875 } 10876 if (typeof obj === 'symbol') { 10877 return true; 10878 } 10879 if (!obj || typeof obj !== 'object' || !symToString) { 10880 return false; 10881 } 10882 try { 10883 symToString.call(obj); 10884 return true; 10885 } catch (e) {} 10886 return false; 10887} 10888 10889function isBigInt(obj) { 10890 if (!obj || typeof obj !== 'object' || !bigIntValueOf) { 10891 return false; 10892 } 10893 try { 10894 bigIntValueOf.call(obj); 10895 return true; 10896 } catch (e) {} 10897 return false; 10898} 10899 10900var hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; }; 10901function has(obj, key) { 10902 return hasOwn.call(obj, key); 10903} 10904 10905function toStr(obj) { 10906 return objectToString.call(obj); 10907} 10908 10909function nameOf(f) { 10910 if (f.name) { return f.name; } 10911 var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); 10912 if (m) { return m[1]; } 10913 return null; 10914} 10915 10916function indexOf(xs, x) { 10917 if (xs.indexOf) { return xs.indexOf(x); } 10918 for (var i = 0, l = xs.length; i < l; i++) { 10919 if (xs[i] === x) { return i; } 10920 } 10921 return -1; 10922} 10923 10924function isMap(x) { 10925 if (!mapSize || !x || typeof x !== 'object') { 10926 return false; 10927 } 10928 try { 10929 mapSize.call(x); 10930 try { 10931 setSize.call(x); 10932 } catch (s) { 10933 return true; 10934 } 10935 return x instanceof Map; // core-js workaround, pre-v2.5.0 10936 } catch (e) {} 10937 return false; 10938} 10939 10940function isWeakMap(x) { 10941 if (!weakMapHas || !x || typeof x !== 'object') { 10942 return false; 10943 } 10944 try { 10945 weakMapHas.call(x, weakMapHas); 10946 try { 10947 weakSetHas.call(x, weakSetHas); 10948 } catch (s) { 10949 return true; 10950 } 10951 return x instanceof WeakMap; // core-js workaround, pre-v2.5.0 10952 } catch (e) {} 10953 return false; 10954} 10955 10956function isWeakRef(x) { 10957 if (!weakRefDeref || !x || typeof x !== 'object') { 10958 return false; 10959 } 10960 try { 10961 weakRefDeref.call(x); 10962 return true; 10963 } catch (e) {} 10964 return false; 10965} 10966 10967function isSet(x) { 10968 if (!setSize || !x || typeof x !== 'object') { 10969 return false; 10970 } 10971 try { 10972 setSize.call(x); 10973 try { 10974 mapSize.call(x); 10975 } catch (m) { 10976 return true; 10977 } 10978 return x instanceof Set; // core-js workaround, pre-v2.5.0 10979 } catch (e) {} 10980 return false; 10981} 10982 10983function isWeakSet(x) { 10984 if (!weakSetHas || !x || typeof x !== 'object') { 10985 return false; 10986 } 10987 try { 10988 weakSetHas.call(x, weakSetHas); 10989 try { 10990 weakMapHas.call(x, weakMapHas); 10991 } catch (s) { 10992 return true; 10993 } 10994 return x instanceof WeakSet; // core-js workaround, pre-v2.5.0 10995 } catch (e) {} 10996 return false; 10997} 10998 10999function isElement(x) { 11000 if (!x || typeof x !== 'object') { return false; } 11001 if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) { 11002 return true; 11003 } 11004 return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function'; 11005} 11006 11007function inspectString(str, opts) { 11008 if (str.length > opts.maxStringLength) { 11009 var remaining = str.length - opts.maxStringLength; 11010 var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : ''); 11011 return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; 11012 } 11013 // eslint-disable-next-line no-control-regex 11014 var s = $replace.call($replace.call(str, /(['\\])/g, '\\$1'), /[\x00-\x1f]/g, lowbyte); 11015 return wrapQuotes(s, 'single', opts); 11016} 11017 11018function lowbyte(c) { 11019 var n = c.charCodeAt(0); 11020 var x = { 11021 8: 'b', 11022 9: 't', 11023 10: 'n', 11024 12: 'f', 11025 13: 'r' 11026 }[n]; 11027 if (x) { return '\\' + x; } 11028 return '\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16)); 11029} 11030 11031function markBoxed(str) { 11032 return 'Object(' + str + ')'; 11033} 11034 11035function weakCollectionOf(type) { 11036 return type + ' { ? }'; 11037} 11038 11039function collectionOf(type, size, entries, indent) { 11040 var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', '); 11041 return type + ' (' + size + ') {' + joinedEntries + '}'; 11042} 11043 11044function singleLineValues(xs) { 11045 for (var i = 0; i < xs.length; i++) { 11046 if (indexOf(xs[i], '\n') >= 0) { 11047 return false; 11048 } 11049 } 11050 return true; 11051} 11052 11053function getIndent(opts, depth) { 11054 var baseIndent; 11055 if (opts.indent === '\t') { 11056 baseIndent = '\t'; 11057 } else if (typeof opts.indent === 'number' && opts.indent > 0) { 11058 baseIndent = $join.call(Array(opts.indent + 1), ' '); 11059 } else { 11060 return null; 11061 } 11062 return { 11063 base: baseIndent, 11064 prev: $join.call(Array(depth + 1), baseIndent) 11065 }; 11066} 11067 11068function indentedJoin(xs, indent) { 11069 if (xs.length === 0) { return ''; } 11070 var lineJoiner = '\n' + indent.prev + indent.base; 11071 return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\n' + indent.prev; 11072} 11073 11074function arrObjKeys(obj, inspect) { 11075 var isArr = isArray(obj); 11076 var xs = []; 11077 if (isArr) { 11078 xs.length = obj.length; 11079 for (var i = 0; i < obj.length; i++) { 11080 xs[i] = has(obj, i) ? inspect(obj[i], obj) : ''; 11081 } 11082 } 11083 var syms = typeof gOPS === 'function' ? gOPS(obj) : []; 11084 var symMap; 11085 if (hasShammedSymbols) { 11086 symMap = {}; 11087 for (var k = 0; k < syms.length; k++) { 11088 symMap['$' + syms[k]] = syms[k]; 11089 } 11090 } 11091 11092 for (var key in obj) { // eslint-disable-line no-restricted-syntax 11093 if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue 11094 if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue 11095 if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) { 11096 // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section 11097 continue; // eslint-disable-line no-restricted-syntax, no-continue 11098 } else if ($test.call(/[^\w$]/, key)) { 11099 xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj)); 11100 } else { 11101 xs.push(key + ': ' + inspect(obj[key], obj)); 11102 } 11103 } 11104 if (typeof gOPS === 'function') { 11105 for (var j = 0; j < syms.length; j++) { 11106 if (isEnumerable.call(obj, syms[j])) { 11107 xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj)); 11108 } 11109 } 11110 } 11111 return xs; 11112} 11113 11114}
11114,{"./util.inspect":3}],345:[function(require,module,exports){
vendor: 44,683 bytes, lines 11115-12658
11115/*! picturefill - v3.0.2 - 2016-02-12 11116 * https://scottjehl.github.io/picturefill/ 11117 * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT 11118 */ 11119/*! Gecko-Picture - v1.0 11120 * https://github.com/scottjehl/picturefill/tree/3.0/src/plugins/gecko-picture 11121 * Firefox's early picture implementation (prior to FF41) is static and does 11122 * not react to viewport changes. This tiny module fixes this. 11123 */ 11124(function(window) { 11125 /*jshint eqnull:true */ 11126 var ua = navigator.userAgent; 11127 11128 if ( window.HTMLPictureElement && ((/ecko/).test(ua) && ua.match(/rv\:(\d+)/) && RegExp.$1 < 45) ) { 11129 addEventListener("resize", (function() { 11130 var timer; 11131 11132 var dummySrc = document.createElement("source"); 11133 11134 var fixRespimg = function(img) { 11135 var source, sizes; 11136 var picture = img.parentNode; 11137 11138 if (picture.nodeName.toUpperCase() === "PICTURE") { 11139 source = dummySrc.cloneNode(); 11140 11141 picture.insertBefore(source, picture.firstElementChild); 11142 setTimeout(function() { 11143 picture.removeChild(source); 11144 }); 11145 } else if (!img._pfLastSize || img.offsetWidth > img._pfLastSize) { 11146 img._pfLastSize = img.offsetWidth; 11147 sizes = img.sizes; 11148 img.sizes += ",100vw"; 11149 setTimeout(function() { 11150 img.sizes = sizes; 11151 }); 11152 } 11153 }; 11154 11155 var findPictureImgs = function() { 11156 var i; 11157 var imgs = document.querySelectorAll("picture > img, img[srcset][sizes]"); 11158 for (i = 0; i < imgs.length; i++) { 11159 fixRespimg(imgs[i]); 11160 } 11161 }; 11162 var onResize = function() { 11163 clearTimeout(timer); 11164 timer = setTimeout(findPictureImgs, 99); 11165 }; 11166 var mq = window.matchMedia && matchMedia("(orientation: landscape)"); 11167 var init = function() { 11168 onResize(); 11169 11170 if (mq && mq.addListener) { 11171 mq.addListener(onResize); 11172 } 11173 }; 11174 11175 dummySrc.srcset = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; 11176 11177 if (/^[c|i]|d$/.test(document.readyState || "")) { 11178 init(); 11179 } else { 11180 document.addEventListener("DOMContentLoaded", init); 11181 } 11182 11183 return onResize; 11184 })()); 11185 } 11186})(window); 11187 11188/*! Picturefill - v3.0.2 11189 * http://scottjehl.github.io/picturefill 11190 * Copyright (c) 2015 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; 11191 * License: MIT 11192 */ 11193 11194(function( window, document, undefined ) { 11195 // Enable strict mode 11196 "use strict"; 11197 11198 // HTML shim|v it for old IE (IE9 will still need the HTML video tag workaround) 11199 document.createElement( "picture" ); 11200 11201 var warn, eminpx, alwaysCheckWDescriptor, evalId; 11202 // local object for method references and testing exposure 11203 var pf = {}; 11204 var isSupportTestReady = false; 11205 var noop = function() {}; 11206 var image = document.createElement( "img" ); 11207 var getImgAttr = image.getAttribute; 11208 var setImgAttr = image.setAttribute; 11209 var removeImgAttr = image.removeAttribute; 11210 var docElem = document.documentElement; 11211 var types = {}; 11212 var cfg = { 11213 //resource selection: 11214 algorithm: "" 11215 }; 11216 var srcAttr = "data-pfsrc"; 11217 var srcsetAttr = srcAttr + "set"; 11218 // ua sniffing is done for undetectable img loading features, 11219 // to do some non crucial perf optimizations 11220 var ua = navigator.userAgent; 11221 var supportAbort = (/rident/).test(ua) || ((/ecko/).test(ua) && ua.match(/rv\:(\d+)/) && RegExp.$1 > 35 ); 11222 var curSrcProp = "currentSrc"; 11223 var regWDesc = /\s+\+?\d+(e\d+)?w/; 11224 var regSize = /(\([^)]+\))?\s*(.+)/; 11225 var setOptions = window.picturefillCFG; 11226 /** 11227 * Shortcut property for https://w3c.github.io/webappsec/specs/mixedcontent/#restricts-mixed-content ( for easy overriding in tests ) 11228 */ 11229 // baseStyle also used by getEmValue (i.e.: width: 1em is important) 11230 var baseStyle = "position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)"; 11231 var fsCss = "font-size:100%!important;"; 11232 var isVwDirty = true; 11233 11234 var cssCache = {}; 11235 var sizeLengthCache = {}; 11236 var DPR = window.devicePixelRatio; 11237 var units = { 11238 px: 1, 11239 "in": 96 11240 }; 11241 var anchor = document.createElement( "a" ); 11242 /** 11243 * alreadyRun flag used for setOptions. is it true setOptions will reevaluate 11244 * @type {boolean} 11245 */ 11246 var alreadyRun = false; 11247 11248 // Reusable, non-"g" Regexes 11249 11250 // (Don't use \s, to avoid matching non-breaking space.) 11251 var regexLeadingSpaces = /^[ \t\n\r\u000c]+/, 11252 regexLeadingCommasOrSpaces = /^[, \t\n\r\u000c]+/, 11253 regexLeadingNotSpaces = /^[^ \t\n\r\u000c]+/, 11254 regexTrailingCommas = /[,]+$/, 11255 regexNonNegativeInteger = /^\d+$/, 11256 11257 // ( Positive or negative or unsigned integers or decimals, without or without exponents. 11258 // Must include at least one digit. 11259 // According to spec tests any decimal point must be followed by a digit. 11260 // No leading plus sign is allowed.) 11261 // https://html.spec.whatwg.org/multipage/infrastructure.html#valid-floating-point-number 11262 regexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/; 11263 11264 var on = function(obj, evt, fn, capture) { 11265 if ( obj.addEventListener ) { 11266 obj.addEventListener(evt, fn, capture || false); 11267 } else if ( obj.attachEvent ) { 11268 obj.attachEvent( "on" + evt, fn); 11269 } 11270 }; 11271 11272 /** 11273 * simple memoize function: 11274 */ 11275 11276 var memoize = function(fn) { 11277 var cache = {}; 11278 return function(input) { 11279 if ( !(input in cache) ) { 11280 cache[ input ] = fn(input); 11281 } 11282 return cache[ input ]; 11283 }; 11284 }; 11285 11286 // UTILITY FUNCTIONS 11287 11288 // Manual is faster than RegEx 11289 // http://jsperf.com/whitespace-character/5 11290 function isSpace(c) { 11291 return (c === "\u0020" || // space 11292 c === "\u0009" || // horizontal tab 11293 c === "\u000A" || // new line 11294 c === "\u000C" || // form feed 11295 c === "\u000D"); // carriage return 11296 } 11297 11298 /** 11299 * gets a mediaquery and returns a boolean or gets a css length and returns a number 11300 * @param css mediaqueries or css length 11301 * @returns {boolean|number} 11302 * 11303 * based on: https://gist.github.com/jonathantneal/db4f77009b155f083738 11304 */ 11305 var evalCSS = (function() { 11306 11307 var regLength = /^([\d\.]+)(em|vw|px)$/; 11308 var replace = function() { 11309 var args = arguments, index = 0, string = args[0]; 11310 while (++index in args) { 11311 string = string.replace(args[index], args[++index]); 11312 } 11313 return string; 11314 }; 11315 11316 var buildStr = memoize(function(css) { 11317 11318 return "return " + replace((css || "").toLowerCase(), 11319 // interpret `and` 11320 /\band\b/g, "&&", 11321 11322 // interpret `,` 11323 /,/g, "||", 11324 11325 // interpret `min-` as >= 11326 /min-([a-z-\s]+):/g, "e.$1>=", 11327 11328 // interpret `max-` as <= 11329 /max-([a-z-\s]+):/g, "e.$1<=", 11330 11331 //calc value 11332 /calc([^)]+)/g, "($1)", 11333 11334 // interpret css values 11335 /(\d+[\.]*[\d]*)([a-z]+)/g, "($1 * e.$2)", 11336 //make eval less evil 11337 /^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/ig, "" 11338 ) + ";"; 11339 }); 11340 11341 return function(css, length) { 11342 var parsedLength; 11343 if (!(css in cssCache)) { 11344 cssCache[css] = false; 11345 if (length && (parsedLength = css.match( regLength ))) { 11346 cssCache[css] = parsedLength[ 1 ] * units[parsedLength[ 2 ]]; 11347 } else { 11348 /*jshint evil:true */ 11349 try{ 11350 cssCache[css] = new Function("e", buildStr(css))(units); 11351 } catch(e) {} 11352 /*jshint evil:false */ 11353 } 11354 } 11355 return cssCache[css]; 11356 }; 11357 })(); 11358 11359 var setResolution = function( candidate, sizesattr ) { 11360 if ( candidate.w ) { // h = means height: || descriptor.type === 'h' do not handle yet... 11361 candidate.cWidth = pf.calcListLength( sizesattr || "100vw" ); 11362 candidate.res = candidate.w / candidate.cWidth ; 11363 } else { 11364 candidate.res = candidate.d; 11365 } 11366 return candidate; 11367 }; 11368 11369 /** 11370 * 11371 * @param opt 11372 */ 11373 var picturefill = function( opt ) { 11374 11375 if (!isSupportTestReady) {return;} 11376 11377 var elements, i, plen; 11378 11379 var options = opt || {}; 11380 11381 if ( options.elements && options.elements.nodeType === 1 ) { 11382 if ( options.elements.nodeName.toUpperCase() === "IMG" ) { 11383 options.elements = [ options.elements ]; 11384 } else { 11385 options.context = options.elements; 11386 options.elements = null; 11387 } 11388 } 11389 11390 elements = options.elements || pf.qsa( (options.context || document), ( options.reevaluate || options.reselect ) ? pf.sel : pf.selShort ); 11391 11392 if ( (plen = elements.length) ) { 11393 11394 pf.setupRun( options ); 11395 alreadyRun = true; 11396 11397 // Loop through all elements 11398 for ( i = 0; i < plen; i++ ) { 11399 pf.fillImg(elements[ i ], options); 11400 } 11401 11402 pf.teardownRun( options ); 11403 } 11404 }; 11405 11406 /** 11407 * outputs a warning for the developer 11408 * @param {message} 11409 * @type {Function} 11410 */ 11411 warn = ( window.console && console.warn ) ? 11412 function( message ) { 11413 console.warn( message ); 11414 } : 11415 noop 11416 ; 11417 11418 if ( !(curSrcProp in image) ) { 11419 curSrcProp = "src"; 11420 } 11421 11422 // Add support for standard mime types. 11423 types[ "image/jpeg" ] = true; 11424 types[ "image/gif" ] = true; 11425 types[ "image/png" ] = true; 11426 11427 function detectTypeSupport( type, typeUri ) { 11428 // based on Modernizr's lossless img-webp test 11429 // note: asynchronous 11430 var image = new window.Image(); 11431 image.onerror = function() { 11432 types[ type ] = false; 11433 picturefill(); 11434 }; 11435 image.onload = function() { 11436 types[ type ] = image.width === 1; 11437 picturefill(); 11438 }; 11439 image.src = typeUri; 11440 return "pending"; 11441 } 11442 11443 // test svg support 11444 types[ "image/svg+xml" ] = document.implementation.hasFeature( "http://www.w3.org/TR/SVG11/feature#Image", "1.1" ); 11445 11446 /** 11447 * updates the internal vW property with the current viewport width in px 11448 */ 11449 function updateMetrics() { 11450 11451 isVwDirty = false; 11452 DPR = window.devicePixelRatio; 11453 cssCache = {}; 11454 sizeLengthCache = {}; 11455 11456 pf.DPR = DPR || 1; 11457 11458 units.width = Math.max(window.innerWidth || 0, docElem.clientWidth); 11459 units.height = Math.max(window.innerHeight || 0, docElem.clientHeight); 11460 11461 units.vw = units.width / 100; 11462 units.vh = units.height / 100; 11463 11464 evalId = [ units.height, units.width, DPR ].join("-"); 11465 11466 units.em = pf.getEmValue(); 11467 units.rem = units.em; 11468 } 11469 11470 function chooseLowRes( lowerValue, higherValue, dprValue, isCached ) { 11471 var bonusFactor, tooMuch, bonus, meanDensity; 11472 11473 //experimental 11474 if (cfg.algorithm === "saveData" ){ 11475 if ( lowerValue > 2.7 ) { 11476 meanDensity = dprValue + 1; 11477 } else { 11478 tooMuch = higherValue - dprValue; 11479 bonusFactor = Math.pow(lowerValue - 0.6, 1.5); 11480 11481 bonus = tooMuch * bonusFactor; 11482 11483 if (isCached) { 11484 bonus += 0.1 * bonusFactor; 11485 } 11486 11487 meanDensity = lowerValue + bonus; 11488 } 11489 } else { 11490 meanDensity = (dprValue > 1) ? 11491 Math.sqrt(lowerValue * higherValue) : 11492 lowerValue; 11493 } 11494 11495 return meanDensity > dprValue; 11496 } 11497 11498 function applyBestCandidate( img ) { 11499 var srcSetCandidates; 11500 var matchingSet = pf.getSet( img ); 11501 var evaluated = false; 11502 if ( matchingSet !== "pending" ) { 11503 evaluated = evalId; 11504 if ( matchingSet ) { 11505 srcSetCandidates = pf.setRes( matchingSet ); 11506 pf.applySetCandidate( srcSetCandidates, img ); 11507 } 11508 } 11509 img[ pf.ns ].evaled = evaluated; 11510 } 11511 11512 function ascendingSort( a, b ) { 11513 return a.res - b.res; 11514 } 11515 11516 function setSrcToCur( img, src, set ) { 11517 var candidate; 11518 if ( !set && src ) { 11519 set = img[ pf.ns ].sets; 11520 set = set && set[set.length - 1]; 11521 } 11522 11523 candidate = getCandidateForSrc(src, set); 11524 11525 if ( candidate ) { 11526 src = pf.makeUrl(src); 11527 img[ pf.ns ].curSrc = src; 11528 img[ pf.ns ].curCan = candidate; 11529 11530 if ( !candidate.res ) { 11531 setResolution( candidate, candidate.set.sizes ); 11532 } 11533 } 11534 return candidate; 11535 } 11536 11537 function getCandidateForSrc( src, set ) { 11538 var i, candidate, candidates; 11539 if ( src && set ) { 11540 candidates = pf.parseSet( set ); 11541 src = pf.makeUrl(src); 11542 for ( i = 0; i < candidates.length; i++ ) { 11543 if ( src === pf.makeUrl(candidates[ i ].url) ) { 11544 candidate = candidates[ i ]; 11545 break; 11546 } 11547 } 11548 } 11549 return candidate; 11550 } 11551 11552 function getAllSourceElements( picture, candidates ) { 11553 var i, len, source, srcset; 11554 11555 // SPEC mismatch intended for size and perf: 11556 // actually only source elements preceding the img should be used 11557 // also note: don't use qsa here, because IE8 sometimes doesn't like source as the key part in a selector 11558 var sources = picture.getElementsByTagName( "source" ); 11559 11560 for ( i = 0, len = sources.length; i < len; i++ ) { 11561 source = sources[ i ]; 11562 source[ pf.ns ] = true; 11563 srcset = source.getAttribute( "srcset" ); 11564 11565 // if source does not have a srcset attribute, skip 11566 if ( srcset ) { 11567 candidates.push( { 11568 srcset: srcset, 11569 media: source.getAttribute( "media" ), 11570 type: source.getAttribute( "type" ), 11571 sizes: source.getAttribute( "sizes" ) 11572 } ); 11573 } 11574 } 11575 } 11576 11577 /** 11578 * Srcset Parser 11579 * By Alex Bell | MIT License 11580 * 11581 * @returns Array [{url: _, d: _, w: _, h:_, set:_(????)}, ...] 11582 * 11583 * Based super duper closely on the reference algorithm at: 11584 * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-srcset-attribute 11585 */ 11586 11587 // 1. Let input be the value passed to this algorithm. 11588 // (TO-DO : Explain what "set" argument is here. Maybe choose a more 11589 // descriptive & more searchable name. Since passing the "set" in really has 11590 // nothing to do with parsing proper, I would prefer this assignment eventually 11591 // go in an external fn.) 11592 function parseSrcset(input, set) { 11593 11594 function collectCharacters(regEx) { 11595 var chars, 11596 match = regEx.exec(input.substring(pos)); 11597 if (match) { 11598 chars = match[ 0 ]; 11599 pos += chars.length; 11600 return chars; 11601 } 11602 } 11603 11604 var inputLength = input.length, 11605 url, 11606 descriptors, 11607 currentDescriptor, 11608 state, 11609 c, 11610 11611 // 2. Let position be a pointer into input, initially pointing at the start 11612 // of the string. 11613 pos = 0, 11614 11615 // 3. Let candidates be an initially empty source set. 11616 candidates = []; 11617 11618 /** 11619 * Adds descriptor properties to a candidate, pushes to the candidates array 11620 * @return undefined 11621 */ 11622 // (Declared outside of the while loop so that it's only created once. 11623 // (This fn is defined before it is used, in order to pass JSHINT. 11624 // Unfortunately this breaks the sequencing of the spec comments. :/ ) 11625 function parseDescriptors() { 11626 11627 // 9. Descriptor parser: Let error be no. 11628 var pError = false, 11629 11630 // 10. Let width be absent. 11631 // 11. Let density be absent. 11632 // 12. Let future-compat-h be absent. (We're implementing it now as h) 11633 w, d, h, i, 11634 candidate = {}, 11635 desc, lastChar, value, intVal, floatVal; 11636 11637 // 13. For each descriptor in descriptors, run the appropriate set of steps 11638 // from the following list: 11639 for (i = 0 ; i < descriptors.length; i++) { 11640 desc = descriptors[ i ]; 11641 11642 lastChar = desc[ desc.length - 1 ]; 11643 value = desc.substring(0, desc.length - 1); 11644 intVal = parseInt(value, 10); 11645 floatVal = parseFloat(value); 11646 11647 // If the descriptor consists of a valid non-negative integer followed by 11648 // a U+0077 LATIN SMALL LETTER W character 11649 if (regexNonNegativeInteger.test(value) && (lastChar === "w")) { 11650 11651 // If width and density are not both absent, then let error be yes. 11652 if (w || d) {pError = true;} 11653 11654 // Apply the rules for parsing non-negative integers to the descriptor. 11655 // If the result is zero, let error be yes. 11656 // Otherwise, let width be the result. 11657 if (intVal === 0) {pError = true;} else {w = intVal;} 11658 11659 // If the descriptor consists of a valid floating-point number followed by 11660 // a U+0078 LATIN SMALL LETTER X character 11661 } else if (regexFloatingPoint.test(value) && (lastChar === "x")) { 11662 11663 // If width, density and future-compat-h are not all absent, then let error 11664 // be yes. 11665 if (w || d || h) {pError = true;} 11666 11667 // Apply the rules for parsing floating-point number values to the descriptor. 11668 // If the result is less than zero, let error be yes. Otherwise, let density 11669 // be the result. 11670 if (floatVal < 0) {pError = true;} else {d = floatVal;} 11671 11672 // If the descriptor consists of a valid non-negative integer followed by 11673 // a U+0068 LATIN SMALL LETTER H character 11674 } else if (regexNonNegativeInteger.test(value) && (lastChar === "h")) { 11675 11676 // If height and density are not both absent, then let error be yes. 11677 if (h || d) {pError = true;} 11678 11679 // Apply the rules for parsing non-negative integers to the descriptor. 11680 // If the result is zero, let error be yes. Otherwise, let future-compat-h 11681 // be the result. 11682 if (intVal === 0) {pError = true;} else {h = intVal;} 11683 11684 // Anything else, Let error be yes. 11685 } else {pError = true;} 11686 } // (close step 13 for loop) 11687 11688 // 15. If error is still no, then append a new image source to candidates whose 11689 // URL is url, associated with a width width if not absent and a pixel 11690 // density density if not absent. Otherwise, there is a parse error. 11691 if (!pError) { 11692 candidate.url = url; 11693 11694 if (w) { candidate.w = w;} 11695 if (d) { candidate.d = d;} 11696 if (h) { candidate.h = h;} 11697 if (!h && !d && !w) {candidate.d = 1;} 11698 if (candidate.d === 1) {set.has1x = true;} 11699 candidate.set = set; 11700 11701 candidates.push(candidate); 11702 } 11703 } // (close parseDescriptors fn) 11704 11705 /** 11706 * Tokenizes descriptor properties prior to parsing 11707 * Returns undefined. 11708 * (Again, this fn is defined before it is used, in order to pass JSHINT. 11709 * Unfortunately this breaks the logical sequencing of the spec comments. :/ ) 11710 */ 11711 function tokenize() { 11712 11713 // 8.1. Descriptor tokeniser: Skip whitespace 11714 collectCharacters(regexLeadingSpaces); 11715 11716 // 8.2. Let current descriptor be the empty string. 11717 currentDescriptor = ""; 11718 11719 // 8.3. Let state be in descriptor. 11720 state = "in descriptor"; 11721 11722 while (true) { 11723 11724 // 8.4. Let c be the character at position. 11725 c = input.charAt(pos); 11726 11727 // Do the following depending on the value of state. 11728 // For the purpose of this step, "EOF" is a special character representing 11729 // that position is past the end of input. 11730 11731 // In descriptor 11732 if (state === "in descriptor") { 11733 // Do the following, depending on the value of c: 11734 11735 // Space character 11736 // If current descriptor is not empty, append current descriptor to 11737 // descriptors and let current descriptor be the empty string. 11738 // Set state to after descriptor. 11739 if (isSpace(c)) { 11740 if (currentDescriptor) { 11741 descriptors.push(currentDescriptor); 11742 currentDescriptor = ""; 11743 state = "after descriptor"; 11744 } 11745 11746 // U+002C COMMA (,) 11747 // Advance position to the next character in input. If current descriptor 11748 // is not empty, append current descriptor to descriptors. Jump to the step 11749 // labeled descriptor parser. 11750 } else if (c === ",") { 11751 pos += 1; 11752 if (currentDescriptor) { 11753 descriptors.push(currentDescriptor); 11754 } 11755 parseDescriptors(); 11756 return; 11757 11758 // U+0028 LEFT PARENTHESIS (() 11759 // Append c to current descriptor. Set state to in parens. 11760 } else if (c === "\u0028") { 11761 currentDescriptor = currentDescriptor + c; 11762 state = "in parens"; 11763 11764 // EOF 11765 // If current descriptor is not empty, append current descriptor to 11766 // descriptors. Jump to the step labeled descriptor parser. 11767 } else if (c === "") { 11768 if (currentDescriptor) { 11769 descriptors.push(currentDescriptor); 11770 } 11771 parseDescriptors(); 11772 return; 11773 11774 // Anything else 11775 // Append c to current descriptor. 11776 } else { 11777 currentDescriptor = currentDescriptor + c; 11778 } 11779 // (end "in descriptor" 11780 11781 // In parens 11782 } else if (state === "in parens") { 11783 11784 // U+0029 RIGHT PARENTHESIS ()) 11785 // Append c to current descriptor. Set state to in descriptor. 11786 if (c === ")") { 11787 currentDescriptor = currentDescriptor + c; 11788 state = "in descriptor"; 11789 11790 // EOF 11791 // Append current descriptor to descriptors. Jump to the step labeled 11792 // descriptor parser. 11793 } else if (c === "") { 11794 descriptors.push(currentDescriptor); 11795 parseDescriptors(); 11796 return; 11797 11798 // Anything else 11799 // Append c to current descriptor. 11800 } else { 11801 currentDescriptor = currentDescriptor + c; 11802 } 11803 11804 // After descriptor 11805 } else if (state === "after descriptor") { 11806 11807 // Do the following, depending on the value of c: 11808 // Space character: Stay in this state. 11809 if (isSpace(c)) { 11810 11811 // EOF: Jump to the step labeled descriptor parser. 11812 } else if (c === "") { 11813 parseDescriptors(); 11814 return; 11815 11816 // Anything else 11817 // Set state to in descriptor. Set position to the previous character in input. 11818 } else { 11819 state = "in descriptor"; 11820 pos -= 1; 11821 11822 } 11823 } 11824 11825 // Advance position to the next character in input. 11826 pos += 1; 11827 11828 // Repeat this step. 11829 } // (close while true loop) 11830 } 11831 11832 // 4. Splitting loop: Collect a sequence of characters that are space 11833 // characters or U+002C COMMA characters. If any U+002C COMMA characters 11834 // were collected, that is a parse error. 11835 while (true) { 11836 collectCharacters(regexLeadingCommasOrSpaces); 11837 11838 // 5. If position is past the end of input, return candidates and abort these steps. 11839 if (pos >= inputLength) { 11840 return candidates; // (we're done, this is the sole return path) 11841 } 11842 11843 // 6. Collect a sequence of characters that are not space characters, 11844 // and let that be url. 11845 url = collectCharacters(regexLeadingNotSpaces); 11846 11847 // 7. Let descriptors be a new empty list. 11848 descriptors = []; 11849 11850 // 8. If url ends with a U+002C COMMA character (,), follow these substeps: 11851 // (1). Remove all trailing U+002C COMMA characters from url. If this removed 11852 // more than one character, that is a parse error. 11853 if (url.slice(-1) === ",") { 11854 url = url.replace(regexTrailingCommas, ""); 11855 // (Jump ahead to step 9 to skip tokenization and just push the candidate). 11856 parseDescriptors(); 11857 11858 // Otherwise, follow these substeps: 11859 } else { 11860 tokenize(); 11861 } // (close else of step 8) 11862 11863 // 16. Return to the step labeled splitting loop. 11864 } // (Close of big while loop.) 11865 } 11866 11867 /* 11868 * Sizes Parser 11869 * 11870 * By Alex Bell | MIT License 11871 * 11872 * Non-strict but accurate and lightweight JS Parser for the string value <img sizes="here"> 11873 * 11874 * Reference algorithm at: 11875 * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-sizes-attribute 11876 * 11877 * Most comments are copied in directly from the spec 11878 * (except for comments in parens). 11879 * 11880 * Grammar is: 11881 * <source-size-list> = <source-size># [ , <source-size-value> ]? | <source-size-value> 11882 * <source-size> = <media-condition> <source-size-value> 11883 * <source-size-value> = <length> 11884 * http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#attr-img-sizes 11885 * 11886 * E.g. "(max-width: 30em) 100vw, (max-width: 50em) 70vw, 100vw" 11887 * or "(min-width: 30em), calc(30vw - 15px)" or just "30vw" 11888 * 11889 * Returns the first valid <css-length> with a media condition that evaluates to true, 11890 * or "100vw" if all valid media conditions evaluate to false. 11891 * 11892 */ 11893 11894 function parseSizes(strValue) { 11895 11896 // (Percentage CSS lengths are not allowed in this case, to avoid confusion: 11897 // https://html.spec.whatwg.org/multipage/embedded-content.html#valid-source-size-list 11898 // CSS allows a single optional plus or minus sign: 11899 // http://www.w3.org/TR/CSS2/syndata.html#numbers 11900 // CSS is ASCII case-insensitive: 11901 // http://www.w3.org/TR/CSS2/syndata.html#characters ) 11902 // Spec allows exponential notation for <number> type: 11903 // http://dev.w3.org/csswg/css-values/#numbers 11904 var regexCssLengthWithUnits = /^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i; 11905 11906 // (This is a quick and lenient test. Because of optional unlimited-depth internal 11907 // grouping parens and strict spacing rules, this could get very complicated.) 11908 var regexCssCalc = /^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i; 11909 11910 var i; 11911 var unparsedSizesList; 11912 var unparsedSizesListLength; 11913 var unparsedSize; 11914 var lastComponentValue; 11915 var size; 11916 11917 // UTILITY FUNCTIONS 11918 11919 // (Toy CSS parser. The goals here are: 11920 // 1) expansive test coverage without the weight of a full CSS parser. 11921 // 2) Avoiding regex wherever convenient. 11922 // Quick tests: http://jsfiddle.net/gtntL4gr/3/ 11923 // Returns an array of arrays.) 11924 function parseComponentValues(str) { 11925 var chrctr; 11926 var component = ""; 11927 var componentArray = []; 11928 var listArray = []; 11929 var parenDepth = 0; 11930 var pos = 0; 11931 var inComment = false; 11932 11933 function pushComponent() { 11934 if (component) { 11935 componentArray.push(component); 11936 component = ""; 11937 } 11938 } 11939 11940 function pushComponentArray() { 11941 if (componentArray[0]) { 11942 listArray.push(componentArray); 11943 componentArray = []; 11944 } 11945 } 11946 11947 // (Loop forwards from the beginning of the string.) 11948 while (true) { 11949 chrctr = str.charAt(pos); 11950 11951 if (chrctr === "") { // ( End of string reached.) 11952 pushComponent(); 11953 pushComponentArray(); 11954 return listArray; 11955 } else if (inComment) { 11956 if ((chrctr === "*") && (str[pos + 1] === "/")) { // (At end of a comment.) 11957 inComment = false; 11958 pos += 2; 11959 pushComponent(); 11960 continue; 11961 } else { 11962 pos += 1; // (Skip all characters inside comments.) 11963 continue; 11964 } 11965 } else if (isSpace(chrctr)) { 11966 // (If previous character in loop was also a space, or if 11967 // at the beginning of the string, do not add space char to 11968 // component.) 11969 if ( (str.charAt(pos - 1) && isSpace( str.charAt(pos - 1) ) ) || !component ) { 11970 pos += 1; 11971 continue; 11972 } else if (parenDepth === 0) { 11973 pushComponent(); 11974 pos +=1; 11975 continue; 11976 } else { 11977 // (Replace any space character with a plain space for legibility.) 11978 chrctr = " "; 11979 } 11980 } else if (chrctr === "(") { 11981 parenDepth += 1; 11982 } else if (chrctr === ")") { 11983 parenDepth -= 1; 11984 } else if (chrctr === ",") { 11985 pushComponent(); 11986 pushComponentArray(); 11987 pos += 1; 11988 continue; 11989 } else if ( (chrctr === "/") && (str.charAt(pos + 1) === "*") ) { 11990 inComment = true; 11991 pos += 2; 11992 continue; 11993 } 11994 11995 component = component + chrctr; 11996 pos += 1; 11997 } 11998 } 11999 12000 function isValidNonNegativeSourceSizeValue(s) { 12001 if (regexCssLengthWithUnits.test(s) && (parseFloat(s) >= 0)) {return true;} 12002 if (regexCssCalc.test(s)) {return true;} 12003 // ( http://www.w3.org/TR/CSS2/syndata.html#numbers says: 12004 // "-0 is equivalent to 0 and is not a negative number." which means that 12005 // unitless zero and unitless negative zero must be accepted as special cases.) 12006 if ((s === "0") || (s === "-0") || (s === "+0")) {return true;} 12007 return false; 12008 } 12009 12010 // When asked to parse a sizes attribute from an element, parse a 12011 // comma-separated list of component values from the value of the element's 12012 // sizes attribute (or the empty string, if the attribute is absent), and let 12013 // unparsed sizes list be the result. 12014 // http://dev.w3.org/csswg/css-syntax/#parse-comma-separated-list-of-component-values 12015 12016 unparsedSizesList = parseComponentValues(strValue); 12017 unparsedSizesListLength = unparsedSizesList.length; 12018 12019 // For each unparsed size in unparsed sizes list: 12020 for (i = 0; i < unparsedSizesListLength; i++) { 12021 unparsedSize = unparsedSizesList[i]; 12022 12023 // 1. Remove all consecutive <whitespace-token>s from the end of unparsed size. 12024 // ( parseComponentValues() already omits spaces outside of parens. ) 12025 12026 // If unparsed size is now empty, that is a parse error; continue to the next 12027 // iteration of this algorithm. 12028 // ( parseComponentValues() won't push an empty array. ) 12029 12030 // 2. If the last component value in unparsed size is a valid non-negative 12031 // <source-size-value>, let size be its value and remove the component value 12032 // from unparsed size. Any CSS function other than the calc() function is 12033 // invalid. Otherwise, there is a parse error; continue to the next iteration 12034 // of this algorithm. 12035 // http://dev.w3.org/csswg/css-syntax/#parse-component-value 12036 lastComponentValue = unparsedSize[unparsedSize.length - 1]; 12037 12038 if (isValidNonNegativeSourceSizeValue(lastComponentValue)) { 12039 size = lastComponentValue; 12040 unparsedSize.pop(); 12041 } else { 12042 continue; 12043 } 12044 12045 // 3. Remove all consecutive <whitespace-token>s from the end of unparsed 12046 // size. If unparsed size is now empty, return size and exit this algorithm. 12047 // If this was not the last item in unparsed sizes list, that is a parse error. 12048 if (unparsedSize.length === 0) { 12049 return size; 12050 } 12051 12052 // 4. Parse the remaining component values in unparsed size as a 12053 // <media-condition>. If it does not parse correctly, or it does parse 12054 // correctly but the <media-condition> evaluates to false, continue to the 12055 // next iteration of this algorithm. 12056 // (Parsing all possible compound media conditions in JS is heavy, complicated, 12057 // and the payoff is unclear. Is there ever an situation where the 12058 // media condition parses incorrectly but still somehow evaluates to true? 12059 // Can we just rely on the browser/polyfill to do it?) 12060 unparsedSize = unparsedSize.join(" "); 12061 if (!(pf.matchesMedia( unparsedSize ) ) ) { 12062 continue; 12063 } 12064 12065 // 5. Return size and exit this algorithm. 12066 return size; 12067 } 12068 12069 // If the above algorithm exhausts unparsed sizes list without returning a 12070 // size value, return 100vw. 12071 return "100vw"; 12072 } 12073 12074 // namespace 12075 pf.ns = ("pf" + new Date().getTime()).substr(0, 9); 12076 12077 // srcset support test 12078 pf.supSrcset = "srcset" in image; 12079 pf.supSizes = "sizes" in image; 12080 pf.supPicture = !!window.HTMLPictureElement; 12081 12082 // UC browser does claim to support srcset and picture, but not sizes, 12083 // this extended test reveals the browser does support nothing 12084 if (pf.supSrcset && pf.supPicture && !pf.supSizes) { 12085 (function(image2) { 12086 image.srcset = "data:,a"; 12087 image2.src = "data:,a"; 12088 pf.supSrcset = image.complete === image2.complete; 12089 pf.supPicture = pf.supSrcset && pf.supPicture; 12090 })(document.createElement("img")); 12091 } 12092 12093 // Safari9 has basic support for sizes, but does't expose the `sizes` idl attribute 12094 if (pf.supSrcset && !pf.supSizes) { 12095 12096 (function() { 12097 var width2 = "data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw=="; 12098 var width1 = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; 12099 var img = document.createElement("img"); 12100 var test = function() { 12101 var width = img.width; 12102 12103 if (width === 2) { 12104 pf.supSizes = true; 12105 } 12106 12107 alwaysCheckWDescriptor = pf.supSrcset && !pf.supSizes; 12108 12109 isSupportTestReady = true; 12110 // force async 12111 setTimeout(picturefill); 12112 }; 12113 12114 img.onload = test; 12115 img.onerror = test; 12116 img.setAttribute("sizes", "9px"); 12117 12118 img.srcset = width1 + " 1w," + width2 + " 9w"; 12119 img.src = width1; 12120 })(); 12121 12122 } else { 12123 isSupportTestReady = true; 12124 } 12125 12126 // using pf.qsa instead of dom traversing does scale much better, 12127 // especially on sites mixing responsive and non-responsive images 12128 pf.selShort = "picture>img,img[srcset]"; 12129 pf.sel = pf.selShort; 12130 pf.cfg = cfg; 12131 12132 /** 12133 * Shortcut property for `devicePixelRatio` ( for easy overriding in tests ) 12134 */ 12135 pf.DPR = (DPR || 1 ); 12136 pf.u = units; 12137 12138 // container of supported mime types that one might need to qualify before using 12139 pf.types = types; 12140 12141 pf.setSize = noop; 12142 12143 /** 12144 * Gets a string and returns the absolute URL 12145 * @param src 12146 * @returns {String} absolute URL 12147 */ 12148 12149 pf.makeUrl = memoize(function(src) { 12150 anchor.href = src; 12151 return anchor.href; 12152 }); 12153 12154 /** 12155 * Gets a DOM element or document and a selctor and returns the found matches 12156 * Can be extended with jQuery/Sizzle for IE7 support 12157 * @param context 12158 * @param sel 12159 * @returns {NodeList|Array} 12160 */ 12161 pf.qsa = function(context, sel) { 12162 return ( "querySelector" in context ) ? context.querySelectorAll(sel) : []; 12163 }; 12164 12165 /** 12166 * Shortcut method for matchMedia ( for easy overriding in tests ) 12167 * wether native or pf.mMQ is used will be decided lazy on first call 12168 * @returns {boolean} 12169 */ 12170 pf.matchesMedia = function() { 12171 if ( window.matchMedia && (matchMedia( "(min-width: 0.1em)" ) || {}).matches ) { 12172 pf.matchesMedia = function( media ) { 12173 return !media || ( matchMedia( media ).matches ); 12174 }; 12175 } else { 12176 pf.matchesMedia = pf.mMQ; 12177 } 12178 12179 return pf.matchesMedia.apply( this, arguments ); 12180 }; 12181 12182 /** 12183 * A simplified matchMedia implementation for IE8 and IE9 12184 * handles only min-width/max-width with px or em values 12185 * @param media 12186 * @returns {boolean} 12187 */ 12188 pf.mMQ = function( media ) { 12189 return media ? evalCSS(media) : true; 12190 }; 12191 12192 /** 12193 * Returns the calculated length in css pixel from the given sourceSizeValue 12194 * http://dev.w3.org/csswg/css-values-3/#length-value 12195 * intended Spec mismatches: 12196 * * Does not check for invalid use of CSS functions 12197 * * Does handle a computed length of 0 the same as a negative and therefore invalid value 12198 * @param sourceSizeValue 12199 * @returns {Number} 12200 */ 12201 pf.calcLength = function( sourceSizeValue ) { 12202 12203 var value = evalCSS(sourceSizeValue, true) || false; 12204 if (value < 0) { 12205 value = false; 12206 } 12207 12208 return value; 12209 }; 12210 12211 /** 12212 * Takes a type string and checks if its supported 12213 */ 12214 12215 pf.supportsType = function( type ) { 12216 return ( type ) ? types[ type ] : true; 12217 }; 12218 12219 /** 12220 * Parses a sourceSize into mediaCondition (media) and sourceSizeValue (length) 12221 * @param sourceSizeStr 12222 * @returns {*} 12223 */ 12224 pf.parseSize = memoize(function( sourceSizeStr ) { 12225 var match = ( sourceSizeStr || "" ).match(regSize); 12226 return { 12227 media: match && match[1], 12228 length: match && match[2] 12229 }; 12230 }); 12231 12232 pf.parseSet = function( set ) { 12233 if ( !set.cands ) { 12234 set.cands = parseSrcset(set.srcset, set); 12235 } 12236 return set.cands; 12237 }; 12238 12239 /** 12240 * returns 1em in css px for html/body default size 12241 * function taken from respondjs 12242 * @returns {*|number} 12243 */ 12244 pf.getEmValue = function() { 12245 var body; 12246 if ( !eminpx && (body = document.body) ) { 12247 var div = document.createElement( "div" ), 12248 originalHTMLCSS = docElem.style.cssText, 12249 originalBodyCSS = body.style.cssText; 12250 12251 div.style.cssText = baseStyle; 12252 12253 // 1em in a media query is the value of the default font size of the browser 12254 // reset docElem and body to ensure the correct value is returned 12255 docElem.style.cssText = fsCss; 12256 body.style.cssText = fsCss; 12257 12258 body.appendChild( div ); 12259 eminpx = div.offsetWidth; 12260 body.removeChild( div ); 12261 12262 //also update eminpx before returning 12263 eminpx = parseFloat( eminpx, 10 ); 12264 12265 // restore the original values 12266 docElem.style.cssText = originalHTMLCSS; 12267 body.style.cssText = originalBodyCSS; 12268 12269 } 12270 return eminpx || 16; 12271 }; 12272 12273 /** 12274 * Takes a string of sizes and returns the width in pixels as a number 12275 */ 12276 pf.calcListLength = function( sourceSizeListStr ) { 12277 // Split up source size list, ie ( max-width: 30em ) 100%, ( max-width: 50em ) 50%, 33% 12278 // 12279 // or (min-width:30em) calc(30% - 15px) 12280 if ( !(sourceSizeListStr in sizeLengthCache) || cfg.uT ) { 12281 var winningLength = pf.calcLength( parseSizes( sourceSizeListStr ) ); 12282 12283 sizeLengthCache[ sourceSizeListStr ] = !winningLength ? units.width : winningLength; 12284 } 12285 12286 return sizeLengthCache[ sourceSizeListStr ]; 12287 }; 12288 12289 /** 12290 * Takes a candidate object with a srcset property in the form of url/ 12291 * ex. "images/pic-medium.png 1x, images/pic-medium-2x.png 2x" or 12292 * "images/pic-medium.png 400w, images/pic-medium-2x.png 800w" or 12293 * "images/pic-small.png" 12294 * Get an array of image candidates in the form of 12295 * {url: "/foo/bar.png", resolution: 1} 12296 * where resolution is http://dev.w3.org/csswg/css-values-3/#resolution-value 12297 * If sizes is specified, res is calculated 12298 */ 12299 pf.setRes = function( set ) { 12300 var candidates; 12301 if ( set ) { 12302 12303 candidates = pf.parseSet( set ); 12304 12305 for ( var i = 0, len = candidates.length; i < len; i++ ) { 12306 setResolution( candidates[ i ], set.sizes ); 12307 } 12308 } 12309 return candidates; 12310 }; 12311 12312 pf.setRes.res = setResolution; 12313 12314 pf.applySetCandidate = function( candidates, img ) { 12315 if ( !candidates.length ) {return;} 12316 var candidate, 12317 i, 12318 j, 12319 length, 12320 bestCandidate, 12321 curSrc, 12322 curCan, 12323 candidateSrc, 12324 abortCurSrc; 12325 12326 var imageData = img[ pf.ns ]; 12327 var dpr = pf.DPR; 12328 12329 curSrc = imageData.curSrc || img[curSrcProp]; 12330 12331 curCan = imageData.curCan || setSrcToCur(img, curSrc, candidates[0].set); 12332 12333 // if we have a current source, we might either become lazy or give this source some advantage 12334 if ( curCan && curCan.set === candidates[ 0 ].set ) { 12335 12336 // if browser can abort image request and the image has a higher pixel density than needed 12337 // and this image isn't downloaded yet, we skip next part and try to save bandwidth 12338 abortCurSrc = (supportAbort && !img.complete && curCan.res - 0.1 > dpr); 12339 12340 if ( !abortCurSrc ) { 12341 curCan.cached = true; 12342 12343 // if current candidate is "best", "better" or "okay", 12344 // set it to bestCandidate 12345 if ( curCan.res >= dpr ) { 12346 bestCandidate = curCan; 12347 } 12348 } 12349 } 12350 12351 if ( !bestCandidate ) { 12352 12353 candidates.sort( ascendingSort ); 12354 12355 length = candidates.length; 12356 bestCandidate = candidates[ length - 1 ]; 12357 12358 for ( i = 0; i < length; i++ ) { 12359 candidate = candidates[ i ]; 12360 if ( candidate.res >= dpr ) { 12361 j = i - 1; 12362 12363 // we have found the perfect candidate, 12364 // but let's improve this a little bit with some assumptions ;-) 12365 if (candidates[ j ] && 12366 (abortCurSrc || curSrc !== pf.makeUrl( candidate.url )) && 12367 chooseLowRes(candidates[ j ].res, candidate.res, dpr, candidates[ j ].cached)) { 12368 12369 bestCandidate = candidates[ j ]; 12370 12371 } else { 12372 bestCandidate = candidate; 12373 } 12374 break; 12375 } 12376 } 12377 } 12378 12379 if ( bestCandidate ) { 12380 12381 candidateSrc = pf.makeUrl( bestCandidate.url ); 12382 12383 imageData.curSrc = candidateSrc; 12384 imageData.curCan = bestCandidate; 12385 12386 if ( candidateSrc !== curSrc ) { 12387 pf.setSrc( img, bestCandidate ); 12388 } 12389 pf.setSize( img ); 12390 } 12391 }; 12392 12393 pf.setSrc = function( img, bestCandidate ) { 12394 var origWidth; 12395 img.src = bestCandidate.url; 12396 12397 // although this is a specific Safari issue, we don't want to take too much different code paths 12398 if ( bestCandidate.set.type === "image/svg+xml" ) { 12399 origWidth = img.style.width; 12400 img.style.width = (img.offsetWidth + 1) + "px"; 12401 12402 // next line only should trigger a repaint 12403 // if... is only done to trick dead code removal 12404 if ( img.offsetWidth + 1 ) { 12405 img.style.width = origWidth; 12406 } 12407 } 12408 }; 12409 12410 pf.getSet = function( img ) { 12411 var i, set, supportsType; 12412 var match = false; 12413 var sets = img [ pf.ns ].sets; 12414 12415 for ( i = 0; i < sets.length && !match; i++ ) { 12416 set = sets[i]; 12417 12418 if ( !set.srcset || !pf.matchesMedia( set.media ) || !(supportsType = pf.supportsType( set.type )) ) { 12419 continue; 12420 } 12421 12422 if ( supportsType === "pending" ) { 12423 set = supportsType; 12424 } 12425 12426 match = set; 12427 break; 12428 } 12429 12430 return match; 12431 }; 12432 12433 pf.parseSets = function( element, parent, options ) { 12434 var srcsetAttribute, imageSet, isWDescripor, srcsetParsed; 12435 12436 var hasPicture = parent && parent.nodeName.toUpperCase() === "PICTURE"; 12437 var imageData = element[ pf.ns ]; 12438 12439 if ( imageData.src === undefined || options.src ) { 12440 imageData.src = getImgAttr.call( element, "src" ); 12441 if ( imageData.src ) { 12442 setImgAttr.call( element, srcAttr, imageData.src ); 12443 } else { 12444 removeImgAttr.call( element, srcAttr ); 12445 } 12446 } 12447 12448 if ( imageData.srcset === undefined || options.srcset || !pf.supSrcset || element.srcset ) { 12449 srcsetAttribute = getImgAttr.call( element, "srcset" ); 12450 imageData.srcset = srcsetAttribute; 12451 srcsetParsed = true; 12452 } 12453 12454 imageData.sets = []; 12455 12456 if ( hasPicture ) { 12457 imageData.pic = true; 12458 getAllSourceElements( parent, imageData.sets ); 12459 } 12460 12461 if ( imageData.srcset ) { 12462 imageSet = { 12463 srcset: imageData.srcset, 12464 sizes: getImgAttr.call( element, "sizes" ) 12465 }; 12466 12467 imageData.sets.push( imageSet ); 12468 12469 isWDescripor = (alwaysCheckWDescriptor || imageData.src) && regWDesc.test(imageData.srcset || ""); 12470 12471 // add normal src as candidate, if source has no w descriptor 12472 if ( !isWDescripor && imageData.src && !getCandidateForSrc(imageData.src, imageSet) && !imageSet.has1x ) { 12473 imageSet.srcset += ", " + imageData.src; 12474 imageSet.cands.push({ 12475 url: imageData.src, 12476 d: 1, 12477 set: imageSet 12478 }); 12479 } 12480 12481 } else if ( imageData.src ) { 12482 imageData.sets.push( { 12483 srcset: imageData.src, 12484 sizes: null 12485 } ); 12486 } 12487 12488 imageData.curCan = null; 12489 imageData.curSrc = undefined; 12490 12491 // if img has picture or the srcset was removed or has a srcset and does not support srcset at all 12492 // or has a w descriptor (and does not support sizes) set support to false to evaluate 12493 imageData.supported = !( hasPicture || ( imageSet && !pf.supSrcset ) || (isWDescripor && !pf.supSizes) ); 12494 12495 if ( srcsetParsed && pf.supSrcset && !imageData.supported ) { 12496 if ( srcsetAttribute ) { 12497 setImgAttr.call( element, srcsetAttr, srcsetAttribute ); 12498 element.srcset = ""; 12499 } else { 12500 removeImgAttr.call( element, srcsetAttr ); 12501 } 12502 } 12503 12504 if (imageData.supported && !imageData.srcset && ((!imageData.src && element.src) || element.src !== pf.makeUrl(imageData.src))) { 12505 if (imageData.src === null) { 12506 element.removeAttribute("src"); 12507 } else { 12508 element.src = imageData.src; 12509 } 12510 } 12511 12512 imageData.parsed = true; 12513 }; 12514 12515 pf.fillImg = function(element, options) { 12516 var imageData; 12517 var extreme = options.reselect || options.reevaluate; 12518 12519 // expando for caching data on the img 12520 if ( !element[ pf.ns ] ) { 12521 element[ pf.ns ] = {}; 12522 } 12523 12524 imageData = element[ pf.ns ]; 12525 12526 // if the element has already been evaluated, skip it 12527 // unless `options.reevaluate` is set to true ( this, for example, 12528 // is set to true when running `picturefill` on `resize` ). 12529 if ( !extreme && imageData.evaled === evalId ) { 12530 return; 12531 } 12532 12533 if ( !imageData.parsed || options.reevaluate ) { 12534 pf.parseSets( element, element.parentNode, options ); 12535 } 12536 12537 if ( !imageData.supported ) { 12538 applyBestCandidate( element ); 12539 } else { 12540 imageData.evaled = evalId; 12541 } 12542 }; 12543 12544 pf.setupRun = function() { 12545 if ( !alreadyRun || isVwDirty || (DPR !== window.devicePixelRatio) ) { 12546 updateMetrics(); 12547 } 12548 }; 12549 12550 // If picture is supported, well, that's awesome. 12551 if ( pf.supPicture ) { 12552 picturefill = noop; 12553 pf.fillImg = noop; 12554 } else { 12555 12556 // Set up picture polyfill by polling the document 12557 (function() { 12558 var isDomReady; 12559 var regReady = window.attachEvent ? /d$|^c/ : /d$|^c|^i/; 12560 12561 var run = function() { 12562 var readyState = document.readyState || ""; 12563 12564 timerId = setTimeout(run, readyState === "loading" ? 200 : 999); 12565 if ( document.body ) { 12566 pf.fillImgs(); 12567 isDomReady = isDomReady || regReady.test(readyState); 12568 if ( isDomReady ) { 12569 clearTimeout( timerId ); 12570 } 12571 12572 } 12573 }; 12574 12575 var timerId = setTimeout(run, document.body ? 9 : 99); 12576 12577 // Also attach picturefill on resize and readystatechange 12578 // http://modernjavascript.blogspot.com/2013/08/building-better-debounce.html 12579 var debounce = function(func, wait) { 12580 var timeout, timestamp; 12581 var later = function() { 12582 var last = (new Date()) - timestamp; 12583 12584 if (last < wait) { 12585 timeout = setTimeout(later, wait - last); 12586 } else { 12587 timeout = null; 12588 func(); 12589 } 12590 }; 12591 12592 return function() { 12593 timestamp = new Date(); 12594 12595 if (!timeout) { 12596 timeout = setTimeout(later, wait); 12597 } 12598 }; 12599 }; 12600 var lastClientWidth = docElem.clientHeight; 12601 var onResize = function() { 12602 isVwDirty = Math.max(window.innerWidth || 0, docElem.clientWidth) !== units.width || docElem.clientHeight !== lastClientWidth; 12603 lastClientWidth = docElem.clientHeight; 12604 if ( isVwDirty ) { 12605 pf.fillImgs(); 12606 } 12607 }; 12608 12609 on( window, "resize", debounce(onResize, 99 ) ); 12610 on( document, "readystatechange", run ); 12611 })(); 12612 } 12613 12614 pf.picturefill = picturefill; 12615 //use this internally for easy monkey patching/performance testing 12616 pf.fillImgs = picturefill; 12617 pf.teardownRun = noop; 12618 12619 /* expose methods for testing */ 12620 picturefill._ = pf; 12621 12622 window.picturefillCFG = { 12623 pf: pf, 12624 push: function(args) { 12625 var name = args.shift(); 12626 if (typeof pf[name] === "function") { 12627 pf[name].apply(pf, args); 12628 } else { 12629 cfg[name] = args[0]; 12630 if (alreadyRun) { 12631 pf.fillImgs( { reselect: true } ); 12632 } 12633 } 12634 } 12635 }; 12636 12637 while (setOptions && setOptions.length) { 12638 window.picturefillCFG.push(setOptions.shift()); 12639 } 12640 12641 /* expose picturefill */ 12642 window.picturefill = picturefill; 12643 12644 /* expose picturefill */ 12645 if ( typeof module === "object" && typeof module.exports === "object" ) { 12646 // CommonJS, just export 12647 module.exports = picturefill; 12648 } else if ( typeof define === "function" && define.amd ) { 12649 // AMD support 12650 define( "picturefill", function() { return picturefill; } ); 12651 } 12652 12653 // IE8 evals this sync, so it must be the last thing we do 12654 if ( !pf.supPicture ) { 12655 types[ "image/webp" ] = detectTypeSupport("image/webp", "data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA==" ); 12656 } 12657 12658} )( window, document );
12659 12660},{}],346:[function(require,module,exports){ 12661'use strict'; 12662 12663var replace = String.prototype.replace; 12664var percentTwenties = /%20/g; 12665 12666var Format = { 12667 RFC1738: 'RFC1738', 12668 RFC3986: 'RFC3986'
vendor: 9,145 bytes, lines 12669-12932
12669}; 12670 12671module.exports = { 12672 'default': Format.RFC3986, 12673 formatters: { 12674 RFC1738: function (value) { 12675 return replace.call(value, percentTwenties, '+'); 12676 }, 12677 RFC3986: function (value) { 12678 return String(value); 12679 } 12680 }, 12681 RFC1738: Format.RFC1738, 12682 RFC3986: Format.RFC3986 12683}; 12684 12685},{}],347:[function(require,module,exports){ 12686'use strict'; 12687 12688var stringify = require('./stringify'); 12689var parse = require('./parse'); 12690var formats = require('./formats'); 12691 12692module.exports = { 12693 formats: formats, 12694 parse: parse, 12695 stringify: stringify 12696}; 12697 12698},{"./formats":346,"./parse":348,"./stringify":349}],348:[function(require,module,exports){ 12699'use strict'; 12700 12701var utils = require('./utils'); 12702 12703var has = Object.prototype.hasOwnProperty; 12704var isArray = Array.isArray; 12705 12706var defaults = { 12707 allowDots: false, 12708 allowPrototypes: false, 12709 allowSparse: false, 12710 arrayLimit: 20, 12711 charset: 'utf-8', 12712 charsetSentinel: false, 12713 comma: false, 12714 decoder: utils.decode, 12715 delimiter: '&', 12716 depth: 5, 12717 ignoreQueryPrefix: false, 12718 interpretNumericEntities: false, 12719 parameterLimit: 1000, 12720 parseArrays: true, 12721 plainObjects: false, 12722 strictNullHandling: false 12723}; 12724 12725var interpretNumericEntities = function (str) { 12726 return str.replace(/&#(\d+);/g, function ($0, numberStr) { 12727 return String.fromCharCode(parseInt(numberStr, 10)); 12728 }); 12729}; 12730 12731var parseArrayValue = function (val, options) { 12732 if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) { 12733 return val.split(','); 12734 } 12735 12736 return val; 12737}; 12738 12739// This is what browsers will submit when the â character occurs in an 12740// application/x-www-form-urlencoded body and the encoding of the page containing 12741// the form is iso-8859-1, or when the submitted form has an accept-charset 12742// attribute of iso-8859-1. Presumably also with other charsets that do not contain 12743// the â character, such as us-ascii. 12744var isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓') 12745 12746// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded. 12747var charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('â') 12748 12749var parseValues = function parseQueryStringValues(str, options) { 12750 var obj = {}; 12751 var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\?/, '') : str; 12752 var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit; 12753 var parts = cleanStr.split(options.delimiter, limit); 12754 var skipIndex = -1; // Keep track of where the utf8 sentinel was found 12755 var i; 12756 12757 var charset = options.charset; 12758 if (options.charsetSentinel) { 12759 for (i = 0; i < parts.length; ++i) { 12760 if (parts[i].indexOf('utf8=') === 0) { 12761 if (parts[i] === charsetSentinel) { 12762 charset = 'utf-8'; 12763 } else if (parts[i] === isoSentinel) { 12764 charset = 'iso-8859-1'; 12765 } 12766 skipIndex = i; 12767 i = parts.length; // The eslint settings do not allow break; 12768 } 12769 } 12770 } 12771 12772 for (i = 0; i < parts.length; ++i) { 12773 if (i === skipIndex) { 12774 continue; 12775 } 12776 var part = parts[i]; 12777 12778 var bracketEqualsPos = part.indexOf(']='); 12779 var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1; 12780 12781 var key, val; 12782 if (pos === -1) { 12783 key = options.decoder(part, defaults.decoder, charset, 'key'); 12784 val = options.strictNullHandling ? null : ''; 12785 } else { 12786 key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key'); 12787 val = utils.maybeMap( 12788 parseArrayValue(part.slice(pos + 1), options), 12789 function (encodedVal) { 12790 return options.decoder(encodedVal, defaults.decoder, charset, 'value'); 12791 } 12792 ); 12793 } 12794 12795 if (val && options.interpretNumericEntities && charset === 'iso-8859-1') { 12796 val = interpretNumericEntities(val); 12797 } 12798 12799 if (part.indexOf('[]=') > -1) { 12800 val = isArray(val) ? [val] : val; 12801 } 12802 12803 if (has.call(obj, key)) { 12804 obj[key] = utils.combine(obj[key], val); 12805 } else { 12806 obj[key] = val; 12807 } 12808 } 12809 12810 return obj; 12811}; 12812 12813var parseObject = function (chain, val, options, valuesParsed) { 12814 var leaf = valuesParsed ? val : parseArrayValue(val, options); 12815 12816 for (var i = chain.length - 1; i >= 0; --i) { 12817 var obj; 12818 var root = chain[i]; 12819 12820 if (root === '[]' && options.parseArrays) { 12821 obj = [].concat(leaf); 12822 } else { 12823 obj = options.plainObjects ? Object.create(null) : {}; 12824 var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root; 12825 var index = parseInt(cleanRoot, 10); 12826 if (!options.parseArrays && cleanRoot === '') { 12827 obj = { 0: leaf }; 12828 } else if ( 12829 !isNaN(index) 12830 && root !== cleanRoot 12831 && String(index) === cleanRoot 12832 && index >= 0 12833 && (options.parseArrays && index <= options.arrayLimit) 12834 ) { 12835 obj = []; 12836 obj[index] = leaf; 12837 } else if (cleanRoot !== '__proto__') { 12838 obj[cleanRoot] = leaf; 12839 } 12840 } 12841 12842 leaf = obj; 12843 } 12844 12845 return leaf; 12846}; 12847 12848var parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) { 12849 if (!givenKey) { 12850 return; 12851 } 12852 12853 // Transform dot notation to bracket notation 12854 var key = options.allowDots ? givenKey.replace(/\.([^.[]+)/g, '[$1]') : givenKey; 12855 12856 // The regex chunks 12857 12858 var brackets = /(\[[^[\]]*])/; 12859 var child = /(\[[^[\]]*])/g; 12860 12861 // Get the parent 12862 12863 var segment = options.depth > 0 && brackets.exec(key); 12864 var parent = segment ? key.slice(0, segment.index) : key; 12865 12866 // Stash the parent if it exists 12867 12868 var keys = []; 12869 if (parent) { 12870 // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties 12871 if (!options.plainObjects && has.call(Object.prototype, parent)) { 12872 if (!options.allowPrototypes) { 12873 return; 12874 } 12875 } 12876 12877 keys.push(parent); 12878 } 12879 12880 // Loop through children appending to the array until we hit depth 12881 12882 var i = 0; 12883 while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) { 12884 i += 1; 12885 if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) { 12886 if (!options.allowPrototypes) { 12887 return; 12888 } 12889 } 12890 keys.push(segment[1]); 12891 } 12892 12893 // If there's a remainder, just add whatever is left 12894 12895 if (segment) { 12896 keys.push('[' + key.slice(segment.index) + ']'); 12897 } 12898 12899 return parseObject(keys, val, options, valuesParsed); 12900}; 12901 12902var normalizeParseOptions = function normalizeParseOptions(opts) { 12903 if (!opts) { 12904 return defaults; 12905 } 12906 12907 if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') { 12908 throw new TypeError('Decoder has to be a function.'); 12909 } 12910 12911 if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') { 12912 throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined'); 12913 } 12914 var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset; 12915 12916 return { 12917 allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots, 12918 allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes, 12919 allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse, 12920 arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit, 12921 charset: charset, 12922 charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel, 12923 comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma, 12924 decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder, 12925 delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter, 12926 // eslint-disable-next-line no-implicit-coercion, no-extra-parens 12927 depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth, 12928 ignoreQueryPrefix: opts.ignoreQueryPrefix === true, 12929 interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities, 12930 parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit, 12931 parseArrays: opts.parseArrays !== false, 12932 plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,
vendor: 6,028 bytes, lines 12933-13134
12933 strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling 12934 }; 12935}; 12936 12937module.exports = function (str, opts) { 12938 var options = normalizeParseOptions(opts); 12939 12940 if (str === '' || str === null || typeof str === 'undefined') { 12941 return options.plainObjects ? Object.create(null) : {}; 12942 } 12943 12944 var tempObj = typeof str === 'string' ? parseValues(str, options) : str; 12945 var obj = options.plainObjects ? Object.create(null) : {}; 12946 12947 // Iterate over the keys and setup the new object 12948 12949 var keys = Object.keys(tempObj); 12950 for (var i = 0; i < keys.length; ++i) { 12951 var key = keys[i]; 12952 var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string'); 12953 obj = utils.merge(obj, newObj, options); 12954 } 12955 12956 if (options.allowSparse === true) { 12957 return obj; 12958 } 12959 12960 return utils.compact(obj); 12961}; 12962 12963},{"./utils":350}],349:[function(require,module,exports){ 12964'use strict'; 12965 12966var getSideChannel = require('side-channel'); 12967var utils = require('./utils'); 12968var formats = require('./formats'); 12969var has = Object.prototype.hasOwnProperty; 12970 12971var arrayPrefixGenerators = { 12972 brackets: function brackets(prefix) { 12973 return prefix + '[]'; 12974 }, 12975 comma: 'comma', 12976 indices: function indices(prefix, key) { 12977 return prefix + '[' + key + ']'; 12978 }, 12979 repeat: function repeat(prefix) { 12980 return prefix; 12981 } 12982}; 12983 12984var isArray = Array.isArray; 12985var split = String.prototype.split; 12986var push = Array.prototype.push; 12987var pushToArray = function (arr, valueOrArray) { 12988 push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); 12989}; 12990 12991var toISO = Date.prototype.toISOString; 12992 12993var defaultFormat = formats['default']; 12994var defaults = { 12995 addQueryPrefix: false, 12996 allowDots: false, 12997 charset: 'utf-8', 12998 charsetSentinel: false, 12999 delimiter: '&', 13000 encode: true, 13001 encoder: utils.encode, 13002 encodeValuesOnly: false, 13003 format: defaultFormat, 13004 formatter: formats.formatters[defaultFormat], 13005 // deprecated 13006 indices: false, 13007 serializeDate: function serializeDate(date) { 13008 return toISO.call(date); 13009 }, 13010 skipNulls: false, 13011 strictNullHandling: false 13012}; 13013 13014var isNonNullishPrimitive = function isNonNullishPrimitive(v) { 13015 return typeof v === 'string' 13016 || typeof v === 'number' 13017 || typeof v === 'boolean' 13018 || typeof v === 'symbol' 13019 || typeof v === 'bigint'; 13020}; 13021 13022var sentinel = {}; 13023 13024var stringify = function stringify( 13025 object, 13026 prefix, 13027 generateArrayPrefix, 13028 strictNullHandling, 13029 skipNulls, 13030 encoder, 13031 filter, 13032 sort, 13033 allowDots, 13034 serializeDate, 13035 format, 13036 formatter, 13037 encodeValuesOnly, 13038 charset, 13039 sideChannel 13040) { 13041 var obj = object; 13042 13043 var tmpSc = sideChannel; 13044 var step = 0; 13045 var findFlag = false; 13046 while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) { 13047 // Where object last appeared in the ref tree 13048 var pos = tmpSc.get(object); 13049 step += 1; 13050 if (typeof pos !== 'undefined') { 13051 if (pos === step) { 13052 throw new RangeError('Cyclic object value'); 13053 } else { 13054 findFlag = true; // Break while 13055 } 13056 } 13057 if (typeof tmpSc.get(sentinel) === 'undefined') { 13058 step = 0; 13059 } 13060 } 13061 13062 if (typeof filter === 'function') { 13063 obj = filter(prefix, obj); 13064 } else if (obj instanceof Date) { 13065 obj = serializeDate(obj); 13066 } else if (generateArrayPrefix === 'comma' && isArray(obj)) { 13067 obj = utils.maybeMap(obj, function (value) { 13068 if (value instanceof Date) { 13069 return serializeDate(value); 13070 } 13071 return value; 13072 }); 13073 } 13074 13075 if (obj === null) { 13076 if (strictNullHandling) { 13077 return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix; 13078 } 13079 13080 obj = ''; 13081 } 13082 13083 if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) { 13084 if (encoder) { 13085 var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format); 13086 if (generateArrayPrefix === 'comma' && encodeValuesOnly) { 13087 var valuesArray = split.call(String(obj), ','); 13088 var valuesJoined = ''; 13089 for (var i = 0; i < valuesArray.length; ++i) { 13090 valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format)); 13091 } 13092 return [formatter(keyValue) + '=' + valuesJoined]; 13093 } 13094 return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))]; 13095 } 13096 return [formatter(prefix) + '=' + formatter(String(obj))]; 13097 } 13098 13099 var values = []; 13100 13101 if (typeof obj === 'undefined') { 13102 return values; 13103 } 13104 13105 var objKeys; 13106 if (generateArrayPrefix === 'comma' && isArray(obj)) { 13107 // we need to join elements in 13108 objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }]; 13109 } else if (isArray(filter)) { 13110 objKeys = filter; 13111 } else { 13112 var keys = Object.keys(obj); 13113 objKeys = sort ? keys.sort(sort) : keys; 13114 } 13115 13116 for (var j = 0; j < objKeys.length; ++j) { 13117 var key = objKeys[j]; 13118 var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key]; 13119 13120 if (skipNulls && value === null) { 13121 continue; 13122 } 13123 13124 var keyPrefix = isArray(obj) 13125 ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(prefix, key) : prefix 13126 : prefix + (allowDots ? '.' + key : '[' + key + ']'); 13127 13128 sideChannel.set(object, step); 13129 var valueSideChannel = getSideChannel(); 13130 valueSideChannel.set(sentinel, sideChannel); 13131 pushToArray(values, stringify( 13132 value, 13133 keyPrefix, 13134 generateArrayPrefix,
vendor: 14,464 bytes, lines 13135-13633
13135 strictNullHandling, 13136 skipNulls, 13137 encoder, 13138 filter, 13139 sort, 13140 allowDots, 13141 serializeDate, 13142 format, 13143 formatter, 13144 encodeValuesOnly, 13145 charset, 13146 valueSideChannel 13147 )); 13148 } 13149 13150 return values; 13151}; 13152 13153var normalizeStringifyOptions = function normalizeStringifyOptions(opts) { 13154 if (!opts) { 13155 return defaults; 13156 } 13157 13158 if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') { 13159 throw new TypeError('Encoder has to be a function.'); 13160 } 13161 13162 var charset = opts.charset || defaults.charset; 13163 if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') { 13164 throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined'); 13165 } 13166 13167 var format = formats['default']; 13168 if (typeof opts.format !== 'undefined') { 13169 if (!has.call(formats.formatters, opts.format)) { 13170 throw new TypeError('Unknown format option provided.'); 13171 } 13172 format = opts.format; 13173 } 13174 var formatter = formats.formatters[format]; 13175 13176 var filter = defaults.filter; 13177 if (typeof opts.filter === 'function' || isArray(opts.filter)) { 13178 filter = opts.filter; 13179 } 13180 13181 return { 13182 addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix, 13183 allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots, 13184 charset: charset, 13185 charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel, 13186 delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter, 13187 encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode, 13188 encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder, 13189 encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly, 13190 filter: filter, 13191 format: format, 13192 formatter: formatter, 13193 serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate, 13194 skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls, 13195 sort: typeof opts.sort === 'function' ? opts.sort : null, 13196 strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling 13197 }; 13198}; 13199 13200module.exports = function (object, opts) { 13201 var obj = object; 13202 var options = normalizeStringifyOptions(opts); 13203 13204 var objKeys; 13205 var filter; 13206 13207 if (typeof options.filter === 'function') { 13208 filter = options.filter; 13209 obj = filter('', obj); 13210 } else if (isArray(options.filter)) { 13211 filter = options.filter; 13212 objKeys = filter; 13213 } 13214 13215 var keys = []; 13216 13217 if (typeof obj !== 'object' || obj === null) { 13218 return ''; 13219 } 13220 13221 var arrayFormat; 13222 if (opts && opts.arrayFormat in arrayPrefixGenerators) { 13223 arrayFormat = opts.arrayFormat; 13224 } else if (opts && 'indices' in opts) { 13225 arrayFormat = opts.indices ? 'indices' : 'repeat'; 13226 } else { 13227 arrayFormat = 'indices'; 13228 } 13229 13230 var generateArrayPrefix = arrayPrefixGenerators[arrayFormat]; 13231 13232 if (!objKeys) { 13233 objKeys = Object.keys(obj); 13234 } 13235 13236 if (options.sort) { 13237 objKeys.sort(options.sort); 13238 } 13239 13240 var sideChannel = getSideChannel(); 13241 for (var i = 0; i < objKeys.length; ++i) { 13242 var key = objKeys[i]; 13243 13244 if (options.skipNulls && obj[key] === null) { 13245 continue; 13246 } 13247 pushToArray(keys, stringify( 13248 obj[key], 13249 key, 13250 generateArrayPrefix, 13251 options.strictNullHandling, 13252 options.skipNulls, 13253 options.encode ? options.encoder : null, 13254 options.filter, 13255 options.sort, 13256 options.allowDots, 13257 options.serializeDate, 13258 options.format, 13259 options.formatter, 13260 options.encodeValuesOnly, 13261 options.charset, 13262 sideChannel 13263 )); 13264 } 13265 13266 var joined = keys.join(options.delimiter); 13267 var prefix = options.addQueryPrefix === true ? '?' : ''; 13268 13269 if (options.charsetSentinel) { 13270 if (options.charset === 'iso-8859-1') { 13271 // encodeURIComponent('✓'), the "numeric entity" representation of a checkmark 13272 prefix += 'utf8=%26%2310003%3B&'; 13273 } else { 13274 // encodeURIComponent('â') 13275 prefix += 'utf8=%E2%9C%93&'; 13276 } 13277 } 13278 13279 return joined.length > 0 ? prefix + joined : ''; 13280}; 13281 13282},{"./formats":346,"./utils":350,"side-channel":351}],350:[function(require,module,exports){ 13283'use strict'; 13284 13285var formats = require('./formats'); 13286 13287var has = Object.prototype.hasOwnProperty; 13288var isArray = Array.isArray; 13289 13290var hexTable = (function () { 13291 var array = []; 13292 for (var i = 0; i < 256; ++i) { 13293 array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase()); 13294 } 13295 13296 return array; 13297}()); 13298 13299var compactQueue = function compactQueue(queue) { 13300 while (queue.length > 1) { 13301 var item = queue.pop(); 13302 var obj = item.obj[item.prop]; 13303 13304 if (isArray(obj)) { 13305 var compacted = []; 13306 13307 for (var j = 0; j < obj.length; ++j) { 13308 if (typeof obj[j] !== 'undefined') { 13309 compacted.push(obj[j]); 13310 } 13311 } 13312 13313 item.obj[item.prop] = compacted; 13314 } 13315 } 13316}; 13317 13318var arrayToObject = function arrayToObject(source, options) { 13319 var obj = options && options.plainObjects ? Object.create(null) : {}; 13320 for (var i = 0; i < source.length; ++i) { 13321 if (typeof source[i] !== 'undefined') { 13322 obj[i] = source[i]; 13323 } 13324 } 13325 13326 return obj; 13327}; 13328 13329var merge = function merge(target, source, options) { 13330 /* eslint no-param-reassign: 0 */ 13331 if (!source) { 13332 return target; 13333 } 13334 13335 if (typeof source !== 'object') { 13336 if (isArray(target)) { 13337 target.push(source); 13338 } else if (target && typeof target === 'object') { 13339 if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) { 13340 target[source] = true; 13341 } 13342 } else { 13343 return [target, source]; 13344 } 13345 13346 return target; 13347 } 13348 13349 if (!target || typeof target !== 'object') { 13350 return [target].concat(source); 13351 } 13352 13353 var mergeTarget = target; 13354 if (isArray(target) && !isArray(source)) { 13355 mergeTarget = arrayToObject(target, options); 13356 } 13357 13358 if (isArray(target) && isArray(source)) { 13359 source.forEach(function (item, i) { 13360 if (has.call(target, i)) { 13361 var targetItem = target[i]; 13362 if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') { 13363 target[i] = merge(targetItem, item, options); 13364 } else { 13365 target.push(item); 13366 } 13367 } else { 13368 target[i] = item; 13369 } 13370 }); 13371 return target; 13372 } 13373 13374 return Object.keys(source).reduce(function (acc, key) { 13375 var value = source[key]; 13376 13377 if (has.call(acc, key)) { 13378 acc[key] = merge(acc[key], value, options); 13379 } else { 13380 acc[key] = value; 13381 } 13382 return acc; 13383 }, mergeTarget); 13384}; 13385 13386var assign = function assignSingleSource(target, source) { 13387 return Object.keys(source).reduce(function (acc, key) { 13388 acc[key] = source[key]; 13389 return acc; 13390 }, target); 13391}; 13392 13393var decode = function (str, decoder, charset) { 13394 var strWithoutPlus = str.replace(/\+/g, ' '); 13395 if (charset === 'iso-8859-1') { 13396 // unescape never throws, no try...catch needed: 13397 return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape); 13398 } 13399 // utf-8 13400 try { 13401 return decodeURIComponent(strWithoutPlus); 13402 } catch (e) { 13403 return strWithoutPlus; 13404 } 13405}; 13406 13407var encode = function encode(str, defaultEncoder, charset, kind, format) { 13408 // This code was originally written by Brian White (mscdex) for the io.js core querystring library. 13409 // It has been adapted here for stricter adherence to RFC 3986 13410 if (str.length === 0) { 13411 return str; 13412 } 13413 13414 var string = str; 13415 if (typeof str === 'symbol') { 13416 string = Symbol.prototype.toString.call(str); 13417 } else if (typeof str !== 'string') { 13418 string = String(str); 13419 } 13420 13421 if (charset === 'iso-8859-1') { 13422 return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) { 13423 return '%26%23' + parseInt($0.slice(2), 16) + '%3B'; 13424 }); 13425 } 13426 13427 var out = ''; 13428 for (var i = 0; i < string.length; ++i) { 13429 var c = string.charCodeAt(i); 13430 13431 if ( 13432 c === 0x2D // - 13433 || c === 0x2E // . 13434 || c === 0x5F // _ 13435 || c === 0x7E // ~ 13436 || (c >= 0x30 && c <= 0x39) // 0-9 13437 || (c >= 0x41 && c <= 0x5A) // a-z 13438 || (c >= 0x61 && c <= 0x7A) // A-Z 13439 || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( ) 13440 ) { 13441 out += string.charAt(i); 13442 continue; 13443 } 13444 13445 if (c < 0x80) { 13446 out = out + hexTable[c]; 13447 continue; 13448 } 13449 13450 if (c < 0x800) { 13451 out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]); 13452 continue; 13453 } 13454 13455 if (c < 0xD800 || c >= 0xE000) { 13456 out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]); 13457 continue; 13458 } 13459 13460 i += 1; 13461 c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF)); 13462 /* eslint operator-linebreak: [2, "before"] */ 13463 out += hexTable[0xF0 | (c >> 18)] 13464 + hexTable[0x80 | ((c >> 12) & 0x3F)] 13465 + hexTable[0x80 | ((c >> 6) & 0x3F)] 13466 + hexTable[0x80 | (c & 0x3F)]; 13467 } 13468 13469 return out; 13470}; 13471 13472var compact = function compact(value) { 13473 var queue = [{ obj: { o: value }, prop: 'o' }]; 13474 var refs = []; 13475 13476 for (var i = 0; i < queue.length; ++i) { 13477 var item = queue[i]; 13478 var obj = item.obj[item.prop]; 13479 13480 var keys = Object.keys(obj); 13481 for (var j = 0; j < keys.length; ++j) { 13482 var key = keys[j]; 13483 var val = obj[key]; 13484 if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) { 13485 queue.push({ obj: obj, prop: key }); 13486 refs.push(val); 13487 } 13488 } 13489 } 13490 13491 compactQueue(queue); 13492 13493 return value; 13494}; 13495 13496var isRegExp = function isRegExp(obj) { 13497 return Object.prototype.toString.call(obj) === '[object RegExp]'; 13498}; 13499 13500var isBuffer = function isBuffer(obj) { 13501 if (!obj || typeof obj !== 'object') { 13502 return false; 13503 } 13504 13505 return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj)); 13506}; 13507 13508var combine = function combine(a, b) { 13509 return [].concat(a, b); 13510}; 13511 13512var maybeMap = function maybeMap(val, fn) { 13513 if (isArray(val)) { 13514 var mapped = []; 13515 for (var i = 0; i < val.length; i += 1) { 13516 mapped.push(fn(val[i])); 13517 } 13518 return mapped; 13519 } 13520 return fn(val); 13521}; 13522 13523module.exports = { 13524 arrayToObject: arrayToObject, 13525 assign: assign, 13526 combine: combine, 13527 compact: compact, 13528 decode: decode, 13529 encode: encode, 13530 isBuffer: isBuffer, 13531 isRegExp: isRegExp, 13532 maybeMap: maybeMap, 13533 merge: merge 13534}; 13535 13536},{"./formats":346}],351:[function(require,module,exports){ 13537'use strict'; 13538 13539var GetIntrinsic = require('get-intrinsic'); 13540var callBound = require('call-bind/callBound'); 13541var inspect = require('object-inspect'); 13542 13543var $TypeError = GetIntrinsic('%TypeError%'); 13544var $WeakMap = GetIntrinsic('%WeakMap%', true); 13545var $Map = GetIntrinsic('%Map%', true); 13546 13547var $weakMapGet = callBound('WeakMap.prototype.get', true); 13548var $weakMapSet = callBound('WeakMap.prototype.set', true); 13549var $weakMapHas = callBound('WeakMap.prototype.has', true); 13550var $mapGet = callBound('Map.prototype.get', true); 13551var $mapSet = callBound('Map.prototype.set', true); 13552var $mapHas = callBound('Map.prototype.has', true); 13553 13554/* 13555 * This function traverses the list returning the node corresponding to the 13556 * given key. 13557 * 13558 * That node is also moved to the head of the list, so that if it's accessed 13559 * again we don't need to traverse the whole list. By doing so, all the recently 13560 * used nodes can be accessed relatively quickly. 13561 */ 13562var listGetNode = function (list, key) { // eslint-disable-line consistent-return 13563 for (var prev = list, curr; (curr = prev.next) !== null; prev = curr) { 13564 if (curr.key === key) { 13565 prev.next = curr.next; 13566 curr.next = list.next; 13567 list.next = curr; // eslint-disable-line no-param-reassign 13568 return curr; 13569 } 13570 } 13571}; 13572 13573var listGet = function (objects, key) { 13574 var node = listGetNode(objects, key); 13575 return node && node.value; 13576}; 13577var listSet = function (objects, key, value) { 13578 var node = listGetNode(objects, key); 13579 if (node) { 13580 node.value = value; 13581 } else { 13582 // Prepend the new node to the beginning of the list 13583 objects.next = { // eslint-disable-line no-param-reassign 13584 key: key, 13585 next: objects.next, 13586 value: value 13587 }; 13588 } 13589}; 13590var listHas = function (objects, key) { 13591 return !!listGetNode(objects, key); 13592}; 13593 13594module.exports = function getSideChannel() { 13595 var $wm; 13596 var $m; 13597 var $o; 13598 var channel = { 13599 assert: function (key) { 13600 if (!channel.has(key)) { 13601 throw new $TypeError('Side channel does not contain ' + inspect(key)); 13602 } 13603 }, 13604 get: function (key) { // eslint-disable-line consistent-return 13605 if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { 13606 if ($wm) { 13607 return $weakMapGet($wm, key); 13608 } 13609 } else if ($Map) { 13610 if ($m) { 13611 return $mapGet($m, key); 13612 } 13613 } else { 13614 if ($o) { // eslint-disable-line no-lonely-if 13615 return listGet($o, key); 13616 } 13617 } 13618 }, 13619 has: function (key) { 13620 if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { 13621 if ($wm) { 13622 return $weakMapHas($wm, key); 13623 } 13624 } else if ($Map) { 13625 if ($m) { 13626 return $mapHas($m, key); 13627 } 13628 } else { 13629 if ($o) { // eslint-disable-line no-lonely-if 13630 return listHas($o, key); 13631 } 13632 } 13633 return false;
13634 }, 13635 set: function (key, value) { 13636 if ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) { 13637 if (!$wm) { 13638 $wm = new $WeakMap(); 13639 } 13640 $weakMapSet($wm, key, value); 13641 } else if ($Map) { 13642 if (!$m) { 13643 $m = new $Map(); 13644 } 13645 $mapSet($m, key, value); 13646 } else { 13647 if (!$o) { 13648 /* 13649 * Initialize the linked list as an empty node, so that we don't have 13650 * to special-case handling of the first node: we can always refer to 13651 * it as (previous node).next, instead of something like (list).head 13652 */ 13653 $o = { key: {}, next: null }; 13654 } 13655 listSet($o, key, value); 13656 } 13657 } 13658 }; 13659 return channel; 13660}; 13661 13662},{"call-bind/callBound":4,"get-intrinsic":338,"object-inspect":344}],352:[function(require,module,exports){ 13663(function (global){ 13664'use strict'; 13665 13666Object.defineProperty(exports, "__esModule", { 13667 value: true 13668}); 13669 13670var _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; }; 13671 13672var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 13673 13674var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 13675 13676var _jquery2 = _interopRequireDefault(_jquery); 13677 13678var _events = require('./_events'); 13679 13680var _events2 = _interopRequireDefault(_events); 13681 13682function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 13683 13684function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 13685 13686var defaults = { 13687 $element: undefined, 13688 selectors: { 13689 accordion: '.js-accordion', 13690 radio: '.js-accordion.js-accordion-radio', 13691 item: '.js-accordion .js-accordion-item', 13692 heading: '.js-accordion .js-accordion-heading', 13693 content: '.js-accordion .js-accordion-content', 13694 active: '.js-accordion .js-accordion-heading-active', 13695 collapse: '.js-accordion .accordion__content--collapse', 13696 clickable: 'a, button' 13697 }, 13698 classes: { 13699 active: 'js-accordion-heading-active accordion__heading--active', 13700 expanded: 'js-accordion-content-expanded accordion__content--expanded', 13701 collapse: 'accordion__content--collapse' 13702 }, 13703 keys: { 13704 enter: 13 13705 }, 13706 transitions: { 13707 open: { 13708 easing: 'easeInOutQuart', 13709 duration: 1000 13710 13711 }, 13712 close: { 13713 easing: 'easeInOutQuart', 13714 duration: 670 13715 } 13716 } 13717}; 13718 13719/** 13720 * 13721 * Accordion. 13722 * 13723 * @module Accordion 13724 * @param {Object} properties - specifies the configurations 13725 * for the module. 13726 */ 13727 13728var Accordion = function () { 13729 function Accordion() { 13730 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 13731 13732 _classCallCheck(this, Accordion); 13733 13734 var members = _jquery2.default.extend(true, {}, defaults, properties); 13735 13736 this.$element = members.$element; 13737 this.selectors = members.selectors; 13738 this.classes = members.classes; 13739 this.keys = members.keys; 13740 this.transitions = members.transitions; 13741 } 13742 13743 /** 13744 * Initialise the module. 13745 * 13746 * @function init 13747 * 13748 * @return {undefined} 13749 */ 13750 13751 13752 _createClass(Accordion, [{ 13753 key: 'init', 13754 value: function init() { 13755 this.accessibility(); 13756 this.bind(); 13757 13758 /** 13759 * This will be used when VUE loads after clientlib, this will re-apply the js-accordion events 13760 * removed by the re-render of the the VUE component. 13761 */
13762 document.addEventListener('vue-mounted', () => { 13763 document.querySelectorAll('[data-js="_accordion"]').forEach(el => { 13764 if (!el.__accordionInitialized) { 13765 new Accordion({ $element: $(el) }).init(); 13766 el.__accordionInitialized = true; 13767 } 13768 }); 13769 }); 13770 } 13771 13772 /** 13773 * Configure the accordion interactive elements 13774 * for assisted technology users. 13775 * 13776 * @function accessibility 13777 * 13778 * @return {undefined} 13779 */ 13780 13781 }, { 13782 key: 'accessibility', 13783 value: function accessibility() { 13784 var $heading = this.$element.only(this.selectors.heading); 13785 13786 $heading.each(this.expanded.bind(this)).attr({ tabindex: 0, 'role': 'tab', 'aria-selected': false }); 13787 } 13788 13789 /** 13790 * Apply the default aria expanded state for the 13791 * context given content. 13792 * 13793 * @function expanded 13794 * @callback 13795 * @param {number} index - specifies the element index. 13796 * @param {HTMLElement} heading - specifies the heading element. 13797 * 13798 * @return {undefined} 13799 */ 13800 13801 }, { 13802 key: 'expanded', 13803 value: function expanded(index, heading) { 13804 var expanded = this.classes.active.split(/\s+/).some(function (className) { 13805 return (0, _jquery2.default)(heading).hasClass(className); 13806 }); 13807 13808 (0, _jquery2.default)(heading).attr('aria-expanded', expanded); 13809 (0, _jquery2.default)(heading).attr('aria-selected', expanded); 13810 } 13811 13812 /** 13813 * Bind the instance to the DOM 13814 * 13815 * @function bind 13816 * 13817 * @return {undefined} 13818 */ 13819 13820 }, { 13821 key: 'bind', 13822 value: function bind() { 13823 var $heading = this.$element.only(this.selectors.heading); 13824 13825 $heading.on('click', this.toggle.bind(this)); 13826 $heading.on('keydown', this.keydown.bind(this)); 13827 13828 // 1. These are hidden by CSS based on the .js feature class, so explicitly trigger the hide event to match. 13829 // 2. Remove the `collapse` class and set display: none on the same elements, so they play nice with jQuery animations later. 13830 this.$element.only(this.selectors.collapse).trigger(_events2.default.dynamicContent.hide).hide().removeClass(this.classes.collapse); 13831 } 13832 13833 /** 13834 * Link the keyboard key pressed to the 13835 * appropriate callback function. 13836 * 13837 * @function keydown 13838 * @param {$.Event} event - specifies the keydown event. 13839 * 13840 * @return {undefined} 13841 */ 13842 13843 }, { 13844 key: 'keydown', 13845 value: function keydown(event) { 13846 if (event.keyCode === this.keys.enter) { 13847 this.toggle(event); 13848 } 13849 } 13850 13851 /** 13852 * Toggle the visibility of the accordion content, if it's not currently animating. 13853 * 13854 * @function toggle 13855 * @param {$.Event} event - specifies the event. 13856 * 13857 * @return {undefined} 13858 */ 13859 13860 }, { 13861 key: 'toggle', 13862 value: function toggle(event) { 13863 var _this = this; 13864 13865 if ((0, _jquery2.default)(event.target).not(this.selectors.heading).is(this.selectors.clickable)) { 13866 return; 13867 } 13868 event.preventDefault(); 13869 if (!this.isAnimating(event.currentTarget)) { 13870 this.beginToggle(event.currentTarget).then(function (heading) { 13871 _this.endToggle(heading, event); 13872 }); 13873 } 13874 } 13875 13876 /** 13877 * Checks if accordion content is animating 13878 * 13879 * @param {HTMLElement|$.Element} heading - specifies the heading to toggle 13880 * 13881 * @return {true or false} 13882 */ 13883 13884 }, { 13885 key: 'isAnimating', 13886 value: function isAnimating(heading) { 13887 var $heading = (0, _jquery2.default)(heading); 13888 var $content = $heading.siblings(this.selectors.content).first(); 13889 return $content.is(':animated'); 13890 } 13891 13892 /** 13893 * Animates the accordion content to the opposite visibility state. 13894 * 13895 * @param {HTMLElement|$.Element} heading - specifies the heading to toggle 13896 * 13897 * @return {Promise<HTMLElement|$.Element>} - The heading element 13898 */ 13899 13900 }, {
13901 key: 'beginToggle', 13902 value: function beginToggle(heading) { 13903 var _this2 = this; 13904 13905 var $heading = (0, _jquery2.default)(heading); 13906 var $content = $heading.siblings(this.selectors.content).first(); 13907 var isCollapsed = $content.is(':hidden'); 13908 13909 $heading.trigger({ 13910 type: _events2.default.accordion.beginToggle, 13911 beginToggle: isCollapsed 13912 }); 13913 13914 return new Promise(function (resolve) { 13915 if (_this2.$element.is(_this2.selectors.radio)) { 13916 if (!isCollapsed) { 13917 resolve(heading); 13918 return; 13919 } 13920 _this2.reset(); 13921 } 13922 13923 var toggleOptions = isCollapsed ? _this2.transitions.open : _this2.transitions.close; 13924 $heading.toggleClass(_this2.classes.active); 13925 $content.stop().slideToggle(_extends({}, toggleOptions, { 13926 complete: function complete() { 13927 resolve(heading); 13928 } 13929 })); 13930 }); 13931 } 13932 13933 /** 13934 * Handles accessibility and triggers events for a completed accordion interaction. 13935 * 13936 * @param {HTMLElement|$.Element} heading - specifies the heading toggled 13937 * @param {$.Event} event - the event being handled, if any 13938 * 13939 * @return {undefined} 13940 */ 13941 13942 }, { 13943 key: 'endToggle', 13944 value: function endToggle(heading, event) { 13945 var $heading = (0, _jquery2.default)(heading); 13946 var $content = $heading.siblings(this.selectors.content).first(); 13947 var isExpanded = !$content.is(':hidden'); 13948 13949 if (this.$element.is(this.selectors.radio)) { 13950 if (!isExpanded) { 13951 return; 13952 } 13953 } 13954 13955 $heading.attr({ 13956 'aria-expanded': isExpanded, 13957 'aria-selected': isExpanded 13958 }); 13959 13960 this.$element.trigger(_events2.default.accordion.toggle); 13961 13962 if (isExpanded) { 13963 $content.attr('tabindex', 0).focus(); 13964 13965 this.$element.trigger(_events2.default.accordion.expand); 13966 $content.trigger(_events2.default.dynamicContent.show); 13967 } else { 13968 $content.removeAttr('tabindex'); 13969 13970 this.$element.trigger(_events2.default.accordion.collapse); 13971 $content.trigger(_events2.default.dynamicContent.hide); 13972 } 13973 13974 if (event && event.keyCode === this.keys.enter) { 13975 if (isExpanded) { 13976 $content.attr('tabindex', 0).focus(); 13977 } else { 13978 $content.removeAttr('tabindex'); 13979 } 13980 } 13981 } 13982 13983 /** 13984 * Reset the accordion. 13985 * 13986 * @function reset 13987 * 13988 * @return {undefined} 13989 */ 13990 13991 }, { 13992 key: 'reset', 13993 value: function reset() { 13994 var $heading = this.$element.only(this.selectors.heading); 13995 var $content = this.$element.only(this.selectors.content); 13996 13997 $heading.removeClass(this.classes.active); 13998 $content.slideUp().removeClass(this.classes.expanded).trigger(_events2.default.dynamicContent.hide); 13999 14000 $heading.attr('aria-expanded', false); 14001 $heading.attr('aria-selected', false); 14002 } 14003 }]); 14004 14005 return Accordion; 14006}(); 14007 14008exports.default = Accordion; 14009 14010}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 14011},{"./_events":356}],353:[function(require,module,exports){ 14012(function (global){ 14013'use strict'; 14014 14015Object.defineProperty(exports, "__esModule", { 14016 value: true 14017}); 14018 14019var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 14020 14021var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 14022 14023var _jquery2 = _interopRequireDefault(_jquery); 14024 14025var _utils = require('./_utils'); 14026 14027var utils = _interopRequireWildcard(_utils); 14028 14029var _events = require('./_events'); 14030 14031var _events2 = _interopRequireDefault(_events); 14032 14033var _dynamicContent = require('./_dynamic-content'); 14034 14035var _dynamicContent2 = _interopRequireDefault(_dynamicContent); 14036 14037function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } 14038 14039function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 14040 14041function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } 14042 14043function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 14044 14045var defaults = { 14046 $element: undefined, 14047 selectors: { 14048 slider: '.js-carousel-slider', 14049 slide: '.js-carousel-slide',
14050 controls: '.js-carousel-controls', 14051 control: '.js-carousel-control', 14052 pagination: '.js-carousel-pagination', 14053 page: '.js-carousel-page' 14054 }, 14055 classes: { 14056 activePage: 'carousel__page--active', 14057 activeSlide: 'carousel__slide--active', 14058 visibleControls: 'carousel__controls--visible', 14059 visiblePagination: 'carousel__pagination--visible', 14060 dynamicContentListener: _dynamicContent2.default.classes.listener 14061 }, 14062 breakpoints: { 14063 mobile: 1, 14064 tablet: 2, 14065 desktop: 3 14066 }, 14067 paginationType: 'slide', 14068 swipeEvents: { 14069 swipeleft: 1, 14070 swiperight: -1 14071 }, 14072 center: false, 14073 forceControls: false, 14074 adjustHeight: true, 14075 generatePagination: true 14076}; 14077 14078/** 14079* Carousel (this module only supports an inifite effect). 14080* 14081* @module Carousel 14082* @param {Object} properties - specifies the configurations 14083* for the module. 14084*/ 14085 14086var Carousel = function () { 14087 function Carousel() { 14088 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 14089 14090 _classCallCheck(this, Carousel); 14091 14092 var members = _jquery2.default.extend(true, {}, defaults, properties); 14093 14094 this.$element = members.$element; 14095 this.selectors = members.selectors; 14096 this.templates = members.templates; 14097 this.classes = members.classes; 14098 this.center = members.center; 14099 this.paginationType = members.paginationType; 14100 this.swipeEvents = members.swipeEvents; 14101 this.breakpoints = members.breakpoints; 14102 this.forceControls = Boolean(members.forceControls); 14103 this.adjustHeight = Boolean(members.adjustHeight); 14104 this.generatePagination = Boolean(members.generatePagination); 14105 } 14106 14107 /** 14108 * Initialise the module. 14109 * 14110 * @global 14111 */ 14112 14113 14114 _createClass(Carousel, [{ 14115 key: 'init', 14116 value: function init() { 14117 this._addIDs(); 14118 this.data = this._generateData(); 14119 this.configure(true); 14120 this._generatePagination(); 14121 this._bind(); 14122 } 14123 14124 /** 14125 * Set the data Object to the instance and apply the sizes 14126 * 14127 * @public 14128 * 14129 * @param {Boolean} force Force the configuration to run, even when nothing changed. 14130 */ 14131 14132 }, { 14133 key: 'configure', 14134 value: function configure() { 14135 var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 14136 14137 if (this._getSlidesBreakpoint() === this.data.slidesPerPage && !force) { 14138 return; 14139 } 14140 14141 this.data.slidesPerPage = this._getSlidesBreakpoint(); 14142 this.data.renderedData = this._getRenderData(this.data.currentPage).slice(0, this.data.slidesPerPage); 14143 this.data.totalPages = Math.ceil(this.data.slides.length / this.data.slidesPerPage); 14144 this.data.offset = this.center && this.data.slidesPerPage % 2 !== 0 ? Math.floor(this.data.slidesPerPage / 2) : 0; 14145 14146 this._injectSlides(this.data.renderedData); 14147 this._toggleControls(); 14148 this._applySizes(); 14149 this._activate(); 14150 this.navigateTo(this.data.currentPage, 0); 14151 this.$element.trigger(_events2.default.carousel.configured); 14152 } 14153 14154 /** 14155 * Navigate directly to a slide index 14156 * 14157 * @public 14158 * 14159 * @param {Number} slideIndex [description] 14160 * @param {Number} duration [description] 14161 * @param {Function} callback [description] 14162 */ 14163 14164 }, { 14165 key: 'navigateTo', 14166 value: function navigateTo(slideIndex) { 14167 var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400; 14168 var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : utils.noop; 14169 14170 var end = this._isInView(slideIndex) ? this._isInView(slideIndex) - this.data.renderedData.indexOf(this.data.slides[this.data.currentPage]) : slideIndex - this.data.currentPage; 14171 this.navigate(end, duration, callback); 14172 } 14173 14174 /** 14175 * Navigate the carousel to a certain direction 14176 * 14177 * @public 14178 * 14179 * @param {Number} direction 14180 * @param {Object} context 14181 * @param {Number} duration 14182 * @param {Function} callback 14183 */ 14184 14185 }, {
14186 key: 'navigate', 14187 value: function navigate() { 14188 var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 14189 var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this; 14190 var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 400; 14191 var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : utils.noop; 14192 14193 if (context == 0) { 14194 context = this; 14195 } 14196 14197 if (context.isAnimating) { 14198 return; 14199 } 14200 14201 context.isAnimating = true; 14202 14203 var slides = context._getSlides(context.data.renderedData, context._getRenderData(direction), direction); 14204 var count = direction; 14205 14206 context._resetHeight(false); 14207 context.data.renderedData = context._getRenderData(direction); 14208 context.data.currentPage = (context.data.currentPage + direction) % context.data.slides.length; 14209 14210 if (context.data.currentPage < 0) { 14211 context.data.currentPage += context.data.slides.length; 14212 } 14213 14214 context._injectSlides(slides); 14215 context._applySizes(); 14216 context.$element.trigger(_events2.default.carousel.navigate); 14217 14218 if (direction < 0) { 14219 context.animate(direction * -1, 0); 14220 count = 0; 14221 } 14222 14223 context.animate(count, duration, function () { 14224 context.data.renderedData = direction > 0 ? slides.slice(context.data.slidesPerPage * -1) : slides.slice(0, context.data.slidesPerPage); 14225 context._injectSlides(context.data.renderedData); 14226 context.animate(0, 0); 14227 context._paginate(); 14228 context._activate(); 14229 context._applySizes(); 14230 context._resetHeight(true, function () { 14231 context.isAnimating = false; 14232 context.$element.trigger(_events2.default.carousel.navigated); 14233 callback(); 14234 }); 14235 }); 14236 } 14237 14238 /** 14239 * Animate the carousel by a set direction 14240 * 14241 * @public 14242 * 14243 * @param {Number} direction 14244 * @param {Number} duration 14245 * @param {Function} callback 14246 */ 14247 14248 }, { 14249 key: 'animate', 14250 value: function animate() { 14251 var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 14252 var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 400; 14253 var callback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : utils.noop; 14254 14255 var divider = this.paginationType === 'slide' ? this.data.slidesPerPage : 1; 14256 var $slider = this.$element.find(this.selectors.slider); 14257 14258 $slider.animate({ 14259 marginLeft: direction * -(100 / divider) + '%' 14260 }, duration, 'linear', callback); 14261 } 14262 14263 /** 14264 * Add an Array of slides to a carousel at the end or to a specified position 14265 * 14266 * @public 14267 * 14268 * @param {Array|$.Element} slides The Array of the slides to add to the Carousel 14269 * @param {Number?} to The position where to insert the slides 14270 */ 14271 14272 }, { 14273 key: 'add', 14274 value: function add(slides) { 14275 var to = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.data.slides.length; 14276 14277 this.data.slides = this.data.slides.slice(0, to).concat(newSlides).concat(this.data.slides.slice(to)); 14278 14279 this.data.slides.forEach(function ($slide, index) { 14280 return $slide.attr('data-slide', index); 14281 }); 14282 14283 this.configure(true); 14284 this._generatePagination(); 14285 14286 return newSlides; 14287 } 14288 14289 /** 14290 * Remove an Array of slides 14291 * 14292 * @public 14293 * 14294 * @param {Array} slideIndexes 14295 * 14296 * @return {Array} The deleted slides 14297 */ 14298 14299 }, {
14300 key: 'remove', 14301 value: function remove(slideIndexes) { 14302 var _this = this; 14303 14304 var slideIndexesArray = [].concat(slideIndexes); 14305 var deletedSlides = slideIndexesArray.map(function (slideIndex) { 14306 return _this.data.slides.filter(function (slide) { 14307 return (0, _jquery2.default)(slide).data('slide') === slideIndex; 14308 })[0]; 14309 }); 14310 14311 this.data.slides = this.data.slides.filter(function (slide) { 14312 return !slideIndexesArray.includes((0, _jquery2.default)(slide).data('slide')); 14313 }); 14314 14315 if (slideIndexesArray.includes(this.data.currentPage)) { 14316 this.data.currentPage = 0; 14317 this._paginate(); 14318 } 14319 14320 this.configure(true); 14321 this._generatePagination(); 14322 14323 return deletedSlides; 14324 } 14325 14326 /** 14327 * Move a slide from an index to another 14328 * 14329 * @public 14330 * 14331 * @param {Number} from 14332 * @param {Number} to 14333 */ 14334 14335 }, { 14336 key: 'move', 14337 value: function move(from, to) { 14338 this.data.slides.splice(to, 0, this.data.slides.splice(from, 1)[0]); 14339 14340 this.configure(true); 14341 this._generatePagination(); 14342 } 14343 14344 /** 14345 * Return if a slide is in view 14346 * 14347 * @param {Number} slideIndex 14348 * 14349 * @return {Boolean|$.Element} 14350 */ 14351 14352 }, { 14353 key: '_isInView', 14354 value: function _isInView(slideIndex) { 14355 var slidesInView = this.data.renderedData.filter(function ($slide) { 14356 return $slide.data('slide') === slideIndex; 14357 }); 14358 14359 return slidesInView.length && this.data.renderedData.indexOf(slidesInView[0]); 14360 } 14361 14362 /** 14363 * Bind the events for the controls and for the window resizing 14364 */ 14365 14366 }, { 14367 key: '_bind', 14368 value: function _bind() { 14369 this.$element.addClass(this.classes.dynamicContentListener); 14370 (0, _jquery2.default)(window).on('vf::resize', this._handleResize.bind(this)); 14371 this.$element.find(this.selectors.control).on('click', this._handleControl.bind(this)); 14372 this.$element.find(this.selectors.pagination).on('click', this.selectors.page, this._handlePage.bind(this)); 14373 this.$element.on('swiperight swipeleft', this._handleSwipe.bind(this)); 14374 this.$element.on([_events2.default.dynamicContent.show, _events2.default.dynamicContent.hide].join(' '), this._handleDynamicContent.bind(this)); 14375 } 14376 14377 /** 14378 * Handle the dynamic content change 14379 */ 14380 14381 }, { 14382 key: '_handleDynamicContent', 14383 value: function _handleDynamicContent(event) { 14384 if (_jquery2.default.contains(event.target, this.$element.get(0))) { 14385 this.configure(true); 14386 } 14387 } 14388 14389 /** 14390 * Handle the window resizing 14391 */ 14392 14393 }, { 14394 key: '_handleResize', 14395 value: function _handleResize() { 14396 this.configure(); 14397 } 14398 14399 /** 14400 * Handle the control clicking and navigate to the set direction 14401 * 14402 * @param {$.Event} event 14403 */ 14404 14405 }, { 14406 key: '_handleControl', 14407 value: function _handleControl(event) { 14408 event.preventDefault(); 14409 14410 this.navigate((0, _jquery2.default)(event.currentTarget).data('direction')); 14411 } 14412 14413 /** 14414 * Handle the page item click event 14415 * 14416 * @param {$.Event} event 14417 */ 14418 14419 }, { 14420 key: '_handlePage', 14421 value: function _handlePage(event) { 14422 event.preventDefault(); 14423 14424 this.navigate((0, _jquery2.default)(event.currentTarget).data('page') - this.data.currentPage); 14425 } 14426 14427 /** 14428 * Handle the swipe event 14429 * 14430 * @param {$.Event} event 14431 */ 14432 14433 }, { 14434 key: '_handleSwipe', 14435 value: function _handleSwipe(event) { 14436 if (!window.Modernizr.touchevents) { 14437 return; 14438 } 14439 14440 this.navigate(this.swipeEvents[event.type]); 14441 } 14442 14443 /** 14444 * Adapt the height of the slider to the slide max height 14445 * and set it to auto after 14446 */ 14447 14448 }, {
14449 key: '_adaptHeight', 14450 value: function _adaptHeight() { 14451 var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 400; 14452 14453 if (!this.adjustHeight) { 14454 return; 14455 } 14456 14457 var $slider = this.$element.find(this.selectors.slider); 14458 14459 $slider.animate({ 14460 height: this._getMaxHeight() + 'px' 14461 }, duration, function () { 14462 return $slider.css('height', 'auto'); 14463 }); 14464 } 14465 14466 /** 14467 * Reset the height to the maximum height of the slider 14468 * 14469 * @param {Boolean} isAnimated Use the animation or the transaction 14470 * @param {Function} callback 14471 */ 14472 14473 }, { 14474 key: '_resetHeight', 14475 value: function _resetHeight() { 14476 var isAnimated = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; 14477 var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : utils.noop; 14478 14479 if (!this.adjustHeight) { 14480 callback(); 14481 14482 return; 14483 } 14484 14485 var $slider = this.$element.find(this.selectors.slider); 14486 14487 if (isAnimated) { 14488 $slider.animate({ 14489 height: this._getMaxHeight() + 'px' 14490 }, 200, function () { 14491 $slider.css('height', 'auto'); 14492 callback(); 14493 }); 14494 14495 return; 14496 } 14497 14498 $slider.css('height', this._getMaxHeight()); 14499 14500 callback(); 14501 } 14502 14503 /** 14504 * Return the slide max height 14505 */ 14506 14507 }, { 14508 key: '_getMaxHeight', 14509 value: function _getMaxHeight() { 14510 return this.data.renderedData.reduce(function (carry, $slide) { 14511 return carry < $slide.height() ? $slide.height() : carry; 14512 }, 0); 14513 } 14514 14515 /** 14516 * Manage the active class on the slides 14517 * 14518 * @return {$.Element} The active element 14519 */ 14520 14521 }, { 14522 key: '_activate', 14523 value: function _activate() { 14524 return this.$element.find(this.selectors.slide).removeClass(this.classes.activeSlide).filter('[data-slide=' + this.data.currentPage + ']').addClass(this.classes.activeSlide); 14525 } 14526 14527 /** 14528 * Add the data-slide attribute to the slides 14529 */ 14530 14531 }, { 14532 key: '_addIDs', 14533 value: function _addIDs() { 14534 this.$element.find(this.selectors.slide).each(function (i, slide) { 14535 return (0, _jquery2.default)(slide).attr('data-slide', i); 14536 }); 14537 } 14538 14539 /** 14540 * Save the data needed for the carousel 14541 */ 14542 14543 }, { 14544 key: '_generateData', 14545 value: function _generateData() { 14546 var slides = this._getSlidesData(); 14547 var slidesPerPage = this._getSlidesBreakpoint(); 14548 14549 return { 14550 slides: slides, 14551 currentPage: 0, 14552 slidesPerPage: slidesPerPage, 14553 totalPages: Math.ceil(slides.length / slidesPerPage), 14554 renderedData: slides.slice(0, slidesPerPage), 14555 offset: this.center && slidesPerPage % 2 !== 0 ? Math.floor(slidesPerPage / 2) : 0 14556 }; 14557 } 14558 14559 /** 14560 * Delete all the slides, storing them in the data layer 14561 */ 14562 14563 }, { 14564 key: '_killSlides', 14565 value: function _killSlides() { 14566 var _this2 = this; 14567 14568 this.$element.find(this.selectors.slide).each(function (index, slide) { 14569 var $slide = (0, _jquery2.default)(slide); 14570 var slideDataIndex = _this2.data.slides.indexOf($slide); 14571 14572 _this2.data.slides[slideDataIndex] = $slide.removeClass(_this2.classes.activeSlide).detach(); 14573 }); 14574 } 14575 14576 /** 14577 * This is needed for IE11 and below, where SVGs disappear when detaching and appending them back 14578 * to the DOM. 14579 */ 14580 14581 }, { 14582 key: '_attachSVGs', 14583 value: function _attachSVGs() { 14584 this.$element.find(this.selectors.slide).find('use').each(function (i, useElement) { 14585 var $use = (0, _jquery2.default)(useElement); 14586 var svgHref = $use.attr('xlink:href'); 14587 14588 $use.attr('xlink:href', svgHref); 14589 }); 14590 } 14591 14592 /** 14593 * Uses an Array of slides as source of the carousel
14594 * 14595 * @param {Array} slides 14596 */ 14597 14598 }, { 14599 key: '_injectSlides', 14600 value: function _injectSlides(slides) { 14601 var _$element$find; 14602 14603 this._killSlides(); 14604 (_$element$find = this.$element.find(this.selectors.slider)).append.apply(_$element$find, _toConsumableArray(slides)); 14605 if (window.equalHeights != undefined) { 14606 equalHeights(); 14607 }; 14608 this._attachSVGs(); 14609 } 14610 14611 /** 14612 * Get the slides from the the existing ones, from the data or clone them. 14613 * 14614 * @param {Array} from 14615 * @param {Array} to 14616 * @param {number} direction 14617 * 14618 * @return {Array} 14619 */ 14620 14621 }, { 14622 key: '_getSlides', 14623 value: function _getSlides(from, to, direction) { 14624 var _this3 = this; 14625 14626 return to.map(function ($slide, index) { 14627 var fromSlide = from.indexOf($slide); 14628 var dataSlide = _this3.data.slides.indexOf($slide); 14629 var startIndex = direction > 0 ? to.lastIndexOf($slide) : to.indexOf($slide); 14630 14631 if (fromSlide !== -1) { 14632 if (startIndex !== index) { 14633 return from[fromSlide].clone(); 14634 } 14635 14636 return from[fromSlide]; 14637 } 14638 14639 return _this3.data.slides[dataSlide]; 14640 }); 14641 } 14642 14643 /** 14644 * Get the slides needed to do the animation 14645 * 14646 * @param {number} direction The direction the carousel is pointing to 14647 * 14648 * @return {Array} 14649 */ 14650 14651 }, { 14652 key: '_getRenderData', 14653 value: function _getRenderData(direction) { 14654 var nextIndex = this.data.currentPage + direction; 14655 var start = nextIndex < this.data.currentPage ? nextIndex : this.data.currentPage; 14656 var end = nextIndex < this.data.currentPage ? this.data.currentPage + this.data.slidesPerPage : nextIndex + this.data.slidesPerPage; 14657 var renderData = []; 14658 14659 for (var i = start - this.data.offset; i < end - this.data.offset; ++i) { 14660 var absIndex = i % this.data.slides.length; 14661 14662 if (absIndex < 0) { 14663 absIndex += this.data.slides.length; 14664 } 14665 14666 renderData.push(this.data.slides[absIndex]); 14667 } 14668 14669 return renderData; 14670 } 14671 14672 /** 14673 * Get the slides into an array 14674 * 14675 * @return {Array} 14676 */ 14677 14678 }, { 14679 key: '_getSlidesData', 14680 value: function _getSlidesData() { 14681 return this.$element.find(this.selectors.slide).toArray().map(function (slide) { 14682 return (0, _jquery2.default)(slide); 14683 }); 14684 } 14685 14686 /** 14687 * Generate the pagination html and add it to the pagination 14688 * 14689 * @param {number?} activeIndex The active item 14690 */ 14691 14692 }, { 14693 key: '_generatePagination', 14694 value: function _generatePagination() { 14695 var activeIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.data.currentPage; 14696 14697 if (!this.$element.find(this.selectors.pagination).length || !this.generatePagination) { 14698 return; 14699 } 14700 14701 var totalPages = this.paginationType === 'slide' ? this.data.slides.length : this.data.totalPages; 14702 } 14703 14704 /** 14705 * Get the breakpoint slides per page from the before pseudo elements 14706 * 14707 * @return {number} 14708 */ 14709 14710 }, { 14711 key: '_getSlidesBreakpoint', 14712 value: function _getSlidesBreakpoint() { 14713 return parseInt(this.breakpoints[utils.getBreakpoint()]); 14714 } 14715 14716 /** 14717 * Calculate the width of each slide 14718 * 14719 * @return {number} 14720 */ 14721 14722 }, { 14723 key: '_calculateSlideWidth', 14724 value: function _calculateSlideWidth() { 14725 return 100 / this.data.renderedData.length; 14726 } 14727 14728 /** 14729 * Calculate the width of the slider 14730 * 14731 * @return {number} 14732 */ 14733 14734 }, {
14735 key: '_calculateSliderWidth', 14736 value: function _calculateSliderWidth() { 14737 return this.data.renderedData.length / this.data.slidesPerPage * 100; 14738 } 14739 14740 /** 14741 * Toggle the controls based on the slide number 14742 */ 14743 14744 }, { 14745 key: '_toggleControls', 14746 value: function _toggleControls() { 14747 this.$element.find(this.selectors.controls).toggleClass(this.classes.visibleControls, this.data.slides.length > this.data.slidesPerPage || this.forceControls); 14748 14749 this.$element.find(this.selectors.pagination).toggleClass(this.classes.visiblePagination, this.data.slides.length > this.data.slidesPerPage || this.forceControls); 14750 } 14751 14752 /** 14753 * Apply the widths to the slider and to each slide 14754 */ 14755 14756 }, { 14757 key: '_applySizes', 14758 value: function _applySizes() { 14759 this.$element.find(this.selectors.slider).innerWidth(this._calculateSliderWidth() + '%'); 14760 this.$element.find(this.selectors.slide).innerWidth(this._calculateSlideWidth() + '%'); 14761 } 14762 14763 /** 14764 * Set the active page 14765 * 14766 * @param {number?} page 14767 */ 14768 14769 }, { 14770 key: '_paginate', 14771 value: function _paginate() { 14772 var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.data.currentPage; 14773 14774 this.$element.find('.' + this.classes.activePage).removeClass(this.classes.activePage); 14775 this.$element.find(this.selectors.page).filter('[data-page="' + page + '"]').addClass(this.classes.activePage); 14776 } 14777 }]); 14778 14779 return Carousel; 14780}(); 14781 14782exports.default = Carousel; 14783 14784}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 14785},{"./_dynamic-content":355,"./_events":356,"./_utils":368}],354:[function(require,module,exports){ 14786(function (global){ 14787'use strict'; 14788 14789Object.defineProperty(exports, "__esModule", { 14790 value: true 14791}); 14792 14793var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 14794 14795var _utils = require('./_utils'); 14796 14797var utils = _interopRequireWildcard(_utils); 14798 14799var _events = require('./_events'); 14800 14801var _events2 = _interopRequireDefault(_events); 14802 14803var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 14804 14805var _jquery2 = _interopRequireDefault(_jquery); 14806 14807var _nudge = require('./_nudge'); 14808 14809var _nudge2 = _interopRequireDefault(_nudge); 14810 14811function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 14812 14813function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } 14814 14815function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 14816 14817var defaults = { 14818 $element: undefined, 14819 nudge: undefined 14820}; 14821 14822/** 14823 * CookiePolicy. 14824 * 14825 * @module CookiePolicy 14826 * @param {Object} properties - specifies the configurations 14827 * for the module. 14828 */ 14829 14830var CookiePolicy = function () { 14831 function CookiePolicy() { 14832 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 14833 14834 _classCallCheck(this, CookiePolicy); 14835 14836 var members = _jquery2.default.extend(true, {}, defaults, properties); 14837 14838 this.$element = members.$element; 14839 } 14840 14841 /** 14842 * Initialise the module. 14843 * 14844 * @function init 14845 * 14846 * @return {undefined} 14847 */ 14848 14849 14850 _createClass(CookiePolicy, [{ 14851 key: 'init',
14852 value: function init() { 14853 this.nudge = new _nudge2.default({ $element: this.$element }); 14854 this.bind(); 14855 } 14856 14857 /** 14858 * Listen for the cookie event on the document to action 14859 * the close functionality. 14860 * 14861 * @function bind 14862 * 14863 * @return {undefined} 14864 */ 14865 14866 }, { 14867 key: 'bind', 14868 value: function bind() { 14869 (0, _jquery2.default)(document).on(_events2.default.cookie.updated, this.close.bind(this)); 14870 } 14871 14872 /** 14873 * Close the the cookie policy notification. 14874 * 14875 * @function close 14876 * 14877 * @return {undefined} 14878 */ 14879 14880 }, { 14881 key: 'close', 14882 value: function close(event) { 14883 this.nudge.close(event); 14884 utils.trigger(_events2.default.cookiePolicy.closed, this.$element, event); 14885 } 14886 }]); 14887 14888 return CookiePolicy; 14889}(); 14890 14891exports.default = CookiePolicy; 14892 14893}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 14894},{"./_events":356,"./_nudge":363,"./_utils":368}],355:[function(require,module,exports){ 14895'use strict'; 14896 14897var _events = require('./_events'); 14898 14899var _events2 = _interopRequireDefault(_events); 14900 14901function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 14902 14903var classes = { 14904 listener: 'js-dynamic-content-listener' 14905}; 14906 14907var selectors = { 14908 listener: '.' + classes.listener 14909}; 14910 14911/** 14912 * Provides selective downwards event propagation for dynamicContent.* events. 14913 * 14914 * We register a top-level event handler for dynamicContent events, in which 14915 * we trigger (without bubbling) the same events on any listeners (identified 14916 * by selectors.listener) found within the original event target. 14917 * 14918 * This allows components to register their interest in any such events 14919 * triggered by their containers, and so have a reliable indicator of their 14920 * own visibility status without resorting to DOM polling etc. 14921 */ 14922function init() { 14923 $(document).on([_events2.default.dynamicContent.show, _events2.default.dynamicContent.hide].join(' '), function (event) { 14924 var scope = event.target || document; 14925 var listeners = $(scope).find(selectors.listener).toArray(); 14926 var _iteratorNormalCompletion = true; 14927 var _didIteratorError = false; 14928 var _iteratorError = undefined; 14929 14930 try { 14931 for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { 14932 var listener = _step.value; 14933 14934 $(listener).triggerHandler(event); 14935 } 14936 } catch (err) { 14937 _didIteratorError = true; 14938 _iteratorError = err; 14939 } finally { 14940 try { 14941 if (!_iteratorNormalCompletion && _iterator.return) { 14942 _iterator.return(); 14943 } 14944 } finally { 14945 if (_didIteratorError) { 14946 throw _iteratorError; 14947 } 14948 } 14949 } 14950 }); 14951} 14952 14953module.exports = { 14954 classes: classes, 14955 selectors: selectors, 14956 init: init 14957}; 14958 14959},{"./_events":356}],356:[function(require,module,exports){ 14960'use strict'; 14961 14962Object.defineProperty(exports, "__esModule", { 14963 value: true 14964}); 14965var events = { 14966 cookie: { 14967 updated: 'vf::cookie::updated' 14968 }, 14969 cookiePolicy: { 14970 closed: 'vf::cookiePolicy::closed' 14971 }, 14972 carousel: { 14973 configured: 'vf::carousel::configured', 14974 navigate: 'vf::carousel::navigate', 14975 navigated: 'vf::carousel::navigated' 14976 }, 14977 dialog: { 14978 opened: 'vf::dialog::opened', 14979 loaded: 'vf::dialog::loaded', 14980 closed: 'vf::dialog::closed' 14981 }, 14982 loginNudge: { 14983 closed: 'vf::loginNudge::closed' 14984 }, 14985 navigation: { 14986 opened: 'vf::navigation::opened', 14987 fixed: 'vf::navigation::fixed' 14988 }, 14989 simpleTabs: { 14990 opened: 'vf::simpleTabs::opened', 14991 loading: 'vf::simpleTabs::loading', 14992 loaded: 'vf::simpleTabs::loaded' 14993 }, 14994 quicklink: { 14995 opened: 'vf::quicklink::opened', 14996 closed: 'vf::quicklink::closed' 14997 }, 14998 tabs: { 14999 opened: 'vf::tabs::opened', 15000 clicked: 'vf::tabs::clicked', 15001 loaded: 'vf::tabs::loaded' 15002 }, 15003 topUp: { 15004 update: 'vf::top-up::update' 15005 }, 15006 nudge: { 15007 closed: 'vf::nudge::closed' 15008 }, 15009 toaster: { 15010 opened: 'vf::toaster::opened', 15011 closed: 'vf::toaster::closed' 15012 }, 15013 map: { 15014 initialised: 'vf::map::initialised' 15015 }, 15016 sayt: { 15017 submit: 'vf::sayt::submit' 15018 }, 15019 validation: { 15020 submit: 'vf::validation::submit' 15021 }, 15022 formStepper: { 15023 willFetch: 'vf::formStepper::willFetch', 15024 fetched: 'vf::formStepper::fetched' 15025 }, 15026 dynamicContent: { 15027 show: 'vf::dynamicContent::show', 15028 hide: 'vf::dynamicContent::hide' 15029 }, 15030 accordion: { 15031 toggle: 'vf::accordion::toggle', 15032 beginToggle: 'vf::accordion::beginToggle', 15033 expand: 'vf::accordion::expand', 15034 collapse: 'vf::accordion::collapse' 15035 }, 15036 init: { 15037 pre: 'vf::init::pre', 15038 post: 'vf::init::post' 15039 } 15040}; 15041 15042exports.default = events; 15043 15044},{}],357:[function(require,module,exports){ 15045(function (global){ 15046'use strict'; 15047 15048Object.defineProperty(exports, "__esModule", { 15049 value: true 15050}); 15051 15052var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 15053 15054var _events = require('./_events'); 15055 15056var _events2 = _interopRequireDefault(_events); 15057 15058var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 15059 15060var _jquery2 = _interopRequireDefault(_jquery); 15061 15062function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 15063 15064function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 15065 15066var defaults = { 15067 $element: undefined, 15068 classes: { 15069 fixed: 'fixed' 15070 } 15071}; 15072 15073/** 15074 * Fixed. 15075 * 15076 * @module Fixed 15077 * @param {Object} properties - specifies the configurations 15078 * for the module. 15079 */ 15080 15081var Fixed = function () { 15082 function Fixed() { 15083 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 15084 15085 _classCallCheck(this, Fixed); 15086 15087 var members = _jquery2.default.extend(true, {}, defaults, properties); 15088 15089 this.$element = members.$element; 15090 this.classes = members.classes; 15091 } 15092 15093 /** 15094 * Initialise the module. 15095 * 15096 * @function init 15097 * 15098 * @return {undefined} 15099 */ 15100 15101 15102 _createClass(Fixed, [{ 15103 key: 'init',
15104 value: function init() { 15105 this.bind(); 15106 } 15107 15108 /** 15109 * Bind the dialog events to fix the body when dialogs are open. 15110 * 15111 * @function bind 15112 * 15113 * @return {undefined} 15114 */ 15115 15116 }, { 15117 key: 'bind', 15118 value: function bind() { 15119 (0, _jquery2.default)(document).on(_events2.default.dialog.opened, this.fix.bind(this, true)); 15120 (0, _jquery2.default)(document).on(_events2.default.dialog.closed, this.fix.bind(this, false)); 15121 } 15122 15123 /** 15124 * Toggle the fix on the body when dialogs are opened or closed. 15125 * 15126 * @function fix 15127 * @param {Boolean} fixed - specifies if the body should be fixed or not. 15128 * 15129 * @return {undefined} 15130 */ 15131 15132 }, { 15133 key: 'fix', 15134 value: function fix(fixed) { 15135 this.$element.toggleClass(this.classes.fixed, fixed); 15136 } 15137 }]); 15138 15139 return Fixed; 15140}(); 15141 15142exports.default = Fixed; 15143 15144}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 15145},{"./_events":356}],358:[function(require,module,exports){ 15146(function (global){ 15147'use strict'; 15148 15149var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 15150 15151var _jquery2 = _interopRequireDefault(_jquery); 15152 15153function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 15154 15155_jquery2.default.fn.extend({ 15156 only: function only(selector) { 15157 var delimiter = selector.indexOf(' '); 15158 15159 if (~delimiter) { 15160 var context = selector.substr(0, delimiter); 15161 var subject = selector.substr(delimiter + 1); 15162 var $parent = (0, _jquery2.default)([]); 15163 var $nested = (0, _jquery2.default)([]); 15164 15165 $parent = this.closest(context); 15166 $nested = $parent.find(context).find(subject); 15167 15168 return this.find(subject).not($nested); 15169 } 15170 15171 return this.find(selector); 15172 } 15173}); 15174 15175_jquery2.default.fn.extend(_jquery2.default.expr[':'], { 15176 focusable: function focusable(element) { 15177 return (0, _jquery2.default)(element).is('a, button, :input, [tabindex]') && (0, _jquery2.default)(element).is(':visible') && (0, _jquery2.default)(element).css('visibility') !== 'hidden' && !(0, _jquery2.default)(element).is(':disabled'); 15178 } 15179}); 15180 15181_jquery2.default.fn.extend({ 15182 scrollParent: function scrollParent() { 15183 var overflowRegex = /(auto|scroll)/; 15184 var position = this.css('position'); 15185 var excludeStaticParent = position === 'absolute'; 15186 var scrollParent = this.parents().filter(function () { 15187 var parent = (0, _jquery2.default)(this); 15188 if (excludeStaticParent && parent.css('position') === 'static') { 15189 return false; 15190 } 15191 var overflowState = parent.css(['overflow', 'overflowX', 'overflowY']); 15192 return overflowRegex.test(overflowState.overflow + overflowState.overflowX + overflowState.overflowY); 15193 }).eq(0); 15194 15195 return position === 'fixed' || !scrollParent.length ? (0, _jquery2.default)(this[0].ownerDocument || document).find('body, html') : scrollParent; 15196 } 15197}); 15198 15199/** see http://www.henryalgus.com/reading-binary-files-using-jquery-ajax/ */ 15200_jquery2.default.ajaxTransport('+binary', function (options, originalOptions, jqXHR) {
15201 // check for conditions and support for blob / arraybuffer response type 15202 var isValidBinaryFetch = window.FormData && (options.dataType && options.dataType === 'binary' || options.data && (window.ArrayBuffer && options.data instanceof ArrayBuffer || window.Blob && options.data instanceof Blob)); 15203 if (!isValidBinaryFetch) return false; 15204 15205 return { 15206 // create new XMLHttpRequest 15207 send: function send(headers, callback) { 15208 var xhr = new XMLHttpRequest(); 15209 xhr.addEventListener('load', function () { 15210 var data = {}; 15211 data[options.dataType] = xhr.response; 15212 // make callback and send data 15213 callback(xhr.status, xhr.statusText, data, xhr.getAllResponseHeaders()); 15214 }); 15215 15216 var url = options.url, 15217 type = options.type; 15218 15219 var async = options.async || true; 15220 var username = options.username || null; 15221 var password = options.password || null; 15222 xhr.open(type, url, async, username, password); 15223 15224 // setup custom headers 15225 for (var i in headers) { 15226 xhr.setRequestHeader(i, headers[i]); 15227 } 15228 15229 // blob or arraybuffer. Default is blob 15230 var dataType = options.responseType || 'blob'; 15231 xhr.responseType = dataType; 15232 15233 var data = options.data || null; 15234 xhr.send(data); 15235 }, 15236 abort: function abort() { 15237 jqXHR.abort(); 15238 } 15239 }; 15240}); 15241 15242}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 15243},{}],359:[function(require,module,exports){ 15244"use strict"; 15245 15246Object.defineProperty(exports, "__esModule", { 15247 value: true 15248}); 15249window.lazySizesConfig = window.lazySizesConfig || {}; 15250 15251window.lazySizesConfig.expand = 100; 15252window.lazySizesConfig.loadMode = 1; 15253exports.default = window.lazySizesConfig; 15254 15255},{}],360:[function(require,module,exports){ 15256'use strict'; 15257 15258var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; 15259 15260(function (window, factory) { 15261 var globalInstall = function globalInstall() { 15262 factory(window.lazySizes); 15263 window.removeEventListener('lazyunveilread', globalInstall, true); 15264 }; 15265 15266 factory = factory.bind(null, window, window.document); 15267 15268 if ((typeof module === 'undefined' ? 'undefined' : _typeof(module)) == 'object' && module.exports) { 15269 factory(require('lazysizes')); 15270 } else if (window.lazySizes) { 15271 globalInstall(); 15272 } else { 15273 window.addEventListener('lazyunveilread', globalInstall, true); 15274 } 15275})(window, function (window, document, lazySizes) { 15276 'use strict'; 15277 15278 if (!window.addEventListener) { 15279 return; 15280 } 15281 15282 var regWhite = /\s+/g; 15283 var regSplitSet = /\s*\|\s+|\s+\|\s*/g; 15284 var regSource = /^(.+?)(?:\s+\[\s*(.+?)\s*\])?$/; 15285 var regBgUrlEscape = /\(|\)|'/; 15286 var allowedBackgroundSize = { contain: 1, cover: 1 }; 15287 var proxyWidth = function proxyWidth(elem) { 15288 var width = lazySizes.gW(elem, elem.parentNode); 15289 15290 if (!elem._lazysizesWidth || width > elem._lazysizesWidth) { 15291 elem._lazysizesWidth = width; 15292 } 15293 return elem._lazysizesWidth; 15294 }; 15295 var getBgSize = function getBgSize(elem) { 15296 var bgSize; 15297 15298 bgSize = (getComputedStyle(elem) || { getPropertyValue: function getPropertyValue() {} }).getPropertyValue('background-size'); 15299 15300 if (!allowedBackgroundSize[bgSize] && allowedBackgroundSize[elem.style.backgroundSize]) { 15301 bgSize = elem.style.backgroundSize; 15302 } 15303 15304 return bgSize; 15305 }; 15306 var createPicture = function createPicture(sets, elem, img) { 15307 var picture = document.createElement('picture'); 15308 var sizes = elem.getAttribute(lazySizesConfig.sizesAttr); 15309 var ratio = elem.getAttribute('data-ratio'); 15310 var optimumx = elem.getAttribute('data-optimumx'); 15311 15312 if (elem._lazybgset && elem._lazybgset.parentNode == elem) { 15313 elem.removeChild(elem._lazybgset); 15314 } 15315 15316 Object.defineProperty(img, '_lazybgset', { 15317 value: elem, 15318 writable: true 15319 }); 15320 Object.defineProperty(elem, '_lazybgset', { 15321 value: picture, 15322 writable: true 15323 }); 15324 15325 sets = sets.replace(regWhite, ' ').split(regSplitSet); 15326 15327 picture.style.display = 'none'; 15328 img.className = lazySizesConfig.lazyClass; 15329 15330 if (sets.length == 1 && !sizes) { 15331 sizes = 'auto'; 15332 } 15333
15334 sets.forEach(function (set) { 15335 var source = document.createElement('source'); 15336 15337 if (sizes && sizes != 'auto') { 15338 source.setAttribute('sizes', sizes); 15339 } 15340 15341 if (set.match(regSource)) { 15342 source.setAttribute(lazySizesConfig.srcsetAttr, RegExp.$1); 15343 if (RegExp.$2) { 15344 source.setAttribute('media', lazySizesConfig.customMedia[RegExp.$2] || RegExp.$2); 15345 } 15346 } 15347 picture.appendChild(source); 15348 }); 15349 15350 if (sizes) { 15351 img.setAttribute(lazySizesConfig.sizesAttr, sizes); 15352 elem.removeAttribute(lazySizesConfig.sizesAttr); 15353 elem.removeAttribute('sizes'); 15354 } 15355 if (optimumx) { 15356 img.setAttribute('data-optimumx', optimumx); 15357 } 15358 if (ratio) { 15359 img.setAttribute('data-ratio', ratio); 15360 } 15361 15362 picture.appendChild(img); 15363 15364 elem.appendChild(picture); 15365 }; 15366 15367 var proxyLoad = function proxyLoad(e) { 15368 if (!e.target._lazybgset) { 15369 return; 15370 } 15371 15372 var image = e.target; 15373 var elem = image._lazybgset; 15374 var bg = image.currentSrc || image.src; 15375 15376 if (bg) { 15377 elem.style.backgroundImage = 'url(' + (regBgUrlEscape.test(bg) ? JSON.stringify(bg) : bg) + ')'; 15378 } 15379 15380 if (image._lazybgsetLoading) { 15381 lazySizes.fire(elem, '_lazyloaded', {}, false, true); 15382 delete image._lazybgsetLoading; 15383 } 15384 }; 15385 15386 addEventListener('lazybeforeunveil', function (e) { 15387 var set, image, elem; 15388 15389 if (e.defaultPrevented || !(set = e.target.getAttribute('data-bgset'))) { 15390 return; 15391 } 15392 15393 elem = e.target; 15394 image = document.createElement('img'); 15395 15396 image.alt = ''; 15397 15398 image._lazybgsetLoading = true; 15399 e.detail.firesLoad = true; 15400 15401 createPicture(set, elem, image); 15402 15403 setTimeout(function () { 15404 lazySizes.loader.unveil(image); 15405 15406 lazySizes.rAF(function () { 15407 lazySizes.fire(image, '_lazyloaded', {}, true, true); 15408 if (image.complete) { 15409 proxyLoad({ target: image }); 15410 } 15411 }); 15412 }); 15413 }); 15414 15415 document.addEventListener('load', proxyLoad, true); 15416 15417 window.addEventListener('lazybeforesizes', function (e) { 15418 if (e.detail.instance != lazySizes) { 15419 return; 15420 } 15421 if (e.target._lazybgset && e.detail.dataAttr) { 15422 var elem = e.target._lazybgset; 15423 var bgSize = getBgSize(elem); 15424 15425 if (allowedBackgroundSize[bgSize]) { 15426 e.target._lazysizesParentFit = bgSize; 15427 15428 lazySizes.rAF(function () { 15429 e.target.setAttribute('data-parent-fit', bgSize); 15430 if (e.target._lazysizesParentFit) { 15431 delete e.target._lazysizesParentFit; 15432 } 15433 }); 15434 } 15435 } 15436 }, true); 15437 15438 document.documentElement.addEventListener('lazybeforesizes', function (e) { 15439 if (e.defaultPrevented || !e.target._lazybgset || e.detail.instance != lazySizes) { 15440 return; 15441 } 15442 e.detail.width = proxyWidth(e.target._lazybgset); 15443 }); 15444}); 15445 15446},{"lazysizes":343}],361:[function(require,module,exports){ 15447'use strict'; 15448 15449Object.defineProperty(exports, "__esModule", { 15450 value: true 15451}); 15452 15453var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 15454 15455function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 15456 15457var defaults = { 15458 $element: undefined, 15459 classes: { 15460 active: 'mouse-active' 15461 } 15462}; 15463 15464/** 15465 * Mouse active. 15466 * 15467 * @module MouseActive 15468 * @param {Object} properties - specifies the configurations 15469 * for the module. 15470 */ 15471 15472var MouseActive = function () { 15473 function MouseActive() { 15474 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 15475 15476 _classCallCheck(this, MouseActive); 15477 15478 var members = $.extend(true, {}, defaults, properties); 15479 15480 this.$element = members.$element; 15481 this.classes = members.classes; 15482 } 15483 15484 /** 15485 * Initialise the module. 15486 * 15487 * @function init 15488 * 15489 * @return {undefined} 15490 */ 15491 15492 15493 _createClass(MouseActive, [{ 15494 key: 'init',
15495 value: function init() { 15496 this.bind(); 15497 } 15498 15499 /** 15500 * Bind the events to the actionable elements. 15501 * within the tabs system. 15502 * 15503 * @function bind 15504 * 15505 * @return {undefined} 15506 */ 15507 15508 }, { 15509 key: 'bind', 15510 value: function bind() { 15511 this.$element.on('keydown mousedown', this.toggleMouseClass.bind(this)); 15512 } 15513 15514 /** 15515 * Toggle mouse-active class on the window element. 15516 * 15517 * @function toggleMouseClass 15518 * 15519 * @return {undefined} 15520 */ 15521 15522 }, { 15523 key: 'toggleMouseClass', 15524 value: function toggleMouseClass() { 15525 var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 15526 15527 this.$element.toggleClass(this.classes.active, event.type === 'mousedown'); 15528 } 15529 }]); 15530 15531 return MouseActive; 15532}(); 15533 15534exports.default = MouseActive; 15535 15536},{}],362:[function(require,module,exports){ 15537(function (global){ 15538'use strict'; 15539 15540Object.defineProperty(exports, "__esModule", { 15541 value: true 15542}); 15543 15544var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 15545 15546var _utils = require('./_utils'); 15547 15548var utils = _interopRequireWildcard(_utils); 15549 15550var _events = require('./_events'); 15551 15552var _events2 = _interopRequireDefault(_events); 15553 15554var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 15555 15556var _jquery2 = _interopRequireDefault(_jquery); 15557 15558function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 15559 15560function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } 15561 15562function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 15563 15564var defaults = { 15565 $element: undefined, 15566 selectors: { 15567 navigation: '.js-navigation', 15568 display: '.navigation--display', 15569 item: '.js-navigation-item', 15570 mouseable: '.js-navigation-item:not(.js-navigation-item-clickable, .js-navigation-item-clickable .js-navigation-item)', 15571 clickable: '.js-navigation-item-clickable > .js-navigation-link:first-child', 15572 toggle: '.js-navigation-toggle', 15573 close: '.js-navigation-close', 15574 link: '.js-navigation-link', 15575 languageNavigation: '.js-navigation-language', 15576 brand: '.js-brand', 15577 touchable: '.touchevents', 15578 static: '.js-navigation-static', 15579 content: '.js-content' 15580 }, 15581 classes: { 15582 display: 'navigation--display', 15583 closed: 'navigation--closed', 15584 fixed: 'navigation--fixed', 15585 hide: 'navigation--hide', 15586 navActive: 'navigation--active', 15587 brandFixed: 'brand--fixed', 15588 active: 'navigation__item--active', 15589 linkActive: 'navigation__link--active', 15590 bodyFixed: 'body--navigation-fixed' 15591 }, 15592 $touched: (0, _jquery2.default)([]), 15593 scrollPosition: 0, 15594 timer: 0 15595}; 15596 15597/** 15598 * Navigation. 15599 * 15600 * @module Navigation 15601 * @param {Object} properties - specifies the configurations 15602 * for the module. 15603 */ 15604 15605var Navigation = function () { 15606 function Navigation() { 15607 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 15608 15609 _classCallCheck(this, Navigation); 15610 15611 var members = _jquery2.default.extend(true, {}, defaults, properties); 15612 15613 this.$element = members.$element; 15614 this.selectors = members.selectors; 15615 this.classes = members.classes; 15616 this.$touched = members.$touched; 15617 15618 this.accessibility(); 15619 } 15620 15621 /** 15622 * Initialise the module. 15623 * 15624 * @function init 15625 * 15626 * @return {undefined} 15627 */ 15628 15629 15630 _createClass(Navigation, [{ 15631 key: 'init',
15632 value: function init() { 15633 this.bind(); 15634 } 15635 15636 /** 15637 * Apply the interactive accessibility 15638 * attributes for assisted technology 15639 * users. 15640 * 15641 * @function accessibility 15642 * 15643 * @return {undefined} 15644 */ 15645 15646 }, { 15647 key: 'accessibility', 15648 value: function accessibility() { 15649 var $clickable = this.$element.find(this.selectors.clickable); 15650 15651 $clickable.attr('aria-haspopup', 'true'); 15652 } 15653 15654 /** 15655 * Bind the events to the actionable elements 15656 * within the navigation. 15657 * 15658 * @function bind 15659 * 15660 * @return {undefined} 15661 */ 15662 15663 }, { 15664 key: 'bind', 15665 value: function bind() { 15666 var $mouseable = this.$element.find(this.selectors.mouseable); 15667 var $clickable = this.$element.find(this.selectors.clickable); 15668 var $content = (0, _jquery2.default)(document).find(this.selectors.content); 15669 15670 $mouseable.on('focusin mouseover', this.toggle.bind(this, true)); 15671 $mouseable.on('focusout mouseout', this.toggle.bind(this, false)); 15672 $mouseable.on('click', this.touchable.bind(this)); 15673 $clickable.on('click', this.toggle.bind(this, undefined)); 15674 (0, _jquery2.default)(document).on('scroll', this, this.fix.bind(this)); 15675 $content.on('touchmove', this.preventBackgroundScroll.bind(this)); 15676 } 15677 15678 /** 15679 * Handle the mouse hover equivelant interactions for touch 15680 * devices. 15681 * 15682 * @function touchable 15683 * @param {$.Event} event - specifies the click event. 15684 * 15685 * @return {undefined} 15686 */ 15687 15688 }, { 15689 key: 'touchable', 15690 value: function touchable(event) { 15691 event.stopPropagation(); 15692 15693 var $touchable = (0, _jquery2.default)(this.selectors.touchable); 15694 var $mouseable = (0, _jquery2.default)(event.currentTarget); 15695 var $touched = (0, _jquery2.default)([]); 15696 15697 if ($touchable.length && !this.$touched.is($mouseable)) { 15698 var $navigation = $mouseable.find(this.selectors.navigation).first(); 15699 15700 if ($navigation.length) { 15701 event.preventDefault(); 15702 15703 this.toggle(true, event); 15704 15705 $touched = $mouseable; 15706 } 15707 } 15708 15709 this.$touched = $touched; 15710 } 15711 15712 /** 15713 * Returns open whether it'is undefined or if the releatedTarget 15714 * has elements in it 15715 * 15716 * @param {Boolean} open - specifies whether or not the 15717 * navigation should be opened or closed. 15718 * @param {$.Element} $item - the item to check 15719 * @param {HTMLElement} relatedTarget 15720 * 15721 * @return {Boolean || undefined} 15722 */ 15723 15724 }, { 15725 key: 'display', 15726 value: function display(open, $item, relatedTarget) { 15727 return open === undefined ? open : Boolean(open || $item.has(relatedTarget).length); 15728 } 15729 15730 /** 15731 * Toggle the visibility of the lower level 15732 * navigations. 15733 * 15734 * @function toggle 15735 * @param {Boolean} open - specifies whether or not the 15736 * navigation should be opened or closed. 15737 * @param {$.Event} event - specifies the focusin, mouseover, 15738 * focusout, or mouseout event. 15739 * 15740 * @return {undefined} 15741 */ 15742 15743 }, { 15744 key: 'toggle', 15745 value: function toggle(open, event) { 15746 if ((event.type === 'mouseover' || event.type === 'mouseout') && (0, _jquery2.default)('.' + this.classes.active).has(this.selectors.toggle).length && utils.getBreakpoint() !== 'desktop') { 15747 return; 15748 } 15749 15750 event.preventDefault(); 15751 15752 var $item = (0, _jquery2.default)(event.currentTarget).parent(this.selectors.item).addBack(this.selectors.item); 15753 var $items = $item.siblings(this.selectors.item).not($item); 15754 var $navigation = $item.find(this.selectors.navigation).first();
15755 var $navigations = $items.find(this.selectors.navigation).not($navigation); 15756 var $link = $navigation.parent(this.selectors.item).find(this.selectors.link).first(); 15757 var $links = this.$element.find(this.selectors.link).not($link); 15758 var display = this.display(open, $item, event.relatedTarget); 15759 15760 if (event.type === 'click') { 15761 event.stopPropagation(); 15762 } 15763 15764 this.$element.addClass(this.classes.closed); 15765 $navigations.removeClass(this.classes.display).addClass(this.classes.closed); 15766 $navigation.toggleClass([this.classes.display, this.classes.closed].join(' '), display); 15767 $items.removeClass(this.classes.active); 15768 $item.toggleClass(this.classes.active, display); 15769 $links.removeClass(this.classes.linkActive); 15770 $link.toggleClass(this.classes.linkActive, display); 15771 15772 if ($navigation.is(this.selectors.display)) { 15773 this.$element.removeClass(this.classes.closed); 15774 utils.trigger(_events2.default.navigation.opened, this.$element, event); 15775 $links.attr('aria-haspopup', 'false'); 15776 (0, _jquery2.default)('body').addClass(this.classes.bodyFixed); 15777 } else { 15778 $links.attr('aria-haspopup', 'true'); 15779 (0, _jquery2.default)('body').removeClass(this.classes.bodyFixed); 15780 } 15781 } 15782 15783 /** 15784 * Fix the navigation to the top of the window 15785 * once the user has scrolled pass the navigation 15786 * top position. 15787 * 15788 * @function fix 15789 * @event {$.Event} event - specifies the scroll event. 15790 * 15791 * @return {undefined} 15792 */ 15793 15794 }, { 15795 key: 'fix', 15796 value: function fix(event) { 15797 var $static = this.$element.prev(this.selectors.static); 15798 var fixed = (0, _jquery2.default)(window).scrollTop() >= $static.offset().top; 15799 this.$element.toggleClass(this.classes.fixed, fixed); 15800 $static.height(fixed && this.$element.height() || 0); 15801 15802 if ((0, _jquery2.default)(window).scrollTop() === 0) { 15803 this.$element.removeClass(this.classes.fixed); 15804 $static.height(0); 15805 } 15806 15807 utils.trigger(_events2.default.navigation.fixed, this.$element, event); 15808 } 15809 15810 /** 15811 * Stop content in the background from scrolling 15812 * while the navigation is open. 15813 * 15814 * @function preventBackgroundScroll 15815 * @event {$.Event} event - specifies the touchmove event. 15816 * 15817 * @return {undefined} 15818 */ 15819 15820 }, { 15821 key: 'preventBackgroundScroll', 15822 value: function preventBackgroundScroll(event) { 15823 if ((0, _jquery2.default)('body').hasClass(this.classes.bodyFixed)) { 15824 event.preventDefault(); 15825 } 15826 } 15827 }]); 15828 15829 return Navigation; 15830}(); 15831 15832exports.default = Navigation; 15833 15834}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 15835},{"./_events":356,"./_utils":368}],363:[function(require,module,exports){ 15836(function (global){ 15837'use strict'; 15838 15839Object.defineProperty(exports, "__esModule", { 15840 value: true 15841}); 15842 15843var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 15844 15845var _utils = require('./_utils'); 15846 15847var utils = _interopRequireWildcard(_utils); 15848 15849var _events = require('./_events'); 15850 15851var _events2 = _interopRequireDefault(_events); 15852 15853var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 15854 15855var _jquery2 = _interopRequireDefault(_jquery); 15856 15857function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 15858 15859function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } 15860 15861function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 15862 15863var defaults = { 15864 $element: undefined, 15865 selectors: { 15866 close: '.js-nudge-close' 15867 }, 15868 delay: 3000 15869}; 15870 15871/** 15872 * Location Nudge. 15873 * 15874 * @module Nudge 15875 * @param {Object} properties - specifies the configurations 15876 * for the module. 15877 */ 15878 15879var Nudge = function () { 15880 function Nudge() { 15881 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 15882 15883 _classCallCheck(this, Nudge); 15884 15885 var members = _jquery2.default.extend(true, {}, defaults, properties); 15886 15887 this.$element = members.$element; 15888 this.selectors = members.selectors; 15889 this.delay = members.delay; 15890 } 15891 15892 /** 15893 * Initialise the module. 15894 * 15895 * @function init 15896 * 15897 * @return {undefined} 15898 */ 15899 15900 15901 _createClass(Nudge, [{ 15902 key: 'init',
15903 value: function init() { 15904 this.bind(); 15905 15906 this.height.apply(this); 15907 } 15908 15909 /** 15910 * Bind the events to the element responsible for getting the nudge. 15911 * 15912 * @function bind 15913 * 15914 * @return {undefined} 15915 */ 15916 15917 }, { 15918 key: 'bind', 15919 value: function bind() { 15920 this.$element.on('click', this.selectors.close, this.close.bind(this)); 15921 15922 window.setTimeout(this.show.bind(this), this.delay); 15923 } 15924 15925 /** 15926 * Compute the height of the nudge 15927 * 15928 * @function height 15929 * 15930 * @return {undefined} 15931 */ 15932 15933 }, { 15934 key: 'height', 15935 value: function height() { 15936 var height = this.$element.outerHeight(); 15937 15938 this.$element.css('margin-top', '-' + height + 'px'); 15939 } 15940 15941 /** 15942 * Show the the nudge. 15943 * 15944 * @function show 15945 * 15946 * @return {undefined} 15947 */ 15948 15949 }, { 15950 key: 'show', 15951 value: function show() { 15952 this.$element.animate({ 15953 marginTop: '0px' 15954 }, 'easeInCubic'); 15955 } 15956 15957 /** 15958 * Close the the nudge. 15959 * 15960 * @function close 15961 * 15962 * @return {undefined} 15963 */ 15964 15965 }, { 15966 key: 'close', 15967 value: function close(event) { 15968 event.preventDefault(); 15969 15970 var height = this.$element.outerHeight(); 15971 15972 this.$element.animate({ 15973 marginTop: '-' + height + 'px' 15974 }, 'easeInCubic', this.remove.bind(this)); 15975 } 15976 15977 /** 15978 * Remove the nudge. 15979 * 15980 * @function remove 15981 * 15982 * @return {undefined} 15983 */ 15984 15985 }, { 15986 key: 'remove', 15987 value: function remove() { 15988 this.$element.remove(); 15989 15990 utils.trigger(_events2.default.nudge.closed, this.$element, event); 15991 } 15992 }]); 15993 15994 return Nudge; 15995}(); 15996 15997exports.default = Nudge; 15998 15999}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 16000},{"./_events":356,"./_utils":368}],364:[function(require,module,exports){ 16001'use strict'; 16002 16003require('babel-polyfill'); 16004 16005require('console-polyfill'); 16006 16007if (Element && !Element.prototype.matches) { 16008 var elementProto = Element.prototype; 16009 elementProto.matches = elementProto.matchesSelector || elementProto.mozMatchesSelector || elementProto.msMatchesSelector || elementProto.oMatchesSelector || elementProto.webkitMatchesSelector; 16010} 16011 16012},{"babel-polyfill":1,"console-polyfill":6}],365:[function(require,module,exports){ 16013(function (global){ 16014'use strict'; 16015 16016Object.defineProperty(exports, "__esModule", { 16017 value: true 16018}); 16019 16020var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 16021 16022var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 16023 16024var _jquery2 = _interopRequireDefault(_jquery); 16025 16026function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 16027 16028function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 16029 16030var defaults = { 16031 $element: undefined, 16032 $body: (0, _jquery2.default)('body, html'), 16033 selectors: {}, 16034 classes: { 16035 preload: 'preload' 16036 } 16037}; 16038 16039/** 16040 * Preload. 16041 * 16042 * @module Preload 16043 * @param {Object} properties - specifies the configurations 16044 * for the module. 16045 */ 16046 16047var Preload = function () { 16048 function Preload() { 16049 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 16050 16051 _classCallCheck(this, Preload); 16052 16053 var members = _jquery2.default.extend(true, {}, defaults, properties); 16054 16055 this.$element = members.$element; 16056 this.$body = members.$body; 16057 this.selectors = members.selectors; 16058 this.classes = members.classes; 16059 } 16060 16061 /** 16062 * Initialise the module. 16063 * 16064 * @function init 16065 * 16066 * @return {undefined} 16067 */ 16068 16069 16070 _createClass(Preload, [{ 16071 key: 'init',
16072 value: function init() { 16073 this.bind(); 16074 } 16075 16076 /** 16077 * Bind the events to the actionable elements 16078 * 16079 * @function bind 16080 * 16081 * @return {undefined} 16082 */ 16083 16084 }, { 16085 key: 'bind', 16086 value: function bind() { 16087 (0, _jquery2.default)(window).on('load', this.loaded.bind(this)); 16088 } 16089 16090 /** 16091 * Remove preload class on the body 16092 * 16093 * @function active 16094 * @param {$.Event} event - specifies the click event. 16095 * 16096 * @return {undefined} 16097 */ 16098 16099 }, { 16100 key: 'loaded', 16101 value: function loaded() { 16102 this.$body.removeClass(this.classes.preload); 16103 } 16104 }]); 16105 16106 return Preload; 16107}(); 16108 16109exports.default = Preload; 16110 16111}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 16112},{}],366:[function(require,module,exports){ 16113(function (global){ 16114'use strict'; 16115 16116Object.defineProperty(exports, "__esModule", { 16117 value: true 16118}); 16119 16120var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); 16121 16122var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 16123 16124var _utils = require('./_utils'); 16125 16126var utils = _interopRequireWildcard(_utils); 16127 16128var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 16129 16130var _jquery2 = _interopRequireDefault(_jquery); 16131 16132var _events = require('./_events'); 16133 16134var _events2 = _interopRequireDefault(_events); 16135 16136var _dynamicContent = require('./_dynamic-content'); 16137 16138var _dynamicContent2 = _interopRequireDefault(_dynamicContent); 16139 16140function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 16141 16142function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } 16143 16144function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 16145 16146var defaults = { 16147 $element: undefined, 16148 selectors: { 16149 tabs: '.js-tabs', 16150 nestedTab: '[data-js*="_simpleTabs"] [data-js*="_simpleTabs"]', 16151 navigation: '.js-tabs .js-tabs-navigation', 16152 tab: '.js-tabs .js-tabs-tab', 16153 active: '.js-tabs .tabs__tab--active', 16154 content: '.js-tabs .js-tabs-content', 16155 ajax: '#ajax' 16156 }, 16157 classes: { 16158 active: 'tabs__tab--active', 16159 dynamicContentListener: _dynamicContent2.default.classes.listener 16160 } 16161}; 16162 16163/** 16164 * SimpleTabs. 16165 * 16166 * @module SimpleTabs 16167 * @param {Object} properties - specifies the configurations 16168 * for the module. 16169 */ 16170 16171var SimpleTabs = function () { 16172 function SimpleTabs() { 16173 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 16174 16175 _classCallCheck(this, SimpleTabs); 16176 16177 var members = _jquery2.default.extend(true, {}, defaults, properties); 16178 16179 this.$element = members.$element; 16180 this.selectors = members.selectors; 16181 this.classes = members.classes; 16182 } 16183 16184 /** 16185 * Initialise the module. 16186 * 16187 * @function init 16188 * 16189 * @return {undefined} 16190 */ 16191 16192 16193 _createClass(SimpleTabs, [{ 16194 key: 'init',
16195 value: function init() { 16196 this.accessibility(); 16197 this.bind(); 16198 this.targets = this._generateTargets(); 16199 this.defaultHash = false; 16200 this.configure(); 16201 } 16202 16203 /** 16204 * Return all tab targets. 16205 * 16206 * @private 16207 * @return {array} 16208 */ 16209 16210 }, { 16211 key: '_generateTargets', 16212 value: function _generateTargets() { 16213 var $navigation = this.$element.only(this.selectors.navigation).first(); 16214 var tabs = Array.from($navigation.only(this.selectors.tab)); 16215 16216 return tabs.map(function (tab) { 16217 return tab.href.split('#')[1]; 16218 }); 16219 } 16220 16221 /** 16222 * Create a new hash based on current hash and current target. 16223 * 16224 * @private 16225 * @return {string} 16226 */ 16227 16228 }, { 16229 key: '_generateHash', 16230 value: function _generateHash(currentTarget) { 16231 var _this = this; 16232 16233 var hash = window.location.hash; 16234 16235 var activeTargets = hash.split('#').filter(Boolean); 16236 var hashIndex = activeTargets.findIndex(function (activeTarget) { 16237 return _this.targets.indexOf(activeTarget) !== -1; 16238 }); 16239 16240 if (hashIndex === -1) { 16241 return activeTargets.concat(currentTarget).join('#'); 16242 } 16243 16244 var newHash = activeTargets.slice(0, hashIndex + 1); 16245 newHash[hashIndex] = currentTarget; 16246 16247 return newHash.join('#'); 16248 } 16249 16250 /** 16251 * Update the hash. 16252 * 16253 * @private 16254 * @return {undefined} 16255 */ 16256 16257 }, { 16258 key: '_appendHash', 16259 value: function _appendHash(hashTarget) { 16260 window.location.hash = hashTarget; 16261 } 16262 16263 /** 16264 * Apply the interactive accessibility 16265 * attributes for assisted technology 16266 * users. 16267 * 16268 * @function accessibility 16269 * 16270 * @return {undefined} 16271 */ 16272 16273 }, { 16274 key: 'accessibility', 16275 value: function accessibility() { 16276 var $navigation = this.$element.only(this.selectors.navigation); 16277 var $tab = this.$element.only(this.selectors.tab); 16278 16279 $navigation.attr('role', 'tablist'); 16280 $tab.each(this.control).attr('role', 'tab'); 16281 } 16282 16283 /** 16284 * Apply the aria controls attribute to 16285 * the tab given by the functions context. 16286 * 16287 * @callback control 16288 * 16289 * @return {undefined} 16290 */ 16291 16292 }, { 16293 key: 'control', 16294 value: function control() { 16295 var $tab = (0, _jquery2.default)(this); 16296 var url = $tab.attr('href').split('#'); 16297 var id = url.pop(); 16298 16299 $tab.attr('aria-controls', '#' + id); 16300 } 16301 16302 /** 16303 * Bind the events to the actionable elements 16304 * within the tabs system. 16305 * 16306 * @function bind 16307 * 16308 * @return {undefined} 16309 */ 16310 16311 }, { 16312 key: 'bind', 16313 value: function bind() { 16314 var $navigation = this.$element.only(this.selectors.navigation).first(); 16315 var $tab = $navigation.only(this.selectors.tab); 16316 16317 this.$tabScrollParent = $tab.scrollParent(); 16318 16319 $tab.on('click', this.clickHandler.bind(this)); 16320 16321 this.$element.addClass(this.classes.dynamicContentListener); 16322 this.$element.on([_events2.default.dynamicContent.show].join(' '), this.handleDynamicShow.bind(this)); 16323 16324 (0, _jquery2.default)(window).on('popstate', this.configure.bind(this)); 16325 } 16326 }, { 16327 key: 'handleDynamicShow', 16328 value: function handleDynamicShow(event) { 16329 if (_jquery2.default.contains(event.target, this.$element.get(0))) { 16330 this.configure(); 16331 } 16332 } 16333 16334 /** 16335 * Open the default tab or the tab in the URL hash. 16336 * 16337 * @function configure 16338 * 16339 * @return {undefined} 16340 */ 16341 16342 }, { 16343 key: 'configure', 16344 value: function configure() { 16345 var hash = window.location.hash; 16346 16347 var $tab = this.$element.only(this.selectors.tab); 16348 var $open = $tab; 16349 16350 if (hash) { 16351 $open = $tab.filter(function (i, element) { 16352 var regexp = new RegExp('#' + element.href.split('#')[1] + '(#|$)', 'g'); 16353 16354 return hash.match(regexp); 16355 }); 16356 16357 if (!$open.length) { 16358 $open = $tab; 16359 } 16360 } 16361 16362 this.proxy($open.first()); 16363 } 16364 16365 /** 16366 * Handle the click event for tab 16367 * 16368 * @param {$.Event} event 16369 * 16370 * @return {undefined} 16371 */ 16372 16373 }, {
16374 key: 'clickHandler', 16375 value: function clickHandler(event) { 16376 event.preventDefault(); 16377 var $tab = (0, _jquery2.default)(event.currentTarget); 16378 this.proxy($tab, true); 16379 } 16380 16381 /** 16382 * Ensures the specified tab is fully visible in the viewport. 16383 * If not, scrolls the tab's scroll parent along the X axis to 16384 * show the tab. 16385 * 16386 * @param {$.Element} $tab - The tab to show 16387 * @param {boolean} clicked - If is coming from a click event 16388 */ 16389 16390 }, { 16391 key: 'ensureVisible', 16392 value: function ensureVisible($tab, clicked) { 16393 if ($tab[0].classList.contains('vertical-tabs--tab')) { 16394 return; 16395 } 16396 var viewportWidth = this.$tabScrollParent.outerWidth(); 16397 var viewportLeft = this.$tabScrollParent.offset().left; 16398 var viewportRight = viewportLeft + viewportWidth; 16399 var tabWidth = $tab.outerWidth(); 16400 var tabLeft = $tab.offset().left; 16401 var tabRight = tabLeft + tabWidth; 16402 16403 var scrollLeft = void 0; 16404 if (tabRight > viewportRight) { 16405 scrollLeft = tabRight - tabWidth - viewportLeft; 16406 } else if (tabLeft < viewportLeft) { 16407 scrollLeft = tabLeft - viewportLeft; 16408 } 16409 if (scrollLeft !== undefined) { 16410 if (!clicked) { 16411 this.$tabScrollParent.stop().scrollLeft(scrollLeft); 16412 return; 16413 } 16414 var distance = Math.abs(scrollLeft - this.$tabScrollParent.scrollLeft()); 16415 var pixelsPerSecond = 300; 16416 this.$tabScrollParent.stop().animate({ scrollLeft: scrollLeft }, { duration: 1000 * distance / pixelsPerSecond, easing: 'linear' }); 16417 } 16418 } 16419 16420 /** 16421 * Determine if the tab content should be ajax loaded. 16422 * 16423 * @function proxy 16424 * @param {$.Element} $active - The element that will be active 16425 * @param {boolean} clicked - If is coming from a click event 16426 * 16427 * @return {undefined} 16428 */ 16429 16430 }, { 16431 key: 'proxy', 16432 value: function proxy($active) { 16433 var clicked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 16434 16435 this.ensureVisible($active, clicked); 16436 if ($active.attr('href').split('#')[0]) { 16437 this.fetch($active, clicked); 16438 } else { 16439 this.open($active, clicked); 16440 } 16441 } 16442 16443 /** 16444 * Open the tabs' content. 16445 * 16446 * @function open 16447 * @param {$.Element} $active - The element that will be active 16448 * @param {boolean} clicked - If is coming from a click event 16449 * 16450 * @return {undefined} 16451 */ 16452 16453 }, { 16454 key: 'open', 16455 value: function open($active, clicked) { 16456 var $navigation = this.$element.only(this.selectors.navigation).first(); 16457 var $tab = $navigation.only(this.selectors.tab); 16458 var $content = this.$element.only(this.selectors.content); 16459 var target = $active.attr('href').split('#')[1]; 16460 var $target = $content.filter('#' + target); 16461 16462 $tab.removeClass(this.classes.active).attr('aria-selected', false); 16463 $active.addClass(this.classes.active).attr('aria-selected', true); 16464 16465 $content.hide().trigger(_events2.default.dynamicContent.hide); 16466 16467 this.$element.trigger(_events2.default.simpleTabs.opened); 16468 utils.init($target); 16469 16470 $target.show().trigger(_events2.default.dynamicContent.show); 16471 16472 if (clicked) { 16473 if (window.Modernizr.history) { 16474 window.history.pushState(null, null, '#' + this._generateHash(target)); 16475 } else { 16476 $target.attr('id', target + '--tmp'); 16477 this._appendHash(this._generateHash(target)); 16478 $target.attr('id', target); 16479 } 16480 16481 /**$target 16482 .find(':focusable') 16483 .first() 16484 .focus();**/ 16485 } 16486 16487 this.$element.trigger(_events2.default.simpleTabs.loaded); 16488 (0, _jquery2.default)(window).trigger('resize'); 16489 } 16490 16491 /**
16492 * Send the ajax request for the content 16493 * at the url provided by the target. 16494 * 16495 * @function fetch 16496 * @param {$.Element} $active - The element that will be active 16497 * @param {boolean} clicked - If is coming from a click event 16498 * 16499 * @return {undefined} 16500 */ 16501 16502 }, { 16503 key: 'fetch', 16504 value: function fetch($active, clicked) { 16505 var _this2 = this; 16506 16507 var _$active$attr$split = $active.attr('href').split('#'), 16508 _$active$attr$split2 = _slicedToArray(_$active$attr$split, 2), 16509 href = _$active$attr$split2[0], 16510 target = _$active$attr$split2[1]; 16511 16512 _jquery2.default.get(href, function (response) { 16513 var $ajax = (0, _jquery2.default)(response).find(_this2.selectors.ajax); 16514 var content = $ajax.html(); 16515 var $content = _this2.$element.find('#' + target); 16516 16517 $content.height('auto').html(content); 16518 16519 _this2.open($active, clicked); 16520 }); 16521 16522 this.$element.trigger(_events2.default.simpleTabs.loading); 16523 } 16524 }]); 16525 16526 return SimpleTabs; 16527}(); 16528 16529exports.default = SimpleTabs; 16530 16531}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 16532},{"./_dynamic-content":355,"./_events":356,"./_utils":368}],367:[function(require,module,exports){ 16533(function (global){ 16534'use strict'; 16535 16536Object.defineProperty(exports, "__esModule", { 16537 value: true 16538}); 16539 16540var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 16541 16542var _utils = require('./_utils'); 16543 16544var utils = _interopRequireWildcard(_utils); 16545 16546var _events = require('./_events'); 16547 16548var _events2 = _interopRequireDefault(_events); 16549 16550var _tabs = require('./templates/_tabs'); 16551 16552var _tabs2 = _interopRequireDefault(_tabs); 16553 16554var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 16555 16556var _jquery2 = _interopRequireDefault(_jquery); 16557 16558function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 16559 16560function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } 16561 16562function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 16563 16564var defaults = { 16565 $element: undefined, 16566 selectors: { 16567 navigation: '.js-tabs-navigation', 16568 tab: '.js-tabs-tab', 16569 ajax: '#ajax', 16570 content: '.js-tabs-content', 16571 selected: '.js-tabs-selected', 16572 close: '.js-tabs-close' 16573 }, 16574 classes: { 16575 active: 'tabs__tab--active' 16576 } 16577}; 16578 16579/** 16580 * Tabs. 16581 * 16582 * @module Tabs 16583 * @param {Object} properties - specifies the configurations 16584 * for the module. 16585 */ 16586 16587var Tabs = function () { 16588 function Tabs() { 16589 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 16590 16591 _classCallCheck(this, Tabs); 16592 16593 var members = _jquery2.default.extend(true, {}, defaults, properties); 16594 16595 this.$element = members.$element; 16596 this.selectors = members.selectors; 16597 this.classes = members.classes; 16598 this.$content = null; 16599 16600 this.accessibility(); 16601 } 16602 16603 /** 16604 * Initialise the module. 16605 * 16606 * @function init 16607 * 16608 * @return {undefined} 16609 */ 16610 16611 16612 _createClass(Tabs, [{ 16613 key: 'init',
16614 value: function init() { 16615 this.bind(); 16616 16617 if (!this.$element.find(this.selectors.close).length) { 16618 var $open = this.$element.find(this.selectors.tab).first(); 16619 16620 this.fetch($open); 16621 } 16622 } 16623 16624 /** 16625 * Apply the interactive accessibility 16626 * attributes for assisted technology 16627 * users. 16628 * 16629 * @function accessibility 16630 * 16631 * @return {undefined} 16632 */ 16633 16634 }, { 16635 key: 'accessibility', 16636 value: function accessibility() { 16637 var $navigation = this.$element.find(this.selectors.navigation); 16638 var $tabs = this.$element.find(this.selectors.tab); 16639 16640 $navigation.attr('role', 'tablist'); 16641 $tabs.attr({ 16642 'role': 'tab', 16643 'aria-selected': false, 16644 'aria-expanded': false 16645 }); 16646 (0, _jquery2.default)('.' + this.classes.active).attr({ 16647 'aria-selected': true, 16648 'aria-expanded': true 16649 }); 16650 } 16651 16652 /** 16653 * Bind the events to the actionable elements 16654 * within the tabs system. 16655 * 16656 * @function bind 16657 * 16658 * @return {undefined} 16659 */ 16660 16661 }, { 16662 key: 'bind', 16663 value: function bind() { 16664 var $tab = this.$element.find(this.selectors.tab); 16665 16666 $tab.on('click', this.clickHandler.bind(this)); 16667 this.$element.find(this.selectors.close).on('click', this.close.bind(this)); 16668 } 16669 16670 /** 16671 * Handle the click event from a tab 16672 * 16673 * @param {$.Event} event 16674 * 16675 * @return {undefined} 16676 */ 16677 16678 }, { 16679 key: 'clickHandler', 16680 value: function clickHandler(event) { 16681 var $active = (0, _jquery2.default)(event.currentTarget); 16682 var target = $active.attr('target'); 16683 16684 if (target === '_blank') { 16685 return; 16686 } 16687 16688 event.preventDefault(); 16689 16690 this.fetch($active); 16691 } 16692 16693 /** 16694 * Send the ajax request for the content 16695 * at the url provided by the target. 16696 * 16697 * @function fetch 16698 * @param {$.Element} $active - The tab to make active 16699 * 16700 * @return {undefined} 16701 */ 16702 16703 }, { 16704 key: 'fetch', 16705 value: function fetch($active) { 16706 this.$content = $active.data('target') ? (0, _jquery2.default)($active.data('target')) : this.$element.find(this.selectors.content); 16707 16708 var $tabs = this.$element.find(this.selectors.tab); 16709 var $selected = this.$element.find(this.selectors.selected); 16710 var href = $active.attr('href'); 16711 16712 $selected.remove(); 16713 16714 $tabs.removeClass(this.classes.active); 16715 $active.addClass(this.classes.active); 16716 this.accessibility(); 16717 16718 this.$element.trigger(_events2.default.tabs.opened); 16719 } 16720 16721 /** 16722 * Delay appending the ajax response to the document 16723 * for 2.5 seconds. 16724 * 16725 * @function delay 16726 * @param {string} response - specifies the ajax 16727 * response. 16728 * 16729 * @return {undefined} 16730 */ 16731 16732 }, { 16733 key: 'delay', 16734 value: function delay(response) { 16735 setTimeout(this.open.bind(this, response), 1500); 16736 } 16737 16738 /** 16739 * Add the ajax response content to the 16740 * tab. 16741 * 16742 * @function open 16743 * @param {string} response - specifies the ajax 16744 * response. 16745 * 16746 * @return {undefined} 16747 */ 16748 16749 }, { 16750 key: 'open', 16751 value: function open(response) { 16752 var $response = (0, _jquery2.default)(response).find(this.selectors.ajax).html(); 16753 var $close = this.$content.prev(this.selectors.close); 16754 var $focusable = $close.length ? $close : this.$content.find(':focusable').first(); 16755 16756 this.$content.trigger(_events2.default.dynamicContent.hide); 16757 this.$content.height('auto').html($response); 16758 utils.init(this.$content); 16759 this.$content.trigger(_events2.default.dynamicContent.show); 16760 $focusable.focus(); 16761 this.$element.trigger(_events2.default.tabs.loaded); 16762 } 16763 16764 /** 16765 * Close all the tabs 16766 * 16767 * @function open 16768 * 16769 * @param {$.Event} event 16770 * 16771 * @return {undefined} 16772 */ 16773 16774 }, {
16775 key: 'close', 16776 value: function close(event) { 16777 event.preventDefault(); 16778 16779 this.$element.find('.' + this.classes.active).focus().removeClass(this.classes.active); 16780 if (this.$content) { 16781 this.$content.trigger(_events2.default.dynamicContent.hide); 16782 } 16783 this.accessibility(); 16784 } 16785 }]); 16786 16787 return Tabs; 16788}(); 16789 16790exports.default = Tabs; 16791 16792}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 16793},{"./_events":356,"./_utils":368,"./templates/_tabs":373}],368:[function(require,module,exports){ 16794(function (global){ 16795'use strict'; 16796 16797var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 16798 16799var _jquery2 = _interopRequireDefault(_jquery); 16800 16801var _qs = require('qs'); 16802 16803var _qs2 = _interopRequireDefault(_qs); 16804 16805var _events = require('./_events'); 16806 16807var _events2 = _interopRequireDefault(_events); 16808 16809function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 16810 16811/** 16812 * Convert a query string into an Object 16813 * 16814 * @deprecated Prefer to use the 'qs' module where applicable. 16815 * 16816 * @param {string} query The query to be converted 16817 * @return {Object} 16818 */ 16819function queryToObject(query) { 16820 return query.replace(/^\?/, '').split('&').reduce(function (carry, keyValue) { 16821 var keyValueArr = keyValue.split('='); 16822 var value = carry[keyValueArr[0]] ? [carry[keyValueArr[0]]].concat(keyValueArr[1]) : keyValueArr[1]; 16823 16824 carry[keyValueArr[0]] = value; 16825 16826 return carry; 16827 }, {}); 16828} 16829 16830/** 16831 * Parse an attribute value for use with framework JavaScript components. 16832 * 16833 * Strings beginning with '_raw=' have this prefix removed and aren't processed further. 16834 * Strings containing '=' are parsed by the qs module. 16835 * All other strings or other values are returned unmodified. 16836 * 16837 * @param {string} value to be parsed 16838 * @return {Object|string} 16839 */ 16840function parsePropertyValue(value) { 16841 if (typeof value === 'string') { 16842 var found = value.match(/^\s*_raw=/); 16843 16844 if (found) { 16845 return value.substr(found.length); 16846 } 16847 16848 if (value.indexOf('=') > 0) { 16849 return _qs2.default.parse(value, { ignoreQueryPrefix: true, allowDots: true }); 16850 } 16851 } 16852 return value; 16853} 16854 16855function init(context) { 16856 (0, _jquery2.default)(window).trigger(_events2.default.init.pre); 16857 16858 (0, _jquery2.default)('[data-js]', context || 'body').addBack('[data-js]').each(function (moduleIndex, dataModule) { 16859 var $module = (0, _jquery2.default)(dataModule); 16860 16861 if ($module.data('module-instances') === undefined) { 16862 (function () { 16863 var data = $module.data(); 16864 var modules = $module.data('js').split(',').map(function (module) { 16865 return module.trim(); 16866 }); 16867 var instances = {}; 16868 16869 for (var key in modules) { 16870 var _module = modules[key]; 16871 16872 if (window._vf[_module] !== undefined) { 16873 var properties = Object.keys(data).reduce(function (carry, property) { 16874 carry[property] = parsePropertyValue(data[property]); 16875 16876 return carry; 16877 }, data); 16878 16879 delete properties.js; 16880 16881 properties.$element = $module; 16882 16883 var instance = new window._vf[_module](properties); 16884 16885 instances[_module] = instance; 16886 16887 properties.$element.data('module-instance', instance); 16888 $module.data('module-instances', instances); 16889 16890 if (instance.init) { 16891 instance.init(); 16892 } 16893 } 16894 } 16895 })(); 16896 } 16897 }); 16898 16899 (0, _jquery2.default)(window).trigger(_events2.default.init.post); 16900} 16901 16902function replace(source, matches) { 16903 for (var tag in matches) { 16904 var match = '{- ' + tag + ' -}'; 16905 var rgx = new RegExp(match, 'g'); 16906 var replacement = matches[tag]; 16907 16908 source = source.replace(rgx, replacement); 16909 } 16910 16911 return source; 16912} 16913 16914function template(source, matches) { 16915 if (typeof source === 'function') { 16916 return source(matches); 16917 } 16918 if (matches !== undefined) { 16919 return replace(source, matches); 16920 } 16921 16922 return source; 16923} 16924 16925function trigger(event, context) { 16926 var _$; 16927 16928 for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { 16929 args[_key - 2] = arguments[_key]; 16930 } 16931 16932 (_$ = (0, _jquery2.default)(context)).trigger.apply(_$, [event].concat(args)); 16933} 16934 16935/** 16936 * Fill a specific form based on a given query string 16937 * 16938 * @param {string|object} query 16939 * @param {jQueryElement} form 16940 * 16941 * @return {undefined} 16942 */ 16943function fillForm(query, $form) { 16944 var legacyParsing = typeof query === 'string'; 16945 16946 var data = legacyParsing ? queryToObject(query) : query; 16947
16948 Object.keys(data).forEach(function (name) { 16949 var $input = $form.find('[name="' + name + '"]'); 16950 var value = legacyParsing ? data[name].replace(/\+/g, ' ') : data[name]; 16951 16952 if ($input.attr('type') === 'radio' || $input.attr('type') === 'checkbox') { 16953 $input.filter(function (i, input) { 16954 return (0, _jquery2.default)(input).val() === value; 16955 }).click(); 16956 } else { 16957 $input.val(data[name].replace(/\+/g, ' ')); 16958 } 16959 }); 16960} 16961 16962function contains() { 16963 var needle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; 16964 var haystack = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; 16965 16966 return haystack.indexOf(needle) !== -1; 16967} 16968 16969function index() { 16970 var needle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; 16971 var haystack = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; 16972 16973 return haystack.indexOf(needle); 16974} 16975 16976function noop() { 16977 return undefined; 16978} 16979 16980function ajax(url) { 16981 var contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'text/plain'; 16982 16983 return new Promise(function (resolve, reject) { 16984 var request = new XMLHttpRequest(); 16985 16986 request.open('get', url); 16987 16988 request.onload = function () { 16989 if (request.status === 200) { 16990 resolve(request.response); 16991 } else { 16992 var status = url + ': ' + request.statusText; 16993 var error = new Error(status); 16994 16995 reject(error); 16996 } 16997 }; 16998 16999 request.setRequestHeader('contentType', contentType); 17000 17001 request.send(); 17002 }); 17003} 17004 17005function getBreakpoint() { 17006 return window.getComputedStyle(document.querySelector('body'), ':before').getPropertyValue('content').replace(/"/g, ''); 17007} 17008 17009module.exports = { 17010 init: init, 17011 template: template, 17012 replace: replace, 17013 trigger: trigger, 17014 fillForm: fillForm, 17015 queryToObject: queryToObject, 17016 parsePropertyValue: parsePropertyValue, 17017 contains: contains, 17018 index: index, 17019 noop: noop, 17020 ajax: ajax, 17021 getBreakpoint: getBreakpoint 17022}; 17023 17024}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 17025},{"./_events":356,"qs":347}],369:[function(require,module,exports){ 17026'use strict'; 17027 17028Object.defineProperty(exports, "__esModule", { 17029 value: true 17030}); 17031 17032var _events = require('./_events'); 17033 17034var _events2 = _interopRequireDefault(_events); 17035 17036var _accordion = require('./_accordion'); 17037 17038var _accordion2 = _interopRequireDefault(_accordion); 17039 17040var _simpleTabs = require('./_simple-tabs'); 17041 17042var _simpleTabs2 = _interopRequireDefault(_simpleTabs); 17043 17044var _lazysizes = require('./_lazysizes'); 17045 17046var _lazysizes2 = _interopRequireDefault(_lazysizes); 17047 17048var _cookiePolicy = require('./_cookie-policy'); 17049 17050var _cookiePolicy2 = _interopRequireDefault(_cookiePolicy); 17051 17052var _carousel = require('./_carousel'); 17053 17054var _carousel2 = _interopRequireDefault(_carousel); 17055 17056var _tabs = require('./_tabs'); 17057 17058var _tabs2 = _interopRequireDefault(_tabs); 17059 17060var _mouseActive = require('./_mouse-active'); 17061 17062var _mouseActive2 = _interopRequireDefault(_mouseActive); 17063 17064var _fixed = require('./_fixed'); 17065 17066var _fixed2 = _interopRequireDefault(_fixed); 17067 17068var _preload = require('./_preload'); 17069 17070var _preload2 = _interopRequireDefault(_preload); 17071 17072var _navigation = require('./_navigation'); 17073 17074var _navigation2 = _interopRequireDefault(_navigation); 17075 17076var _nudge = require('./_nudge'); 17077 17078var _nudge2 = _interopRequireDefault(_nudge); 17079 17080var _videoStream = require('./_video-stream'); 17081 17082var _videoStream2 = _interopRequireDefault(_videoStream); 17083 17084var _utils = require('./_utils'); 17085 17086var _utils2 = _interopRequireDefault(_utils); 17087 17088function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 17089 17090function _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; } 17091 17092var vf = window._vf = _defineProperty({ 17093 _events: _events2.default, 17094 _accordion: _accordion2.default, 17095 _simpleTabs: _simpleTabs2.default, 17096 _lazysizes: _lazysizes2.default, 17097 _cookiePolicy: _cookiePolicy2.default, 17098 _carousel: _carousel2.default, 17099 _tabs: _tabs2.default, 17100 _navigation: _navigation2.default, 17101 _nudge: _nudge2.default, 17102 _videoStream: _videoStream2.default, 17103 _utils: _utils2.default, 17104 _mouseActive: _mouseActive2.default, 17105 _fixed: _fixed2.default, 17106 _preload: _preload2.default 17107}, '_utils', _utils2.default); 17108 17109exports.default = vf; 17110 17111},{"./_accordion":352,"./_carousel":353,"./_cookie-policy":354,"./_events":356,"./_fixed":357,"./_lazysizes":359,"./_mouse-active":361,"./_navigation":362,"./_nudge":363,"./_preload":365,"./_simple-tabs":366,"./_tabs":367,"./_utils":368,"./_video-stream":370}],370:[function(require,module,exports){ 17112(function (global){ 17113'use strict'; 17114 17115Object.defineProperty(exports, "__esModule", { 17116 value: true 17117}); 17118 17119var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); 17120 17121var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 17122 17123var _jquery2 = _interopRequireDefault(_jquery); 17124 17125function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 17126 17127function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 17128 17129var defaults = { 17130 $element: undefined, 17131 selectors: {
17132 video: '.js-video-stream-video', 17133 toggle: '.js-video-stream-toggle', 17134 touch: '.touchevents' 17135 }, 17136 classes: { 17137 paused: 'video-stream--paused', 17138 play: 'video-stream--play', 17139 ended: 'video-stream--ended', 17140 hide: 'video-stream__toggle--hide' 17141 } 17142}; 17143 17144/** 17145 * VideoStream. 17146 * 17147 * @module VideoStream 17148 * @param {Object} properties - specifies the configurations 17149 * for the module. 17150 */ 17151 17152var VideoStream = function () { 17153 function VideoStream() { 17154 var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 17155 17156 _classCallCheck(this, VideoStream); 17157 17158 var members = _jquery2.default.extend(true, {}, defaults, properties); 17159 17160 this.$element = members.$element; 17161 this.selectors = members.selectors; 17162 this.classes = members.classes; 17163 } 17164 17165 /** 17166 * Initialise the module. 17167 * 17168 * @function init 17169 * 17170 * @return {undefined} 17171 */ 17172 17173 17174 _createClass(VideoStream, [{ 17175 key: 'init', 17176 value: function init() { 17177 this.bind(); 17178 } 17179 17180 /** 17181 * Bind the events to toggle the video stream 17182 * 17183 * @function bind 17184 * 17185 * @return {undefined} 17186 */ 17187 17188 }, { 17189 key: 'bind', 17190 value: function bind() { 17191 var $touch = (0, _jquery2.default)(this.selectors.touch); 17192 var $toggle = this.$element.find(this.selectors.toggle); 17193 var $video = this.$element.find(this.selectors.video); 17194 17195 if ($touch.length) { 17196 $video.attr('controls', 'controls'); 17197 } else { 17198 $toggle.on('click', this.toggle.bind(this)); 17199 17200 $video.on('play', this.play.bind(this)); 17201 $video.on('pause', this.pause.bind(this)); 17202 $video.on('ended', this.end.bind(this)); 17203 this.$element.on('mouseenter', this.enter.bind(this)); 17204 } 17205 } 17206 17207 /** 17208 * Toggle the video stream 17209 * 17210 * @function toggle 17211 * @param {$.Event} event - specifies the click event. 17212 * 17213 * @return {undefined} 17214 */ 17215 17216 }, { 17217 key: 'toggle', 17218 value: function toggle(event) { 17219 event.preventDefault(); 17220 17221 this.$element.removeClass(this.classes.ended); 17222 17223 var $video = this.$element.find(this.selectors.video); 17224 var video = $video.get(0); 17225 17226 //$video.attr('controls', 'controls'); 17227 17228 if (video.paused) { 17229 video.play(); 17230 } else { 17231 video.pause(); 17232 } 17233 } 17234 17235 /** 17236 * Play the video stream 17237 * 17238 * @function play 17239 * @param {$.Event} event - specifies the click event. 17240 * 17241 * @return {undefined} 17242 */ 17243 17244 }, { 17245 key: 'play', 17246 value: function play(event) { 17247 var _this = this; 17248 17249 event.preventDefault(); 17250 17251 this.$element.addClass(this.classes.play); 17252 this.$element.removeClass(this.classes.paused); 17253 this.$element.removeClass(this.classes.ended); 17254 this.$element.on('mouseleave', this.leave.bind(this)); 17255 17256 this.hideSetTimeout = setTimeout(function () { 17257 _this.$element.find(_this.selectors.toggle).addClass(_this.classes.hide); 17258 }, 4000); 17259 } 17260 17261 /** 17262 * Pause the video stream 17263 * 17264 * @function pause 17265 * @param {$.Event} event - specifies the click event. 17266 * 17267 * @return {undefined} 17268 */ 17269 17270 }, { 17271 key: 'pause', 17272 value: function pause(event) { 17273 event.preventDefault(); 17274 17275 this.$element.addClass(this.classes.paused); 17276 this.$element.removeClass(this.classes.play); 17277 this.$element.removeClass(this.classes.ended); 17278 this.$element.find(this.selectors.toggle).removeClass(this.classes.hide); 17279 this.$element.off('mouseleave'); 17280 } 17281 17282 /** 17283 * End the video stream 17284 * 17285 * @function end 17286 * @param {$.Event} event - specifies the click event. 17287 * 17288 * @return {undefined} 17289 */ 17290 17291 }, {
17292 key: 'end', 17293 value: function end(event) { 17294 event.preventDefault(); 17295 17296 this.$element.addClass(this.classes.ended); 17297 this.$element.removeClass(this.classes.paused); 17298 this.$element.removeClass(this.classes.play); 17299 this.$element.find(this.selectors.toggle).removeClass(this.classes.hide); 17300 this.$element.off('mouseleave'); 17301 } 17302 17303 /** 17304 * Leave the video stream 17305 * 17306 * @function leave 17307 * 17308 * @return {undefined} 17309 */ 17310 17311 }, { 17312 key: 'leave', 17313 value: function leave() { 17314 clearTimeout(this.hideSetTimeout); 17315 17316 this.$element.find(this.selectors.toggle).addClass(this.classes.hide); 17317 } 17318 17319 /** 17320 * Enter the video stream 17321 * 17322 * @function enter 17323 * 17324 * @return {undefined} 17325 */ 17326 17327 }, { 17328 key: 'enter', 17329 value: function enter() { 17330 this.$element.find(this.selectors.toggle).removeClass(this.classes.hide); 17331 } 17332 }]); 17333 17334 return VideoStream; 17335}(); 17336 17337exports.default = VideoStream; 17338 17339}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 17340},{}],371:[function(require,module,exports){ 17341"use strict"; 17342 17343var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; 17344 17345/*! modernizr 3.4.0 (Custom Build) | MIT * 17346 * https://modernizr.com/download/?-appearance-bloburls-cssanimations-csstransforms-csstransitions-filereader-history-opacity-touchevents-video-setclasses !*/ 17347!function (e, n, t) { 17348 function r(e, n) { 17349 return (typeof e === "undefined" ? "undefined" : _typeof(e)) === n; 17350 }function o() { 17351 var e, n, t, o, i, s, a;for (var l in x) { 17352 if (x.hasOwnProperty(l)) { 17353 if (e = [], n = x[l], n.name && (e.push(n.name.toLowerCase()), n.options && n.options.aliases && n.options.aliases.length)) for (t = 0; t < n.options.aliases.length; t++) { 17354 e.push(n.options.aliases[t].toLowerCase()); 17355 }for (o = r(n.fn, "function") ? n.fn() : n.fn, i = 0; i < e.length; i++) { 17356 s = e[i], a = s.split("."), 1 === a.length ? Modernizr[a[0]] = o : (!Modernizr[a[0]] || Modernizr[a[0]] instanceof Boolean || (Modernizr[a[0]] = new Boolean(Modernizr[a[0]])), Modernizr[a[0]][a[1]] = o), C.push((o ? "" : "no-") + a.join("-")); 17357 } 17358 } 17359 } 17360 }function i(e) { 17361 var n = w.className, 17362 t = Modernizr._config.classPrefix || "";if (b && (n = n.baseVal), Modernizr._config.enableJSClass) { 17363 var r = new RegExp("(^|\\s)" + t + "no-js(\\s|$)");n = n.replace(r, "$1" + t + "js$2"); 17364 }Modernizr._config.enableClasses && (n += " " + t + e.join(" " + t), b ? w.className.baseVal = n : w.className = n); 17365 }function s() { 17366 return "function" != typeof n.createElement ? n.createElement(arguments[0]) : b ? n.createElementNS.call(n, "http://www.w3.org/2000/svg", arguments[0]) : n.createElement.apply(n, arguments); 17367 }function a() { 17368 var e = n.body;return e || (e = s(b ? "svg" : "body"), e.fake = !0), e; 17369 }function l(e, t, r, o) { 17370 var i, 17371 l, 17372 f, 17373 u, 17374 c = "modernizr", 17375 d = s("div"), 17376 p = a();if (parseInt(r, 10)) for (; r--;) { 17377 f = s("div"), f.id = o ? o[r] : c + (r + 1), d.appendChild(f); 17378 }return i = s("style"), i.type = "text/css", i.id = "s" + c, (p.fake ? p : d).appendChild(i), p.appendChild(d), i.styleSheet ? i.styleSheet.cssText = e : i.appendChild(n.createTextNode(e)), d.id = c, p.fake && (p.style.background = "", p.style.overflow = "hidden", u = w.style.overflow, w.style.overflow = "hidden", w.appendChild(p)), l = t(d, e), p.fake ? (p.parentNode.removeChild(p), w.style.overflow = u, w.offsetHeight) : d.parentNode.removeChild(d), !!l; 17379 }function f(e, n) { 17380 return !!~("" + e).indexOf(n); 17381 }function u(e) { 17382 return e.replace(/([a-z])-([a-z])/g, function (e, n, t) { 17383 return n + t.toUpperCase(); 17384 }).replace(/^-/, ""); 17385 }function c(e, n) { 17386 return function () { 17387 return e.apply(n, arguments); 17388 }; 17389 }function d(e, n, t) { 17390 var o;for (var i in e) { 17391 if (e[i] in n) return t === !1 ? e[i] : (o = n[e[i]], r(o, "function") ? c(o, t || n) : o); 17392 }return !1; 17393 }function p(e) { 17394 return e.replace(/([A-Z])/g, function (e, n) { 17395 return "-" + n.toLowerCase(); 17396 }).replace(/^ms-/, "-ms-"); 17397 }function m(n, t, r) { 17398 var o;if ("getComputedStyle" in e) { 17399 o = getComputedStyle.call(e, n, t);var i = e.console;if (null !== o) r && (o = o.getPropertyValue(r));else if (i) { 17400 var s = i.error ? "error" : "log";i[s].call(i, "getComputedStyle returning null, its possible modernizr test results are inaccurate"); 17401 } 17402 } else o = !t && n.currentStyle && n.currentStyle[r];return o; 17403 }function v(n, r) { 17404 var o = n.length;if ("CSS" in e && "supports" in e.CSS) { 17405 for (; o--;) { 17406 if (e.CSS.supports(p(n[o]), r)) return !0; 17407 }return !1; 17408 }if ("CSSSupportsRule" in e) { 17409 for (var i = []; o--;) { 17410 i.push("(" + p(n[o]) + ":" + r + ")"); 17411 }return i = i.join(" or "), l("@supports (" + i + ") { #modernizr { position: absolute; } }", function (e) { 17412 return "absolute" == m(e, null, "position"); 17413 }); 17414 }return t; 17415 }function y(e, n, o, i) { 17416 function a() { 17417 c && (delete j.style, delete j.modElem); 17418 }if (i = r(i, "undefined") ? !1 : i, !r(o, "undefined")) { 17419 var l = v(e, o);if (!r(l, "undefined")) return l; 17420 }for (var c, d, p, m, y, h = ["modernizr", "tspan", "samp"]; !j.style && h.length;) { 17421 c = !0, j.modElem = s(h.shift()), j.style = j.modElem.style; 17422 }for (p = e.length, d = 0; p > d; d++) {
17423 if (m = e[d], y = j.style[m], f(m, "-") && (m = u(m)), j.style[m] !== t) { 17424 if (i || r(o, "undefined")) return a(), "pfx" == n ? m : !0;try { 17425 j.style[m] = o; 17426 } catch (g) {}if (j.style[m] != y) return a(), "pfx" == n ? m : !0; 17427 } 17428 }return a(), !1; 17429 }function h(e, n, t, o, i) { 17430 var s = e.charAt(0).toUpperCase() + e.slice(1), 17431 a = (e + " " + E.join(s + " ") + s).split(" ");return r(n, "string") || r(n, "undefined") ? y(a, n, o, i) : (a = (e + " " + O.join(s + " ") + s).split(" "), d(a, n, t)); 17432 }function g(e, n, r) { 17433 return h(e, t, t, n, r); 17434 }var C = [], 17435 x = [], 17436 T = { _version: "3.4.0", _config: { classPrefix: "", enableClasses: !0, enableJSClass: !0, usePrefixes: !0 }, _q: [], on: function on(e, n) { 17437 var t = this;setTimeout(function () { 17438 n(t[e]); 17439 }, 0); 17440 }, addTest: function addTest(e, n, t) { 17441 x.push({ name: e, fn: n, options: t }); 17442 }, addAsyncTest: function addAsyncTest(e) { 17443 x.push({ name: null, fn: e }); 17444 } }, 17445 Modernizr = function Modernizr() {};Modernizr.prototype = T, Modernizr = new Modernizr(), Modernizr.addTest("history", function () { 17446 var n = navigator.userAgent;return -1 === n.indexOf("Android 2.") && -1 === n.indexOf("Android 4.0") || -1 === n.indexOf("Mobile Safari") || -1 !== n.indexOf("Chrome") || -1 !== n.indexOf("Windows Phone") || "file:" === location.protocol ? e.history && "pushState" in e.history : !1; 17447 }), Modernizr.addTest("filereader", !!(e.File && e.FileList && e.FileReader));var w = n.documentElement, 17448 b = "svg" === w.nodeName.toLowerCase(), 17449 S = T._config.usePrefixes ? " -webkit- -moz- -o- -ms- ".split(" ") : ["", ""];T._prefixes = S, Modernizr.addTest("video", function () { 17450 var e = s("video"), 17451 n = !1;try { 17452 n = !!e.canPlayType, n && (n = new Boolean(n), n.ogg = e.canPlayType('video/ogg; codecs="theora"').replace(/^no$/, ""), n.h264 = e.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/, ""), n.webm = e.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/, ""), n.vp9 = e.canPlayType('video/webm; codecs="vp9"').replace(/^no$/, ""), n.hls = e.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/, "")); 17453 } catch (t) {}return n; 17454 }), Modernizr.addTest("opacity", function () { 17455 var e = s("a").style;return e.cssText = S.join("opacity:.55;"), /^0.55$/.test(e.opacity); 17456 });var _ = T.testStyles = l;Modernizr.addTest("touchevents", function () { 17457 var t;if ("ontouchstart" in e || e.DocumentTouch && n instanceof DocumentTouch) t = !0;else { 17458 var r = ["@media (", S.join("touch-enabled),("), "heartz", ")", "{#modernizr{top:9px;position:absolute}}"].join("");_(r, function (e) { 17459 t = 9 === e.offsetTop; 17460 }); 17461 }return t; 17462 });var P = "Moz O ms Webkit", 17463 E = T._config.usePrefixes ? P.split(" ") : [];T._cssomPrefixes = E;var O = T._config.usePrefixes ? P.toLowerCase().split(" ") : [];T._domPrefixes = O;var z = { elem: s("modernizr") };Modernizr._q.push(function () { 17464 delete z.elem; 17465 });var j = { style: z.elem.style };Modernizr._q.unshift(function () { 17466 delete j.style; 17467 }), T.testAllProps = h, T.testAllProps = g, Modernizr.addTest("cssanimations", g("animationName", "a", !0)), Modernizr.addTest("appearance", g("appearance")), Modernizr.addTest("csstransforms", function () { 17468 return -1 === navigator.userAgent.indexOf("Android 2.") && g("transform", "scale(1)", !0); 17469 }), Modernizr.addTest("csstransitions", g("transition", "all", !0));var L = function L(n) { 17470 var r, 17471 o = S.length, 17472 i = e.CSSRule;if ("undefined" == typeof i) return t;if (!n) return !1;if (n = n.replace(/^@/, ""), r = n.replace(/-/g, "_").toUpperCase() + "_RULE", r in i) return "@" + n;for (var s = 0; o > s; s++) { 17473 var a = S[s], 17474 l = a.toUpperCase() + "_" + r;if (l in i) return "@-" + a.toLowerCase() + "-" + n; 17475 }return !1; 17476 };T.atRule = L;var A = T.prefixed = function (e, n, t) { 17477 return 0 === e.indexOf("@") ? L(e) : (-1 != e.indexOf("-") && (e = u(e)), n ? h(e, n, t) : h(e, "pfx")); 17478 }, 17479 R = A("URL", e, !1);R = R && e[R], Modernizr.addTest("bloburls", R && "revokeObjectURL" in R && "createObjectURL" in R), o(), i(C), delete T.addTest, delete T.addAsyncTest;for (var N = 0; N < Modernizr._q.length; N++) { 17480 Modernizr._q[N](); 17481 }e.Modernizr = Modernizr; 17482}(window, document); 17483 17484},{}],372:[function(require,module,exports){ 17485(function (global){ 17486'use strict'; 17487 17488require('./lib/modernizr-custom.min'); 17489 17490require('./_ls.bgset'); 17491 17492require('./_polyfills'); 17493 17494var _jquery = (typeof window !== "undefined" ? window['$'] : typeof global !== "undefined" ? global['$'] : null); 17495 17496var _jquery2 = _interopRequireDefault(_jquery); 17497 17498function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 17499 17500window.jQuery = _jquery2.default; 17501window.$ = _jquery2.default; 17502require('jquery-mobile-events'); 17503require('picturefill'); 17504require('lazysizes'); 17505require('./_jquery-extensions'); 17506require('./_vf'); 17507require('./_utils').init(); 17508 17509}
17509).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 17510},{"./_jquery-extensions":358,"./_ls.bgset":360,"./_polyfills":364,"./_utils":368,"./_vf":369,"./lib/modernizr-custom.min":371,"jquery-mobile-events":342,"lazysizes":343,"picturefill":345}],373:[function(require,module,exports){ 17511'use strict'; 17512 17513Object.defineProperty(exports, "__esModule", { 17514 value: true 17515}); 17516var templates = { 17517 loading: '<p class="tabs__loading" role="alert">Loading content...</p>' 17518}; 17519 17520exports.default = templates; 17521 17522},{}]},{},[372]); 17523
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.