diff --git a/dist/build.js b/dist/build.js index 7cdf833..09928d5 100644 --- a/dist/build.js +++ b/dist/build.js @@ -1,93 +1,10 @@ -(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 bytes) { end = bytes; } - - if (start >= bytes || start >= end || bytes === 0) { - return new ArrayBuffer(0); - } - - var abv = new Uint8Array(arraybuffer); - var result = new Uint8Array(end - start); - for (var i = start, ii = 0; i < end; i++, ii++) { - result[ii] = abv[i]; - } - return result.buffer; -}; - -}).apply(this, arguments); - -},{}],4:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/babel-runtime/core-js/object/keys.js", module); -(function(){ +(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 0 && opts.jitter <= 1 ? opts.jitter : 0; - this.attempts = 0; -} - -/** - * Return the backoff duration. - * - * @return {Number} - * @api public - */ - -Backoff.prototype.duration = function(){ - var ms = this.ms * Math.pow(this.factor, this.attempts++); - if (this.jitter) { - var rand = Math.random(); - var deviation = Math.floor(rand * this.jitter * ms); - ms = (Math.floor(rand * 10) & 1) == 0 ? ms - deviation : ms + deviation; - } - return Math.min(ms, this.max) | 0; -}; - -/** - * Reset the number of attempts. - * - * @api public - */ - -Backoff.prototype.reset = function(){ - this.attempts = 0; -}; - -/** - * Set the minimum duration - * - * @api public - */ - -Backoff.prototype.setMin = function(min){ - this.ms = min; -}; - -/** - * Set the maximum duration - * - * @api public - */ - -Backoff.prototype.setMax = function(max){ - this.max = max; -}; - -/** - * Set the jitter - * - * @api public - */ - -Backoff.prototype.setJitter = function(jitter){ - this.jitter = jitter; -}; - - -}).apply(this, arguments); - -},{}],9:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/base64-arraybuffer/lib/base64-arraybuffer.js", module); -(function(){ -/* - * base64-arraybuffer - * https://github.com/niklasvh/base64-arraybuffer - * - * Copyright (c) 2012 Niklas von Hertzen - * Licensed under the MIT license. - */ -(function(chars){ - "use strict"; - - exports.encode = function(arraybuffer) { - var bytes = new Uint8Array(arraybuffer), - i, len = bytes.length, base64 = ""; - - for (i = 0; i < len; i+=3) { - base64 += chars[bytes[i] >> 2]; - base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)]; - base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)]; - base64 += chars[bytes[i + 2] & 63]; - } - - if ((len % 3) === 2) { - base64 = base64.substring(0, base64.length - 1) + "="; - } else if (len % 3 === 1) { - base64 = base64.substring(0, base64.length - 2) + "=="; - } - - return base64; - }; - - exports.decode = function(base64) { - var bufferLength = base64.length * 0.75, - len = base64.length, i, p = 0, - encoded1, encoded2, encoded3, encoded4; - - if (base64[base64.length - 1] === "=") { - bufferLength--; - if (base64[base64.length - 2] === "=") { - bufferLength--; - } - } - - var arraybuffer = new ArrayBuffer(bufferLength), - bytes = new Uint8Array(arraybuffer); - - for (i = 0; i < len; i+=4) { - encoded1 = chars.indexOf(base64[i]); - encoded2 = chars.indexOf(base64[i+1]); - encoded3 = chars.indexOf(base64[i+2]); - encoded4 = chars.indexOf(base64[i+3]); - - bytes[p++] = (encoded1 << 2) | (encoded2 >> 4); - bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2); - bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63); - } - - return arraybuffer; - }; -})("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"); - -}).apply(this, arguments); - -},{}],10:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/blob/index.js", module); -(function(){ -(function (global){ -/** - * Create a blob builder even when vendor prefixes exist - */ - -var BlobBuilder = global.BlobBuilder - || global.WebKitBlobBuilder - || global.MSBlobBuilder - || global.MozBlobBuilder; - -/** - * Check if Blob constructor is supported - */ - -var blobSupported = (function() { - try { - var a = new Blob(['hi']); - return a.size === 2; - } catch(e) { - return false; - } -})(); - -/** - * Check if Blob constructor supports ArrayBufferViews - * Fails in Safari 6, so we need to map to ArrayBuffers there. - */ - -var blobSupportsArrayBufferView = blobSupported && (function() { - try { - var b = new Blob([new Uint8Array([1,2])]); - return b.size === 2; - } catch(e) { - return false; - } -})(); - -/** - * Check if BlobBuilder is supported - */ - -var blobBuilderSupported = BlobBuilder - && BlobBuilder.prototype.append - && BlobBuilder.prototype.getBlob; - -/** - * Helper function that maps ArrayBufferViews to ArrayBuffers - * Used by BlobBuilder constructor and old browsers that didn't - * support it in the Blob constructor. - */ - -function mapArrayBufferViews(ary) { - for (var i = 0; i < ary.length; i++) { - var chunk = ary[i]; - if (chunk.buffer instanceof ArrayBuffer) { - var buf = chunk.buffer; - - // if this is a subarray, make a copy so we only - // include the subarray region from the underlying buffer - if (chunk.byteLength !== buf.byteLength) { - var copy = new Uint8Array(chunk.byteLength); - copy.set(new Uint8Array(buf, chunk.byteOffset, chunk.byteLength)); - buf = copy.buffer; - } - - ary[i] = buf; - } - } -} - -function BlobBuilderConstructor(ary, options) { - options = options || {}; - - var bb = new BlobBuilder(); - mapArrayBufferViews(ary); - - for (var i = 0; i < ary.length; i++) { - bb.append(ary[i]); - } - - return (options.type) ? bb.getBlob(options.type) : bb.getBlob(); -}; - -function BlobConstructor(ary, options) { - mapArrayBufferViews(ary); - return new Blob(ary, options || {}); -}; - -module.exports = (function() { - if (blobSupported) { - return blobSupportsArrayBufferView ? global.Blob : BlobConstructor; - } else if (blobBuilderSupported) { - return BlobBuilderConstructor; - } else { - return undefined; - } -})(); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) - -}).apply(this, arguments); - -},{}],11:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/browser-resolve/empty.js", module); -(function(){ - -}).apply(this, arguments); - -},{}],12:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/browserify-hmr/inc/index.js", module); -(function(){ -(function (global){ -'use strict'; - -var has = require('../lib/has'); -var StrSet = require('../lib/str-set'); -var forEach = require('lodash/collection/forEach'); -var some = require('lodash/collection/some'); -var map = require('lodash/collection/map'); -var filter = require('lodash/collection/filter'); -var zipObject = require('lodash/array/zipObject'); -var forOwn = require('lodash/object/forOwn'); -var mapValues = require('lodash/object/mapValues'); -var assign = require('lodash/object/assign'); - -function emitError(err) { - setTimeout(function() { - throw err; - }, 0); -} - -function makeModuleIndexesToNames(moduleMeta) { - var moduleIndexesToNames = {}; - forOwn(moduleMeta, function(value, name) { - moduleIndexesToNames[value.index] = name; - }); - return moduleIndexesToNames; -} - -var console = global.console ? global.console : { - error: function(){}, log: function() {} -}; - -function main( - moduleDefs, cachedModules, moduleMeta, updateUrl, - updateMode, supportModes, ignoreUnaccepted, updateCacheBust, bundleKey, - socketio, - bundle__filename, bundle__dirname -) { - var moduleIndexesToNames = makeModuleIndexesToNames(moduleMeta); - - var socket; - var name, i, len; - - if (!global._hmr[bundleKey].setStatus) { - var runtimeModuleInfo = {}; - var createInfoEntry = function(name) { - runtimeModuleInfo[name] = { - index: moduleMeta[name].index, - hash: moduleMeta[name].hash, - parents: new StrSet(moduleMeta[name].parents), - module: null, - disposeData: null, - accepters: new StrSet(), - accepting: new StrSet(), - decliners: new StrSet(), - declining: new StrSet(), - selfAcceptCbs: [], // may contain null. nonzero length means module is self-accepting - disposeHandlers: [] - }; - }; - for (name in moduleMeta) { - if (has(moduleMeta, name)) { - createInfoEntry(name); - } - } - - // loaders take a callback(err, data). They may give null for data if they - // know there hasn't been an update. - var fileReloaders = { - fs: function(cb) { - var fs; - try { - fs = require('f'+'s'); - } catch(e) { - cb(e); - return; - } - fs.readFile(localHmr.updateUrl || bundle__filename, 'utf8', cb); - }, - ajax: function(cb) { - var xhr; - try { - xhr = new XMLHttpRequest(); - } catch(e) { - cb(e); - return; - } - xhr.onreadystatechange = function() { - if (xhr.readyState === 4) { - if (xhr.status === 200) { - cb(null, xhr.responseText); - } else { - cb(new Error("Request had response "+xhr.status)); - } - } - }; - var url = localHmr.updateUrl + (updateCacheBust?'?_v='+(+new Date()):''); - xhr.open('GET', url, true); - xhr.send(); - } - }; - - var lastScriptData = null; - - // cb(err, expectUpdate) - var reloadAndRunScript = function(cb) { - if (!has(fileReloaders, localHmr.updateMode)) { - cb(new Error("updateMode "+localHmr.updateMode+" not implemented")); - return; - } - var reloader = fileReloaders[localHmr.updateMode]; - reloader(function(err, data) { - if (err || !data || lastScriptData === data) { - cb(err, false); - return; - } - lastScriptData = data; - localHmr.newLoad = null; - try { - //jshint evil:true - if (bundle__filename || bundle__dirname) { - new Function('require', '__filename', '__dirname', data)(require, bundle__filename, bundle__dirname); - } else { - new Function('require', data)(require); - } - // running the file sets _hmr.newLoad - } catch (err2) { - localHmr.newLoad = null; - cb(err2); - return; - } - if (!localHmr.newLoad) { - cb(new Error("Reloaded script did not set hot module reload data")); - return; - } - cb(null, true); - }); - }; - - var getOutdatedModules = function() { - var outdated = []; - var name; - // add changed and deleted modules - for (name in runtimeModuleInfo) { - if (has(runtimeModuleInfo, name)) { - if ( - !has(localHmr.newLoad.moduleMeta, name) || - runtimeModuleInfo[name].hash !== localHmr.newLoad.moduleMeta[name].hash - ) { - outdated.push(name); - } - } - } - // add brand new modules - for (name in localHmr.newLoad.moduleMeta) { - if (has(localHmr.newLoad.moduleMeta, name)) { - if (!has(runtimeModuleInfo, name)) { - outdated.push(name); - } - } - } - // add modules that are non-accepting/declining parents of outdated modules. - // important: if outdated has new elements added during the loop, - // then we iterate over them too. - for (var i=0; i Array#indexOf // true -> Array#includes var toIObject = require('./_to-iobject') @@ -1423,28 +74,16 @@ module.exports = function(IS_INCLUDES){ } return !IS_INCLUDES && -1; }; }; -}).apply(this, arguments); - -},{"./_to-index":68,"./_to-iobject":70,"./_to-length":71}],25:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_cof.js", module); -(function(){ +},{"./_to-index":55,"./_to-iobject":57,"./_to-length":58}],12:[function(require,module,exports){ var toString = {}.toString; module.exports = function(it){ return toString.call(it).slice(8, -1); }; -}).apply(this, arguments); - -},{}],26:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_core.js", module); -(function(){ +},{}],13:[function(require,module,exports){ var core = module.exports = {version: '2.4.0'}; if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef -}).apply(this, arguments); - -},{}],27:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_ctx.js", module); -(function(){ +},{}],14:[function(require,module,exports){ // optional / simple context binding var aFunction = require('./_a-function'); module.exports = function(fn, that, length){ @@ -1465,30 +104,18 @@ module.exports = function(fn, that, length){ return fn.apply(that, arguments); }; }; -}).apply(this, arguments); - -},{"./_a-function":21}],28:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_defined.js", module); -(function(){ +},{"./_a-function":8}],15:[function(require,module,exports){ // 7.2.1 RequireObjectCoercible(argument) module.exports = function(it){ if(it == undefined)throw TypeError("Can't call method on " + it); return it; }; -}).apply(this, arguments); - -},{}],29:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_descriptors.js", module); -(function(){ +},{}],16:[function(require,module,exports){ // Thank's IE8 for his funny defineProperty module.exports = !require('./_fails')(function(){ return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; }); -}).apply(this, arguments); - -},{"./_fails":34}],30:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_dom-create.js", module); -(function(){ +},{"./_fails":21}],17:[function(require,module,exports){ var isObject = require('./_is-object') , document = require('./_global').document // in old IE typeof document.createElement is 'object' @@ -1496,20 +123,12 @@ var isObject = require('./_is-object') module.exports = function(it){ return is ? document.createElement(it) : {}; }; -}).apply(this, arguments); - -},{"./_global":35,"./_is-object":42}],31:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_enum-bug-keys.js", module); -(function(){ +},{"./_global":22,"./_is-object":29}],18:[function(require,module,exports){ // IE 8- don't enum bug keys module.exports = ( 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); -}).apply(this, arguments); - -},{}],32:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_enum-keys.js", module); -(function(){ +},{}],19:[function(require,module,exports){ // all enumerable object keys, includes symbols var getKeys = require('./_object-keys') , gOPS = require('./_object-gops') @@ -1525,11 +144,7 @@ module.exports = function(it){ while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key); } return result; }; -}).apply(this, arguments); - -},{"./_object-gops":56,"./_object-keys":59,"./_object-pie":60}],33:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_export.js", module); -(function(){ +},{"./_object-gops":43,"./_object-keys":46,"./_object-pie":47}],20:[function(require,module,exports){ var global = require('./_global') , core = require('./_core') , ctx = require('./_ctx') @@ -1591,11 +206,7 @@ $export.W = 32; // wrap $export.U = 64; // safe $export.R = 128; // real proto method for `library` module.exports = $export; -}).apply(this, arguments); - -},{"./_core":26,"./_ctx":27,"./_global":35,"./_hide":37}],34:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_fails.js", module); -(function(){ +},{"./_core":13,"./_ctx":14,"./_global":22,"./_hide":24}],21:[function(require,module,exports){ module.exports = function(exec){ try { return !!exec(); @@ -1603,29 +214,17 @@ module.exports = function(exec){ return true; } }; -}).apply(this, arguments); - -},{}],35:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_global.js", module); -(function(){ +},{}],22:[function(require,module,exports){ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef -}).apply(this, arguments); - -},{}],36:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_has.js", module); -(function(){ +},{}],23:[function(require,module,exports){ var hasOwnProperty = {}.hasOwnProperty; module.exports = function(it, key){ return hasOwnProperty.call(it, key); }; -}).apply(this, arguments); - -},{}],37:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_hide.js", module); -(function(){ +},{}],24:[function(require,module,exports){ var dP = require('./_object-dp') , createDesc = require('./_property-desc'); module.exports = require('./_descriptors') ? function(object, key, value){ @@ -1634,53 +233,29 @@ module.exports = require('./_descriptors') ? function(object, key, value){ object[key] = value; return object; }; -}).apply(this, arguments); - -},{"./_descriptors":29,"./_object-dp":51,"./_property-desc":62}],38:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_html.js", module); -(function(){ +},{"./_descriptors":16,"./_object-dp":38,"./_property-desc":49}],25:[function(require,module,exports){ module.exports = require('./_global').document && document.documentElement; -}).apply(this, arguments); - -},{"./_global":35}],39:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_ie8-dom-define.js", module); -(function(){ +},{"./_global":22}],26:[function(require,module,exports){ module.exports = !require('./_descriptors') && !require('./_fails')(function(){ return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7; }); -}).apply(this, arguments); - -},{"./_descriptors":29,"./_dom-create":30,"./_fails":34}],40:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_iobject.js", module); -(function(){ +},{"./_descriptors":16,"./_dom-create":17,"./_fails":21}],27:[function(require,module,exports){ // fallback for non-array-like ES3 and non-enumerable old V8 strings var cof = require('./_cof'); module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ return cof(it) == 'String' ? it.split('') : Object(it); }; -}).apply(this, arguments); - -},{"./_cof":25}],41:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_is-array.js", module); -(function(){ +},{"./_cof":12}],28:[function(require,module,exports){ // 7.2.2 IsArray(argument) var cof = require('./_cof'); module.exports = Array.isArray || function isArray(arg){ return cof(arg) == 'Array'; }; -}).apply(this, arguments); - -},{"./_cof":25}],42:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_is-object.js", module); -(function(){ +},{"./_cof":12}],29:[function(require,module,exports){ module.exports = function(it){ return typeof it === 'object' ? it !== null : typeof it === 'function'; }; -}).apply(this, arguments); - -},{}],43:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_iter-create.js", module); -(function(){ +},{}],30:[function(require,module,exports){ 'use strict'; var create = require('./_object-create') , descriptor = require('./_property-desc') @@ -1694,11 +269,7 @@ module.exports = function(Constructor, NAME, next){ Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); setToStringTag(Constructor, NAME + ' Iterator'); }; -}).apply(this, arguments); - -},{"./_hide":37,"./_object-create":50,"./_property-desc":62,"./_set-to-string-tag":64,"./_wks":77}],44:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_iter-define.js", module); -(function(){ +},{"./_hide":24,"./_object-create":37,"./_property-desc":49,"./_set-to-string-tag":51,"./_wks":64}],31:[function(require,module,exports){ 'use strict'; var LIBRARY = require('./_library') , $export = require('./_export') @@ -1769,25 +340,13 @@ module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED } return methods; }; -}).apply(this, arguments); - -},{"./_export":33,"./_has":36,"./_hide":37,"./_iter-create":43,"./_iterators":46,"./_library":48,"./_object-gpo":57,"./_redefine":63,"./_set-to-string-tag":64,"./_wks":77}],45:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_iter-step.js", module); -(function(){ +},{"./_export":20,"./_has":23,"./_hide":24,"./_iter-create":30,"./_iterators":33,"./_library":35,"./_object-gpo":44,"./_redefine":50,"./_set-to-string-tag":51,"./_wks":64}],32:[function(require,module,exports){ module.exports = function(done, value){ return {value: value, done: !!done}; }; -}).apply(this, arguments); - -},{}],46:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_iterators.js", module); -(function(){ +},{}],33:[function(require,module,exports){ module.exports = {}; -}).apply(this, arguments); - -},{}],47:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_keyof.js", module); -(function(){ +},{}],34:[function(require,module,exports){ var getKeys = require('./_object-keys') , toIObject = require('./_to-iobject'); module.exports = function(object, el){ @@ -1798,17 +357,9 @@ module.exports = function(object, el){ , key; while(length > index)if(O[key = keys[index++]] === el)return key; }; -}).apply(this, arguments); - -},{"./_object-keys":59,"./_to-iobject":70}],48:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_library.js", module); -(function(){ +},{"./_object-keys":46,"./_to-iobject":57}],35:[function(require,module,exports){ module.exports = true; -}).apply(this, arguments); - -},{}],49:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_meta.js", module); -(function(){ +},{}],36:[function(require,module,exports){ var META = require('./_uid')('meta') , isObject = require('./_is-object') , has = require('./_has') @@ -1862,11 +413,7 @@ var meta = module.exports = { getWeak: getWeak, onFreeze: onFreeze }; -}).apply(this, arguments); - -},{"./_fails":34,"./_has":36,"./_is-object":42,"./_object-dp":51,"./_uid":74}],50:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-create.js", module); -(function(){ +},{"./_fails":21,"./_has":23,"./_is-object":29,"./_object-dp":38,"./_uid":61}],37:[function(require,module,exports){ // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) var anObject = require('./_an-object') , dPs = require('./_object-dps') @@ -1907,11 +454,7 @@ module.exports = Object.create || function create(O, Properties){ } else result = createDict(); return Properties === undefined ? result : dPs(result, Properties); }; -}).apply(this, arguments); - -},{"./_an-object":23,"./_dom-create":30,"./_enum-bug-keys":31,"./_html":38,"./_object-dps":52,"./_shared-key":65}],51:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-dp.js", module); -(function(){ +},{"./_an-object":10,"./_dom-create":17,"./_enum-bug-keys":18,"./_html":25,"./_object-dps":39,"./_shared-key":52}],38:[function(require,module,exports){ var anObject = require('./_an-object') , IE8_DOM_DEFINE = require('./_ie8-dom-define') , toPrimitive = require('./_to-primitive') @@ -1928,11 +471,7 @@ exports.f = require('./_descriptors') ? Object.defineProperty : function defineP if('value' in Attributes)O[P] = Attributes.value; return O; }; -}).apply(this, arguments); - -},{"./_an-object":23,"./_descriptors":29,"./_ie8-dom-define":39,"./_to-primitive":73}],52:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-dps.js", module); -(function(){ +},{"./_an-object":10,"./_descriptors":16,"./_ie8-dom-define":26,"./_to-primitive":60}],39:[function(require,module,exports){ var dP = require('./_object-dp') , anObject = require('./_an-object') , getKeys = require('./_object-keys'); @@ -1946,11 +485,7 @@ module.exports = require('./_descriptors') ? Object.defineProperties : function while(length > i)dP.f(O, P = keys[i++], Properties[P]); return O; }; -}).apply(this, arguments); - -},{"./_an-object":23,"./_descriptors":29,"./_object-dp":51,"./_object-keys":59}],53:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-gopd.js", module); -(function(){ +},{"./_an-object":10,"./_descriptors":16,"./_object-dp":38,"./_object-keys":46}],40:[function(require,module,exports){ var pIE = require('./_object-pie') , createDesc = require('./_property-desc') , toIObject = require('./_to-iobject') @@ -1967,11 +502,7 @@ exports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor } catch(e){ /* empty */ } if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); }; -}).apply(this, arguments); - -},{"./_descriptors":29,"./_has":36,"./_ie8-dom-define":39,"./_object-pie":60,"./_property-desc":62,"./_to-iobject":70,"./_to-primitive":73}],54:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-gopn-ext.js", module); -(function(){ +},{"./_descriptors":16,"./_has":23,"./_ie8-dom-define":26,"./_object-pie":47,"./_property-desc":49,"./_to-iobject":57,"./_to-primitive":60}],41:[function(require,module,exports){ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window var toIObject = require('./_to-iobject') , gOPN = require('./_object-gopn').f @@ -1992,11 +523,7 @@ module.exports.f = function getOwnPropertyNames(it){ return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); }; -}).apply(this, arguments); - -},{"./_object-gopn":55,"./_to-iobject":70}],55:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-gopn.js", module); -(function(){ +},{"./_object-gopn":42,"./_to-iobject":57}],42:[function(require,module,exports){ // 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) var $keys = require('./_object-keys-internal') , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype'); @@ -2004,17 +531,9 @@ var $keys = require('./_object-keys-internal') exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ return $keys(O, hiddenKeys); }; -}).apply(this, arguments); - -},{"./_enum-bug-keys":31,"./_object-keys-internal":58}],56:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-gops.js", module); -(function(){ +},{"./_enum-bug-keys":18,"./_object-keys-internal":45}],43:[function(require,module,exports){ exports.f = Object.getOwnPropertySymbols; -}).apply(this, arguments); - -},{}],57:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-gpo.js", module); -(function(){ +},{}],44:[function(require,module,exports){ // 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) var has = require('./_has') , toObject = require('./_to-object') @@ -2028,11 +547,7 @@ module.exports = Object.getPrototypeOf || function(O){ return O.constructor.prototype; } return O instanceof Object ? ObjectProto : null; }; -}).apply(this, arguments); - -},{"./_has":36,"./_shared-key":65,"./_to-object":72}],58:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-keys-internal.js", module); -(function(){ +},{"./_has":23,"./_shared-key":52,"./_to-object":59}],45:[function(require,module,exports){ var has = require('./_has') , toIObject = require('./_to-iobject') , arrayIndexOf = require('./_array-includes')(false) @@ -2050,11 +565,7 @@ module.exports = function(object, names){ } return result; }; -}).apply(this, arguments); - -},{"./_array-includes":24,"./_has":36,"./_shared-key":65,"./_to-iobject":70}],59:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-keys.js", module); -(function(){ +},{"./_array-includes":11,"./_has":23,"./_shared-key":52,"./_to-iobject":57}],46:[function(require,module,exports){ // 19.1.2.14 / 15.2.3.14 Object.keys(O) var $keys = require('./_object-keys-internal') , enumBugKeys = require('./_enum-bug-keys'); @@ -2062,17 +573,9 @@ var $keys = require('./_object-keys-internal') module.exports = Object.keys || function keys(O){ return $keys(O, enumBugKeys); }; -}).apply(this, arguments); - -},{"./_enum-bug-keys":31,"./_object-keys-internal":58}],60:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-pie.js", module); -(function(){ +},{"./_enum-bug-keys":18,"./_object-keys-internal":45}],47:[function(require,module,exports){ exports.f = {}.propertyIsEnumerable; -}).apply(this, arguments); - -},{}],61:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_object-sap.js", module); -(function(){ +},{}],48:[function(require,module,exports){ // most Object methods by ES6 should accept primitives var $export = require('./_export') , core = require('./_core') @@ -2083,11 +586,7 @@ module.exports = function(KEY, exec){ exp[KEY] = exec(fn); $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp); }; -}).apply(this, arguments); - -},{"./_core":26,"./_export":33,"./_fails":34}],62:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_property-desc.js", module); -(function(){ +},{"./_core":13,"./_export":20,"./_fails":21}],49:[function(require,module,exports){ module.exports = function(bitmap, value){ return { enumerable : !(bitmap & 1), @@ -2096,17 +595,9 @@ module.exports = function(bitmap, value){ value : value }; }; -}).apply(this, arguments); - -},{}],63:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_redefine.js", module); -(function(){ +},{}],50:[function(require,module,exports){ module.exports = require('./_hide'); -}).apply(this, arguments); - -},{"./_hide":37}],64:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_set-to-string-tag.js", module); -(function(){ +},{"./_hide":24}],51:[function(require,module,exports){ var def = require('./_object-dp').f , has = require('./_has') , TAG = require('./_wks')('toStringTag'); @@ -2114,32 +605,20 @@ var def = require('./_object-dp').f module.exports = function(it, tag, stat){ if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag}); }; -}).apply(this, arguments); - -},{"./_has":36,"./_object-dp":51,"./_wks":77}],65:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_shared-key.js", module); -(function(){ +},{"./_has":23,"./_object-dp":38,"./_wks":64}],52:[function(require,module,exports){ var shared = require('./_shared')('keys') , uid = require('./_uid'); module.exports = function(key){ return shared[key] || (shared[key] = uid(key)); }; -}).apply(this, arguments); - -},{"./_shared":66,"./_uid":74}],66:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_shared.js", module); -(function(){ +},{"./_shared":53,"./_uid":61}],53:[function(require,module,exports){ var global = require('./_global') , SHARED = '__core-js_shared__' , store = global[SHARED] || (global[SHARED] = {}); module.exports = function(key){ return store[key] || (store[key] = {}); }; -}).apply(this, arguments); - -},{"./_global":35}],67:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_string-at.js", module); -(function(){ +},{"./_global":22}],54:[function(require,module,exports){ var toInteger = require('./_to-integer') , defined = require('./_defined'); // true -> String#at @@ -2157,11 +636,7 @@ module.exports = function(TO_STRING){ : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; }; -}).apply(this, arguments); - -},{"./_defined":28,"./_to-integer":69}],68:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_to-index.js", module); -(function(){ +},{"./_defined":15,"./_to-integer":56}],55:[function(require,module,exports){ var toInteger = require('./_to-integer') , max = Math.max , min = Math.min; @@ -2169,54 +644,34 @@ module.exports = function(index, length){ index = toInteger(index); return index < 0 ? max(index + length, 0) : min(index, length); }; -}).apply(this, arguments); - -},{"./_to-integer":69}],69:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_to-integer.js", module); -(function(){ +},{"./_to-integer":56}],56:[function(require,module,exports){ // 7.1.4 ToInteger var ceil = Math.ceil , floor = Math.floor; module.exports = function(it){ return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); }; -}).apply(this, arguments); - -},{}],70:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_to-iobject.js", module); -(function(){ +},{}],57:[function(require,module,exports){ // to indexed object, toObject with fallback for non-array-like ES3 strings var IObject = require('./_iobject') , defined = require('./_defined'); module.exports = function(it){ return IObject(defined(it)); }; -}).apply(this, arguments); - -},{"./_defined":28,"./_iobject":40}],71:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_to-length.js", module); -(function(){ +},{"./_defined":15,"./_iobject":27}],58:[function(require,module,exports){ // 7.1.15 ToLength var toInteger = require('./_to-integer') , min = Math.min; module.exports = function(it){ return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 }; -}).apply(this, arguments); - -},{"./_to-integer":69}],72:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_to-object.js", module); -(function(){ +},{"./_to-integer":56}],59:[function(require,module,exports){ // 7.1.13 ToObject(argument) var defined = require('./_defined'); module.exports = function(it){ return Object(defined(it)); }; -}).apply(this, arguments); - -},{"./_defined":28}],73:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_to-primitive.js", module); -(function(){ +},{"./_defined":15}],60:[function(require,module,exports){ // 7.1.1 ToPrimitive(input [, PreferredType]) var isObject = require('./_is-object'); // instead of the ES6 spec version, we didn't implement @@toPrimitive case @@ -2229,21 +684,13 @@ module.exports = function(it, S){ if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; throw TypeError("Can't convert object to primitive value"); }; -}).apply(this, arguments); - -},{"./_is-object":42}],74:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_uid.js", module); -(function(){ +},{"./_is-object":29}],61:[function(require,module,exports){ var id = 0 , px = Math.random(); module.exports = function(key){ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); }; -}).apply(this, arguments); - -},{}],75:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_wks-define.js", module); -(function(){ +},{}],62:[function(require,module,exports){ var global = require('./_global') , core = require('./_core') , LIBRARY = require('./_library') @@ -2253,17 +700,9 @@ module.exports = function(name){ var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)}); }; -}).apply(this, arguments); - -},{"./_core":26,"./_global":35,"./_library":48,"./_object-dp":51,"./_wks-ext":76}],76:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_wks-ext.js", module); -(function(){ +},{"./_core":13,"./_global":22,"./_library":35,"./_object-dp":38,"./_wks-ext":63}],63:[function(require,module,exports){ exports.f = require('./_wks'); -}).apply(this, arguments); - -},{"./_wks":77}],77:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/_wks.js", module); -(function(){ +},{"./_wks":64}],64:[function(require,module,exports){ var store = require('./_shared')('wks') , uid = require('./_uid') , Symbol = require('./_global').Symbol @@ -2275,11 +714,7 @@ var $exports = module.exports = function(name){ }; $exports.store = store; -}).apply(this, arguments); - -},{"./_global":35,"./_shared":66,"./_uid":74}],78:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/es6.array.iterator.js", module); -(function(){ +},{"./_global":22,"./_shared":53,"./_uid":61}],65:[function(require,module,exports){ 'use strict'; var addToUnscopables = require('./_add-to-unscopables') , step = require('./_iter-step') @@ -2314,11 +749,7 @@ Iterators.Arguments = Iterators.Array; addToUnscopables('keys'); addToUnscopables('values'); addToUnscopables('entries'); -}).apply(this, arguments); - -},{"./_add-to-unscopables":22,"./_iter-define":44,"./_iter-step":45,"./_iterators":46,"./_to-iobject":70}],79:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/es6.object.keys.js", module); -(function(){ +},{"./_add-to-unscopables":9,"./_iter-define":31,"./_iter-step":32,"./_iterators":33,"./_to-iobject":57}],66:[function(require,module,exports){ // 19.1.2.14 Object.keys(O) var toObject = require('./_to-object') , $keys = require('./_object-keys'); @@ -2328,17 +759,9 @@ require('./_object-sap')('keys', function(){ return $keys(toObject(it)); }; }); -}).apply(this, arguments); +},{"./_object-keys":46,"./_object-sap":48,"./_to-object":59}],67:[function(require,module,exports){ -},{"./_object-keys":59,"./_object-sap":61,"./_to-object":72}],80:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/es6.object.to-string.js", module); -(function(){ - -}).apply(this, arguments); - -},{}],81:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/es6.string.iterator.js", module); -(function(){ +},{}],68:[function(require,module,exports){ 'use strict'; var $at = require('./_string-at')(true); @@ -2356,11 +779,7 @@ require('./_iter-define')(String, 'String', function(iterated){ this._i += point.length; return {value: point, done: false}; }); -}).apply(this, arguments); - -},{"./_iter-define":44,"./_string-at":67}],82:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/es6.symbol.js", module); -(function(){ +},{"./_iter-define":31,"./_string-at":54}],69:[function(require,module,exports){ 'use strict'; // ECMAScript 6 symbols shim var global = require('./_global') @@ -2596,23 +1015,11 @@ setToStringTag($Symbol, 'Symbol'); setToStringTag(Math, 'Math', true); // 24.3.3 JSON[@@toStringTag] setToStringTag(global.JSON, 'JSON', true); -}).apply(this, arguments); - -},{"./_an-object":23,"./_descriptors":29,"./_enum-keys":32,"./_export":33,"./_fails":34,"./_global":35,"./_has":36,"./_hide":37,"./_is-array":41,"./_keyof":47,"./_library":48,"./_meta":49,"./_object-create":50,"./_object-dp":51,"./_object-gopd":53,"./_object-gopn":55,"./_object-gopn-ext":54,"./_object-gops":56,"./_object-keys":59,"./_object-pie":60,"./_property-desc":62,"./_redefine":63,"./_set-to-string-tag":64,"./_shared":66,"./_to-iobject":70,"./_to-primitive":73,"./_uid":74,"./_wks":77,"./_wks-define":75,"./_wks-ext":76}],83:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/es7.symbol.async-iterator.js", module); -(function(){ +},{"./_an-object":10,"./_descriptors":16,"./_enum-keys":19,"./_export":20,"./_fails":21,"./_global":22,"./_has":23,"./_hide":24,"./_is-array":28,"./_keyof":34,"./_library":35,"./_meta":36,"./_object-create":37,"./_object-dp":38,"./_object-gopd":40,"./_object-gopn":42,"./_object-gopn-ext":41,"./_object-gops":43,"./_object-keys":46,"./_object-pie":47,"./_property-desc":49,"./_redefine":50,"./_set-to-string-tag":51,"./_shared":53,"./_to-iobject":57,"./_to-primitive":60,"./_uid":61,"./_wks":64,"./_wks-define":62,"./_wks-ext":63}],70:[function(require,module,exports){ require('./_wks-define')('asyncIterator'); -}).apply(this, arguments); - -},{"./_wks-define":75}],84:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/es7.symbol.observable.js", module); -(function(){ +},{"./_wks-define":62}],71:[function(require,module,exports){ require('./_wks-define')('observable'); -}).apply(this, arguments); - -},{"./_wks-define":75}],85:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/core-js/library/modules/web.dom.iterable.js", module); -(function(){ +},{"./_wks-define":62}],72:[function(require,module,exports){ require('./es6.array.iterator'); var global = require('./_global') , hide = require('./_hide') @@ -2626,9911 +1033,8 @@ for(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList' if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME); Iterators[NAME] = Iterators.Array; } -}).apply(this, arguments); - -},{"./_global":35,"./_hide":37,"./_iterators":46,"./_wks":77,"./es6.array.iterator":78}],86:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/debug/browser.js", module); -(function(){ - -/** - * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = require('./debug'); -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); - -/** - * Colors. - */ - -exports.colors = [ - 'lightseagreen', - 'forestgreen', - 'goldenrod', - 'dodgerblue', - 'darkorchid', - 'crimson' -]; - -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -function useColors() { - // is webkit? http://stackoverflow.com/a/16459606/376773 - return ('WebkitAppearance' in document.documentElement.style) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (window.console && (console.firebug || (console.exception && console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31); -} - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -exports.formatters.j = function(v) { - return JSON.stringify(v); -}; - - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs() { - var args = arguments; - var useColors = this.useColors; - - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - - if (!useColors) return args; - - var c = 'color: ' + this.color; - args = [args[0], c, 'color: inherit'].concat(Array.prototype.slice.call(args, 1)); - - // the final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - var index = 0; - var lastC = 0; - args[0].replace(/%[a-z%]/g, function(match) { - if ('%%' === match) return; - index++; - if ('%c' === match) { - // we only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - - args.splice(lastC, 0, c); - return args; -} - -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - try { - if (null == namespaces) { - exports.storage.removeItem('debug'); - } else { - exports.storage.debug = namespaces; - } - } catch(e) {} -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - var r; - try { - r = exports.storage.debug; - } catch(e) {} - return r; -} - -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); - -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - -function localstorage(){ - try { - return window.localStorage; - } catch (e) {} -} - -}).apply(this, arguments); - -},{"./debug":87}],87:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/debug/debug.js", module); -(function(){ - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = debug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = require('ms'); - -/** - * The currently active debug mode names, and names to skip. - */ - -exports.names = []; -exports.skips = []; - -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lowercased letter, i.e. "n". - */ - -exports.formatters = {}; - -/** - * Previously assigned color. - */ - -var prevColor = 0; - -/** - * Previous log timestamp. - */ - -var prevTime; - -/** - * Select a color. - * - * @return {Number} - * @api private - */ - -function selectColor() { - return exports.colors[prevColor++ % exports.colors.length]; -} - -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - -function debug(namespace) { - - // define the `disabled` version - function disabled() { - } - disabled.enabled = false; - - // define the `enabled` version - function enabled() { - - var self = enabled; - - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - // add the `color` if not set - if (null == self.useColors) self.useColors = exports.useColors(); - if (null == self.color && self.useColors) self.color = selectColor(); - - var args = Array.prototype.slice.call(arguments); - - args[0] = exports.coerce(args[0]); - - if ('string' !== typeof args[0]) { - // anything else let's inspect with %o - args = ['%o'].concat(args); - } - - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - if ('function' === typeof exports.formatArgs) { - args = exports.formatArgs.apply(self, args); - } - var logFn = enabled.log || exports.log || console.log.bind(console); - logFn.apply(self, args); - } - enabled.enabled = true; - - var fn = exports.enabled(namespace) ? enabled : disabled; - - fn.namespace = namespace; - - return fn; -} - -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - -function enable(namespaces) { - exports.save(namespaces); - - var split = (namespaces || '').split(/[\s,]+/); - var len = split.length; - - for (var i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); - } - } -} - -/** - * Disable debug output. - * - * @api public - */ - -function disable() { - exports.enable(''); -} - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -function enabled(name) { - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } - } - return false; -} - -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} - -}).apply(this, arguments); - -},{"ms":174}],88:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/engine.io-client/index.js", module); -(function(){ - -module.exports = require('./lib/'); - -}).apply(this, arguments); - -},{"./lib/":89}],89:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/engine.io-client/lib/index.js", module); -(function(){ - -module.exports = require('./socket'); - -/** - * Exports parser - * - * @api public - * - */ -module.exports.parser = require('engine.io-parser'); - -}).apply(this, arguments); - -},{"./socket":90,"engine.io-parser":98}],90:[function(require,module,exports){ -_hmr["websocket:null"].initModule("node_modules/engine.io-client/lib/socket.js", module); -(function(){ +},{"./_global":22,"./_hide":24,"./_iterators":33,"./_wks":64,"./es6.array.iterator":65}],73:[function(require,module,exports){ (function (global){ -/** - * Module dependencies. - */ - -var transports = require('./transports'); -var Emitter = require('component-emitter'); -var debug = require('debug')('engine.io-client:socket'); -var index = require('indexof'); -var parser = require('engine.io-parser'); -var parseuri = require('parseuri'); -var parsejson = require('parsejson'); -var parseqs = require('parseqs'); - -/** - * Module exports. - */ - -module.exports = Socket; - -/** - * Noop function. - * - * @api private - */ - -function noop(){} - -/** - * Socket constructor. - * - * @param {String|Object} uri or options - * @param {Object} options - * @api public - */ - -function Socket(uri, opts){ - if (!(this instanceof Socket)) return new Socket(uri, opts); - - opts = opts || {}; - - if (uri && 'object' == typeof uri) { - opts = uri; - uri = null; - } - - if (uri) { - uri = parseuri(uri); - opts.hostname = uri.host; - opts.secure = uri.protocol == 'https' || uri.protocol == 'wss'; - opts.port = uri.port; - if (uri.query) opts.query = uri.query; - } else if (opts.host) { - opts.hostname = parseuri(opts.host).host; - } - - this.secure = null != opts.secure ? opts.secure : - (global.location && 'https:' == location.protocol); - - if (opts.hostname && !opts.port) { - // if no port is specified manually, use the protocol default - opts.port = this.secure ? '443' : '80'; - } - - this.agent = opts.agent || false; - this.hostname = opts.hostname || - (global.location ? location.hostname : 'localhost'); - this.port = opts.port || (global.location && location.port ? - location.port : - (this.secure ? 443 : 80)); - this.query = opts.query || {}; - if ('string' == typeof this.query) this.query = parseqs.decode(this.query); - this.upgrade = false !== opts.upgrade; - this.path = (opts.path || '/engine.io').replace(/\/$/, '') + '/'; - this.forceJSONP = !!opts.forceJSONP; - this.jsonp = false !== opts.jsonp; - this.forceBase64 = !!opts.forceBase64; - this.enablesXDR = !!opts.enablesXDR; - this.timestampParam = opts.timestampParam || 't'; - this.timestampRequests = opts.timestampRequests; - this.transports = opts.transports || ['polling', 'websocket']; - this.readyState = ''; - this.writeBuffer = []; - this.policyPort = opts.policyPort || 843; - this.rememberUpgrade = opts.rememberUpgrade || false; - this.binaryType = null; - this.onlyBinaryUpgrades = opts.onlyBinaryUpgrades; - this.perMessageDeflate = false !== opts.perMessageDeflate ? (opts.perMessageDeflate || {}) : false; - - if (true === this.perMessageDeflate) this.perMessageDeflate = {}; - if (this.perMessageDeflate && null == this.perMessageDeflate.threshold) { - this.perMessageDeflate.threshold = 1024; - } - - // SSL options for Node.js client - this.pfx = opts.pfx || null; - this.key = opts.key || null; - this.passphrase = opts.passphrase || null; - this.cert = opts.cert || null; - this.ca = opts.ca || null; - this.ciphers = opts.ciphers || null; - this.rejectUnauthorized = opts.rejectUnauthorized === undefined ? true : opts.rejectUnauthorized; - - // other options for Node.js client - var freeGlobal = typeof global == 'object' && global; - if (freeGlobal.global === freeGlobal) { - if (opts.extraHeaders && Object.keys(opts.extraHeaders).length > 0) { - this.extraHeaders = opts.extraHeaders; - } - } - - this.open(); -} - -Socket.priorWebsocketSuccess = false; - -/** - * Mix in `Emitter`. - */ - -Emitter(Socket.prototype); - -/** - * Protocol version. - * - * @api public - */ - -Socket.protocol = parser.protocol; // this is an int - -/** - * Expose deps for legacy compatibility - * and standalone browser access. - */ - -Socket.Socket = Socket; -Socket.Transport = require('./transport'); -Socket.transports = require('./transports'); -Socket.parser = require('engine.io-parser'); - -/** - * Creates transport of the given type. - * - * @param {String} transport name - * @return {Transport} - * @api private - */ - -Socket.prototype.createTransport = function (name) { - debug('creating transport "%s"', name); - var query = clone(this.query); - - // append engine.io protocol identifier - query.EIO = parser.protocol; - - // transport name - query.transport = name; - - // session id if we already have one - if (this.id) query.sid = this.id; - - var transport = new transports[name]({ - agent: this.agent, - hostname: this.hostname, - port: this.port, - secure: this.secure, - path: this.path, - query: query, - forceJSONP: this.forceJSONP, - jsonp: this.jsonp, - forceBase64: this.forceBase64, - enablesXDR: this.enablesXDR, - timestampRequests: this.timestampRequests, - timestampParam: this.timestampParam, - policyPort: this.policyPort, - socket: this, - pfx: this.pfx, - key: this.key, - passphrase: this.passphrase, - cert: this.cert, - ca: this.ca, - ciphers: this.ciphers, - rejectUnauthorized: this.rejectUnauthorized, - perMessageDeflate: this.perMessageDeflate, - extraHeaders: this.extraHeaders - }); - - return transport; -}; - -function clone (obj) { - var o = {}; - for (var i in obj) { - if (obj.hasOwnProperty(i)) { - o[i] = obj[i]; - } - } - return o; -} - -/** - * Initializes transport to use and starts probe. - * - * @api private - */ -Socket.prototype.open = function () { - var transport; - if (this.rememberUpgrade && Socket.priorWebsocketSuccess && this.transports.indexOf('websocket') != -1) { - transport = 'websocket'; - } else if (0 === this.transports.length) { - // Emit error on next tick so it can be listened to - var self = this; - setTimeout(function() { - self.emit('error', 'No transports available'); - }, 0); - return; - } else { - transport = this.transports[0]; - } - this.readyState = 'opening'; - - // Retry with the next transport if the transport is disabled (jsonp: false) - try { - transport = this.createTransport(transport); - } catch (e) { - this.transports.shift(); - this.open(); - return; - } - - transport.open(); - this.setTransport(transport); -}; - -/** - * Sets the current transport. Disables the existing one (if any). - * - * @api private - */ - -Socket.prototype.setTransport = function(transport){ - debug('setting transport %s', transport.name); - var self = this; - - if (this.transport) { - debug('clearing existing transport %s', this.transport.name); - this.transport.removeAllListeners(); - } - - // set up transport - this.transport = transport; - - // set up transport listeners - transport - .on('drain', function(){ - self.onDrain(); - }) - .on('packet', function(packet){ - self.onPacket(packet); - }) - .on('error', function(e){ - self.onError(e); - }) - .on('close', function(){ - self.onClose('transport close'); - }); -}; - -/** - * Probes a transport. - * - * @param {String} transport name - * @api private - */ - -Socket.prototype.probe = function (name) { - debug('probing transport "%s"', name); - var transport = this.createTransport(name, { probe: 1 }) - , failed = false - , self = this; - - Socket.priorWebsocketSuccess = false; - - function onTransportOpen(){ - if (self.onlyBinaryUpgrades) { - var upgradeLosesBinary = !this.supportsBinary && self.transport.supportsBinary; - failed = failed || upgradeLosesBinary; - } - if (failed) return; - - debug('probe transport "%s" opened', name); - transport.send([{ type: 'ping', data: 'probe' }]); - transport.once('packet', function (msg) { - if (failed) return; - if ('pong' == msg.type && 'probe' == msg.data) { - debug('probe transport "%s" pong', name); - self.upgrading = true; - self.emit('upgrading', transport); - if (!transport) return; - Socket.priorWebsocketSuccess = 'websocket' == transport.name; - - debug('pausing current transport "%s"', self.transport.name); - self.transport.pause(function () { - if (failed) return; - if ('closed' == self.readyState) return; - debug('changing transport and sending upgrade packet'); - - cleanup(); - - self.setTransport(transport); - transport.send([{ type: 'upgrade' }]); - self.emit('upgrade', transport); - transport = null; - self.upgrading = false; - self.flush(); - }); - } else { - debug('probe transport "%s" failed', name); - var err = new Error('probe error'); - err.transport = transport.name; - self.emit('upgradeError', err); - } - }); - } - - function freezeTransport() { - if (failed) return; - - // Any callback called by transport should be ignored since now - failed = true; - - cleanup(); - - transport.close(); - transport = null; - } - - //Handle any error that happens while probing - function onerror(err) { - var error = new Error('probe error: ' + err); - error.transport = transport.name; - - freezeTransport(); - - debug('probe transport "%s" failed because of error: %s', name, err); - - self.emit('upgradeError', error); - } - - function onTransportClose(){ - onerror("transport closed"); - } - - //When the socket is closed while we're probing - function onclose(){ - onerror("socket closed"); - } - - //When the socket is upgraded while we're probing - function onupgrade(to){ - if (transport && to.name != transport.name) { - debug('"%s" works - aborting "%s"', to.name, transport.name); - freezeTransport(); - } - } - - //Remove all listeners on the transport and on self - function cleanup(){ - transport.removeListener('open', onTransportOpen); - transport.removeListener('error', onerror); - transport.removeListener('close', onTransportClose); - self.removeListener('close', onclose); - self.removeListener('upgrading', onupgrade); - } - - transport.once('open', onTransportOpen); - transport.once('error', onerror); - transport.once('close', onTransportClose); - - this.once('close', onclose); - this.once('upgrading', onupgrade); - - transport.open(); - -}; - -/** - * Called when connection is deemed open. - * - * @api public - */ - -Socket.prototype.onOpen = function () { - debug('socket open'); - this.readyState = 'open'; - Socket.priorWebsocketSuccess = 'websocket' == this.transport.name; - this.emit('open'); - this.flush(); - - // we check for `readyState` in case an `open` - // listener already closed the socket - if ('open' == this.readyState && this.upgrade && this.transport.pause) { - debug('starting upgrade probes'); - for (var i = 0, l = this.upgrades.length; i < l; i++) { - this.probe(this.upgrades[i]); - } - } -}; - -/** - * Handles a packet. - * - * @api private - */ - -Socket.prototype.onPacket = function (packet) { - if ('opening' == this.readyState || 'open' == this.readyState) { - debug('socket receive: type "%s", data "%s"', packet.type, packet.data); - - this.emit('packet', packet); - - // Socket is live - any packet counts - this.emit('heartbeat'); - - switch (packet.type) { - case 'open': - this.onHandshake(parsejson(packet.data)); - break; - - case 'pong': - this.setPing(); - this.emit('pong'); - break; - - case 'error': - var err = new Error('server error'); - err.code = packet.data; - this.onError(err); - break; - - case 'message': - this.emit('data', packet.data); - this.emit('message', packet.data); - break; - } - } else { - debug('packet received with socket readyState "%s"', this.readyState); - } -}; - -/** - * Called upon handshake completion. - * - * @param {Object} handshake obj - * @api private - */ - -Socket.prototype.onHandshake = function (data) { - this.emit('handshake', data); - this.id = data.sid; - this.transport.query.sid = data.sid; - this.upgrades = this.filterUpgrades(data.upgrades); - this.pingInterval = data.pingInterval; - this.pingTimeout = data.pingTimeout; - this.onOpen(); - // In case open handler closes socket - if ('closed' == this.readyState) return; - this.setPing(); - - // Prolong liveness of socket on heartbeat - this.removeListener('heartbeat', this.onHeartbeat); - this.on('heartbeat', this.onHeartbeat); -}; - -/** - * Resets ping timeout. - * - * @api private - */ - -Socket.prototype.onHeartbeat = function (timeout) { - clearTimeout(this.pingTimeoutTimer); - var self = this; - self.pingTimeoutTimer = setTimeout(function () { - if ('closed' == self.readyState) return; - self.onClose('ping timeout'); - }, timeout || (self.pingInterval + self.pingTimeout)); -}; - -/** - * Pings server every `this.pingInterval` and expects response - * within `this.pingTimeout` or closes connection. - * - * @api private - */ - -Socket.prototype.setPing = function () { - var self = this; - clearTimeout(self.pingIntervalTimer); - self.pingIntervalTimer = setTimeout(function () { - debug('writing ping packet - expecting pong within %sms', self.pingTimeout); - self.ping(); - self.onHeartbeat(self.pingTimeout); - }, self.pingInterval); -}; - -/** -* Sends a ping packet. -* -* @api private -*/ - -Socket.prototype.ping = function () { - var self = this; - this.sendPacket('ping', function(){ - self.emit('ping'); - }); -}; - -/** - * Called on `drain` event - * - * @api private - */ - -Socket.prototype.onDrain = function() { - this.writeBuffer.splice(0, this.prevBufferLen); - - // setting prevBufferLen = 0 is very important - // for example, when upgrading, upgrade packet is sent over, - // and a nonzero prevBufferLen could cause problems on `drain` - this.prevBufferLen = 0; - - if (0 === this.writeBuffer.length) { - this.emit('drain'); - } else { - this.flush(); - } -}; - -/** - * Flush write buffers. - * - * @api private - */ - -Socket.prototype.flush = function () { - if ('closed' != this.readyState && this.transport.writable && - !this.upgrading && this.writeBuffer.length) { - debug('flushing %d packets in socket', this.writeBuffer.length); - this.transport.send(this.writeBuffer); - // keep track of current length of writeBuffer - // splice writeBuffer and callbackBuffer on `drain` - this.prevBufferLen = this.writeBuffer.length; - this.emit('flush'); - } -}; - -/** - * Sends a message. - * - * @param {String} message. - * @param {Function} callback function. - * @param {Object} options. - * @return {Socket} for chaining. - * @api public - */ - -Socket.prototype.write = -Socket.prototype.send = function (msg, options, fn) { - this.sendPacket('message', msg, options, fn); - return this; -}; - -/** - * Sends a packet. - * - * @param {String} packet type. - * @param {String} data. - * @param {Object} options. - * @param {Function} callback function. - * @api private - */ - -Socket.prototype.sendPacket = function (type, data, options, fn) { - if('function' == typeof data) { - fn = data; - data = undefined; - } - - if ('function' == typeof options) { - fn = options; - options = null; - } - - if ('closing' == this.readyState || 'closed' == this.readyState) { - return; - } - - options = options || {}; - options.compress = false !== options.compress; - - var packet = { - type: type, - data: data, - options: options - }; - this.emit('packetCreate', packet); - this.writeBuffer.push(packet); - if (fn) this.once('flush', fn); - this.flush(); -}; - -/** - * Closes the connection. - * - * @api private - */ - -Socket.prototype.close = function () { - if ('opening' == this.readyState || 'open' == this.readyState) { - this.readyState = 'closing'; - - var self = this; - - if (this.writeBuffer.length) { - this.once('drain', function() { - if (this.upgrading) { - waitForUpgrade(); - } else { - close(); - } - }); - } else if (this.upgrading) { - waitForUpgrade(); - } else { - close(); - } - } - - function close() { - self.onClose('forced close'); - debug('socket closing - telling transport to close'); - self.transport.close(); - } - - function cleanupAndClose() { - self.removeListener('upgrade', cleanupAndClose); - self.removeListener('upgradeError', cleanupAndClose); - close(); - } - - function waitForUpgrade() { - // wait for upgrade to finish since we can't send packets while pausing a transport - self.once('upgrade', cleanupAndClose); - self.once('upgradeError', cleanupAndClose); - } - - return this; -}; - -/** - * Called upon transport error - * - * @api private - */ - -Socket.prototype.onError = function (err) { - debug('socket error %j', err); - Socket.priorWebsocketSuccess = false; - this.emit('error', err); - this.onClose('transport error', err); -}; - -/** - * Called upon transport close. - * - * @api private - */ - -Socket.prototype.onClose = function (reason, desc) { - if ('opening' == this.readyState || 'open' == this.readyState || 'closing' == this.readyState) { - debug('socket close with reason: "%s"', reason); - var self = this; - - // clear timers - clearTimeout(this.pingIntervalTimer); - clearTimeout(this.pingTimeoutTimer); - - // stop event from firing again for transport - this.transport.removeAllListeners('close'); - - // ensure transport won't stay open - this.transport.close(); - - // ignore further transport communication - this.transport.removeAllListeners(); - - // set ready state - this.readyState = 'closed'; - - // clear session id - this.id = null; - - // emit close event - this.emit('close', reason, desc); - - // clean buffers after, so users can still - // grab the buffers on `close` event - self.writeBuffer = []; - self.prevBufferLen = 0; - } -}; - -/** - * Filters upgrades, returning only those matching client transports. - * - * @param {Array} server upgrades - * @api private - * - */ - -Socket.prototype.filterUpgrades = function (upgrades) { - var filteredUpgrades = []; - for (var i = 0, j = upgrades.length; i