diff --git a/CHANGELOG.md b/CHANGELOG.md index a732e6d..b15623b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ## v0.3.0 (unreleased) -* Add methods: `getEmbedConfig`, `setEditorConfig` +* Add methods: `getEmbedConfig`, `setEditorConfig`, `edit` +* Add events: `edit` ## v0.2.0 diff --git a/README.md b/README.md index c519a57..cb9ac3a 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,7 @@ When instantiating `Flat.Embed`, you can pass options in the second parameter. I * [`setAutoZoom`](#setautozoomboolean-promiseboolean-error): Enable or disable the auto-zoom mode * [Editor Methods](#editor-methods) * [`setEditorConfig`](#seteditorconfigconfig-object-promiseobject-error): Set the config of the editor + * [`edit`](#editoperations-object-promisevoid-error): Make a modification to the document * [Events API](#events-api) * [`scoreLoaded`](#event-scoreLoaded): A new score has been loaded * [`cursorPosition`](#event-cursorposition): The cursor position changed @@ -108,6 +109,7 @@ When instantiating `Flat.Embed`, you can pass options in the second parameter. I * [`pause`](#event-pause): The score playback paused * [`stop`](#event-stop): The score playback stopped * [`playbackPosition`](#event-playbackposition): The playback slider position changed + * [`edit`](#event-edit): An edition has been made to the document ## Viewer Methods @@ -382,9 +384,20 @@ embed.setAutoZoom(false).then(function (state) { ## Editor Methods +You can enable the editor mode by setting the `mode` to `edit` when creating the embed: + +```js +var embed = new Flat.Embed(container, { + embedParams: { + appId: '', + modeL 'edit' + } +}); +``` + ### `setEditorConfig(config: object): Promise` -Set a new config for the editor (e.g. the different tools available in the embed). +Set a new config for the editor (e.g. the different tools available in the embed). This one will be used at the next loading score. ```js // For example: hide the Articulation mode, and only display the durations tools in the Note mode @@ -399,6 +412,20 @@ embed.setEditorConfig({ }); ``` +### `edit(operations: object): Promise` + +Process some edit operations using one of our internal editing method. Feel free to [contact our developers support](mailto:developers@flat.io) to get more information about the operations available. + +```js +embed.edit([ + { name: 'action.SetTitle', opts: { title: 'I <3 Flat'} } +]).then(function () { + // The actions have been executed +}).catch(function (error) { + // Error while executing the actions +}); +``` + ## Events API Events are broadcasted following actions made by the end user or you with the JavaScript API. You can subscribe to an event using the method [`on`](#onevent-string-callback-function-void), and unsubscribe using [`off`](#onevent-string-callback-function-void). When an event includes some data, this data will be available in the first parameter of the listener callback. @@ -477,3 +504,25 @@ This event is triggered when the playback slider moves. It is usually triggered "timePerMeasure": 2 } ``` + +### Event: `edit` + +This event is triggered when one or multiple modifications ave been made to the document. This one will contain a list of operations made: + +```json +[ + { + "name": "action.SetTempo", + "opts": { + "startMeasureIdx": 0, + "stopMeasureIdx": 1, + "tempo": { + "bpm": 142, + "qpm": 142, + "durationType": 3, + "nbDots": 0 + } + } + } +] +``` diff --git a/dist/embed.js b/dist/embed.js index 4dbbb17..04798cd 100644 --- a/dist/embed.js +++ b/dist/embed.js @@ -1,4 +1,4 @@ -/*! flat-embed v0.2.0 | (c) 2017 Tutteo Ltd. (Flat) | Apache-2.0 License | https://github.com/FlatIO/embed-client */ +/*! flat-embed v0.3.0 | (c) 2017 Tutteo Ltd. (Flat) | Apache-2.0 License | https://github.com/FlatIO/embed-client */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : @@ -2516,6 +2516,18 @@ var Embed = function () { value: function setAutoZoom(state) { return this.call('setAutoZoom', state); } + + /** + * Call Flat's internal edit methods + * + * @param {operations} The operations to process + */ + + }, { + key: 'edit', + value: function edit(operations) { + return this.call('edit', operations); + } }]); return Embed; diff --git a/dist/embed.js.map b/dist/embed.js.map index 700b1ff..8cd9f26 100644 --- a/dist/embed.js.map +++ b/dist/embed.js.map @@ -1 +1 @@ -{"version":3,"file":"embed.js.map","sources":["../node_modules/core-js/library/modules/_to-integer.js","../node_modules/core-js/library/modules/_defined.js","../node_modules/core-js/library/modules/_string-at.js","../node_modules/core-js/library/modules/_library.js","../node_modules/core-js/library/modules/_global.js","../node_modules/core-js/library/modules/_core.js","../node_modules/core-js/library/modules/_a-function.js","../node_modules/core-js/library/modules/_ctx.js","../node_modules/core-js/library/modules/_is-object.js","../node_modules/core-js/library/modules/_an-object.js","../node_modules/core-js/library/modules/_fails.js","../node_modules/core-js/library/modules/_descriptors.js","../node_modules/core-js/library/modules/_dom-create.js","../node_modules/core-js/library/modules/_ie8-dom-define.js","../node_modules/core-js/library/modules/_to-primitive.js","../node_modules/core-js/library/modules/_object-dp.js","../node_modules/core-js/library/modules/_property-desc.js","../node_modules/core-js/library/modules/_hide.js","../node_modules/core-js/library/modules/_export.js","../node_modules/core-js/library/modules/_redefine.js","../node_modules/core-js/library/modules/_has.js","../node_modules/core-js/library/modules/_iterators.js","../node_modules/core-js/library/modules/_cof.js","../node_modules/core-js/library/modules/_iobject.js","../node_modules/core-js/library/modules/_to-iobject.js","../node_modules/core-js/library/modules/_to-length.js","../node_modules/core-js/library/modules/_to-index.js","../node_modules/core-js/library/modules/_array-includes.js","../node_modules/core-js/library/modules/_shared.js","../node_modules/core-js/library/modules/_uid.js","../node_modules/core-js/library/modules/_shared-key.js","../node_modules/core-js/library/modules/_object-keys-internal.js","../node_modules/core-js/library/modules/_enum-bug-keys.js","../node_modules/core-js/library/modules/_object-keys.js","../node_modules/core-js/library/modules/_object-dps.js","../node_modules/core-js/library/modules/_html.js","../node_modules/core-js/library/modules/_object-create.js","../node_modules/core-js/library/modules/_wks.js","../node_modules/core-js/library/modules/_set-to-string-tag.js","../node_modules/core-js/library/modules/_iter-create.js","../node_modules/core-js/library/modules/_to-object.js","../node_modules/core-js/library/modules/_object-gpo.js","../node_modules/core-js/library/modules/_iter-define.js","../node_modules/core-js/library/modules/es6.string.iterator.js","../node_modules/core-js/library/modules/_add-to-unscopables.js","../node_modules/core-js/library/modules/_iter-step.js","../node_modules/core-js/library/modules/es6.array.iterator.js","../node_modules/core-js/library/modules/web.dom.iterable.js","../node_modules/core-js/library/modules/_wks-ext.js","../node_modules/core-js/library/fn/symbol/iterator.js","../node_modules/babel-runtime/core-js/symbol/iterator.js","../node_modules/core-js/library/modules/_meta.js","../node_modules/core-js/library/modules/_wks-define.js","../node_modules/core-js/library/modules/_keyof.js","../node_modules/core-js/library/modules/_object-gops.js","../node_modules/core-js/library/modules/_object-pie.js","../node_modules/core-js/library/modules/_enum-keys.js","../node_modules/core-js/library/modules/_is-array.js","../node_modules/core-js/library/modules/_object-gopn.js","../node_modules/core-js/library/modules/_object-gopn-ext.js","../node_modules/core-js/library/modules/_object-gopd.js","../node_modules/core-js/library/modules/es6.symbol.js","../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../node_modules/core-js/library/modules/es7.symbol.observable.js","../node_modules/core-js/library/fn/symbol/index.js","../node_modules/babel-runtime/core-js/symbol.js","../node_modules/babel-runtime/helpers/typeof.js","../node_modules/core-js/library/modules/_classof.js","../node_modules/core-js/library/modules/_an-instance.js","../node_modules/core-js/library/modules/_iter-call.js","../node_modules/core-js/library/modules/_is-array-iter.js","../node_modules/core-js/library/modules/core.get-iterator-method.js","../node_modules/core-js/library/modules/_for-of.js","../node_modules/core-js/library/modules/_species-constructor.js","../node_modules/core-js/library/modules/_invoke.js","../node_modules/core-js/library/modules/_task.js","../node_modules/core-js/library/modules/_microtask.js","../node_modules/core-js/library/modules/_redefine-all.js","../node_modules/core-js/library/modules/_set-species.js","../node_modules/core-js/library/modules/_iter-detect.js","../node_modules/core-js/library/modules/es6.promise.js","../node_modules/core-js/library/fn/promise.js","../node_modules/babel-runtime/core-js/promise.js","../node_modules/babel-runtime/helpers/classCallCheck.js","../node_modules/core-js/library/modules/es6.object.define-property.js","../node_modules/core-js/library/fn/object/define-property.js","../node_modules/babel-runtime/core-js/object/define-property.js","../node_modules/babel-runtime/helpers/createClass.js","../node_modules/core-js/library/modules/_array-species-constructor.js","../node_modules/core-js/library/modules/_array-species-create.js","../node_modules/core-js/library/modules/_array-methods.js","../node_modules/core-js/library/modules/_object-assign.js","../node_modules/core-js/library/modules/_collection-weak.js","../node_modules/core-js/library/modules/_collection.js","../node_modules/core-js/library/modules/es6.weak-map.js","../node_modules/core-js/library/fn/weak-map.js","../node_modules/babel-runtime/core-js/weak-map.js","../src/lib/compatibility.js","../src/lib/dom.js","../node_modules/core-js/library/modules/_object-sap.js","../node_modules/core-js/library/modules/es6.object.keys.js","../node_modules/core-js/library/fn/object/keys.js","../node_modules/babel-runtime/core-js/object/keys.js","../node_modules/core-js/library/modules/es6.object.assign.js","../node_modules/core-js/library/fn/object/assign.js","../node_modules/babel-runtime/core-js/object/assign.js","../src/lib/embed.js","../src/lib/communication.js","../src/lib/callback.js","../src/embed.js"],"sourcesContent":["// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","module.exports = true;","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","module.exports = require('./_hide');","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","module.exports = {};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","module.exports = require('./_global').document && document.documentElement;","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","module.exports = function(){ /* empty */ };","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}","exports.f = require('./_wks');","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","exports.f = Object.getOwnPropertySymbols;","exports.f = {}.propertyIsEnumerable;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 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\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","require('./_wks-define')('asyncIterator');","require('./_wks-define')('observable');","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};","var hide = require('./_hide');\nmodule.exports = function(target, src, safe){\n for(var key in src){\n if(safe && target[key])target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};","'use strict';\nvar global = require('./_global')\n , core = require('./_core')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nmodule.exports = require('../modules/_core').Promise;","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , meta = require('./_meta')\n , fails = require('./_fails')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , setToStringTag = require('./_set-to-string-tag')\n , dP = require('./_object-dp').f\n , each = require('./_array-methods')(0)\n , DESCRIPTORS = require('./_descriptors');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME, '_c');\n target._c = new Base;\n if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','),function(KEY){\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){\n anInstance(this, C, KEY);\n if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n if('size' in proto)dP(C.prototype, 'size', {\n get: function(){\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}","require('../modules/es6.object.to-string');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.weak-map');\nmodule.exports = require('../modules/_core').WeakMap;","module.exports = { \"default\": require(\"core-js/library/fn/weak-map\"), __esModule: true };","if (typeof window.postMessage === 'undefined') {\n throw new Error('The Flat Embed JS API is not supported in this browser');\n}\n","/**\n * Select and normalize the DOM element input\n *\n * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element\n * @return {(HTMLIFrameElement|HTMLElement)}\n */\nexport function normalizeElement(element) {\n if (window.jQuery && element instanceof window.jQuery) {\n element = element[0];\n }\n\n // Find an element by identifier\n if (typeof element === 'string') {\n element = document.getElementById(element);\n }\n\n // Check if a DOM element\n if (!(element instanceof window.HTMLElement)) {\n throw new TypeError('The first parameter must be an existing DOM element or an identifier.');\n }\n\n // The element is not an embed iframe?\n if (element.nodeName !== 'IFRAME') {\n // check if already present in the element\n const iframe = element.querySelector('iframe');\n if (iframe) {\n element = iframe;\n }\n }\n\n return element;\n}\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","/**\n * Build url for the new iframe\n *\n * @param {object} parameters\n */\nexport function buildIframeUrl(parameters) {\n let url = (parameters.baseUrl || 'https://flat.io/embed');\n\n // Score id or blank embed\n url += '/' + (parameters.score || 'blank');\n\n // Build qs parameters\n let urlParameters = Object.assign({\n jsapi: true\n }, parameters.embedParams);\n\n let qs = Object.keys(urlParameters)\n .map(k => `${encodeURIComponent(k)}=${encodeURIComponent(urlParameters[k])}`)\n .join('&');\n\n return url + '?' + qs;\n}\n\n/**\n * Create an iframe inside a specified element\n *\n * @param {HTMLElement} element\n * @param {object} parameters\n */\nexport function createEmbedIframe(element, parameters) {\n let url = buildIframeUrl(parameters);\n\n var iframe = document.createElement('iframe');\n iframe.setAttribute('src', url);\n iframe.setAttribute('width', parameters.width || '100%');\n iframe.setAttribute('height', parameters.height || '100%');\n iframe.setAttribute('allowfullscreen', true);\n iframe.setAttribute('frameborder', '0');\n\n element.appendChild(iframe);\n\n return iframe;\n}\n","/**\n * Send a message to the embed via postMessage\n *\n * @param {Embed} embed\n * @param {string} method The name of the method to call\n * @param {string} parameters The parameters to pass to the method\n */\nexport function postMessage(embed, method, parameters) {\n if (!embed.element.contentWindow || !embed.element.contentWindow.postMessage) {\n throw new Error('No `contentWindow` or `contentWindow.postMessage` avaialble on the element');\n }\n\n let message = {\n method,\n parameters\n };\n\n embed.element.contentWindow.postMessage(message, embed.origin);\n}\n\n/**\n * Parse a message received from postMessage\n *\n * @param {string|object} data The data received from postMessage\n * @return {object}\n */\nexport function parseMessage(data) {\n if (typeof data === 'string') {\n data = JSON.parse(data);\n }\n return data;\n}\n","\nclass EmbedCallback {\n constructor(embed) {\n this.embed = embed;\n this.promises = {};\n this.eventCallbacks = {};\n return this;\n }\n\n pushCall(name, resolve, reject) {\n this.promises[name] = this.promises[name] || [];\n this.promises[name].push({resolve, reject});\n }\n\n /**\n * Register a callback for a specified event\n *\n * @param {string} event The name of the event.\n * @param {function} callback The function to call when receiving an event\n * @return {boolen} `true` if it is the first subscriber, `false otherwise`\n */\n subscribeEvent(event, callback) {\n this.eventCallbacks[event] = this.eventCallbacks[event] || [];\n this.eventCallbacks[event].push(callback);\n return this.eventCallbacks[event].length === 1;\n }\n\n /**\n * Unregister a callback for a specified event\n *\n * @param {string} event The name of the event.\n * @param {function} [callback] The function to call when receiving an event\n * @return {boolen} `true` if it is the last subscriber, `false otherwise`\n */\n unsubscribeEvent(event, callback) {\n // Was not subscribed\n if (!this.eventCallbacks[event]) {\n return false;\n }\n\n // If a callback is specified, unsub this one\n if (callback) {\n let idx = this.eventCallbacks[event].indexOf(callback);\n if (idx >= 0) {\n this.eventCallbacks[event].splice(idx, 1);\n }\n }\n // Unsub all\n else {\n this.eventCallbacks[event] = [];\n }\n\n return !callback || this.eventCallbacks[event].length === 0;\n }\n\n /**\n * Process a message received from postMessage\n *\n * @param {object} data The data received from postMessage\n */\n process(data) {\n if (data.method) {\n this.processMethodResponse(data);\n }\n else if (data.event) {\n this.processEvent(data);\n }\n }\n\n /**\n * Process a method response\n *\n * @param {object} data The data received from postMessage\n */\n processMethodResponse(data) {\n var promise = this.promises[data.method].shift();\n if (!promise) {\n return;\n }\n if (data.error) {\n promise.reject(data.error);\n }\n else {\n promise.resolve(data.response);\n }\n }\n\n /**\n * Process a receieved event\n *\n * @param {object} data The data received from postMessage\n */\n processEvent(data) {\n if (!this.eventCallbacks[data.event] ||\n this.eventCallbacks[data.event].length === 0) {\n return;\n }\n this.eventCallbacks[data.event].forEach((callback) => {\n callback.call(this.embed, data.parameters);\n });\n }\n}\n\nexport default EmbedCallback;\n","import './lib/compatibility';\n\nimport { normalizeElement } from './lib/dom';\nimport { createEmbedIframe } from './lib/embed';\nimport { postMessage, parseMessage } from './lib/communication';\nimport EmbedCallback from './lib/callback';\n\nconst embeds = new WeakMap();\nconst embedsReady = new WeakMap();\n\nclass Embed {\n /**\n * Create a new Flat Embed\n *\n * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element A reference to a Flat Embed iframe or a container for the new iframe\n * @param {object} [params] Parameters for the new iframe\n * @return {Embed}\n */\n constructor(element, params = {}) {\n element = normalizeElement(element);\n\n // Keep a single object instance per iframe\n if (embeds.has(element)) {\n return embeds.get(element);\n }\n\n // Create new element iframe if needed\n if (element.nodeName !== 'IFRAME') {\n element = createEmbedIframe(element, params);\n }\n\n this.origin = '*';\n this.element = element;\n this.embedCallback = new EmbedCallback();\n\n const onReady = new Promise((resolve) => {\n // Handle incoming messages from embed\n const onMessage = (event) => {\n if (element.contentWindow !== event.source) {\n return;\n }\n\n if (this.origin === '*') {\n this.origin = event.origin;\n }\n\n // Parse inbound message\n const data = parseMessage(event.data);\n\n // Mark the embed as ready\n if (data.event === 'ready' || data.method === 'ping') {\n resolve();\n return;\n }\n\n // Process regular messages from the embed\n this.embedCallback.process(data);\n };\n\n window.addEventListener('message', onMessage, false);\n postMessage(this, 'ping');\n });\n\n embeds.set(this.element, this);\n embedsReady.set(this, onReady);\n\n return this;\n }\n\n ready() {\n return Promise.resolve(embedsReady.get(this));\n }\n\n call(method, parameters={}) {\n return new Promise((resolve, reject) => {\n return this.ready().then(() => {\n this.embedCallback.pushCall(method, resolve, reject);\n postMessage(this, method, parameters);\n });\n });\n }\n\n /**\n * Subscribe to a specific event\n *\n * @param {string} event The name of the event.\n * @param {function} callback The function to call when receiving an event\n */\n on(event, callback) {\n if (typeof event !== 'string') {\n throw new TypeError('An event name (string) is required');\n }\n if (typeof callback !== 'function') {\n throw new TypeError('An callback (function) is required');\n }\n if (this.embedCallback.subscribeEvent(event, callback)) {\n this.call('addEventListener', event).catch(() => {});\n }\n }\n\n /**\n * Unsubscribe to a specific event\n *\n * @param {string} event The name of the event.\n * @param {function} [callback] The function to unsubscribe\n */\n off(event, callback) {\n if (typeof event !== 'string') {\n throw new TypeError('An event name (string) is required');\n }\n if (this.embedCallback.unsubscribeEvent(event, callback)) {\n this.call('removeEventListener', event).catch(() => {});\n }\n }\n\n /**\n * Load a score hosted on Flat\n *\n * @param {string} score The unique identifier of the score\n * @param {string} [revision] The unique identifier of the revision\n * @return {Promise}\n * @reject {ApiError} Unable to load the score\n */\n loadFlatScore(score, revision) {\n return this.call('loadFlatScore', {score, revision});\n }\n\n /**\n * Load a MusicXML score\n *\n * @param {string} score The MusicXML file\n * @return {Promise}\n * @reject {Error} Unable to load the score\n */\n loadMusicXML(score) {\n return this.call('loadMusicXML', score);\n }\n\n /**\n * Load a Flat JSON score\n *\n * @param {object|string} score The JSON of the score\n * @return {Promise}\n * @reject {Error} Unable to load the score\n */\n loadJSON(score) {\n return this.call('loadJSON', score);\n }\n\n /**\n * Get the score in Flat JSON format\n *\n * @return {Promise}\n * @fulfill {object} The Flat data format\n */\n getJSON() {\n return this.call('getJSON');\n }\n\n /**\n * Convert the displayed score in MusicXML\n *\n * @param {object} options Conversion options (`compressed`)\n * @return {Promise}\n * @fullfill {string|Uint8Array} MusicXML File\n * @reject {Error} Conversion error\n */\n getMusicXML(options) {\n return new Promise((resolve, reject) => {\n options = options || {};\n if (typeof options !== 'object') {\n return reject(new TypeError('Options must be an object'));\n }\n this.call('getMusicXML', options).then(function (data) {\n // Plain XML\n if (typeof data === 'string') {\n return resolve(data);\n }\n // Compressed, re-create Uint8Array\n return resolve(new Uint8Array(data.data));\n }).catch(reject);\n });\n }\n\n /**\n * Get the metadata of the score (for scores hosted on Flat)\n *\n * @return {Promise}\n * @fulfill {object} The Flat data format (result from https://flat.io/developers/api/reference/#operation/getScore)\n */\n getFlatScoreMetadata() {\n return this.call('getFlatScoreMetadata');\n }\n\n /**\n * Get the whole embed config\n *\n * @return {Promise}\n * @fullfill {object} An object containing the config of the embed\n */\n getEmbedConfig() {\n return this.call('getEmbedConfig');\n }\n\n /**\n * Set a config for the embed mode\n * This config can be fetched with `getEmbed()` (as `editor` value)\n * This config will be applied at the next score loading\n *\n * @param {object} editor The editor config\n * @return {Promise}\n * @fullfill {object} An object containing the config of the editor\n */\n setEditorConfig(editor) {\n return this.call('setEditorConfig', editor);\n }\n\n /**\n * Toggle fullscreen state\n *\n * @param {boolean} active `true` to switch on fullscreen, `false` to switch off\n * @return {Promise} Once the state changed\n */\n fullscreen(active) {\n return this.call('fullscreen', active);\n }\n\n /**\n * Start the playback\n *\n * @return {Promise}\n */\n play() {\n return this.call('play');\n }\n\n /**\n * Pause the playback\n *\n * @return {Promise}\n */\n pause() {\n return this.call('pause');\n }\n\n /**\n * Stop the playback\n *\n * @return {Promise}\n */\n stop() {\n return this.call('stop');\n }\n\n /**\n * Print the score\n *\n * @return {Promise}\n */\n print() {\n return this.call('print');\n }\n\n /**\n * Get the current zoom ratio\n *\n * @return {Promise}\n * @fullfill {number} The current scale ratio (0.5 to 3)\n */\n getZoom() {\n return this.call('getZoom');\n }\n\n /**\n * Set a new zoom ratio (this will disable the zoom auto if set)\n *\n * @param {number} zoom The scale ratio (0.5 to 3)\n * @return {Promise}\n * @fullfill {number} The scale ratio applied\n */\n setZoom(zoom) {\n return this.call('setZoom', zoom);\n }\n\n /**\n * Get the auto-zoom\n *\n * @return {Promise}\n * @fullfill {boolean} `true` if enabled, `false` if disabled\n */\n getAutoZoom() {\n return this.call('getAutoZoom');\n }\n\n /**\n * Enable or disable the auto-zoom\n *\n * @param {boolean} state `true` if enabled, `false` if disabled\n * @return {Promise}\n * @fullfill {boolean} The auto-zoom mode\n */\n setAutoZoom(state) {\n return this.call('setAutoZoom', state);\n }\n}\n\nexport default Embed;\n"],"names":["defined","toInteger","aFunction","isObject","require$$0","document","require$$1","require$$2","anObject","toPrimitive","IE8_DOM_DEFINE","dP","createDesc","core","global","ctx","hide","cof","IObject","min","toIObject","toLength","toIndex","uid","IE_PROTO","has","$keys","enumBugKeys","getKeys","PROTOTYPE","dPs","create","descriptor","setToStringTag","toObject","$iterCreate","getPrototypeOf","LIBRARY","Iterators","redefine","$export","step","addToUnscopables","wksExt","gOPS","pIE","gOPN","toString","gOPD","$GOPD","$DP","gOPNExt","wks","shared","ObjectProto","DESCRIPTORS","$fails","_create","enumKeys","require$$3","require$$4","i","wksDefine","keyOf","isArray","require$$5","_iterator","_symbol","TAG","ITERATOR","classof","getIterFn","isArrayIter","call","process","invoke","cel","html","isNode","SPECIES","TypeError","USE_NATIVE","anInstance","speciesConstructor","require$$6","require$$7","forOf","_defineProperty","asc","createArrayMethod","id","redefineAll","$has","fails","meta","weak","assign","window","postMessage","Error","normalizeElement","element","jQuery","getElementById","HTMLElement","nodeName","iframe","querySelector","buildIframeUrl","parameters","url","baseUrl","score","urlParameters","embedParams","qs","map","encodeURIComponent","k","join","createEmbedIframe","createElement","setAttribute","width","height","appendChild","embed","method","contentWindow","message","origin","parseMessage","data","JSON","parse","EmbedCallback","promises","eventCallbacks","name","resolve","reject","push","event","callback","length","idx","indexOf","splice","processMethodResponse","processEvent","promise","shift","error","response","forEach","embeds","embedsReady","Embed","params","get","embedCallback","onReady","onMessage","source","addEventListener","set","ready","then","pushCall","subscribeEvent","catch","unsubscribeEvent","revision","options","Uint8Array","editor","active","zoom","state"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"embed.js.map","sources":["../node_modules/core-js/library/modules/_to-integer.js","../node_modules/core-js/library/modules/_defined.js","../node_modules/core-js/library/modules/_string-at.js","../node_modules/core-js/library/modules/_library.js","../node_modules/core-js/library/modules/_global.js","../node_modules/core-js/library/modules/_core.js","../node_modules/core-js/library/modules/_a-function.js","../node_modules/core-js/library/modules/_ctx.js","../node_modules/core-js/library/modules/_is-object.js","../node_modules/core-js/library/modules/_an-object.js","../node_modules/core-js/library/modules/_fails.js","../node_modules/core-js/library/modules/_descriptors.js","../node_modules/core-js/library/modules/_dom-create.js","../node_modules/core-js/library/modules/_ie8-dom-define.js","../node_modules/core-js/library/modules/_to-primitive.js","../node_modules/core-js/library/modules/_object-dp.js","../node_modules/core-js/library/modules/_property-desc.js","../node_modules/core-js/library/modules/_hide.js","../node_modules/core-js/library/modules/_export.js","../node_modules/core-js/library/modules/_redefine.js","../node_modules/core-js/library/modules/_has.js","../node_modules/core-js/library/modules/_iterators.js","../node_modules/core-js/library/modules/_cof.js","../node_modules/core-js/library/modules/_iobject.js","../node_modules/core-js/library/modules/_to-iobject.js","../node_modules/core-js/library/modules/_to-length.js","../node_modules/core-js/library/modules/_to-index.js","../node_modules/core-js/library/modules/_array-includes.js","../node_modules/core-js/library/modules/_shared.js","../node_modules/core-js/library/modules/_uid.js","../node_modules/core-js/library/modules/_shared-key.js","../node_modules/core-js/library/modules/_object-keys-internal.js","../node_modules/core-js/library/modules/_enum-bug-keys.js","../node_modules/core-js/library/modules/_object-keys.js","../node_modules/core-js/library/modules/_object-dps.js","../node_modules/core-js/library/modules/_html.js","../node_modules/core-js/library/modules/_object-create.js","../node_modules/core-js/library/modules/_wks.js","../node_modules/core-js/library/modules/_set-to-string-tag.js","../node_modules/core-js/library/modules/_iter-create.js","../node_modules/core-js/library/modules/_to-object.js","../node_modules/core-js/library/modules/_object-gpo.js","../node_modules/core-js/library/modules/_iter-define.js","../node_modules/core-js/library/modules/es6.string.iterator.js","../node_modules/core-js/library/modules/_add-to-unscopables.js","../node_modules/core-js/library/modules/_iter-step.js","../node_modules/core-js/library/modules/es6.array.iterator.js","../node_modules/core-js/library/modules/web.dom.iterable.js","../node_modules/core-js/library/modules/_wks-ext.js","../node_modules/core-js/library/fn/symbol/iterator.js","../node_modules/babel-runtime/core-js/symbol/iterator.js","../node_modules/core-js/library/modules/_meta.js","../node_modules/core-js/library/modules/_wks-define.js","../node_modules/core-js/library/modules/_keyof.js","../node_modules/core-js/library/modules/_object-gops.js","../node_modules/core-js/library/modules/_object-pie.js","../node_modules/core-js/library/modules/_enum-keys.js","../node_modules/core-js/library/modules/_is-array.js","../node_modules/core-js/library/modules/_object-gopn.js","../node_modules/core-js/library/modules/_object-gopn-ext.js","../node_modules/core-js/library/modules/_object-gopd.js","../node_modules/core-js/library/modules/es6.symbol.js","../node_modules/core-js/library/modules/es7.symbol.async-iterator.js","../node_modules/core-js/library/modules/es7.symbol.observable.js","../node_modules/core-js/library/fn/symbol/index.js","../node_modules/babel-runtime/core-js/symbol.js","../node_modules/babel-runtime/helpers/typeof.js","../node_modules/core-js/library/modules/_classof.js","../node_modules/core-js/library/modules/_an-instance.js","../node_modules/core-js/library/modules/_iter-call.js","../node_modules/core-js/library/modules/_is-array-iter.js","../node_modules/core-js/library/modules/core.get-iterator-method.js","../node_modules/core-js/library/modules/_for-of.js","../node_modules/core-js/library/modules/_species-constructor.js","../node_modules/core-js/library/modules/_invoke.js","../node_modules/core-js/library/modules/_task.js","../node_modules/core-js/library/modules/_microtask.js","../node_modules/core-js/library/modules/_redefine-all.js","../node_modules/core-js/library/modules/_set-species.js","../node_modules/core-js/library/modules/_iter-detect.js","../node_modules/core-js/library/modules/es6.promise.js","../node_modules/core-js/library/fn/promise.js","../node_modules/babel-runtime/core-js/promise.js","../node_modules/babel-runtime/helpers/classCallCheck.js","../node_modules/core-js/library/modules/es6.object.define-property.js","../node_modules/core-js/library/fn/object/define-property.js","../node_modules/babel-runtime/core-js/object/define-property.js","../node_modules/babel-runtime/helpers/createClass.js","../node_modules/core-js/library/modules/_array-species-constructor.js","../node_modules/core-js/library/modules/_array-species-create.js","../node_modules/core-js/library/modules/_array-methods.js","../node_modules/core-js/library/modules/_object-assign.js","../node_modules/core-js/library/modules/_collection-weak.js","../node_modules/core-js/library/modules/_collection.js","../node_modules/core-js/library/modules/es6.weak-map.js","../node_modules/core-js/library/fn/weak-map.js","../node_modules/babel-runtime/core-js/weak-map.js","../src/lib/compatibility.js","../src/lib/dom.js","../node_modules/core-js/library/modules/_object-sap.js","../node_modules/core-js/library/modules/es6.object.keys.js","../node_modules/core-js/library/fn/object/keys.js","../node_modules/babel-runtime/core-js/object/keys.js","../node_modules/core-js/library/modules/es6.object.assign.js","../node_modules/core-js/library/fn/object/assign.js","../node_modules/babel-runtime/core-js/object/assign.js","../src/lib/embed.js","../src/lib/communication.js","../src/lib/callback.js","../src/embed.js"],"sourcesContent":["// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};","module.exports = true;","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};","var global = require('./_global')\n , core = require('./_core')\n , ctx = require('./_ctx')\n , hide = require('./_hide')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , IS_WRAP = type & $export.W\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE]\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n , key, own, out;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function(C){\n var F = function(a, b, c){\n if(this instanceof C){\n switch(arguments.length){\n case 0: return new C;\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if(IS_PROTO){\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;","module.exports = require('./_hide');","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};","module.exports = {};","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};","module.exports = require('./_global').document && document.documentElement;","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});","module.exports = function(){ /* empty */ };","module.exports = function(done, value){\n return {value: value, done: !!done};\n};","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');","require('./es6.array.iterator');\nvar global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , TO_STRING_TAG = require('./_wks')('toStringTag');\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype;\n if(proto && !proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}","exports.f = require('./_wks');","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};","exports.f = Object.getOwnPropertySymbols;","exports.f = {}.propertyIsEnumerable;","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 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\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);","require('./_wks-define')('asyncIterator');","require('./_wks-define')('observable');","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};","var hide = require('./_hide');\nmodule.exports = function(target, src, safe){\n for(var key in src){\n if(safe && target[key])target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};","'use strict';\nvar global = require('./_global')\n , core = require('./_core')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nmodule.exports = require('../modules/_core').Promise;","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nexports.default = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc){\n return $Object.defineProperty(it, key, desc);\n};","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n (0, _defineProperty2.default)(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , meta = require('./_meta')\n , fails = require('./_fails')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , setToStringTag = require('./_set-to-string-tag')\n , dP = require('./_object-dp').f\n , each = require('./_array-methods')(0)\n , DESCRIPTORS = require('./_descriptors');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n if(!DESCRIPTORS || typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME, '_c');\n target._c = new Base;\n if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target);\n });\n each('add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON'.split(','),function(KEY){\n var IS_ADDER = KEY == 'add' || KEY == 'set';\n if(KEY in proto && !(IS_WEAK && KEY == 'clear'))hide(C.prototype, KEY, function(a, b){\n anInstance(this, C, KEY);\n if(!IS_ADDER && IS_WEAK && !isObject(a))return KEY == 'get' ? undefined : false;\n var result = this._c[KEY](a === 0 ? 0 : a, b);\n return IS_ADDER ? this : result;\n });\n });\n if('size' in proto)dP(C.prototype, 'size', {\n get: function(){\n return this._c.size;\n }\n });\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F, O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}","require('../modules/es6.object.to-string');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.weak-map');\nmodule.exports = require('../modules/_core').WeakMap;","module.exports = { \"default\": require(\"core-js/library/fn/weak-map\"), __esModule: true };","if (typeof window.postMessage === 'undefined') {\n throw new Error('The Flat Embed JS API is not supported in this browser');\n}\n","/**\n * Select and normalize the DOM element input\n *\n * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element\n * @return {(HTMLIFrameElement|HTMLElement)}\n */\nexport function normalizeElement(element) {\n if (window.jQuery && element instanceof window.jQuery) {\n element = element[0];\n }\n\n // Find an element by identifier\n if (typeof element === 'string') {\n element = document.getElementById(element);\n }\n\n // Check if a DOM element\n if (!(element instanceof window.HTMLElement)) {\n throw new TypeError('The first parameter must be an existing DOM element or an identifier.');\n }\n\n // The element is not an embed iframe?\n if (element.nodeName !== 'IFRAME') {\n // check if already present in the element\n const iframe = element.querySelector('iframe');\n if (iframe) {\n element = iframe;\n }\n }\n\n return element;\n}\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","/**\n * Build url for the new iframe\n *\n * @param {object} parameters\n */\nexport function buildIframeUrl(parameters) {\n let url = (parameters.baseUrl || 'https://flat.io/embed');\n\n // Score id or blank embed\n url += '/' + (parameters.score || 'blank');\n\n // Build qs parameters\n let urlParameters = Object.assign({\n jsapi: true\n }, parameters.embedParams);\n\n let qs = Object.keys(urlParameters)\n .map(k => `${encodeURIComponent(k)}=${encodeURIComponent(urlParameters[k])}`)\n .join('&');\n\n return url + '?' + qs;\n}\n\n/**\n * Create an iframe inside a specified element\n *\n * @param {HTMLElement} element\n * @param {object} parameters\n */\nexport function createEmbedIframe(element, parameters) {\n let url = buildIframeUrl(parameters);\n\n var iframe = document.createElement('iframe');\n iframe.setAttribute('src', url);\n iframe.setAttribute('width', parameters.width || '100%');\n iframe.setAttribute('height', parameters.height || '100%');\n iframe.setAttribute('allowfullscreen', true);\n iframe.setAttribute('frameborder', '0');\n\n element.appendChild(iframe);\n\n return iframe;\n}\n","/**\n * Send a message to the embed via postMessage\n *\n * @param {Embed} embed\n * @param {string} method The name of the method to call\n * @param {string} parameters The parameters to pass to the method\n */\nexport function postMessage(embed, method, parameters) {\n if (!embed.element.contentWindow || !embed.element.contentWindow.postMessage) {\n throw new Error('No `contentWindow` or `contentWindow.postMessage` avaialble on the element');\n }\n\n let message = {\n method,\n parameters\n };\n\n embed.element.contentWindow.postMessage(message, embed.origin);\n}\n\n/**\n * Parse a message received from postMessage\n *\n * @param {string|object} data The data received from postMessage\n * @return {object}\n */\nexport function parseMessage(data) {\n if (typeof data === 'string') {\n data = JSON.parse(data);\n }\n return data;\n}\n","\nclass EmbedCallback {\n constructor(embed) {\n this.embed = embed;\n this.promises = {};\n this.eventCallbacks = {};\n return this;\n }\n\n pushCall(name, resolve, reject) {\n this.promises[name] = this.promises[name] || [];\n this.promises[name].push({resolve, reject});\n }\n\n /**\n * Register a callback for a specified event\n *\n * @param {string} event The name of the event.\n * @param {function} callback The function to call when receiving an event\n * @return {boolen} `true` if it is the first subscriber, `false otherwise`\n */\n subscribeEvent(event, callback) {\n this.eventCallbacks[event] = this.eventCallbacks[event] || [];\n this.eventCallbacks[event].push(callback);\n return this.eventCallbacks[event].length === 1;\n }\n\n /**\n * Unregister a callback for a specified event\n *\n * @param {string} event The name of the event.\n * @param {function} [callback] The function to call when receiving an event\n * @return {boolen} `true` if it is the last subscriber, `false otherwise`\n */\n unsubscribeEvent(event, callback) {\n // Was not subscribed\n if (!this.eventCallbacks[event]) {\n return false;\n }\n\n // If a callback is specified, unsub this one\n if (callback) {\n let idx = this.eventCallbacks[event].indexOf(callback);\n if (idx >= 0) {\n this.eventCallbacks[event].splice(idx, 1);\n }\n }\n // Unsub all\n else {\n this.eventCallbacks[event] = [];\n }\n\n return !callback || this.eventCallbacks[event].length === 0;\n }\n\n /**\n * Process a message received from postMessage\n *\n * @param {object} data The data received from postMessage\n */\n process(data) {\n if (data.method) {\n this.processMethodResponse(data);\n }\n else if (data.event) {\n this.processEvent(data);\n }\n }\n\n /**\n * Process a method response\n *\n * @param {object} data The data received from postMessage\n */\n processMethodResponse(data) {\n var promise = this.promises[data.method].shift();\n if (!promise) {\n return;\n }\n if (data.error) {\n promise.reject(data.error);\n }\n else {\n promise.resolve(data.response);\n }\n }\n\n /**\n * Process a receieved event\n *\n * @param {object} data The data received from postMessage\n */\n processEvent(data) {\n if (!this.eventCallbacks[data.event] ||\n this.eventCallbacks[data.event].length === 0) {\n return;\n }\n this.eventCallbacks[data.event].forEach((callback) => {\n callback.call(this.embed, data.parameters);\n });\n }\n}\n\nexport default EmbedCallback;\n","import './lib/compatibility';\n\nimport { normalizeElement } from './lib/dom';\nimport { createEmbedIframe } from './lib/embed';\nimport { postMessage, parseMessage } from './lib/communication';\nimport EmbedCallback from './lib/callback';\n\nconst embeds = new WeakMap();\nconst embedsReady = new WeakMap();\n\nclass Embed {\n /**\n * Create a new Flat Embed\n *\n * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element A reference to a Flat Embed iframe or a container for the new iframe\n * @param {object} [params] Parameters for the new iframe\n * @return {Embed}\n */\n constructor(element, params = {}) {\n element = normalizeElement(element);\n\n // Keep a single object instance per iframe\n if (embeds.has(element)) {\n return embeds.get(element);\n }\n\n // Create new element iframe if needed\n if (element.nodeName !== 'IFRAME') {\n element = createEmbedIframe(element, params);\n }\n\n this.origin = '*';\n this.element = element;\n this.embedCallback = new EmbedCallback();\n\n const onReady = new Promise((resolve) => {\n // Handle incoming messages from embed\n const onMessage = (event) => {\n if (element.contentWindow !== event.source) {\n return;\n }\n\n if (this.origin === '*') {\n this.origin = event.origin;\n }\n\n // Parse inbound message\n const data = parseMessage(event.data);\n\n // Mark the embed as ready\n if (data.event === 'ready' || data.method === 'ping') {\n resolve();\n return;\n }\n\n // Process regular messages from the embed\n this.embedCallback.process(data);\n };\n\n window.addEventListener('message', onMessage, false);\n postMessage(this, 'ping');\n });\n\n embeds.set(this.element, this);\n embedsReady.set(this, onReady);\n\n return this;\n }\n\n ready() {\n return Promise.resolve(embedsReady.get(this));\n }\n\n call(method, parameters={}) {\n return new Promise((resolve, reject) => {\n return this.ready().then(() => {\n this.embedCallback.pushCall(method, resolve, reject);\n postMessage(this, method, parameters);\n });\n });\n }\n\n /**\n * Subscribe to a specific event\n *\n * @param {string} event The name of the event.\n * @param {function} callback The function to call when receiving an event\n */\n on(event, callback) {\n if (typeof event !== 'string') {\n throw new TypeError('An event name (string) is required');\n }\n if (typeof callback !== 'function') {\n throw new TypeError('An callback (function) is required');\n }\n if (this.embedCallback.subscribeEvent(event, callback)) {\n this.call('addEventListener', event).catch(() => {});\n }\n }\n\n /**\n * Unsubscribe to a specific event\n *\n * @param {string} event The name of the event.\n * @param {function} [callback] The function to unsubscribe\n */\n off(event, callback) {\n if (typeof event !== 'string') {\n throw new TypeError('An event name (string) is required');\n }\n if (this.embedCallback.unsubscribeEvent(event, callback)) {\n this.call('removeEventListener', event).catch(() => {});\n }\n }\n\n /**\n * Load a score hosted on Flat\n *\n * @param {string} score The unique identifier of the score\n * @param {string} [revision] The unique identifier of the revision\n * @return {Promise}\n * @reject {ApiError} Unable to load the score\n */\n loadFlatScore(score, revision) {\n return this.call('loadFlatScore', {score, revision});\n }\n\n /**\n * Load a MusicXML score\n *\n * @param {string} score The MusicXML file\n * @return {Promise}\n * @reject {Error} Unable to load the score\n */\n loadMusicXML(score) {\n return this.call('loadMusicXML', score);\n }\n\n /**\n * Load a Flat JSON score\n *\n * @param {object|string} score The JSON of the score\n * @return {Promise}\n * @reject {Error} Unable to load the score\n */\n loadJSON(score) {\n return this.call('loadJSON', score);\n }\n\n /**\n * Get the score in Flat JSON format\n *\n * @return {Promise}\n * @fulfill {object} The Flat data format\n */\n getJSON() {\n return this.call('getJSON');\n }\n\n /**\n * Convert the displayed score in MusicXML\n *\n * @param {object} options Conversion options (`compressed`)\n * @return {Promise}\n * @fullfill {string|Uint8Array} MusicXML File\n * @reject {Error} Conversion error\n */\n getMusicXML(options) {\n return new Promise((resolve, reject) => {\n options = options || {};\n if (typeof options !== 'object') {\n return reject(new TypeError('Options must be an object'));\n }\n this.call('getMusicXML', options).then(function (data) {\n // Plain XML\n if (typeof data === 'string') {\n return resolve(data);\n }\n // Compressed, re-create Uint8Array\n return resolve(new Uint8Array(data.data));\n }).catch(reject);\n });\n }\n\n /**\n * Get the metadata of the score (for scores hosted on Flat)\n *\n * @return {Promise}\n * @fulfill {object} The Flat data format (result from https://flat.io/developers/api/reference/#operation/getScore)\n */\n getFlatScoreMetadata() {\n return this.call('getFlatScoreMetadata');\n }\n\n /**\n * Get the whole embed config\n *\n * @return {Promise}\n * @fullfill {object} An object containing the config of the embed\n */\n getEmbedConfig() {\n return this.call('getEmbedConfig');\n }\n\n /**\n * Set a config for the embed mode\n * This config can be fetched with `getEmbed()` (as `editor` value)\n * This config will be applied at the next score loading\n *\n * @param {object} editor The editor config\n * @return {Promise}\n * @fullfill {object} An object containing the config of the editor\n */\n setEditorConfig(editor) {\n return this.call('setEditorConfig', editor);\n }\n\n /**\n * Toggle fullscreen state\n *\n * @param {boolean} active `true` to switch on fullscreen, `false` to switch off\n * @return {Promise} Once the state changed\n */\n fullscreen(active) {\n return this.call('fullscreen', active);\n }\n\n /**\n * Start the playback\n *\n * @return {Promise}\n */\n play() {\n return this.call('play');\n }\n\n /**\n * Pause the playback\n *\n * @return {Promise}\n */\n pause() {\n return this.call('pause');\n }\n\n /**\n * Stop the playback\n *\n * @return {Promise}\n */\n stop() {\n return this.call('stop');\n }\n\n /**\n * Print the score\n *\n * @return {Promise}\n */\n print() {\n return this.call('print');\n }\n\n /**\n * Get the current zoom ratio\n *\n * @return {Promise}\n * @fullfill {number} The current scale ratio (0.5 to 3)\n */\n getZoom() {\n return this.call('getZoom');\n }\n\n /**\n * Set a new zoom ratio (this will disable the zoom auto if set)\n *\n * @param {number} zoom The scale ratio (0.5 to 3)\n * @return {Promise}\n * @fullfill {number} The scale ratio applied\n */\n setZoom(zoom) {\n return this.call('setZoom', zoom);\n }\n\n /**\n * Get the auto-zoom\n *\n * @return {Promise}\n * @fullfill {boolean} `true` if enabled, `false` if disabled\n */\n getAutoZoom() {\n return this.call('getAutoZoom');\n }\n\n /**\n * Enable or disable the auto-zoom\n *\n * @param {boolean} state `true` if enabled, `false` if disabled\n * @return {Promise}\n * @fullfill {boolean} The auto-zoom mode\n */\n setAutoZoom(state) {\n return this.call('setAutoZoom', state);\n }\n\n /**\n * Call Flat's internal edit methods\n *\n * @param {operations} The operations to process\n */\n edit(operations) {\n return this.call('edit', operations);\n }\n}\n\nexport default Embed;\n"],"names":["defined","toInteger","aFunction","isObject","require$$0","document","require$$1","require$$2","anObject","toPrimitive","IE8_DOM_DEFINE","dP","createDesc","core","global","ctx","hide","cof","IObject","min","toIObject","toLength","toIndex","uid","IE_PROTO","has","$keys","enumBugKeys","getKeys","PROTOTYPE","dPs","create","descriptor","setToStringTag","toObject","$iterCreate","getPrototypeOf","LIBRARY","Iterators","redefine","$export","step","addToUnscopables","wksExt","gOPS","pIE","gOPN","toString","gOPD","$GOPD","$DP","gOPNExt","wks","shared","ObjectProto","DESCRIPTORS","$fails","_create","enumKeys","require$$3","require$$4","i","wksDefine","keyOf","isArray","require$$5","_iterator","_symbol","TAG","ITERATOR","classof","getIterFn","isArrayIter","call","process","invoke","cel","html","isNode","SPECIES","TypeError","USE_NATIVE","anInstance","speciesConstructor","require$$6","require$$7","forOf","_defineProperty","asc","createArrayMethod","id","redefineAll","$has","fails","meta","weak","assign","window","postMessage","Error","normalizeElement","element","jQuery","getElementById","HTMLElement","nodeName","iframe","querySelector","buildIframeUrl","parameters","url","baseUrl","score","urlParameters","embedParams","qs","map","encodeURIComponent","k","join","createEmbedIframe","createElement","setAttribute","width","height","appendChild","embed","method","contentWindow","message","origin","parseMessage","data","JSON","parse","EmbedCallback","promises","eventCallbacks","name","resolve","reject","push","event","callback","length","idx","indexOf","splice","processMethodResponse","processEvent","promise","shift","error","response","forEach","embeds","embedsReady","Embed","params","get","embedCallback","onReady","onMessage","source","addEventListener","set","ready","then","pushCall","subscribeEvent","catch","unsubscribeEvent","revision","options","Uint8Array","editor","active","zoom","state","operations"],"mappings":"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"} \ No newline at end of file diff --git a/dist/embed.min.js b/dist/embed.min.js index 6ffac27..f66be45 100644 --- a/dist/embed.min.js +++ b/dist/embed.min.js @@ -1,2 +1,2 @@ -/*! flat-embed v0.2.0 | (c) 2017 Tutteo Ltd. (Flat) | Apache-2.0 License | https://github.com/FlatIO/embed-client */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t.Flat=t.Flat||{},t.Flat.Embed=e())}(this,function(){"use strict";function t(t){return t&&t.__esModule?t.default:t}function e(t,e){return e={exports:{}},t(e,e.exports),e.exports}function n(t){if(window.jQuery&&t instanceof window.jQuery&&(t=t[0]),"string"==typeof t&&(t=document.getElementById(t)),!(t instanceof window.HTMLElement))throw new TypeError("The first parameter must be an existing DOM element or an identifier.");if("IFRAME"!==t.nodeName){var e=t.querySelector("iframe");e&&(t=e)}return t}function r(t){var e=t.baseUrl||"https://flat.io/embed";e+="/"+(t.score||"blank");var n=Or({jsapi:!0},t.embedParams);return e+"?"+gr(n).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(n[t])}).join("&")}function o(t,e){var n=r(e),o=document.createElement("iframe");return o.setAttribute("src",n),o.setAttribute("width",e.width||"100%"),o.setAttribute("height",e.height||"100%"),o.setAttribute("allowfullscreen",!0),o.setAttribute("frameborder","0"),t.appendChild(o),o}function i(t,e,n){if(!t.element.contentWindow||!t.element.contentWindow.postMessage)throw new Error("No `contentWindow` or `contentWindow.postMessage` avaialble on the element");var r={method:e,parameters:n};t.element.contentWindow.postMessage(r,t.origin)}function u(t){return"string"==typeof t&&(t=JSON.parse(t)),t}var c=Math.ceil,s=Math.floor,a=function(t){return isNaN(t=+t)?0:(t>0?s:c)(t)},f=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t},l=e(function(t){var e=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=e)}),h=e(function(t){var e=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=e)}),p=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t},v=function(t,e,n){if(p(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}},d=function(t){return"object"==typeof t?null!==t:"function"==typeof t},y=function(t){if(!d(t))throw TypeError(t+" is not an object!");return t},m=function(t){try{return!!t()}catch(t){return!0}},b=!m(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}),g=l.document,_=d(g)&&d(g.createElement),w=function(t){return _?g.createElement(t):{}},O=!b&&!m(function(){return 7!=Object.defineProperty(w("div"),"a",{get:function(){return 7}}).a}),k=function(t,e){if(!d(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!d(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!d(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!d(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")},j=Object.defineProperty,E=b?Object.defineProperty:function(t,e,n){if(y(t),e=k(e,!0),y(n),O)try{return j(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t},S={f:E},M=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},P=b?function(t,e,n){return S.f(t,e,M(1,n))}:function(t,e,n){return t[e]=n,t},C=function(t,e,n){var r,o,i,u=t&C.F,c=t&C.G,s=t&C.S,a=t&C.P,f=t&C.B,p=t&C.W,d=c?h:h[e]||(h[e]={}),y=d.prototype,m=c?l:s?l[e]:(l[e]||{}).prototype;c&&(n=e);for(r in n)(o=!u&&m&&void 0!==m[r])&&r in d||(i=o?m[r]:n[r],d[r]=c&&"function"!=typeof m[r]?n[r]:f&&o?v(i,l):p&&m[r]==i?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(i):a&&"function"==typeof i?v(Function.call,i):i,a&&((d.virtual||(d.virtual={}))[r]=i,t&C.R&&y&&!y[r]&&P(y,r,i)))};C.F=1,C.G=2,C.S=4,C.P=8,C.B=16,C.W=32,C.U=64,C.R=128;var A=C,x=P,F={}.hasOwnProperty,T=function(t,e){return F.call(t,e)},N={},I={}.toString,W=function(t){return I.call(t).slice(8,-1)},R=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==W(t)?t.split(""):Object(t)},L=function(t){return R(f(t))},J=Math.min,D=function(t){return t>0?J(a(t),9007199254740991):0},U=Math.max,Z=Math.min,z=function(t,e){return t=a(t),t<0?U(t+e,0):Z(t,e)},q=l["__core-js_shared__"]||(l["__core-js_shared__"]={}),B=function(t){return q[t]||(q[t]={})},G=0,K=Math.random(),X=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++G+K).toString(36))},Q=B("keys"),H=function(t){return Q[t]||(Q[t]=X(t))},Y=function(t){return function(e,n,r){var o,i=L(e),u=D(i.length),c=z(r,u);if(t&&n!=n){for(;u>c;)if((o=i[c++])!=o)return!0}else for(;u>c;c++)if((t||c in i)&&i[c]===n)return t||c||0;return!t&&-1}}(!1),V=H("IE_PROTO"),$=function(t,e){var n,r=L(t),o=0,i=[];for(n in r)n!=V&&T(r,n)&&i.push(n);for(;e.length>o;)T(r,n=e[o++])&&(~Y(i,n)||i.push(n));return i},tt="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),et=Object.keys||function(t){return $(t,tt)},nt=b?Object.defineProperties:function(t,e){y(t);for(var n,r=et(e),o=r.length,i=0;o>i;)S.f(t,n=r[i++],e[n]);return t},rt=l.document&&document.documentElement,ot=H("IE_PROTO"),it=function(){},ut=function(){var t,e=w("iframe"),n=tt.length;for(e.style.display="none",rt.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("