{"version":3,"sources":["taggd.js"],"names":["f","exports","module","define","amd","g","window","global","self","this","Taggd","e","t","n","r","s","o","u","a","require","i","Error","code","l","call","length","1","default","__esModule","core-js/library/fn/get-iterator","2","core-js/library/fn/is-iterable","3","core-js/library/fn/number/is-integer","4","core-js/library/fn/number/is-nan","5","core-js/library/fn/number/parse-float","6","core-js/library/fn/object/assign","7","core-js/library/fn/object/create","8","core-js/library/fn/object/define-property","9","core-js/library/fn/object/entries","10","core-js/library/fn/object/get-own-property-descriptor","11","core-js/library/fn/object/get-prototype-of","12","core-js/library/fn/object/set-prototype-of","13","core-js/library/fn/symbol","14","core-js/library/fn/symbol/iterator","15","instance","Constructor","TypeError","16","_interopRequireDefault","obj","_defineProperty","_defineProperty2","defineProperties","target","props","descriptor","enumerable","configurable","writable","key","protoProps","staticProps","prototype","../core-js/object/define-property","17","_getPrototypeOf","_getPrototypeOf2","_getOwnPropertyDescriptor","_getOwnPropertyDescriptor2","get","object","property","receiver","Function","desc","undefined","parent","value","getter","../core-js/object/get-own-property-descriptor","../core-js/object/get-prototype-of","18","_setPrototypeOf","_setPrototypeOf2","_create","_create2","_typeof2","_typeof3","subClass","superClass","constructor","__proto__","../core-js/object/create","../core-js/object/set-prototype-of","../helpers/typeof","19","ReferenceError","20","_isIterable2","_isIterable3","_getIterator2","_getIterator3","sliceIterator","arr","_arr","_n","_d","_e","_s","_i","next","done","push","err","Array","isArray","Object","../core-js/get-iterator","../core-js/is-iterable","21","_iterator","_iterator2","_symbol","_symbol2","_typeof","../core-js/symbol","../core-js/symbol/iterator","22","../modules/core.get-iterator","../modules/es6.string.iterator","../modules/web.dom.iterable","23","../modules/core.is-iterable","24","Number","isInteger","../../modules/_core","../../modules/es6.number.is-integer","25","isNaN","../../modules/es6.number.is-nan","26","parseFloat","../../modules/es6.number.parse-float","27","assign","../../modules/es6.object.assign","28","$Object","P","D","create","../../modules/es6.object.create","29","it","defineProperty","../../modules/es6.object.define-property","30","entries","../../modules/es7.object.entries","31","getOwnPropertyDescriptor","../../modules/es6.object.get-own-property-descriptor","32","getPrototypeOf","../../modules/es6.object.get-prototype-of","33","setPrototypeOf","../../modules/es6.object.set-prototype-of","34","Symbol","../../modules/es6.object.to-string","../../modules/es6.symbol","../../modules/es7.symbol.async-iterator","../../modules/es7.symbol.observable","35","../../modules/_wks-ext","../../modules/es6.string.iterator","../../modules/web.dom.iterable","36","37","38","isObject","./_is-object","39","toIObject","toLength","toIndex","IS_INCLUDES","$this","el","fromIndex","O","index","./_to-index","./_to-iobject","./_to-length","40","cof","TAG","ARG","arguments","tryGet","T","B","callee","./_cof","./_wks","41","toString","slice","42","core","version","__e","43","aFunction","fn","that","b","c","apply","./_a-function","44","45","./_fails","46","document","is","createElement","./_global","47","split","48","getKeys","gOPS","pIE","result","getSymbols","symbols","isEnum","./_object-gops","./_object-keys","./_object-pie","49","ctx","hide","PROTOTYPE","$export","type","name","source","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","IS_WRAP","W","expProto","C","virtual","R","U","./_core","./_ctx","./_hide","50","exec","51","Math","__g","52","hasOwnProperty","53","dP","createDesc","./_descriptors","./_object-dp","./_property-desc","54","documentElement","55","./_dom-create","56","propertyIsEnumerable","57","arg","58","floor","isFinite","59","60","setToStringTag","IteratorPrototype","NAME","./_object-create","./_set-to-string-tag","61","LIBRARY","redefine","has","Iterators","$iterCreate","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","DEFAULT","IS_SET","FORCED","methods","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","values","./_export","./_has","./_iter-create","./_iterators","./_library","./_object-gpo","./_redefine","62","63","64","65","66","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","fastKey","getWeak","onFreeze","meta","NEED","KEY","./_uid","67","toObject","IObject","$assign","A","K","forEach","k","join","aLen","concat","j","./_iobject","./_to-object","68","anObject","dPs","enumBugKeys","IE_PROTO","Empty","createDict","iframeDocument","iframe","lt","gt","style","display","appendChild","src","contentWindow","open","write","close","Properties","./_an-object","./_enum-bug-keys","./_html","./_object-dps","./_shared-key","69","IE8_DOM_DEFINE","toPrimitive","Attributes","./_ie8-dom-define","./_to-primitive","70","71","gOPD","72","gOPN","windowNames","getOwnPropertyNames","getWindowNames","./_object-gopn","73","$keys","hiddenKeys","./_object-keys-internal","74","getOwnPropertySymbols","75","ObjectProto","76","arrayIndexOf","names","./_array-includes","77","78","79","fails","exp","80","isEntries","81","$parseFloat","$trim","trim","Infinity","str","string","String","charAt","./_string-trim","./_string-ws","82","bitmap","83","84","check","set","test","buggy","./_object-gopd","85","def","tag","stat","86","shared","uid","./_shared","87","SHARED","store","88","toInteger","defined","TO_STRING","pos","charCodeAt","./_defined","./_to-integer","89","spaces","space","non","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","TYPE","replace","90","91","max","min","92","ceil","93","94","95","96","val","valueOf","97","px","random","98","wksExt","$Symbol","./_wks-ext","99","100","USE_SYMBOL","$exports","101","classof","getIteratorMethod","./_classof","102","getIterator","iterFn","./core.get-iterator-method","103","isIterable","104","addToUnscopables","step","iterated","_t","_k","Arguments","./_add-to-unscopables","./_iter-define","./_iter-step","105","./_is-integer","106","number","107","./_parse-float","108","./_object-assign","109","110","111","$getOwnPropertyDescriptor","./_object-sap","112","$getPrototypeOf","113","./_set-proto","114","115","$at","point","./_string-at","116","DESCRIPTORS","$fails","wks","wksDefine","keyOf","enumKeys","gOPNExt","$GOPD","$DP","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","iterator","$defineProperty","$defineProperties","$create","$propertyIsEnumerable","E","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","$set","for","keyFor","useSetter","useSimple","replacer","$replacer","args","./_enum-keys","./_is-array","./_keyof","./_meta","./_object-gopn-ext","./_wks-define","117","./_object-to-array","118","119","120","TO_STRING_TAG","collections","Collection","./es6.array.iterator","121","getBoundingClientRect","x","y","offsetLeft","scrollLeft","offsetTop","scrollTop","offsetParent","left","top","122","pageYOffset","clientHeight","body","123","_slicedToArray2","_slicedToArray3","_entries","_entries2","_classCallCheck2","_classCallCheck3","_createClass2","_createClass3","_possibleConstructorReturn2","_possibleConstructorReturn3","_get2","_get3","_inherits2","_inherits3","EventEmitter","ObjectIs","TypeErrorMessage","Tag","_EventEmitter","position","text","buttonAttributes","popupAttributes","ofType","getObjectMessage","_this","wrapperElement","classList","add","buttonElement","popupElement","isControlsEnabled","inputLabelElement","buttonSaveElement","buttonDeleteElement","buttonSaveElementClickHandler","setText","buttonDeleteElementClickHandler","emit","setButtonAttributes","setPopupAttributes","setPosition","eventName","handler","isCanceled","getMessage","innerHTML","getFloatMessage","positionStyle","getPositionStyle","attributes","setElementAttributes","LABEL_BUTTON_SAVE","LABEL_BUTTON_DELETE","addEventListener","getAttributes","rawAttributes","attribute","element","_attribute","attributeName","attributeValue","getAttribute","classValue","setAttribute","LABEL_NEW_TAG","../util/event-emitter","../util/object-is","../util/type-error-message","babel-runtime/core-js/object/entries","babel-runtime/core-js/object/get-prototype-of","babel-runtime/helpers/classCallCheck","babel-runtime/helpers/createClass","babel-runtime/helpers/get","babel-runtime/helpers/inherits","babel-runtime/helpers/possibleConstructorReturn","babel-runtime/helpers/slicedToArray","124","_isInteger","_isInteger2","_assign","_assign2","getElementOffset","getScrollTop","image","options","data","Element","wrapper","parentElement","insertBefore","removeChild","tags","imageClickHandler","offset","pageX","width","pageY","height","enableControls","addTag","setOptions","setTags","DEFAULT_OPTIONS","_this2","ofInstance","getTagMessage","hideTimeout","isTargetButton","clearTimeout","show","isHidden","setTimeout","hideDelay","once","tagIndex","indexOf","deleteTag","onAnything","_len","_key","getIntegerMessage","splice","deleteTags","addTags","_this3","getArrayMessage","callback","getFunctionMessage","map","getTags","removeEventListener","disableControls","./Tag","babel-runtime/core-js/number/is-integer","babel-runtime/core-js/object/assign","scrolltop","125","_Tag","_Tag2","_Taggd","_Taggd2","./classes/Tag","./classes/Taggd","126","EVENT_WILDCARD","handlers","on","handlerIndex","off","eventHandler","returnValue","127","_parseFloat","_parseFloat2","_isNan","_isNan2","function","babel-runtime/core-js/number/is-nan","babel-runtime/core-js/number/parse-float","babel-runtime/helpers/typeof","128","expectedType","getTypeErrorMessage","message"],"mappings":"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","file":"taggd.min.js","sourcesContent":["(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Taggd = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o 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};\n},{\"./_to-index\":91,\"./_to-iobject\":93,\"./_to-length\":94}],40:[function(require,module,exports){\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};\n},{\"./_cof\":41,\"./_wks\":100}],41:[function(require,module,exports){\nvar toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n},{}],42:[function(require,module,exports){\nvar core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n},{}],43:[function(require,module,exports){\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};\n},{\"./_a-function\":36}],44:[function(require,module,exports){\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};\n},{}],45:[function(require,module,exports){\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});\n},{\"./_fails\":50}],46:[function(require,module,exports){\nvar 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};\n},{\"./_global\":51,\"./_is-object\":59}],47:[function(require,module,exports){\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n},{}],48:[function(require,module,exports){\n// 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};\n},{\"./_object-gops\":74,\"./_object-keys\":77,\"./_object-pie\":78}],49:[function(require,module,exports){\nvar 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;\n},{\"./_core\":42,\"./_ctx\":43,\"./_global\":51,\"./_hide\":53}],50:[function(require,module,exports){\nmodule.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n},{}],51:[function(require,module,exports){\n// 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\n},{}],52:[function(require,module,exports){\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n},{}],53:[function(require,module,exports){\nvar 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};\n},{\"./_descriptors\":45,\"./_object-dp\":69,\"./_property-desc\":82}],54:[function(require,module,exports){\nmodule.exports = require('./_global').document && document.documentElement;\n},{\"./_global\":51}],55:[function(require,module,exports){\nmodule.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n},{\"./_descriptors\":45,\"./_dom-create\":46,\"./_fails\":50}],56:[function(require,module,exports){\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};\n},{\"./_cof\":41}],57:[function(require,module,exports){\n// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n},{\"./_cof\":41}],58:[function(require,module,exports){\n// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n},{\"./_is-object\":59}],59:[function(require,module,exports){\nmodule.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n},{}],60:[function(require,module,exports){\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};\n},{\"./_hide\":53,\"./_object-create\":68,\"./_property-desc\":82,\"./_set-to-string-tag\":85,\"./_wks\":100}],61:[function(require,module,exports){\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};\n},{\"./_export\":49,\"./_has\":52,\"./_hide\":53,\"./_iter-create\":60,\"./_iterators\":63,\"./_library\":65,\"./_object-gpo\":75,\"./_redefine\":83,\"./_set-to-string-tag\":85,\"./_wks\":100}],62:[function(require,module,exports){\nmodule.exports = function(done, value){\n return {value: value, done: !!done};\n};\n},{}],63:[function(require,module,exports){\nmodule.exports = {};\n},{}],64:[function(require,module,exports){\nvar 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};\n},{\"./_object-keys\":77,\"./_to-iobject\":93}],65:[function(require,module,exports){\nmodule.exports = true;\n},{}],66:[function(require,module,exports){\nvar 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};\n},{\"./_fails\":50,\"./_has\":52,\"./_is-object\":59,\"./_object-dp\":69,\"./_uid\":97}],67:[function(require,module,exports){\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;\n},{\"./_fails\":50,\"./_iobject\":56,\"./_object-gops\":74,\"./_object-keys\":77,\"./_object-pie\":78,\"./_to-object\":95}],68:[function(require,module,exports){\n// 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\n},{\"./_an-object\":38,\"./_dom-create\":46,\"./_enum-bug-keys\":47,\"./_html\":54,\"./_object-dps\":70,\"./_shared-key\":86}],69:[function(require,module,exports){\nvar 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};\n},{\"./_an-object\":38,\"./_descriptors\":45,\"./_ie8-dom-define\":55,\"./_to-primitive\":96}],70:[function(require,module,exports){\nvar 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};\n},{\"./_an-object\":38,\"./_descriptors\":45,\"./_object-dp\":69,\"./_object-keys\":77}],71:[function(require,module,exports){\nvar 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};\n},{\"./_descriptors\":45,\"./_has\":52,\"./_ie8-dom-define\":55,\"./_object-pie\":78,\"./_property-desc\":82,\"./_to-iobject\":93,\"./_to-primitive\":96}],72:[function(require,module,exports){\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\n},{\"./_object-gopn\":73,\"./_to-iobject\":93}],73:[function(require,module,exports){\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};\n},{\"./_enum-bug-keys\":47,\"./_object-keys-internal\":76}],74:[function(require,module,exports){\nexports.f = Object.getOwnPropertySymbols;\n},{}],75:[function(require,module,exports){\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};\n},{\"./_has\":52,\"./_shared-key\":86,\"./_to-object\":95}],76:[function(require,module,exports){\nvar 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};\n},{\"./_array-includes\":39,\"./_has\":52,\"./_shared-key\":86,\"./_to-iobject\":93}],77:[function(require,module,exports){\n// 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};\n},{\"./_enum-bug-keys\":47,\"./_object-keys-internal\":76}],78:[function(require,module,exports){\nexports.f = {}.propertyIsEnumerable;\n},{}],79:[function(require,module,exports){\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};\n},{\"./_core\":42,\"./_export\":49,\"./_fails\":50}],80:[function(require,module,exports){\nvar getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n},{\"./_object-keys\":77,\"./_object-pie\":78,\"./_to-iobject\":93}],81:[function(require,module,exports){\nvar $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n},{\"./_global\":51,\"./_string-trim\":89,\"./_string-ws\":90}],82:[function(require,module,exports){\nmodule.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n},{}],83:[function(require,module,exports){\nmodule.exports = require('./_hide');\n},{\"./_hide\":53}],84:[function(require,module,exports){\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n},{\"./_an-object\":38,\"./_ctx\":43,\"./_is-object\":59,\"./_object-gopd\":71}],85:[function(require,module,exports){\nvar 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};\n},{\"./_has\":52,\"./_object-dp\":69,\"./_wks\":100}],86:[function(require,module,exports){\nvar shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n},{\"./_shared\":87,\"./_uid\":97}],87:[function(require,module,exports){\nvar 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};\n},{\"./_global\":51}],88:[function(require,module,exports){\nvar 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};\n},{\"./_defined\":44,\"./_to-integer\":92}],89:[function(require,module,exports){\nvar $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n},{\"./_defined\":44,\"./_export\":49,\"./_fails\":50,\"./_string-ws\":90}],90:[function(require,module,exports){\nmodule.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n},{}],91:[function(require,module,exports){\nvar 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};\n},{\"./_to-integer\":92}],92:[function(require,module,exports){\n// 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};\n},{}],93:[function(require,module,exports){\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};\n},{\"./_defined\":44,\"./_iobject\":56}],94:[function(require,module,exports){\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};\n},{\"./_to-integer\":92}],95:[function(require,module,exports){\n// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n},{\"./_defined\":44}],96:[function(require,module,exports){\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};\n},{\"./_is-object\":59}],97:[function(require,module,exports){\nvar id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n},{}],98:[function(require,module,exports){\nvar 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};\n},{\"./_core\":42,\"./_global\":51,\"./_library\":65,\"./_object-dp\":69,\"./_wks-ext\":99}],99:[function(require,module,exports){\nexports.f = require('./_wks');\n},{\"./_wks\":100}],100:[function(require,module,exports){\nvar 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;\n},{\"./_global\":51,\"./_shared\":87,\"./_uid\":97}],101:[function(require,module,exports){\nvar 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};\n},{\"./_classof\":40,\"./_core\":42,\"./_iterators\":63,\"./_wks\":100}],102:[function(require,module,exports){\nvar anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n},{\"./_an-object\":38,\"./_core\":42,\"./core.get-iterator-method\":101}],103:[function(require,module,exports){\nvar classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n},{\"./_classof\":40,\"./_core\":42,\"./_iterators\":63,\"./_wks\":100}],104:[function(require,module,exports){\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');\n},{\"./_add-to-unscopables\":37,\"./_iter-define\":61,\"./_iter-step\":62,\"./_iterators\":63,\"./_to-iobject\":93}],105:[function(require,module,exports){\n// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n},{\"./_export\":49,\"./_is-integer\":58}],106:[function(require,module,exports){\n// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});\n},{\"./_export\":49}],107:[function(require,module,exports){\nvar $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});\n},{\"./_export\":49,\"./_parse-float\":81}],108:[function(require,module,exports){\n// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n},{\"./_export\":49,\"./_object-assign\":67}],109:[function(require,module,exports){\nvar $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});\n},{\"./_export\":49,\"./_object-create\":68}],110:[function(require,module,exports){\nvar $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});\n},{\"./_descriptors\":45,\"./_export\":49,\"./_object-dp\":69}],111:[function(require,module,exports){\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n},{\"./_object-gopd\":71,\"./_object-sap\":79,\"./_to-iobject\":93}],112:[function(require,module,exports){\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n},{\"./_object-gpo\":75,\"./_object-sap\":79,\"./_to-object\":95}],113:[function(require,module,exports){\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});\n},{\"./_export\":49,\"./_set-proto\":84}],114:[function(require,module,exports){\n\n},{}],115:[function(require,module,exports){\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});\n},{\"./_iter-define\":61,\"./_string-at\":88}],116:[function(require,module,exports){\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);\n},{\"./_an-object\":38,\"./_descriptors\":45,\"./_enum-keys\":48,\"./_export\":49,\"./_fails\":50,\"./_global\":51,\"./_has\":52,\"./_hide\":53,\"./_is-array\":57,\"./_keyof\":64,\"./_library\":65,\"./_meta\":66,\"./_object-create\":68,\"./_object-dp\":69,\"./_object-gopd\":71,\"./_object-gopn\":73,\"./_object-gopn-ext\":72,\"./_object-gops\":74,\"./_object-keys\":77,\"./_object-pie\":78,\"./_property-desc\":82,\"./_redefine\":83,\"./_set-to-string-tag\":85,\"./_shared\":87,\"./_to-iobject\":93,\"./_to-primitive\":96,\"./_uid\":97,\"./_wks\":100,\"./_wks-define\":98,\"./_wks-ext\":99}],117:[function(require,module,exports){\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n},{\"./_export\":49,\"./_object-to-array\":80}],118:[function(require,module,exports){\nrequire('./_wks-define')('asyncIterator');\n},{\"./_wks-define\":98}],119:[function(require,module,exports){\nrequire('./_wks-define')('observable');\n},{\"./_wks-define\":98}],120:[function(require,module,exports){\nrequire('./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}\n},{\"./_global\":51,\"./_hide\":53,\"./_iterators\":63,\"./_wks\":100,\"./es6.array.iterator\":104}],121:[function(require,module,exports){\n// http://stackoverflow.com/questions/442404/dynamically-retrieve-the-position-x-y-of-an-html-element\nmodule.exports = function(el) {\n if (el.getBoundingClientRect) {\n return el.getBoundingClientRect();\n }\n else {\n var x = 0, y = 0;\n do {\n x += el.offsetLeft - el.scrollLeft;\n y += el.offsetTop - el.scrollTop;\n } \n while (el = el.offsetParent);\n\n return { \"left\": x, \"top\": y }\n }\n}\n},{}],122:[function(require,module,exports){\n\n/**\n * get the window's scrolltop.\n * \n * @return {Number}\n */\n\nmodule.exports = function(){\n if (window.pageYOffset) return window.pageYOffset;\n return document.documentElement.clientHeight\n ? document.documentElement.scrollTop\n : document.body.scrollTop;\n};\n\n},{}],123:[function(require,module,exports){\n'use strict';\n\nvar _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _entries = require('babel-runtime/core-js/object/entries');\n\nvar _entries2 = _interopRequireDefault(_entries);\n\nvar _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _get2 = require('babel-runtime/helpers/get');\n\nvar _get3 = _interopRequireDefault(_get2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EventEmitter = require('../util/event-emitter');\nvar ObjectIs = require('../util/object-is');\nvar TypeErrorMessage = require('../util/type-error-message');\n\nvar Tag = function (_EventEmitter) {\n (0, _inherits3.default)(Tag, _EventEmitter);\n\n /**\n * Create a new Tag instance\n * @param {{ x: Number, y: Number }} position - The tag’s coordinates\n * @param {String|Function} text - The tag’s content\n * @param {Object} [buttonAttributes = {}] - The button’s attributes\n * @param {Object} [popupAttributes = {}] - The popup’s attributes\n */\n function Tag(position, text) {\n var buttonAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var popupAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n (0, _classCallCheck3.default)(this, Tag);\n\n if (!ObjectIs.ofType(position, 'object') || Array.isArray(position)) {\n throw new TypeError(TypeErrorMessage.getObjectMessage(position));\n } else if (!('x' in position) || !('y' in position)) {\n throw new Error(position + ' should have x and y property');\n }\n\n var _this = (0, _possibleConstructorReturn3.default)(this, (Tag.__proto__ || (0, _getPrototypeOf2.default)(Tag)).call(this));\n\n _this.wrapperElement = document.createElement('div');\n _this.wrapperElement.classList.add('taggd__wrapper');\n\n _this.buttonElement = document.createElement('button');\n _this.buttonElement.classList.add('taggd__button');\n\n _this.popupElement = document.createElement('span');\n _this.popupElement.classList.add('taggd__popup');\n\n _this.wrapperElement.appendChild(_this.buttonElement);\n _this.wrapperElement.appendChild(_this.popupElement);\n\n _this.isControlsEnabled = false;\n _this.inputLabelElement = undefined;\n _this.buttonSaveElement = undefined;\n _this.buttonDeleteElement = undefined;\n\n _this.buttonSaveElementClickHandler = function () {\n return _this.setText(_this.inputLabelElement.value);\n };\n _this.buttonDeleteElementClickHandler = function () {\n _this.emit('taggd.tag.delete', _this);\n };\n\n _this.text = undefined;\n\n _this.setButtonAttributes(buttonAttributes);\n _this.setPopupAttributes(popupAttributes);\n _this.setPosition(position.x, position.y);\n _this.setText(text);\n\n _this.hide();\n return _this;\n }\n\n /**\n * Subscribe to an event.\n * @param {String} eventName - The event to subscribe to.\n * @param {Function} handler - The handler to execute.\n * @return {Taggd} Current Taggd instance\n */\n\n\n (0, _createClass3.default)(Tag, [{\n key: 'on',\n value: function on(eventName, handler) {\n return (0, _get3.default)(Tag.prototype.__proto__ || (0, _getPrototypeOf2.default)(Tag.prototype), 'on', this).call(this, eventName, handler);\n }\n\n /**\n * Unsubscribe from an event.\n * @param {String} eventName - The event to unsubscribe from.\n * @param {Function} handler - The handler that was used to subscribe.\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'off',\n value: function off(eventName, handler) {\n return (0, _get3.default)(Tag.prototype.__proto__ || (0, _getPrototypeOf2.default)(Tag.prototype), 'off', this).call(this, eventName, handler);\n }\n\n /**\n * Subscribe to an event and unsubscribe once triggered.\n * @param {String} eventName - The event to subscribe to.\n * @param {Function} handler - The handler to execute.\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'once',\n value: function once(eventName, handler) {\n return (0, _get3.default)(Tag.prototype.__proto__ || (0, _getPrototypeOf2.default)(Tag.prototype), 'once', this).call(this, eventName, handler);\n }\n\n /**\n * Test whether the tag is hidden or not\n * @return {Boolean} A boolean indicating the tag’s state\n */\n\n }, {\n key: 'isHidden',\n value: function isHidden() {\n return this.popupElement.style.display === 'none';\n }\n\n /**\n * Show the tag\n * @return {Taggd.Tag} Current Tag\n */\n\n }, {\n key: 'show',\n value: function show() {\n var isCanceled = !this.emit('taggd.tag.show', this);\n\n if (!isCanceled) {\n this.popupElement.style.display = '';\n this.emit('taggd.tag.shown', this);\n }\n\n return this;\n }\n\n /**\n * Hide the tag\n * @return {Taggd.Tag} Current Tag\n */\n\n }, {\n key: 'hide',\n value: function hide() {\n var isCanceled = !this.emit('taggd.tag.hide', this);\n\n if (!isCanceled) {\n this.popupElement.style.display = 'none';\n this.emit('taggd.tag.hidden', this);\n }\n\n return this;\n }\n\n /**\n * Set the tag’s text\n * @param {String|Function} text - The tag’s content\n * @return {Taggd.Tag} Current Tag\n */\n\n }, {\n key: 'setText',\n value: function setText(text) {\n if (!ObjectIs.ofType(text, 'string') && !ObjectIs.function(text)) {\n throw new TypeError(TypeErrorMessage.getMessage(text, 'a string or a function'));\n }\n\n var isCanceled = !this.emit('taggd.tag.change', this);\n\n if (!isCanceled) {\n if (ObjectIs.function(text)) {\n this.text = text(this);\n } else {\n this.text = text;\n }\n\n if (!this.isControlsEnabled) {\n this.popupElement.innerHTML = this.text;\n } else {\n this.inputLabelElement.value = this.text;\n }\n\n this.emit('taggd.tag.changed', this);\n }\n\n return this;\n }\n\n /**\n * Set the tag’s position\n * @param {Number} x - The tag’s x-coordinate\n * @param {Number} y - The tag’s y-coordinate\n * @return {Taggd.Tag} Current Tag\n */\n\n }, {\n key: 'setPosition',\n value: function setPosition(x, y) {\n if (!ObjectIs.number(x)) {\n throw new TypeError(TypeErrorMessage.getFloatMessage(x));\n }\n if (!ObjectIs.number(y)) {\n throw new TypeError(TypeErrorMessage.getFloatMessage(y));\n }\n\n var isCanceled = !this.emit('taggd.tag.change', this);\n\n if (!isCanceled) {\n var positionStyle = Tag.getPositionStyle(x, y);\n\n this.wrapperElement.style.left = positionStyle.left;\n this.wrapperElement.style.top = positionStyle.top;\n\n this.emit('taggd.tag.changed', this);\n }\n\n return this;\n }\n\n /**\n * Set the tag button’s attributes\n * @param {Object} atttributes = {} - The attributes to set\n * @return {Taggd.Tag} Current tag\n */\n\n }, {\n key: 'setButtonAttributes',\n value: function setButtonAttributes() {\n var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!ObjectIs.ofType(attributes, 'object') || Array.isArray(attributes)) {\n throw new TypeError(TypeErrorMessage.getObjectMessage(attributes));\n }\n\n var isCanceled = !this.emit('taggd.tag.change', this);\n\n if (!isCanceled) {\n Tag.setElementAttributes(this.buttonElement, attributes);\n this.emit('taggd.tag.changed', this);\n }\n\n return this;\n }\n\n /**\n * Set the tag popup’s attributes\n * @param {Object} atttributes = {} - The attributes to set\n * @return {Taggd.Tag} Current tag\n */\n\n }, {\n key: 'setPopupAttributes',\n value: function setPopupAttributes() {\n var attributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!ObjectIs.ofType(attributes, 'object') || Array.isArray(attributes)) {\n throw new TypeError(TypeErrorMessage.getObjectMessage(attributes));\n }\n\n var isCanceled = !this.emit('taggd.tag.change', this);\n\n if (!isCanceled) {\n Tag.setElementAttributes(this.popupElement, attributes);\n this.emit('taggd.tag.changed', this);\n }\n\n return this;\n }\n\n /**\n * Enables the tag controls\n * @return {Taggd.Tag} Current tag\n */\n\n }, {\n key: 'enableControls',\n value: function enableControls() {\n this.isControlsEnabled = true;\n\n this.inputLabelElement = document.createElement('input');\n this.buttonSaveElement = document.createElement('button');\n this.buttonDeleteElement = document.createElement('button');\n\n this.inputLabelElement.classList.add('taggd__editor-input');\n this.buttonSaveElement.classList.add('taggd__editor-button', 'taggd__editor-button--save');\n this.buttonDeleteElement.classList.add('taggd__editor-button', 'taggd__editor-button--delete');\n\n this.buttonSaveElement.innerHTML = Tag.LABEL_BUTTON_SAVE;\n this.buttonDeleteElement.innerHTML = Tag.LABEL_BUTTON_DELETE;\n\n this.buttonSaveElement.addEventListener('click', this.buttonSaveElementClickHandler);\n this.buttonDeleteElement.addEventListener('click', this.buttonDeleteElementClickHandler);\n\n this.popupElement.innerHTML = '';\n this.popupElement.appendChild(this.inputLabelElement);\n this.popupElement.appendChild(this.buttonSaveElement);\n this.popupElement.appendChild(this.buttonDeleteElement);\n\n // Set input content\n this.setText(this.text);\n return this;\n }\n\n /**\n * Disabled the tag controls\n * @return {Taggd.Tag} Current tag\n */\n\n }, {\n key: 'disableControls',\n value: function disableControls() {\n this.isControlsEnabled = false;\n\n this.inputLabelElement = undefined;\n this.buttonSaveElement = undefined;\n this.buttonDeleteElement = undefined;\n\n // Remove elements and set set content\n this.setText(this.text);\n return this;\n }\n\n /**\n * Get a Taggd.createFromObject-compatible object\n * @return {Object} A object for JSON\n */\n\n }, {\n key: 'toJSON',\n value: function toJSON() {\n function getAttributes(rawAttributes) {\n var attributes = {};\n\n Array.prototype.forEach.call(rawAttributes, function (attribute) {\n if (attribute.name === 'class' || attribute.name === 'style') {\n return;\n }\n\n attributes[attribute.name] = attribute.value;\n });\n\n return attributes;\n }\n\n return {\n position: {\n x: parseFloat(this.wrapperElement.style.left) / 100,\n y: parseFloat(this.wrapperElement.style.top) / 100\n },\n text: this.text,\n buttonAttributes: getAttributes(this.buttonElement.attributes),\n popupAttributes: getAttributes(this.popupElement.attributes)\n };\n }\n\n /**\n * Set element attributes\n * @param {DomNode} element - The element the attributes should be set to\n * @param {Object} [attributes = {}] - A map of attributes to set\n * @return {DomNode} The original element\n */\n\n }], [{\n key: 'setElementAttributes',\n value: function setElementAttributes(element) {\n var attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!ObjectIs.ofType(attributes, 'object') || Array.isArray(attributes)) {\n throw new TypeError(TypeErrorMessage.getObjectMessage(attributes));\n }\n\n (0, _entries2.default)(attributes).forEach(function (attribute) {\n var _attribute = (0, _slicedToArray3.default)(attribute, 2),\n attributeName = _attribute[0],\n attributeValue = _attribute[1];\n\n if (attributeName === 'class' && element.getAttribute(attributeName)) {\n var classValue = element.getAttribute(attributeName) + ' ' + attributeValue;\n element.setAttribute(attributeName, classValue);\n return;\n }\n\n element.setAttribute(attributeName, attributeValue);\n });\n\n return element;\n }\n\n /**\n * Get the position style\n * @param {Number} x - The tag’s x-coordinate\n * @param {Number} y - The tag’s y-coordinate\n * @return {Object} The style\n */\n\n }, {\n key: 'getPositionStyle',\n value: function getPositionStyle(x, y) {\n if (!ObjectIs.number(x)) {\n throw new TypeError(TypeErrorMessage.getFloatMessage(x));\n }\n if (!ObjectIs.number(y)) {\n throw new TypeError(TypeErrorMessage.getFloatMessage(y));\n }\n\n return {\n left: x * 100 + '%',\n top: y * 100 + '%'\n };\n }\n\n /**\n * Create a tag from object\n * @param {Object} object - The object containing all information\n * @return {Tag} The created Tag instance\n */\n\n }, {\n key: 'createFromObject',\n value: function createFromObject(object) {\n return new Tag(object.position, object.text, object.buttonAttributes, object.popupAttributes);\n }\n }]);\n return Tag;\n}(EventEmitter);\n\n/**\n * Label for a new tag\n * @const\n * @type {String}\n * @ignore\n */\n\n\nTag.LABEL_NEW_TAG = 'New tag';\n/**\n * Label for save button\n * @const\n * @type {String}\n * @ignore\n */\nTag.LABEL_BUTTON_SAVE = 'save';\n/**\n * Label for delete button\n * @const\n * @type {String}\n */\nTag.LABEL_BUTTON_DELETE = 'delete';\n\nmodule.exports = Tag;\n\n},{\"../util/event-emitter\":126,\"../util/object-is\":127,\"../util/type-error-message\":128,\"babel-runtime/core-js/object/entries\":9,\"babel-runtime/core-js/object/get-prototype-of\":11,\"babel-runtime/helpers/classCallCheck\":15,\"babel-runtime/helpers/createClass\":16,\"babel-runtime/helpers/get\":17,\"babel-runtime/helpers/inherits\":18,\"babel-runtime/helpers/possibleConstructorReturn\":19,\"babel-runtime/helpers/slicedToArray\":20}],124:[function(require,module,exports){\n'use strict';\n\nvar _isInteger = require('babel-runtime/core-js/number/is-integer');\n\nvar _isInteger2 = _interopRequireDefault(_isInteger);\n\nvar _assign = require('babel-runtime/core-js/object/assign');\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _get2 = require('babel-runtime/helpers/get');\n\nvar _get3 = _interopRequireDefault(_get2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar getElementOffset = require('offset');\nvar getScrollTop = require('scrolltop');\n\nvar Tag = require('./Tag');\nvar EventEmitter = require('../util/event-emitter');\nvar ObjectIs = require('../util/object-is');\nvar TypeErrorMessage = require('../util/type-error-message');\n\nvar Taggd = function (_EventEmitter) {\n (0, _inherits3.default)(Taggd, _EventEmitter);\n\n /**\n * Create a new taggd instance\n * @param {HTMLElement} image - The image to wrap\n * @param {Object} [options = {}] - The [options]{@link https://doclets.io/timseverien/taggd/master/options}\n * @param {Array} [data = []] - The [tags]{@link https://timseverien.github.io/taggd/v3/generator}\n */\n function Taggd(image) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n (0, _classCallCheck3.default)(this, Taggd);\n\n if (!image instanceof Element) {\n throw new TypeError(TypeErrorMessage.getMessage(image, Element));\n }\n\n var _this = (0, _possibleConstructorReturn3.default)(this, (Taggd.__proto__ || (0, _getPrototypeOf2.default)(Taggd)).call(this));\n\n _this.wrapper = document.createElement('div');\n _this.wrapper.classList.add('taggd');\n\n image.classList.add('taggd__image');\n\n image.parentElement.insertBefore(_this.wrapper, image);\n image.parentElement.removeChild(image);\n _this.wrapper.appendChild(image);\n\n _this.image = image;\n _this.options = {};\n _this.tags = [];\n\n _this.imageClickHandler = function (e) {\n var scrollTop = getScrollTop();\n var offset = getElementOffset(_this.image);\n\n var position = {\n x: (e.pageX - offset.left) / _this.image.width,\n y: (e.pageY - offset.top - scrollTop) / _this.image.height\n };\n\n var tag = new Tag(position, Tag.LABEL_NEW_TAG);\n tag.enableControls();\n\n _this.addTag(tag);\n };\n\n _this.setOptions(options);\n _this.setTags(data);\n return _this;\n }\n\n /**\n * Subscribe to an event.\n * @param {String} eventName - The event to subscribe to.\n * @param {Function} handler - The handler to execute.\n * @return {Taggd} Current Taggd instance\n */\n\n\n (0, _createClass3.default)(Taggd, [{\n key: 'on',\n value: function on(eventName, handler) {\n return (0, _get3.default)(Taggd.prototype.__proto__ || (0, _getPrototypeOf2.default)(Taggd.prototype), 'on', this).call(this, eventName, handler);\n }\n\n /**\n * Unsubscribe from an event.\n * @param {String} eventName - The event to unsubscribe from.\n * @param {Function} handler - The handler that was used to subscribe.\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'off',\n value: function off(eventName, handler) {\n return (0, _get3.default)(Taggd.prototype.__proto__ || (0, _getPrototypeOf2.default)(Taggd.prototype), 'off', this).call(this, eventName, handler);\n }\n\n /**\n * Subscribe to an event and unsubscribe once triggered.\n * @param {String} eventName - The event to subscribe to.\n * @param {Function} handler - The handler to execute.\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'once',\n value: function once(eventName, handler) {\n return (0, _get3.default)(Taggd.prototype.__proto__ || (0, _getPrototypeOf2.default)(Taggd.prototype), 'once', this).call(this, eventName, handler);\n }\n\n /**\n * Set taggd options\n * @param {Object} options - The options to set\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'setOptions',\n value: function setOptions(options) {\n if (!ObjectIs.ofType(options, 'object') || Array.isArray(options)) {\n throw new TypeError(TypeErrorMessage.getObjectMessage(options));\n }\n\n this.options = (0, _assign2.default)(this.options, Taggd.DEFAULT_OPTIONS, options);\n return this;\n }\n\n /**\n * Add a single tag\n * @param {Taggd.Tag} tag - The tag to add\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'addTag',\n value: function addTag(tag) {\n var _this2 = this;\n\n if (!ObjectIs.ofInstance(tag, Tag)) {\n throw new TypeError(TypeErrorMessage.getTagMessage(tag));\n }\n\n var isCanceled = !this.emit('taggd.tag.add', this, tag);\n var hideTimeout = void 0;\n\n /**\n * Test whether the event’s target is the button Element\n * @param {Event} e - The event object\n * @return {Boolean} Whether the event’s target is the button element\n */\n var isTargetButton = function isTargetButton(e) {\n return e.target === tag.buttonElement;\n };\n var clearTimeout = function clearTimeout() {\n if (hideTimeout) {\n window.clearTimeout(hideTimeout);\n hideTimeout = undefined;\n }\n };\n\n if (!isCanceled) {\n // Add events to show/hide tags\n // If show and hide event are identical, set show/hide mode to toggle\n if (this.options.show === this.options.hide) {\n tag.buttonElement.addEventListener(this.options.show, function (e) {\n if (!isTargetButton(e)) return;\n\n clearTimeout();\n\n if (tag.isHidden()) {\n tag.show();\n } else {\n tag.hide();\n }\n });\n } else {\n tag.buttonElement.addEventListener(this.options.show, function (e) {\n if (!isTargetButton(e)) return;\n\n clearTimeout();\n tag.show();\n });\n tag.buttonElement.addEventListener(this.options.hide, function (e) {\n if (!isTargetButton(e)) return;\n\n clearTimeout();\n\n // If the use moves the mouse between the button and popup, a delay should give some time\n // to do just that. This only applies to the mouseleave event.\n if (_this2.options.hide === 'mouseleave') {\n hideTimeout = window.setTimeout(function () {\n return tag.hide();\n }, _this2.options.hideDelay);\n } else {\n tag.hide();\n }\n });\n\n // Force visibility if user interacts with the popup element\n if (this.options.hide === 'mouseleave') {\n tag.popupElement.addEventListener('mouseover', function () {\n return clearTimeout();\n });\n tag.popupElement.addEventListener('mouseleave', function () {\n return tag.hide();\n });\n }\n }\n\n tag.once('taggd.tag.delete', function () {\n var tagIndex = _this2.tags.indexOf(tag);\n\n if (tagIndex >= 0) {\n _this2.deleteTag(tagIndex);\n }\n });\n\n // Route all tag events through taggd instance\n tag.onAnything(function (eventName) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [eventName, _this2].concat(args));\n });\n\n this.tags.push(tag);\n this.wrapper.appendChild(tag.wrapperElement);\n\n this.emit('taggd.tag.added', this, tag);\n }\n\n return this;\n }\n\n /**\n * Get a single tag by index\n * @param {Number} index - The index of the desired tag\n * @return {Taggd.Tag} The tag to get\n */\n\n }, {\n key: 'getTag',\n value: function getTag(index) {\n if (!(0, _isInteger2.default)(index)) {\n throw new TypeError(TypeErrorMessage.getIntegerMessage(index));\n }\n\n return this.tags[index];\n }\n\n /**\n * Delete a single tag by index\n * @param {Number} index - The index of the desired tag\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'deleteTag',\n value: function deleteTag(index) {\n if (!(0, _isInteger2.default)(index)) {\n throw new TypeError(TypeErrorMessage.getIntegerMessage(index));\n }\n\n if (!this.tags[index]) {\n throw new Error('Tag at index ' + index + ' does not exist.');\n }\n\n var tag = this.tags[index];\n var isCanceled = !this.emit('taggd.tag.delete', this, tag);\n\n if (!isCanceled) {\n this.wrapper.removeChild(tag.wrapperElement);\n this.tags.splice(index, 1);\n\n this.emit('taggd.tag.deleted', this, tag);\n }\n\n return this;\n }\n\n /**\n * Set all tags\n * @param {Taggd.Tag[]} tags An array of tags\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'setTags',\n value: function setTags(tags) {\n this.deleteTags();\n this.addTags(tags);\n return this;\n }\n\n /**\n * Add multiple tags\n * @param {Taggd.Tag[]} tags - An array of tags\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'addTags',\n value: function addTags(tags) {\n var _this3 = this;\n\n if (!Array.isArray(tags)) {\n throw new TypeError(TypeErrorMessage.getArrayMessage(tags, 'Taggd.Tag'));\n }\n\n tags.forEach(function (tag) {\n return _this3.addTag(tag);\n });\n return this;\n }\n\n /**\n * Get all tags\n * @return {Taggd.Tag[]} All tags of this Taggd instance\n */\n\n }, {\n key: 'getTags',\n value: function getTags() {\n return this.tags;\n }\n\n /**\n * Remove all tags\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'deleteTags',\n value: function deleteTags() {\n while (this.tags.length > 0) {\n this.deleteTag(0);\n }\n return this;\n }\n\n /**\n * Iterate and replace all tags\n * @param {Function} callback - The callback to execute for all tags\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'map',\n value: function map(callback) {\n if (!ObjectIs.function(callback)) {\n throw new TypeError(TypeErrorMessage.getFunctionMessage(callback));\n }\n\n this.tags = this.tags.map(callback);\n return this;\n }\n\n /**\n * Clean up memory\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n var isCanceled = !this.emit('taggd.destroy', this);\n\n if (!isCanceled) {\n this.deleteTags();\n }\n\n return this;\n }\n\n /**\n * Enable editor mode\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'enableEditorMode',\n value: function enableEditorMode() {\n var isCanceled = !this.emit('taggd.editor.enable', this);\n\n if (!isCanceled) {\n this.image.addEventListener('click', this.imageClickHandler);\n this.getTags().forEach(function (tag) {\n return tag.enableControls();\n });\n }\n\n return this;\n }\n\n /**\n * Disable editor mode\n * @return {Taggd} Current Taggd instance\n */\n\n }, {\n key: 'disableEditorMode',\n value: function disableEditorMode() {\n var isCanceled = !this.emit('taggd.editor.disable', this);\n\n if (!isCanceled) {\n this.image.removeEventListener('click', this.imageClickHandler);\n this.getTags().forEach(function (tag) {\n return tag.disableControls();\n });\n }\n\n return this;\n }\n }]);\n return Taggd;\n}(EventEmitter);\n\n/**\n * Default options for all Taggd instances\n * @const\n * @type {Object}\n * @ignore\n */\n\n\nTaggd.DEFAULT_OPTIONS = {\n show: 'mouseenter',\n hide: 'mouseleave',\n hideDelay: 500\n};\n\nmodule.exports = Taggd;\nmodule.exports.Tag = Tag;\n\nwindow.Taggd = module.exports;\n\n},{\"../util/event-emitter\":126,\"../util/object-is\":127,\"../util/type-error-message\":128,\"./Tag\":123,\"babel-runtime/core-js/number/is-integer\":3,\"babel-runtime/core-js/object/assign\":6,\"babel-runtime/core-js/object/get-prototype-of\":11,\"babel-runtime/helpers/classCallCheck\":15,\"babel-runtime/helpers/createClass\":16,\"babel-runtime/helpers/get\":17,\"babel-runtime/helpers/inherits\":18,\"babel-runtime/helpers/possibleConstructorReturn\":19,\"offset\":121,\"scrolltop\":122}],125:[function(require,module,exports){\n'use strict';\n\nvar _Tag = require('./classes/Tag');\n\nvar _Tag2 = _interopRequireDefault(_Tag);\n\nvar _Taggd = require('./classes/Taggd');\n\nvar _Taggd2 = _interopRequireDefault(_Taggd);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_Taggd2.default.Tag = _Tag2.default;\n\nmodule.exports = _Taggd2.default;\n\n},{\"./classes/Tag\":123,\"./classes/Taggd\":124}],126:[function(require,module,exports){\n'use strict';\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EVENT_WILDCARD = '*';\n\nvar EventEmitter = function () {\n function EventEmitter() {\n (0, _classCallCheck3.default)(this, EventEmitter);\n\n this.handlers = {};\n }\n\n (0, _createClass3.default)(EventEmitter, [{\n key: 'onAnything',\n value: function onAnything(handler) {\n this.on(EVENT_WILDCARD, handler);\n }\n }, {\n key: 'on',\n value: function on(eventName, handler) {\n if (!this.handlers[eventName]) {\n this.handlers[eventName] = [];\n }\n\n this.handlers[eventName].push(handler);\n }\n }, {\n key: 'off',\n value: function off(eventName, handler) {\n if (!this.handlers[eventName]) return;\n\n var handlerIndex = this.handlers[eventName].indexOf(handler);\n\n if (handlerIndex >= 0) {\n this.handlers[eventName].splice(handlerIndex, 1);\n }\n }\n }, {\n key: 'once',\n value: function once(eventName, handler) {\n var _this = this;\n\n this.on(eventName, function () {\n handler.apply(undefined, arguments);\n _this.off(eventName, handler);\n });\n }\n }, {\n key: 'emit',\n value: function emit(eventName) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var isCanceled = false;\n\n if (this.handlers[EVENT_WILDCARD]) {\n this.handlers[EVENT_WILDCARD].forEach(function (eventHandler) {\n var returnValue = eventHandler.apply(undefined, [eventName].concat(args));\n isCanceled = returnValue !== undefined && !returnValue || isCanceled;\n });\n }\n\n if (this.handlers[eventName]) {\n this.handlers[eventName].forEach(function (eventHandler) {\n var returnValue = eventHandler.apply(undefined, args);\n isCanceled = returnValue !== undefined && !returnValue || isCanceled;\n });\n }\n\n return !isCanceled;\n }\n }]);\n return EventEmitter;\n}();\n\nmodule.exports = EventEmitter;\n\n},{\"babel-runtime/helpers/classCallCheck\":15,\"babel-runtime/helpers/createClass\":16}],127:[function(require,module,exports){\n'use strict';\n\nvar _parseFloat = require('babel-runtime/core-js/number/parse-float');\n\nvar _parseFloat2 = _interopRequireDefault(_parseFloat);\n\nvar _isNan = require('babel-runtime/core-js/number/is-nan');\n\nvar _isNan2 = _interopRequireDefault(_isNan);\n\nvar _typeof2 = require('babel-runtime/helpers/typeof');\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n /**\n * Check wheter an object is an instance of type\n * @param {Object} object - The object to test\n * @param {Object} type - The class to test\n * @return {Boolean}\n */\n ofInstance: function ofInstance(object, type) {\n return object instanceof type;\n },\n\n /**\n * Check whether an object is equals to given type\n * @param {Object} object - The object to test\n * @param {String} type - The type to test\n * @return {Boolean}\n */\n ofType: function ofType(object, type) {\n return (typeof object === 'undefined' ? 'undefined' : (0, _typeof3.default)(object)) === type;\n },\n\n /**\n * Check whether given object is a function\n * @param {Object} object - The object to test\n * @return {Boolean}\n */\n function: function _function(object) {\n return typeof object === 'function';\n },\n\n /**\n * Check whether given object is a Number\n * @param {Object} object - The object to test\n * @return {Boolean}\n */\n number: function number(object) {\n return !(0, _isNan2.default)((0, _parseFloat2.default)(object));\n }\n};\n\n},{\"babel-runtime/core-js/number/is-nan\":4,\"babel-runtime/core-js/number/parse-float\":5,\"babel-runtime/helpers/typeof\":21}],128:[function(require,module,exports){\n'use strict';\n\nvar TypeErrorMessage = {\n /**\n * Get the TypeError message\n * @param {Object} object - The tested object\n * @param {String} expectedType - A string describing the expected type\n * @return {String} The error message\n */\n getMessage: function getMessage(object, expectedType) {\n return object + ' should be ' + expectedType;\n },\n\n /**\n * Get the TypeError Array message\n * @param {Object} object - The tested object\n * @param {String} expectedType - The expected type of all array items\n * @return {String} The error message\n */\n getArrayMessage: function getArrayMessage(object, expectedType) {\n if (expectedType) {\n return TypeErrorMessage.getTypeErrorMessage(object, 'an array of ' + expectedType);\n }\n return TypeErrorMessage.getTypeErrorMessage(object, 'an array');\n },\n\n /**\n * Get the TypeError Function message\n * @param {Object} object - The tested object\n * @return {String} The error message\n */\n getFunctionMessage: function getFunctionMessage(object) {\n return TypeErrorMessage.getTypeErrorMessage(object, 'a function');\n },\n\n /**\n * Get the TypeError Integer message\n * @param {Object} object - The tested object\n * @return {String} The error message\n */\n getIntegerMessage: function getIntegerMessage(object) {\n return TypeErrorMessage.getTypeErrorMessage(object, 'an integer');\n },\n\n /**\n * Get the TypeError Float message\n * @param {Object} object - The tested object\n * @return {String} The error message\n */\n getFloatMessage: function getFloatMessage(object) {\n return TypeErrorMessage.getTypeErrorMessage(object, 'a floating number');\n },\n\n /**\n * Get the TypeError Object message\n * @param {Object} object - The tested object\n * @return {String} The error message\n */\n getObjectMessage: function getObjectMessage(object) {\n return TypeErrorMessage.getTypeErrorMessage(object, 'an object');\n },\n\n /**\n * Get the TypeError Taggd.Tag message\n * @param {Object} object - The tested object\n * @return {String} The error message\n */\n getTagMessage: function getTagMessage(object) {\n return TypeErrorMessage.getTypeErrorMessage(object, 'a tag');\n },\n\n /**\n * Get TypeError message\n * @param {Object} object - The tested object\n * @param {String} message - The type message\n * @return {String} The error message\n */\n getTypeErrorMessage: function getTypeErrorMessage(object, message) {\n return object + ' is not a ' + message;\n }\n};\n\nmodule.exports = TypeErrorMessage;\n\n},{}]},{},[125])(125)\n});"]}