{"version":3,"sources":["webpack:///d-game.js","webpack:///webpack/bootstrap 29322390610edb929732","webpack:////Users/brendon/Dev/www/vue/lib/vue.js","webpack:///../node_modules/suga/lib/suga.js","webpack:///../node_modules/gsap/src/minified/TweenMax.min.js","webpack:///../node_modules/webpack/buildin/global.js","webpack:///../node_modules/pug-runtime/index.js","webpack:///./babel/app/game.js","webpack:///./config/config.yaml","webpack:///./config/errors.yaml","webpack:///./themes/tr/images.js","webpack:///./themes/tr/img/logo-title@3x.png","webpack:///./themes/tr/img/background@3x.jpg","webpack:///./themes/tr/img/color-mask@3x.png","webpack:///./themes/tr/img/button-normal@3x.png","webpack:///./themes/tr/img/button-hover@3x.png","webpack:///./themes/tr/img/play@3x.png","webpack:///./themes/tr/img/autoplay@3x.png","webpack:///./themes/tr/img/title-characters@3x.png","webpack:///./themes/tr/img/curtain-side@3x.png","webpack:///./themes/tr/img/curtain-top@3x.png","webpack:///./themes/tr/img/curtain@3x.png","webpack:///./themes/tr/img/try-counter@3x.png","webpack:///./themes/tr/img/inventory@3x.png","webpack:///./themes/tr/img/glow-overlay@3x.png","webpack:///./themes/tr/img/daughter@3x.png","webpack:///./themes/tr/img/money-state-2@3x.png","webpack:///./themes/tr/img/gem-1@3x.png","webpack:///./themes/tr/img/gem-2@3x.png","webpack:///./themes/tr/img/gem-3@3x.png","webpack:///./themes/tr/img/gem-4@3x.png","webpack:///./themes/tr/img/gem-5@3x.png","webpack:///./themes/tr/img/gem-6@3x.png","webpack:///./themes/tr/img/x1-gold@3x.png","webpack:///./themes/tr/img/x3-gold@3x.png","webpack:///./themes/tr/img/x5-gold@3x.png","webpack:///./themes/tr/img/x10-gold@3x.png","webpack:///./themes/tr/img/x250-gold@3x.png","webpack:///./themes/tr/img/x3000-gold@3x.png","webpack:///./themes/tr/img/x1-silver@3x.png","webpack:///./themes/tr/img/x3-silver@3x.png","webpack:///./themes/tr/img/x5-silver@3x.png","webpack:///./themes/tr/img/x10-silver@3x.png","webpack:///./themes/tr/img/x250-silver@3x.png","webpack:///./themes/tr/img/x3000-silver@3x.png","webpack:///./themes/tr/sprite/vase-1@3x.json","webpack:///./themes/tr/sprite/vase-2@3x.json","webpack:///./themes/tr/sprite/vase-3@3x.json","webpack:///./themes/tr/sprite/vase-4@3x.json","webpack:///./themes/tr/sprite/vase-5@3x.json","webpack:///./themes/tr/sprite/vase-6@3x.json","webpack:///./themes/tr/sprite/vase-1@3x.png","webpack:///./themes/tr/sprite/vase-2@3x.png","webpack:///./themes/tr/sprite/vase-3@3x.png","webpack:///./themes/tr/sprite/vase-4@3x.png","webpack:///./themes/tr/sprite/vase-5@3x.png","webpack:///./themes/tr/sprite/vase-6@3x.png","webpack:///./themes/tr/sprite/gems@3x.json","webpack:///./themes/tr/sprite/gems@3x.png","webpack:///./themes/tr/sprite/dust@3x.json","webpack:///./themes/tr/sprite/dust@3x.png","webpack:///./themes/tr/sprite/flame@3x.json","webpack:///./themes/tr/sprite/flame@3x.png","webpack:///./themes/tr/sprite/money@3x.json","webpack:///./themes/tr/sprite/money@3x.png","webpack:///../node_modules/loglevel/lib/loglevel.js","webpack:///../node_modules/pixi-timeout/lib/pixi-timeout.js","webpack:///../node_modules/pixi-pause/lib/pixi-pause.js","webpack:///../node_modules/pixi-center/lib/pixi-center.js","webpack:////Users/brendon/Dev/www/pariplay/lib/pariplay.js","webpack:///./babel/model/image-model.js","webpack:///./sprite/buttons@3x.json","webpack:///./sprite/buttons@3x.png","webpack:///./img/btn/button-secondary-normal@3x.png","webpack:///./img/btn/button-secondary-hover@3x.png","webpack:///./babel/model/game-model.js","webpack:///../node_modules/webpack/buildin/amd-options.js","webpack:///./babel/vendor/custom-ease.js","webpack:///./pug/toast.pug","webpack:///./themes/tr/view/game-view.js","webpack:///./themes/tr/view/dust-view.js","webpack:///./themes/tr/view/vases-view.js","webpack:///./themes/tr/view/locations.js","webpack:///./themes/tr/view/vase-view.js","webpack:///./themes/tr/view/candles-view.js","webpack:///./themes/tr/view/flame-view.js","webpack:///./themes/tr/view/try-counter-view.js","webpack:///./themes/tr/view/money-bag-view.js","webpack:///./themes/tr/view/inventory-view.js","webpack:///./themes/tr/view/multiplier-view.js","webpack:///./themes/tr/view/ticket-id-view.js","webpack:///./themes/tr/view/explanation-view.js","webpack:///./themes/tr/view/bet-btn.js","webpack:///./themes/tr/view/play-btn.js","webpack:///./themes/tr/view/help-view.js","webpack:///./themes/tr/view/curtain-view.js","webpack:///./themes/tr/view/menu-view.js","webpack:///./themes/tr/view/win-view.js","webpack:///./lang ^\\.\\/.*\\.json$","webpack:///./lang/cs.json","webpack:///./lang/de.json","webpack:///./lang/en.json","webpack:///./lang/hu.json","webpack:///./lang/pl.json","webpack:///./lang/pt.json","webpack:///./lang/sk.json","webpack:///./lang/sv.json","webpack:///./themes/tr/font ^\\.\\/.*\\.eot$","webpack:///./themes/tr/font/SignPainter-HouseScript.eot","webpack:///./themes/tr/font/proximasoft-bold-webfont.eot","webpack:///./themes/tr/font/proximasoft-regular-webfont.eot","webpack:///./themes/tr/font ^\\.\\/.*\\.svg$","webpack:///./themes/tr/font/SignPainter-HouseScript.svg","webpack:///./themes/tr/font/proximasoft-bold-webfont.svg","webpack:///./themes/tr/font/proximasoft-regular-webfont.svg","webpack:///./themes/tr/font ^\\.\\/.*\\.ttf$","webpack:///./themes/tr/font/SignPainter-HouseScript.ttf","webpack:///./themes/tr/font/proximasoft-bold-webfont.ttf","webpack:///./themes/tr/font/proximasoft-regular-webfont.ttf","webpack:///./themes/tr/font ^\\.\\/.*\\.woff$","webpack:///./themes/tr/font/SignPainter-HouseScript.woff","webpack:///./themes/tr/font/proximasoft-bold-webfont.woff","webpack:///./themes/tr/font/proximasoft-regular-webfont.woff","webpack:///./themes/tr/font ^\\.\\/.*\\.woff2$","webpack:///./themes/tr/font/proximasoft-bold-webfont.woff2","webpack:///./themes/tr/font/proximasoft-regular-webfont.woff2","webpack:///./themes/tr/fonts.css","webpack:///./themes/tr/sound/audio-sprite.json","webpack:///./themes/tr/sound/audio-sprite.mp3","webpack:///./themes/tr/sound/audio-sprite.ogg"],"names":["modules","__webpack_require__","moduleId","installedModules","exports","module","i","l","call","parentJsonpFunction","window","chunkIds","moreModules","executeModules","chunkId","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","shift","d-game","e","onScriptComplete","script","onerror","onload","clearTimeout","timeout","chunk","Error","undefined","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","createElement","type","charset","async","nc","setAttribute","src","p","debug","setTimeout","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error","s","root","factory","this","value","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","create","constructor","writable","setPrototypeOf","__proto__","_createClass","defineProperties","target","props","descriptor","key","protoProps","staticProps","Button","_PIXI$Container","options","_this","getPrototypeOf","tag","isEnabled","interactive","buttonMode","tapped","remainActive","bgUrl","bg","PIXI","Sprite","fromImage","addChild","normalUrl","normal","hoverUrl","hover","text","setText","textStyle","tint","iconUrl","icon","centerX","centerY","reset","style","Text","x","Math","round","width","y","height","stopPropagation","hovered","visible","isHovered","_tapped","alpha","disable","_this2","blinkInterval","setInterval","blinkActive","blink","clearInterval","Container","default","_stats","_stats2","obj","_util","CanvasManager","bottomBarView","gameBg","views","overlays","historyStates","isTransitioning","fixedAspect","forceCanvas","dpi","showFPS","backgroundAnchor","transitionSpeed","parallaxBgOffeset","defaultGameWidth","defaultGameHeight","font","onPageVisibility","onResize","buttonOffset","buttonPadding","gameDimensions","scale","onpopstate","popHistory","SUGA","Device","resize","data","sizeToFit","pageVisibility","isVisible","canvasContainerEle","getElementById","canvasEle","rendererOptions","view","transparent","autoResize","antialias","resolution","clearBeforeRender","w","h","app","Application","renderer","backgroundColor","__ticker","ticker","outerStage","stage","innerStage","disableScrolling","stats","body","dom","add","update","addBackground","addUiBars","display","rendererH","rendererW","vp","getViewport","gW","gH","widthGrowthRatio","heightGrowthRatio","centerBg","ratio","position","set","rendererWidth","gameWidth","defaultWidth","defaultHeight","viewportWidth","viewportHeight","settingsView","foregroundView","backgroundView","resizeViews","allViews","concat","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","done","resizeView","return","buttons","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","button","placeButton","order","anchor","addChildAt","bringToFront","scaleToFill","originalX","sprite","parallaxPadding","rW","rH","bgW","texture","bgH","ratioW","ratioH","floor","arguments","addView","isViewShowing","_pushView","bringUiToFront","currentView","isHTML","Reality","canShowRealityCheck","isRootView","willShow","pushHistory","lastItem","interactiveChildren","willHide","didShow","newX","TweenMax","to","onUpdate","showingProgress","domX","innerWidth","onComplete","renderable","didHide","pop","removeSelf","_this3","animate","removeView","nextView","popView","v","overlayView","isOverlayShowing","_pushOverlay","disableUserActions","suppressEvents","_this4","isLastOverlay","enableUserActions","overlayTimer","filters","hide","removeChild","popOverlay","history","pushState","replaceState","back","preventDefault","tmp","spacebarHit","_this5","onkeydown","event","keyCode","plugins","interaction","autoPreventDefault","extend","parent","zSort","sortIt","a","b","z","children","sort","getByTag","objects","Array","from","child","removeAllChildren","removeChildren","scaleUp","fontSize","change","lineHeight","sizeToFitHeight","log","DisplayObject","_interopRequireDefault","_buttons","_buttons2","_counter","_counter2","BottomBarView","gameModel","currencyManager","bgAlpha","winAmount","lastWin","textYOffset","textGap","showTickets","infoGroupWidth","counterTween","ticketsLabel","ticketsLeftText","betlabel","betText","balanceLabel","balanceText","lastWinLabel","lastWinText","AutoplayLabel","autoplayText","letterSpacing","determineLetterSpacing","labelStyle","fontFamily","fontWeight","fill","wordWrap","padding","valueStyle","primaryColor","_setDimension","gameHeight","isBasketMode","showHomeButton","showHelpButton","showAutoplay","addBg","addInfoContainer","buttonOpts","mute","getMute","helpButtonHandler","onHelpClick","homeButtonHandler","onHomeClick","muteButtonHandler","onMuteClick","settingsButtonHandler","onSettingsClick","fullscreenEnabled","fullscreenButtonHandler","onFullscreenClick","buttonContainer","ticketX","addAutplayInfo","Event","on","amount","updateTicketCount","addTickets","getRoundsLeft","dontShowStake","getStake","localize","showLastWin","addLastWin","dontShowBalance","addBalance","getBalance","updateBalance","infoContainerXOffset","Graphics","beginFill","drawRect","endFill","infoContainer","label","handler","container","ticketLabel","ticketValue","pointerup","stake","formatter","currencyMultiplier","getCurrencyMultiplier","balanceValue","setBalance","instantFinish","newBalance","cb","newCount","count","balance","updateCount","setCount","lastWinValue","setLastWin","pill","drawRoundedRect","pointerover","pointerout","autoplayLabel","autoplayValue","rounds","displaySoundOnButton","displaySoundOffButton","defaultSpacing","maxLength","array","forEach","HelpView","size","balanceBarHeight","canClick","isShowing","backButtonHandler","onBackClick","align","addIframe","helpUrl","_size","progress","left","iframe","bottom","receiveMessage","buttonClick","addEventListener","prevWidth","_button","_button2","NotificationView","overlayAlpha","wordWrapWidth","msgStyle","buttonTextStyle","showCashierButton","showHistoryButton","showBuyMoreButton","buttonImages","inner","overlay","title","message","actions","textHeight","addText","addButtons","showOverlay","hideOverlay","onHide","msg","__t","str","titleText","messageText","unreversedActions","slice","reverse","j","action","canPerformAction","offset","addButton","total","trigger","Pixi","Canvas","_canvas","_canvas2","_pixiExtend","newObj","_bottomBarView","_bottomBarView2","_helpView","_helpView2","_notificationView","_notificationView2","enable","normalBg","buttonImage","toggleState","setOn","setOff","state","buttonOffImage","ButtonContainer","assign","buttonYOffset","color","addHomeButton","addLine","addSoundButton","addHelpButton","addFullscreenButton","graphics","lineStyle","moveTo","lineTo","cachedAsBitmap","img","Loader","makeTexturesFromName","homeButton","homeButtonClick","Sound","play","helpButton","helpButtonClick","toggleBtn","soundButton","toggleSoundClick","fullscreen","fullscreenBtn","fullscreenClick","_typeof","Counter","_PIXI$Text","initCount","currencyMulitplier","maxPrize","zeroSymbol","totalProgress","kill","currentCount","centerCount","diff","ceil","log10","timeLength","LOG10E","frames","steps","ease","SteppedEase","config","f","u","cssText","k","performance","Date","now","g","r","Panel","memory","t","REVISION","addPanel","showPanel","begin","end","usedJSHeapSize","jsHeapSizeLimit","domElement","setMode","Infinity","devicePixelRatio","q","getContext","textBaseline","fillStyle","fillRect","fillText","globalAlpha","min","max","drawImage","implementation","Function","bind","top","myNav","navigator","userAgent","toLowerCase","indexOf","parseInt","split","test","MSStream","MaxTouchPoints","msMaxTouchPoints","isLandscape","getDpi","documentElement","clientWidth","clientHeight","innerHeight","throttleMs","callback","hidden","visibilityChange","handleVisibilityChange","mozHidden","msHidden","webkitHidden","element","fullscreenElement","exitFullscreen","enterFullscreen","isFullscreen","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","msRequestFullscreen","mozCancelFullScreen","webkitExitFullscreen","msExitFullscreen","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","clock","id","innerHTML","timeNow","right","zIndex","borderRadius","updateClock","clockTimer","parentNode","getHours","getMinutes","addClock","removeClock","Network","url","version","request","XMLHttpRequest","open","status","ontimeout","send","JSON","parse","responseText","eval","keys","foreach","hasSymbols","toStr","toString","isFunction","fn","supportsDescriptors","_","predicate","map","predicates","getOwnPropertySymbols","fnToStr","constructorRegex","isES6ClassFn","fnStr","singleStripped","replace","multiStripped","spaceStripped","tryFunctionObject","hasToStringTag","toStringTag","strClass","ES","String","leftWhitespace","rightWhitespace","S","ToString","CheckObjectCoercible","zeroWidthSpace","trim","Currency","defaults","locales","currencies","locale","currency","cc","toUpperCase","lc","parts","format","decimal","thousand","symbol","_lookFor","noSymbolFormat","nbspToSpace","query","val","len","isNaN","parseFloat","isFinite","showSymbol","show00","isNotNumeric","roundToDecimal","precision","getPrecision","formatNumber","result","usePrecision","negative","base","abs","toFixed","mod","substr","char","charCodeAt","fromCharCode","%s %v","%v %s","%v%s",","," ",".","'","€","£","kr","$","Դ","R$","Kč","¥","zł","Ft","₦","৳","CHF","Rp","₩","₨","RM","C$","₱","₽","฿","R","₺","eventName","eventData","CustomEvent","detail","dispatchEvent","onlyOnce","_callback","off","removeEventListener","_webfontloader","_webfontloader2","Font","names","load","custom","families","urls","active","styles","getStylesFromNames","inactive","nameParts","weights","_i","weight","_font","loadAssets","progressHandler","loader","loaders","allNamespaces","uniq","resources","defaultQueryString","__version","onProgress","once","textures","namespace","newTextures","makeTexturesFromNamespace","sortArrayByKey","re","RegExp","match","__name","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","resourceName","_network","_network2","_nodePolyglot","_nodePolyglot2","Locale","defaultLocale","polyglot","warn","clear","hasDefaultLocale","localeCode","chain","getLoadingChain","loadLocaleData","defaultCode","path","getJSON","json","string","vars","Progress","selector","percent","queue","hasStarted","isProcessingQueue","doneDelay","incDelay","queueTimer","trickleTimer","bar","percentage","processQueue","delay","random","trickle","interval","elapsed","started","startTime","needsToShowRealityCheck","allowedToShowRealityCheck","setHandler","isInitialized","triggerHandler","getTime","lastTime","loopInterval","currentTime","tryToShowRealityCheck","triggerRealityCheck","duration","timeObj","msToTime","milli","hours","minutes","_howlerCoreMin","_device","_device2","Howler","mobileAutoEnable","masterVolume","volumes","audioSpriteObj","mp3","ogg","ids","startOnInteraction","autoMute","startAudioOnInteraction","startAudio","startAutoMute","sound","Howl","volume","onloaderror","resumeAll","pauseAll","newValue","vol","onlyIfNotPlaying","isPlayingByName","pause","sequence","playSequence","unpause","killByName","getSoundById","_volume","fade","_sounds","_paused","_ended","track","_id","_sprite","stop","playingId","stopFn","recursiveSequence","seq","item","_cb","endedId","Tracking","gameCode","jsErrors","category","ga","hitType","eventCategory","eventAction","eventLabel","eventValue","desc","fatal","exception","exDescription","exFatal","appName","appVersion","lineAndColumnInfo","colno","lineno","location","filename","ce","defaultPrevented","params","evt","origPrevent","bubbles","cancelable","createEvent","initCustomEvent","sorters","number","ary","prop","Set","global","Data","_currency","_currency2","_event","_event2","_font2","_progress","_progress2","_locale","_locale2","_loader","_loader2","_reality","_reality2","_sound","_sound2","_tracking","_tracking2","_currency3","_currency4","$isNaN","$isFinite","sign","IsCallable","toPrimitive","ES5","ToPrimitive","ToBoolean","Boolean","ToNumber","Number","ToInteger","ToInt32","ToUint32","ToUint16","posInt","ToObject","optMessage","SameValue","Type","modulo","remain","isPrimitive","isCallable","ES5internalSlots","[[DefaultValue]]","O","hint","actualHint","methods","input","PreferredType","list","context","forEachArray","forEachString","forEachObject","charAt","hasOwn","ctx","that","bound","args","binder","apply","boundLength","boundArgs","join","Empty","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","init","_codecs","_howls","_muted","_canPlayEvent","_navigator","masterGain","noAudio","usingWebAudio","autoSuspend","_setup","gain","setValueAtTime","_webAudio","_getSoundIds","_soundById","_node","muted","unload","close","codecs","_autoSuspend","Audio","oncanplaythrough","_setupCodecs","canPlayType","mpeg","opus","oga","wav","aac","caf","m4a","mp4","weba","webm","dolby","flac","_enableMobileAudio","maxTouchPoints","_mobileEnabled","_mobileUnloaded","sampleRate","_scratchBuffer","createBuffer","_autoResume","createBufferSource","buffer","connect","destination","start","noteOn","resume","onended","disconnect","suspend","_suspendTimer","then","_resumeAfterSuspend","_emit","_autoplay","autoplay","_format","_html5","html5","_loop","loop","_pool","pool","_preload","preload","_rate","rate","_src","_xhrWithCredentials","xhrWithCredentials","_duration","_state","_endTimers","_queue","_playLock","_onend","onend","_onfade","onfade","_onload","_onloaderror","_onplayerror","onplayerror","_onpause","onpause","_onplay","onplay","_onstop","onstop","_onmute","onmute","_onvolume","onvolume","_onrate","onrate","_onseek","onseek","_onresume","exec","protocol","_inactiveSound","_seek","_start","_stop","_refreshBuffer","_playStart","bufferSource","noteGrainOn","_clearTimer","playbackRate","_loadQueue","paused","ejecta","readyState","isCocoonJS","seek","_rateSeek","_stopFade","noteOff","_cleanBuffer","_interval","linearRampToValueAtTime","_startFadeInterval","_fadeTo","cancelScheduledValues","loopStart","loopEnd","playing","_errorFn","_loadFn","splice","isArray","ended","_drain","_panner","_parent","createGain","createGainNode","_errorListener","_loadListener","code","__default","atob","Uint8Array","withCredentials","responseType","response","decodeAudioData","AudioContext","webkitAudioContext","platform","standalone","HowlerGlobal","alert","confirm","prompt","langToTypeMap","mapping","ret","langs","lang","pluralTypeName","langToPluralType","pluralTypeToLanguages","en","pluralTypeIndex","pluralTypes","transformPhrase","phrase","substitutions","smart_count","texts","delimeter","tokenRegex","expression","argument","has","dollarRegex","dollarBillsYall","Polyglot","opts","phrases","currentLocale","allowMissing","onMissingKey","warning","arabic","chinese","german","french","russian","czech","polish","icelandic","newLocale","morePhrases","prefix","prefixedKey","unset","newPhrases","isArgs","isEnumerable","propertyIsEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","ctor","excludedKeys","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","equalsConstructorPrototypeIfNotBuggy","keysShim","isObject","isArguments","isString","theKeys","skipProto","skipConstructor","shim","originalKeys","callee","defaultSetTimout","defaultClearTimeout","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queueIndex","drainQueue","run","Item","noop","process","nextTick","browser","env","argv","versions","addListener","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","define","getPolyfill","boundTrim","polyfill","NODE_ENV","condition","argIndex","aa","ba","unshift","ca","createTextNode","insertBefore","lastChild","className","ea","hostname","rel","href","media","da","A","onreadystatechange","tagName","B","C","D","E","F","G","fa","H","I","J","ha","events","classes","ia","K","L","ja","ka","M","aria-hidden","N","P","Q","T","la","U","offsetWidth","serif","V","ma","W","na","oa","qa","X","FontFace","xa","vendor","pa","ra","sa","ta","ua","va","wa","encodeURIComponent","ya","Da","Ca","Ba","Aa","za","Ea","Ga","Ha","fonts","race","fontfamily","fontStyle","projectId","api","testStrings","latin","latin-ext","cyrillic","greek","khmer","Hanuman","thin","extralight","extra-light","ultralight","ultra-light","light","regular","book","medium","semi-bold","semibold","demi-bold","demibold","bold","extra-bold","extrabold","ultra-bold","ultrabold","black","heavy","italic","Fa","Arimo","Cousine","Tinos","Typekit","__webfontfontdeckmodule__","Y","fontdeck","monotype","typekit","google","Z","__webpack_amd_options__","_gsScope","_gsQueue","_gsDefine","cycle","_cycle","_yoyo","yoyo","yoyoEase","_repeat","repeat","_repeatDelay","repeatDelay","_dirty","render","_internals","isSelector","_gc","killTweensOf","killDelayedCallsTo","getTweensOf","lagSmoothing","invalidate","_yoyoEase","_uncache","updateTo","immediateRender","_startTime","_timeline","_time","_enabled","insert","_delay","_initted","_notifyPluginsOfEnabled","_firstPT","_onPluginEvent","_totalTime","_init","_next","totalDuration","_totalDuration","_rawPrevTime","_ease","_calcEnd","getRatio","_reversed","autoRemoveChildren","lazy","_active","Ease","easeParams","defaultEase","_easeType","_easePower","_onUpdate","lazyTweens","_lazy","_startAt","onStart","onRepeat","runBackwards","fromTo","startAt","staggerTo","allTo","onCompleteScope","callbackScope","staggerFrom","allFrom","staggerFromTo","allFromTo","delayedCall","onCompleteParams","onReverseComplete","onReverseCompleteParams","useFrames","overwrite","isTweening","_first","getAllTweens","_rootTimeline","_rootFramesTimeline","killAll","totalTime","killChildTweensOf","tweenLookup","tweens","globalTimeScale","time","_timeScale","frame","_labels","smoothChildTiming","_sortChildren","_swapSelfInParams","stagger","lazyRender","globals","pauseCallback","_forcingPlayhead","_hasPause","_parseTimeOrLabel","exportRoot","_remove","addLabel","rawTime","remove","_pauseTime","removeLabel","_last","append","insertMultiple","appendMultiple","addPause","getLabelTime","timeline","recent","endTime","gotoAndPlay","gotoAndStop","_hasPausedChild","_prev","getChildren","_contains","_recent","shiftChildren","_kill","timeScale","usesFrames","addCallback","removeCallback","removePause","tweenTo","onStartScope","onStartParams","tweenFromTo","_locked","getActive","isActive","getLabelAfter","getLabelsArray","getLabelBefore","currentLabel","PI","sqrt","lengths","segments","plugin","propName","priority","API","_target","values","_func","_mod","_props","_timeRes","timeResolution","autoRotate","orientToBezier","_autoRotate","_overwriteProps","_beziers","curviness","correlate","_segCount","_length","_lengths","_segments","_l1","_li","_s1","_si","_l2","_curSeg","_s2","_prec","_initialRotations","_startRatio","atan2","bezierThrough","cubicToQuadratic","_autoCSS","quadraticToCubic","_cssRegister","CSSPlugin","_parseToProxy","_setPluginRatio","CSSPropTween","_registerComplexSpecialProp","parser","pt","setRatio","_transform","_enableTransforms","_gsTransform","proxy","rotation","_onInitTween","_tween","_super","defaultTransformPerspective","defaultSkewType","defaultSmoothOrigin","suffixMap","margin","perspective","createElementNS","_specialProps","$1","opacity","currentStyle","filter","defaultView","getComputedStyle","getStyle","getPropertyValue","convertToPixels","_gsCache","cacheWidths","calculateOffset","Ra","skewX","scaleX","scaleY","rotationX","rotationY","scaleZ","difs","firstMPT","nodeName","getCTM","Oa","getBBox","offsetHeight","oxp","oyp","oxr","oyr","ox","oy","aqua","lime","silver","maroon","teal","blue","navy","white","fuchsia","olive","yellow","orange","gray","purple","green","red","pink","cyan","parseColor","colorStringFilter","lastIndex","defaultStringFilter","xs0","xs1","rxp","pr","parseComplex","appendXtra","xfirst","defaultValue","collapsible","multi","clrs","keyword","dflt","_registerPluginProp","com","greensock","registerSpecialProp","useSVGTransformAttr","Transform","force3D","defaultForce3D","SVGElement","Ia","setAttributeNS","Ja","Ka","chrome","getBoundingClientRect","La","Qa","xOrigin","yOrigin","hasAttribute","getAttribute","Pa","xOffset","yOffset","Ma","ownerSVGElement","nextSibling","_originalGetBBox","Na","Va","svg","getTransform","zOrigin","cos","sin","skewType","removeAttribute","Sa","xPercent","yPercent","ieOffsetX","ieOffsetY","Ta","set3DTransformRatio","setTransformRatio","skewY","tween","tan","_lastParsedTransform","parseTransform","transform","transformOrigin","svgOrigin","smoothOrigin","transformPerspective","directionalRotation","shortRotation","rotationZ","shortRotationX","shortRotationY","_transformType","backgroundPositionX","backgroundPositionY","clipTop","clipRight","clipBottom","clipLeft","Ua","xn1","zoom","removeProperty","Wa","_gsClassPT","_classNamePT","Xa","nodeType","_vars","autoRound","_addLazySet","WebkitBackfaceVisibility","_linkCSSP","_propLookup","_addTween","strictUnits","xs2","xn2","xs3","xn3","xs4","xn4","xs5","Ya","autoAlpha","visibility","Za","childNodes","cascadeTo","reservedProps","_targets","activate","blob","_onInitAllProps","roundProps","pg","_add","finals","useRadians","GreenSockGlobals","_class","register","easeOut","easeIn","easeInOut","prev","gap","_p1","_p2","_p","_p3","taper","points","randomize","clamp","template","strength","asin","pow","find","SlowMo","TweenLite","sc","gsClass","func","check","_type","_power","_params","easing","linear","Linear","swing","Quad","_listeners","_eventTarget","wake","up","requestAnimationFrame","cancelAnimationFrame","tick","sleep","fps","useRAF","visibilityState","Ticker","EventDispatcher","reversed","unref","restart","eventCallback","jquery","_overwrite","defaultOverwrite","_siblings","css","_overwrittenProps","autoSleep","jQuery","querySelectorAll","fp","_applyPT","blobDif","_plugins","onUpdateParams","onUpdateScope","onReverseCompleteScope","onRepeatParams","onRepeatScope","autoCSS","onOverwrite","stringFilter","none","all","auto","concurrent","allOnStart","preexisting","true","false","_updateRoot","_gsTweenID","_initProps","_priority","_onDisable","_onEnable","_tempKill","_propName","_roundProps","overwriteProps","initAll","pug_merge","attrs","valA","pug_style","valB","pug_classes_array","escaping","classString","escapeEnabled","pug_classes","pug_escape","pug_classes_object","pug_has_own_property","out","pug_attr","escaped","terse","toJSON","stringify","pug_attrs","_html","html","regexResult","pug_match_html","escape","index","substring","pug_rethrow","readFileSync","ex","lines","line","curr","merge","attr","rethrow","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0_loglevel__","__WEBPACK_IMPORTED_MODULE_0_loglevel___default","__WEBPACK_IMPORTED_MODULE_1_suga__","__WEBPACK_IMPORTED_MODULE_2_pixi_timeout__","__WEBPACK_IMPORTED_MODULE_3_pixi_pause__","__WEBPACK_IMPORTED_MODULE_4_pixi_center__","__WEBPACK_IMPORTED_MODULE_5_vue__","__WEBPACK_IMPORTED_MODULE_6_pariplay__","__WEBPACK_IMPORTED_MODULE_7__model_image_model__","__WEBPACK_IMPORTED_MODULE_8__model_game_model__","__WEBPACK_IMPORTED_MODULE_9_tween__","__WEBPACK_IMPORTED_MODULE_10__vendor_custom_ease__","__WEBPACK_IMPORTED_MODULE_12__pug_toast_pug__","__WEBPACK_IMPORTED_MODULE_12__pug_toast_pug___default","configDefaults","errorConfig","ThemeImageModel","toastr","closeButton","newestOnTop","progressBar","positionClass","preventDuplicates","showDuration","hideDuration","timeOut","extendedTimeOut","showEasing","hideEasing","showMethod","hideMethod","tapToDismiss","onclick","closeOnHover","Game","__log","disableAll","listenForFullscreenChanges","queryData","UTIL","getQueryAsObj","__theme","apiGameCode","rgs","__isMobile","forceBack","setupLogging","loadGame","rgsModel","loadGameHandler","getData","__config","setupCurrencyManager","setupEventListeners","setupDebugging","setupTrackingManager","setupIndependentManagers","setupCanvasManager","setupInitialViews","showGameAfterDelay","showNotificationView","getInitialBalance","trackingManager","setupRealityCheckManager","setupSoundManager","replayOutcome","showReplayMessage","startGame","startReplay","endReplay","reload","hideRealityCheck","hideNotificationView","continueWithBet","goHome","goCashier","goBuyMore","goHistory","openLink","enableAll","canvasManager","GameView","gameOpts","showTicketId","stakes","multipliers","prizeMultipliers","moneyBagMultiplier","placeBet","endBet","resultShown","showMatch","stakeChange","gameView","themeImageModel","pushView","helpOpts","getHelpUrl","hideHelpView","helpView","CurtainView","curtainView","introtext","buttonHandler","hideMenuView","MenuView","menuView","winButtonHandler","hideWinView","WinView","winView","_this6","_this7","isReplay","showPlayAndBetBtns","_this8","bottomBarViewOptions","showHelpView","toggleMute","toggleFullscreen","canvas","parallax","renderCanvas","pushInitHistory","currCode","currencyCode","languageCode","setup","__c","currencyLoaded","cs","getCurrencySymbol","setupFontManager","setupImageManager","setupLocaleManager","catch","reason","_this9","themeUrls","imageModel","_this10","localeManager","defaultLanguage","setLocale","_this11","fontCssUrl","fontsToLoad","getFontWithVariations","secondaryFont","loadFonts","_this12","audioSpriteUrl","music","getSound","prizeCount","paytable","_this13","showRealityCheck","realityCheckSeconds","_this14","ele","showCanvasEle","hideLoaderDelay","_this15","showMenuView","balanceHandler","isOutOfTickets","_this16","noTicketsLeft","betModel","isValid","resetLastWin","balanceBefore","setRemainingTickets","roundsLeftAfter","popAllOverlays","messages","splitMessages","executeBet","popups","notes","messageData","displayType","showPopups","showNotes","_this17","_this18","historyUrl","cashierUrl","onHidden","currentNote","click","_this19","_e","link","linkType","goToURL","updateLastWin","getEndBetData","_this20","balanceAfter","showEndReplayMessage","showElements","hideWinViewTimer","_this21","hideElements","_this22","isAttemptingToReplay","ticketModel","replayBet","getBalanceBefore","_this23","defaultStake","show","rawErr","serverMsg","clone","showServerMsg","textKey","notificationView","buttonSecondaryNormalImage","buttonSecondaryHoverImage","errorCode","pushOverlay","includes","balanceChanged","tickets","setRoundsLeft","xHours","xMins","isShowingRealityCheck","updateMsg","unMute","setMute","updateStake","willRevealAll","defaultVolume","defaultCurrency","LOAD_GAME_FAILED","LOAD_CONFIG_FAILED","WAITING_ON_BALANCE","WAITING_ON_BALANCE_FAILED","NO_TICKETS_LEFT","INSUFFICIENT_FUNDS","PLACE_BET_FAILED","PLACE_BET_INVALID","WAITING_ON_NOTIFICATION","GAME_QUIT","REPLAY_START","REPLAY_DONE","REALITY_CHECK","Images","logo","bgMask","btnNormalImage","btnHoverImage","iconPlay","iconAutopick","titleChars","curtainSide","curtainTop","curtainBack","tryCounter","inventory","glow","daughter","moneyBagWin","gem1","gem2","gem3","gem4","gem5","gem6","multi1Win","multi2Win","multi3Win","multi4Win","multi5Win","multi6Win","multi1Normal","multi2Normal","multi3Normal","multi4Normal","multi5Normal","multi6Normal","vase1Json","vase2Json","vase3Json","vase4Json","vase5Json","vase6Json","vase1png","vase2png","vase3png","vase4png","vase5png","vase6png","gemsJson","gemsPng","dustJson","dustPng","flameJson","flamePng","moneyBagJson","moneyBagPng","__WEBPACK_AMD_DEFINE_FACTORY__","definition","bindMethod","methodName","method","realMethod","undefinedType","replaceLoggingMethods","level","loggerName","logMethods","methodFactory","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","defaultLevel","persistLevelIfPossible","levelNum","levelName","localStorage","storageKey","ignore","cookie","getPersistedLevel","storedLevel","levels","currentLevel","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","setLevel","persist","setDefaultLevel","initialLevel","defaultLogger","_loggersByName","getLogger","logger","_log","noConflict","pixi","secs","delta","shared","speed","fire","finish","timerObj","autoPause","centerAxis","parentLength","elementLength","centerAtPoint","axisPoint","isNumber","centerXY","anchorX","anchorY","centerAt","coords","BaseModel","lowKey","keyMapping","mappedKey","preventOverwrite","subModels","Klass","isCollection","_parseValues","decodeURI","decodeURIComponent","_baseModel","_baseModel2","StatusModel","_BaseModel","errcode","errmessage","errtype","financialmode","roundsleft","inject","errType","roundsLeft","_statusModel","_statusModel2","Balance","networker","playerTokenId","clientToken","endpoint","balanceUrl","allowedBalanceAttemps","balanceAttemps","balanceDelay","ClientToken","PlayerTokenId","POST","resp","statusModel","Status","initClass","capitalizeKeys","origObj","reduce","newVal","_betModel","_betModel2","Bet","logging","notificationAttempts","notificationDelay","notifyEndpoint","notifyUrl","placeBetEndpoint","placeBetUrl","endBetEndpoint","endUrl","finMode","financialMode","stakeOrParams","Stake","Input","debugWinIndex","WinType","WinIndex","Debug","debugMatrix","_debug","Matrix","handleResponse","_getNotifcation","_err","hasNormalError","ERR_CODE","errCode","_err3","errMessage","hasNotificationError","_err4","getNotifcationAfterDelay","ticketId","Id","Helper","search","pair","Linker","messager","isMobile","backHandler","postQuit","post888Lobby","validateURL","postCashier","post888Cashier","postHistory","postBuyMoreTickets","GET","Load","attempts","balanceAttempts","GameCode","CurrencyCode","LanguageCode","FinancialMode","extraData","ExtraData","loadGameEndpoint","validResponse","handledResp","isValidResponse","isWaitingOnBalance","waitingErr","requestBalance","newStatusModel","failedErr","_requestBalance","Messager","sender","postMessage","post","success","currSymbol","currencySymbol","betValue","totalBet","ticketsBefore","ticketsLeftBefore","ticketsAfter","win","ticketsLeftAfter","_get","receiver","getOwnPropertyDescriptor","PariplayModel","rgsUrl","apiPath","ukRegulations","gamecode","token","clienttoken","currencycode","rgsurl","homeurl","historyurl","buymoreurl","cashierurl","dontshowbalance","dontshowstake","showticketid","showbuymorepopup","extradata","defaultstake","balanceurl","playertokenid","endurl","helpurl","notifyurl","placebeturl","maxmultiplier","replayoutcome","realitychecktimeout","ukregulations","autobetrounds","maxprize","baselanguage","showbuymorebutton","showhomebutton","showhelpbutton","showcashierbutton","showhistorybutton","showrealitycheck","realitycheckseconds","_parseLangCode","baseLanguage","apiEndpoint","getMaxPrize","homeUrl","shouldShowBuyMore","shouldShowRealityCheck","maxMultiplier","rct","realityCheckTimeout","showBuyMorePopup","buyMoreUrl","Networker","completionHandler","Rand","serializeParams","setRequestHeader","theUrl","xmlHttp","Pariplay","_load","_load2","_bet","_bet2","_balance","_balance2","_linker","_linker2","_messager","_messager2","_networker","_networker2","_helper","_helper2","_pariplayModel","_pariplayModel2","linker","postOnAppFrameReady","setIsMobile","bet","postLoadGame","startInterval","postBeforePlaceBet","place","postAfterPlaceBet","ticket","stopInterval","postRoundEnded","totalWinAmount","postCurrencyStatus","postUpdateBalance","postNoRoundsLeft","postRevealAll","postResize","home","cashier","buyMore","goTo","BalanceModel","balancebefore","balanceafter","roundsleftbefore","roundsleftafter","totalwinamount","_balanceModel","_balanceModel2","_ticketModel","_ticketModel2","_inputModel","_inputModel2","_messageModel","_messageModel2","BetModel","matrixIndexes","winIndex","winPossIndex","isWin","roundsLeftBefore","getTicketId","getTotalWinAmount","getBalanceAfter","getRoundsLeftAfter","valid","ButtonModel","linktype","InputModel","selectednumbers","_buttonModel","_buttonModel2","MessageModel","displaytype","TicketModel","iswin","winindex","winpossindex","matrixindexes","matrix","totalbet","drawnnumbers","paytabelid","ImageModel","uiJSON","uiURL","GameModel","muteString","getItem","fontVariations","baseMultiplier","bm","hr","hasRoundsLeft","res","isOutOfFunds","mu","isMaxPrize","getStatus","getFinancialMode","setItem","isAutoplaying","before","after","autoplayRounds","decreaseAutoplay","autoplayedRounds","resetAutoplay","hasUserStartedAutoplay","autoplayWin","autoplayLoss","stopAutoplay","updateAutoplayState","loss","singleWin","lossLimit","closed","lookup","nx","cx","cy","setData","fast","originY","rawBezier","getSVGData","bezierToPoints","invert","querySelector","locals","pug_interp","pug_html","locals_for_with","pug","$$obj","pug_index0","$$l","__WEBPACK_IMPORTED_MODULE_0_suga__","__WEBPACK_IMPORTED_MODULE_1_vue__","__WEBPACK_IMPORTED_MODULE_2__dust_view__","__WEBPACK_IMPORTED_MODULE_3__vases_view__","__WEBPACK_IMPORTED_MODULE_4__candles_view__","__WEBPACK_IMPORTED_MODULE_5__try_counter_view__","__WEBPACK_IMPORTED_MODULE_6__money_bag_view__","__WEBPACK_IMPORTED_MODULE_7__inventory_view__","__WEBPACK_IMPORTED_MODULE_8__ticket_id_view__","__WEBPACK_IMPORTED_MODULE_9__explanation_view__","__WEBPACK_IMPORTED_MODULE_10__bet_btn__","__WEBPACK_IMPORTED_MODULE_11__play_btn__","gameProgress","lightsOfAlpha","sizeWidth","playerHasInteracted","showMatchHandler","stakeChangeHandler","gemImages","moneyBagAmount","moneyBagGlowImage","addVases","addTryCounter","addMoneyBag","addCandles","addInventory","addDarkness","addPlayBtn","addBetBtn","addTicketId","addExplanation","maskImg","vaseImages","broken","outline","vases","vase","manualPick","image","Texture","grey","moneyBag","setupWithAmount","candles","gemsImages","multiImages","darkness","playOptions","autopickUrl","playBtn","playButtonHandler","autopickButtonHandler","betOptions","betBtn","newStake","setStake","setAmount","autoPick","hidePlayBtn","getRandomEnabledVase","select","vasePicked","isLast","break","explanantion","decrement","addDust","randSoundId","showMoneyBag","addToProgress","showGem","progressAmount","destX","destY","placeMoneyBagInUI","completed","toBounce","CustomEase","toScale","gemId","gemUrl","gem","gemIndex","destinationStr","pocketPositions","placeGemInPocket","addGem","dust","onDestroy","turnOff","changeToPlayState","turnOn","hideDarkness","stopBlinking","hidePlayAndBetBtns","changeToAutopickState","showPlayBtn","showInSeconds","animating","startBlinking","DustView","_PIXI$extras$Animated","animationSpeed","extras","AnimatedSprite","__WEBPACK_IMPORTED_MODULE_0__locations__","__WEBPACK_IMPORTED_MODULE_1__vase_view__","VasesView","_PIXI$Sprite","vasesImages","noOfVaseTypes","getRandomVaseImages","mask","setNewTextures","updateTexture","rand","playShine","shineRandom","shine","isSelected","locations","VaseView","isBroken","__WEBPACK_IMPORTED_MODULE_0__flame_view__","CandlesView","flameImages","glowImage","flames","flame","onScale","fl","Back","RoughEase","glowTween","FlameView","TryCounterView","lastPickColor","defaultColor","labelX","labelY","num","MoneyBagView","dropShadow","dropShadowAlpha","dropShadowAngle","dropShadowBlur","dropShadowColor","dropShadowDistance","__WEBPACK_IMPORTED_MODULE_0__multiplier_view__","InventoryView","bgImg","gems","multis","multiPositions","pos","multiPos","startPosition","matches","currentFrame","MultiplierView","TicketIdView","ExplanationView","startingY","sec","timer","pulsate","pulsateTo","Sine","pulsation","__WEBPACK_IMPORTED_MODULE_0_vue__","BetBtn","_Button","currentStake","styleLabel","lineJoin","textAlign","stroke","strokeThickness","btnLabel","styleValue","btnValue","PlayBtn","playIcon","autoPickIcon","images","leftCurtain","rightCurtain","topCurtain","buildTopCurtain","backCurtain","taglineText","sizeHeight","characters","tagline","playButton","totalText","showResult","prizeId","prizeImage","prize","winAmountText","webpackContext","req","webpackContextResolve","./cs.json","./de.json","./en.json","./hu.json","./pl.json","./pt.json","./sk.json","./sv.json","./SignPainter-HouseScript.eot","./proximasoft-bold-webfont.eot","./proximasoft-regular-webfont.eot","./SignPainter-HouseScript.svg","./proximasoft-bold-webfont.svg","./proximasoft-regular-webfont.svg","./SignPainter-HouseScript.ttf","./proximasoft-bold-webfont.ttf","./proximasoft-regular-webfont.ttf","./SignPainter-HouseScript.woff","./proximasoft-bold-webfont.woff","./proximasoft-regular-webfont.woff","./proximasoft-bold-webfont.woff2","./proximasoft-regular-webfont.woff2"],"mappings":"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D,EAASH,GgB/xTjCI,EAAAD,QAAAH,EAAAgD,EAAA,6BhBqyTM,SAAU5C,EAAQD,EAASH,GiBryTjCI,EAAAD,QAAAH,EAAAgD,EAAA,iCjB2yTM,SAAU5C,EAAQD,EAASH,GkB3yTjCI,EAAAD,QAAAH,EAAAgD,EAAA,yClBizTM,SAAU5C,EAAQD,EAASH,GmBjzTjCI,EAAAD,QAAAH,EAAAgD,EAAA,qCnBuzTM,SAAU5C,EAAQD,EAASH,GoBvzTjCI,EAAAD,QAAAH,EAAAgD,EAAA,oCpB6zTM,SAAU5C,EAAQD,EAASH,GqB7zTjCI,EAAAD,QAAAH,EAAAgD,EAAA,gCrBm0TM,SAAU5C,EAAQD,EAASH,GsBn0TjCI,EAAAD,QAAAH,EAAAgD,EAAA,oCtBy0TM,SAAU5C,EAAQD,EAASH,GuBz0TjCI,EAAAD,QAAAH,EAAAgD,EAAA,kCvB+0TM,SAAU5C,EAAQD,EAASH,GwB/0TjCI,EAAAD,QAAAH,EAAAgD,EAAA,qCxBq1TM,SAAU5C,EAAQD,EAASH,GyBr1TjCI,EAAAD,QAAAH,EAAAgD,EAAA,iCzB21TM,SAAU5C,EAAQD,EAASH,G0B31TjCI,EAAAD,QAAAH,EAAAgD,EAAA,sC1Bi2TM,SAAU5C,EAAQD,EAASH,G2Bj2TjCI,EAAAD,QAAAH,EAAAgD,EAAA,8B3Bu2TM,SAAU5C,EAAQD,EAASH,G4Bv2TjCI,EAAAD,QAAAH,EAAAgD,EAAA,8B5B62TM,SAAU5C,EAAQD,EAASH,G6B72TjCI,EAAAD,QAAAH,EAAAgD,EAAA,8B7Bm3TM,SAAU5C,EAAQD,EAASH,G8Bn3TjCI,EAAAD,QAAAH,EAAAgD,EAAA,8B9By3TM,SAAU5C,EAAQD,EAASH,G+Bz3TjCI,EAAAD,QAAAH,EAAAgD,EAAA,8B/B+3TM,SAAU5C,EAAQD,EAASH,GgC/3TjCI,EAAAD,QAAAH,EAAAgD,EAAA,8BhCq4TM,SAAU5C,EAAQD,EAASH,GiCr4TjCI,EAAAD,QAAAH,EAAAgD,EAAA,gCjC24TM,SAAU5C,EAAQD,EAASH,GkC34TjCI,EAAAD,QAAAH,EAAAgD,EAAA,gClCi5TM,SAAU5C,EAAQD,EAASH,GmCj5TjCI,EAAAD,QAAAH,EAAAgD,EAAA,gCnCu5TM,SAAU5C,EAAQD,EAASH,GoCv5TjCI,EAAAD,QAAAH,EAAAgD,EAAA,iCpC65TM,SAAU5C,EAAQD,EAASH,GqC75TjCI,EAAAD,QAAAH,EAAAgD,EAAA,kCrCm6TM,SAAU5C,EAAQD,EAASH,GsCn6TjCI,EAAAD,QAAAH,EAAAgD,EAAA,mCtCy6TM,SAAU5C,EAAQD,EAASH,GuCz6TjCI,EAAAD,QAAAH,EAAAgD,EAAA,kCvC+6TM,SAAU5C,EAAQD,EAASH,GwC/6TjCI,EAAAD,QAAAH,EAAAgD,EAAA,kCxCq7TM,SAAU5C,EAAQD,EAASH,GyCr7TjCI,EAAAD,QAAAH,EAAAgD,EAAA,kCzC27TM,SAAU5C,EAAQD,EAASH,G0C37TjCI,EAAAD,QAAAH,EAAAgD,EAAA,mC1Ci8TM,SAAU5C,EAAQD,EAASH,G2Cj8TjCI,EAAAD,QAAAH,EAAAgD,EAAA,oC3Cu8TM,SAAU5C,EAAQD,EAASH,G4Cv8TjCI,EAAAD,QAAAH,EAAAgD,EAAA,qC5C68TM,SAAU5C,EAAQD,EAASH,G6C78TjCI,EAAAD,QAAAH,EAAAgD,EAAA,mC7Cm9TM,SAAU5C,EAAQD,EAASH,G8Cn9TjCI,EAAAD,QAAAH,EAAAgD,EAAA,mC9Cy9TM,SAAU5C,EAAQD,EAASH,G+Cz9TjCI,EAAAD,QAAAH,EAAAgD,EAAA,mC/C+9TM,SAAU5C,EAAQD,EAASH,GgD/9TjCI,EAAAD,QAAAH,EAAAgD,EAAA,mChDq+TM,SAAU5C,EAAQD,EAASH,GiDr+TjCI,EAAAD,QAAAH,EAAAgD,EAAA,mCjD2+TM,SAAU5C,EAAQD,EAASH,GkD3+TjCI,EAAAD,QAAAH,EAAAgD,EAAA,mClDi/TM,SAAU5C,EAAQD,EAASH,GmDj/TjCI,EAAAD,QAAAH,EAAAgD,EAAA,kCnDu/TM,SAAU5C,EAAQD,EAASH,GoDv/TjCI,EAAAD,QAAAH,EAAAgD,EAAA,kCpD6/TM,SAAU5C,EAAQD,EAASH,GqD7/TjCI,EAAAD,QAAAH,EAAAgD,EAAA,kCrDmgUM,SAAU5C,EAAQD,EAASH,GsDngUjCI,EAAAD,QAAAH,EAAAgD,EAAA,kC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AAAD,QAeA51E,IAAA,oBACArB,MAAA,SAAAs0E,EAAArR,EAAAkU,GACA,MAAAp3E,MAAA82E,MACA74E,KAAA,eACA24E,OAAA52E,KAAA42E,OACAvtC,KAAArpC,KAAAqpC,KACAviC,MACAqf,GAAAouD,EACArR,gBACAmU,kBAAAD,QAYA91E,IAAA,gBACArB,MAAA,WACA,MAAAD,MAAA82E,MACA74E,KAAA,YACA24E,OAAA52E,KAAA42E,OACAvtC,KAAArpC,KAAAqpC,UAeA/nC,IAAA,iBACArB,MAAA,SAAAs0E,EAAA/hE,EAAAsyD,EAAAwS,GACA,MAAAt3E,MAAA82E,MACA74E,KAAA,aACA24E,OAAA52E,KAAA42E,OACAvtC,KAAArpC,KAAAqpC,KACAviC,MACAqf,GAAAouD,EACAgD,IAAA/kE,EACAsyD,eACA0S,iBAAAF,QAaAh2E,IAAA,oBACArB,MAAA,SAAA6V,GACA,MAAA9V,MAAA82E,MACA74E,KAAA,UACA24E,OAAA52E,KAAA42E,OACAvtC,KAAArpC,KAAAqpC,KACAviC,MACAgP,eAoBAxU,IAAA,WACArB,MAAA,SAAA6gE,EAAA75C,GACA,MAAAjnB,MAAA82E,MACA74E,KAAA,OACA24E,OAAA52E,KAAA42E,OACAvtC,KAAArpC,KAAAqpC,KACAviC,MACAg6D,SACA3/D,OAAA8lB,QAeA3lB,IAAA,cACArB,MAAA,SAAA6gE,EAAA75C,GAKA,MAJA65C,KACAA,EAAA,qBAGA9gE,KAAA82E,MACA74E,KAAA,UACA24E,OAAA52E,KAAA42E,OACAvtC,KAAArpC,KAAAqpC,KACAviC,MACAg6D,SACA3/D,OAAA8lB,QAaA3lB,IAAA,qBACArB,MAAA,WACA,MAAAD,MAAA82E,MACA74E,KAAA,iBACA24E,OAAA52E,KAAA42E,OACAvtC,KAAArpC,KAAAqpC,UAYA/nC,IAAA,mBACArB,MAAA,WACA,MAAAD,MAAA82E,MACA74E,KAAA,eACA24E,OAAA52E,KAAA42E,OACAvtC,KAAArpC,KAAAqpC,UAaA/nC,IAAA,cACArB,MAAA,SAAA6gE,EAAA75C,GA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","file":"d-game.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \t// install a JSONP callback for chunk loading\n/******/ \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n/******/ \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n/******/ \t\t// add \"moreModules\" to the modules object,\n/******/ \t\t// then flag all \"chunkIds\" as loaded and fire callback\n/******/ \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n/******/ \t\tfor(;i < chunkIds.length; i++) {\n/******/ \t\t\tchunkId = chunkIds[i];\n/******/ \t\t\tif(installedChunks[chunkId]) {\n/******/ \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n/******/ \t\t\t}\n/******/ \t\t\tinstalledChunks[chunkId] = 0;\n/******/ \t\t}\n/******/ \t\tfor(moduleId in moreModules) {\n/******/ \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n/******/ \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n/******/ \t\t\t}\n/******/ \t\t}\n/******/ \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n/******/ \t\twhile(resolves.length) {\n/******/ \t\t\tresolves.shift()();\n/******/ \t\t}\n/******/\n/******/ \t};\n/******/\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// objects to store loaded and loading chunks\n/******/ \tvar installedChunks = {\n/******/ \t\t\"d-game\": 0\n/******/ \t};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/ \t// This file contains only the entry chunk.\n/******/ \t// The chunk loading function for additional chunks\n/******/ \t__webpack_require__.e = function requireEnsure(chunkId) {\n/******/ \t\tvar installedChunkData = installedChunks[chunkId];\n/******/ \t\tif(installedChunkData === 0) {\n/******/ \t\t\treturn new Promise(function(resolve) { resolve(); });\n/******/ \t\t}\n/******/\n/******/ \t\t// a Promise means \"currently loading\".\n/******/ \t\tif(installedChunkData) {\n/******/ \t\t\treturn installedChunkData[2];\n/******/ \t\t}\n/******/\n/******/ \t\t// setup Promise in chunk cache\n/******/ \t\tvar promise = new Promise(function(resolve, reject) {\n/******/ \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n/******/ \t\t});\n/******/ \t\tinstalledChunkData[2] = promise;\n/******/\n/******/ \t\t// start chunk loading\n/******/ \t\tvar head = document.getElementsByTagName('head')[0];\n/******/ \t\tvar script = document.createElement('script');\n/******/ \t\tscript.type = 'text/javascript';\n/******/ \t\tscript.charset = 'utf-8';\n/******/ \t\tscript.async = true;\n/******/ \t\tscript.timeout = 120000;\n/******/\n/******/ \t\tif (__webpack_require__.nc) {\n/******/ \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n/******/ \t\t}\n/******/ \t\tscript.src = __webpack_require__.p + \"\" + ({\"debug\":\"debug\"}[chunkId]||chunkId) + \"-\" + \"29322390610edb929732\" + \".js\";\n/******/ \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n/******/ \t\tscript.onerror = script.onload = onScriptComplete;\n/******/ \t\tfunction onScriptComplete() {\n/******/ \t\t\t// avoid mem leaks in IE.\n/******/ \t\t\tscript.onerror = script.onload = null;\n/******/ \t\t\tclearTimeout(timeout);\n/******/ \t\t\tvar chunk = installedChunks[chunkId];\n/******/ \t\t\tif(chunk !== 0) {\n/******/ \t\t\t\tif(chunk) {\n/******/ \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n/******/ \t\t\t\t}\n/******/ \t\t\t\tinstalledChunks[chunkId] = undefined;\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t\thead.appendChild(script);\n/******/\n/******/ \t\treturn promise;\n/******/ \t};\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"./assets/\";\n/******/\n/******/ \t// on error function for async loading\n/******/ \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 12);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"vue\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue\"] = factory();\n\telse\n\t\troot[\"vue\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Class for base button.\n */\nvar Button = function (_PIXI$Container) {\n _inherits(Button, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} options The options\n */\n function Button(options) {\n _classCallCheck(this, Button);\n\n var _this = _possibleConstructorReturn(this, (Button.__proto__ || Object.getPrototypeOf(Button)).call(this));\n\n _this.tag = 'button';\n\n _this.isEnabled = true;\n _this.interactive = true;\n _this.buttonMode = true;\n\n if (options.tapped) {\n _this.tapped = options.tapped;\n }\n\n if (options.remainActive) {\n _this.remainActive = options.remainActive;\n } else {\n _this.remainActive = false;\n }\n\n _this.options = options;\n\n if (options.bgUrl) {\n _this.bg = new PIXI.Sprite.fromImage(options.bgUrl);\n _this.addChild(_this.bg);\n }\n\n if (typeof options.normalUrl === 'string') {\n _this.normal = new PIXI.Sprite.fromImage(options.normalUrl);\n } else {\n _this.normal = new PIXI.Sprite(options.normalUrl);\n }\n\n if (typeof options.hoverUrl === 'string') {\n _this.hover = new PIXI.Sprite.fromImage(options.hoverUrl);\n } else {\n _this.hover = new PIXI.Sprite(options.hoverUrl);\n }\n\n _this.addChild(_this.normal);\n _this.addChild(_this.hover);\n\n if (options.text) {\n _this.setText(options.text, options.textStyle);\n }\n\n if (options.tint) {\n _this.normal.tint = options.tint;\n _this.hover.tint = options.tint;\n if (_this.text) {\n _this.text.tint = options.tint;\n }\n }\n\n if (options.iconUrl) {\n _this.icon = new PIXI.Sprite.fromImage(options.iconUrl);\n _this.addChild(_this.icon);\n _this.icon.centerX();\n _this.icon.centerY();\n }\n\n _this.reset();\n return _this;\n }\n\n _createClass(Button, [{\n key: 'setText',\n value: function setText(text, style) {\n if (!this.text) {\n this.text = new PIXI.Text(text, style);\n this.addChild(this.text);\n } else {\n this.text.text = text;\n }\n\n this.text.x = Math.round((this.normal.width - this.text.width) / 2);\n this.text.y = Math.round((this.normal.height - this.text.height) / 2);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerdown',\n value: function pointerdown(e) {\n if (!this.isEnabled) {\n return;\n }\n\n e.stopPropagation();\n }\n\n /**\n * Pixi Pointer event\n */\n\n }, {\n key: 'pointerover',\n value: function pointerover() {\n if (!this.isEnabled) {\n return;\n }\n\n if (this.hovered) {\n this.hovered();\n }\n\n this.hover.visible = true;\n this.normal.visible = false;\n\n this.isHovered = true;\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerup',\n value: function pointerup(e) {\n if (!this.isEnabled) {\n return;\n }\n\n e.stopPropagation();\n\n this.reset();\n\n this._tapped(e);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointertap',\n value: function pointertap(e) {\n if (!this.isEnabled) {\n return;\n }\n\n e.stopPropagation();\n\n this.reset();\n\n this._tapped(e);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerout',\n value: function pointerout() {\n this.reset();\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerupoutside',\n value: function pointerupoutside() {\n this.reset();\n }\n\n /**\n * Reset\n */\n\n }, {\n key: 'reset',\n value: function reset() {\n if (this.hover) {\n this.hover.visible = false;\n }\n if (this.normal) {\n this.normal.visible = true;\n }\n\n this.isHovered = false;\n }\n\n /**\n * Enable\n */\n\n }, {\n key: 'enable',\n value: function enable() {\n this.reset();\n this.interactive = true;\n this.buttonMode = true;\n this.alpha = 1;\n\n this.isEnabled = true;\n }\n\n /**\n * Disable\n */\n\n }, {\n key: 'disable',\n value: function disable() {\n this.reset();\n this.interactive = false;\n this.buttonMode = false;\n this.alpha = 0.5;\n\n this.isEnabled = false;\n }\n\n /**\n * @private\n * Button pressed action\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: '_tapped',\n value: function _tapped(e) {\n if (!this.remainActive) {\n this.disable();\n }\n\n if (this.tapped) {\n this.tapped(e);\n } else {\n throw new Error('Button has no Action');\n }\n }\n }, {\n key: 'startBlinking',\n value: function startBlinking() {\n var _this2 = this;\n\n if (this.blinkInterval) {\n return;\n }\n\n this.blinkInterval = window.setInterval(function () {\n if (_this2.isHovered || !_this2.isEnabled) {\n return;\n }\n\n if (_this2.blinkActive) {\n _this2.hover.visible = false;\n _this2.normal.visible = true;\n _this2.blinkActive = false;\n } else {\n _this2.hover.visible = true;\n _this2.normal.visible = false;\n _this2.blinkActive = true;\n }\n }, this.options.blink * 1000);\n }\n }, {\n key: 'stopBlinking',\n value: function stopBlinking() {\n window.clearInterval(this.blinkInterval);\n this.blinkInterval = null;\n this.reset();\n }\n }]);\n\n return Button;\n}(PIXI.Container);\n\nexports.default = Button;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _stats = __webpack_require__(11);\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nvar _util = __webpack_require__(6);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Class for canvas manager.\n */\nvar CanvasManager = function () {\n /**\n * @typedef {Object} CanvasManagerOptions\n * @property {Boolean} showFPS - Whether to show the FPS counter\n * @property {Object} backgroundAnchor - Coordinates of BG Anchor {x 0.5, y: 1}\n * @property {Number} transitionSpeed - The speed of the parallax scroll\n * @property {Number} parallaxBgOffeset - The amount the BG should parallax scroll\n * @property {Number} defaultGameWidth - The width the game starts width\n * @property {Number} defaultGameHeight - The height the game starts width\n */\n\n /**\n * Constructs the object.\n *\n * @param {CanvasManagerOptions} options - The options\n * @param {PIXI.Container} bottomBarView - The bottom bar view\n * @param {PIXI.Sprite} gameBg - The game background\n */\n function CanvasManager(options, bottomBarView, gameBg) {\n var _this = this;\n\n _classCallCheck(this, CanvasManager);\n\n this.views = [];\n this.overlays = [];\n this.historyStates = [];\n this.isTransitioning = false;\n\n this.fixedAspect = options.fixedAspect;\n\n if (options.forceCanvas === undefined) {\n console.error('missing options.forceCanvas');\n }\n\n this.dpi = options.dpi;\n this.showFPS = options.showFPS; // true\n this.forceCanvas = options.forceCanvas; // true\n this.backgroundAnchor = options.backgroundAnchor;\n this.transitionSpeed = options.transitionSpeed;\n this.parallaxBgOffeset = options.parallaxBgOffeset;\n this.defaultGameWidth = options.defaultGameWidth;\n this.defaultGameHeight = options.defaultGameHeight;\n this.font = options.font;\n\n this.onPageVisibility = options.onPageVisibility;\n this.onResize = options.onResize;\n\n this.bottomBarView = bottomBarView;\n this.gameBg = gameBg;\n\n this.buttonOffset = 150;\n this.buttonPadding = 56;\n\n if (options.buttonOffset !== undefined) {\n this.buttonOffset = options.buttonOffset;\n }\n\n if (options.buttonPadding !== undefined) {\n this.buttonPadding = options.buttonPadding;\n }\n\n this.gameDimensions = {\n scale: 1,\n width: this.defaultGameWidth,\n height: this.defaultGameWidth\n };\n\n // History events\n window.onpopstate = function (e) {\n return _this.popHistory(e);\n };\n\n // document/window events\n window.SUGA.Device.resize(50, function (data) {\n return _this.sizeToFit(data);\n });\n window.SUGA.Device.pageVisibility(function (isVisible) {\n return _this.pageVisibility(isVisible);\n });\n }\n\n /**\n * Start rendering the canvas\n */\n\n\n _createClass(CanvasManager, [{\n key: 'renderCanvas',\n value: function renderCanvas() {\n this.canvasContainerEle = document.getElementById('canvas-container');\n this.canvasEle = document.getElementById('canvas');\n\n // stage options\n var rendererOptions = {\n view: this.canvasEle,\n transparent: true,\n autoResize: true,\n antialias: false,\n resolution: this.dpi,\n clearBeforeRender: false,\n forceCanvas: this.forceCanvas\n };\n\n var w = this.defaultGameWidth;\n var h = this.defaultGameHeight;\n\n // create renderer\n this.app = new PIXI.Application(w, h, rendererOptions);\n this.renderer = this.app.renderer;\n this.renderer.backgroundColor = 0xFF66CC;\n\n // add global ticker\n window.__ticker = this.app.ticker;\n\n // add stage\n this.outerStage = this.app.stage;\n this.innerStage = new PIXI.Container();\n this.outerStage.addChild(this.innerStage);\n\n // const bg = new PIXI.Graphics()\n // bg.beginFill(0x000000, 0.5)\n // bg.drawRect(0,0,w,h)\n // bg.endFill()\n // this.innerStage.addChild(bg)\n\n this.disableScrolling();\n\n // show FPS stat\n if (this.showFPS) {\n var stats = new _stats2.default();\n\n document.body.appendChild(stats.dom);\n this.app.ticker.add(function () {\n return stats.update();\n });\n }\n\n this.addBackground(w, h);\n this.addUiBars();\n }\n\n /**\n * Shows the canvas ele.\n */\n\n }, {\n key: 'showCanvasEle',\n value: function showCanvasEle() {\n this.canvasEle.style.display = 'block';\n }\n\n /**\n * fits views to dimensions\n *\n * @return {Object} Returns the new dimensions\n */\n\n }, {\n key: 'sizeToFit',\n value: function sizeToFit() {\n var rendererH = void 0;\n var rendererW = void 0;\n\n if (!this.canvasEle) {\n return this.gameDimensions;\n }\n\n // get viewport dimensions\n var vp = window.SUGA.Device.getViewport();\n\n var gW = this.defaultGameWidth;\n var gH = this.defaultGameHeight;\n\n // build ratios\n var widthGrowthRatio = vp.w / gW;\n var heightGrowthRatio = vp.h / gH;\n\n if (!this.fixedAspect) {\n // determine the ratio that fits\n if (heightGrowthRatio > widthGrowthRatio) {\n rendererW = gW;\n rendererH = Math.round(vp.h * gW / vp.w);\n } else {\n rendererW = Math.round(vp.w * gH / vp.h);\n rendererH = gH;\n }\n\n this.renderer.resize(rendererW, rendererH);\n\n this.canvasEle.style.width = vp.w + 'px';\n this.canvasEle.style.height = vp.h + 'px';\n\n this.centerBg(rendererW, rendererH);\n } else {\n var w = void 0;\n var h = void 0;\n\n // determine the ratio that fits\n if (heightGrowthRatio < widthGrowthRatio) {\n w = Math.round(gW * heightGrowthRatio);\n h = vp.h;\n } else {\n h = Math.round(gH * widthGrowthRatio);\n w = vp.w;\n }\n\n this.canvasEle.style.width = w + 'px';\n this.canvasEle.style.height = h + 'px';\n\n rendererW = gW;\n rendererH = gH;\n }\n\n this.canvasContainerEle.style.width = vp.w + 'px';\n this.canvasContainerEle.style.height = vp.h + 'px';\n\n // #set new gameDimensions\n var ratio = vp.w / rendererW;\n\n // center stage\n var x = Math.round((rendererW - gW) / 2);\n var y = Math.round((rendererH - gH) / 2);\n\n y = 0;\n this.innerStage.position.set(x, y);\n\n this.rendererWidth = rendererW;\n this.gameWidth = this.defaultGameWidth;\n\n this.gameDimensions = {\n scale: ratio,\n width: rendererW,\n height: rendererH,\n defaultWidth: this.defaultGameWidth,\n defaultHeight: this.defaultGameHeight,\n viewportWidth: vp.w,\n viewportHeight: vp.h,\n stage: {\n x: this.innerStage.x,\n y: this.innerStage.y\n }\n };\n\n if (this.bottomBarView) {\n this.bottomBarView.resize(rendererW, rendererH);\n }\n\n if (this.settingsView) {\n this.settingsView.resize(this.gameDimensions);\n }\n\n if (this.foregroundView && this.foregroundView.resize) {\n this.foregroundView.resize(this.gameDimensions);\n }\n\n if (this.backgroundView && this.backgroundView.resize) {\n this.backgroundView.resize(this.gameDimensions);\n }\n\n this.resizeViews(this.gameDimensions);\n\n this.onResize(this.gameDimensions);\n\n return this.gameDimensions;\n }\n\n /**\n * Place buttons for all views and overlays\n *\n * @param {Object} gameDimensions The game dimensions\n */\n\n }, {\n key: 'resizeViews',\n value: function resizeViews(gameDimensions) {\n var allViews = this.views.concat(this.overlays);\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = allViews[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var view = _step.value;\n\n this.resizeView(view, gameDimensions);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'resizeView',\n value: function resizeView(view, gameDimensions) {\n if (view.resize) {\n view.resize(gameDimensions);\n }\n\n if (view.buttons) {\n var buttonPadding = view.buttons.length <= 3 ? this.buttonPadding : this.buttonPadding * 0.85;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = view.buttons[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var button = _step2.value;\n\n this.placeButton(button, gameDimensions.height, buttonPadding);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n }\n\n /**\n * Reposition buttons Y axis\n *\n * @param {PIXI.DisplayObject} button The button\n * @param {Number} height The game height\n * @return {PIXI.DisplayObject} The modified button\n */\n\n }, {\n key: 'placeButton',\n value: function placeButton(button, height, buttonPadding) {\n if (!button) {\n return null;\n }\n\n button.y = Math.round(height - this.buttonOffset - buttonPadding * button.order);\n\n button.centerX();\n\n return button;\n }\n\n /**\n * Called when the page becomes visible or not\n *\n * @param {boolean} isVisible Indicates if visible\n */\n\n }, {\n key: 'pageVisibility',\n value: function pageVisibility(isVisible) {\n if (this.onPageVisibility) {\n this.onPageVisibility(isVisible);\n }\n }\n\n /**\n * Adds a background.\n *\n * @param {Number} w width\n * @param {Number} h height\n */\n\n }, {\n key: 'addBackground',\n value: function addBackground(w, h) {\n this.gameBg.anchor.set(this.backgroundAnchor.x, this.backgroundAnchor.y);\n this.outerStage.addChildAt(this.gameBg, 0);\n\n if (!this.fixedAspect) {\n this.centerBg(w, h);\n } else {\n this.gameBg.x = (w - this.gameBg.width) / 2;\n this.gameBg.y = (h - this.gameBg.height) / 2;\n // this.centerBg(w, h);\n }\n }\n\n /**\n * FIXME - Should be more abstracted\n * Adds a settings view.\n *\n * @param {PIXI.Container} settingsView The settings view\n */\n\n }, {\n key: 'addSettingsView',\n value: function addSettingsView(settingsView) {\n this.settingsView = settingsView;\n this.outerStage.addChildAt(this.settingsView, 2);\n }\n\n /**\n * Adds user interface bars.\n */\n\n }, {\n key: 'addUiBars',\n value: function addUiBars() {\n this.outerStage.addChild(this.bottomBarView);\n }\n\n /**\n * Brings UI to top Z index\n */\n\n }, {\n key: 'bringUiToFront',\n value: function bringUiToFront() {\n if (this.settingsView) {\n this.settingsView.bringToFront();\n }\n this.bottomBarView.bringToFront();\n }\n\n /**\n * Adds a background view.\n *\n * @param {PIXI.Sprite} backgroundView The background view\n * @param {Function} cb Handler after background view is completed\n */\n\n }, {\n key: 'addBackgroundView',\n value: function addBackgroundView(backgroundView) {\n this.backgroundView = backgroundView;\n this.outerStage.addChildAt(this.backgroundView, 1);\n }\n\n /**\n * Adds a foreground view.\n *\n * @param {PIXI.Sprite} foregroundView The foreground view\n * @param {Function} cb Handler after foreground view is completed\n */\n\n }, {\n key: 'addForegroundView',\n value: function addForegroundView(foregroundView) {\n this.foregroundView = foregroundView;\n this.outerStage.addChildAt(this.foregroundView, 3);\n }\n\n /**\n * Center the background in the view\n *\n * @param {Number} width The width\n * @param {Number} height The height\n */\n\n }, {\n key: 'centerBg',\n value: function centerBg(width, height) {\n if (this.gameBg) {\n this.scaleToFill(width, height, this.gameBg, this.parallaxBgOffeset);\n\n this.gameBg.originalX = this.gameBg.position.x;\n }\n }\n\n /**\n * Scale sprite to fill canvas\n *\n * @param {Number} width The width\n * @param {Number} height The height\n * @param {PIXI.Sprite} sprite The sprite\n * @param {number} parallaxPadding The parallax padding\n */\n\n }, {\n key: 'scaleToFill',\n value: function scaleToFill(width, height, sprite, parallaxPadding) {\n var ratio = void 0;\n var rW = width + parallaxPadding;\n var rH = height;\n var bgW = sprite.texture.width;\n var bgH = sprite.texture.height;\n\n if (this.backgroundAnchor.x > 0) {\n rW = rW + parallaxPadding / this.backgroundAnchor.x;\n }\n\n var ratioW = rW / bgW;\n var ratioH = rH / bgH;\n\n var rAspect = rW / rH;\n var bgAspect = bgW / bgH;\n\n if (rAspect > bgAspect) {\n ratio = ratioW;\n } else {\n ratio = ratioH;\n }\n\n // center\n var x = Math.floor(rW * this.backgroundAnchor.x) - (rW - width - parallaxPadding) / 2;\n var y = Math.floor(rH * this.backgroundAnchor.y);\n\n sprite.scale.set(ratio, ratio);\n\n sprite.position.set(x, y);\n }\n }, {\n key: 'addView',\n value: function addView(view) {\n // put view on stage\n this.innerStage.addChild(view);\n\n // add view to our stack\n this.views.push(view);\n }\n\n /**\n * Pushes a view.\n *\n * @param {PIXI.Container} view The view\n */\n\n }, {\n key: 'pushView',\n value: function pushView(view) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!animate) {\n this.addView(view);\n\n return;\n }\n\n // prevent mulitple views in the overlay stack\n if (this.isViewShowing(view.name)) {\n return;\n }\n\n this._pushView(view);\n\n this.bringUiToFront();\n }\n\n /**\n * @private\n * Pushes a view.\n *\n * @param {PIXI.Container} view The view\n */\n\n }, {\n key: '_pushView',\n value: function _pushView(view) {\n var _this2 = this;\n\n var currentView = void 0;\n\n // only push one view at a time\n if (this.isTransitioning) {\n return;\n }\n this.isTransitioning = true;\n\n // if we are pushing an html page above the canvas\n if (view.isHTML) {\n window.SUGA.Reality.canShowRealityCheck(false);\n }\n\n // is this the root view\n var isRootView = this.views.length < 1;\n\n // fire event on view, if defined\n if (view.willShow) {\n view.willShow();\n }\n\n // if this will not be the first view in the stack\n // then we will animate its movement\n if (!isRootView) {\n // add a push state\n this.pushHistory(view.name);\n\n // put view just out of screen to the right\n view.x = this.rendererWidth;\n\n // get current view\n currentView = (0, _util.lastItem)(this.views);\n\n // make view non-interactive\n currentView.interactiveChildren = false;\n\n // make static snap shot of view\n // currentView.cacheAsBitmap = true\n\n // fire event on previous view, if defined\n if (currentView.willHide) {\n currentView.willHide();\n }\n }\n\n // put view on stage\n this.innerStage.addChild(view);\n\n // add view to our stack\n this.views.push(view);\n\n // align stuff before we push it\n this.resizeView(view, this.gameDimensions);\n\n // dont animate if this the first view\n if (isRootView) {\n if (view.didShow) {\n view.didShow();\n }\n\n this.isTransitioning = false;\n\n return;\n }\n\n // calculate parallax x offset\n var newX = this.gameBg.position.x - this.parallaxBgOffeset;\n\n // animate background parallax\n TweenMax.to(this.gameBg, this.transitionSpeed / 1000, { x: newX });\n\n // slide in new view\n var options = {\n x: 0,\n\n onUpdate: function onUpdate() {\n if (view.showingProgress) {\n var ratio = view.x / _this2.rendererWidth;\n var domX = window.innerWidth * ratio;\n\n view.showingProgress(domX);\n }\n },\n\n onComplete: function onComplete() {\n if (view.didShow) {\n view.didShow();\n }\n\n _this2.isTransitioning = false;\n }\n };\n\n TweenMax.to(view, this.transitionSpeed / 1000, options);\n\n // slide out old view\n options = {\n\n x: -this.innerStage.x - this.gameWidth,\n\n onComplete: function onComplete() {\n currentView.renderable = false;\n\n if (currentView.didHide) {\n currentView.didHide();\n }\n }\n };\n\n TweenMax.to(currentView, this.transitionSpeed / 1000, options);\n }\n }, {\n key: 'removeView',\n value: function removeView() {\n var view = this.views.pop();\n\n view.removeSelf();\n }\n\n /**\n * Pop view from stack\n *\n * @return {Boolean} did we pop a view\n */\n\n }, {\n key: 'popView',\n value: function popView() {\n var _this3 = this;\n\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (this.isTransitioning || this.views.length < 1) {\n return false;\n }\n\n if (!animate) {\n this.removeView();\n\n return;\n }\n\n this.isTransitioning = true;\n\n var isRootView = this.views.length === 1;\n\n var view = this.views.pop();\n\n if (view.willHide) {\n view.willHide();\n }\n\n // if we are popping an html page\n if (view.isHTML) {\n window.SUGA.Reality.canShowRealityCheck(true);\n }\n\n var nextView = (0, _util.lastItem)(this.views);\n\n if (nextView) {\n if (nextView.willShow) {\n nextView.willShow();\n }\n nextView.interactiveChildren = true;\n nextView.renderable = true;\n }\n // // nextView.cacheAsBitmap = false\n\n // if (this.views.length === 1)\n // {\n // this.rootViewShown();\n // }\n\n if (isRootView) {\n if (view.didHide) {\n view.didHide();\n }\n view.removeSelf();\n this.isTransitioning = false;\n\n return true;\n }\n\n // animate background parallax\n TweenMax.to(this.gameBg, this.transitionSpeed / 1000, { x: this.gameBg.originalX });\n\n // slide in new view\n var options = {\n x: this.rendererWidth,\n onUpdate: function onUpdate() {\n if (view.showingProgress) {\n var ratio = view.x / _this3.rendererWidth;\n var domX = window.innerWidth * ratio;\n\n view.showingProgress(domX);\n }\n },\n onComplete: function onComplete() {\n if (view.didHide) {\n view.didHide();\n }\n\n view.removeSelf();\n }\n };\n\n TweenMax.to(view, this.transitionSpeed / 1000, options);\n\n // slide out old view\n options = {\n x: 0,\n onComplete: function onComplete() {\n if (nextView.didShow) {\n nextView.didShow();\n }\n\n _this3.isTransitioning = false;\n }\n };\n\n TweenMax.to(nextView, this.transitionSpeed / 1000, options);\n\n return true;\n }\n\n /**\n * Pop all views\n */\n\n }, {\n key: 'popAllViews',\n value: function popAllViews() {\n for (var i = this.views.length - 1; i >= 0; i -= 1) {\n this.popView();\n }\n }\n\n /**\n * Determines if view showing.\n *\n * @param {boolean} name The name\n * @return {boolean} True if view showing, False otherwise.\n */\n\n }, {\n key: 'isViewShowing',\n value: function isViewShowing(name) {\n var v = (0, _util.lastItem)(this.views);\n\n if (v && v.name && v.name === name) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Pushes an overlay.\n *\n * @param {PIXI.Container} overlayView The overlay view\n */\n\n }, {\n key: 'pushOverlay',\n value: function pushOverlay(overlayView) {\n // prevent mulitple views in the overlay stack\n if (this.isOverlayShowing(overlayView.name)) {\n return;\n }\n\n this._pushOverlay(overlayView);\n\n this.bringUiToFront();\n }\n\n /**\n * @private\n *\n * Pushes an overlay.\n *\n * @param {PIXI.Container} overlayView The overlay view\n */\n\n }, {\n key: '_pushOverlay',\n value: function _pushOverlay(overlayView) {\n this.disableUserActions();\n\n var currentView = (0, _util.lastItem)(this.views);\n\n if (currentView) {\n currentView.interactiveChildren = false;\n }\n\n this.outerStage.addChild(overlayView);\n\n this.overlays.push(overlayView);\n\n // align stuff before we push it\n this.resizeView(overlayView, this.gameDimensions);\n }\n\n /**\n * Pop an overlay\n *\n * @param {boolean} suppressEvents The suppress events\n * @return {boolean} { description_of_the_return_value }\n */\n\n }, {\n key: 'popOverlay',\n value: function popOverlay(suppressEvents) {\n var _this4 = this;\n\n if (!suppressEvents) {\n suppressEvents = false;\n }\n\n if (this.overlays.length < 1) {\n return false;\n }\n\n var isLastOverlay = this.overlays.length === 1;\n\n var view = (0, _util.lastItem)(this.views);\n\n if (isLastOverlay) {\n if (view.willShow) {\n view.willShow();\n }\n }\n\n var overlayView = this.overlays.pop();\n\n if (!suppressEvents) {\n this.enableUserActions();\n }\n\n var currentView = (0, _util.lastItem)(this.views);\n\n clearTimeout(this.overlayTimer);\n currentView.interactiveChildren = true;\n currentView.filters = null;\n\n overlayView.hide(function () {\n _this4.outerStage.removeChild(overlayView);\n\n if (isLastOverlay && view.didShow) {\n view.didShow();\n }\n });\n\n return true;\n }\n\n /**\n * Pup all the overlays\n *\n * @param {Boolean} suppressEvents The suppress events\n */\n\n }, {\n key: 'popAllOverlays',\n value: function popAllOverlays(suppressEvents) {\n for (var i = this.views.length - 1; i >= 0; i -= 1) {\n this.popOverlay(suppressEvents);\n }\n }\n\n /**\n * Determines if overlay showing.\n *\n * @param {String} name The name\n * @return {Boolean} True if overlay showing, False otherwise.\n */\n\n }, {\n key: 'isOverlayShowing',\n value: function isOverlayShowing(name) {\n var o = (0, _util.lastItem)(this.overlays);\n\n if (o && o.name && o.name === name) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Determines if it has overlay.\n *\n * @return {boolean} True if has overlay, False otherwise.\n */\n\n }, {\n key: 'hasOverlay',\n value: function hasOverlay() {\n return this.overlays.length > 0;\n }\n\n /**\n * Pushes an initialize history.\n *\n * @param {PIXI.Container} view The view\n */\n\n }, {\n key: 'pushInitHistory',\n value: function pushInitHistory(view) {\n this.historyStates.push(view);\n\n history.pushState(this.historyStates, 'sub-menu', null);\n }\n\n /**\n * Pushes a history.\n *\n * @param {PIXI.Container} view The view\n */\n\n }, {\n key: 'pushHistory',\n value: function pushHistory(view) {\n this.historyStates.push(view);\n\n history.replaceState(this.historyStates, 'sub-menu', null);\n }\n\n /**\n * Pop a history\n */\n\n }, {\n key: 'popHistory',\n value: function popHistory() {\n if (this.historyStates.length > 1) {\n this.historyStates.pop();\n\n window.history.pushState(this.historyStates, 'sub-menu', null);\n this.popView();\n\n return;\n }\n\n window.history.back();\n }\n\n /**\n * Navigate back\n */\n\n }, {\n key: 'back',\n value: function back() {\n this.popHistory();\n }\n\n /**\n * Force a real back navigation\n */\n\n }, {\n key: 'forceBack',\n value: function forceBack() {\n this.historyStates = [];\n\n window.history.back();\n }\n\n /**\n * User hit space bar\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'spacebarHit',\n value: function spacebarHit(e) {\n if (this.isTransitioning) {\n return;\n }\n\n e.preventDefault();\n\n var tmp = this.views.concat(this.overlays);\n\n for (var i = tmp.length - 1; i >= 0; i--) {\n var view = tmp[i];\n\n if (view && view.spacebarHit) {\n view.spacebarHit(e);\n\n return;\n }\n }\n }\n\n /**\n * Enables the user actions.\n */\n\n }, {\n key: 'enableUserActions',\n value: function enableUserActions() {\n var _this5 = this;\n\n this.innerStage.interactiveChildren = true;\n\n document.onkeydown = function (e) {\n e = e || window.event;\n\n if (e.keyCode === 32) {\n _this5.spacebarHit(e);\n }\n };\n }\n\n /**\n * Disables the user actions.\n */\n\n }, {\n key: 'disableUserActions',\n value: function disableUserActions() {\n this.innerStage.interactiveChildren = false;\n document.onkeydown = null;\n }\n\n /**\n * Enables the scrolling.\n */\n\n }, {\n key: 'enableScrolling',\n value: function enableScrolling() {\n this.renderer.plugins.interaction.autoPreventDefault = false;\n\n this.canvasEle.style['touch-action'] = 'pan-y';\n }\n\n /**\n * Disables the scrolling.\n */\n\n }, {\n key: 'disableScrolling',\n value: function disableScrolling() {\n this.renderer.plugins.interaction.autoPreventDefault = true;\n\n this.canvasEle.style['touch-action'] = 'none';\n }\n }]);\n\n return CanvasManager;\n}();\n\nexports.default = CanvasManager;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction extend(dpi) {\n function bringToFront() {\n if (this.parent) {\n var parent = this.parent;\n\n\n parent.removeChild(this);\n parent.addChild(this);\n }\n }\n window.PIXI.DisplayObject.prototype.bringToFront = bringToFront;\n\n function zSort() {\n function sortIt(a, b) {\n if (a.z < b.z) {\n return -1;\n }\n if (a.z > b.z) {\n return 1;\n }\n\n return 0;\n }\n\n this.children = this.children.sort(sortIt);\n }\n window.PIXI.DisplayObject.prototype.zSort = zSort;\n\n function getByTag(tag) {\n if (!this.children || !this.children.length) {\n return null;\n }\n\n var objects = [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Array.from(this.children)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var child = _step.value;\n\n if (child.tag === tag) {\n objects.push(child);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if (objects.length > 1) {\n return objects;\n }\n\n if (objects.length === 1) {\n return objects[0];\n }\n\n return null;\n }\n window.PIXI.DisplayObject.prototype.getByTag = getByTag;\n\n function removeAllChildren() {\n while (this.children[0]) {\n this.children[0].removeChildren();\n this.removeChild(this.children[0]);\n }\n }\n window.PIXI.DisplayObject.prototype.removeAllChildren = removeAllChildren;\n\n function removeSelf() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n }\n window.PIXI.DisplayObject.prototype.removeSelf = removeSelf;\n\n function sizeToFit(width, scaleUp) {\n if (scaleUp === null || scaleUp === undefined) {\n scaleUp = true;\n }\n\n var w = this.width;\n var h = this.height;\n\n while (this.width > width) {\n this.style.fontSize--;\n }\n\n var ratio = this.width / w;\n var change = h - this.height * ratio;\n\n this.style.lineHeight -= change;\n }\n window.PIXI.Text.prototype.sizeToFit = sizeToFit;\n\n function sizeToFitHeight(height, scaleUp) {\n if (scaleUp === null || scaleUp === undefined) {\n scaleUp = true;\n }\n\n var w = this.width;\n var h = this.height;\n\n while (this.height > height) {\n this.style.fontSize--;\n }\n\n var ratio = this.height / h;\n\n console.log(ratio);\n var change = this.style.lineHeight * ratio;\n\n this.style.lineHeight = change;\n\n console.log(this.style.lineHeight);\n }\n window.PIXI.Text.prototype.sizeToFitHeight = sizeToFitHeight;\n}\n\nexports.extend = extend;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _buttons = __webpack_require__(9);\n\nvar _buttons2 = _interopRequireDefault(_buttons);\n\nvar _counter = __webpack_require__(10);\n\nvar _counter2 = _interopRequireDefault(_counter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n// import AutoplayView from './bar/autoplay-bar';\n\n\n/**\n * Bottom bar visualization of the data that model contains.\n */\nvar BottomBarView = function (_PIXI$Container) {\n _inherits(BottomBarView, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} gameModel The game model\n * @param {CurrencyManager} currencyManager The currency manager\n */\n function BottomBarView(gameModel, options, currencyManager) {\n _classCallCheck(this, BottomBarView);\n\n var _this = _possibleConstructorReturn(this, (BottomBarView.__proto__ || Object.getPrototypeOf(BottomBarView)).call(this));\n\n _this.w = 360;\n _this.h = 45;\n _this.bgAlpha = options.bgAlpha;\n _this.winAmount = 0;\n _this.lastWin = 0;\n _this.textYOffset = 18;\n _this.textGap = 10;\n _this.showTickets = false;\n _this.infoGroupWidth = 80;\n _this.interactive = true;\n _this.counterTween = null;\n\n if (options.infoGroupWidth) {\n _this.infoGroupWidth = options.infoGroupWidth;\n }\n\n if (options.bgAlpha === undefined) {\n console.error('missing options.bgAlpha');\n }\n\n _this.gameModel = gameModel;\n\n var ticketsLabel = options.ticketsLeftText;\n var betlabel = options.betText;\n var balanceLabel = options.balanceText;\n var lastWinLabel = options.lastWinText;\n var AutoplayLabel = options.autoplayText;\n\n // debugger\n\n var letterSpacing = _this.determineLetterSpacing(2, 10, [ticketsLabel, betlabel, balanceLabel, lastWinLabel]);\n\n _this.labelStyle = {\n fontFamily: _this.gameModel.font,\n fontSize: 9,\n fontWeight: 400,\n fill: '#FFFFFF',\n wordWrap: false,\n lineHeight: 15,\n padding: 2,\n letterSpacing: letterSpacing\n };\n\n _this.valueStyle = {\n fontFamily: _this.gameModel.font,\n fontSize: 12,\n fontWeight: 400,\n fill: _this.gameModel.primaryColor,\n wordWrap: false,\n lineHeight: 15,\n padding: 2\n };\n\n _this.currencyManager = currencyManager;\n\n _this._setDimension(_this.gameModel.gameWidth, _this.gameModel.gameHeight);\n\n _this.showTickets = _this.gameModel.isBasketMode();\n _this.showHomeButton = _this.gameModel.showHomeButton;\n _this.showHelpButton = _this.gameModel.showHelpButton;\n _this.showAutoplay = _this.gameModel.showAutoplay;\n\n _this.addBg();\n _this.addInfoContainer();\n\n var buttonOpts = {\n mute: gameModel.getMute(),\n primaryColor: gameModel.primaryColor,\n showHelpButton: gameModel.showHelpButton,\n showHomeButton: gameModel.showHomeButton,\n helpButtonHandler: options.onHelpClick,\n homeButtonHandler: options.onHomeClick,\n muteButtonHandler: options.onMuteClick,\n settingsButtonHandler: options.onSettingsClick,\n isBasketMode: _this.gameModel.isBasketMode(),\n fullscreenEnabled: options.fullscreenEnabled,\n fullscreenButtonHandler: options.onFullscreenClick\n };\n\n _this.buttonContainer = new _buttons2.default(buttonOpts);\n _this.addChild(_this.buttonContainer);\n\n var ticketX = 0;\n\n if (_this.showAutoplay) {\n _this.addAutplayInfo(AutoplayLabel, ticketX, options.onSettingsClick);\n ticketX += _this.infoGroupWidth;\n }\n\n // prebought tickets\n if (_this.showTickets) {\n window.SUGA.Event.on('tickets', function (amount) {\n return _this.updateTicketCount(amount);\n });\n _this.addTickets(ticketsLabel, ticketX, _this.gameModel.getRoundsLeft());\n ticketX += _this.infoGroupWidth;\n }\n\n // buy from wallet\n else if (!_this.gameModel.dontShowStake) {\n var amount = _this.gameModel.getStake();\n\n try {\n amount = _this.currencyManager.localize(amount, true, true);\n } catch (e) {\n amount = '';\n }\n\n _this.addTickets(betlabel, ticketX, amount, options.onSettingsClick);\n ticketX += _this.infoGroupWidth;\n }\n\n if (options.showLastWin) {\n // lastWin\n _this.addLastWin(lastWinLabel, ticketX);\n ticketX += _this.infoGroupWidth;\n }\n\n // balance\n if (!_this.gameModel.dontShowBalance) {\n _this.addBalance(balanceLabel, _this.gameModel.getBalance(), ticketX);\n window.SUGA.Event.on('balance', function (amount) {\n return _this.updateBalance(amount);\n });\n ticketX += _this.infoGroupWidth;\n }\n\n _this.infoContainerXOffset = ticketX;\n return _this;\n }\n\n /**\n * Sets the dimension.\n *\n * @param {Number} viewportWidth The viewport width\n * @param {Number} viewportHeight The viewport height\n */\n\n\n _createClass(BottomBarView, [{\n key: '_setDimension',\n value: function _setDimension(viewportWidth, viewportHeight) {\n this.w = viewportWidth;\n var y = viewportHeight - this.h;\n\n this.position.y = y;\n }\n\n /**\n * Adds a background.\n */\n\n }, {\n key: 'addBg',\n value: function addBg() {\n this.bg = new PIXI.Graphics();\n this.bg.beginFill(0x000000);\n this.bg.drawRect(0, 0, this.w, this.h);\n this.bg.endFill();\n this.bg.alpha = this.bgAlpha;\n this.addChildAt(this.bg, 0);\n }\n\n /**\n * Adds an information container.\n */\n\n }, {\n key: 'addInfoContainer',\n value: function addInfoContainer() {\n this.infoContainer = new PIXI.Container();\n this.addChild(this.infoContainer);\n this.infoContainer.x = this.width - this.infoGroupWidth * 2;\n }\n\n /**\n * Adds tickets.\n *\n * @param {String} label The label\n * @param {Number} x The x position\n * @param {(PIXI|string)} amount The amount\n */\n\n }, {\n key: 'addTickets',\n value: function addTickets(label, x, amount, handler) {\n if (amount === null || amount === undefined) {\n amount = '';\n }\n\n var y = this.textYOffset;\n\n var container = new PIXI.Container();\n\n container.x = x;\n this.infoContainer.addChild(container);\n\n var bg = new PIXI.Graphics();\n\n bg.beginFill(0xFFCC66);\n bg.drawRect(0, 0, this.infoGroupWidth, this.h);\n bg.endFill();\n bg.alpha = 0;\n container.addChild(bg);\n\n if (!this.ticketLabel) {\n this.ticketLabel = new PIXI.Text(label, this.labelStyle);\n }\n\n container.addChild(this.ticketLabel);\n this.ticketLabel.centerX();\n this.ticketLabel.y = 11;\n\n y = y + this.textGap;\n\n this.ticketValue = new PIXI.Text('' + amount, this.valueStyle);\n container.addChild(this.ticketValue);\n this.ticketValue.centerX();\n this.ticketValue.y = 21;\n\n if (!this.gameModel.isBasketMode() && this.settingsButtonHandler) {\n container.interactive = true;\n container.buttonMode = true;\n container.pointerup = function () {\n return handler();\n };\n }\n }\n\n /**\n * Updates the ticket count\n *\n * @param {Number} amount The amount\n */\n\n }, {\n key: 'updateTicketCount',\n value: function updateTicketCount(amount) {\n if (!this.gameModel.isBasketMode()) return;\n this.ticketValue.text = '' + amount;\n }\n }, {\n key: 'updateStake',\n value: function updateStake(stake) {\n if (this.gameModel.isBasketMode()) return;\n var amount = this.currencyManager.localize(stake, true, true);\n\n this.ticketValue.text = '' + amount;\n this.ticketValue.centerX();\n }\n\n /**\n * Adds a balance.\n *\n * @param {Number} amount The amount\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addBalance',\n value: function addBalance(label, amount, x) {\n var _this2 = this;\n\n var y = this.textYOffset;\n\n var container = new PIXI.Container();\n\n container.x = x;\n this.infoContainer.addChild(container);\n\n var bg = new PIXI.Graphics();\n\n bg.beginFill(0xFFCC66);\n bg.drawRect(0, 0, this.infoGroupWidth, this.h);\n bg.endFill();\n bg.alpha = 0;\n container.addChild(bg);\n\n if (!this.balanceLabel) {\n this.balanceLabel = new PIXI.Text(label, this.labelStyle);\n }\n container.addChild(this.balanceLabel);\n this.balanceLabel.centerX();\n this.balanceLabel.y = 11;\n\n y = y + this.textGap;\n\n var formatter = function formatter(amount) {\n if (amount === null || amount === undefined || amount < 0) {\n return '';\n }\n\n return _this2.currencyManager.localize(amount, true, true);\n };\n\n var currencyMultiplier = this.gameModel.getCurrencyMultiplier();\n\n this.balanceValue = new _counter2.default('', this.valueStyle, formatter, currencyMultiplier, 1000);\n container.addChild(this.balanceValue);\n this.balanceValue.centerX();\n this.balanceValue.y = 21;\n\n this.setBalance(amount);\n }\n\n /**\n * Finish balance animation instantly\n */\n\n }, {\n key: 'instantFinishBalance',\n value: function instantFinishBalance() {\n return this.balanceValue.instantFinish();\n }\n\n /**\n * { function_description }\n *\n * @param {Number} newBalance The new balance\n * @param {Function} cb { parameter_description }\n */\n\n }, {\n key: 'updateBalance',\n value: function updateBalance(newBalance, cb) {\n if (!this.balanceValue) return;\n\n var newCount = {\n animate: newBalance.animate,\n count: newBalance.balance\n };\n\n return this.balanceValue.updateCount(newCount, cb);\n }\n\n /**\n * Sets the balance.\n *\n * @param {(number|string)} amount The amount\n * @return {boolean} { description_of_the_return_value }\n */\n\n }, {\n key: 'setBalance',\n value: function setBalance(amount) {\n if (!this.balanceValue) return;\n\n return this.balanceValue.setCount(amount);\n }\n\n /**\n * Center's the balance label\n */\n\n }, {\n key: 'centerBalance',\n value: function centerBalance() {\n if (!this.balanceValue) return;\n\n return this.balanceValue.centerX();\n }\n\n /**\n * Adds a balance.\n *\n * @param {Number} amount The amount\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addLastWin',\n value: function addLastWin(label, x) {\n var _this3 = this;\n\n var y = this.textYOffset;\n\n var container = new PIXI.Container();\n\n container.x = x;\n this.infoContainer.addChild(container);\n\n var bg = new PIXI.Graphics();\n\n bg.beginFill(0xCCFF66);\n bg.drawRect(0, 0, this.infoGroupWidth, this.h);\n bg.endFill();\n bg.alpha = 0;\n container.addChild(bg);\n\n if (!this.lastWinLabel) {\n this.lastWinLabel = new PIXI.Text(label, this.labelStyle);\n }\n container.addChild(this.lastWinLabel);\n this.lastWinLabel.centerX();\n this.lastWinLabel.y = 11;\n\n y = y + this.textGap;\n\n var formatter = function formatter(amount) {\n if (amount === null || amount === undefined || amount < 0) {\n return '';\n }\n\n return _this3.currencyManager.localize(amount, true, true);\n };\n\n var currencyMultiplier = this.gameModel.getCurrencyMultiplier();\n\n this.lastWinValue = new _counter2.default('-', this.valueStyle, formatter, currencyMultiplier, 1000, '-');\n container.addChild(this.lastWinValue);\n this.lastWinValue.centerX();\n this.lastWinValue.y = 21;\n }\n }, {\n key: 'updateLastWin',\n value: function updateLastWin(amount, cb) {\n if (amount <= 0) return;\n\n this.lastWin += amount;\n\n var newCount = {\n animate: true,\n count: this.lastWin\n };\n\n return this.lastWinValue.updateCount(newCount, cb);\n }\n }, {\n key: 'setLastWin',\n value: function setLastWin(amount) {\n return this.lastWinValue.setCount(amount);\n }\n }, {\n key: 'resetLastWin',\n value: function resetLastWin() {\n this.lastWinValue.instantFinish();\n this.lastWin = 0;\n this.setLastWin(0);\n }\n\n /**\n * Adds autoplayLabel.\n *\n * @param {String} label The label\n * @param {Number} x The x position\n * @param {(PIXI|string)} amount The amount\n */\n\n }, {\n key: 'addAutplayInfo',\n value: function addAutplayInfo(label, x, handler) {\n var y = this.textYOffset;\n\n var container = new PIXI.Container();\n\n container.x = x;\n this.infoContainer.addChild(container);\n\n var bg = new PIXI.Graphics();\n\n bg.beginFill(0xFFCC66);\n bg.drawRect(0, 0, this.infoGroupWidth, this.h);\n bg.endFill();\n bg.alpha = 0;\n container.addChild(bg);\n\n var pill = new PIXI.Graphics();\n // pill.lineStyle(1, 0x222222)\n\n pill.beginFill(0xFFFFFF);\n pill.drawRoundedRect(5, 5, this.infoGroupWidth - 10, 34, 18);\n pill.endFill();\n pill.tint = 0x111111;\n container.addChild(pill);\n\n pill.interactive = true;\n pill.buttonMode = true;\n pill.pointerover = function () {\n return pill.tint = 0x222222;\n };\n pill.pointerout = function () {\n return pill.tint = 0x111111;\n };\n\n if (!this.autoplayLabel) {\n this.autoplayLabel = new PIXI.Text(label, this.labelStyle);\n }\n\n container.addChild(this.autoplayLabel);\n this.autoplayLabel.centerX();\n this.autoplayLabel.y = 11;\n\n y = y + this.textGap;\n\n this.autoplayValue = new PIXI.Text('OFF', this.valueStyle);\n container.addChild(this.autoplayValue);\n this.autoplayValue.centerX(this.infoGroupWidth);\n this.autoplayValue.y = 21;\n\n console.log('add', this.autoplayValue.parent.width);\n\n container.interactive = true;\n container.buttonMode = true;\n container.pointerup = function () {\n return handler();\n };\n }\n }, {\n key: 'updateAutoplay',\n value: function updateAutoplay(round, rounds) {\n if (!this.autoplayValue) return;\n\n if (rounds <= 0) {\n this.autoplayValue.text = 'OFF';\n } else {\n this.autoplayValue.text = round + '/' + rounds;\n }\n\n this.autoplayValue.centerX(this.infoGroupWidth);\n }\n\n /**\n * Display the sound on button\n */\n\n }, {\n key: 'displaySoundOnButton',\n value: function displaySoundOnButton() {\n this.buttonContainer.displaySoundOnButton();\n }\n\n /**\n * Display the Sound off button\n */\n\n }, {\n key: 'displaySoundOffButton',\n value: function displaySoundOffButton() {\n this.buttonContainer.displaySoundOffButton();\n }\n\n /**\n * On resize\n *\n * @param {Number} rendererW The renderer w\n * @param {Number} rendererH The renderer h\n */\n\n }, {\n key: 'resize',\n value: function resize(rendererW, rendererH) {\n this._setDimension(rendererW, rendererH);\n this.removeChild(this.bg);\n this.bg = null;\n this.addBg();\n\n this.infoContainer.x = rendererW - this.infoContainerXOffset;\n this.infoContainer.bringToFront();\n\n // this.autoplayBar.resize(rendererW);\n }\n }, {\n key: 'determineLetterSpacing',\n value: function determineLetterSpacing(defaultSpacing, maxLength, array) {\n var tmp = 0;\n\n array.forEach(function (label) {\n if (label.length > tmp) {\n tmp = label.length;\n }\n });\n\n if (tmp <= maxLength) {\n return defaultSpacing;\n }\n\n return defaultSpacing * (maxLength / tmp);\n }\n }]);\n\n return BottomBarView;\n}(PIXI.Container);\n\nexports.default = BottomBarView;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Help visualization of the data that model contains.\n */\nvar HelpView = function (_PIXI$Container) {\n _inherits(HelpView, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} size The canvas size data\n * @param {Object} options The options {helpUrl: , font:}\n */\n function HelpView(size, options) {\n _classCallCheck(this, HelpView);\n\n var _this = _possibleConstructorReturn(this, (HelpView.__proto__ || Object.getPrototypeOf(HelpView)).call(this));\n\n _this.name = 'HelpView';\n _this.visible = false;\n _this.isHTML = true;\n _this.balanceBarHeight = options.balanceBarHeight;\n _this.canClick = false;\n _this.isShowing = false;\n\n _this.backButtonHandler = options.onBackClick;\n\n _this.style = {\n fontFamily: options.font,\n fontSize: 22,\n fill: '#FFFFFF',\n align: 'center',\n lineHeight: 32\n };\n\n _this.addIframe(size, options.helpUrl);\n\n _this._size = size;\n return _this;\n }\n\n _createClass(HelpView, [{\n key: 'setBalanceBarHeight',\n value: function setBalanceBarHeight(h) {\n this.balanceBarHeight = h;\n this.resize(this._size);\n }\n\n /**\n * Animates the windows position when showing and hiding\n *\n * @param {Nuber} progress The progress\n */\n\n }, {\n key: 'showingProgress',\n value: function showingProgress(progress) {\n progress = Math.round(progress);\n\n this.container.style.left = progress + 'px';\n }\n\n /**\n * Adds an iframe.\n *\n * @param {Object} size The canvas size data\n * @param {String} helpUrl The help url\n */\n\n }, {\n key: 'addIframe',\n value: function addIframe(size, helpUrl) {\n var _this2 = this;\n\n var vp = window.SUGA.Device.getViewport();\n var w = vp.w;\n\n\n this.iframe = document.createElement('iframe');\n this.iframe.src = helpUrl;\n // this.iframe.style.width = `${w}px`;\n\n this.container = document.getElementById('help-container');\n this.container.style.left = vp.w + 'px';\n this.container.style.bottom = Math.floor(this.balanceBarHeight * size.scale) + 'px';\n this.container.style.display = 'none';\n this.container.style.width = w + 'px';\n this.container.appendChild(this.iframe);\n\n // listen for the iframes button click\n var receiveMessage = function receiveMessage(event) {\n if (event.data === 'close-help') {\n _this2.buttonClick();\n }\n };\n\n window.addEventListener('message', receiveMessage, false);\n }\n\n /**\n * On button click\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'buttonClick',\n value: function buttonClick(e) {\n if (!this.canClick) {\n return;\n }\n\n this.backButtonHandler();\n if (e) {\n e.stopPropagation();\n }\n }\n\n /**\n * Called on resize\n *\n * @param {Object} size The size data\n */\n\n }, {\n key: 'resize',\n value: function resize(size) {\n if (!this.iframe) {\n return;\n }\n\n var w = size.viewportWidth;\n\n this.prevWidth = w;\n\n // this.iframe.style.width = `${w}px`;\n this.container.style.width = w + 'px';\n\n this.container.style.bottom = Math.floor(this.balanceBarHeight * size.scale) + 'px';\n\n this._size = size;\n }\n\n /**\n * Called before showing view\n */\n\n }, {\n key: 'willShow',\n value: function willShow() {\n this.container.style.display = 'block';\n }\n\n /**\n * Called after showing view\n */\n\n }, {\n key: 'didShow',\n value: function didShow() {\n this.canClick = true;\n this.isShowing = true;\n }\n\n /**\n * Called before hiding view\n */\n\n }, {\n key: 'willHide',\n value: function willHide() {\n this.canClick = false;\n this.isShowing = false;\n }\n\n /**\n * Called after hiding view\n */\n\n }, {\n key: 'didHide',\n value: function didHide() {\n this.container.style.display = 'none';\n }\n }]);\n\n return HelpView;\n}(PIXI.Container);\n\nexports.default = HelpView;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _button = __webpack_require__(0);\n\nvar _button2 = _interopRequireDefault(_button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Notification visualization of the data that model contains.\n */\nvar NotificationView = function (_PIXI$Container) {\n _inherits(NotificationView, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} size The size\n * @param {Object} options The options\n */\n function NotificationView(size, options) {\n _classCallCheck(this, NotificationView);\n\n var _this = _possibleConstructorReturn(this, (NotificationView.__proto__ || Object.getPrototypeOf(NotificationView)).call(this));\n\n _this.overlayAlpha = 0.9;\n _this.buttons = [];\n\n if (options.padding !== undefined) {\n _this.padding = options.padding;\n }\n\n _this.style = {\n fontSize: 28,\n fontWeight: 100,\n fill: '#FFFFFF',\n align: 'center',\n lineHeight: 32,\n wordWrap: true,\n wordWrapWidth: 380\n };\n\n _this.msgStyle = {\n fontSize: 13,\n fontWeight: 100,\n align: 'center',\n fill: '#FFFFFF',\n lineHeight: 17,\n wordWrap: true,\n wordWrapWidth: 380\n };\n\n _this.buttonTextStyle = {\n fontSize: 13,\n fontWeight: 100,\n align: 'center',\n fill: '#FFFFFF',\n lineHeight: 17,\n wordWrap: true,\n wordWrapWidth: 280\n };\n\n _this.style.fontFamily = options.font;\n _this.msgStyle.fontFamily = options.font;\n _this.buttonTextStyle.fontFamily = options.font;\n\n _this.font = options.font;\n _this.primaryColor = options.primaryColor;\n _this.defaultWidth = size.defaultWidth;\n\n _this.showCashierButton = options.showCashierButton;\n _this.showHistoryButton = options.showHistoryButton;\n _this.showHomeButton = options.showHomeButton;\n _this.showBuyMoreButton = options.showBuyMoreButton;\n\n _this.buttonImages = options.buttonImages;\n\n _this.addBg(size);\n\n _this.inner = new PIXI.Container();\n _this.addChild(_this.inner);\n\n return _this;\n }\n\n /**\n * Adds a background.\n *\n * @param {Object} size The size\n */\n\n\n _createClass(NotificationView, [{\n key: 'addBg',\n value: function addBg(size) {\n this.overlay = new PIXI.Graphics();\n this.overlay.beginFill(0x000000);\n this.overlay.drawRect(0, 0, size.width, size.height);\n this.overlay.endFill();\n this.overlay.alpha = 0;\n\n this.addChildAt(this.overlay, 0);\n }\n\n /**\n * Setups the view\n *\n * @param {String} title The title\n * @param {String} message The message\n * @param {Array} actions The actions\n * @param {Object} size The size\n * @param {Function} cb { parameter_description }\n */\n\n }, {\n key: 'setup',\n value: function setup(title, message, actions, size, cb) {\n this.inner.removeAllChildren();\n\n var textHeight = this.addText(title, message, size);\n this.addButtons(actions, textHeight, size);\n\n var y = (size.height - 50 - this.inner.height) / 2;\n this.inner.position.set(size.stage.x, y);\n\n this.showOverlay(function () {\n cb();\n });\n }\n\n /**\n * Hides view\n *\n * @param {Function} cb Completion Handler\n */\n\n }, {\n key: 'hide',\n value: function hide(cb) {\n var _this2 = this;\n\n // next tick\n setTimeout(function () {\n if (_this2.text) {\n _this2.text.visible = false;\n }\n\n _this2.inner.removeAllChildren();\n\n _this2.hideOverlay(function () {\n if (cb) {\n cb();\n }\n\n if (_this2.onHide) {\n _this2.onHide();\n }\n });\n }, 1);\n }\n\n /**\n * Adds text.\n *\n * @param {String} title The title\n * @param {String} msg The message\n * @param {Object} size The size\n */\n\n }, {\n key: 'addText',\n value: function addText(title, msg, size) {\n var gap = 10;\n title = window.__t.str(title);\n msg = window.__t.str(msg);\n\n var titleText = new PIXI.Text(title, this.style);\n this.inner.addChild(titleText);\n titleText.sizeToFitHeight(80, false);\n titleText.centerX(size.defaultWidth);\n\n var messageText = new PIXI.Text(msg, this.msgStyle);\n this.inner.addChild(messageText);\n messageText.y = titleText.height + gap;\n messageText.sizeToFitHeight(80, false);\n messageText.centerX(size.defaultWidth);\n\n return titleText.height + messageText.height + gap;\n }\n\n /**\n * Adds buttons\n *\n * @param {Array} unreversedActions The unreversed actions\n * @param {Object} size The size\n * @return {Array} buttons\n */\n\n }, {\n key: 'addButtons',\n value: function addButtons(unreversedActions, y, size) {\n\n var actions = unreversedActions.slice();\n\n actions = actions.reverse();\n\n var height = 0;\n var j = 0;\n\n for (var i = 0; i < actions.length; i += 1) {\n var action = actions[i];\n\n if (!this.canPerformAction(action.action)) {\n continue;\n }\n\n var offset = y + j * 50;\n\n j += 1;\n\n if (this.addButton(action, offset, i, actions.length, size)) {\n height += offset;\n }\n }\n\n return height;\n }\n\n /**\n * Adds a button.\n *\n * @param {String|Function} options The action\n * @param {Number} place The place\n * @param {Number} i Index of incrment\n * @param {Number} total The total\n * @return {Boolean} Whether the button was placed\n */\n\n }, {\n key: 'addButton',\n value: function addButton(options, y, i, total, size) {\n options.tapped = function () {\n window.SUGA.Event.trigger(options.action, options);\n };\n\n options.remainActive = true;\n\n options.normalUrl = this.buttonImages.normalUrl;\n options.hoverUrl = this.buttonImages.hoverUrl;\n options.font = this.font;\n options.textStyle = this.buttonTextStyle;\n options.tint = i === total - 1 ? this.primaryColor : 0xaaaaaa;\n\n var button = new _button2.default(options);\n\n button.y = y;\n button.centerX();\n button.centerX(size.defaultWidth);\n this.inner.addChild(button);\n\n return true;\n }\n\n /**\n * Shows the overlay.\n *\n * @param {Function} cb Completion handler\n */\n\n }, {\n key: 'showOverlay',\n value: function showOverlay(cb) {\n var to = {\n alpha: this.overlayAlpha,\n onComplete: cb\n };\n\n window.TweenMax.to(this.overlay, 300 / 1000, to);\n }\n\n /**\n * Hides the overlay.\n *\n * @param {Function} cb Completion handler\n */\n\n }, {\n key: 'hideOverlay',\n value: function hideOverlay(cb) {\n if (!this.overlay) {\n if (cb) {\n cb();\n }\n\n return;\n }\n\n var to = {\n alpha: 0,\n onComplete: function onComplete() {\n if (cb) {\n cb();\n }\n }\n };\n\n window.TweenMax.to(this.overlay, 300 / 1000, to);\n }\n\n /**\n * On resize\n *\n * @param {Object} size The size\n */\n\n }, {\n key: 'resize',\n value: function resize(size) {\n this.removeChild(this.overlay);\n\n this.addBg(size);\n\n if (this.parent) {\n this.overlay.alpha = this.overlayAlpha;\n } else {\n this.overlay.alpha = 0;\n }\n }\n\n /**\n * Determines ability to perform action.\n *\n * @param {String} action The action\n * @return {Boolean} True if able to perform action, False otherwise.\n */\n\n }, {\n key: 'canPerformAction',\n value: function canPerformAction(action) {\n switch (action) {\n case 'cashier':\n if (!this.showCashierButton) {\n return false;\n }\n break;\n case 'history':\n if (!this.showHistoryButton) {\n return false;\n }\n break;\n case 'home':\n if (!this.showHomeButton) {\n return false;\n }\n break;\n case 'buy-more':\n if (!this.showBuyMoreButton) {\n return false;\n }\n break;\n }\n\n return true;\n }\n }]);\n\n return NotificationView;\n}(PIXI.Container);\n\nexports.default = NotificationView;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction lastItem(array) {\n var length = array === null ? 0 : array.length;\n\n return length ? array[length - 1] : undefined;\n}\n\nexports.lastItem = lastItem;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NotificationView = exports.HelpView = exports.BottomBarView = exports.Button = exports.Pixi = exports.Canvas = undefined;\n\nvar _canvas = __webpack_require__(1);\n\nvar _canvas2 = _interopRequireDefault(_canvas);\n\nvar _pixiExtend = __webpack_require__(2);\n\nvar Pixi = _interopRequireWildcard(_pixiExtend);\n\nvar _button = __webpack_require__(0);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _bottomBarView = __webpack_require__(3);\n\nvar _bottomBarView2 = _interopRequireDefault(_bottomBarView);\n\nvar _helpView = __webpack_require__(4);\n\nvar _helpView2 = _interopRequireDefault(_helpView);\n\nvar _notificationView = __webpack_require__(5);\n\nvar _notificationView2 = _interopRequireDefault(_notificationView);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Canvas = _canvas2.default;\nexports.Pixi = Pixi;\nexports.Button = _button2.default;\nexports.BottomBarView = _bottomBarView2.default;\nexports.HelpView = _helpView2.default;\nexports.NotificationView = _notificationView2.default;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Class for base menu button.\n */\nvar Button = function (_PIXI$Container) {\n _inherits(Button, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} options The options\n */\n function Button(options) {\n _classCallCheck(this, Button);\n\n var _this = _possibleConstructorReturn(this, (Button.__proto__ || Object.getPrototypeOf(Button)).call(this));\n\n _this.options = options;\n\n _this.tag = 'button';\n\n _this.isEnabled = true;\n _this.interactive = true;\n _this.buttonMode = true;\n\n _this.action = null;\n _this.remainActive = true;\n\n _this.enable();\n _this.removeChildren();\n\n _this.normalBg = new PIXI.Sprite(options.buttonImage);\n\n _this.bg = new PIXI.Graphics();\n _this.bg.beginFill(options.tint, 0.1);\n _this.bg.drawRect(0, 0, _this.normalBg.width, _this.normalBg.height);\n _this.bg.endFill();\n _this.bg.visible = false;\n\n _this.addChild(_this.bg);\n _this.addChild(_this.normalBg);\n\n if (typeof options.toggleState === 'boolean') {\n if (options.toggleState) {\n _this.setOn();\n } else {\n _this.setOff();\n }\n }\n return _this;\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n\n _createClass(Button, [{\n key: 'pointerdown',\n value: function pointerdown(e) {\n if (!this.isEnabled) {\n return;\n }\n\n e.stopPropagation();\n\n this.normalBg.tint = this.options.tint;\n }\n\n /**\n * Pixi Pointer event\n */\n\n }, {\n key: 'pointerover',\n value: function pointerover() {\n if (!this.isEnabled) {\n return;\n }\n\n if (this.hovered) {\n this.hovered();\n }\n\n this.normalBg.tint = this.options.tint;\n this.bg.visible = true;\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerup',\n value: function pointerup(e) {\n if (!this.isEnabled) {\n return;\n }\n\n this.reset();\n\n this._tapped(e);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointertap',\n value: function pointertap(e) {\n if (!this.isEnabled) {\n return;\n }\n e.stopPropagation();\n this.reset();\n\n this._tapped(e);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerout',\n value: function pointerout() {\n this.reset();\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerupoutside',\n value: function pointerupoutside() {\n this.reset();\n }\n\n /**\n * Reset\n */\n\n }, {\n key: 'reset',\n value: function reset() {\n if (this.normalBg) {\n this.normalBg.tint = 0xFFFFFF;\n this.bg.visible = false;\n }\n }\n\n /**\n * Enable\n */\n\n }, {\n key: 'enable',\n value: function enable() {\n this.reset();\n this.interactive = true;\n this.buttonMode = true;\n this.alpha = 1;\n\n this.isEnabled = true;\n }\n\n /**\n * Disable\n */\n\n }, {\n key: 'disable',\n value: function disable() {\n this.reset();\n this.interactive = false;\n this.buttonMode = false;\n this.alpha = 0.5;\n\n this.isEnabled = false;\n }\n\n /**\n * @private\n * Button pressed action\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: '_tapped',\n value: function _tapped(e) {\n if (this.tapped) {\n this.tapped(e);\n } else {\n throw new Error('Button has no Action');\n }\n\n if (!this.remainActive) {\n this.disable();\n }\n }\n\n /**\n * Turn Button on\n */\n\n }, {\n key: 'setOn',\n value: function setOn() {\n this.state = true;\n\n this.normalBg.texture = this.options.buttonImage;\n }\n\n /**\n * Turn button off\n */\n\n }, {\n key: 'setOff',\n value: function setOff() {\n this.state = false;\n\n this.normalBg.texture = this.options.buttonOffImage;\n }\n\n /**\n * Toggle state\n *\n * @return {Boolean} True if on false if off\n */\n\n }, {\n key: 'toggleState',\n value: function toggleState() {\n if (this.state) {\n this.setOff();\n } else {\n this.setOn();\n }\n\n return this.state;\n }\n }]);\n\n return Button;\n}(PIXI.Container);\n\nexports.default = Button;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _button = __webpack_require__(8);\n\nvar _button2 = _interopRequireDefault(_button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ButtonContainer = function (_PIXI$Container) {\n _inherits(ButtonContainer, _PIXI$Container);\n\n function ButtonContainer(options) {\n _classCallCheck(this, ButtonContainer);\n\n var _this = _possibleConstructorReturn(this, (ButtonContainer.__proto__ || Object.getPrototypeOf(ButtonContainer)).call(this));\n\n Object.assign(_this, options);\n\n _this.buttonYOffset = 0;\n\n var color = options.primaryColor;\n var mute = options.mute;\n\n var x = 0;\n\n if (_this.showHomeButton) {\n _this.addHomeButton(x, color);\n _this.addLine(x);\n x += 45;\n }\n\n _this.addSoundButton(x, color, mute);\n _this.addLine(x);\n x += 45;\n\n if (_this.showHelpButton) {\n _this.addHelpButton(x, color);\n _this.addLine(x);\n x += 45;\n }\n\n if (options.fullscreenEnabled) {\n _this.addFullscreenButton(x, color, false);\n _this.addLine(x);\n x += 45;\n }\n return _this;\n }\n\n /**\n * Adds a line.\n *\n * @param {Number} x The x position\n */\n\n\n _createClass(ButtonContainer, [{\n key: 'addLine',\n value: function addLine(x) {\n x = x + 45;\n var graphics = new PIXI.Graphics();\n\n graphics.lineStyle(1, 0x000000);\n graphics.moveTo(x, 0);\n graphics.lineTo(x, 45);\n graphics.endFill();\n // graphics.alpha = 0.1;\n graphics.cachedAsBitmap = true;\n this.addChild(graphics);\n }\n\n /**\n * Adds a home button.\n *\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addHomeButton',\n value: function addHomeButton(x, color) {\n var _this2 = this;\n\n var img = window.SUGA.Loader.makeTexturesFromName('btn-home-normal')[0];\n\n var options = {\n tint: color,\n buttonImage: img\n };\n\n this.homeButton = new _button2.default(options);\n this.homeButton.tapped = function (e) {\n return _this2.homeButtonClick(e);\n };\n this.homeButton.position.set(x, this.buttonYOffset);\n this.addChild(this.homeButton);\n }\n\n /**\n * Home button clicked\n *\n * @param {UIEvent} e event\n */\n\n }, {\n key: 'homeButtonClick',\n value: function homeButtonClick(e) {\n window.SUGA.Sound.play('click');\n this.homeButtonHandler(e);\n e.stopPropagation();\n }\n\n /**\n * Adds a help button.\n *\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addHelpButton',\n value: function addHelpButton(x, color) {\n var _this3 = this;\n\n var options = {\n tint: color,\n buttonImage: window.SUGA.Loader.makeTexturesFromName('btn-help-normal')[0]\n };\n\n this.helpButton = new _button2.default(options);\n this.helpButton.tapped = function (e) {\n return _this3.helpButtonClick(e);\n };\n this.helpButton.position.set(x, this.buttonYOffset);\n\n this.addChild(this.helpButton);\n }\n\n /**\n * Help button clicked\n *\n * @param {UIEvent} e event\n */\n\n }, {\n key: 'helpButtonClick',\n value: function helpButtonClick(e) {\n window.SUGA.Sound.play('click');\n this.helpButtonHandler(e);\n e.stopPropagation();\n }\n\n /**\n * Adds a sound button.\n *\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addSoundButton',\n value: function addSoundButton(x, color, mute) {\n var _this4 = this;\n\n var options = {\n tint: color,\n toggleBtn: true,\n toggleState: !mute,\n buttonImage: window.SUGA.Loader.makeTexturesFromName('btn-soundon-normal')[0],\n buttonOffImage: window.SUGA.Loader.makeTexturesFromName('btn-soundoff-normal')[0]\n };\n\n this.soundButton = new _button2.default(options);\n this.soundButton.position.set(x, this.buttonYOffset);\n this.addChild(this.soundButton);\n\n // Hack to always hide sound\n\n this.soundButton.tapped = function (e) {\n _this4.toggleSoundClick(e);\n };\n }\n\n /**\n * Toggle sound button\n *\n * @param {UIEvent} e event\n */\n\n }, {\n key: 'toggleSoundClick',\n value: function toggleSoundClick(e) {\n e.stopPropagation();\n\n window.SUGA.Sound.play('click');\n\n this.soundButton.toggleState();\n\n this.muteButtonHandler(e);\n }\n\n /**\n * Display the sound on button\n */\n\n }, {\n key: 'displaySoundOnButton',\n value: function displaySoundOnButton() {\n this.soundButton.setOn();\n }\n\n /**\n * Display the Sound off button\n */\n\n }, {\n key: 'displaySoundOffButton',\n value: function displaySoundOffButton() {\n this.soundButton.setOff();\n }\n }, {\n key: 'addFullscreenButton',\n value: function addFullscreenButton(x, color, fullscreen) {\n var _this5 = this;\n\n var options = {\n tint: color,\n toggleBtn: true,\n toggleState: fullscreen,\n buttonImage: window.SUGA.Loader.makeTexturesFromName('btn-fullscreen-active')[0],\n buttonOffImage: window.SUGA.Loader.makeTexturesFromName('btn-fullscreen-normal')[0]\n };\n\n this.fullscreenBtn = new _button2.default(options);\n this.fullscreenBtn.tapped = function (e) {\n return _this5.fullscreenClick(e);\n };\n this.fullscreenBtn.position.set(x, this.buttonYOffset);\n\n this.addChild(this.fullscreenBtn);\n }\n }, {\n key: 'fullscreenClick',\n value: function fullscreenClick(e) {\n e.stopPropagation();\n\n window.SUGA.Sound.play('click');\n\n this.fullscreenBtn.toggleState();\n\n this.fullscreenButtonHandler(e);\n }\n }]);\n\n return ButtonContainer;\n}(PIXI.Container);\n\nexports.default = ButtonContainer;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Bottom bar visualization of the data that model contains.\n */\nvar Counter = function (_PIXI$Text) {\n _inherits(Counter, _PIXI$Text);\n\n /**\n * Constructs the object.\n *\n * @param {Object} gameModel The game model\n * @param {CurrencyManager} currencyManager The currency manager\n */\n function Counter(initCount, style, formatter, currencyMulitplier, maxPrize, zeroSymbol) {\n _classCallCheck(this, Counter);\n\n var _this = _possibleConstructorReturn(this, (Counter.__proto__ || Object.getPrototypeOf(Counter)).call(this, initCount, style));\n\n _this.counterTween = null;\n _this.formatter = formatter;\n _this.currencyMulitplier = currencyMulitplier;\n _this.maxPrize = maxPrize;\n _this.zeroSymbol = zeroSymbol;\n return _this;\n }\n\n /**\n * Finish count animation instantly\n */\n\n\n _createClass(Counter, [{\n key: 'instantFinish',\n value: function instantFinish() {\n // end current counter\n if (this.counterTween) {\n this.counterTween.totalProgress(1).kill();\n }\n }\n\n /**\n * { function_description }\n *\n * @param {Number} newCount The new count\n * @param {Function} cb { parameter_description }\n */\n\n }, {\n key: 'updateCount',\n value: function updateCount(newCount, cb) {\n var _this2 = this;\n\n this.instantFinish();\n\n var animate = true;\n\n if ((typeof newCount === 'undefined' ? 'undefined' : _typeof(newCount)) === 'object') {\n var _newCount = newCount;\n animate = _newCount.animate;\n\n newCount = newCount.count;\n }\n\n // if this is a debit or we are getting initial count\n if (this.currentCount >= newCount || this.currentCount < 0 || !animate) {\n this.setCount(newCount);\n this.centerCount();\n\n return;\n }\n\n if (!this.currentCount) {\n this.currentCount = 0;\n }\n\n var diff = newCount - this.currentCount;\n\n diff = Math.ceil(diff / this.currencyMulitplier);\n var maxPrize = this.maxPrize / this.currencyMulitplier;\n\n // max & min seconds\n var min = 2;\n var max = 15 - min;\n var scale = max / Math.log10(maxPrize);\n var timeLength = Math.log(diff) * Math.LOG10E * scale + min;\n var frames = timeLength * 60;\n var steps = Math.floor(frames / 2);\n\n var obj = {\n count: this.currentCount\n };\n\n var to = {\n ease: window.SteppedEase.config(steps),\n count: newCount,\n onUpdate: function onUpdate() {\n _this2.setCount(obj.count);\n },\n // play sound here\n\n onComplete: function onComplete() {\n _this2.setCount(obj.count);\n _this2.counterTween = null;\n // soundManager.play 'coin-done'\n if (cb) {\n cb();\n }\n }\n };\n\n this.counterTween = window.TweenMax.to(obj, timeLength, to);\n }\n\n /**\n * Sets the count.\n *\n * @param {(number|string)} amount The amount\n * @return {boolean} { description_of_the_return_value }\n */\n\n }, {\n key: 'setCount',\n value: function setCount(amount) {\n if (this.currentCount === amount) {\n return false;\n }\n\n this.currentCount = amount;\n\n var display = amount <= 0 ? 0 : amount;\n\n if (amount === 0 && this.zeroSymbol) {\n display = this.zeroSymbol;\n } else {\n display = this.formatter(amount);\n }\n\n this.text = display;\n this.centerCount();\n\n return true;\n }\n\n /**\n * Center's the count label\n */\n\n }, {\n key: 'centerCount',\n value: function centerCount() {\n this.centerX();\n }\n }]);\n\n return Counter;\n}(PIXI.Text);\n\nexports.default = Counter;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){ true?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;dg+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=vue.js.map\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"suga\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"suga\"] = factory();\n\telse\n\t\troot[\"suga\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 20);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar implementation = __webpack_require__(30);\n\nmodule.exports = Function.prototype.bind || implementation;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Device = function () {\n function Device() {\n _classCallCheck(this, Device);\n }\n\n _createClass(Device, null, [{\n key: 'isInIframe',\n\n /**\n * @return {boolean} Are we in a iFrame\n */\n value: function isInIframe() {\n return self !== top;\n }\n\n /**\n * @return {boolean|string} Which IE browser are we\n */\n\n }, {\n key: 'whichIE',\n value: function whichIE() {\n var myNav = navigator.userAgent.toLowerCase();\n\n if (myNav.indexOf('msie') !== -1) {\n return parseInt(myNav.split('msie')[1], 10);\n }\n\n return false;\n }\n\n /**\n * @return {boolean} is this a webkit browser\n */\n\n }, {\n key: 'isWebkit',\n value: function isWebkit() {\n return (/WebKit/.test(navigator.userAgent)\n );\n }\n\n /**\n * @return {boolean} is this iOS\n */\n\n }, {\n key: 'isIOS',\n value: function isIOS() {\n return (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream\n );\n }\n\n /**\n * @return {boolean} is this a touch device\n */\n\n }, {\n key: 'isTouchscreen',\n value: function isTouchscreen() {\n return 'ontouchstart' in window || navigator.MaxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n }\n\n /**\n * @return {boolean} is the device orientation landscape\n */\n\n }, {\n key: 'isLandscape',\n value: function isLandscape() {\n var v = Device.getViewport();\n\n var w = v.w;\n var h = v.h;\n\n var isLandscape = false;\n\n if (w > h) {\n isLandscape = true;\n }\n\n return isLandscape;\n }\n\n /**\n * @return {number} pixel density 1|2 no higher\n */\n\n }, {\n key: 'getDpi',\n value: function getDpi() {\n var dpi = Math.floor(window.devicePixelRatio);\n\n if (dpi > 2) {\n return 2;\n }\n\n return dpi;\n }\n\n /**\n * Gets the resource postfix.\n *\n * @param {number} dpi The dpi\n * @return {string} The resource postfix.\n */\n\n }, {\n key: 'getResPostfix',\n value: function getResPostfix(dpi) {\n if (!dpi) {\n dpi = Device.getDpi();\n }\n\n if (dpi === 1) {\n return '';\n }\n var postfix = '@' + dpi + 'x';\n\n return postfix;\n }\n\n /**\n * @return {object} the viewport vp.w (width) & vp.h (height)\n */\n\n }, {\n key: 'getViewport',\n value: function getViewport() {\n var vp = {\n w: Math.floor(document.documentElement.clientWidth, window.innerWidth || 0),\n h: Math.floor(document.documentElement.clientHeight, window.innerHeight || 0)\n };\n\n return vp;\n }\n\n /**\n * @param {number} throttleMs - How many ms to throttle\n * @param {function} callback - Event handler\n */\n\n }, {\n key: 'resize',\n value: function resize(throttleMs, callback) {\n window.addEventListener('resize', function () {\n var vp = Device.getViewport();\n\n callback(vp);\n });\n }\n\n /**\n * @param {function} callback - Event handler\n * @return {object} reference to the listener\n */\n\n }, {\n key: 'pageVisibility',\n value: function pageVisibility(callback) {\n var hidden = void 0;\n var visibilityChange = void 0;\n\n var handleVisibilityChange = function handleVisibilityChange() {\n if (document[hidden]) {\n callback(false);\n\n return;\n }\n\n callback(true);\n };\n\n if (typeof document.hidden !== 'undefined') {\n // Opera 12.10 and Firefox 18 and later support\n hidden = 'hidden';\n visibilityChange = 'visibilitychange';\n } else if (typeof document.mozHidden !== 'undefined') {\n hidden = 'mozHidden';\n visibilityChange = 'mozvisibilitychange';\n } else if (typeof document.msHidden !== 'undefined') {\n hidden = 'msHidden';\n visibilityChange = 'msvisibilitychange';\n } else if (typeof document.webkitHidden !== 'undefined') {\n hidden = 'webkitHidden';\n visibilityChange = 'webkitvisibilitychange';\n }\n\n // Handle page visibility change\n return document.addEventListener(visibilityChange, handleVisibilityChange, false);\n }\n\n /**\n * Toggle Fulscreen\n *\n * @param {DOMElement} element The element\n * @return {Boolean} is fullscreen\n */\n\n }, {\n key: 'toggleFullscreen',\n value: function toggleFullscreen(element) {\n if (Device.fullscreenElement()) {\n return Device.exitFullscreen();\n }\n\n return Device.enterFullscreen(element);\n }\n\n /**\n * Enter Dullscreen\n *\n * @param {DOMElement} element The element\n * @return {Boolean} Whether we successfully made it into fulscreen\n */\n\n }, {\n key: 'enterFullscreen',\n value: function enterFullscreen(element) {\n var isFullscreen = false;\n\n if (element.requestFullscreen) {\n isFullscreen = true;\n element.requestFullscreen();\n } else if (element.mozRequestFullScreen) {\n isFullscreen = true;\n element.mozRequestFullScreen();\n } else if (element.webkitRequestFullscreen) {\n isFullscreen = true;\n element.webkitRequestFullscreen();\n } else if (element.msRequestFullscreen) {\n isFullscreen = true;\n element.msRequestFullscreen();\n }\n\n return isFullscreen;\n }\n\n /**\n * Leave Fullscreen\n *\n * @return {Boolean} nolonger in Fullscreen\n */\n\n }, {\n key: 'exitFullscreen',\n value: function exitFullscreen() {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n\n return false;\n }\n\n /**\n * Are we currently in Fullscreen\n *\n * @return {Boolean} Are we currently in Fullscreen\n */\n\n }, {\n key: 'fullscreenElement',\n value: function fullscreenElement() {\n return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n }\n\n /**\n * Is fullscreen possible on this device\n *\n * @return {Boolean} Is fullscreen possible on this device\n */\n\n }, {\n key: 'fullscreenEnabled',\n value: function fullscreenEnabled() {\n return document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled;\n }\n\n /**\n * Adds a clock.\n *\n * @param {DOMElement} element The element\n */\n\n }, {\n key: 'addClock',\n value: function addClock(element) {\n var clock = document.createElement('div');\n\n clock.id = 'clock';\n clock.innerHTML = Device.timeNow();\n\n clock.style.position = 'absolute';\n clock.style.top = '10px';\n clock.style.right = '10px';\n clock.style.zIndex = 99999;\n clock.style.color = '#FFFFFF';\n clock.style.backgroundColor = '#000000';\n clock.style.padding = '5px';\n clock.style.borderRadius = '2px';\n\n element.appendChild(clock);\n\n Device.updateClock();\n }\n\n /**\n * Removes the clock.\n */\n\n }, {\n key: 'removeClock',\n value: function removeClock() {\n window.setTimeout(Device.prototype.clockTimer);\n\n var clock = document.getElementById('clock');\n\n if (!clock) return;\n clock.parentNode.removeChild(clock);\n }\n\n /**\n * Update the time\n */\n\n }, {\n key: 'updateClock',\n value: function updateClock() {\n Device.prototype.clockTimer = window.setTimeout(function () {\n var clock = document.getElementById('clock');\n\n if (!clock) return;\n clock.innerHTML = Device.timeNow();\n Device.updateClock();\n }, 60 * 1000);\n }\n\n /**\n * Get time right now as 13:10\n *\n * @return {string} The time\n */\n\n }, {\n key: 'timeNow',\n value: function timeNow() {\n var d = new Date();\n var h = (d.getHours() < 10 ? '0' : '') + d.getHours();\n var m = (d.getMinutes() < 10 ? '0' : '') + d.getMinutes();\n\n return h + ':' + m;\n }\n\n /**\n * Listen for fullscreen changes\n */\n\n }, {\n key: 'listenForFullscreenChanges',\n value: function listenForFullscreenChanges() {\n function handler() {\n if (Device.fullscreenElement()) {\n Device.addClock(Device.fullscreenElement());\n } else {\n Device.removeClock();\n }\n }\n\n if (document.addEventListener) {\n document.addEventListener('webkitfullscreenchange', handler, false);\n document.addEventListener('mozfullscreenchange', handler, false);\n document.addEventListener('fullscreenchange', handler, false);\n document.addEventListener('MSFullscreenChange', handler, false);\n }\n }\n }]);\n\n return Device;\n}();\n\nexports.default = Device;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Network = function () {\n function Network() {\n _classCallCheck(this, Network);\n }\n\n _createClass(Network, null, [{\n key: 'getJSON',\n\n /**\n * @param {string} url - Url of json file\n * @param {string} version - To version the urls\n * @param {Function} callback - Completion handler\n */\n value: function getJSON(url, version, callback) {\n url = url + '?v=' + version;\n\n var request = new XMLHttpRequest();\n\n // request.timeout = 120000;\n\n request.open('GET', url, true);\n\n request.onload = function () {\n return Network.handler(request, callback);\n };\n\n request.onerror = function (err) {\n return callback(err, null, request.status);\n };\n\n request.ontimeout = function () {\n return callback('timeout', null, request.status);\n };\n\n request.send();\n }\n\n /**\n * Handler function\n *\n * @param {XMLHttpRequest} request The request\n * @param {Function} callback The callback\n */\n\n }, {\n key: 'handler',\n value: function handler(request, callback) {\n var data = void 0;\n\n try {\n data = JSON.parse(request.responseText);\n } catch (err) {\n callback(err, null, request.status);\n\n return;\n }\n\n callback(null, data, request.status);\n }\n }]);\n\n return Network;\n}();\n\nexports.default = Network;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar keys = __webpack_require__(35);\nvar foreach = __webpack_require__(29);\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';\n\nvar toStr = Object.prototype.toString;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\tObject.defineProperty(obj, 'x', { enumerable: false, value: obj });\n /* eslint-disable no-unused-vars, no-restricted-syntax */\n for (var _ in obj) { return false; }\n /* eslint-enable no-unused-vars, no-restricted-syntax */\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\tObject.defineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = props.concat(Object.getOwnPropertySymbols(map));\n\t}\n\tforeach(props, function (name) {\n\t\tdefineProperty(object, name, map[name], predicates[name]);\n\t});\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar fnToStr = Function.prototype.toString;\n\nvar constructorRegex = /^\\s*class /;\nvar isES6ClassFn = function isES6ClassFn(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\tvar singleStripped = fnStr.replace(/\\/\\/.*\\n/g, '');\n\t\tvar multiStripped = singleStripped.replace(/\\/\\*[.\\s\\S]*\\*\\//g, '');\n\t\tvar spaceStripped = multiStripped.replace(/\\n/mg, ' ').replace(/ {2}/g, ' ');\n\t\treturn constructorRegex.test(spaceStripped);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionObject(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isCallable(value) {\n\tif (!value) { return false; }\n\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\tif (hasToStringTag) { return tryFunctionObject(value); }\n\tif (isES6ClassFn(value)) { return false; }\n\tvar strClass = toStr.call(value);\n\treturn strClass === fnClass || strClass === genClass;\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(0);\nvar ES = __webpack_require__(21);\nvar replace = bind.call(Function.call, String.prototype.replace);\n\nvar leftWhitespace = /^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+/;\nvar rightWhitespace = /[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+$/;\n\nmodule.exports = function trim() {\n\tvar S = ES.ToString(ES.CheckObjectCoercible(this));\n\treturn replace(replace(S, leftWhitespace, ''), rightWhitespace, '');\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar implementation = __webpack_require__(6);\n\nvar zeroWidthSpace = '\\u200b';\n\nmodule.exports = function getPolyfill() {\n\tif (String.prototype.trim && zeroWidthSpace.trim() === zeroWidthSpace) {\n\t\treturn String.prototype.trim;\n\t}\n\treturn implementation;\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Currency & number formatting helper\n *\n * @example\n *\n * const currency = new SUGA.Currency(SUGA.Data)\n * const options = currency.setup(\"de-DE\",\"EUR\")\n * const formattedStr = currency.localize(1234.56,true,true)\n * // formattedStr is \"1.234,56.00\"\n */\nvar Currency = function () {\n /**\n * @typedef {Object} Options\n * @property {string} format - The format, e.g. `%s%v` is €10\n * @property {string} decimal - The decimal delimiter\n * @property {string} thousand - The thousand delimiter\n * @property {string} symbol - The currency symbol\n */\n\n /**\n * @param {object} data - currency data\n * @param {object} data.defaults - the most common currency formatting\n * @param {object} data.locales - the locale fallback\n * @param {object} data.currencies - the alternative formatting\n * @returns {SUGA.Currency} for chaining\n */\n function Currency(data) {\n _classCallCheck(this, Currency);\n\n this.defaults = data.defaults;\n this.locales = data.locales;\n this.currencies = data.currencies;\n\n return this;\n }\n\n /**\n * @param {string} locale - localeCode e.g. de-AT\n * @param {string} currency - currencyCode e.g. EUR\n * @returns {Options} the determined options\n */\n\n\n _createClass(Currency, [{\n key: 'setup',\n value: function setup(locale, currency) {\n if (!currency || currency === '') {\n throw new Error('No currency code provided');\n }\n\n if (!locale || locale === '') {\n throw new Error('No locale code provided');\n }\n\n var cc = currency.toUpperCase();\n var lc = locale;\n\n // if de-DE or hu-HU make de or hu\n var parts = lc.toLowerCase().split('-');\n\n if (parts[1] && parts[0] === parts[1]) {\n lc = parts[0];\n }\n\n var format = void 0;\n var decimal = void 0;\n var thousand = void 0;\n var symbol = void 0;\n\n // get the symbol\n symbol = this._lookFor(this.currencies.s, cc);\n\n // attempt to get formatting data for locale\n format = this._lookFor(this.locales.f, lc);\n decimal = this._lookFor(this.locales.d, lc);\n thousand = this._lookFor(this.locales.t, lc);\n\n // fallback to defaults if we have no data\n if (!format) {\n format = this.defaults.format;\n }\n if (!decimal) {\n decimal = this.defaults.decimal;\n }\n if (!thousand) {\n thousand = this.defaults.thousand;\n }\n\n // if no symbol use currency code\n if (!symbol) {\n symbol = cc;\n // if no format aswell use a different format\n format = this.defaults.noSymbolFormat;\n }\n\n thousand = this.nbspToSpace(thousand);\n decimal = this.nbspToSpace(decimal);\n\n this.options = {\n format: format,\n decimal: decimal,\n thousand: thousand,\n symbol: symbol\n };\n\n return this.options;\n }\n\n /**\n * Method that seaches throw data looking for matches\n *\n * @private\n * @param {array} data - data to search through\n * @param {string} query - item we are looking for\n * @return {object} What we found\n */\n\n }, {\n key: '_lookFor',\n value: function _lookFor(data, query) {\n for (var key in data) {\n var val = data[key];\n\n for (var i = 0, len = val.length; i < len; i++) {\n if (val[i] === query) {\n return key;\n }\n }\n }\n\n return null;\n }\n\n /**\n * Determines if not numeric.\n *\n * @param {Any} n { parameter_description }\n * @return {Boolean} True if not numeric, False otherwise.\n */\n\n }, {\n key: 'isNotNumeric',\n value: function isNotNumeric(n) {\n return !(!isNaN(parseFloat(n)) && isFinite(n));\n }\n\n /**\n * @return {string} The current currency symbol\n */\n\n }, {\n key: 'getCurrencySymbol',\n value: function getCurrencySymbol() {\n return this.options.symbol;\n }\n\n /**\n * @param {number} amount - amount to format\n * @param {boolean} [showSymbol] - Should include symbol in formatting\n * @param {boolean} [show00] - should show `00` e.g. €13.00 = €13 but €12.10 = €12.10\n * @return {string} The localized representation of the given amount\n */\n\n }, {\n key: 'localize',\n value: function localize(amount, showSymbol, show00) {\n if (amount === '') {\n return '';\n }\n\n amount = parseFloat(amount);\n\n if (this.isNotNumeric(amount)) {\n console.error('Amount is not valid: ', amount); // eslint-disable-line\n\n return '';\n }\n\n if (show00 === undefined) {\n show00 = true;\n }\n\n amount = this.roundToDecimal(amount);\n var precision = this.getPrecision(amount, show00);\n var value = this.formatNumber(amount, precision, this.options);\n\n if (showSymbol === undefined) {\n showSymbol = true;\n }\n\n if (!showSymbol) {\n return value;\n }\n\n var result = this.options.format;\n\n result = result.replace('%s', this.options.symbol);\n result = result.replace('%v', value);\n\n return result;\n }\n\n /**\n * @param {number} amount - amount to format\n * @param {number} precision - number of decimal places\n * @param {object} options - formatter options\n * @return {string} The localized representation of the given amount with no symbol\n */\n\n }, {\n key: 'formatNumber',\n value: function formatNumber(amount, precision, options) {\n var usePrecision = precision;\n var negative = amount < 0 ? '-' : '';\n var base = String(parseInt(Math.abs(amount || 0).toFixed(usePrecision), 10));\n var mod = base.length > 3 ? base.length % 3 : 0;\n\n return negative + (mod ? base.substr(0, mod) + options.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + options.thousand) + (usePrecision ? options.decimal + Math.abs(amount).toFixed(usePrecision).split('.')[1] : '');\n }\n\n /**\n * @private\n * @param {number} amount - amount to format\n * @param {boolean} show00 - should show `00` e.g. €13.00 = €13 but €12.10 = €12.10\n * @return {string} The localized representation of the given amount with no symbol\n */\n\n }, {\n key: 'getPrecision',\n value: function getPrecision(amount, show00) {\n if (show00) {\n return 2;\n }\n\n if (amount % 1 !== 0) {\n return 2;\n }\n\n return 0;\n }\n\n /**\n * @private\n * @param {number} amount - amount to format\n * @return {number} Converts 10.967 = 10.97\n */\n\n }, {\n key: 'roundToDecimal',\n value: function roundToDecimal(amount) {\n return Math.round(amount * 100) / 100;\n }\n\n /**\n * @private\n * @param {number} char - character to test\n * @return {number} Returns a whitespace char in place of a nbsp\n */\n\n }, {\n key: 'nbspToSpace',\n value: function nbspToSpace(char) {\n if (char.charCodeAt(0) === 160) {\n char = String.fromCharCode(32);\n }\n\n return char;\n }\n }]);\n\n return Currency;\n}();\n\nexports.default = Currency;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar data = {\n defaults: {\n format: '%s%v',\n decimal: '.',\n thousand: ',',\n noSymbolFormat: '%s %v'\n },\n locales: {\n f: {\n '%s %v': ['ar', 'ar-AE', 'ar-BH', 'ar-DJ', 'ar-DZ', 'ar-EG', 'ar-EH', 'ar-ER', 'ar-IL', 'ar-IQ', 'ar-JO', 'ar-KM', 'ar-KW', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-MR', 'ar-OM', 'ar-PS', 'ar-QA', 'ar-SA', 'ar-SD', 'ar-SO', 'ar-SS', 'ar-SY', 'ar-TD', 'ar-TN', 'ar-YE', 'az', 'az-Latn', 'de-AT', 'de-CH', 'de-LI', 'en-AT', 'en-CH', 'en-IN', 'en-NL', 'en-US-POSIX', 'es-AR', 'es-CO', 'es-PY', 'es-UY', 'fr-CH', 'hy', 'it-CH', 'mk', 'mn', 'ms-BN', 'my', 'nb', 'nb-SJ', 'ne', 'ne-IN', 'nl', 'nl-AW', 'nl-BQ', 'nl-CW', 'nl-SR', 'nl-SX', 'pa', 'pa-Guru', 'root', 'ta', 'ta-LK', 'ta-MY', 'ta-SG', 'to', 'ur', 'ur-IN', 'vi'],\n '%v %s': ['be', 'bg', 'bs', 'bs-Latn', 'ca', 'ca-AD', 'ca-ES-VALENCIA', 'ca-FR', 'ca-IT', 'cs', 'da', 'da-GL', 'de', 'de-BE', 'de-LU', 'el', 'el-CY', 'en-150', 'en-BE', 'en-DE', 'en-DK', 'en-FI', 'en-SE', 'en-SI', 'es', 'es-EA', 'es-IC', 'es-PH', 'et', 'eu', 'fi', 'fo', 'fo-DK', 'fr', 'fr-BE', 'fr-BF', 'fr-BI', 'fr-BJ', 'fr-BL', 'fr-CA', 'fr-CD', 'fr-CF', 'fr-CG', 'fr-CI', 'fr-CM', 'fr-DJ', 'fr-DZ', 'fr-GA', 'fr-GF', 'fr-GN', 'fr-GP', 'fr-GQ', 'fr-HT', 'fr-KM', 'fr-LU', 'fr-MA', 'fr-MC', 'fr-MF', 'fr-MG', 'fr-ML', 'fr-MQ', 'fr-MR', 'fr-MU', 'fr-NC', 'fr-NE', 'fr-PF', 'fr-PM', 'fr-RE', 'fr-RW', 'fr-SC', 'fr-SN', 'fr-SY', 'fr-TD', 'fr-TG', 'fr-TN', 'fr-VU', 'fr-WF', 'fr-YT', 'he', 'hr', 'hr-BA', 'hu', 'is', 'it', 'it-SM', 'ka', 'kk', 'ky', 'lt', 'lv', 'nl-BE', 'pl', 'pt-AO', 'pt-CV', 'pt-GW', 'pt-MO', 'pt-MZ', 'pt-PT', 'pt-ST', 'pt-TL', 'ro', 'ro-MD', 'ru', 'ru-BY', 'ru-KG', 'ru-KZ', 'ru-MD', 'ru-UA', 'sk', 'sl', 'sq', 'sq-MK', 'sq-XK', 'sr', 'sr-Cyrl', 'sr-Cyrl-BA', 'sr-Cyrl-ME', 'sr-Cyrl-XK', 'sr-Latn', 'sr-Latn-BA', 'sr-Latn-ME', 'sr-Latn-XK', 'sv', 'sv-SE', 'sv-AX', 'sv-FI', 'tr', 'tr-CY', 'uk', 'uz', 'uz-Latn'],\n '%v%s': ['bn', 'bn-IN']\n },\n d: {\n ',': ['af', 'af-NA', 'ar-DZ', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-MR', 'ar-TN', 'az', 'az-Latn', 'be', 'bg', 'bs', 'bs-Latn', 'ca', 'ca-AD', 'ca-ES-VALENCIA', 'ca-FR', 'ca-IT', 'cs', 'da', 'da-GL', 'de', 'de-AT', 'de-BE', 'de-LU', 'el', 'el-CY', 'en-150', 'en-AT', 'en-BE', 'en-CH', 'en-DE', 'en-DK', 'en-FI', 'en-NL', 'en-SE', 'en-SI', 'en-ZA', 'es', 'es-AR', 'es-BO', 'es-CL', 'es-CO', 'es-CR', 'es-EA', 'es-EC', 'es-GQ', 'es-IC', 'es-PH', 'es-PY', 'es-UY', 'es-VE', 'et', 'eu', 'fi', 'fo', 'fo-DK', 'fr', 'fr-BE', 'fr-BF', 'fr-BI', 'fr-BJ', 'fr-BL', 'fr-CA', 'fr-CD', 'fr-CF', 'fr-CG', 'fr-CI', 'fr-CM', 'fr-DJ', 'fr-DZ', 'fr-GA', 'fr-GF', 'fr-GN', 'fr-GP', 'fr-GQ', 'fr-HT', 'fr-KM', 'fr-LU', 'fr-MA', 'fr-MC', 'fr-MF', 'fr-MG', 'fr-ML', 'fr-MQ', 'fr-MR', 'fr-MU', 'fr-NC', 'fr-NE', 'fr-PF', 'fr-PM', 'fr-RE', 'fr-RW', 'fr-SC', 'fr-SN', 'fr-SY', 'fr-TD', 'fr-TG', 'fr-TN', 'fr-VU', 'fr-WF', 'fr-YT', 'gl', 'hr', 'hr-BA', 'hu', 'hy', 'id', 'is', 'it', 'it-SM', 'ka', 'kk', 'km', 'ky', 'lo', 'lt', 'lv', 'mk', 'ms-BN', 'nb', 'nb-SJ', 'nl', 'nl-AW', 'nl-BE', 'nl-BQ', 'nl-CW', 'nl-SR', 'nl-SX', 'pl', 'pt', 'pt-AO', 'pt-CV', 'pt-GW', 'pt-MO', 'pt-MZ', 'pt-PT', 'pt-ST', 'pt-TL', 'ro', 'ro-MD', 'ru', 'ru-BY', 'ru-KG', 'ru-KZ', 'ru-MD', 'ru-UA', 'sk', 'sl', 'sq', 'sq-MK', 'sq-XK', 'sr', 'sr-Cyrl', 'sr-Cyrl-BA', 'sr-Cyrl-ME', 'sr-Cyrl-XK', 'sr-Latn', 'sr-Latn-BA', 'sr-Latn-ME', 'sr-Latn-XK', 'sv', 'sv-SE', 'sv-AX', 'sv-FI', 'sw-CD', 'tr', 'tr-CY', 'uk', 'uz', 'uz-Latn', 'vi']\n },\n t: {\n ' ': ['af', 'af-NA', 'be', 'bg', 'cs', 'de-AT', 'en-FI', 'en-SE', 'en-ZA', 'es-CR', 'et', 'fi', 'fr', 'fr-BF', 'fr-BI', 'fr-BJ', 'fr-BL', 'fr-CA', 'fr-CD', 'fr-CF', 'fr-CG', 'fr-CH', 'fr-CI', 'fr-CM', 'fr-DJ', 'fr-DZ', 'fr-GA', 'fr-GF', 'fr-GN', 'fr-GP', 'fr-GQ', 'fr-HT', 'fr-KM', 'fr-MC', 'fr-MF', 'fr-MG', 'fr-ML', 'fr-MQ', 'fr-MR', 'fr-MU', 'fr-NC', 'fr-NE', 'fr-PF', 'fr-PM', 'fr-RE', 'fr-RW', 'fr-SC', 'fr-SN', 'fr-SY', 'fr-TD', 'fr-TG', 'fr-TN', 'fr-VU', 'fr-WF', 'fr-YT', 'hu', 'ka', 'kk', 'ky', 'lt', 'lv', 'nb', 'nb-SJ', 'pl', 'pt-AO', 'pt-CV', 'pt-GW', 'pt-MO', 'pt-MZ', 'pt-PT', 'pt-ST', 'pt-TL', 'ru', 'ru-BY', 'ru-KG', 'ru-KZ', 'ru-MD', 'ru-UA', 'sk', 'sq', 'sq-MK', 'sq-XK', 'sv', 'sv-SE', 'sv-AX', 'sv-FI', 'uk', 'uz', 'uz-Latn'],\n '.': ['ar-DZ', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-MR', 'ar-TN', 'az', 'az-Latn', 'bs', 'bs-Latn', 'ca', 'ca-AD', 'ca-ES-VALENCIA', 'ca-FR', 'ca-IT', 'da', 'da-GL', 'de', 'de-BE', 'de-LU', 'el', 'el-CY', 'en-150', 'en-AT', 'en-BE', 'en-CH', 'en-DE', 'en-DK', 'en-NL', 'en-SI', 'es', 'es-AR', 'es-BO', 'es-CL', 'es-CO', 'es-EA', 'es-EC', 'es-GQ', 'es-IC', 'es-PH', 'es-PY', 'es-UY', 'es-VE', 'eu', 'fo', 'fo-DK', 'fr-BE', 'fr-LU', 'fr-MA', 'gl', 'hr', 'hr-BA', 'hy', 'id', 'is', 'it', 'it-SM', 'km', 'lo', 'mk', 'ms-BN', 'nl', 'nl-AW', 'nl-BE', 'nl-BQ', 'nl-CW', 'nl-SR', 'nl-SX', 'pt', 'ro', 'ro-MD', 'sl', 'sr', 'sr-Cyrl', 'sr-Cyrl-BA', 'sr-Cyrl-ME', 'sr-Cyrl-XK', 'sr-Latn', 'sr-Latn-BA', 'sr-Latn-ME', 'sr-Latn-XK', 'sw-CD', 'tr', 'tr-CY', 'vi'],\n '\\'': ['de-CH', 'de-LI', 'it-CH']\n }\n },\n currencies: {\n s: {\n '€': ['EUR'],\n '£': ['GBP'],\n kr: ['DKK', 'SEK', 'NOK'],\n $: ['AUD', 'CAD', 'NZD', 'USD', 'HKD', 'SGD'],\n Դ: ['AMD'],\n R$: ['BRL'],\n Kč: ['CZK'],\n '¥': ['JPY', 'CNY'],\n zł: ['PLN'],\n Ft: ['HUF'],\n '₦': ['NGN'],\n '৳': ['BDT'],\n CHF: ['CHF'],\n Rp: ['IDR'],\n '₩': ['KRW'],\n '₨': ['LKR'],\n RM: ['MYR'],\n C$: ['NIO'],\n '₱': ['PHP'],\n '₽': ['RUB'],\n '฿': ['THB'],\n R: ['ZAR'],\n '₺': ['TRY']\n }\n }\n};\n\nexports.default = data;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Event = function () {\n function Event() {\n _classCallCheck(this, Event);\n }\n\n _createClass(Event, null, [{\n key: 'trigger',\n\n /**\n * @param {string} eventName - Name of event to listen for e.g. 'resize'\n * @param {object} eventData - The data to send along\n * @return {object} Reference to the dispatched event\n */\n value: function trigger(eventName, eventData) {\n if (!eventData) {\n eventData = '';\n }\n\n var event = new CustomEvent(eventName, { detail: eventData });\n\n return document.dispatchEvent(event);\n }\n\n /**\n * @param {string} eventName - Name of event to listen for e.g. 'resize'\n * @param {object} callback - Event handler\n * @param {bool} onlyOnce - Should only fire once\n * @return {object} Reference to the callback function\n */\n\n }, {\n key: 'on',\n value: function on(eventName, callback, onlyOnce) {\n if (onlyOnce === undefined) {\n onlyOnce = false;\n }\n\n var _callback = function _callback(e) {\n if (onlyOnce) {\n Event.off(eventName, _callback);\n }\n\n callback(e.detail, e);\n };\n\n document.addEventListener(eventName, _callback, false);\n\n return _callback;\n }\n\n /**\n * @param {string} eventName - Name of event to listen for e.g. 'resize'\n * @param {object} callback - Event handler\n * @return {object} Reference to the callback function\n */\n\n }, {\n key: 'once',\n value: function once(eventName, callback) {\n return Event.on(eventName, callback, true);\n }\n\n /**\n * @param {string} eventName - Name of event to listen for e.g. 'resize'\n * @param {object} callback - Event handler to remove\n */\n\n }, {\n key: 'off',\n value: function off(eventName, callback) {\n document.removeEventListener(eventName, callback, false);\n }\n }]);\n\n return Event;\n}();\n\nexports.default = Event;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _webfontloader = __webpack_require__(41);\n\nvar _webfontloader2 = _interopRequireDefault(_webfontloader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Font = function () {\n function Font() {\n _classCallCheck(this, Font);\n }\n\n _createClass(Font, null, [{\n key: 'loadFonts',\n\n /**\n * @param {array} names - List of fonts to load\n * @param {string} url - To css file\n * @param {string} version - To version the urls\n * @param {function} callback - Completion handler\n */\n value: function loadFonts(names, url, version, callback) {\n if (!names || !url || !version) {\n throw new Error('Missing arguements');\n }\n\n url = url + '?v=' + version;\n\n _webfontloader2.default.load({\n // google:\n // families: names\n custom: {\n families: names,\n urls: [url]\n },\n\n active: function active() {\n var styles = Font.getStylesFromNames(names);\n\n if (callback) {\n callback(styles);\n }\n },\n\n inactive: function inactive() {\n if (callback) {\n callback(null);\n }\n }\n });\n }\n\n /**\n * @private\n * @param {array} names - List of fonts to load\n * @param {function} TextConstructor - A constructor to pre-make all fonts\n * e.g. PIXI.Text\n * @return {array} All the constructed text objects\n */\n\n }, {\n key: 'getStylesFromNames',\n value: function getStylesFromNames(names) {\n if (!names) {\n throw new Error('Missing names arguement');\n }\n\n var tmp = [];\n\n for (var i = names.length - 1; i >= 0; i--) {\n var name = names[i];\n var nameParts = name.split(':');\n\n if (nameParts[1]) {\n var weights = nameParts[1].split(',');\n\n for (var _i = weights.length - 1; _i >= 0; _i--) {\n var weight = weights[_i];\n\n var font = {\n fontFamily: nameParts[0],\n fontWeight: weight[1] + '00'\n };\n\n tmp.push(font);\n }\n } else {\n var _font = {\n fontFamily: nameParts[0],\n fontWeight: 400\n };\n\n tmp.push(_font);\n }\n }\n\n return tmp;\n }\n }]);\n\n return Font;\n}();\n\nexports.default = Font;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __webpack_require__(19);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Class for image manager.\n */\nvar Loader = function () {\n function Loader() {\n _classCallCheck(this, Loader);\n }\n\n _createClass(Loader, null, [{\n key: 'loadAsset',\n\n /**\n * Loads an asset.\n *\n * @param {String} url The url\n * @param {Function} callback The callback\n */\n value: function loadAsset(url, callback) {\n Loader.loadAssets([url], callback);\n }\n\n /**\n * Loads assets.\n *\n * @param {String} urls The urls\n * @param {Function} callback The callback\n * @param {Function} progressHandler The progress handler\n */\n\n }, {\n key: 'loadAssets',\n value: function loadAssets(urls, callback, progressHandler) {\n if (!this.prototype.loader) {\n this.prototype.loader = new PIXI.loaders.Loader();\n }\n\n if (!this.prototype.allNamespaces) {\n this.prototype.allNamespaces = [];\n }\n\n urls = (0, _util.uniq)(urls);\n\n var tmp = [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Array.from(urls)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var url = _step.value;\n\n if (!this.prototype.loader.resources[url]) {\n tmp.push(url);\n\n var extension = url.split('.').pop();\n\n if (extension === 'json') {\n this.prototype.allNamespaces.push(url);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if (!tmp.length) {\n callback('All assets already loaded', null);\n\n return;\n }\n\n this.prototype.loader.defaultQueryString = 'v=' + window.__version;\n this.prototype.loader.add(tmp);\n\n this.prototype.loader.onProgress.add(function (loader) {\n if (progressHandler) progressHandler(loader.progress);\n });\n\n this.prototype.loader.on('error', function (err) {\n callback(err, null);\n });\n\n this.prototype.loader.once('complete', function (result) {\n callback(null, result);\n });\n\n this.prototype.loader.load();\n }\n\n /**\n * Makes an array of textures from name.\n *\n * @param {String} name The name\n * @return {Array} Sorted array of textures\n */\n\n }, {\n key: 'makeTexturesFromName',\n value: function makeTexturesFromName(name) {\n var textures = [];\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = Array.from(this.prototype.allNamespaces)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var namespace = _step2.value;\n\n var newTextures = Loader.makeTexturesFromNamespace(namespace, name);\n\n textures = textures.concat(newTextures);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n (0, _util.sortArrayByKey)(textures, ['__name']);\n\n return textures;\n }\n\n /**\n * Makes an array of textures from namespace.\n *\n * @param {String} namespace The namespace\n * @param {String} name The name\n * @return {Array} Sorted array of textures\n */\n\n }, {\n key: 'makeTexturesFromNamespace',\n value: function makeTexturesFromNamespace(namespace, name) {\n var textures = this.prototype.loader.resources[namespace].textures;\n\n var re = new RegExp(name, 'g');\n\n var tmp = [];\n\n for (var key in textures) {\n var value = textures[key];\n\n if (key.match(re)) {\n value.__name = key;\n tmp.push(value);\n }\n }\n\n return tmp;\n }\n\n /**\n * Gets the sprite sheet image names.\n *\n * @return {Array} The sprite sheet image names.\n */\n\n }, {\n key: 'getSpriteSheetImageNames',\n value: function getSpriteSheetImageNames() {\n var tmp = [];\n\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = Array.from(this.prototype.allNamespaces)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var resourceName = _step3.value;\n\n tmp.push(resourceName + '_image');\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n return tmp;\n }\n\n /**\n * Determines if we already have a resource\n *\n * @param {String} key The key\n * @return {Boolean} True if asset exists else False\n */\n\n }, {\n key: 'exists',\n value: function exists(key) {\n return !!this.prototype.loader.resources[key];\n }\n }]);\n\n return Loader;\n}();\n\nexports.default = Loader;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _network = __webpack_require__(2);\n\nvar _network2 = _interopRequireDefault(_network);\n\nvar _nodePolyglot = __webpack_require__(34);\n\nvar _nodePolyglot2 = _interopRequireDefault(_nodePolyglot);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Locale = function () {\n /**\n * Constructs the object.\n *\n * @param {string} defaultLocale - A locale like 'en'\n * @param {string} url - Url to the dir with the lang files\n * @param {string} version The app version\n * @return {SUGA.Locale} For chaining\n */\n function Locale(defaultLocale, url, version) {\n _classCallCheck(this, Locale);\n\n this.url = url;\n this.defaultLocale = defaultLocale;\n this.version = version;\n\n this.polyglot = new _nodePolyglot2.default({\n warn: function warn(m) {\n return console.warn(m);\n }\n });\n\n return this;\n }\n\n /**\n * reset locale files\n */\n\n\n _createClass(Locale, [{\n key: 'clearLocales',\n value: function clearLocales() {\n this.polyglot.clear();\n this.hasDefaultLocale = false;\n }\n\n /**\n * @param {string} localeCode - e.g. en, en-GB\n * @param {function} callback - Completion handler\n */\n\n }, {\n key: 'setLocale',\n value: function setLocale(localeCode, callback) {\n var chain = this.getLoadingChain(localeCode, this.defaultLocale);\n\n this.loadLocaleData(chain, callback);\n }\n\n /**\n * @private\n * @param {string} localeCode - e.g. en, en-GB\n * @param {string} defaultCode - typically 'en'\n * @return {array} locales to load and in order\n */\n\n }, {\n key: 'getLoadingChain',\n value: function getLoadingChain(localeCode, defaultCode) {\n var chain = [defaultCode];\n\n if (localeCode === defaultCode || localeCode.length < 2) {\n return chain;\n }\n\n chain.push(localeCode.substr(0, 2));\n\n if (localeCode.length <= 4 || localeCode[2] !== '-') {\n return chain;\n }\n\n chain.push(localeCode);\n\n return chain;\n }\n\n /**\n * @private\n * @param {array} chain - e.g. en, en-GB\n * @param {function} callback - Completion handler\n */\n\n }, {\n key: 'loadLocaleData',\n value: function loadLocaleData(chain, callback) {\n var _this = this;\n\n var localeCode = chain.shift();\n\n var path = this.url + localeCode + '.json';\n\n // get base\n _network2.default.getJSON(path, this.version, function (err, json) {\n if (err) {\n callback(err);\n }\n\n if (json && !err) {\n _this.polyglot.extend(json);\n _this.polyglot.locale(localeCode);\n }\n\n // is this an extended code\n if (chain.length > 0) {\n _this.loadLocaleData(chain, callback);\n } else {\n callback(null);\n }\n });\n }\n\n /**\n * Transalate string\n *\n * @param {string} string - phrase to localize\n * @param {object} vars - variables to interpolate\n * @return {string} Localized phrase\n */\n\n }, {\n key: 'str',\n value: function str(string, vars) {\n return this.polyglot.t(string, vars);\n }\n }]);\n\n return Locale;\n}();\n\nexports.default = Locale;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Progress = function () {\n function Progress() {\n _classCallCheck(this, Progress);\n }\n\n _createClass(Progress, null, [{\n key: 'init',\n\n\n /**\n * Instanitate and selec dom element\n * @param {string} selector - css selector for getting element\n * @return {SUGA.Progress} for chaining\n */\n value: function init(selector) {\n this.prototype.percent = 0;\n this.prototype.queue = [];\n this.prototype.hasStarted = false;\n this.prototype.isProcessingQueue = false;\n this.prototype.doneDelay = 3000;\n this.prototype.incDelay = 20;\n this.prototype.queueTimer = null;\n this.prototype.trickleTimer = null;\n\n this.prototype.selector = selector;\n this.prototype.container = document.getElementById(selector);\n\n this.prototype.bg = document.createElement('div');\n this.prototype.bg.id = 'progress-bg';\n this.prototype.container.appendChild(this.prototype.bg);\n\n this.prototype.bar = document.createElement('div');\n this.prototype.bar.id = 'progress-bar';\n this.prototype.bg.appendChild(this.prototype.bar);\n\n this.prototype.label = document.createElement('p');\n this.prototype.label.id = 'progress-percent';\n this.prototype.label.innerHTML = this.prototype.percent + '%';\n this.prototype.container.appendChild(this.prototype.label);\n\n return this;\n }\n\n /**\n * Starts progressing\n * @return {SUGA.Progress} for chaining\n */\n\n }, {\n key: 'start',\n value: function start() {\n this.prototype.bar.style.display = 'block';\n this.prototype.hasStarted = true;\n\n return this;\n }\n\n /**\n * Make progress bar end\n * @return {SUGA.Progress} for chaining\n */\n\n }, {\n key: 'done',\n value: function done() {\n clearTimeout(this.prototype.queueTimer);\n clearTimeout(this.prototype.trickleTimer);\n\n this.prototype.queue = [];\n this.prototype.hasStarted = false;\n this.prototype.isProcessingQueue = false;\n this.prototype.percent = 100;\n this.prototype.bar.style.display = 'none';\n this.prototype.bar.style.width = '100%';\n this.prototype.label.innerHTML = '100%';\n\n return this;\n }\n\n /**\n * Set percentage\n * @param {number} percentage - Progress percentage\n * @return {SUGA.Progress} for chaining\n */\n\n }, {\n key: 'set',\n value: function set(percentage) {\n if (!this.prototype.hasStarted) {\n return this;\n }\n\n if (percentage * 100 < this.prototype.percent) {\n return this;\n }\n\n this.prototype.queue.push(percentage);\n\n if (!this.prototype.isProcessingQueue) {\n Progress.processQueue();\n }\n\n return this;\n }\n\n /**\n * Process the queue\n * @private\n */\n\n }, {\n key: 'processQueue',\n value: function processQueue() {\n var _this = this;\n\n if (this.prototype.queue.length === 0) {\n this.prototype.isProcessingQueue = false;\n\n return;\n }\n\n this.prototype.isProcessingQueue = true;\n\n var amount = this.prototype.queue.shift();\n\n if (amount > 1) amount = 1;\n\n this.prototype.percent = amount * 100;\n\n this.prototype.queueTimer = setTimeout(function () {\n if (_this.prototype.percent >= 100) {\n _this.prototype.percent = 100;\n }\n\n _this.prototype.bar.style.width = _this.prototype.percent + '%';\n\n _this.prototype.label.innerHTML = Math.round(_this.prototype.percent) + '%';\n\n if (_this.prototype.queue.length === 0 && _this.prototype.percent === 100 && _this.prototype.onComplete) {\n Progress.onComplete();\n }\n\n Progress.processQueue();\n }, this.prototype.incDelay);\n }\n\n /**\n * Bump the bar a little\n *\n * @param {number} amount The amount to increment\n * @return {SUGA.Progress} for chaining\n */\n\n }, {\n key: 'increment',\n value: function increment() {\n var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.1;\n\n Progress.set(this.prototype.percent + amount);\n\n return this;\n }\n\n /**\n * Fake progress\n *\n * @return {Object} { description_of_the_return_value }\n */\n\n }, {\n key: 'trickle',\n value: function trickle() {\n var delay = Math.random() * 1000 + 50;\n\n Progress.set(this.prototype.percent / 100 + 0.01);\n\n this.prototype.trickleTimer = setTimeout(function () {\n Progress.trickle();\n }, delay);\n\n return this;\n }\n\n /**\n * Destroy this thing\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n Progress.done();\n\n this.prototype.container.innerHTML = '';\n\n delete this.prototype.selector;\n delete this.prototype.container;\n delete this.prototype.bg;\n delete this.prototype.bar;\n delete this.prototype.label;\n }\n }]);\n\n return Progress;\n}();\n\nexports.default = Progress;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Reality = function () {\n function Reality() {\n _classCallCheck(this, Reality);\n }\n\n _createClass(Reality, null, [{\n key: 'init',\n\n /**\n * Initialzes the thing\n *\n * @param {number} interval - Seconds between notifcations\n * @param {function} callback - Reality check trigger handler\n * @param {boolean} debug The debug\n * @return {SUGA.Reality} for chaining\n */\n value: function init(interval, callback) {\n var debug = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n this.prototype.elapsed = 0;\n this.prototype.started = false;\n this.prototype.startTime = null;\n this.prototype.needsToShowRealityCheck = false;\n this.prototype.allowedToShowRealityCheck = false;\n this.prototype.debug = debug;\n\n if (interval) {\n Reality.setInterval(interval);\n }\n\n if (callback) {\n Reality.setHandler(callback);\n }\n\n this.prototype.isInitialized = true;\n\n return this;\n }\n\n /**\n * @param {number} interval - Seconds between notifcations\n */\n\n }, {\n key: 'setInterval',\n value: function setInterval(interval) {\n if (interval) {\n this.prototype.interval = interval;\n }\n }\n\n /**\n * @param {number} [callback] - Reality check trigger handler\n */\n\n }, {\n key: 'setHandler',\n value: function setHandler(callback) {\n if (callback) {\n this.prototype.triggerHandler = callback;\n }\n }\n\n /**\n * @param {number} [interval] - Seconds between notifcations\n * @param {function} [callback] - Function called when reality check triggered\n */\n\n }, {\n key: 'start',\n value: function start(interval, callback) {\n if (!this.prototype.isInitialized) {\n throw new Error('Reality check is not initialized');\n }\n\n if (this.prototype.started) {\n return;\n }\n\n if (interval) {\n Reality.setInterval(interval);\n }\n\n if (callback) {\n Reality.setHandler(callback);\n }\n\n this.prototype.started = true;\n this.prototype.startTime = new Date().getTime();\n this.prototype.lastTime = this.prototype.startTime;\n\n Reality.loopInterval();\n }\n\n /**\n * Every n milliseconds check if time has lapsed\n * @private\n */\n\n }, {\n key: 'loopInterval',\n value: function loopInterval() {\n var _this = this;\n\n window.setInterval(function () {\n if (_this.prototype.debug) {\n console.log(_this.prototype.elapsed / 1000, _this.prototype.interval); // eslint-disable-line\n }\n\n _this.prototype.currentTime = new Date().getTime();\n _this.prototype.elapsed = _this.prototype.currentTime - _this.prototype.lastTime;\n\n if (_this.prototype.elapsed > _this.prototype.interval * 1000) {\n _this.prototype.lastTime = new Date().getTime();\n\n Reality.tryToShowRealityCheck();\n }\n }, 1000); // Check interval every 1 seconds\n }\n\n /**\n * A method lets you tell when to & not to trigger a message\n * @param {boolean} allowedToShowRealityCheck - whether one can trigger a message\n * @return {boolean} Flag whether a check was triggered or not\n */\n\n }, {\n key: 'canShowRealityCheck',\n value: function canShowRealityCheck(allowedToShowRealityCheck) {\n this.prototype.allowedToShowRealityCheck = allowedToShowRealityCheck;\n\n if (this.prototype.allowedToShowRealityCheck && this.prototype.needsToShowRealityCheck) {\n Reality.triggerRealityCheck();\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Try and trigger a reality check, if we are allowed\n */\n\n }, {\n key: 'tryToShowRealityCheck',\n value: function tryToShowRealityCheck() {\n if (!this.prototype.allowedToShowRealityCheck) {\n this.prototype.needsToShowRealityCheck = true;\n\n return;\n }\n\n Reality.triggerRealityCheck();\n }\n\n /**\n * @private\n */\n\n }, {\n key: 'triggerRealityCheck',\n value: function triggerRealityCheck() {\n this.prototype.needsToShowRealityCheck = false;\n\n var now = new Date().getTime();\n var duration = now - this.prototype.startTime;\n var timeObj = Reality.msToTime(duration);\n\n this.prototype.triggerHandler(timeObj);\n }\n\n /**\n * @private\n * @param {number} milli - Milliseconds\n * @return {object} time object with hours and minutes\n */\n\n }, {\n key: 'msToTime',\n value: function msToTime(milli) {\n var hours = parseInt(milli / (1000 * 60 * 60), 10);\n var mins = Math.round(milli / 1000 / 60) % 60;\n\n var res = {\n hours: hours,\n minutes: mins\n };\n\n return res;\n }\n }]);\n\n return Reality;\n}();\n\nexports.default = Reality;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _howlerCoreMin = __webpack_require__(32);\n\nvar _device = __webpack_require__(1);\n\nvar _device2 = _interopRequireDefault(_device);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n_howlerCoreMin.Howler.mobileAutoEnable = false;\n\n/**\n *\n */\n\nvar Sound = function () {\n function Sound() {\n _classCallCheck(this, Sound);\n }\n\n _createClass(Sound, null, [{\n key: 'init',\n\n\n /**\n * @typedef {Object} SoundOpts\n * @property {string} masterVolume - the volume of all tracks\n * @property {string} volumes - the volume of the individual tracks\n * @property {string} mute - Tis playback silent\n * @property {string} audioSpriteObj - json sprite sheet object (see Howler docs)\n * @property {string} mp3 - url to the audio mp3 files\n * @property {string} ogg - url to the audio ogg files\n * @property {DOMElement} element - element to listen for startclick;\n * @property {Boolean} startOnInteraction - whether to start immediately or after user interaction\n * @property {Boolean} autoMute. - mute audio when the window is not in focus\n */\n\n /**\n * Constructs the object.\n *\n * @param {SoundOpts} options The options\n * @param {Function} callback The callback\n */\n value: function init(options, callback) {\n Sound.prototype.masterVolume = options.masterVolume;\n Sound.prototype.volumes = options.volumes;\n Sound.prototype.mute = options.mute;\n Sound.prototype.audioSpriteObj = options.audioSpriteObj;\n Sound.prototype.mp3 = options.mp3;\n Sound.prototype.ogg = options.ogg;\n Sound.prototype.ids = {};\n Sound.prototype.element = options.element;\n Sound.prototype.startOnInteraction = options.startOnInteraction;\n Sound.prototype.autoMute = options.autoMute;\n\n // add some features to Howler\n Sound.extend();\n\n if (options.startOnInteraction) {\n Sound.startAudioOnInteraction(callback);\n } else {\n Sound.startAudio(callback);\n }\n\n if (options.autoMute) {\n Sound.startAutoMute();\n }\n }\n\n /**\n * Create and start the audio\n *\n * @param {Function} callback The callback\n */\n\n }, {\n key: 'startAudio',\n value: function startAudio(callback) {\n _howlerCoreMin.Howler.mute(Sound.prototype.mute);\n\n Sound.prototype.sound = new _howlerCoreMin.Howl({\n src: [Sound.prototype.ogg, Sound.prototype.mp3],\n volume: Sound.prototype.masterVolume,\n sprite: Sound.prototype.audioSpriteObj.sprite,\n\n onloaderror: function onloaderror(id, error) {\n if (callback) callback(error);\n },\n\n onload: function onload() {\n if (callback) callback(null);\n }\n }); // start bg audio\n }\n\n /**\n * Starts audio on user interaction.\n *\n * @param {Function} callback The callback\n */\n\n }, {\n key: 'startAudioOnInteraction',\n value: function startAudioOnInteraction(callback) {\n // Handler function to start Audio on first user interaction\n function startAudio() {\n // remove listener after first touch\n Sound.prototype.element.removeEventListener('touchend', startAudio, false);\n\n // load the audio files\n Sound.startAudio(callback);\n }\n\n // add a touch listener in order to start the audio from user interaction\n Sound.prototype.element.addEventListener('touchend', startAudio, false);\n }\n\n /**\n * Starts the event listener which will pause sound s when page is not visible.\n */\n\n }, {\n key: 'startAutoMute',\n value: function startAutoMute() {\n _device2.default.pageVisibility(function (isVisible) {\n if (isVisible) {\n Sound.resumeAll();\n } else {\n Sound.pauseAll();\n }\n });\n }\n\n /**\n * Sets the mute.\n *\n * @param {Function} newValue The new value\n */\n\n }, {\n key: 'setMute',\n value: function setMute(newValue) {\n Sound.prototype.mute = newValue;\n\n _howlerCoreMin.Howler.mute(newValue);\n }\n\n /**\n * Play a sound by key and volume\n *\n * @param {string} key The key\n * @param {number} vol The volume\n * @param {boolean} onlyIfNotPlaying Only if not already playing\n * @return {string} id of playing sound\n */\n\n }, {\n key: 'play',\n value: function play(key, vol, onlyIfNotPlaying, onComplete) {\n if (!Sound.prototype.sound) {\n return null;\n }\n\n if (onlyIfNotPlaying && Sound.prototype.sound.isPlayingByName(key)) {\n return null;\n }\n\n var id = Sound.prototype.sound.play(key);\n\n if (vol === null || vol === undefined) {\n vol = 1;\n }\n\n if (Sound.prototype.volumes[key] !== undefined) {\n vol *= Sound.prototype.volumes[key];\n }\n\n Sound.prototype.sound.volume(vol, id);\n\n Sound.prototype.ids[key] = id;\n\n // Pause if trying to play a sound while page\n // isnt visible\n if (document.hidden && Sound.prototype.autoMute) {\n Sound.prototype.sound.pause(id);\n }\n\n if (onComplete) {\n Sound.prototype.sound.on('end', onComplete, id);\n }\n\n return id;\n }\n\n /**\n * Pleases an array of sounds in sequence\n *\n * @param {Array} sequence The sequence\n * @param {Function} cb Called on completion\n * @return {Function} the cancel sequence function\n */\n\n }, {\n key: 'playSequence',\n value: function playSequence(sequence, cb) {\n if (Sound.prototype.sound) {\n return Sound.prototype.sound.playSequence(sequence, cb);\n }\n\n return null;\n }\n\n /**\n * Pause all sounds\n */\n\n }, {\n key: 'pauseAll',\n value: function pauseAll() {\n if (Sound.prototype.sound) {\n Sound.prototype.sound.pause();\n }\n }\n\n /**\n * Resum all sounds\n */\n\n }, {\n key: 'resumeAll',\n value: function resumeAll() {\n if (Sound.prototype.sound) {\n Sound.prototype.sound.unpause(Sound.prototype.volumes);\n }\n }\n\n /**\n * Stop sound by key\n *\n * @param {string} key The key/name of sound\n */\n\n }, {\n key: 'stop',\n value: function stop(key) {\n if (Sound.prototype.sound) {\n Sound.prototype.sound.killByName(key);\n }\n }\n\n /**\n * Fade sound\n *\n * @param {string} key The key/name of sound\n * @param {number} to Ending volume\n * @param {number} d Duration\n */\n\n }, {\n key: 'fade',\n value: function fade(key, to, d) {\n if (d === null) {\n d = 2000;\n }\n\n var id = Sound.prototype.ids[key];\n\n if (!Sound.prototype.sound || !id) {\n return;\n }\n\n var from = Sound.prototype.sound.getSoundById(id)._volume;\n\n if (Sound.prototype.volumes[key] !== undefined) {\n to *= Sound.prototype.volumes[key];\n }\n\n Sound.prototype.sound.fade(from, to, d, id);\n }\n\n /**\n * Extend the functionality of Howler\n */\n\n }, {\n key: 'extend',\n value: function extend() {\n function unpause(volumes) {\n var self = this;\n var id = void 0;\n var i = 0;\n\n while (i < self._sounds.length) {\n if (self._sounds[i]._paused && !self._sounds[i]._ended) {\n var track = self._sounds[i];\n\n id = track._id;\n self.play(id, volumes[track._sprite]);\n }\n i++;\n }\n\n return self;\n }\n\n /**\n * Kill track by name\n *\n * @param {String} name The name\n * @return {Object} Self fo chaining\n */\n function killByName(name) {\n var self = this;\n var id = void 0;\n var track = void 0;\n var i = 0;\n\n while (i < self._sounds.length) {\n track = self._sounds[i];\n if (track._sprite && track._sprite === name) {\n id = self._sounds[i]._id;\n self.stop(id);\n }\n i++;\n }\n\n return self;\n }\n\n function isPlayingByName(name) {\n var self = this;\n var track = void 0;\n var i = 0;\n\n while (i < self._sounds.length) {\n track = self._sounds[i];\n if (track._sprite && track._sprite === name && !track._paused && !track._ended) {\n return true;\n }\n i++;\n }\n\n return false;\n }\n\n function getSoundById(id) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._sounds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var sound = _step.value;\n\n if (sound._id === id) {\n return sound;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return null;\n }\n\n function playSequence(sequence, handler) {\n var _this = this;\n\n var stop = false;\n var playingId = void 0;\n\n var stopFn = function stopFn() {\n stop = true;\n _this.stop(playingId);\n if (handler) handler();\n };\n\n var recursiveSequence = function recursiveSequence(seq) {\n if (stop) {\n seq = [];\n\n return;\n }\n\n var item = seq.shift();\n\n if (item) {\n var _cb = function _cb(endedId) //eslint-disable-line\n {\n if (id === endedId) {\n this.off('end', _cb);\n recursiveSequence(seq);\n }\n };\n\n var id = _this.play(item);\n\n playingId = id;\n\n _this.on('end', _cb);\n } else if (handler) handler();\n };\n\n recursiveSequence(sequence);\n\n return stopFn;\n }\n\n _howlerCoreMin.Howl.prototype.unpause = unpause;\n _howlerCoreMin.Howl.prototype.killByName = killByName;\n _howlerCoreMin.Howl.prototype.isPlayingByName = isPlayingByName;\n _howlerCoreMin.Howl.prototype.getSoundById = getSoundById;\n _howlerCoreMin.Howl.prototype.playSequence = playSequence;\n }\n }]);\n\n return Sound;\n}();\n\nexports.default = Sound;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Tracking = function () {\n /**\n * Setup the game code\n *\n * @param {string} gameCode The game code\n * @param {string} version The version\n */\n function Tracking(gameCode, version) {\n _classCallCheck(this, Tracking);\n\n this.gameCode = gameCode;\n this.version = version;\n this.jsErrors();\n }\n\n /**\n * Track user events\n *\n * @param {string} label The label\n * @param {string} category The category\n * @param {string} action The action\n * @param {number} count The count\n * @return {object} data sent to GA\n */\n\n\n _createClass(Tracking, [{\n key: 'event',\n value: function event(label, category, action, count) {\n if (!category) category = 'button';\n if (!action) action = 'click';\n if (!count) count = 0;\n\n if (!window.ga) return null;\n\n var event = {\n hitType: 'event', // Required.\n eventCategory: category, // Required.\n eventAction: action, // Required.\n eventLabel: label,\n eventValue: count\n };\n\n // GA Event tracking\n window.ga('send', event);\n\n return event;\n }\n\n /**\n * Track js exceptions\n *\n * @param {string} desc The description\n * @param {boolean} fatal The fatal\n * @return {object} data sent to GA\n */\n\n }, {\n key: 'exception',\n value: function exception(desc, fatal) {\n if (!fatal) fatal = false;\n\n if (!window.ga) return null;\n\n var exception = {\n exDescription: desc,\n exFatal: fatal,\n appName: this.gameCode,\n appVersion: this.version\n };\n\n window.ga('send', 'exception', exception);\n\n return exception;\n }\n\n /**\n * watch for js errors\n */\n\n }, {\n key: 'jsErrors',\n value: function jsErrors() {\n var _this = this;\n\n window.addEventListener('error', function (err) {\n var lineAndColumnInfo = err.colno ? ' line:' + err.lineno + ', column:' + err.colno : ' line:' + err.lineno;\n var location = err.filename + lineAndColumnInfo + ' -> ' + navigator.userAgent;\n\n _this.event('JavaScript Error', err.message, location);\n _this.exception('JSERROR - ' + err.message);\n });\n }\n }]);\n\n return Tracking;\n}();\n\nexports.default = Tracking;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\n// Polyfill for creating CustomEvents on IE9/10/11\n\n// code pulled from:\n// https://github.com/d4tocchini/customevent-polyfill\n// https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent#Polyfill\n\ntry {\n var ce = new window.CustomEvent('test');\n ce.preventDefault();\n if (ce.defaultPrevented !== true) {\n // IE has problems with .preventDefault() on custom events\n // http://stackoverflow.com/questions/23349191\n throw new Error('Could not prevent default');\n }\n} catch(e) {\n var CustomEvent = function(event, params) {\n var evt, origPrevent;\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n\n evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n origPrevent = evt.preventDefault;\n evt.preventDefault = function () {\n origPrevent.call(this);\n try {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function () {\n return true;\n }\n });\n } catch(e) {\n this.defaultPrevented = true;\n }\n };\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n window.CustomEvent = CustomEvent; // expose definition to window\n}\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction sortArrayByKey() {\n var sorters = {\n string: function string(a, b) {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n }\n\n return 0;\n },\n number: function number(a, b) {\n return a - b;\n }\n };\n\n return function sortIt(ary, prop) {\n var type = _typeof(ary[0][prop]) || 'string';\n\n return ary.sort(function (a, b) {\n return sorters[type](a[prop], b[prop]);\n });\n };\n}\n\nfunction uniq(array) {\n var result = Array.from(new Set(array));\n\n return result;\n}\n\nexports.sortArrayByKey = sortArrayByKey;\nexports.uniq = uniq;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Data = exports.Network = exports.Tracking = exports.Sound = exports.Reality = exports.Loader = exports.Locale = exports.Progress = exports.Font = exports.Event = exports.Device = exports.Currency = undefined;\n\n__webpack_require__(18);\n\nvar _currency = __webpack_require__(8);\n\nvar _currency2 = _interopRequireDefault(_currency);\n\nvar _device = __webpack_require__(1);\n\nvar _device2 = _interopRequireDefault(_device);\n\nvar _event = __webpack_require__(10);\n\nvar _event2 = _interopRequireDefault(_event);\n\nvar _font = __webpack_require__(11);\n\nvar _font2 = _interopRequireDefault(_font);\n\nvar _progress = __webpack_require__(14);\n\nvar _progress2 = _interopRequireDefault(_progress);\n\nvar _locale = __webpack_require__(13);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _loader = __webpack_require__(12);\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _reality = __webpack_require__(15);\n\nvar _reality2 = _interopRequireDefault(_reality);\n\nvar _sound = __webpack_require__(16);\n\nvar _sound2 = _interopRequireDefault(_sound);\n\nvar _tracking = __webpack_require__(17);\n\nvar _tracking2 = _interopRequireDefault(_tracking);\n\nvar _network = __webpack_require__(2);\n\nvar _network2 = _interopRequireDefault(_network);\n\nvar _currency3 = __webpack_require__(9);\n\nvar _currency4 = _interopRequireDefault(_currency3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Currency = _currency2.default;\nexports.Device = _device2.default;\nexports.Event = _event2.default;\nexports.Font = _font2.default;\nexports.Progress = _progress2.default;\nexports.Locale = _locale2.default;\nexports.Loader = _loader2.default;\nexports.Reality = _reality2.default;\nexports.Sound = _sound2.default;\nexports.Tracking = _tracking2.default;\nexports.Network = _network2.default;\nexports.Data = _currency4.default;\n\n\nglobal.SUGA = exports; // eslint-disable-line\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar $isNaN = __webpack_require__(23);\nvar $isFinite = __webpack_require__(22);\n\nvar sign = __webpack_require__(25);\nvar mod = __webpack_require__(24);\n\nvar IsCallable = __webpack_require__(5);\nvar toPrimitive = __webpack_require__(26);\n\n// https://es5.github.io/#x9\nvar ES5 = {\n\tToPrimitive: toPrimitive,\n\n\tToBoolean: function ToBoolean(value) {\n\t\treturn Boolean(value);\n\t},\n\tToNumber: function ToNumber(value) {\n\t\treturn Number(value);\n\t},\n\tToInteger: function ToInteger(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number)) { return 0; }\n\t\tif (number === 0 || !$isFinite(number)) { return number; }\n\t\treturn sign(number) * Math.floor(Math.abs(number));\n\t},\n\tToInt32: function ToInt32(x) {\n\t\treturn this.ToNumber(x) >> 0;\n\t},\n\tToUint32: function ToUint32(x) {\n\t\treturn this.ToNumber(x) >>> 0;\n\t},\n\tToUint16: function ToUint16(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }\n\t\tvar posInt = sign(number) * Math.floor(Math.abs(number));\n\t\treturn mod(posInt, 0x10000);\n\t},\n\tToString: function ToString(value) {\n\t\treturn String(value);\n\t},\n\tToObject: function ToObject(value) {\n\t\tthis.CheckObjectCoercible(value);\n\t\treturn Object(value);\n\t},\n\tCheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {\n\t\t/* jshint eqnull:true */\n\t\tif (value == null) {\n\t\t\tthrow new TypeError(optMessage || 'Cannot call method on ' + value);\n\t\t}\n\t\treturn value;\n\t},\n\tIsCallable: IsCallable,\n\tSameValue: function SameValue(x, y) {\n\t\tif (x === y) { // 0 === -0, but they are not identical.\n\t\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\t\treturn true;\n\t\t}\n\t\treturn $isNaN(x) && $isNaN(y);\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/5.1/#sec-8\n\tType: function Type(x) {\n\t\tif (x === null) {\n\t\t\treturn 'Null';\n\t\t}\n\t\tif (typeof x === 'undefined') {\n\t\t\treturn 'Undefined';\n\t\t}\n\t\tif (typeof x === 'function' || typeof x === 'object') {\n\t\t\treturn 'Object';\n\t\t}\n\t\tif (typeof x === 'number') {\n\t\t\treturn 'Number';\n\t\t}\n\t\tif (typeof x === 'boolean') {\n\t\t\treturn 'Boolean';\n\t\t}\n\t\tif (typeof x === 'string') {\n\t\t\treturn 'String';\n\t\t}\n\t}\n};\n\nmodule.exports = ES5;\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nvar $isNaN = Number.isNaN || function (a) { return a !== a; };\n\nmodule.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\nmodule.exports = function mod(number, modulo) {\n\tvar remain = number % modulo;\n\treturn Math.floor(remain >= 0 ? remain : remain + modulo);\n};\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\nmodule.exports = function sign(number) {\n\treturn number >= 0 ? 1 : -1;\n};\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar toStr = Object.prototype.toString;\n\nvar isPrimitive = __webpack_require__(27);\n\nvar isCallable = __webpack_require__(5);\n\n// https://es5.github.io/#x8.12\nvar ES5internalSlots = {\n\t'[[DefaultValue]]': function (O, hint) {\n\t\tvar actualHint = hint || (toStr.call(O) === '[object Date]' ? String : Number);\n\n\t\tif (actualHint === String || actualHint === Number) {\n\t\t\tvar methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\t\t\tvar value, i;\n\t\t\tfor (i = 0; i < methods.length; ++i) {\n\t\t\t\tif (isCallable(O[methods[i]])) {\n\t\t\t\t\tvalue = O[methods[i]]();\n\t\t\t\t\tif (isPrimitive(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new TypeError('No default value');\n\t\t}\n\t\tthrow new TypeError('invalid [[DefaultValue]] hint supplied');\n\t}\n};\n\n// https://es5.github.io/#x9\nmodule.exports = function ToPrimitive(input, PreferredType) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\treturn ES5internalSlots['[[DefaultValue]]'](input, PreferredType);\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nmodule.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isFunction = __webpack_require__(33)\n\nmodule.exports = forEach\n\nvar toString = Object.prototype.toString\nvar hasOwnProperty = Object.prototype.hasOwnProperty\n\nfunction forEach(list, iterator, context) {\n if (!isFunction(iterator)) {\n throw new TypeError('iterator must be a function')\n }\n\n if (arguments.length < 3) {\n context = this\n }\n \n if (toString.call(list) === '[object Array]')\n forEachArray(list, iterator, context)\n else if (typeof list === 'string')\n forEachString(list, iterator, context)\n else\n forEachObject(list, iterator, context)\n}\n\nfunction forEachArray(array, iterator, context) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n iterator.call(context, array[i], i, array)\n }\n }\n}\n\nfunction forEachString(string, iterator, context) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n iterator.call(context, string.charAt(i), i, string)\n }\n}\n\nfunction forEachObject(object, iterator, context) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n iterator.call(context, object[k], k, object)\n }\n }\n}\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar bind = __webpack_require__(0);\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! howler.js v2.0.8 | (c) 2013-2018, James Simpson of GoldFire Studios | MIT License | howlerjs.com */\n!function(){\"use strict\";var e=function(){this.init()};e.prototype={init:function(){var e=this||n;return e._counter=1e3,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent=\"canplaythrough\",e._navigator=\"undefined\"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.mobileAutoEnable=!0,e._setup(),e},volume:function(e){var t=this||n;if(e=parseFloat(e),t.ctx||_(),void 0!==e&&e>=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var o=0;o=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,_()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,\"\")]},_setup:function(){var e=this||n;if(e.state=e.ctx?e.ctx.state||\"running\":\"running\",e._autoSuspend(),!e.usingWebAudio)if(\"undefined\"!=typeof Audio)try{var t=new Audio;void 0===t.oncanplaythrough&&(e._canPlayEvent=\"canplay\")}catch(n){e.noAudio=!0}else e.noAudio=!0;try{var t=new Audio;t.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,t=null;try{t=\"undefined\"!=typeof Audio?new Audio:null}catch(n){return e}if(!t||\"function\"!=typeof t.canPlayType)return e;var o=t.canPlayType(\"audio/mpeg;\").replace(/^no$/,\"\"),r=e._navigator&&e._navigator.userAgent.match(/OPR\\/([0-6].)/g),a=r&&parseInt(r[0].split(\"/\")[1],10)<33;return e._codecs={mp3:!(a||!o&&!t.canPlayType(\"audio/mp3;\").replace(/^no$/,\"\")),mpeg:!!o,opus:!!t.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/,\"\"),ogg:!!t.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/,\"\"),oga:!!t.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/,\"\"),wav:!!t.canPlayType('audio/wav; codecs=\"1\"').replace(/^no$/,\"\"),aac:!!t.canPlayType(\"audio/aac;\").replace(/^no$/,\"\"),caf:!!t.canPlayType(\"audio/x-caf;\").replace(/^no$/,\"\"),m4a:!!(t.canPlayType(\"audio/x-m4a;\")||t.canPlayType(\"audio/m4a;\")||t.canPlayType(\"audio/aac;\")).replace(/^no$/,\"\"),mp4:!!(t.canPlayType(\"audio/x-mp4;\")||t.canPlayType(\"audio/mp4;\")||t.canPlayType(\"audio/aac;\")).replace(/^no$/,\"\"),weba:!!t.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/,\"\"),webm:!!t.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/,\"\"),dolby:!!t.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/,\"\"),flac:!!(t.canPlayType(\"audio/x-flac;\")||t.canPlayType(\"audio/flac;\")).replace(/^no$/,\"\")},e},_enableMobileAudio:function(){var e=this||n,t=/iPhone|iPad|iPod|Android|BlackBerry|BB10|Silk|Mobi/i.test(e._navigator&&e._navigator.userAgent),o=!!(\"ontouchend\"in window||e._navigator&&e._navigator.maxTouchPoints>0||e._navigator&&e._navigator.msMaxTouchPoints>0);if(!e._mobileEnabled&&e.ctx&&(t||o)){e._mobileEnabled=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var r=function(){n._autoResume();var t=e.ctx.createBufferSource();t.buffer=e._scratchBuffer,t.connect(e.ctx.destination),void 0===t.start?t.noteOn(0):t.start(0),\"function\"==typeof e.ctx.resume&&e.ctx.resume(),t.onended=function(){t.disconnect(0),e._mobileEnabled=!0,e.mobileAutoEnable=!1,document.removeEventListener(\"touchstart\",r,!0),document.removeEventListener(\"touchend\",r,!0)}};return document.addEventListener(\"touchstart\",r,!0),document.addEventListener(\"touchend\",r,!0),e}},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&void 0!==e.ctx.suspend&&n.usingWebAudio){for(var t=0;t0?i._seek:o._sprite[e][0]/1e3),s=Math.max(0,(o._sprite[e][0]+o._sprite[e][1])/1e3-_),l=1e3*s/Math.abs(i._rate);i._paused=!1,i._ended=!1,i._sprite=e,i._seek=_,i._start=o._sprite[e][0]/1e3,i._stop=(o._sprite[e][0]+o._sprite[e][1])/1e3,i._loop=!(!i._loop&&!o._sprite[e][2]);var c=i._node;if(o._webAudio){var f=function(){o._refreshBuffer(i);var e=i._muted||o._muted?0:i._volume;c.gain.setValueAtTime(e,n.ctx.currentTime),i._playStart=n.ctx.currentTime,void 0===c.bufferSource.start?i._loop?c.bufferSource.noteGrainOn(0,_,86400):c.bufferSource.noteGrainOn(0,_,s):i._loop?c.bufferSource.start(0,_,86400):c.bufferSource.start(0,_,s),l!==1/0&&(o._endTimers[i._id]=setTimeout(o._ended.bind(o,i),l)),t||setTimeout(function(){o._emit(\"play\",i._id)},0)};\"running\"===n.state?f():(o.once(\"resume\",f),o._clearTimer(i._id))}else{var p=function(){c.currentTime=_,c.muted=i._muted||o._muted||n._muted||c.muted,c.volume=i._volume*n.volume(),c.playbackRate=i._rate;try{var e=c.play();if(\"undefined\"!=typeof Promise&&e instanceof Promise&&(o._playLock=!0,e.then(function(){o._playLock=!1,o._loadQueue()})),c.paused)return void o._emit(\"playerror\",i._id,\"Playback was unable to start. This is most commonly an issue on mobile devices where playback was not within a user interaction.\");l!==1/0&&(o._endTimers[i._id]=setTimeout(o._ended.bind(o,i),l)),t||o._emit(\"play\",i._id)}catch(e){o._emit(\"playerror\",i._id,e)}},m=window&&window.ejecta||!c.readyState&&n._navigator.isCocoonJS;if(4===c.readyState||m)p();else{var v=function(){p(),c.removeEventListener(n._canPlayEvent,v,!1)};c.addEventListener(n._canPlayEvent,v,!1),o._clearTimer(i._id)}}return i._id},pause:function(e){var n=this;if(\"loaded\"!==n._state||n._playLock)return n._queue.push({event:\"pause\",action:function(){n.pause(e)}}),n;for(var t=n._getSoundIds(e),o=0;o=0?t=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),t=parseInt(r[1],10));var a;if(!(void 0!==e&&e>=0&&e<=1))return a=t?o._soundById(t):o._sounds[0],a?a._volume:0;if(\"loaded\"!==o._state)return o._queue.push({event:\"volume\",action:function(){o.volume.apply(o,r)}}),o;void 0===t&&(o._volume=e),t=o._getSoundIds(t);for(var u=0;u0?o/_:o),l=Date.now();e._fadeTo=t,e._interval=setInterval(function(){var r=(Date.now()-l)/o;l=Date.now(),i+=d*r,i=Math.max(0,i),i=Math.min(1,i),i=Math.round(100*i)/100,u._webAudio?e._volume=i:u.volume(i,e._id,!0),a&&(u._volume=i),(tn&&i>=t)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,u.volume(t,e._id),u._emit(\"fade\",e._id))},s)},_stopFade:function(e){var t=this,o=t._soundById(e);return o&&o._interval&&(t._webAudio&&o._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(o._interval),o._interval=null,t.volume(o._fadeTo,e),o._fadeTo=null,t._emit(\"fade\",e)),t},loop:function(){var e,n,t,o=this,r=arguments;if(0===r.length)return o._loop;if(1===r.length){if(\"boolean\"!=typeof r[0])return!!(t=o._soundById(parseInt(r[0],10)))&&t._loop;e=r[0],o._loop=e}else 2===r.length&&(e=r[0],n=parseInt(r[1],10));for(var a=o._getSoundIds(n),u=0;u=0?t=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));var i;if(\"number\"!=typeof e)return i=o._soundById(t),i?i._rate:o._rate;if(\"loaded\"!==o._state)return o._queue.push({event:\"rate\",action:function(){o.rate.apply(o,r)}}),o;void 0===t&&(o._rate=e),t=o._getSoundIds(t);for(var d=0;d=0?t=parseInt(r[0],10):o._sounds.length&&(t=o._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));if(void 0===t)return o;if(\"loaded\"!==o._state)return o._queue.push({event:\"seek\",action:function(){o.seek.apply(o,r)}}),o;var i=o._soundById(t);if(i){if(!(\"number\"==typeof e&&e>=0)){if(o._webAudio){var d=o.playing(t)?n.ctx.currentTime-i._playStart:0,_=i._rateSeek?i._rateSeek-i._seek:0;return i._seek+(_+d*Math.abs(i._rate))}return i._node.currentTime}var s=o.playing(t);s&&o.pause(t,!0),i._seek=e,i._ended=!1,o._clearTimer(t),s&&o.play(t,!0),!o._webAudio&&i._node&&(i._node.currentTime=e),o._emit(\"seek\",t)}return o},playing:function(e){var n=this;if(\"number\"==typeof e){var t=n._soundById(e);return!!t&&!t._paused}for(var o=0;o=0&&n._howls.splice(a,1)}var u=!0;for(o=0;o=0;a--)r[a].id&&r[a].id!==n&&\"load\"!==e||(setTimeout(function(e){e.call(this,n,t)}.bind(o,r[a].fn),0),r[a].once&&o.off(e,r[a].fn,r[a].id));return o},_loadQueue:function(){var e=this;if(e._queue.length>0){var n=e._queue[0];e.once(n.event,function(){e._queue.shift(),e._loadQueue()}),n.action()}return e},_ended:function(e){var t=this,o=e._sprite;if(!t._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime=0;o--){if(t<=n)return;e._sounds[o]._ended&&(e._webAudio&&e._sounds[o]._node&&e._sounds[o]._node.disconnect(0),e._sounds.splice(o,1),t--)}}},_getSoundIds:function(e){var n=this;if(void 0===e){for(var t=[],o=0;o0&&(r[t._src]=e,d(t,e))},function(){t._emit(\"loaderror\",null,\"Decoding audio data failed.\")})},d=function(e,n){n&&!e._duration&&(e._duration=n.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),\"loaded\"!==e._state&&(e._state=\"loaded\",e._emit(\"load\"),e._loadQueue())},_=function(){try{\"undefined\"!=typeof AudioContext?n.ctx=new AudioContext:\"undefined\"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),t=n._navigator&&n._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/),o=t?parseInt(t[1],10):null;if(e&&o&&o<9){var r=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());(n._navigator&&n._navigator.standalone&&!r||n._navigator&&!n._navigator.standalone&&!r)&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:1,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()};\"function\"==\"function\"&&__webpack_require__(42)&&!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function(){return{Howler:n,Howl:t}}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)),\"undefined\"!=typeof exports&&(exports.Howler=n,exports.Howl=t),\"undefined\"!=typeof window?(window.HowlerGlobal=e,window.Howler=n,window.Howl=t,window.Sound=o):\"undefined\"!=typeof global&&(global.HowlerGlobal=e,global.Howler=n,global.Howl=t,global.Sound=o)}();\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports) {\n\nmodule.exports = isFunction\n\nvar toString = Object.prototype.toString\n\nfunction isFunction (fn) {\n var string = toString.call(fn)\n return string === '[object Function]' ||\n (typeof fn === 'function' && string !== '[object RegExp]') ||\n (typeof window !== 'undefined' &&\n // IE8 and below\n (fn === window.setTimeout ||\n fn === window.alert ||\n fn === window.confirm ||\n fn === window.prompt))\n};\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// (c) 2012-2016 Airbnb, Inc.\n//\n// polyglot.js may be freely distributed under the terms of the BSD\n// license. For all licensing information, details, and documention:\n// http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n\n\nvar forEach = __webpack_require__(28);\nvar warning = __webpack_require__(40);\nvar has = __webpack_require__(31);\nvar trim = __webpack_require__(38);\n\nvar warn = function warn(message) {\n warning(false, message);\n};\n\nvar replace = String.prototype.replace;\nvar split = String.prototype.split;\n\n// #### Pluralization methods\n// The string that separates the different phrase possibilities.\nvar delimeter = '||||';\n\n// Mapping from pluralization group plural logic.\nvar pluralTypes = {\n arabic: function (n) {\n // http://www.arabeyes.org/Plural_Forms\n if (n < 3) { return n; }\n if (n % 100 >= 3 && n % 100 <= 10) return 3;\n return n % 100 >= 11 ? 4 : 5;\n },\n chinese: function () { return 0; },\n german: function (n) { return n !== 1 ? 1 : 0; },\n french: function (n) { return n > 1 ? 1 : 0; },\n russian: function (n) {\n if (n % 10 === 1 && n % 100 !== 11) { return 0; }\n return n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2;\n },\n czech: function (n) {\n if (n === 1) { return 0; }\n return (n >= 2 && n <= 4) ? 1 : 2;\n },\n polish: function (n) {\n if (n === 1) { return 0; }\n return n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2;\n },\n icelandic: function (n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; }\n};\n\n// Mapping from pluralization group to individual locales.\nvar pluralTypeToLanguages = {\n arabic: ['ar'],\n chinese: ['fa', 'id', 'ja', 'ko', 'lo', 'ms', 'th', 'tr', 'zh'],\n german: ['da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hu', 'it', 'nl', 'no', 'pt', 'sv'],\n french: ['fr', 'tl', 'pt-br'],\n russian: ['hr', 'ru', 'lt'],\n czech: ['cs', 'sk'],\n polish: ['pl'],\n icelandic: ['is']\n};\n\nfunction langToTypeMap(mapping) {\n var ret = {};\n forEach(mapping, function (langs, type) {\n forEach(langs, function (lang) {\n ret[lang] = type;\n });\n });\n return ret;\n}\n\nfunction pluralTypeName(locale) {\n var langToPluralType = langToTypeMap(pluralTypeToLanguages);\n return langToPluralType[locale]\n || langToPluralType[split.call(locale, /-/, 1)[0]]\n || langToPluralType.en;\n}\n\nfunction pluralTypeIndex(locale, count) {\n return pluralTypes[pluralTypeName(locale)](count);\n}\n\nvar dollarRegex = /\\$/g;\nvar dollarBillsYall = '$$';\nvar tokenRegex = /%\\{(.*?)\\}/g;\n\n// ### transformPhrase(phrase, substitutions, locale)\n//\n// Takes a phrase string and transforms it by choosing the correct\n// plural form and interpolating it.\n//\n// transformPhrase('Hello, %{name}!', {name: 'Spike'});\n// // \"Hello, Spike!\"\n//\n// The correct plural form is selected if substitutions.smart_count\n// is set. You can pass in a number instead of an Object as `substitutions`\n// as a shortcut for `smart_count`.\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 1}, 'en');\n// // \"1 new message\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 2}, 'en');\n// // \"2 new messages\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', 5, 'en');\n// // \"5 new messages\"\n//\n// You should pass in a third argument, the locale, to specify the correct plural type.\n// It defaults to `'en'` with 2 plural forms.\nfunction transformPhrase(phrase, substitutions, locale) {\n if (typeof phrase !== 'string') {\n throw new TypeError('Polyglot.transformPhrase expects argument #1 to be string');\n }\n\n if (substitutions == null) {\n return phrase;\n }\n\n var result = phrase;\n\n // allow number as a pluralization shortcut\n var options = typeof substitutions === 'number' ? { smart_count: substitutions } : substitutions;\n\n // Select plural form: based on a phrase text that contains `n`\n // plural forms separated by `delimeter`, a `locale`, and a `substitutions.smart_count`,\n // choose the correct plural form. This is only done if `count` is set.\n if (options.smart_count != null && result) {\n var texts = split.call(result, delimeter);\n result = trim(texts[pluralTypeIndex(locale || 'en', options.smart_count)] || texts[0]);\n }\n\n // Interpolate: Creates a `RegExp` object for each interpolation placeholder.\n result = replace.call(result, tokenRegex, function (expression, argument) {\n if (!has(options, argument) || options[argument] == null) { return expression; }\n // Ensure replacement value is escaped to prevent special $-prefixed regex replace tokens.\n return replace.call(options[argument], dollarRegex, dollarBillsYall);\n });\n\n return result;\n}\n\n// ### Polyglot class constructor\nfunction Polyglot(options) {\n var opts = options || {};\n this.phrases = {};\n this.extend(opts.phrases || {});\n this.currentLocale = opts.locale || 'en';\n var allowMissing = opts.allowMissing ? transformPhrase : null;\n this.onMissingKey = typeof opts.onMissingKey === 'function' ? opts.onMissingKey : allowMissing;\n this.warn = opts.warn || warn;\n}\n\n// ### polyglot.locale([locale])\n//\n// Get or set locale. Internally, Polyglot only uses locale for pluralization.\nPolyglot.prototype.locale = function (newLocale) {\n if (newLocale) this.currentLocale = newLocale;\n return this.currentLocale;\n};\n\n// ### polyglot.extend(phrases)\n//\n// Use `extend` to tell Polyglot how to translate a given key.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The key can be any string. Feel free to call `extend` multiple times;\n// it will override any phrases with the same key, but leave existing phrases\n// untouched.\n//\n// It is also possible to pass nested phrase objects, which get flattened\n// into an object with the nested keys concatenated using dot notation.\n//\n// polyglot.extend({\n// \"nav\": {\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\",\n// \"sidebar\": {\n// \"welcome\": \"Welcome\"\n// }\n// }\n// });\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}',\n// // 'nav.sidebar.welcome': 'Welcome'\n// // }\n//\n// `extend` accepts an optional second argument, `prefix`, which can be used\n// to prefix every key in the phrases object with some string, using dot\n// notation.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// }, \"nav\");\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}'\n// // }\n//\n// This feature is used internally to support nested phrase objects.\nPolyglot.prototype.extend = function (morePhrases, prefix) {\n forEach(morePhrases, function (phrase, key) {\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.extend(phrase, prefixedKey);\n } else {\n this.phrases[prefixedKey] = phrase;\n }\n }, this);\n};\n\n// ### polyglot.unset(phrases)\n// Use `unset` to selectively remove keys from a polyglot instance.\n//\n// polyglot.unset(\"some_key\");\n// polyglot.unset({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The unset method can take either a string (for the key), or an object hash with\n// the keys that you would like to unset.\nPolyglot.prototype.unset = function (morePhrases, prefix) {\n if (typeof morePhrases === 'string') {\n delete this.phrases[morePhrases];\n } else {\n forEach(morePhrases, function (phrase, key) {\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.unset(phrase, prefixedKey);\n } else {\n delete this.phrases[prefixedKey];\n }\n }, this);\n }\n};\n\n// ### polyglot.clear()\n//\n// Clears all phrases. Useful for special cases, such as freeing\n// up memory if you have lots of phrases but no longer need to\n// perform any translation. Also used internally by `replace`.\nPolyglot.prototype.clear = function () {\n this.phrases = {};\n};\n\n// ### polyglot.replace(phrases)\n//\n// Completely replace the existing phrases with a new set of phrases.\n// Normally, just use `extend` to add more phrases, but under certain\n// circumstances, you may want to make sure no old phrases are lying around.\nPolyglot.prototype.replace = function (newPhrases) {\n this.clear();\n this.extend(newPhrases);\n};\n\n\n// ### polyglot.t(key, options)\n//\n// The most-used method. Provide a key, and `t` will return the\n// phrase.\n//\n// polyglot.t(\"hello\");\n// => \"Hello\"\n//\n// The phrase value is provided first by a call to `polyglot.extend()` or\n// `polyglot.replace()`.\n//\n// Pass in an object as the second argument to perform interpolation.\n//\n// polyglot.t(\"hello_name\", {name: \"Spike\"});\n// => \"Hello, Spike\"\n//\n// If you like, you can provide a default value in case the phrase is missing.\n// Use the special option key \"_\" to specify a default.\n//\n// polyglot.t(\"i_like_to_write_in_language\", {\n// _: \"I like to write in %{language}.\",\n// language: \"JavaScript\"\n// });\n// => \"I like to write in JavaScript.\"\n//\nPolyglot.prototype.t = function (key, options) {\n var phrase, result;\n var opts = options == null ? {} : options;\n if (typeof this.phrases[key] === 'string') {\n phrase = this.phrases[key];\n } else if (typeof opts._ === 'string') {\n phrase = opts._;\n } else if (this.onMissingKey) {\n var onMissingKey = this.onMissingKey;\n result = onMissingKey(key, opts, this.currentLocale);\n } else {\n this.warn('Missing translation for key: \"' + key + '\"');\n result = key;\n }\n if (typeof phrase === 'string') {\n result = transformPhrase(phrase, opts, this.currentLocale);\n }\n return result;\n};\n\n\n// ### polyglot.has(key)\n//\n// Check if polyglot has a translation for given key\nPolyglot.prototype.has = function (key) {\n return has(this.phrases, key);\n};\n\n// export transformPhrase\nPolyglot.transformPhrase = transformPhrase;\n\nmodule.exports = Polyglot;\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// modified from https://github.com/es-shims/es5-shim\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = __webpack_require__(36);\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = [\n\t'toString',\n\t'toLocaleString',\n\t'valueOf',\n\t'hasOwnProperty',\n\t'isPrototypeOf',\n\t'propertyIsEnumerable',\n\t'constructor'\n];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = (function () {\n\t/* global window */\n\tif (typeof window === 'undefined') { return false; }\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}());\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) {\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(0);\nvar define = __webpack_require__(4);\n\nvar implementation = __webpack_require__(6);\nvar getPolyfill = __webpack_require__(7);\nvar shim = __webpack_require__(39);\n\nvar boundTrim = bind.call(Function.call, getPolyfill());\n\ndefine(boundTrim, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundTrim;\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar define = __webpack_require__(4);\nvar getPolyfill = __webpack_require__(7);\n\nmodule.exports = function shimStringTrim() {\n\tvar polyfill = getPolyfill();\n\tdefine(String.prototype, { trim: polyfill }, { trim: function () { return String.prototype.trim !== polyfill; } });\n\treturn polyfill;\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(37)))\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+\",serif\",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+\",sans-serif\",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G(\"serif\",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G(\"sans-serif\",J(this.a));a=\nO(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:\"serif\",C:\"sans-serif\"},S=null;function T(){if(null===S){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.m.a.offsetWidth;this.A=q();U(this)};\nfunction la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f[\"sans-serif\"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,J(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\")]);K(b,\"fontactive\",a);this.m=!0;na(this)};\nW.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c(\"wf\",a.c,J(a).toString(),\"active\")),d=[],e=[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\")];c||d.push(b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\"));w(b.f,d,e)}K(b,\"fontinactive\",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),K(a,\"active\")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};\nfunction qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h.998){var g=this._totalTime;this.render(0,!0,!1),this._initted=!1,this.render(g,!0,!1)}else if(this._initted=!1,this._init(),this._time>0||f)for(var h,i=1/(1-e),j=this._firstPT;j;)h=j.s+j.c,j.c*=i,j.s=h-j.c,j=j._next;return this},k.render=function(a,b,d){this._initted||0===this._duration&&this.vars.repeat&&this.invalidate();var e,f,i,j,k,l,m,n,o,p=this._dirty?this.totalDuration():this._totalDuration,q=this._time,r=this._totalTime,s=this._cycle,t=this._duration,u=this._rawPrevTime;if(a>=p-1e-7&&a>=0?(this._totalTime=p,this._cycle=this._repeat,this._yoyo&&0!==(1&this._cycle)?(this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0):(this._time=t,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1),this._reversed||(e=!0,f=\"onComplete\",d=d||this._timeline.autoRemoveChildren),0===t&&(this._initted||!this.vars.lazy||d)&&(this._startTime===this._timeline._duration&&(a=0),(0>u||0>=a&&a>=-1e-7||u===g&&\"isPause\"!==this.data)&&u!==a&&(d=!0,u>g&&(f=\"onReverseComplete\")),this._rawPrevTime=n=!b||a||u===a?a:g)):1e-7>a?(this._totalTime=this._time=this._cycle=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==r||0===t&&u>0)&&(f=\"onReverseComplete\",e=this._reversed),0>a&&(this._active=!1,0===t&&(this._initted||!this.vars.lazy||d)&&(u>=0&&(d=!0),this._rawPrevTime=n=!b||a||u===a?a:g)),this._initted||(d=!0)):(this._totalTime=this._time=a,0!==this._repeat&&(j=t+this._repeatDelay,this._cycle=this._totalTime/j>>0,0!==this._cycle&&this._cycle===this._totalTime/j&&a>=r&&this._cycle--,this._time=this._totalTime-this._cycle*j,this._yoyo&&0!==(1&this._cycle)&&(this._time=t-this._time,o=this._yoyoEase||this.vars.yoyoEase,o&&(this._yoyoEase||(o!==!0||this._initted?this._yoyoEase=o=o===!0?this._ease:o instanceof Ease?o:Ease.map[o]:(o=this.vars.ease,this._yoyoEase=o=o?o instanceof Ease?o:\"function\"==typeof o?new Ease(o,this.vars.easeParams):Ease.map[o]||c.defaultEase:c.defaultEase)),this.ratio=o?1-o.getRatio((t-this._time)/t):0)),this._time>t?this._time=t:this._time<0&&(this._time=0)),this._easeType&&!o?(k=this._time/t,l=this._easeType,m=this._easePower,(1===l||3===l&&k>=.5)&&(k=1-k),3===l&&(k*=2),1===m?k*=k:2===m?k*=k*k:3===m?k*=k*k*k:4===m&&(k*=k*k*k*k),1===l?this.ratio=1-k:2===l?this.ratio=k:this._time/t<.5?this.ratio=k/2:this.ratio=1-k/2):o||(this.ratio=this._ease.getRatio(this._time/t))),q===this._time&&!d&&s===this._cycle)return void(r!==this._totalTime&&this._onUpdate&&(b||this._callback(\"onUpdate\")));if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!d&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=q,this._totalTime=r,this._rawPrevTime=u,this._cycle=s,h.lazyTweens.push(this),void(this._lazy=[a,b]);!this._time||e||o?e&&this._ease._calcEnd&&!o&&(this.ratio=this._ease.getRatio(0===this._time?0:1)):this.ratio=this._ease.getRatio(this._time/t)}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==q&&a>=0&&(this._active=!0),0===r&&(2===this._initted&&a>0&&this._init(),this._startAt&&(a>=0?this._startAt.render(a,b,d):f||(f=\"_dummyGS\")),this.vars.onStart&&(0!==this._totalTime||0===t)&&(b||this._callback(\"onStart\"))),i=this._firstPT;i;)i.f?i.t[i.p](i.c*this.ratio+i.s):i.t[i.p]=i.c*this.ratio+i.s,i=i._next;this._onUpdate&&(0>a&&this._startAt&&this._startTime&&this._startAt.render(a,b,d),b||(this._totalTime!==r||f)&&this._callback(\"onUpdate\")),this._cycle!==s&&(b||this._gc||this.vars.onRepeat&&this._callback(\"onRepeat\")),f&&(!this._gc||d)&&(0>a&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(a,b,d),e&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[f]&&this._callback(f),0===t&&this._rawPrevTime===g&&n!==g&&(this._rawPrevTime=0))},f.to=function(a,b,c){return new f(a,b,c)},f.from=function(a,b,c){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,new f(a,b,c)},f.fromTo=function(a,b,c,d){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,new f(a,b,d)},f.staggerTo=f.allTo=function(a,b,g,h,k,m,n){h=h||0;var o,p,q,r,s=0,t=[],u=function(){g.onComplete&&g.onComplete.apply(g.onCompleteScope||this,arguments),k.apply(n||g.callbackScope||this,m||l)},v=g.cycle,w=g.startAt&&g.startAt.cycle;for(j(a)||(\"string\"==typeof a&&(a=c.selector(a)||a),i(a)&&(a=d(a))),a=a||[],0>h&&(a=d(a),a.reverse(),h*=-1),o=a.length-1,q=0;o>=q;q++){p={};for(r in g)p[r]=g[r];if(v&&(e(p,a,q),null!=p.duration&&(b=p.duration,delete p.duration)),w){w=p.startAt={};for(r in g.startAt)w[r]=g.startAt[r];e(p.startAt,a,q)}p.delay=s+(p.delay||0),q===o&&k&&(p.onComplete=u),t[q]=new f(a[q],b,p),s+=h}return t},f.staggerFrom=f.allFrom=function(a,b,c,d,e,g,h){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,f.staggerTo(a,b,c,d,e,g,h)},f.staggerFromTo=f.allFromTo=function(a,b,c,d,e,g,h,i){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,f.staggerTo(a,b,d,e,g,h,i)},f.delayedCall=function(a,b,c,d,e){return new f(b,0,{delay:a,onComplete:b,onCompleteParams:c,callbackScope:d,onReverseComplete:b,onReverseCompleteParams:c,immediateRender:!1,useFrames:e,overwrite:0})},f.set=function(a,b){return new f(a,0,b)},f.isTweening=function(a){return c.getTweensOf(a,!0).length>0};var m=function(a,b){for(var d=[],e=0,f=a._first;f;)f instanceof c?d[e++]=f:(b&&(d[e++]=f),d=d.concat(m(f,b)),e=d.length),f=f._next;return d},n=f.getAllTweens=function(b){return m(a._rootTimeline,b).concat(m(a._rootFramesTimeline,b))};f.killAll=function(a,c,d,e){null==c&&(c=!0),null==d&&(d=!0);var f,g,h,i=n(0!=e),j=i.length,k=c&&d&&e;for(h=0;j>h;h++)g=i[h],(k||g instanceof b||(f=g.target===g.vars.onComplete)&&d||c&&!f)&&(a?g.totalTime(g._reversed?0:g.totalDuration()):g._enabled(!1,!1))},f.killChildTweensOf=function(a,b){if(null!=a){var e,g,k,l,m,n=h.tweenLookup;if(\"string\"==typeof a&&(a=c.selector(a)||a),i(a)&&(a=d(a)),j(a))for(l=a.length;--l>-1;)f.killChildTweensOf(a[l],b);else{e=[];for(k in n)for(g=n[k].target.parentNode;g;)g===a&&(e=e.concat(n[k].tweens)),g=g.parentNode;for(m=e.length,l=0;m>l;l++)b&&e[l].totalTime(e[l].totalDuration()),e[l]._enabled(!1,!1)}}};var o=function(a,c,d,e){c=c!==!1,d=d!==!1,e=e!==!1;for(var f,g,h=n(e),i=c&&d&&e,j=h.length;--j>-1;)g=h[j],(i||g instanceof b||(f=g.target===g.vars.onComplete)&&d||c&&!f)&&g.paused(a)};return f.pauseAll=function(a,b,c){o(!0,a,b,c)},f.resumeAll=function(a,b,c){o(!1,a,b,c)},f.globalTimeScale=function(b){var d=a._rootTimeline,e=c.ticker.time;return arguments.length?(b=b||g,d._startTime=e-(e-d._startTime)*d._timeScale/b,d=a._rootFramesTimeline,e=c.ticker.frame,d._startTime=e-(e-d._startTime)*d._timeScale/b,d._timeScale=a._rootTimeline._timeScale=b,b):d._timeScale},k.progress=function(a,b){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-a:a)+this._cycle*(this._duration+this._repeatDelay),b):this._time/this.duration()},k.totalProgress=function(a,b){return arguments.length?this.totalTime(this.totalDuration()*a,b):this._totalTime/this.totalDuration()},k.time=function(a,b){return arguments.length?(this._dirty&&this.totalDuration(),a>this._duration&&(a=this._duration),this._yoyo&&0!==(1&this._cycle)?a=this._duration-a+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(a+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(a,b)):this._time},k.duration=function(b){return arguments.length?a.prototype.duration.call(this,b):this._duration},k.totalDuration=function(a){return arguments.length?-1===this._repeat?this:this.duration((a-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat,this._dirty=!1),this._totalDuration)},k.repeat=function(a){return arguments.length?(this._repeat=a,this._uncache(!0)):this._repeat},k.repeatDelay=function(a){return arguments.length?(this._repeatDelay=a,this._uncache(!0)):this._repeatDelay},k.yoyo=function(a){return arguments.length?(this._yoyo=a,this):this._yoyo},f},!0),_gsScope._gsDefine(\"TimelineLite\",[\"core.Animation\",\"core.SimpleTimeline\",\"TweenLite\"],function(a,b,c){var d=function(a){b.call(this,a),this._labels={},this.autoRemoveChildren=this.vars.autoRemoveChildren===!0,this.smoothChildTiming=this.vars.smoothChildTiming===!0,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var c,d,e=this.vars;for(d in e)c=e[d],i(c)&&-1!==c.join(\"\").indexOf(\"{self}\")&&(e[d]=this._swapSelfInParams(c));i(e.tweens)&&this.add(e.tweens,0,e.align,e.stagger)},e=1e-10,f=c._internals,g=d._internals={},h=f.isSelector,i=f.isArray,j=f.lazyTweens,k=f.lazyRender,l=_gsScope._gsDefine.globals,m=function(a){var b,c={};for(b in a)c[b]=a[b];return c},n=function(a,b,c){var d,e,f=a.cycle;for(d in f)e=f[d],a[d]=\"function\"==typeof e?e(c,b[c]):e[c%e.length];delete a.cycle},o=g.pauseCallback=function(){},p=function(a){var b,c=[],d=a.length;for(b=0;b!==d;c.push(a[b++]));return c},q=d.prototype=new b;return d.version=\"1.20.2\",q.constructor=d,q.kill()._gc=q._forcingPlayhead=q._hasPause=!1,q.to=function(a,b,d,e){var f=d.repeat&&l.TweenMax||c;return b?this.add(new f(a,b,d),e):this.set(a,d,e)},q.from=function(a,b,d,e){return this.add((d.repeat&&l.TweenMax||c).from(a,b,d),e)},q.fromTo=function(a,b,d,e,f){var g=e.repeat&&l.TweenMax||c;return b?this.add(g.fromTo(a,b,d,e),f):this.set(a,e,f)},q.staggerTo=function(a,b,e,f,g,i,j,k){var l,o,q=new d({onComplete:i,onCompleteParams:j,callbackScope:k,smoothChildTiming:this.smoothChildTiming}),r=e.cycle;for(\"string\"==typeof a&&(a=c.selector(a)||a),a=a||[],h(a)&&(a=p(a)),f=f||0,0>f&&(a=p(a),a.reverse(),f*=-1),o=0;ol;l++)i(m=e[l])&&(m=new d({tweens:m})),this.add(m,j),\"string\"!=typeof m&&\"function\"!=typeof m&&(\"sequence\"===g?j=m._startTime+m.totalDuration()/m._timeScale:\"start\"===g&&(m._startTime-=m.delay())),j+=h;return this._uncache(!0)}if(\"string\"==typeof e)return this.addLabel(e,f);if(\"function\"!=typeof e)throw\"Cannot add \"+e+\" into the timeline; it is not a tween, timeline, function, or string.\";e=c.delayedCall(0,e)}if(b.prototype.add.call(this,e,f),e._time&&e.render((this.rawTime()-e._startTime)*e._timeScale,!1,!1),(this._gc||this._time===this._duration)&&!this._paused&&this._duratione._startTime;n._timeline;)o&&n._timeline.smoothChildTiming?n.totalTime(n._totalTime,!0):n._gc&&n._enabled(!0,!1),n=n._timeline;return this},q.remove=function(b){if(b instanceof a){this._remove(b,!1);var c=b._timeline=b.vars.useFrames?a._rootFramesTimeline:a._rootTimeline;return b._startTime=(b._paused?b._pauseTime:c._time)-(b._reversed?b.totalDuration()-b._totalTime:b._totalTime)/b._timeScale,this}if(b instanceof Array||b&&b.push&&i(b)){for(var d=b.length;--d>-1;)this.remove(b[d]);return this}return\"string\"==typeof b?this.removeLabel(b):this.kill(null,b)},q._remove=function(a,c){b.prototype._remove.call(this,a,c);var d=this._last;return d?this._time>this.duration()&&(this._time=this._duration,this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},q.append=function(a,b){return this.add(a,this._parseTimeOrLabel(null,b,!0,a))},q.insert=q.insertMultiple=function(a,b,c,d){return this.add(a,b||0,c,d)},q.appendMultiple=function(a,b,c,d){return this.add(a,this._parseTimeOrLabel(null,b,!0,a),c,d)},q.addLabel=function(a,b){return this._labels[a]=this._parseTimeOrLabel(b),this},q.addPause=function(a,b,d,e){var f=c.delayedCall(0,o,d,e||this);return f.vars.onComplete=f.vars.onReverseComplete=b,f.data=\"isPause\",this._hasPause=!0,this.add(f,a)},q.removeLabel=function(a){return delete this._labels[a],this},q.getLabelTime=function(a){return null!=this._labels[a]?this._labels[a]:-1},q._parseTimeOrLabel=function(b,c,d,e){var f,g;if(e instanceof a&&e.timeline===this)this.remove(e);else if(e&&(e instanceof Array||e.push&&i(e)))for(g=e.length;--g>-1;)e[g]instanceof a&&e[g].timeline===this&&this.remove(e[g]);if(f=this.duration()>99999999999?this.recent().endTime(!1):this._duration,\"string\"==typeof c)return this._parseTimeOrLabel(c,d&&\"number\"==typeof b&&null==this._labels[c]?b-f:0,d);if(c=c||0,\"string\"!=typeof b||!isNaN(b)&&null==this._labels[b])null==b&&(b=f);else{if(g=b.indexOf(\"=\"),-1===g)return null==this._labels[b]?d?this._labels[b]=f+c:c:this._labels[b]+c;c=parseInt(b.charAt(g-1)+\"1\",10)*Number(b.substr(g+1)),b=g>1?this._parseTimeOrLabel(b.substr(0,g-1),0,d):f}return Number(b)+c},q.seek=function(a,b){return this.totalTime(\"number\"==typeof a?a:this._parseTimeOrLabel(a),b!==!1)},q.stop=function(){return this.paused(!0)},q.gotoAndPlay=function(a,b){return this.play(a,b)},q.gotoAndStop=function(a,b){return this.pause(a,b)},q.render=function(a,b,c){this._gc&&this._enabled(!0,!1);var d,f,g,h,i,l,m,n=this._dirty?this.totalDuration():this._totalDuration,o=this._time,p=this._startTime,q=this._timeScale,r=this._paused;if(a>=n-1e-7&&a>=0)this._totalTime=this._time=n,this._reversed||this._hasPausedChild()||(f=!0,h=\"onComplete\",i=!!this._timeline.autoRemoveChildren,0===this._duration&&(0>=a&&a>=-1e-7||this._rawPrevTime<0||this._rawPrevTime===e)&&this._rawPrevTime!==a&&this._first&&(i=!0,this._rawPrevTime>e&&(h=\"onReverseComplete\"))),this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,a=n+1e-4;else if(1e-7>a)if(this._totalTime=this._time=0,(0!==o||0===this._duration&&this._rawPrevTime!==e&&(this._rawPrevTime>0||0>a&&this._rawPrevTime>=0))&&(h=\"onReverseComplete\",f=this._reversed),0>a)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(i=f=!0,h=\"onReverseComplete\"):this._rawPrevTime>=0&&this._first&&(i=!0),this._rawPrevTime=a;else{if(this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,0===a&&f)for(d=this._first;d&&0===d._startTime;)d._duration||(f=!1),d=d._next;a=0,this._initted||(i=!0)}else{if(this._hasPause&&!this._forcingPlayhead&&!b){if(a>=o)for(d=this._first;d&&d._startTime<=a&&!l;)d._duration||\"isPause\"!==d.data||d.ratio||0===d._startTime&&0===this._rawPrevTime||(l=d),d=d._next;else for(d=this._last;d&&d._startTime>=a&&!l;)d._duration||\"isPause\"===d.data&&d._rawPrevTime>0&&(l=d),d=d._prev;l&&(this._time=a=l._startTime,this._totalTime=a+this._cycle*(this._totalDuration+this._repeatDelay))}this._totalTime=this._time=this._rawPrevTime=a}if(this._time!==o&&this._first||c||i||l){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==o&&a>0&&(this._active=!0),0===o&&this.vars.onStart&&(0===this._time&&this._duration||b||this._callback(\"onStart\")),m=this._time,m>=o)for(d=this._first;d&&(g=d._next,m===this._time&&(!this._paused||r));)(d._active||d._startTime<=m&&!d._paused&&!d._gc)&&(l===d&&this.pause(),d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)),d=g;else for(d=this._last;d&&(g=d._prev,m===this._time&&(!this._paused||r));){if(d._active||d._startTime<=o&&!d._paused&&!d._gc){if(l===d){for(l=d._prev;l&&l.endTime()>this._time;)l.render(l._reversed?l.totalDuration()-(a-l._startTime)*l._timeScale:(a-l._startTime)*l._timeScale,b,c),l=l._prev;l=null,this.pause()}d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)}d=g}this._onUpdate&&(b||(j.length&&k(),this._callback(\"onUpdate\"))),h&&(this._gc||(p===this._startTime||q!==this._timeScale)&&(0===this._time||n>=this.totalDuration())&&(f&&(j.length&&k(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[h]&&this._callback(h)))}},q._hasPausedChild=function(){for(var a=this._first;a;){if(a._paused||a instanceof d&&a._hasPausedChild())return!0;a=a._next}return!1},q.getChildren=function(a,b,d,e){e=e||-9999999999;for(var f=[],g=this._first,h=0;g;)g._startTime-1;)(d[e].timeline===this||b&&this._contains(d[e]))&&(g[h++]=d[e]);return f&&this._enabled(!1,!0),g},q.recent=function(){return this._recent},q._contains=function(a){for(var b=a.timeline;b;){if(b===this)return!0;b=b.timeline}return!1},q.shiftChildren=function(a,b,c){c=c||0;for(var d,e=this._first,f=this._labels;e;)e._startTime>=c&&(e._startTime+=a),e=e._next;if(b)for(d in f)f[d]>=c&&(f[d]+=a);return this._uncache(!0)},q._kill=function(a,b){if(!a&&!b)return this._enabled(!1,!1);for(var c=b?this.getTweensOf(b):this.getChildren(!0,!0,!1),d=c.length,e=!1;--d>-1;)c[d]._kill(a,b)&&(e=!0);return e},q.clear=function(a){var b=this.getChildren(!1,!0,!0),c=b.length;for(this._time=this._totalTime=0;--c>-1;)b[c]._enabled(!1,!1);return a!==!1&&(this._labels={}),this._uncache(!0)},q.invalidate=function(){for(var b=this._first;b;)b.invalidate(),b=b._next;return a.prototype.invalidate.call(this)},q._enabled=function(a,c){if(a===this._gc)for(var d=this._first;d;)d._enabled(a,!0),d=d._next;return b.prototype._enabled.call(this,a,c)},q.totalTime=function(b,c,d){this._forcingPlayhead=!0;var e=a.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,e},q.duration=function(a){return arguments.length?(0!==this.duration()&&0!==a&&this.timeScale(this._duration/a),this):(this._dirty&&this.totalDuration(),this._duration)},q.totalDuration=function(a){if(!arguments.length){if(this._dirty){for(var b,c,d=0,e=this._last,f=999999999999;e;)b=e._prev,e._dirty&&e.totalDuration(),e._startTime>f&&this._sortChildren&&!e._paused?this.add(e,e._startTime-e._delay):f=e._startTime,e._startTime<0&&!e._paused&&(d-=e._startTime,this._timeline.smoothChildTiming&&(this._startTime+=e._startTime/this._timeScale),this.shiftChildren(-e._startTime,!1,-9999999999),f=0),c=e._startTime+e._totalDuration/e._timeScale,c>d&&(d=c),e=b;this._duration=this._totalDuration=d,this._dirty=!1}return this._totalDuration}return a&&this.totalDuration()?this.timeScale(this._totalDuration/a):this},q.paused=function(b){if(!b)for(var c=this._first,d=this._time;c;)c._startTime===d&&\"isPause\"===c.data&&(c._rawPrevTime=0),c=c._next;return a.prototype.paused.apply(this,arguments)},q.usesFrames=function(){for(var b=this._timeline;b._timeline;)b=b._timeline;return b===a._rootFramesTimeline},q.rawTime=function(a){return a&&(this._paused||this._repeat&&this.time()>0&&this.totalProgress()<1)?this._totalTime%(this._duration+this._repeatDelay):this._paused?this._totalTime:(this._timeline.rawTime(a)-this._startTime)*this._timeScale},d},!0),_gsScope._gsDefine(\"TimelineMax\",[\"TimelineLite\",\"TweenLite\",\"easing.Ease\"],function(a,b,c){var d=function(b){a.call(this,b),this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._cycle=0,this._yoyo=this.vars.yoyo===!0,this._dirty=!0},e=1e-10,f=b._internals,g=f.lazyTweens,h=f.lazyRender,i=_gsScope._gsDefine.globals,j=new c(null,null,1,0),k=d.prototype=new a;return k.constructor=d,k.kill()._gc=!1,d.version=\"1.20.2\",k.invalidate=function(){return this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),a.prototype.invalidate.call(this)},k.addCallback=function(a,c,d,e){return this.add(b.delayedCall(0,a,d,e),c)},k.removeCallback=function(a,b){if(a)if(null==b)this._kill(null,a);else for(var c=this.getTweensOf(a,!1),d=c.length,e=this._parseTimeOrLabel(b);--d>-1;)c[d]._startTime===e&&c[d]._enabled(!1,!1);return this},k.removePause=function(b){return this.removeCallback(a._internals.pauseCallback,b)},k.tweenTo=function(a,c){c=c||{};var d,e,f,g={ease:j,useFrames:this.usesFrames(),immediateRender:!1},h=c.repeat&&i.TweenMax||b;for(e in c)g[e]=c[e];return g.time=this._parseTimeOrLabel(a),d=Math.abs(Number(g.time)-this._time)/this._timeScale||.001,f=new h(this,d,g),g.onStart=function(){f.target.paused(!0),f.vars.time!==f.target.time()&&d===f.duration()&&f.duration(Math.abs(f.vars.time-f.target.time())/f.target._timeScale),c.onStart&&c.onStart.apply(c.onStartScope||c.callbackScope||f,c.onStartParams||[])},f},k.tweenFromTo=function(a,b,c){c=c||{},a=this._parseTimeOrLabel(a),c.startAt={onComplete:this.seek,onCompleteParams:[a],callbackScope:this},c.immediateRender=c.immediateRender!==!1;var d=this.tweenTo(b,c);return d.duration(Math.abs(d.vars.time-a)/this._timeScale||.001)},k.render=function(a,b,c){this._gc&&this._enabled(!0,!1);var d,f,i,j,k,l,m,n,o=this._dirty?this.totalDuration():this._totalDuration,p=this._duration,q=this._time,r=this._totalTime,s=this._startTime,t=this._timeScale,u=this._rawPrevTime,v=this._paused,w=this._cycle;if(a>=o-1e-7&&a>=0)this._locked||(this._totalTime=o,this._cycle=this._repeat),this._reversed||this._hasPausedChild()||(f=!0,j=\"onComplete\",k=!!this._timeline.autoRemoveChildren,0===this._duration&&(0>=a&&a>=-1e-7||0>u||u===e)&&u!==a&&this._first&&(k=!0,u>e&&(j=\"onReverseComplete\"))),this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,this._yoyo&&0!==(1&this._cycle)?this._time=a=0:(this._time=p,a=p+1e-4);else if(1e-7>a)if(this._locked||(this._totalTime=this._cycle=0),this._time=0,(0!==q||0===p&&u!==e&&(u>0||0>a&&u>=0)&&!this._locked)&&(j=\"onReverseComplete\",f=this._reversed),0>a)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(k=f=!0,j=\"onReverseComplete\"):u>=0&&this._first&&(k=!0),this._rawPrevTime=a;else{if(this._rawPrevTime=p||!b||a||this._rawPrevTime===a?a:e,0===a&&f)for(d=this._first;d&&0===d._startTime;)d._duration||(f=!1),d=d._next;a=0,this._initted||(k=!0)}else if(0===p&&0>u&&(k=!0),this._time=this._rawPrevTime=a,this._locked||(this._totalTime=a,0!==this._repeat&&(l=p+this._repeatDelay,this._cycle=this._totalTime/l>>0,0!==this._cycle&&this._cycle===this._totalTime/l&&a>=r&&this._cycle--,this._time=this._totalTime-this._cycle*l,this._yoyo&&0!==(1&this._cycle)&&(this._time=p-this._time),this._time>p?(this._time=p,a=p+1e-4):this._time<0?this._time=a=0:a=this._time)),this._hasPause&&!this._forcingPlayhead&&!b){if(a=this._time,a>=q||this._repeat&&w!==this._cycle)for(d=this._first;d&&d._startTime<=a&&!m;)d._duration||\"isPause\"!==d.data||d.ratio||0===d._startTime&&0===this._rawPrevTime||(m=d),d=d._next;else for(d=this._last;d&&d._startTime>=a&&!m;)d._duration||\"isPause\"===d.data&&d._rawPrevTime>0&&(m=d),d=d._prev;m&&m._startTime0&&(this._active=!0),0===r&&this.vars.onStart&&(0===this._totalTime&&this._totalDuration||b||this._callback(\"onStart\")),n=this._time,n>=q)for(d=this._first;d&&(i=d._next,n===this._time&&(!this._paused||v));)(d._active||d._startTime<=this._time&&!d._paused&&!d._gc)&&(m===d&&this.pause(),d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)),d=i;else for(d=this._last;d&&(i=d._prev,n===this._time&&(!this._paused||v));){if(d._active||d._startTime<=q&&!d._paused&&!d._gc){if(m===d){for(m=d._prev;m&&m.endTime()>this._time;)m.render(m._reversed?m.totalDuration()-(a-m._startTime)*m._timeScale:(a-m._startTime)*m._timeScale,b,c),m=m._prev;m=null,this.pause()}d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)}d=i}this._onUpdate&&(b||(g.length&&h(),this._callback(\"onUpdate\"))),j&&(this._locked||this._gc||(s===this._startTime||t!==this._timeScale)&&(0===this._time||o>=this.totalDuration())&&(f&&(g.length&&h(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[j]&&this._callback(j)))},k.getActive=function(a,b,c){null==a&&(a=!0),null==b&&(b=!0),null==c&&(c=!1);var d,e,f=[],g=this.getChildren(a,b,c),h=0,i=g.length;for(d=0;i>d;d++)e=g[d],e.isActive()&&(f[h++]=e);return f},k.getLabelAfter=function(a){a||0!==a&&(a=this._time);var b,c=this.getLabelsArray(),d=c.length;for(b=0;d>b;b++)if(c[b].time>a)return c[b].name;return null},k.getLabelBefore=function(a){null==a&&(a=this._time);for(var b=this.getLabelsArray(),c=b.length;--c>-1;)if(b[c].timethis._duration&&(a=this._duration),this._yoyo&&0!==(1&this._cycle)?a=this._duration-a+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(a+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(a,b)):this._time},k.repeat=function(a){return arguments.length?(this._repeat=a,this._uncache(!0)):this._repeat},k.repeatDelay=function(a){return arguments.length?(this._repeatDelay=a,this._uncache(!0)):this._repeatDelay},k.yoyo=function(a){return arguments.length?(this._yoyo=a,this):this._yoyo},k.currentLabel=function(a){return arguments.length?this.seek(a,!0):this.getLabelBefore(this._time+1e-8)},d},!0),function(){var a=180/Math.PI,b=[],c=[],d=[],e={},f=_gsScope._gsDefine.globals,g=function(a,b,c,d){c===d&&(c=d-(d-b)/1e6),a===b&&(b=a+(c-a)/1e6),this.a=a,this.b=b,this.c=c,this.d=d,this.da=d-a,this.ca=c-a,this.ba=b-a},h=\",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,\",i=function(a,b,c,d){var e={a:a},f={},g={},h={c:d},i=(a+b)/2,j=(b+c)/2,k=(c+d)/2,l=(i+j)/2,m=(j+k)/2,n=(m-l)/8;return e.b=i+(a-i)/4,f.b=l+n,e.c=f.a=(e.b+f.b)/2,f.c=g.a=(l+m)/2,g.b=m-n,h.b=k+(d-k)/4,g.c=h.a=(g.b+h.b)/2,[e,f,g,h]},j=function(a,e,f,g,h){var j,k,l,m,n,o,p,q,r,s,t,u,v,w=a.length-1,x=0,y=a[0].a;for(j=0;w>j;j++)n=a[x],k=n.a,l=n.d,m=a[x+1].d,h?(t=b[j],u=c[j],v=(u+t)*e*.25/(g?.5:d[j]||.5),o=l-(l-k)*(g?.5*e:0!==t?v/t:0),p=l+(m-l)*(g?.5*e:0!==u?v/u:0),q=l-(o+((p-o)*(3*t/(t+u)+.5)/4||0))):(o=l-(l-k)*e*.5,p=l+(m-l)*e*.5,q=l-(o+p)/2),o+=q,p+=q,n.c=r=o,0!==j?n.b=y:n.b=y=n.a+.6*(n.c-n.a),n.da=l-k,n.ca=r-k,n.ba=y-k,f?(s=i(k,y,r,l),a.splice(x,1,s[0],s[1],s[2],s[3]),x+=4):x++,y=p;n=a[x],n.b=y,n.c=y+.4*(n.d-y),n.da=n.d-n.a,n.ca=n.c-n.a,n.ba=y-n.a,f&&(s=i(n.a,y,n.c,n.d),a.splice(x,1,s[0],s[1],s[2],s[3]))},k=function(a,d,e,f){var h,i,j,k,l,m,n=[];if(f)for(a=[f].concat(a),i=a.length;--i>-1;)\"string\"==typeof(m=a[i][d])&&\"=\"===m.charAt(1)&&(a[i][d]=f[d]+Number(m.charAt(0)+m.substr(2)));if(h=a.length-2,0>h)return n[0]=new g(a[0][d],0,0,a[0][d]),n;for(i=0;h>i;i++)j=a[i][d],k=a[i+1][d],n[i]=new g(j,0,0,k),e&&(l=a[i+2][d],b[i]=(b[i]||0)+(k-j)*(k-j),c[i]=(c[i]||0)+(l-k)*(l-k));return n[i]=new g(a[i][d],0,0,a[i+1][d]),n},l=function(a,f,g,i,l,m){var n,o,p,q,r,s,t,u,v={},w=[],x=m||a[0];l=\"string\"==typeof l?\",\"+l+\",\":h,null==f&&(f=1);for(o in a[0])w.push(o);if(a.length>1){for(u=a[a.length-1],t=!0,n=w.length;--n>-1;)if(o=w[n],Math.abs(x[o]-u[o])>.05){t=!1;break}t&&(a=a.concat(),m&&a.unshift(m),a.push(a[1]),m=a[a.length-3])}for(b.length=c.length=d.length=0,n=w.length;--n>-1;)o=w[n],e[o]=-1!==l.indexOf(\",\"+o+\",\"),v[o]=k(a,o,e[o],m);for(n=b.length;--n>-1;)b[n]=Math.sqrt(b[n]),c[n]=Math.sqrt(c[n]);if(!i){for(n=w.length;--n>-1;)if(e[o])for(p=v[w[n]],s=p.length-1,q=0;s>q;q++)r=p[q+1].da/c[q]+p[q].da/b[q]||0,d[q]=(d[q]||0)+r*r;for(n=d.length;--n>-1;)d[n]=Math.sqrt(d[n])}for(n=w.length,q=g?4:1;--n>-1;)o=w[n],p=v[o],j(p,f,g,i,e[o]),t&&(p.splice(0,q),p.splice(p.length-q,q));return v},m=function(a,b,c){b=b||\"soft\";var d,e,f,h,i,j,k,l,m,n,o,p={},q=\"cubic\"===b?3:2,r=\"soft\"===b,s=[];if(r&&c&&(a=[c].concat(a)),null==a||a.length-1;){for(m=s[j],p[m]=i=[],n=0,l=a.length,k=0;l>k;k++)d=null==c?a[k][m]:\"string\"==typeof(o=a[k][m])&&\"=\"===o.charAt(1)?c[m]+Number(o.charAt(0)+o.substr(2)):Number(o),r&&k>1&&l-1>k&&(i[n++]=(d+i[n-2])/2),i[n++]=d;for(l=n-q+1,n=0,k=0;l>k;k+=q)d=i[k],e=i[k+1],f=i[k+2],h=2===q?0:i[k+3],i[n++]=o=3===q?new g(d,e,f,h):new g(d,(2*e+d)/3,(2*e+f)/3,f);i.length=n}return p},n=function(a,b,c){for(var d,e,f,g,h,i,j,k,l,m,n,o=1/c,p=a.length;--p>-1;)for(m=a[p],f=m.a,g=m.d-f,h=m.c-f,i=m.b-f,d=e=0,k=1;c>=k;k++)j=o*k,l=1-j,d=e-(e=(j*j*g+3*l*(j*h+l*i))*j),n=p*c+k-1,b[n]=(b[n]||0)+d*d},o=function(a,b){b=b>>0||6;var c,d,e,f,g=[],h=[],i=0,j=0,k=b-1,l=[],m=[];for(c in a)n(a[c],g,b);for(e=g.length,d=0;e>d;d++)i+=Math.sqrt(g[d]),f=d%b,m[f]=i,f===k&&(j+=i,f=d/b>>0,l[f]=m,h[f]=j,i=0,m=[]);return{length:j,lengths:h,segments:l}},p=_gsScope._gsDefine.plugin({propName:\"bezier\",priority:-1,version:\"1.3.8\",API:2,global:!0,init:function(a,b,c){this._target=a,b instanceof Array&&(b={values:b}),this._func={},this._mod={},this._props=[],this._timeRes=null==b.timeResolution?6:parseInt(b.timeResolution,10);var d,e,f,g,h,i=b.values||[],j={},k=i[0],n=b.autoRotate||c.vars.orientToBezier;this._autoRotate=n?n instanceof Array?n:[[\"x\",\"y\",\"rotation\",n===!0?0:Number(n)||0]]:null;for(d in k)this._props.push(d);for(f=this._props.length;--f>-1;)d=this._props[f],this._overwriteProps.push(d),e=this._func[d]=\"function\"==typeof a[d],j[d]=e?a[d.indexOf(\"set\")||\"function\"!=typeof a[\"get\"+d.substr(3)]?d:\"get\"+d.substr(3)]():parseFloat(a[d]),h||j[d]!==i[0][d]&&(h=j);if(this._beziers=\"cubic\"!==b.type&&\"quadratic\"!==b.type&&\"soft\"!==b.type?l(i,isNaN(b.curviness)?1:b.curviness,!1,\"thruBasic\"===b.type,b.correlate,h):m(i,b.type,j),this._segCount=this._beziers[d].length,this._timeRes){var p=o(this._beziers,this._timeRes);this._length=p.length,this._lengths=p.lengths,this._segments=p.segments,this._l1=this._li=this._s1=this._si=0,this._l2=this._lengths[0],this._curSeg=this._segments[0],this._s2=this._curSeg[0],this._prec=1/this._curSeg.length}if(n=this._autoRotate)for(this._initialRotations=[],n[0]instanceof Array||(this._autoRotate=n=[n]),f=n.length;--f>-1;){for(g=0;3>g;g++)d=n[f][g],this._func[d]=\"function\"==typeof a[d]?a[d.indexOf(\"set\")||\"function\"!=typeof a[\"get\"+d.substr(3)]?d:\"get\"+d.substr(3)]:!1;d=n[f][2],this._initialRotations[f]=(this._func[d]?this._func[d].call(this._target):this._target[d])||0,this._overwriteProps.push(d)}return this._startRatio=c.vars.runBackwards?1:0,!0},set:function(b){var c,d,e,f,g,h,i,j,k,l,m=this._segCount,n=this._func,o=this._target,p=b!==this._startRatio;if(this._timeRes){if(k=this._lengths,l=this._curSeg,b*=this._length,e=this._li,b>this._l2&&m-1>e){for(j=m-1;j>e&&(this._l2=k[++e])<=b;);this._l1=k[e-1],this._li=e,this._curSeg=l=this._segments[e],this._s2=l[this._s1=this._si=0]}else if(b0){for(;e>0&&(this._l1=k[--e])>=b;);0===e&&bthis._s2&&ee&&(this._s2=l[++e])<=b;);this._s1=l[e-1],this._si=e}else if(b0){for(;e>0&&(this._s1=l[--e])>=b;);0===e&&bb?0:b>=1?m-1:m*b>>0,h=(b-c*(1/m))*m;for(d=1-h,e=this._props.length;--e>-1;)f=this._props[e],g=this._beziers[f][c],i=(h*h*g.da+3*d*(h*g.ca+d*g.ba))*h+g.a,this._mod[f]&&(i=this._mod[f](i,o)),n[f]?o[f](i):o[f]=i;if(this._autoRotate){var q,r,s,t,u,v,w,x=this._autoRotate;for(e=x.length;--e>-1;)f=x[e][2],v=x[e][3]||0,w=x[e][4]===!0?1:a,g=this._beziers[x[e][0]],q=this._beziers[x[e][1]],g&&q&&(g=g[c],q=q[c],r=g.a+(g.b-g.a)*h,t=g.b+(g.c-g.b)*h,r+=(t-r)*h,t+=(g.c+(g.d-g.c)*h-t)*h,s=q.a+(q.b-q.a)*h,u=q.b+(q.c-q.b)*h,s+=(u-s)*h,u+=(q.c+(q.d-q.c)*h-u)*h,i=p?Math.atan2(u-s,t-r)*w+v:this._initialRotations[e],this._mod[f]&&(i=this._mod[f](i,o)),n[f]?o[f](i):o[f]=i)}}}),q=p.prototype;p.bezierThrough=l,p.cubicToQuadratic=i,p._autoCSS=!0,p.quadraticToCubic=function(a,b,c){return new g(a,(2*b+a)/3,(2*b+c)/3,c)},p._cssRegister=function(){var a=f.CSSPlugin;if(a){var b=a._internals,c=b._parseToProxy,d=b._setPluginRatio,e=b.CSSPropTween;b._registerComplexSpecialProp(\"bezier\",{parser:function(a,b,f,g,h,i){b instanceof Array&&(b={values:b}),i=new p;var j,k,l,m=b.values,n=m.length-1,o=[],q={};if(0>n)return h;for(j=0;n>=j;j++)l=c(a,m[j],g,h,i,n!==j),o[j]=l.end;for(k in b)q[k]=b[k];return q.values=o,h=new e(a,\"bezier\",0,0,l.pt,2),h.data=l,h.plugin=i,h.setRatio=d,0===q.autoRotate&&(q.autoRotate=!0),!q.autoRotate||q.autoRotate instanceof Array||(j=q.autoRotate===!0?0:Number(q.autoRotate),q.autoRotate=null!=l.end.left?[[\"left\",\"top\",\"rotation\",j,!1]]:null!=l.end.x?[[\"x\",\"y\",\"rotation\",j,!1]]:!1),q.autoRotate&&(g._transform||g._enableTransforms(!1),l.autoRotate=g._target._gsTransform,l.proxy.rotation=l.autoRotate.rotation||0,g._overwriteProps.push(\"rotation\")),i._onInitTween(l.proxy,q,g._tween),h}})}},q._mod=function(a){for(var b,c=this._overwriteProps,d=c.length;--d>-1;)b=a[c[d]],b&&\"function\"==typeof b&&(this._mod[c[d]]=b)},q._kill=function(a){var b,c,d=this._props;for(b in this._beziers)if(b in a)for(delete this._beziers[b],delete this._func[b],c=d.length;--c>-1;)d[c]===b&&d.splice(c,1);if(d=this._autoRotate)for(c=d.length;--c>-1;)a[d[c][2]]&&d.splice(c,1);return this._super._kill.call(this,a)}}(),_gsScope._gsDefine(\"plugins.CSSPlugin\",[\"plugins.TweenPlugin\",\"TweenLite\"],function(a,b){var c,d,e,f,g=function(){a.call(this,\"css\"),this._overwriteProps.length=0,this.setRatio=g.prototype.setRatio},h=_gsScope._gsDefine.globals,i={},j=g.prototype=new a(\"css\");j.constructor=g,g.version=\"1.20.0\",g.API=2,g.defaultTransformPerspective=0,g.defaultSkewType=\"compensated\",g.defaultSmoothOrigin=!0,j=\"px\",g.suffixMap={top:j,right:j,bottom:j,left:j,width:j,height:j,fontSize:j,padding:j,margin:j,perspective:j,lineHeight:\"\"};var k,l,m,n,o,p,q,r,s=/(?:\\-|\\.|\\b)(\\d|\\.|e\\-)+/g,t=/(?:\\d|\\-\\d|\\.\\d|\\-\\.\\d|\\+=\\d|\\-=\\d|\\+=.\\d|\\-=\\.\\d)+/g,u=/(?:\\+=|\\-=|\\-|\\b)[\\d\\-\\.]+[a-zA-Z0-9]*(?:%|\\b)/gi,v=/(?![+-]?\\d*\\.?\\d+|[+-]|e[+-]\\d+)[^0-9]/g,w=/(?:\\d|\\-|\\+|=|#|\\.)*/g,x=/opacity *= *([^)]*)/i,y=/opacity:([^;]*)/i,z=/alpha\\(opacity *=.+?\\)/i,A=/^(rgb|hsl)/,B=/([A-Z])/g,C=/-([a-z])/gi,D=/(^(?:url\\(\\\"|url\\())|(?:(\\\"\\))$|\\)$)/gi,E=function(a,b){return b.toUpperCase()},F=/(?:Left|Right|Width)/i,G=/(M11|M12|M21|M22)=[\\d\\-\\.e]+/gi,H=/progid\\:DXImageTransform\\.Microsoft\\.Matrix\\(.+?\\)/i,I=/,(?=[^\\)]*(?:\\(|$))/gi,J=/[\\s,\\(]/i,K=Math.PI/180,L=180/Math.PI,M={},N={style:{}},O=_gsScope.document||{createElement:function(){return N}},P=function(a,b){return O.createElementNS?O.createElementNS(b||\"http://www.w3.org/1999/xhtml\",a):O.createElement(a)},Q=P(\"div\"),R=P(\"img\"),S=g._internals={_specialProps:i},T=(_gsScope.navigator||{}).userAgent||\"\",U=function(){var a=T.indexOf(\"Android\"),b=P(\"a\");return m=-1!==T.indexOf(\"Safari\")&&-1===T.indexOf(\"Chrome\")&&(-1===a||parseFloat(T.substr(a+8,2))>3),o=m&&parseFloat(T.substr(T.indexOf(\"Version/\")+8,2))<6,n=-1!==T.indexOf(\"Firefox\"),(/MSIE ([0-9]{1,}[\\.0-9]{0,})/.exec(T)||/Trident\\/.*rv:([0-9]{1,}[\\.0-9]{0,})/.exec(T))&&(p=parseFloat(RegExp.$1)),b?(b.style.cssText=\"top:1px;opacity:.55;\",/^0.55/.test(b.style.opacity)):!1}(),V=function(a){return x.test(\"string\"==typeof a?a:(a.currentStyle?a.currentStyle.filter:a.style.filter)||\"\")?parseFloat(RegExp.$1)/100:1},W=function(a){_gsScope.console&&console.log(a)},X=\"\",Y=\"\",Z=function(a,b){b=b||Q;var c,d,e=b.style;if(void 0!==e[a])return a;for(a=a.charAt(0).toUpperCase()+a.substr(1),c=[\"O\",\"Moz\",\"ms\",\"Ms\",\"Webkit\"],d=5;--d>-1&&void 0===e[c[d]+a];);return d>=0?(Y=3===d?\"ms\":c[d],X=\"-\"+Y.toLowerCase()+\"-\",Y+a):null},$=O.defaultView?O.defaultView.getComputedStyle:function(){},_=g.getStyle=function(a,b,c,d,e){var f;return U||\"opacity\"!==b?(!d&&a.style[b]?f=a.style[b]:(c=c||$(a))?f=c[b]||c.getPropertyValue(b)||c.getPropertyValue(b.replace(B,\"-$1\").toLowerCase()):a.currentStyle&&(f=a.currentStyle[b]),null==e||f&&\"none\"!==f&&\"auto\"!==f&&\"auto auto\"!==f?f:e):V(a)},aa=S.convertToPixels=function(a,c,d,e,f){if(\"px\"===e||!e&&\"lineHeight\"!==c)return d;if(\"auto\"===e||!d)return 0;var h,i,j,k=F.test(c),l=a,m=Q.style,n=0>d,o=1===d;if(n&&(d=-d),o&&(d*=100),\"lineHeight\"!==c||e)if(\"%\"===e&&-1!==c.indexOf(\"border\"))h=d/100*(k?a.clientWidth:a.clientHeight);else{if(m.cssText=\"border:0 solid red;position:\"+_(a,\"position\")+\";line-height:0;\",\"%\"!==e&&l.appendChild&&\"v\"!==e.charAt(0)&&\"rem\"!==e)m[k?\"borderLeftWidth\":\"borderTopWidth\"]=d+e;else{if(l=a.parentNode||O.body,-1!==_(l,\"display\").indexOf(\"flex\")&&(m.position=\"absolute\"),i=l._gsCache,j=b.ticker.frame,i&&k&&i.time===j)return i.width*d/100;m[k?\"width\":\"height\"]=d+e}l.appendChild(Q),h=parseFloat(Q[k?\"offsetWidth\":\"offsetHeight\"]),l.removeChild(Q),k&&\"%\"===e&&g.cacheWidths!==!1&&(i=l._gsCache=l._gsCache||{},i.time=j,i.width=h/d*100),0!==h||f||(h=aa(a,c,d,e,!0))}else i=$(a).lineHeight,a.style.lineHeight=d,h=parseFloat($(a).lineHeight),a.style.lineHeight=i;return o&&(h/=100),n?-h:h},ba=S.calculateOffset=function(a,b,c){if(\"absolute\"!==_(a,\"position\",c))return 0;var d=\"left\"===b?\"Left\":\"Top\",e=_(a,\"margin\"+d,c);return a[\"offset\"+d]-(aa(a,b,parseFloat(e),e.replace(w,\"\"))||0)},ca=function(a,b){var c,d,e,f={};if(b=b||$(a,null))if(c=b.length)for(;--c>-1;)e=b[c],(-1===e.indexOf(\"-transform\")||Da===e)&&(f[e.replace(C,E)]=b.getPropertyValue(e));else for(c in b)(-1===c.indexOf(\"Transform\")||Ca===c)&&(f[c]=b[c]);else if(b=a.currentStyle||a.style)for(c in b)\"string\"==typeof c&&void 0===f[c]&&(f[c.replace(C,E)]=b[c]);return U||(f.opacity=V(a)),d=Ra(a,b,!1),f.rotation=d.rotation,f.skewX=d.skewX,f.scaleX=d.scaleX,f.scaleY=d.scaleY,f.x=d.x,f.y=d.y,Fa&&(f.z=d.z,f.rotationX=d.rotationX,f.rotationY=d.rotationY,f.scaleZ=d.scaleZ),f.filters&&delete f.filters,f},da=function(a,b,c,d,e){var f,g,h,i={},j=a.style;for(g in c)\"cssText\"!==g&&\"length\"!==g&&isNaN(g)&&(b[g]!==(f=c[g])||e&&e[g])&&-1===g.indexOf(\"Origin\")&&(\"number\"==typeof f||\"string\"==typeof f)&&(i[g]=\"auto\"!==f||\"left\"!==g&&\"top\"!==g?\"\"!==f&&\"auto\"!==f&&\"none\"!==f||\"string\"!=typeof b[g]||\"\"===b[g].replace(v,\"\")?f:0:ba(a,g),void 0!==j[g]&&(h=new sa(j,g,j[g],h)));if(d)for(g in d)\"className\"!==g&&(i[g]=d[g]);return{difs:i,firstMPT:h}},ea={width:[\"Left\",\"Right\"],height:[\"Top\",\"Bottom\"]},fa=[\"marginLeft\",\"marginRight\",\"marginTop\",\"marginBottom\"],ga=function(a,b,c){if(\"svg\"===(a.nodeName+\"\").toLowerCase())return(c||$(a))[b]||0;if(a.getCTM&&Oa(a))return a.getBBox()[b]||0;var d=parseFloat(\"width\"===b?a.offsetWidth:a.offsetHeight),e=ea[b],f=e.length;for(c=c||$(a,null);--f>-1;)d-=parseFloat(_(a,\"padding\"+e[f],c,!0))||0,d-=parseFloat(_(a,\"border\"+e[f]+\"Width\",c,!0))||0;return d},ha=function(a,b){if(\"contain\"===a||\"auto\"===a||\"auto auto\"===a)return a+\" \";(null==a||\"\"===a)&&(a=\"0 0\");var c,d=a.split(\" \"),e=-1!==a.indexOf(\"left\")?\"0%\":-1!==a.indexOf(\"right\")?\"100%\":d[0],f=-1!==a.indexOf(\"top\")?\"0%\":-1!==a.indexOf(\"bottom\")?\"100%\":d[1];if(d.length>3&&!b){for(d=a.split(\", \").join(\",\").split(\",\"),a=[],c=0;c2?\" \"+d[2]:\"\"),b&&(b.oxp=-1!==e.indexOf(\"%\"),b.oyp=-1!==f.indexOf(\"%\"),b.oxr=\"=\"===e.charAt(1),b.oyr=\"=\"===f.charAt(1),b.ox=parseFloat(e.replace(v,\"\")),b.oy=parseFloat(f.replace(v,\"\")),b.v=a),b||a},ia=function(a,b){return\"function\"==typeof a&&(a=a(r,q)),\"string\"==typeof a&&\"=\"===a.charAt(1)?parseInt(a.charAt(0)+\"1\",10)*parseFloat(a.substr(2)):parseFloat(a)-parseFloat(b)||0},ja=function(a,b){return\"function\"==typeof a&&(a=a(r,q)),null==a?b:\"string\"==typeof a&&\"=\"===a.charAt(1)?parseInt(a.charAt(0)+\"1\",10)*parseFloat(a.substr(2))+b:parseFloat(a)||0},ka=function(a,b,c,d){var e,f,g,h,i,j=1e-6;return\"function\"==typeof a&&(a=a(r,q)),null==a?h=b:\"number\"==typeof a?h=a:(e=360,f=a.split(\"_\"),i=\"=\"===a.charAt(1),g=(i?parseInt(a.charAt(0)+\"1\",10)*parseFloat(f[0].substr(2)):parseFloat(f[0]))*(-1===a.indexOf(\"rad\")?1:L)-(i?0:b),f.length&&(d&&(d[c]=b+g),-1!==a.indexOf(\"short\")&&(g%=e,g!==g%(e/2)&&(g=0>g?g+e:g-e)),-1!==a.indexOf(\"_cw\")&&0>g?g=(g+9999999999*e)%e-(g/e|0)*e:-1!==a.indexOf(\"ccw\")&&g>0&&(g=(g-9999999999*e)%e-(g/e|0)*e)),h=b+g),j>h&&h>-j&&(h=0),h},la={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},ma=function(a,b,c){return a=0>a?a+1:a>1?a-1:a,255*(1>6*a?b+(c-b)*a*6:.5>a?c:2>3*a?b+(c-b)*(2/3-a)*6:b)+.5|0},na=g.parseColor=function(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(a)if(\"number\"==typeof a)c=[a>>16,a>>8&255,255&a];else{if(\",\"===a.charAt(a.length-1)&&(a=a.substr(0,a.length-1)),la[a])c=la[a];else if(\"#\"===a.charAt(0))4===a.length&&(d=a.charAt(1),e=a.charAt(2),f=a.charAt(3),a=\"#\"+d+d+e+e+f+f),a=parseInt(a.substr(1),16),c=[a>>16,a>>8&255,255&a];else if(\"hsl\"===a.substr(0,3))if(c=m=a.match(s),b){if(-1!==a.indexOf(\"=\"))return a.match(t)}else g=Number(c[0])%360/360,h=Number(c[1])/100,i=Number(c[2])/100,e=.5>=i?i*(h+1):i+h-i*h,d=2*i-e,c.length>3&&(c[3]=Number(a[3])),c[0]=ma(g+1/3,d,e),c[1]=ma(g,d,e),c[2]=ma(g-1/3,d,e);else c=a.match(s)||la.transparent;c[0]=Number(c[0]),c[1]=Number(c[1]),c[2]=Number(c[2]),c.length>3&&(c[3]=Number(c[3]))}else c=la.black;return b&&!m&&(d=c[0]/255,e=c[1]/255,f=c[2]/255,j=Math.max(d,e,f),k=Math.min(d,e,f),i=(j+k)/2,j===k?g=h=0:(l=j-k,h=i>.5?l/(2-j-k):l/(j+k),g=j===d?(e-f)/l+(f>e?6:0):j===e?(f-d)/l+2:(d-e)/l+4,g*=60),c[0]=g+.5|0,c[1]=100*h+.5|0,c[2]=100*i+.5|0),c},oa=function(a,b){var c,d,e,f=a.match(pa)||[],g=0,h=\"\";if(!f.length)return a;for(c=0;c0?g[0].replace(s,\"\"):\"\";return k?e=b?function(a){var b,m,n,o;if(\"number\"==typeof a)a+=l;else if(d&&I.test(a)){for(o=a.replace(I,\"|\").split(\"|\"),n=0;nn--)for(;++nm--)for(;++mi;i++)h[a[i]]=j[i]=j[i]||j[(i-1)/2>>0];return e.parse(b,h,f,g)}},sa=(S._setPluginRatio=function(a){this.plugin.setRatio(a);for(var b,c,d,e,f,g=this.data,h=g.proxy,i=g.firstMPT,j=1e-6;i;)b=h[i.v],i.r?b=Math.round(b):j>b&&b>-j&&(b=0),i.t[i.p]=b,i=i._next;if(g.autoRotate&&(g.autoRotate.rotation=g.mod?g.mod(h.rotation,this.t):h.rotation),1===a||0===a)for(i=g.firstMPT,f=1===a?\"e\":\"b\";i;){if(c=i.t,c.type){if(1===c.type){for(e=c.xs0+c.s+c.xs1,d=1;d0;)i=\"xn\"+g,h=d.p+\"_\"+i,n[h]=d.data[i],m[h]=d[i],f||(j=new sa(d,i,h,j,d.rxp[i]));d=d._next}return{proxy:m,end:n,firstMPT:j,pt:k}},S.CSSPropTween=function(a,b,d,e,g,h,i,j,k,l,m){this.t=a,this.p=b,this.s=d,this.c=e,this.n=i||b,a instanceof ta||f.push(this.n),this.r=j,this.type=h||0,k&&(this.pr=k,c=!0),this.b=void 0===l?d:l,this.e=void 0===m?d+e:m,g&&(this._next=g,g._prev=this)}),ua=function(a,b,c,d,e,f){var g=new ta(a,b,c,d-c,e,-1,f);return g.b=c,g.e=g.xs0=d,g},va=g.parseComplex=function(a,b,c,d,e,f,h,i,j,l){c=c||f||\"\",\"function\"==typeof d&&(d=d(r,q)),h=new ta(a,b,0,0,h,l?2:1,null,!1,i,c,d),d+=\"\",e&&pa.test(d+c)&&(d=[c,d],g.colorStringFilter(d),c=d[0],d=d[1]);var m,n,o,p,u,v,w,x,y,z,A,B,C,D=c.split(\", \").join(\",\").split(\" \"),E=d.split(\", \").join(\",\").split(\" \"),F=D.length,G=k!==!1;for((-1!==d.indexOf(\",\")||-1!==c.indexOf(\",\"))&&(D=D.join(\" \").replace(I,\", \").split(\" \"),E=E.join(\" \").replace(I,\", \").split(\" \"),F=D.length),F!==E.length&&(D=(f||\"\").split(\" \"),F=D.length),h.plugin=j,h.setRatio=l,pa.lastIndex=0,m=0;F>m;m++)if(p=D[m],u=E[m],x=parseFloat(p),x||0===x)h.appendXtra(\"\",x,ia(u,x),u.replace(t,\"\"),G&&-1!==u.indexOf(\"px\"),!0);else if(e&&pa.test(p))B=u.indexOf(\")\")+1,B=\")\"+(B?u.substr(B):\"\"),C=-1!==u.indexOf(\"hsl\")&&U,z=u,p=na(p,C),u=na(u,C),y=p.length+u.length>6,y&&!U&&0===u[3]?(h[\"xs\"+h.l]+=h.l?\" transparent\":\"transparent\",h.e=h.e.split(E[m]).join(\"transparent\")):(U||(y=!1),C?h.appendXtra(z.substr(0,z.indexOf(\"hsl\"))+(y?\"hsla(\":\"hsl(\"),p[0],ia(u[0],p[0]),\",\",!1,!0).appendXtra(\"\",p[1],ia(u[1],p[1]),\"%,\",!1).appendXtra(\"\",p[2],ia(u[2],p[2]),y?\"%,\":\"%\"+B,!1):h.appendXtra(z.substr(0,z.indexOf(\"rgb\"))+(y?\"rgba(\":\"rgb(\"),p[0],u[0]-p[0],\",\",!0,!0).appendXtra(\"\",p[1],u[1]-p[1],\",\",!0).appendXtra(\"\",p[2],u[2]-p[2],y?\",\":B,!0),y&&(p=p.length<4?1:p[3],h.appendXtra(\"\",p,(u.length<4?1:u[3])-p,B,!1))),pa.lastIndex=0;else if(v=p.match(s)){if(w=u.match(t),!w||w.length!==v.length)return h;for(o=0,n=0;n0;)j[\"xn\"+wa]=0,j[\"xs\"+wa]=\"\";j.xs0=\"\",j._next=j._prev=j.xfirst=j.data=j.plugin=j.setRatio=j.rxp=null,j.appendXtra=function(a,b,c,d,e,f){var g=this,h=g.l;return g[\"xs\"+h]+=f&&(h||g[\"xs\"+h])?\" \"+a:a||\"\",c||0===h||g.plugin?(g.l++,g.type=g.setRatio?2:1,g[\"xs\"+g.l]=d||\"\",h>0?(g.data[\"xn\"+h]=b+c,g.rxp[\"xn\"+h]=e,g[\"xn\"+h]=b,g.plugin||(g.xfirst=new ta(g,\"xn\"+h,b,c,g.xfirst||g,0,g.n,e,g.pr),g.xfirst.xs0=0),g):(g.data={s:b+c},g.rxp={},g.s=b,g.c=c,g.r=e,g)):(g[\"xs\"+h]+=b+(d||\"\"),g)};var xa=function(a,b){b=b||{},this.p=b.prefix?Z(a)||a:a,i[a]=i[this.p]=this,this.format=b.formatter||qa(b.defaultValue,b.color,b.collapsible,b.multi),b.parser&&(this.parse=b.parser),this.clrs=b.color,this.multi=b.multi,this.keyword=b.keyword,this.dflt=b.defaultValue,this.pr=b.priority||0},ya=S._registerComplexSpecialProp=function(a,b,c){\"object\"!=typeof b&&(b={parser:c});var d,e,f=a.split(\",\"),g=b.defaultValue;for(c=c||[g],d=0;dh.length?i.length:h.length,g=0;j>g;g++)b=h[g]=h[g]||this.dflt,c=i[g]=i[g]||this.dflt,m&&(k=b.indexOf(m),l=c.indexOf(m),k!==l&&(-1===l?h[g]=h[g].split(m).join(\"\"):-1===k&&(h[g]+=\" \"+m)));b=h.join(\", \"),c=i.join(\", \")}return va(a,this.p,b,c,this.clrs,this.dflt,d,this.pr,e,f)},j.parse=function(a,b,c,d,f,g,h){return this.parseComplex(a.style,this.format(_(a,this.p,e,!1,this.dflt)),this.format(b),f,g)},g.registerSpecialProp=function(a,b,c){ya(a,{parser:function(a,d,e,f,g,h,i){var j=new ta(a,e,0,0,g,2,e,!1,c);return j.plugin=h,j.setRatio=b(a,d,f._tween,e),j},priority:c})},g.useSVGTransformAttr=!0;var Aa,Ba=\"scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent\".split(\",\"),Ca=Z(\"transform\"),Da=X+\"transform\",Ea=Z(\"transformOrigin\"),Fa=null!==Z(\"perspective\"),Ga=S.Transform=function(){this.perspective=parseFloat(g.defaultTransformPerspective)||0,this.force3D=g.defaultForce3D!==!1&&Fa?g.defaultForce3D||\"auto\":!1},Ha=_gsScope.SVGElement,Ia=function(a,b,c){var d,e=O.createElementNS(\"http://www.w3.org/2000/svg\",a),f=/([a-z])([A-Z])/g;for(d in c)e.setAttributeNS(null,d.replace(f,\"$1-$2\").toLowerCase(),c[d]);return b.appendChild(e),e},Ja=O.documentElement||{},Ka=function(){var a,b,c,d=p||/Android/i.test(T)&&!_gsScope.chrome;return O.createElementNS&&!d&&(a=Ia(\"svg\",Ja),b=Ia(\"rect\",a,{width:100,height:50,x:100}),c=b.getBoundingClientRect().width,b.style[Ea]=\"50% 50%\",b.style[Ca]=\"scaleX(0.5)\",d=c===b.getBoundingClientRect().width&&!(n&&Fa),Ja.removeChild(a)),d}(),La=function(a,b,c,d,e,f){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a._gsTransform,w=Qa(a,!0);v&&(t=v.xOrigin,u=v.yOrigin),(!d||(h=d.split(\" \")).length<2)&&(n=a.getBBox(),0===n.x&&0===n.y&&n.width+n.height===0&&(n={x:parseFloat(a.hasAttribute(\"x\")?a.getAttribute(\"x\"):a.hasAttribute(\"cx\")?a.getAttribute(\"cx\"):0)||0,y:parseFloat(a.hasAttribute(\"y\")?a.getAttribute(\"y\"):a.hasAttribute(\"cy\")?a.getAttribute(\"cy\"):0)||0,width:0,height:0}),b=ha(b).split(\" \"),h=[(-1!==b[0].indexOf(\"%\")?parseFloat(b[0])/100*n.width:parseFloat(b[0]))+n.x,(-1!==b[1].indexOf(\"%\")?parseFloat(b[1])/100*n.height:parseFloat(b[1]))+n.y]),c.xOrigin=k=parseFloat(h[0]),c.yOrigin=l=parseFloat(h[1]),d&&w!==Pa&&(m=w[0],n=w[1],o=w[2],p=w[3],q=w[4],r=w[5],s=m*p-n*o,s&&(i=k*(p/s)+l*(-o/s)+(o*r-p*q)/s,j=k*(-n/s)+l*(m/s)-(m*r-n*q)/s,k=c.xOrigin=h[0]=i,l=c.yOrigin=h[1]=j)),v&&(f&&(c.xOffset=v.xOffset,c.yOffset=v.yOffset,v=c),e||e!==!1&&g.defaultSmoothOrigin!==!1?(i=k-t,j=l-u,v.xOffset+=i*w[0]+j*w[2]-i,v.yOffset+=i*w[1]+j*w[3]-j):v.xOffset=v.yOffset=0),f||a.setAttribute(\"data-svg-origin\",h.join(\" \"))},Ma=function(a){var b,c=P(\"svg\",this.ownerSVGElement.getAttribute(\"xmlns\")||\"http://www.w3.org/2000/svg\"),d=this.parentNode,e=this.nextSibling,f=this.style.cssText;if(Ja.appendChild(c),c.appendChild(this),this.style.display=\"block\",a)try{b=this.getBBox(),this._originalGetBBox=this.getBBox,this.getBBox=Ma}catch(g){}else this._originalGetBBox&&(b=this._originalGetBBox());return e?d.insertBefore(this,e):d.appendChild(this),Ja.removeChild(c),this.style.cssText=f,b},Na=function(a){try{return a.getBBox()}catch(b){return Ma.call(a,!0)}},Oa=function(a){return!(!(Ha&&a.getCTM&&Na(a))||a.parentNode&&!a.ownerSVGElement)},Pa=[1,0,0,1,0,0],Qa=function(a,b){var c,d,e,f,g,h,i=a._gsTransform||new Ga,j=1e5,k=a.style;if(Ca?d=_(a,Da,null,!0):a.currentStyle&&(d=a.currentStyle.filter.match(G),d=d&&4===d.length?[d[0].substr(4),Number(d[2].substr(4)),Number(d[1].substr(4)),d[3].substr(4),i.x||0,i.y||0].join(\",\"):\"\"),c=!d||\"none\"===d||\"matrix(1, 0, 0, 1, 0, 0)\"===d,!Ca||!(h=\"none\"===$(a).display)&&a.parentNode||(h&&(f=k.display,k.display=\"block\"),a.parentNode||(g=1,Ja.appendChild(a)),d=_(a,Da,null,!0),c=!d||\"none\"===d||\"matrix(1, 0, 0, 1, 0, 0)\"===d,f?k.display=f:h&&Va(k,\"display\"),g&&Ja.removeChild(a)),(i.svg||a.getCTM&&Oa(a))&&(c&&-1!==(k[Ca]+\"\").indexOf(\"matrix\")&&(d=k[Ca],c=0),e=a.getAttribute(\"transform\"),c&&e&&(-1!==e.indexOf(\"matrix\")?(d=e,c=0):-1!==e.indexOf(\"translate\")&&(d=\"matrix(1,0,0,1,\"+e.match(/(?:\\-|\\b)[\\d\\-\\.e]+\\b/gi).join(\",\")+\")\",c=0))),c)return Pa;for(e=(d||\"\").match(s)||[],wa=e.length;--wa>-1;)f=Number(e[wa]),e[wa]=(g=f-(f|=0))?(g*j+(0>g?-.5:.5)|0)/j+f:f;return b&&e.length>6?[e[0],e[1],e[4],e[5],e[12],e[13]]:e},Ra=S.getTransform=function(a,c,d,e){if(a._gsTransform&&d&&!e)return a._gsTransform;var f,h,i,j,k,l,m=d?a._gsTransform||new Ga:new Ga,n=m.scaleX<0,o=2e-5,p=1e5,q=Fa?parseFloat(_(a,Ea,c,!1,\"0 0 0\").split(\" \")[2])||m.zOrigin||0:0,r=parseFloat(g.defaultTransformPerspective)||0;if(m.svg=!(!a.getCTM||!Oa(a)),m.svg&&(La(a,_(a,Ea,c,!1,\"50% 50%\")+\"\",m,a.getAttribute(\"data-svg-origin\")),Aa=g.useSVGTransformAttr||Ka),f=Qa(a),f!==Pa){if(16===f.length){var s,t,u,v,w,x=f[0],y=f[1],z=f[2],A=f[3],B=f[4],C=f[5],D=f[6],E=f[7],F=f[8],G=f[9],H=f[10],I=f[12],J=f[13],K=f[14],M=f[11],N=Math.atan2(D,H);m.zOrigin&&(K=-m.zOrigin,I=F*K-f[12],J=G*K-f[13],K=H*K+m.zOrigin-f[14]),m.rotationX=N*L,N&&(v=Math.cos(-N),w=Math.sin(-N),s=B*v+F*w,t=C*v+G*w,u=D*v+H*w,F=B*-w+F*v,G=C*-w+G*v,H=D*-w+H*v,M=E*-w+M*v,B=s,C=t,D=u),N=Math.atan2(-z,H),m.rotationY=N*L,N&&(v=Math.cos(-N),w=Math.sin(-N),s=x*v-F*w,t=y*v-G*w,u=z*v-H*w,G=y*w+G*v,H=z*w+H*v,M=A*w+M*v,x=s,y=t,z=u),N=Math.atan2(y,x),m.rotation=N*L,N&&(v=Math.cos(N),w=Math.sin(N),s=x*v+y*w,t=B*v+C*w,u=F*v+G*w,y=y*v-x*w,C=C*v-B*w,G=G*v-F*w,x=s,B=t,F=u),m.rotationX&&Math.abs(m.rotationX)+Math.abs(m.rotation)>359.9&&(m.rotationX=m.rotation=0,m.rotationY=180-m.rotationY),N=Math.atan2(B,C),m.scaleX=(Math.sqrt(x*x+y*y+z*z)*p+.5|0)/p,m.scaleY=(Math.sqrt(C*C+D*D)*p+.5|0)/p,m.scaleZ=(Math.sqrt(F*F+G*G+H*H)*p+.5|0)/p,x/=m.scaleX,B/=m.scaleY,y/=m.scaleX,C/=m.scaleY,Math.abs(N)>o?(m.skewX=N*L,B=0,\"simple\"!==m.skewType&&(m.scaleY*=1/Math.cos(N))):m.skewX=0,m.perspective=M?1/(0>M?-M:M):0,m.x=I,m.y=J,m.z=K,m.svg&&(m.x-=m.xOrigin-(m.xOrigin*x-m.yOrigin*B),m.y-=m.yOrigin-(m.yOrigin*y-m.xOrigin*C))}else if(!Fa||e||!f.length||m.x!==f[4]||m.y!==f[5]||!m.rotationX&&!m.rotationY){var O=f.length>=6,P=O?f[0]:1,Q=f[1]||0,R=f[2]||0,S=O?f[3]:1;m.x=f[4]||0,m.y=f[5]||0,i=Math.sqrt(P*P+Q*Q),j=Math.sqrt(S*S+R*R),k=P||Q?Math.atan2(Q,P)*L:m.rotation||0,l=R||S?Math.atan2(R,S)*L+k:m.skewX||0,m.scaleX=i,m.scaleY=j,m.rotation=k,m.skewX=l,Fa&&(m.rotationX=m.rotationY=m.z=0,m.perspective=r,m.scaleZ=1),m.svg&&(m.x-=m.xOrigin-(m.xOrigin*P+m.yOrigin*R),m.y-=m.yOrigin-(m.xOrigin*Q+m.yOrigin*S))}Math.abs(m.skewX)>90&&Math.abs(m.skewX)<270&&(n?(m.scaleX*=-1,m.skewX+=m.rotation<=0?180:-180,m.rotation+=m.rotation<=0?180:-180):(m.scaleY*=-1,m.skewX+=m.skewX<=0?180:-180)),m.zOrigin=q;for(h in m)m[h]-o&&(m[h]=0)}return d&&(a._gsTransform=m,m.svg&&(Aa&&a.style[Ca]?b.delayedCall(.001,function(){Va(a.style,Ca)}):!Aa&&a.getAttribute(\"transform\")&&b.delayedCall(.001,function(){a.removeAttribute(\"transform\")}))),m},Sa=function(a){var b,c,d=this.data,e=-d.rotation*K,f=e+d.skewX*K,g=1e5,h=(Math.cos(e)*d.scaleX*g|0)/g,i=(Math.sin(e)*d.scaleX*g|0)/g,j=(Math.sin(f)*-d.scaleY*g|0)/g,k=(Math.cos(f)*d.scaleY*g|0)/g,l=this.t.style,m=this.t.currentStyle;if(m){c=i,i=-j,j=-c,b=m.filter,l.filter=\"\";var n,o,q=this.t.offsetWidth,r=this.t.offsetHeight,s=\"absolute\"!==m.position,t=\"progid:DXImageTransform.Microsoft.Matrix(M11=\"+h+\", M12=\"+i+\", M21=\"+j+\", M22=\"+k,u=d.x+q*d.xPercent/100,v=d.y+r*d.yPercent/100;if(null!=d.ox&&(n=(d.oxp?q*d.ox*.01:d.ox)-q/2,o=(d.oyp?r*d.oy*.01:d.oy)-r/2,u+=n-(n*h+o*i),v+=o-(n*j+o*k)),s?(n=q/2,o=r/2,t+=\", Dx=\"+(n-(n*h+o*i)+u)+\", Dy=\"+(o-(n*j+o*k)+v)+\")\"):t+=\", sizingMethod='auto expand')\",-1!==b.indexOf(\"DXImageTransform.Microsoft.Matrix(\")?l.filter=b.replace(H,t):l.filter=t+\" \"+b,(0===a||1===a)&&1===h&&0===i&&0===j&&1===k&&(s&&-1===t.indexOf(\"Dx=0, Dy=0\")||x.test(b)&&100!==parseFloat(RegExp.$1)||-1===b.indexOf(b.indexOf(\"Alpha\"))&&l.removeAttribute(\"filter\")),!s){var y,z,A,B=8>p?1:-1;for(n=d.ieOffsetX||0,o=d.ieOffsetY||0,d.ieOffsetX=Math.round((q-((0>h?-h:h)*q+(0>i?-i:i)*r))/2+u),d.ieOffsetY=Math.round((r-((0>k?-k:k)*r+(0>j?-j:j)*q))/2+v),wa=0;4>wa;wa++)z=fa[wa],y=m[z],c=-1!==y.indexOf(\"px\")?parseFloat(y):aa(this.t,z,parseFloat(y),y.replace(w,\"\"))||0,A=c!==d[z]?2>wa?-d.ieOffsetX:-d.ieOffsetY:2>wa?n-d.ieOffsetX:o-d.ieOffsetY,l[z]=(d[z]=Math.round(c-A*(0===wa||2===wa?1:B)))+\"px\"}}},Ta=S.set3DTransformRatio=S.setTransformRatio=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u,v,w,x,y,z=this.data,A=this.t.style,B=z.rotation,C=z.rotationX,D=z.rotationY,E=z.scaleX,F=z.scaleY,G=z.scaleZ,H=z.x,I=z.y,J=z.z,L=z.svg,M=z.perspective,N=z.force3D,O=z.skewY,P=z.skewX;if(O&&(P+=O,B+=O),((1===a||0===a)&&\"auto\"===N&&(this.tween._totalTime===this.tween._totalDuration||!this.tween._totalTime)||!N)&&!J&&!M&&!D&&!C&&1===G||Aa&&L||!Fa)return void(B||P||L?(B*=K,x=P*K,y=1e5,c=Math.cos(B)*E,f=Math.sin(B)*E,d=Math.sin(B-x)*-F,g=Math.cos(B-x)*F,x&&\"simple\"===z.skewType&&(b=Math.tan(x-O*K),b=Math.sqrt(1+b*b),d*=b,g*=b,O&&(b=Math.tan(O*K),b=Math.sqrt(1+b*b),c*=b,f*=b)),L&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset,Aa&&(z.xPercent||z.yPercent)&&(q=this.t.getBBox(),H+=.01*z.xPercent*q.width,I+=.01*z.yPercent*q.height),q=1e-6,q>H&&H>-q&&(H=0),q>I&&I>-q&&(I=0)),u=(c*y|0)/y+\",\"+(f*y|0)/y+\",\"+(d*y|0)/y+\",\"+(g*y|0)/y+\",\"+H+\",\"+I+\")\",L&&Aa?this.t.setAttribute(\"transform\",\"matrix(\"+u):A[Ca]=(z.xPercent||z.yPercent?\"translate(\"+z.xPercent+\"%,\"+z.yPercent+\"%) matrix(\":\"matrix(\")+u):A[Ca]=(z.xPercent||z.yPercent?\"translate(\"+z.xPercent+\"%,\"+z.yPercent+\"%) matrix(\":\"matrix(\")+E+\",0,0,\"+F+\",\"+H+\",\"+I+\")\");if(n&&(q=1e-4,q>E&&E>-q&&(E=G=2e-5),q>F&&F>-q&&(F=G=2e-5),!M||z.z||z.rotationX||z.rotationY||(M=0)),B||P)B*=K,r=c=Math.cos(B),s=f=Math.sin(B),P&&(B-=P*K,r=Math.cos(B),s=Math.sin(B),\"simple\"===z.skewType&&(b=Math.tan((P-O)*K),b=Math.sqrt(1+b*b),r*=b,s*=b,z.skewY&&(b=Math.tan(O*K),b=Math.sqrt(1+b*b),c*=b,f*=b))),d=-s,g=r;else{if(!(D||C||1!==G||M||L))return void(A[Ca]=(z.xPercent||z.yPercent?\"translate(\"+z.xPercent+\"%,\"+z.yPercent+\"%) translate3d(\":\"translate3d(\")+H+\"px,\"+I+\"px,\"+J+\"px)\"+(1!==E||1!==F?\" scale(\"+E+\",\"+F+\")\":\"\"));c=g=1,d=f=0}k=1,e=h=i=j=l=m=0,o=M?-1/M:0,p=z.zOrigin,q=1e-6,v=\",\",w=\"0\",B=D*K,B&&(r=Math.cos(B),s=Math.sin(B),i=-s,l=o*-s,e=c*s,h=f*s,k=r,o*=r,c*=r,f*=r),B=C*K,B&&(r=Math.cos(B),s=Math.sin(B),b=d*r+e*s,t=g*r+h*s,j=k*s,m=o*s,e=d*-s+e*r,h=g*-s+h*r,k*=r,o*=r,d=b,g=t),1!==G&&(e*=G,h*=G,k*=G,o*=G),1!==F&&(d*=F,g*=F,j*=F,m*=F),1!==E&&(c*=E,f*=E,i*=E,l*=E),(p||L)&&(p&&(H+=e*-p,I+=h*-p,J+=k*-p+p),L&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset),q>H&&H>-q&&(H=w),q>I&&I>-q&&(I=w),q>J&&J>-q&&(J=0)),u=z.xPercent||z.yPercent?\"translate(\"+z.xPercent+\"%,\"+z.yPercent+\"%) matrix3d(\":\"matrix3d(\",u+=(q>c&&c>-q?w:c)+v+(q>f&&f>-q?w:f)+v+(q>i&&i>-q?w:i),u+=v+(q>l&&l>-q?w:l)+v+(q>d&&d>-q?w:d)+v+(q>g&&g>-q?w:g),C||D||1!==G?(u+=v+(q>j&&j>-q?w:j)+v+(q>m&&m>-q?w:m)+v+(q>e&&e>-q?w:e),u+=v+(q>h&&h>-q?w:h)+v+(q>k&&k>-q?w:k)+v+(q>o&&o>-q?w:o)+v):u+=\",0,0,0,0,1,0,\",u+=H+v+I+v+J+v+(M?1+-J/M:1)+\")\",A[Ca]=u};j=Ga.prototype,j.x=j.y=j.z=j.skewX=j.skewY=j.rotation=j.rotationX=j.rotationY=j.zOrigin=j.xPercent=j.yPercent=j.xOffset=j.yOffset=0,j.scaleX=j.scaleY=j.scaleZ=1,ya(\"transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin\",{parser:function(a,b,c,d,f,h,i){if(d._lastParsedTransform===i)return f;d._lastParsedTransform=i;var j,k=i.scale&&\"function\"==typeof i.scale?i.scale:0;\"function\"==typeof i[c]&&(j=i[c],i[c]=b),k&&(i.scale=k(r,a));var l,m,n,o,p,s,t,u,v,w=a._gsTransform,x=a.style,y=1e-6,z=Ba.length,A=i,B={},C=\"transformOrigin\",D=Ra(a,e,!0,A.parseTransform),E=A.transform&&(\"function\"==typeof A.transform?A.transform(r,q):A.transform);if(D.skewType=A.skewType||D.skewType||g.defaultSkewType,d._transform=D,E&&\"string\"==typeof E&&Ca)m=Q.style,\nm[Ca]=E,m.display=\"block\",m.position=\"absolute\",O.body.appendChild(Q),l=Ra(Q,null,!1),\"simple\"===D.skewType&&(l.scaleY*=Math.cos(l.skewX*K)),D.svg&&(s=D.xOrigin,t=D.yOrigin,l.x-=D.xOffset,l.y-=D.yOffset,(A.transformOrigin||A.svgOrigin)&&(E={},La(a,ha(A.transformOrigin),E,A.svgOrigin,A.smoothOrigin,!0),s=E.xOrigin,t=E.yOrigin,l.x-=E.xOffset-D.xOffset,l.y-=E.yOffset-D.yOffset),(s||t)&&(u=Qa(Q,!0),l.x-=s-(s*u[0]+t*u[2]),l.y-=t-(s*u[1]+t*u[3]))),O.body.removeChild(Q),l.perspective||(l.perspective=D.perspective),null!=A.xPercent&&(l.xPercent=ja(A.xPercent,D.xPercent)),null!=A.yPercent&&(l.yPercent=ja(A.yPercent,D.yPercent));else if(\"object\"==typeof A){if(l={scaleX:ja(null!=A.scaleX?A.scaleX:A.scale,D.scaleX),scaleY:ja(null!=A.scaleY?A.scaleY:A.scale,D.scaleY),scaleZ:ja(A.scaleZ,D.scaleZ),x:ja(A.x,D.x),y:ja(A.y,D.y),z:ja(A.z,D.z),xPercent:ja(A.xPercent,D.xPercent),yPercent:ja(A.yPercent,D.yPercent),perspective:ja(A.transformPerspective,D.perspective)},p=A.directionalRotation,null!=p)if(\"object\"==typeof p)for(m in p)A[m]=p[m];else A.rotation=p;\"string\"==typeof A.x&&-1!==A.x.indexOf(\"%\")&&(l.x=0,l.xPercent=ja(A.x,D.xPercent)),\"string\"==typeof A.y&&-1!==A.y.indexOf(\"%\")&&(l.y=0,l.yPercent=ja(A.y,D.yPercent)),l.rotation=ka(\"rotation\"in A?A.rotation:\"shortRotation\"in A?A.shortRotation+\"_short\":\"rotationZ\"in A?A.rotationZ:D.rotation,D.rotation,\"rotation\",B),Fa&&(l.rotationX=ka(\"rotationX\"in A?A.rotationX:\"shortRotationX\"in A?A.shortRotationX+\"_short\":D.rotationX||0,D.rotationX,\"rotationX\",B),l.rotationY=ka(\"rotationY\"in A?A.rotationY:\"shortRotationY\"in A?A.shortRotationY+\"_short\":D.rotationY||0,D.rotationY,\"rotationY\",B)),l.skewX=ka(A.skewX,D.skewX),l.skewY=ka(A.skewY,D.skewY)}for(Fa&&null!=A.force3D&&(D.force3D=A.force3D,o=!0),n=D.force3D||D.z||D.rotationX||D.rotationY||l.z||l.rotationX||l.rotationY||l.perspective,n||null==A.scale||(l.scaleZ=1);--z>-1;)v=Ba[z],E=l[v]-D[v],(E>y||-y>E||null!=A[v]||null!=M[v])&&(o=!0,f=new ta(D,v,D[v],E,f),v in B&&(f.e=B[v]),f.xs0=0,f.plugin=h,d._overwriteProps.push(f.n));return E=A.transformOrigin,D.svg&&(E||A.svgOrigin)&&(s=D.xOffset,t=D.yOffset,La(a,ha(E),l,A.svgOrigin,A.smoothOrigin),f=ua(D,\"xOrigin\",(w?D:l).xOrigin,l.xOrigin,f,C),f=ua(D,\"yOrigin\",(w?D:l).yOrigin,l.yOrigin,f,C),(s!==D.xOffset||t!==D.yOffset)&&(f=ua(D,\"xOffset\",w?s:D.xOffset,D.xOffset,f,C),f=ua(D,\"yOffset\",w?t:D.yOffset,D.yOffset,f,C)),E=\"0px 0px\"),(E||Fa&&n&&D.zOrigin)&&(Ca?(o=!0,v=Ea,E=(E||_(a,v,e,!1,\"50% 50%\"))+\"\",f=new ta(x,v,0,0,f,-1,C),f.b=x[v],f.plugin=h,Fa?(m=D.zOrigin,E=E.split(\" \"),D.zOrigin=(E.length>2&&(0===m||\"0px\"!==E[2])?parseFloat(E[2]):m)||0,f.xs0=f.e=E[0]+\" \"+(E[1]||\"50%\")+\" 0px\",f=new ta(D,\"zOrigin\",0,0,f,-1,f.n),f.b=m,f.xs0=f.e=D.zOrigin):f.xs0=f.e=E):ha(E+\"\",D)),o&&(d._transformType=D.svg&&Aa||!n&&3!==this._transformType?2:3),j&&(i[c]=j),k&&(i.scale=k),f},prefix:!0}),ya(\"boxShadow\",{defaultValue:\"0px 0px 0px 0px #999\",prefix:!0,color:!0,multi:!0,keyword:\"inset\"}),ya(\"borderRadius\",{defaultValue:\"0px\",parser:function(a,b,c,f,g,h){b=this.format(b);var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],z=a.style;for(q=parseFloat(a.offsetWidth),r=parseFloat(a.offsetHeight),i=b.split(\" \"),j=0;jp?1:0))||\"\"):(p=parseFloat(n),s=n.substr((p+\"\").length)),\"\"===s&&(s=d[c]||t),s!==t&&(v=aa(a,\"borderLeft\",o,t),w=aa(a,\"borderTop\",o,t),\"%\"===s?(m=v/q*100+\"%\",l=w/r*100+\"%\"):\"em\"===s?(x=aa(a,\"borderLeft\",1,\"em\"),m=v/x+\"em\",l=w/x+\"em\"):(m=v+\"px\",l=w+\"px\"),u&&(n=parseFloat(m)+p+s,k=parseFloat(l)+p+s)),g=va(z,y[j],m+\" \"+l,n+\" \"+k,!1,\"0px\",g);return g},prefix:!0,formatter:qa(\"0px 0px 0px 0px\",!1,!0)}),ya(\"borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius\",{defaultValue:\"0px\",parser:function(a,b,c,d,f,g){return va(a.style,c,this.format(_(a,c,e,!1,\"0px 0px\")),this.format(b),!1,\"0px\",f)},prefix:!0,formatter:qa(\"0px 0px\",!1,!0)}),ya(\"backgroundPosition\",{defaultValue:\"0 0\",parser:function(a,b,c,d,f,g){var h,i,j,k,l,m,n=\"background-position\",o=e||$(a,null),q=this.format((o?p?o.getPropertyValue(n+\"-x\")+\" \"+o.getPropertyValue(n+\"-y\"):o.getPropertyValue(n):a.currentStyle.backgroundPositionX+\" \"+a.currentStyle.backgroundPositionY)||\"0 0\"),r=this.format(b);if(-1!==q.indexOf(\"%\")!=(-1!==r.indexOf(\"%\"))&&r.split(\",\").length<2&&(m=_(a,\"backgroundImage\").replace(D,\"\"),m&&\"none\"!==m)){for(h=q.split(\" \"),i=r.split(\" \"),R.setAttribute(\"src\",m),j=2;--j>-1;)q=h[j],k=-1!==q.indexOf(\"%\"),k!==(-1!==i[j].indexOf(\"%\"))&&(l=0===j?a.offsetWidth-R.width:a.offsetHeight-R.height,h[j]=k?parseFloat(q)/100*l+\"px\":parseFloat(q)/l*100+\"%\");q=h.join(\" \")}return this.parseComplex(a.style,q,r,f,g)},formatter:ha}),ya(\"backgroundSize\",{defaultValue:\"0 0\",formatter:function(a){return a+=\"\",ha(-1===a.indexOf(\" \")?a+\" \"+a:a)}}),ya(\"perspective\",{defaultValue:\"0px\",prefix:!0}),ya(\"perspectiveOrigin\",{defaultValue:\"50% 50%\",prefix:!0}),ya(\"transformStyle\",{prefix:!0}),ya(\"backfaceVisibility\",{prefix:!0}),ya(\"userSelect\",{prefix:!0}),ya(\"margin\",{parser:ra(\"marginTop,marginRight,marginBottom,marginLeft\")}),ya(\"padding\",{parser:ra(\"paddingTop,paddingRight,paddingBottom,paddingLeft\")}),ya(\"clip\",{defaultValue:\"rect(0px,0px,0px,0px)\",parser:function(a,b,c,d,f,g){var h,i,j;return 9>p?(i=a.currentStyle,j=8>p?\" \":\",\",h=\"rect(\"+i.clipTop+j+i.clipRight+j+i.clipBottom+j+i.clipLeft+\")\",b=this.format(b).split(\",\").join(j)):(h=this.format(_(a,this.p,e,!1,this.dflt)),b=this.format(b)),this.parseComplex(a.style,h,b,f,g)}}),ya(\"textShadow\",{defaultValue:\"0px 0px 0px #999\",color:!0,multi:!0}),ya(\"autoRound,strictUnits\",{parser:function(a,b,c,d,e){return e}}),ya(\"border\",{defaultValue:\"0px solid #000\",parser:function(a,b,c,d,f,g){var h=_(a,\"borderTopWidth\",e,!1,\"0px\"),i=this.format(b).split(\" \"),j=i[0].replace(w,\"\");return\"px\"!==j&&(h=parseFloat(h)/aa(a,\"borderTopWidth\",1,j)+j),this.parseComplex(a.style,this.format(h+\" \"+_(a,\"borderTopStyle\",e,!1,\"solid\")+\" \"+_(a,\"borderTopColor\",e,!1,\"#000\")),i.join(\" \"),f,g)},color:!0,formatter:function(a){var b=a.split(\" \");return b[0]+\" \"+(b[1]||\"solid\")+\" \"+(a.match(pa)||[\"#000\"])[0]}}),ya(\"borderWidth\",{parser:ra(\"borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth\")}),ya(\"float,cssFloat,styleFloat\",{parser:function(a,b,c,d,e,f){var g=a.style,h=\"cssFloat\"in g?\"cssFloat\":\"styleFloat\";return new ta(g,h,0,0,e,-1,c,!1,0,g[h],b)}});var Ua=function(a){var b,c=this.t,d=c.filter||_(this.data,\"filter\")||\"\",e=this.s+this.c*a|0;100===e&&(-1===d.indexOf(\"atrix(\")&&-1===d.indexOf(\"radient(\")&&-1===d.indexOf(\"oader(\")?(c.removeAttribute(\"filter\"),b=!_(this.data,\"filter\")):(c.filter=d.replace(z,\"\"),b=!0)),b||(this.xn1&&(c.filter=d=d||\"alpha(opacity=\"+e+\")\"),-1===d.indexOf(\"pacity\")?0===e&&this.xn1||(c.filter=d+\" alpha(opacity=\"+e+\")\"):c.filter=d.replace(x,\"opacity=\"+e))};ya(\"opacity,alpha,autoAlpha\",{defaultValue:\"1\",parser:function(a,b,c,d,f,g){var h=parseFloat(_(a,\"opacity\",e,!1,\"1\")),i=a.style,j=\"autoAlpha\"===c;return\"string\"==typeof b&&\"=\"===b.charAt(1)&&(b=(\"-\"===b.charAt(0)?-1:1)*parseFloat(b.substr(2))+h),j&&1===h&&\"hidden\"===_(a,\"visibility\",e)&&0!==b&&(h=0),U?f=new ta(i,\"opacity\",h,b-h,f):(f=new ta(i,\"opacity\",100*h,100*(b-h),f),f.xn1=j?1:0,i.zoom=1,f.type=2,f.b=\"alpha(opacity=\"+f.s+\")\",f.e=\"alpha(opacity=\"+(f.s+f.c)+\")\",f.data=a,f.plugin=g,f.setRatio=Ua),j&&(f=new ta(i,\"visibility\",0,0,f,-1,null,!1,0,0!==h?\"inherit\":\"hidden\",0===b?\"hidden\":\"inherit\"),f.xs0=\"inherit\",d._overwriteProps.push(f.n),d._overwriteProps.push(c)),f}});var Va=function(a,b){b&&(a.removeProperty?((\"ms\"===b.substr(0,2)||\"webkit\"===b.substr(0,6))&&(b=\"-\"+b),a.removeProperty(b.replace(B,\"-$1\").toLowerCase())):a.removeAttribute(b))},Wa=function(a){if(this.t._gsClassPT=this,1===a||0===a){this.t.setAttribute(\"class\",0===a?this.b:this.e);for(var b=this.data,c=this.t.style;b;)b.v?c[b.p]=b.v:Va(c,b.p),b=b._next;1===a&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute(\"class\")!==this.e&&this.t.setAttribute(\"class\",this.e)};ya(\"className\",{parser:function(a,b,d,f,g,h,i){var j,k,l,m,n,o=a.getAttribute(\"class\")||\"\",p=a.style.cssText;if(g=f._classNamePT=new ta(a,d,0,0,g,2),g.setRatio=Wa,g.pr=-11,c=!0,g.b=o,k=ca(a,e),l=a._gsClassPT){for(m={},n=l.data;n;)m[n.p]=1,n=n._next;l.setRatio(1)}return a._gsClassPT=g,g.e=\"=\"!==b.charAt(1)?b:o.replace(new RegExp(\"(?:\\\\s|^)\"+b.substr(2)+\"(?![\\\\w-])\"),\"\")+(\"+\"===b.charAt(0)?\" \"+b.substr(2):\"\"),a.setAttribute(\"class\",g.e),j=da(a,k,ca(a),i,m),a.setAttribute(\"class\",o),g.data=j.firstMPT,a.style.cssText=p,g=g.xfirst=f.parse(a,j.difs,g,h)}});var Xa=function(a){if((1===a||0===a)&&this.data._totalTime===this.data._totalDuration&&\"isFromStart\"!==this.data.data){var b,c,d,e,f,g=this.t.style,h=i.transform.parse;if(\"all\"===this.e)g.cssText=\"\",e=!0;else for(b=this.e.split(\" \").join(\"\").split(\",\"),d=b.length;--d>-1;)c=b[d],i[c]&&(i[c].parse===h?e=!0:c=\"transformOrigin\"===c?Ea:i[c].p),Va(g,c);e&&(Va(g,Ca),f=this.t._gsTransform,f&&(f.svg&&(this.t.removeAttribute(\"data-svg-origin\"),this.t.removeAttribute(\"transform\")),delete this.t._gsTransform))}};for(ya(\"clearProps\",{parser:function(a,b,d,e,f){return f=new ta(a,d,0,0,f,2),f.setRatio=Xa,f.e=b,f.pr=-10,f.data=e._tween,c=!0,f}}),j=\"bezier,throwProps,physicsProps,physics2D\".split(\",\"),wa=j.length;wa--;)za(j[wa]);j=g.prototype,j._firstPT=j._lastParsedTransform=j._transform=null,j._onInitTween=function(a,b,h,j){if(!a.nodeType)return!1;this._target=q=a,this._tween=h,this._vars=b,r=j,k=b.autoRound,c=!1,d=b.suffixMap||g.suffixMap,e=$(a,\"\"),f=this._overwriteProps;var n,p,s,t,u,v,w,x,z,A=a.style;if(l&&\"\"===A.zIndex&&(n=_(a,\"zIndex\",e),(\"auto\"===n||\"\"===n)&&this._addLazySet(A,\"zIndex\",0)),\"string\"==typeof b&&(t=A.cssText,n=ca(a,e),A.cssText=t+\";\"+b,n=da(a,n,ca(a)).difs,!U&&y.test(b)&&(n.opacity=parseFloat(RegExp.$1)),b=n,A.cssText=t),b.className?this._firstPT=p=i.className.parse(a,b.className,\"className\",this,null,null,b):this._firstPT=p=this.parse(a,b,null),this._transformType){for(z=3===this._transformType,Ca?m&&(l=!0,\"\"===A.zIndex&&(w=_(a,\"zIndex\",e),(\"auto\"===w||\"\"===w)&&this._addLazySet(A,\"zIndex\",0)),o&&this._addLazySet(A,\"WebkitBackfaceVisibility\",this._vars.WebkitBackfaceVisibility||(z?\"visible\":\"hidden\"))):A.zoom=1,s=p;s&&s._next;)s=s._next;x=new ta(a,\"transform\",0,0,null,2),this._linkCSSP(x,null,s),x.setRatio=Ca?Ta:Sa,x.data=this._transform||Ra(a,e,!0),x.tween=h,x.pr=-1,f.pop()}if(c){for(;p;){for(v=p._next,s=t;s&&s.pr>p.pr;)s=s._next;(p._prev=s?s._prev:u)?p._prev._next=p:t=p,(p._next=s)?s._prev=p:u=p,p=v}this._firstPT=t}return!0},j.parse=function(a,b,c,f){var g,h,j,l,m,n,o,p,s,t,u=a.style;for(g in b){if(n=b[g],\"function\"==typeof n&&(n=n(r,q)),h=i[g])c=h.parse(a,n,g,this,c,f,b);else{if(\"--\"===g.substr(0,2)){this._tween._propLookup[g]=this._addTween.call(this._tween,a.style,\"setProperty\",$(a).getPropertyValue(g)+\"\",n+\"\",g,!1,g);continue}m=_(a,g,e)+\"\",s=\"string\"==typeof n,\"color\"===g||\"fill\"===g||\"stroke\"===g||-1!==g.indexOf(\"Color\")||s&&A.test(n)?(s||(n=na(n),n=(n.length>3?\"rgba(\":\"rgb(\")+n.join(\",\")+\")\"),c=va(u,g,m,n,!0,\"transparent\",c,0,f)):s&&J.test(n)?c=va(u,g,m,n,!0,null,c,0,f):(j=parseFloat(m),o=j||0===j?m.substr((j+\"\").length):\"\",(\"\"===m||\"auto\"===m)&&(\"width\"===g||\"height\"===g?(j=ga(a,g,e),o=\"px\"):\"left\"===g||\"top\"===g?(j=ba(a,g,e),o=\"px\"):(j=\"opacity\"!==g?0:1,o=\"\")),t=s&&\"=\"===n.charAt(1),t?(l=parseInt(n.charAt(0)+\"1\",10),n=n.substr(2),l*=parseFloat(n),p=n.replace(w,\"\")):(l=parseFloat(n),p=s?n.replace(w,\"\"):\"\"),\"\"===p&&(p=g in d?d[g]:o),n=l||0===l?(t?l+j:l)+p:b[g],o!==p&&(\"\"!==p||\"lineHeight\"===g)&&(l||0===l)&&j&&(j=aa(a,g,j,o),\"%\"===p?(j/=aa(a,g,100,\"%\")/100,b.strictUnits!==!0&&(m=j+\"%\")):\"em\"===p||\"rem\"===p||\"vw\"===p||\"vh\"===p?j/=aa(a,g,1,p):\"px\"!==p&&(l=aa(a,g,l,p),p=\"px\"),t&&(l||0===l)&&(n=l+j+p)),t&&(l+=j),!j&&0!==j||!l&&0!==l?void 0!==u[g]&&(n||n+\"\"!=\"NaN\"&&null!=n)?(c=new ta(u,g,l||j||0,0,c,-1,g,!1,0,m,n),c.xs0=\"none\"!==n||\"display\"!==g&&-1===g.indexOf(\"Style\")?n:m):W(\"invalid \"+g+\" tween value: \"+b[g]):(c=new ta(u,g,j,l-j,c,0,g,k!==!1&&(\"px\"===p||\"zIndex\"===g),0,m,n),c.xs0=p))}f&&c&&!c.plugin&&(c.plugin=f)}return c},j.setRatio=function(a){var b,c,d,e=this._firstPT,f=1e-6;if(1!==a||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(a||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;e;){if(b=e.c*a+e.s,e.r?b=Math.round(b):f>b&&b>-f&&(b=0),e.type)if(1===e.type)if(d=e.l,2===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2;else if(3===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3;else if(4===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4;else if(5===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4+e.xn4+e.xs5;else{for(c=e.xs0+b+e.xs1,d=1;d-1;)Za(a[e],b,c);else for(d=a.childNodes,e=d.length;--e>-1;)f=d[e],g=f.type,f.style&&(b.push(ca(f)),c&&c.push(f)),1!==g&&9!==g&&11!==g||!f.childNodes.length||Za(f,b,c)};return g.cascadeTo=function(a,c,d){var e,f,g,h,i=b.to(a,c,d),j=[i],k=[],l=[],m=[],n=b._internals.reservedProps;for(a=i._targets||i.target,Za(a,k,m),i.render(c,!0,!0),Za(a,l),i.render(0,!0,!0),i._enabled(!0),e=m.length;--e>-1;)if(f=da(m[e],k[e],l[e]),f.firstMPT){f=f.difs;for(g in d)n[g]&&(f[g]=d[g]);h={};for(g in f)h[g]=k[e][g];j.push(b.fromTo(m[e],c,h,f))}return j},a.activate([g]),g},!0),function(){var a=_gsScope._gsDefine.plugin({propName:\"roundProps\",version:\"1.6.0\",priority:-1,API:2,init:function(a,b,c){return this._tween=c,!0}}),b=function(a){for(;a;)a.f||a.blob||(a.m=Math.round),a=a._next},c=a.prototype;c._onInitAllProps=function(){for(var a,c,d,e=this._tween,f=e.vars.roundProps.join?e.vars.roundProps:e.vars.roundProps.split(\",\"),g=f.length,h={},i=e._propLookup.roundProps;--g>-1;)h[f[g]]=Math.round;for(g=f.length;--g>-1;)for(a=f[g],c=e._firstPT;c;)d=c._next,c.pg?c.t._mod(h):c.n===a&&(2===c.f&&c.t?b(c.t._firstPT):(this._add(c.t,a,c.s,c.c),d&&(d._prev=c._prev),c._prev?c._prev._next=d:e._firstPT===c&&(e._firstPT=d),c._next=c._prev=null,e._propLookup[a]=i)),c=d;return!1},c._add=function(a,b,c,d){this._addTween(a,b,c,c+d,b,Math.round),this._overwriteProps.push(b)}}(),function(){_gsScope._gsDefine.plugin({propName:\"attr\",API:2,version:\"0.6.1\",init:function(a,b,c,d){var e,f;if(\"function\"!=typeof a.setAttribute)return!1;for(e in b)f=b[e],\"function\"==typeof f&&(f=f(d,a)),this._addTween(a,\"setAttribute\",a.getAttribute(e)+\"\",f+\"\",e,!1,e),this._overwriteProps.push(e);return!0}})}(),_gsScope._gsDefine.plugin({propName:\"directionalRotation\",version:\"0.3.1\",API:2,init:function(a,b,c,d){\"object\"!=typeof b&&(b={rotation:b}),this.finals={};var e,f,g,h,i,j,k=b.useRadians===!0?2*Math.PI:360,l=1e-6;for(e in b)\"useRadians\"!==e&&(h=b[e],\"function\"==typeof h&&(h=h(d,a)),j=(h+\"\").split(\"_\"),f=j[0],g=parseFloat(\"function\"!=typeof a[e]?a[e]:a[e.indexOf(\"set\")||\"function\"!=typeof a[\"get\"+e.substr(3)]?e:\"get\"+e.substr(3)]()),h=this.finals[e]=\"string\"==typeof f&&\"=\"===f.charAt(1)?g+parseInt(f.charAt(0)+\"1\",10)*Number(f.substr(2)):Number(f)||0,i=h-g,j.length&&(f=j.join(\"_\"),-1!==f.indexOf(\"short\")&&(i%=k,i!==i%(k/2)&&(i=0>i?i+k:i-k)),-1!==f.indexOf(\"_cw\")&&0>i?i=(i+9999999999*k)%k-(i/k|0)*k:-1!==f.indexOf(\"ccw\")&&i>0&&(i=(i-9999999999*k)%k-(i/k|0)*k)),(i>l||-l>i)&&(this._addTween(a,e,g,g+i,e),this._overwriteProps.push(e)));return!0},set:function(a){var b;if(1!==a)this._super.setRatio.call(this,a);else for(b=this._firstPT;b;)b.f?b.t[b.p](this.finals[b.p]):b.t[b.p]=this.finals[b.p],b=b._next}})._autoCSS=!0,_gsScope._gsDefine(\"easing.Back\",[\"easing.Ease\"],function(a){var b,c,d,e=_gsScope.GreenSockGlobals||_gsScope,f=e.com.greensock,g=2*Math.PI,h=Math.PI/2,i=f._class,j=function(b,c){var d=i(\"easing.\"+b,function(){},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,d},k=a.register||function(){},l=function(a,b,c,d,e){var f=i(\"easing.\"+a,{easeOut:new b,easeIn:new c,easeInOut:new d},!0);return k(f,a),f},m=function(a,b,c){this.t=a,this.v=b,c&&(this.next=c,c.prev=this,this.c=c.v-b,this.gap=c.t-a)},n=function(b,c){var d=i(\"easing.\"+b,function(a){this._p1=a||0===a?a:1.70158,this._p2=1.525*this._p1},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,e.config=function(a){return new d(a)},d},o=l(\"Back\",n(\"BackOut\",function(a){return(a-=1)*a*((this._p1+1)*a+this._p1)+1}),n(\"BackIn\",function(a){return a*a*((this._p1+1)*a-this._p1)}),n(\"BackInOut\",function(a){return(a*=2)<1?.5*a*a*((this._p2+1)*a-this._p2):.5*((a-=2)*a*((this._p2+1)*a+this._p2)+2)})),p=i(\"easing.SlowMo\",function(a,b,c){b=b||0===b?b:.7,null==a?a=.7:a>1&&(a=1),this._p=1!==a?b:0,this._p1=(1-a)/2,this._p2=a,this._p3=this._p1+this._p2,this._calcEnd=c===!0},!0),q=p.prototype=new a;return q.constructor=p,q.getRatio=function(a){var b=a+(.5-a)*this._p;return athis._p3?this._calcEnd?1-(a=(a-this._p3)/this._p1)*a:b+(a-b)*(a=(a-this._p3)/this._p1)*a*a*a:this._calcEnd?1:b},p.ease=new p(.7,.7),q.config=p.config=function(a,b,c){return new p(a,b,c)},b=i(\"easing.SteppedEase\",function(a,b){a=a||1,this._p1=1/a,this._p2=a+(b?0:1),this._p3=b?1:0},!0),q=b.prototype=new a,q.constructor=b,q.getRatio=function(a){return 0>a?a=0:a>=1&&(a=.999999999),((this._p2*a|0)+this._p3)*this._p1},q.config=b.config=function(a,c){return new b(a,c)},c=i(\"easing.RoughEase\",function(b){b=b||{};for(var c,d,e,f,g,h,i=b.taper||\"none\",j=[],k=0,l=0|(b.points||20),n=l,o=b.randomize!==!1,p=b.clamp===!0,q=b.template instanceof a?b.template:null,r=\"number\"==typeof b.strength?.4*b.strength:.4;--n>-1;)c=o?Math.random():1/l*n,d=q?q.getRatio(c):c,\"none\"===i?e=r:\"out\"===i?(f=1-c,e=f*f*r):\"in\"===i?e=c*c*r:.5>c?(f=2*c,e=f*f*.5*r):(f=2*(1-c),e=f*f*.5*r),o?d+=Math.random()*e-.5*e:n%2?d+=.5*e:d-=.5*e,p&&(d>1?d=1:0>d&&(d=0)),j[k++]={x:c,y:d};for(j.sort(function(a,b){return a.x-b.x}),h=new m(1,1,null),n=l;--n>-1;)g=j[n],h=new m(g.x,g.y,h);this._prev=new m(0,0,0!==h.t?h:h.next)},!0),q=c.prototype=new a,q.constructor=c,q.getRatio=function(a){var b=this._prev;if(a>b.t){for(;b.next&&a>=b.t;)b=b.next;b=b.prev}else for(;b.prev&&a<=b.t;)b=b.prev;return this._prev=b,b.v+(a-b.t)/b.gap*b.c},q.config=function(a){return new c(a)},c.ease=new c,l(\"Bounce\",j(\"BounceOut\",function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}),j(\"BounceIn\",function(a){return(a=1-a)<1/2.75?1-7.5625*a*a:2/2.75>a?1-(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1-(7.5625*(a-=2.25/2.75)*a+.9375):1-(7.5625*(a-=2.625/2.75)*a+.984375)}),j(\"BounceInOut\",function(a){var b=.5>a;return a=b?1-2*a:2*a-1,a=1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375,b?.5*(1-a):.5*a+.5})),l(\"Circ\",j(\"CircOut\",function(a){return Math.sqrt(1-(a-=1)*a)}),j(\"CircIn\",function(a){return-(Math.sqrt(1-a*a)-1)}),j(\"CircInOut\",function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)})),d=function(b,c,d){var e=i(\"easing.\"+b,function(a,b){this._p1=a>=1?a:1,this._p2=(b||d)/(1>a?a:1),this._p3=this._p2/g*(Math.asin(1/this._p1)||0),this._p2=g/this._p2},!0),f=e.prototype=new a;return f.constructor=e,f.getRatio=c,f.config=function(a,b){return new e(a,b)},e},l(\"Elastic\",d(\"ElasticOut\",function(a){return this._p1*Math.pow(2,-10*a)*Math.sin((a-this._p3)*this._p2)+1},.3),d(\"ElasticIn\",function(a){return-(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2))},.3),d(\"ElasticInOut\",function(a){return(a*=2)<1?-.5*(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2)):this._p1*Math.pow(2,-10*(a-=1))*Math.sin((a-this._p3)*this._p2)*.5+1},.45)),l(\"Expo\",j(\"ExpoOut\",function(a){return 1-Math.pow(2,-10*a)}),j(\"ExpoIn\",function(a){return Math.pow(2,10*(a-1))-.001}),j(\"ExpoInOut\",function(a){return(a*=2)<1?.5*Math.pow(2,10*(a-1)):.5*(2-Math.pow(2,-10*(a-1)))})),l(\"Sine\",j(\"SineOut\",function(a){return Math.sin(a*h)}),j(\"SineIn\",function(a){return-Math.cos(a*h)+1}),j(\"SineInOut\",function(a){return-.5*(Math.cos(Math.PI*a)-1)})),i(\"easing.EaseLookup\",{find:function(b){return a.map[b]}},!0),k(e.SlowMo,\"SlowMo\",\"ease,\"),k(c,\"RoughEase\",\"ease,\"),k(b,\"SteppedEase\",\"ease,\"),o},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(a,b){\"use strict\";var c={},d=a.document,e=a.GreenSockGlobals=a.GreenSockGlobals||a;if(!e.TweenLite){var f,g,h,i,j,k=function(a){var b,c=a.split(\".\"),d=e;for(b=0;b-1;)(l=q[f[p]]||new r(f[p],[])).gsClass?(i[p]=l.gsClass,s--):j&&l.sc.push(this);if(0===s&&g){if(m=(\"com.greensock.\"+d).split(\".\"),n=m.pop(),o=k(m.join(\".\"))[n]=this.gsClass=g.apply(g,i),h)if(e[n]=c[n]=o,\"undefined\"!=typeof module&&module.exports)if(d===b){module.exports=c[b]=o;for(p in c)o[p]=c[p]}else c[b]&&(c[b][n]=o);else\"function\"==\"function\"&&__webpack_require__(81)&&!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function(){return o}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));for(p=0;p-1;)for(f=i[j],e=d?t(\"easing.\"+f,null,!0):l.easing[f]||{},g=k.length;--g>-1;)h=k[g],w[f+\".\"+h]=w[h+f]=e[h]=a.getRatio?a:a[h]||new a};for(h=v.prototype,h._calcEnd=!1,h.getRatio=function(a){if(this._func)return this._params[0]=a,this._func.apply(null,this._params);var b=this._type,c=this._power,d=1===b?1-a:2===b?a:.5>a?2*a:2*(1-a);return 1===c?d*=d:2===c?d*=d*d:3===c?d*=d*d*d:4===c&&(d*=d*d*d*d),1===b?1-d:2===b?d:.5>a?d/2:1-d/2},f=[\"Linear\",\"Quad\",\"Cubic\",\"Quart\",\"Quint,Strong\"],g=f.length;--g>-1;)h=f[g]+\",Power\"+g,x(new v(null,null,1,g),h,\"easeOut\",!0),x(new v(null,null,2,g),h,\"easeIn\"+(0===g?\",easeNone\":\"\")),x(new v(null,null,3,g),h,\"easeInOut\");w.linear=l.easing.Linear.easeIn,w.swing=l.easing.Quad.easeInOut;var y=t(\"events.EventDispatcher\",function(a){this._listeners={},this._eventTarget=a||this});h=y.prototype,h.addEventListener=function(a,b,c,d,e){e=e||0;var f,g,h=this._listeners[a],k=0;for(this!==i||j||i.wake(),null==h&&(this._listeners[a]=h=[]),g=h.length;--g>-1;)f=h[g],f.c===b&&f.s===c?h.splice(g,1):0===k&&f.pr-1;)if(d[c].c===b)return void d.splice(c,1)},h.dispatchEvent=function(a){var b,c,d,e=this._listeners[a];if(e)for(b=e.length,b>1&&(e=e.slice(0)),c=this._eventTarget;--b>-1;)d=e[b],d&&(d.up?d.c.call(d.s||c,{type:a,target:c}):d.c.call(d.s||c))};var z=a.requestAnimationFrame,A=a.cancelAnimationFrame,B=Date.now||function(){return(new Date).getTime()},C=B();for(f=[\"ms\",\"moz\",\"webkit\",\"o\"],g=f.length;--g>-1&&!z;)z=a[f[g]+\"RequestAnimationFrame\"],A=a[f[g]+\"CancelAnimationFrame\"]||a[f[g]+\"CancelRequestAnimationFrame\"];t(\"Ticker\",function(a,b){var c,e,f,g,h,k=this,l=B(),n=b!==!1&&z?\"auto\":!1,p=500,q=33,r=\"tick\",s=function(a){var b,d,i=B()-C;i>p&&(l+=i-q),C+=i,k.time=(C-l)/1e3,b=k.time-h,(!c||b>0||a===!0)&&(k.frame++,h+=b+(b>=g?.004:g-b),d=!0),a!==!0&&(f=e(s)),d&&k.dispatchEvent(r)};y.call(k),k.time=k.frame=0,k.tick=function(){s(!0)},k.lagSmoothing=function(a,b){p=a||1/m,q=Math.min(b,p,0)},k.sleep=function(){null!=f&&(n&&A?A(f):clearTimeout(f),e=o,f=null,k===i&&(j=!1))},k.wake=function(a){null!==f?k.sleep():a?l+=-C+(C=B()):k.frame>10&&(C=B()-p+5),e=0===c?o:n&&z?z:function(a){return setTimeout(a,1e3*(h-k.time)+1|0)},k===i&&(j=!0),s(2)},k.fps=function(a){return arguments.length?(c=a,g=1/(c||60),h=this.time+g,void k.wake()):c},k.useRAF=function(a){return arguments.length?(k.sleep(),n=a,void k.fps(c)):n},k.fps(a),setTimeout(function(){\"auto\"===n&&k.frame<5&&\"hidden\"!==d.visibilityState&&k.useRAF(!1)},1500)}),h=l.Ticker.prototype=new l.events.EventDispatcher,h.constructor=l.Ticker;var D=t(\"core.Animation\",function(a,b){if(this.vars=b=b||{},this._duration=this._totalDuration=a||0,this._delay=Number(b.delay)||0,this._timeScale=1,this._active=b.immediateRender===!0,this.data=b.data,this._reversed=b.reversed===!0,X){j||i.wake();var c=this.vars.useFrames?W:X;c.add(this,c._time),this.vars.paused&&this.paused(!0)}});i=D.ticker=new l.Ticker,h=D.prototype,h._dirty=h._gc=h._initted=h._paused=!1,h._totalTime=h._time=0,h._rawPrevTime=-1,h._next=h._last=h._onUpdate=h._timeline=h.timeline=null,h._paused=!1;var E=function(){j&&B()-C>2e3&&\"hidden\"!==d.visibilityState&&i.wake();var a=setTimeout(E,2e3);a.unref&&a.unref()};E(),h.play=function(a,b){return null!=a&&this.seek(a,b),this.reversed(!1).paused(!1)},h.pause=function(a,b){return null!=a&&this.seek(a,b),this.paused(!0)},h.resume=function(a,b){return null!=a&&this.seek(a,b),this.paused(!1)},h.seek=function(a,b){return this.totalTime(Number(a),b!==!1)},h.restart=function(a,b){return this.reversed(!1).paused(!1).totalTime(a?-this._delay:0,b!==!1,!0)},h.reverse=function(a,b){return null!=a&&this.seek(a||this.totalDuration(),b),this.reversed(!0).paused(!1)},h.render=function(a,b,c){},h.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,(this._gc||!this.timeline)&&this._enabled(!0),this},h.isActive=function(){var a,b=this._timeline,c=this._startTime;return!b||!this._gc&&!this._paused&&b.isActive()&&(a=b.rawTime(!0))>=c&&a-1;)\"{self}\"===a[b]&&(c[b]=this);return c},h._callback=function(a){var b=this.vars,c=b[a],d=b[a+\"Params\"],e=b[a+\"Scope\"]||b.callbackScope||this,f=d?d.length:0;switch(f){case 0:c.call(e);break;case 1:c.call(e,d[0]);break;case 2:c.call(e,d[0],d[1]);break;default:c.apply(e,d)}},h.eventCallback=function(a,b,c,d){if(\"on\"===(a||\"\").substr(0,2)){var e=this.vars;if(1===arguments.length)return e[a];null==b?delete e[a]:(e[a]=b,e[a+\"Params\"]=p(c)&&-1!==c.join(\"\").indexOf(\"{self}\")?this._swapSelfInParams(c):c,e[a+\"Scope\"]=d),\"onUpdate\"===a&&(this._onUpdate=b)}return this},h.delay=function(a){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+a-this._delay),this._delay=a,this):this._delay},h.duration=function(a){return arguments.length?(this._duration=this._totalDuration=a,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._timethis._duration?this._duration:a,b)):this._time},h.totalTime=function(a,b,c){if(j||i.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>a&&!c&&(a+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var d=this._totalDuration,e=this._timeline;if(a>d&&!c&&(a=d),this._startTime=(this._paused?this._pauseTime:e._time)-(this._reversed?d-a:a)/this._timeScale,e._dirty||this._uncache(!1),e._timeline)for(;e._timeline;)e._timeline._time!==(e._startTime+e._totalTime)/e._timeScale&&e.totalTime(e._totalTime,!0),e=e._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==a||0===this._duration)&&(J.length&&Z(),this.render(a,b,!1),J.length&&Z())}return this},h.progress=h.totalProgress=function(a,b){var c=this.duration();return arguments.length?this.totalTime(c*a,b):c?this._time/c:this.ratio},h.startTime=function(a){return arguments.length?(a!==this._startTime&&(this._startTime=a,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,a-this._delay)),this):this._startTime},h.endTime=function(a){return this._startTime+(0!=a?this.totalDuration():this.duration())/this._timeScale},h.timeScale=function(a){if(!arguments.length)return this._timeScale;if(a=a||m,this._timeline&&this._timeline.smoothChildTiming){var b=this._pauseTime,c=b||0===b?b:this._timeline.totalTime();this._startTime=c-(c-this._startTime)*this._timeScale/a}return this._timeScale=a,this._uncache(!1)},h.reversed=function(a){return arguments.length?(a!=this._reversed&&(this._reversed=a,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},h.paused=function(a){if(!arguments.length)return this._paused;var b,c,d=this._timeline;return a!=this._paused&&d&&(j||a||i.wake(),b=d.rawTime(),c=b-this._pauseTime,!a&&d.smoothChildTiming&&(this._startTime+=c,this._uncache(!1)),this._pauseTime=a?b:null,this._paused=a,this._active=this.isActive(),!a&&0!==c&&this._initted&&this.duration()&&(b=d.smoothChildTiming?this._totalTime:(b-this._startTime)/this._timeScale,this.render(b,b===this._totalTime,!0))),this._gc&&!a&&this._enabled(!0,!1),this};var F=t(\"core.SimpleTimeline\",function(a){D.call(this,0,a),this.autoRemoveChildren=this.smoothChildTiming=!0});h=F.prototype=new D,h.constructor=F,h.kill()._gc=!1,h._first=h._last=h._recent=null,h._sortChildren=!1,h.add=h.insert=function(a,b,c,d){var e,f;if(a._startTime=Number(b||0)+a._delay,a._paused&&this!==a._timeline&&(a._pauseTime=a._startTime+(this.rawTime()-a._startTime)/a._timeScale),\na.timeline&&a.timeline._remove(a,!0),a.timeline=a._timeline=this,a._gc&&a._enabled(!0,!0),e=this._last,this._sortChildren)for(f=a._startTime;e&&e._startTime>f;)e=e._prev;return e?(a._next=e._next,e._next=a):(a._next=this._first,this._first=a),a._next?a._next._prev=a:this._last=a,a._prev=e,this._recent=a,this._timeline&&this._uncache(!0),this},h._remove=function(a,b){return a.timeline===this&&(b||a._enabled(!1,!0),a._prev?a._prev._next=a._next:this._first===a&&(this._first=a._next),a._next?a._next._prev=a._prev:this._last===a&&(this._last=a._prev),a._next=a._prev=a.timeline=null,a===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},h.render=function(a,b,c){var d,e=this._first;for(this._totalTime=this._time=this._rawPrevTime=a;e;)d=e._next,(e._active||a>=e._startTime&&!e._paused&&!e._gc)&&(e._reversed?e.render((e._dirty?e.totalDuration():e._totalDuration)-(a-e._startTime)*e._timeScale,b,c):e.render((a-e._startTime)*e._timeScale,b,c)),e=d},h.rawTime=function(){return j||i.wake(),this._totalTime};var G=t(\"TweenLite\",function(b,c,d){if(D.call(this,c,d),this.render=G.prototype.render,null==b)throw\"Cannot tween a null target.\";this.target=b=\"string\"!=typeof b?b:G.selector(b)||b;var e,f,g,h=b.jquery||b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType),i=this.vars.overwrite;if(this._overwrite=i=null==i?V[G.defaultOverwrite]:\"number\"==typeof i?i>>0:V[i],(h||b instanceof Array||b.push&&p(b))&&\"number\"!=typeof b[0])for(this._targets=g=n(b),this._propLookup=[],this._siblings=[],e=0;e1&&aa(f,this,null,1,this._siblings[e])):(f=g[e--]=G.selector(f),\"string\"==typeof f&&g.splice(e+1,1)):g.splice(e--,1);else this._propLookup={},this._siblings=$(b,this,!1),1===i&&this._siblings.length>1&&aa(b,this,null,1,this._siblings);(this.vars.immediateRender||0===c&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-m,this.render(Math.min(0,-this._delay)))},!0),H=function(b){return b&&b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType)},I=function(a,b){var c,d={};for(c in a)U[c]||c in b&&\"transform\"!==c&&\"x\"!==c&&\"y\"!==c&&\"width\"!==c&&\"height\"!==c&&\"className\"!==c&&\"border\"!==c||!(!R[c]||R[c]&&R[c]._autoCSS)||(d[c]=a[c],delete a[c]);a.css=d};h=G.prototype=new D,h.constructor=G,h.kill()._gc=!1,h.ratio=0,h._firstPT=h._targets=h._overwrittenProps=h._startAt=null,h._notifyPluginsOfEnabled=h._lazy=!1,G.version=\"1.20.2\",G.defaultEase=h._ease=new v(null,null,1,1),G.defaultOverwrite=\"auto\",G.ticker=i,G.autoSleep=120,G.lagSmoothing=function(a,b){i.lagSmoothing(a,b)},G.selector=a.$||a.jQuery||function(b){var c=a.$||a.jQuery;return c?(G.selector=c,c(b)):\"undefined\"==typeof d?b:d.querySelectorAll?d.querySelectorAll(b):d.getElementById(\"#\"===b.charAt(0)?b.substr(1):b)};var J=[],K={},L=/(?:(-|-=|\\+=)?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi,M=/[\\+-]=-?[\\.\\d]/,N=function(a){for(var b,c=this._firstPT,d=1e-6;c;)b=c.blob?1===a&&this.end?this.end:a?this.join(\"\"):this.start:c.c*a+c.s,c.m?b=c.m(b,this._target||c.t):d>b&&b>-d&&!c.blob&&(b=0),c.f?c.fp?c.t[c.p](c.fp,b):c.t[c.p](b):c.t[c.p]=b,c=c._next},O=function(a,b,c,d){var e,f,g,h,i,j,k,l=[],m=0,n=\"\",o=0;for(l.start=a,l.end=b,a=l[0]=a+\"\",b=l[1]=b+\"\",c&&(c(l),a=l[0],b=l[1]),l.length=0,e=a.match(L)||[],f=b.match(L)||[],d&&(d._next=null,d.blob=1,l._firstPT=l._applyPT=d),i=f.length,h=0;i>h;h++)k=f[h],j=b.substr(m,b.indexOf(k,m)-m),n+=j||!h?j:\",\",m+=j.length,o?o=(o+1)%5:\"rgba(\"===j.substr(-5)&&(o=1),k===e[h]||e.length<=h?n+=k:(n&&(l.push(n),n=\"\"),g=parseFloat(e[h]),l.push(g),l._firstPT={_next:l._firstPT,t:l,p:l.length-1,s:g,c:(\"=\"===k.charAt(1)?parseInt(k.charAt(0)+\"1\",10)*parseFloat(k.substr(2)):parseFloat(k)-g)||0,f:0,m:o&&4>o?Math.round:0}),m+=k.length;return n+=b.substr(m),n&&l.push(n),l.setRatio=N,M.test(b)&&(l.end=0),l},P=function(a,b,c,d,e,f,g,h,i){\"function\"==typeof d&&(d=d(i||0,a));var j,k=typeof a[b],l=\"function\"!==k?\"\":b.indexOf(\"set\")||\"function\"!=typeof a[\"get\"+b.substr(3)]?b:\"get\"+b.substr(3),m=\"get\"!==c?c:l?g?a[l](g):a[l]():a[b],n=\"string\"==typeof d&&\"=\"===d.charAt(1),o={t:a,p:b,s:m,f:\"function\"===k,pg:0,n:e||b,m:f?\"function\"==typeof f?f:Math.round:0,pr:0,c:n?parseInt(d.charAt(0)+\"1\",10)*parseFloat(d.substr(2)):parseFloat(d)-m||0};return(\"number\"!=typeof m||\"number\"!=typeof d&&!n)&&(g||isNaN(m)||!n&&isNaN(d)||\"boolean\"==typeof m||\"boolean\"==typeof d?(o.fp=g,j=O(m,n?parseFloat(o.s)+o.c:d,h||G.defaultStringFilter,o),o={t:j,p:\"setRatio\",s:0,c:1,f:2,pg:0,n:e||b,pr:0,m:0}):(o.s=parseFloat(m),n||(o.c=parseFloat(d)-o.s||0))),o.c?((o._next=this._firstPT)&&(o._next._prev=o),this._firstPT=o,o):void 0},Q=G._internals={isArray:p,isSelector:H,lazyTweens:J,blobDif:O},R=G._plugins={},S=Q.tweenLookup={},T=0,U=Q.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1,id:1,yoyoEase:1},V={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,\"true\":1,\"false\":0},W=D._rootFramesTimeline=new F,X=D._rootTimeline=new F,Y=30,Z=Q.lazyRender=function(){var a,b=J.length;for(K={};--b>-1;)a=J[b],a&&a._lazy!==!1&&(a.render(a._lazy[0],a._lazy[1],!0),a._lazy=!1);J.length=0};X._startTime=i.time,W._startTime=i.frame,X._active=W._active=!0,setTimeout(Z,1),D._updateRoot=G.render=function(){var a,b,c;if(J.length&&Z(),X.render((i.time-X._startTime)*X._timeScale,!1,!1),W.render((i.frame-W._startTime)*W._timeScale,!1,!1),J.length&&Z(),i.frame>=Y){Y=i.frame+(parseInt(G.autoSleep,10)||120);for(c in S){for(b=S[c].tweens,a=b.length;--a>-1;)b[a]._gc&&b.splice(a,1);0===b.length&&delete S[c]}if(c=X._first,(!c||c._paused)&&G.autoSleep&&!W._first&&1===i._listeners.tick.length){for(;c&&c._paused;)c=c._next;c||i.sleep()}}},i.addEventListener(\"tick\",D._updateRoot);var $=function(a,b,c){var d,e,f=a._gsTweenID;if(S[f||(a._gsTweenID=f=\"t\"+T++)]||(S[f]={target:a,tweens:[]}),b&&(d=S[f].tweens,d[e=d.length]=b,c))for(;--e>-1;)d[e]===b&&d.splice(e,1);return S[f].tweens},_=function(a,b,c,d){var e,f,g=a.vars.onOverwrite;return g&&(e=g(a,b,c,d)),g=G.onOverwrite,g&&(f=g(a,b,c,d)),e!==!1&&f!==!1},aa=function(a,b,c,d,e){var f,g,h,i;if(1===d||d>=4){for(i=e.length,f=0;i>f;f++)if((h=e[f])!==b)h._gc||h._kill(null,a,b)&&(g=!0);else if(5===d)break;return g}var j,k=b._startTime+m,l=[],n=0,o=0===b._duration;for(f=e.length;--f>-1;)(h=e[f])===b||h._gc||h._paused||(h._timeline!==b._timeline?(j=j||ba(b,0,o),0===ba(h,j,o)&&(l[n++]=h)):h._startTime<=k&&h._startTime+h.totalDuration()/h._timeScale>k&&((o||!h._initted)&&k-h._startTime<=2e-10||(l[n++]=h)));for(f=n;--f>-1;)if(h=l[f],2===d&&h._kill(c,a,b)&&(g=!0),2!==d||!h._firstPT&&h._initted){if(2!==d&&!_(h,b))continue;h._enabled(!1,!1)&&(g=!0)}return g},ba=function(a,b,c){for(var d=a._timeline,e=d._timeScale,f=a._startTime;d._timeline;){if(f+=d._startTime,e*=d._timeScale,d._paused)return-100;d=d._timeline}return f/=e,f>b?f-b:c&&f===b||!a._initted&&2*m>f-b?m:(f+=a.totalDuration()/a._timeScale/e)>b+m?0:f-b-m};h._init=function(){var a,b,c,d,e,f,g=this.vars,h=this._overwrittenProps,i=this._duration,j=!!g.immediateRender,k=g.ease;if(g.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),e={};for(d in g.startAt)e[d]=g.startAt[d];if(e.overwrite=!1,e.immediateRender=!0,e.lazy=j&&g.lazy!==!1,e.startAt=e.delay=null,e.onUpdate=g.onUpdate,e.onUpdateScope=g.onUpdateScope||g.callbackScope||this,this._startAt=G.to(this.target,0,e),j)if(this._time>0)this._startAt=null;else if(0!==i)return}else if(g.runBackwards&&0!==i)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{0!==this._time&&(j=!1),c={};for(d in g)U[d]&&\"autoCSS\"!==d||(c[d]=g[d]);if(c.overwrite=0,c.data=\"isFromStart\",c.lazy=j&&g.lazy!==!1,c.immediateRender=j,this._startAt=G.to(this.target,0,c),j){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=k=k?k instanceof v?k:\"function\"==typeof k?new v(k,g.easeParams):w[k]||G.defaultEase:G.defaultEase,g.easeParams instanceof Array&&k.config&&(this._ease=k.config.apply(k,g.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(f=this._targets.length,a=0;f>a;a++)this._initProps(this._targets[a],this._propLookup[a]={},this._siblings[a],h?h[a]:null,a)&&(b=!0);else b=this._initProps(this.target,this._propLookup,this._siblings,h,0);if(b&&G._onPluginEvent(\"_onInitAllProps\",this),h&&(this._firstPT||\"function\"!=typeof this.target&&this._enabled(!1,!1)),g.runBackwards)for(c=this._firstPT;c;)c.s+=c.c,c.c=-c.c,c=c._next;this._onUpdate=g.onUpdate,this._initted=!0},h._initProps=function(b,c,d,e,f){var g,h,i,j,k,l;if(null==b)return!1;K[b._gsTweenID]&&Z(),this.vars.css||b.style&&b!==a&&b.nodeType&&R.css&&this.vars.autoCSS!==!1&&I(this.vars,b);for(g in this.vars)if(l=this.vars[g],U[g])l&&(l instanceof Array||l.push&&p(l))&&-1!==l.join(\"\").indexOf(\"{self}\")&&(this.vars[g]=l=this._swapSelfInParams(l,this));else if(R[g]&&(j=new R[g])._onInitTween(b,this.vars[g],this,f)){for(this._firstPT=k={_next:this._firstPT,t:j,p:\"setRatio\",s:0,c:1,f:1,n:g,pg:1,pr:j._priority,m:0},h=j._overwriteProps.length;--h>-1;)c[j._overwriteProps[h]]=this._firstPT;(j._priority||j._onInitAllProps)&&(i=!0),(j._onDisable||j._onEnable)&&(this._notifyPluginsOfEnabled=!0),k._next&&(k._next._prev=k)}else c[g]=P.call(this,b,g,\"get\",l,g,0,null,this.vars.stringFilter,f);return e&&this._kill(e,b)?this._initProps(b,c,d,e,f):this._overwrite>1&&this._firstPT&&d.length>1&&aa(b,this,c,this._overwrite,d)?(this._kill(c,b),this._initProps(b,c,d,e,f)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(K[b._gsTweenID]=!0),i)},h.render=function(a,b,c){var d,e,f,g,h=this._time,i=this._duration,j=this._rawPrevTime;if(a>=i-1e-7&&a>=0)this._totalTime=this._time=i,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(d=!0,e=\"onComplete\",c=c||this._timeline.autoRemoveChildren),0===i&&(this._initted||!this.vars.lazy||c)&&(this._startTime===this._timeline._duration&&(a=0),(0>j||0>=a&&a>=-1e-7||j===m&&\"isPause\"!==this.data)&&j!==a&&(c=!0,j>m&&(e=\"onReverseComplete\")),this._rawPrevTime=g=!b||a||j===a?a:m);else if(1e-7>a)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==h||0===i&&j>0)&&(e=\"onReverseComplete\",d=this._reversed),0>a&&(this._active=!1,0===i&&(this._initted||!this.vars.lazy||c)&&(j>=0&&(j!==m||\"isPause\"!==this.data)&&(c=!0),this._rawPrevTime=g=!b||a||j===a?a:m)),(!this._initted||this._startAt&&this._startAt.progress())&&(c=!0);else if(this._totalTime=this._time=a,this._easeType){var k=a/i,l=this._easeType,n=this._easePower;(1===l||3===l&&k>=.5)&&(k=1-k),3===l&&(k*=2),1===n?k*=k:2===n?k*=k*k:3===n?k*=k*k*k:4===n&&(k*=k*k*k*k),1===l?this.ratio=1-k:2===l?this.ratio=k:.5>a/i?this.ratio=k/2:this.ratio=1-k/2}else this.ratio=this._ease.getRatio(a/i);if(this._time!==h||c){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!c&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=h,this._rawPrevTime=j,J.push(this),void(this._lazy=[a,b]);this._time&&!d?this.ratio=this._ease.getRatio(this._time/i):d&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==h&&a>=0&&(this._active=!0),0===h&&(this._startAt&&(a>=0?this._startAt.render(a,b,c):e||(e=\"_dummyGS\")),this.vars.onStart&&(0!==this._time||0===i)&&(b||this._callback(\"onStart\"))),f=this._firstPT;f;)f.f?f.t[f.p](f.c*this.ratio+f.s):f.t[f.p]=f.c*this.ratio+f.s,f=f._next;this._onUpdate&&(0>a&&this._startAt&&a!==-1e-4&&this._startAt.render(a,b,c),b||(this._time!==h||d||c)&&this._callback(\"onUpdate\")),e&&(!this._gc||c)&&(0>a&&this._startAt&&!this._onUpdate&&a!==-1e-4&&this._startAt.render(a,b,c),d&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[e]&&this._callback(e),0===i&&this._rawPrevTime===m&&g!==m&&(this._rawPrevTime=0))}},h._kill=function(a,b,c){if(\"all\"===a&&(a=null),null==a&&(null==b||b===this.target))return this._lazy=!1,this._enabled(!1,!1);b=\"string\"!=typeof b?b||this._targets||this.target:G.selector(b)||b;var d,e,f,g,h,i,j,k,l,m=c&&this._time&&c._startTime===this._startTime&&this._timeline===c._timeline;if((p(b)||H(b))&&\"number\"!=typeof b[0])for(d=b.length;--d>-1;)this._kill(a,b[d],c)&&(i=!0);else{if(this._targets){for(d=this._targets.length;--d>-1;)if(b===this._targets[d]){h=this._propLookup[d]||{},this._overwrittenProps=this._overwrittenProps||[],e=this._overwrittenProps[d]=a?this._overwrittenProps[d]||{}:\"all\";break}}else{if(b!==this.target)return!1;h=this._propLookup,e=this._overwrittenProps=a?this._overwrittenProps||{}:\"all\"}if(h){if(j=a||h,k=a!==e&&\"all\"!==e&&a!==h&&(\"object\"!=typeof a||!a._tempKill),c&&(G.onOverwrite||this.vars.onOverwrite)){for(f in j)h[f]&&(l||(l=[]),l.push(f));if((l||!a)&&!_(this,c,b,l))return!1}for(f in j)(g=h[f])&&(m&&(g.f?g.t[g.p](g.s):g.t[g.p]=g.s,i=!0),g.pg&&g.t._kill(j)&&(i=!0),g.pg&&0!==g.t._overwriteProps.length||(g._prev?g._prev._next=g._next:g===this._firstPT&&(this._firstPT=g._next),g._next&&(g._next._prev=g._prev),g._next=g._prev=null),delete h[f]),k&&(e[f]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return i},h.invalidate=function(){return this._notifyPluginsOfEnabled&&G._onPluginEvent(\"_onDisable\",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],D.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-m,this.render(Math.min(0,-this._delay))),this},h._enabled=function(a,b){if(j||i.wake(),a&&this._gc){var c,d=this._targets;if(d)for(c=d.length;--c>-1;)this._siblings[c]=$(d[c],this,!0);else this._siblings=$(this.target,this,!0)}return D.prototype._enabled.call(this,a,b),this._notifyPluginsOfEnabled&&this._firstPT?G._onPluginEvent(a?\"_onEnable\":\"_onDisable\",this):!1},G.to=function(a,b,c){return new G(a,b,c)},G.from=function(a,b,c){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,new G(a,b,c)},G.fromTo=function(a,b,c,d){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,new G(a,b,d)},G.delayedCall=function(a,b,c,d,e){return new G(b,0,{delay:a,onComplete:b,onCompleteParams:c,callbackScope:d,onReverseComplete:b,onReverseCompleteParams:c,immediateRender:!1,lazy:!1,useFrames:e,overwrite:0})},G.set=function(a,b){return new G(a,0,b)},G.getTweensOf=function(a,b){if(null==a)return[];a=\"string\"!=typeof a?a:G.selector(a)||a;var c,d,e,f;if((p(a)||H(a))&&\"number\"!=typeof a[0]){for(c=a.length,d=[];--c>-1;)d=d.concat(G.getTweensOf(a[c],b));for(c=d.length;--c>-1;)for(f=d[c],e=c;--e>-1;)f===d[e]&&d.splice(c,1)}else if(a._gsTweenID)for(d=$(a).concat(),c=d.length;--c>-1;)(d[c]._gc||b&&!d[c].isActive())&&d.splice(c,1);return d||[]},G.killTweensOf=G.killDelayedCallsTo=function(a,b,c){\"object\"==typeof b&&(c=b,b=!1);for(var d=G.getTweensOf(a,b),e=d.length;--e>-1;)d[e]._kill(c,a)};var ca=t(\"plugins.TweenPlugin\",function(a,b){this._overwriteProps=(a||\"\").split(\",\"),this._propName=this._overwriteProps[0],this._priority=b||0,this._super=ca.prototype},!0);if(h=ca.prototype,ca.version=\"1.19.0\",ca.API=2,h._firstPT=null,h._addTween=P,h.setRatio=N,h._kill=function(a){var b,c=this._overwriteProps,d=this._firstPT;if(null!=a[this._propName])this._overwriteProps=[];else for(b=c.length;--b>-1;)null!=a[c[b]]&&c.splice(b,1);for(;d;)null!=a[d.n]&&(d._next&&(d._next._prev=d._prev),d._prev?(d._prev._next=d._next,d._prev=null):this._firstPT===d&&(this._firstPT=d._next)),d=d._next;return!1},h._mod=h._roundProps=function(a){for(var b,c=this._firstPT;c;)b=a[this._propName]||null!=c.n&&a[c.n.split(this._propName+\"_\").join(\"\")],b&&\"function\"==typeof b&&(2===c.f?c.t._applyPT.m=b:c.m=b),c=c._next},G._onPluginEvent=function(a,b){var c,d,e,f,g,h=b._firstPT;if(\"_onInitAllProps\"===a){for(;h;){for(g=h._next,d=e;d&&d.pr>h.pr;)d=d._next;(h._prev=d?d._prev:f)?h._prev._next=h:e=h,(h._next=d)?d._prev=h:f=h,h=g}h=b._firstPT=e}for(;h;)h.pg&&\"function\"==typeof h.t[a]&&h.t[a]()&&(c=!0),h=h._next;return c},ca.activate=function(a){for(var b=a.length;--b>-1;)a[b].API===ca.API&&(R[(new a[b])._propName]=a[b]);return!0},s.plugin=function(a){if(!(a&&a.propName&&a.init&&a.API))throw\"illegal plugin definition.\";var b,c=a.propName,d=a.priority||0,e=a.overwriteProps,f={init:\"_onInitTween\",set:\"setRatio\",kill:\"_kill\",round:\"_mod\",mod:\"_mod\",initAll:\"_onInitAllProps\"},g=t(\"plugins.\"+c.charAt(0).toUpperCase()+c.substr(1)+\"Plugin\",function(){ca.call(this,c,d),this._overwriteProps=e||[]},a.global===!0),h=g.prototype=new ca(c);h.constructor=g,g.API=a.API;for(b in f)\"function\"==typeof a[b]&&(h[f[b]]=a[b]);return g.version=a.version,ca.activate([g]),g},f=a._gsQueue){for(g=0;g|Object.|string)} val\n * @param {?Array.} escaping\n * @return {String}\n */\nexports.classes = pug_classes;\nfunction pug_classes_array(val, escaping) {\n var classString = '', className, padding = '', escapeEnabled = Array.isArray(escaping);\n for (var i = 0; i < val.length; i++) {\n className = pug_classes(val[i]);\n if (!className) continue;\n escapeEnabled && escaping[i] && (className = pug_escape(className));\n classString = classString + padding + className;\n padding = ' ';\n }\n return classString;\n}\nfunction pug_classes_object(val) {\n var classString = '', padding = '';\n for (var key in val) {\n if (key && val[key] && pug_has_own_property.call(val, key)) {\n classString = classString + padding + key;\n padding = ' ';\n }\n }\n return classString;\n}\nfunction pug_classes(val, escaping) {\n if (Array.isArray(val)) {\n return pug_classes_array(val, escaping);\n } else if (val && typeof val === 'object') {\n return pug_classes_object(val);\n } else {\n return val || '';\n }\n}\n\n/**\n * Convert object or string to a string of CSS styles delimited by a semicolon.\n *\n * @param {(Object.|string)} val\n * @return {String}\n */\n\nexports.style = pug_style;\nfunction pug_style(val) {\n if (!val) return '';\n if (typeof val === 'object') {\n var out = '';\n for (var style in val) {\n /* istanbul ignore else */\n if (pug_has_own_property.call(val, style)) {\n out = out + style + ':' + val[style] + ';';\n }\n }\n return out;\n } else {\n val += '';\n if (val[val.length - 1] !== ';') \n return val + ';';\n return val;\n }\n};\n\n/**\n * Render the given attribute.\n *\n * @param {String} key\n * @param {String} val\n * @param {Boolean} escaped\n * @param {Boolean} terse\n * @return {String}\n */\nexports.attr = pug_attr;\nfunction pug_attr(key, val, escaped, terse) {\n if (val === false || val == null || !val && (key === 'class' || key === 'style')) {\n return '';\n }\n if (val === true) {\n return ' ' + (terse ? key : key + '=\"' + key + '\"');\n }\n if (typeof val.toJSON === 'function') {\n val = val.toJSON();\n }\n if (typeof val !== 'string') {\n val = JSON.stringify(val);\n if (!escaped && val.indexOf('\"') !== -1) {\n return ' ' + key + '=\\'' + val.replace(/'/g, ''') + '\\'';\n }\n }\n if (escaped) val = pug_escape(val);\n return ' ' + key + '=\"' + val + '\"';\n};\n\n/**\n * Render the given attributes object.\n *\n * @param {Object} obj\n * @param {Object} terse whether to use HTML5 terse boolean attributes\n * @return {String}\n */\nexports.attrs = pug_attrs;\nfunction pug_attrs(obj, terse){\n var attrs = '';\n\n for (var key in obj) {\n if (pug_has_own_property.call(obj, key)) {\n var val = obj[key];\n\n if ('class' === key) {\n val = pug_classes(val);\n attrs = pug_attr(key, val, false, terse) + attrs;\n continue;\n }\n if ('style' === key) {\n val = pug_style(val);\n }\n attrs += pug_attr(key, val, false, terse);\n }\n }\n\n return attrs;\n};\n\n/**\n * Escape the given string of `html`.\n *\n * @param {String} html\n * @return {String}\n * @api private\n */\n\nvar pug_match_html = /[\"&<>]/;\nexports.escape = pug_escape;\nfunction pug_escape(_html){\n var html = '' + _html;\n var regexResult = pug_match_html.exec(html);\n if (!regexResult) return _html;\n\n var result = '';\n var i, lastIndex, escape;\n for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n switch (html.charCodeAt(i)) {\n case 34: escape = '"'; break;\n case 38: escape = '&'; break;\n case 60: escape = '<'; break;\n case 62: escape = '>'; break;\n default: continue;\n }\n if (lastIndex !== i) result += html.substring(lastIndex, i);\n lastIndex = i + 1;\n result += escape;\n }\n if (lastIndex !== i) return result + html.substring(lastIndex, i);\n else return result;\n};\n\n/**\n * Re-throw the given `err` in context to the\n * the pug in `filename` at the given `lineno`.\n *\n * @param {Error} err\n * @param {String} filename\n * @param {String} lineno\n * @param {String} str original source\n * @api private\n */\n\nexports.rethrow = pug_rethrow;\nfunction pug_rethrow(err, filename, lineno, str){\n if (!(err instanceof Error)) throw err;\n if ((typeof window != 'undefined' || !filename) && !str) {\n err.message += ' on line ' + lineno;\n throw err;\n }\n try {\n str = str || __webpack_require__(85).readFileSync(filename, 'utf8')\n } catch (ex) {\n pug_rethrow(err, null, lineno)\n }\n var context = 3\n , lines = str.split('\\n')\n , start = Math.max(lineno - context, 0)\n , end = Math.min(lines.length, lineno + context);\n\n // Error context\n var context = lines.slice(start, end).map(function(line, i){\n var curr = i + start + 1;\n return (curr == lineno ? ' > ' : ' ')\n + curr\n + '| '\n + line;\n }).join('\\n');\n\n // Alter exception message\n err.path = filename;\n err.message = (filename || 'Pug') + ':' + lineno\n + '\\n' + context + '\\n\\n' + err.message;\n throw err;\n};\n\n\n/***/ }),\n/* 5 */,\n/* 6 */,\n/* 7 */,\n/* 8 */,\n/* 9 */,\n/* 10 */,\n/* 11 */,\n/* 12 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_loglevel__ = __webpack_require__(70);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_loglevel___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_loglevel__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_suga__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_suga___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_suga__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_pixi_timeout__ = __webpack_require__(71);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_pixi_timeout___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_pixi_timeout__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_pixi_pause__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_pixi_pause___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_pixi_pause__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_pixi_center__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_pixi_center___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_pixi_center__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_pariplay__ = __webpack_require__(74);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_pariplay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_pariplay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__model_image_model__ = __webpack_require__(75);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__model_game_model__ = __webpack_require__(80);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_tween__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_tween___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_tween__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__vendor_custom_ease__ = __webpack_require__(82);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__vendor_custom_ease___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10__vendor_custom_ease__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__api__ = __webpack_require__(83);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__pug_toast_pug__ = __webpack_require__(84);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__pug_toast_pug___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12__pug_toast_pug__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Webpack loaders\nvar configDefaults = __webpack_require__(13);\nvar errorConfig = __webpack_require__(14);\nvar ThemeImageModel = __webpack_require__(15);\n\n// Native\n\n\n\n// set up my awesome pixi extras\n\n\n\n\n// Common Views\n\n\n\n// Models\n\n\n\n// Import tween library\n\n\n\n// HACK\n\n\n\n\nwindow.toastr.options = {\n closeButton: true,\n debug: false,\n newestOnTop: false,\n progressBar: false,\n positionClass: \"toast-top-full-width\",\n preventDuplicates: false,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: 7000,\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"slideDown\",\n hideMethod: \"slideUp\",\n tapToDismiss: false,\n onclick: false,\n closeOnHover: false\n\n /**\n * Class for game.\n */\n};\nvar Game = function () {\n /**\n * Constructs the object.\n */\n function Game() {\n var _this = this;\n\n _classCallCheck(this, Game);\n\n window.__log = __WEBPACK_IMPORTED_MODULE_0_loglevel___default.a;\n __WEBPACK_IMPORTED_MODULE_0_loglevel___default.a.disableAll();\n\n // inject the common & default config options\n this.gameModel = new __WEBPACK_IMPORTED_MODULE_8__model_game_model__[\"a\" /* default */]();\n this.gameModel = Object.assign(this.gameModel, configDefaults);\n\n // __dpi = 3; // SUGA.Device.getDpi()\n // __postfix = SUGA.Device.getResPostfix(__dpi);\n\n // start the progress bar\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Progress\"].init('progress-container');\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Progress\"].start();\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Progress\"].trickle();\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Device\"].listenForFullscreenChanges();\n\n // extend PIXI\n __WEBPACK_IMPORTED_MODULE_5_vue__[\"Pixi\"].extend(3);\n\n // get the query string\n var queryData = UTIL.getQueryAsObj();\n\n // overwrite games which dont have a code\n if (__theme.apiGameCode) {\n queryData.gameCode = __theme.apiGameCode;\n }\n\n // create an instance of the RGS lib &\n // set it up with the URL querystring data\n // if you are managing your own history you need to handle `back`\n this.rgs = new __WEBPACK_IMPORTED_MODULE_6_pariplay__[\"Pariplay\"](queryData, __isMobile, function () {\n return _this.forceBack();\n });\n\n // toggle logging based on the this.gameModel.debug\n this.setupLogging();\n\n this.rgs.loadGame(function (err, rgsModel) {\n _this.loadGameHandler(err, rgsModel);\n });\n }\n\n /**\n * Loads a game handler.\n *\n * @param {object} err The error\n * @param {object} rgsModel The rgs model\n */\n\n\n _createClass(Game, [{\n key: 'loadGameHandler',\n value: function loadGameHandler(err, rgsModel) {\n var _this2 = this;\n\n // inject the data from the load game request\n this.gameModel = Object.assign(this.gameModel, rgsModel.getData());\n\n // // inject the theme specific values\n this.gameModel = Object.assign(this.gameModel, __theme);\n\n // make the whole thing global, for easy logging\n window.__config = this.gameModel;\n\n // setup the currency manager\n this.setupCurrencyManager();\n\n // setup all the event listeners\n this.setupEventListeners();\n\n // toggle showing the debug info & options\n this.setupDebugging();\n\n // start Google Analytics tracking\n this.setupTrackingManager();\n\n // load fonts, images, etc\n this.setupIndependentManagers(function () {\n // this essentially starts PIXI\n // and the render loop\n _this2.setupCanvasManager(function () {\n // setup some views, so we can either\n // display the game or any errors\n _this2.setupInitialViews();\n\n // show the game and hide the loader\n _this2.showGameAfterDelay();\n\n // wait until we get a valid response\n // this callback will be called multiple times\n if (err) {\n _this2.showNotificationView(err);\n\n return;\n }\n\n // check we have the current & valid balance\n _this2.getInitialBalance(rgsModel, function () {\n // tell Google Analytics we are up and running\n _this2.trackingManager.event('Request', 'LoadGame', !!err);\n\n // set the default reality check timer\n _this2.setupRealityCheckManager();\n\n // setup & start sound\n _this2.setupSoundManager();\n\n // start a replay game first if there is one to show\n if (_this2.gameModel.replayOutcome) {\n _this2.showReplayMessage();\n\n return;\n }\n\n // start a normal game (no replay)\n _this2.startGame(1);\n });\n });\n });\n }\n\n /**\n * Gets the initial balance.\n *\n * @param {Object} rgsModel The rgs model\n * @param {Function} cb Completion handler\n */\n\n }, {\n key: 'getInitialBalance',\n value: function getInitialBalance(rgsModel, cb) {\n var _this3 = this;\n\n // now we validate the state of the game\n // we wait until now so everything is setup\n // and any actions such as errors or replays\n // can be displayed to the user\n this.rgs.getInitialBalance(rgsModel, function (err, balance) {\n // wait until we get a valid response\n // this callback will be called multiple times\n if (err) {\n _this3.showNotificationView(err);\n\n return;\n }\n\n // if the balance is unknown. `-1` represents unknown\n if (balance === null || balance === undefined) {\n balance = -1;\n }\n\n // tell the rest of the app about the balance\n _this3.setBalance(balance, false);\n\n // update the balance if the process got a new balance\n if (balance !== null && balance !== undefined) {\n _this3.gameModel.setBalance(balance);\n }\n\n // tell Google Analytics we are up and running\n _this3.trackingManager.event('Request', 'LoadGame', !!err);\n\n cb();\n });\n }\n\n /**\n * Adds the event listeners\n */\n\n }, {\n key: 'setupEventListeners',\n value: function setupEventListeners() {\n var _this4 = this;\n\n // notification view events\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('start-replay', function (data) {\n return _this4.startReplay(data);\n });\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('end-replay', function (data) {\n return _this4.endReplay(data);\n });\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('reload', function (e) {\n return _this4.reload(e);\n });\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('hide-reality-check', function (data) {\n return _this4.hideRealityCheck(data);\n });\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('hide-error', function (err) {\n return _this4.hideNotificationView(err);\n });\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('continue', function (err) {\n return _this4.continueWithBet(err);\n });\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('quit', function (e) {\n return _this4.rgs.goHome(e);\n }); // RGS external link\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('cashier', function (e) {\n return _this4.rgs.goCashier(e);\n }); // RGS external link\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('buy-more', function (e) {\n return _this4.rgs.goBuyMore(e);\n }); // RGS external link\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('history', function (e) {\n return _this4.rgs.goHistory(e);\n }); // RGS external link\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Event\"].on('link', function (e) {\n return _this4.openLink(e);\n }); // RGS external link\n }\n\n /**\n * To log or not to log, that is the question\n */\n\n }, {\n key: 'setupLogging',\n value: function setupLogging() {\n // turn loggin of by default\n if (this.gameModel.debug) {\n __WEBPACK_IMPORTED_MODULE_0_loglevel___default.a.enableAll();\n }\n }\n\n /**\n * Set up the vies we will nees initially\n */\n\n }, {\n key: 'setupInitialViews',\n value: function setupInitialViews() {\n var _this5 = this;\n\n // get size of all the elements\n var size = this.canvasManager.gameDimensions;\n\n var GameView = __webpack_require__(86).default;\n\n var gameOpts = {\n font: this.gameModel.font,\n showTicketId: this.gameModel.showTicketId,\n stake: this.gameModel.getStake(),\n stakes: this.gameModel.stakes,\n multipliers: this.gameModel.prizeMultipliers,\n moneyBagMultiplier: this.gameModel.moneyBagMultiplier,\n placeBet: function placeBet(data) {\n return _this5.placeBet(data);\n },\n endBet: function endBet(data) {\n return _this5.endBet(data);\n },\n resultShown: function resultShown(data) {\n return _this5.resultShown(data);\n },\n showMatch: function showMatch(data) {\n return _this5.showMatch(data);\n },\n stakeChange: function stakeChange(data) {\n return _this5.stakeChange(data);\n }\n };\n\n // setup game view aswell\n this.gameView = new GameView(size, gameOpts, this.themeImageModel);\n this.canvasManager.pushView(this.gameView, false);\n\n // setup this shit helpView\n if (this.gameModel.showHelpButton) {\n var HelpView = __webpack_require__(101).default;\n\n var helpOpts = {\n font: this.gameModel.font,\n helpUrl: this.gameModel.getHelpUrl(),\n balanceBarHeight: 45,\n onBackClick: function onBackClick() {\n return _this5.hideHelpView();\n }\n };\n\n this.helpView = new HelpView(size, helpOpts);\n }\n\n // setup menu view\n var CurtainView = __webpack_require__(102).default;\n\n this.curtainView = new CurtainView(this.themeImageModel, size);\n\n this.canvasManager.pushView(this.curtainView, false);\n\n // localize introtext\n var maxPrize = this.currencyManager.localize(this.gameModel.maxPrize);\n var introtext = __t.str('introtext', { maxPrize: maxPrize });\n\n // action when user clicks play from menu\n var buttonHandler = function buttonHandler() {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Sound\"].play('click');\n _this5.hideMenuView(false);\n };\n\n // setup menu view\n var MenuView = __webpack_require__(103).default;\n\n this.menuView = new MenuView(this.themeImageModel, size, introtext, buttonHandler);\n\n this.canvasManager.pushView(this.menuView, false);\n\n // action when user clicks play from menu\n var winButtonHandler = function winButtonHandler() {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Sound\"].play('click');\n _this5.hideWinView();\n };\n\n // setup menu view\n var WinView = __webpack_require__(104).default;\n\n this.winView = new WinView(this.themeImageModel, size, winButtonHandler, this.gameModel.moneyBagMultiplier);\n\n // make everything fit\n this.canvasManager.sizeToFit();\n }\n\n /**\n * Sequence of animations to show the MenuView\n */\n\n }, {\n key: 'showMenuView',\n value: function showMenuView(delay) {\n var _this6 = this;\n\n PIXI.setTimeout(delay, function () {\n _this6.menuView.close();\n });\n }\n\n /**\n * Hides the menu view.\n */\n\n }, {\n key: 'hideMenuView',\n value: function hideMenuView() {\n var _this7 = this;\n\n var isReplay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.menuView.open(function () {\n _this7.curtainView.open();\n\n if (!isReplay) {\n // pop menu view\n _this7.canvasManager.popView(false);\n\n // we won't need this view again\n _this7.menuView = null;\n delete _this7.menuView;\n\n // lets go\n _this7.gameView.showPlayAndBetBtns();\n }\n });\n }\n\n /**\n * Setup the class that managers PIXI and all the view navigation\n *\n * @param {Function} cb Handler when we are done\n */\n\n }, {\n key: 'setupCanvasManager',\n value: function setupCanvasManager(cb) {\n var _this8 = this;\n\n // build the views needed for the canvas manager\n this.gameBg = new PIXI.Sprite.fromImage(this.themeImageModel.bg);\n\n var bottomBarViewOptions = {\n bgAlpha: 1,\n infoGroupWidth: 100,\n showLastWin: true,\n betText: __t.str('Stake').toUpperCase(),\n lastWinText: __t.str('Last Win').toUpperCase(),\n balanceText: __t.str('Balance').toUpperCase(),\n autoplayText: __t.str('Autoplay').toUpperCase(),\n ticketsLeftText: __t.str('Tickets left').toUpperCase(),\n onHelpClick: function onHelpClick(e) {\n return _this8.showHelpView(e);\n },\n onHomeClick: function onHomeClick(e) {\n return _this8.rgs.goHome(e);\n },\n onMuteClick: function onMuteClick(e) {\n return _this8.toggleMute(e);\n },\n onFullscreenClick: function onFullscreenClick(e) {\n return __WEBPACK_IMPORTED_MODULE_1_suga__[\"Device\"].toggleFullscreen(document.body);\n },\n fullscreenEnabled: __WEBPACK_IMPORTED_MODULE_1_suga__[\"Device\"].fullscreenEnabled()\n };\n\n this.bottomBarView = new __WEBPACK_IMPORTED_MODULE_5_vue__[\"BottomBarView\"](this.gameModel, bottomBarViewOptions, this.currencyManager);\n\n var options = {\n dpi: 3,\n font: this.gameModel.font,\n showFPS: this.gameModel.fps,\n forceCanvas: this.gameModel.canvas,\n buttonOffset: 120,\n backgroundAnchor: this.gameModel.backgroundAnchor,\n transitionSpeed: 300,\n parallaxBgOffeset: this.gameModel.parallax,\n defaultGameWidth: this.gameModel.gameWidth,\n defaultGameHeight: this.gameModel.gameHeight,\n fixedAspect: this.gameModel.fixedAspect,\n onResize: function onResize(size) {\n return _this8.onResize(size);\n },\n onPageVisibility: function onPageVisibility(state) {\n return _this8.onPageVisibility(state);\n }\n };\n\n this.canvasManager = new __WEBPACK_IMPORTED_MODULE_5_vue__[\"Canvas\"](options, this.bottomBarView, this.gameBg);\n this.canvasManager.renderCanvas();\n this.canvasManager.sizeToFit();\n this.canvasManager.pushInitHistory('MenuView');\n\n cb();\n }\n\n /**\n * Setup the correct currency formatting\n */\n\n }, {\n key: 'setupCurrencyManager',\n value: function setupCurrencyManager() {\n var currCode = this.gameModel.currencyCode;\n var locale = this.gameModel.languageCode;\n\n this.currencyManager = new __WEBPACK_IMPORTED_MODULE_1_suga__[\"Currency\"](__WEBPACK_IMPORTED_MODULE_1_suga__[\"Data\"]);\n this.currencyManager.setup(locale, currCode);\n\n window.__c = this.currencyManager;\n\n if (this.rgs.currencyLoaded) {\n this.rgs.currencyLoaded({\n cs: this.currencyManager.getCurrencySymbol(),\n cc: this.gameModel.currencyCode\n });\n }\n }\n }, {\n key: 'setupIndependentManagers',\n value: function setupIndependentManagers(cb) {\n Promise.all([this.setupFontManager(), this.setupImageManager(), this.setupLocaleManager()]).then(cb).catch(function (reason) {\n cb();\n });\n }\n\n /**\n * Setup the image/asset loader\n */\n\n }, {\n key: 'setupImageManager',\n value: function setupImageManager() {\n var _this9 = this;\n\n return new Promise(function (resolve, reject) {\n try {\n _this9.themeImageModel = new ThemeImageModel();\n\n var themeUrls = _this9.themeImageModel.preload();\n\n _this9.imageModel = new __WEBPACK_IMPORTED_MODULE_7__model_image_model__[\"a\" /* default */]();\n\n var urls = themeUrls.concat(_this9.imageModel.preload);\n\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Loader\"].loadAssets(urls, function () {\n resolve();\n }, function (progress) {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Progress\"].set(progress / 100);\n });\n } catch (e) {\n reject();\n // eslint-disable-line\n }\n });\n }\n\n /**\n * Load the correct locale/language files\n */\n\n }, {\n key: 'setupLocaleManager',\n value: function setupLocaleManager() {\n var _this10 = this;\n\n return new Promise(function (resolve) {\n var lang = _this10.gameModel.languageCode;\n\n var hackFunctionToLoadLangFiles = function hackFunctionToLoadLangFiles() // eslint-disable-line\n {\n var path = __webpack_require__(105)(\"./\" + lang + '.json'); // eslint-disable-line\n };\n\n _this10.localeManager = new __WEBPACK_IMPORTED_MODULE_1_suga__[\"Locale\"](_this10.gameModel.defaultLanguage, './assets/lang/', __version);\n\n _this10.localeManager.setLocale(lang, resolve);\n\n window.__t = _this10.localeManager;\n });\n }\n\n /**\n * Load the fonts for the theme\n */\n\n }, {\n key: 'setupFontManager',\n value: function setupFontManager() {\n var _this11 = this;\n\n return new Promise(function (resolve) {\n // copy all the fonts over\n function fake(val) // eslint-disable-line\n {\n __webpack_require__(114)(\"./\" + val + '.eot');\n __webpack_require__(118)(\"./\" + val + '.svg');\n __webpack_require__(122)(\"./\" + val + '.ttf');\n __webpack_require__(126)(\"./\" + val + '.woff');\n __webpack_require__(130)(\"./\" + val + '.woff2');\n }\n\n // the css file loads those fonts\n var fontCssUrl = __webpack_require__(133);\n var fontsToLoad = [_this11.gameModel.getFontWithVariations(), _this11.gameModel.secondaryFont];\n\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Font\"].loadFonts(fontsToLoad, fontCssUrl, __version, function (styles) {\n if (styles) {\n styles.forEach(function (style) {\n return new PIXI.Text('test', style);\n });\n }\n\n resolve();\n });\n });\n }\n\n /**\n * Start up the audio\n */\n\n }, {\n key: 'setupSoundManager',\n value: function setupSoundManager() {\n var _this12 = this;\n\n if (__isMobile) {\n this.mute();\n }\n\n return new Promise(function (resolve, reject) {\n // get url of JSON sprite sheet\n var audioSpriteUrl = __webpack_require__(134);\n\n // fetch the JSON sprite sheet\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Network\"].getJSON(audioSpriteUrl, __version, function (err, audioSpriteObj) {\n // catch error\n if (err || !audioSpriteObj) {\n reject();\n\n return;\n }\n\n resolve();\n\n // make background audio loop\n audioSpriteObj.sprite.music.push(true);\n\n // get audio urls\n var mp3 = __webpack_require__(135);\n var ogg = __webpack_require__(136);\n\n // build options\n var options = {\n mp3: mp3 + '?v=' + __version, // version audio files\n ogg: ogg + '?v=' + __version, // version audio files\n masterVolume: _this12.gameModel.getSound(),\n volumes: _this12.gameModel.volumes,\n mute: _this12.gameModel.getMute(),\n audioSpriteObj: audioSpriteObj,\n startOnInteraction: __isMobile, // whether to start immediately or after user interaction\n element: document.getElementById('canvas')\n };\n\n var onStart = function onStart() {\n // start background audio\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Sound\"].play('music');\n };\n\n // Load the audio sprite json and setup for playback\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Sound\"].init(options, onStart);\n });\n });\n }\n\n /**\n * Start Google Analytics event and error tracking\n */\n\n }, {\n key: 'setupTrackingManager',\n value: function setupTrackingManager() {\n this.trackingManager = new __WEBPACK_IMPORTED_MODULE_1_suga__[\"Tracking\"](this.gameModel.gameCode, __version);\n }\n\n /**\n * Show the debug options\n */\n\n }, {\n key: 'setupDebugging',\n value: function setupDebugging() {\n var prizeCount = this.gameModel.paytable ? this.gameModel.paytable.length : 43;\n\n if (this.gameModel.debug) {\n __webpack_require__.e/* import() */(\"debug\").then(__webpack_require__.bind(null, 137)).then(function (module) {\n var debugManager = module.default;\n\n debugManager.render(prizeCount);\n }).catch(function (error) {\n throw new Error(error);\n });\n }\n }\n\n /**\n * Set up reality check stuff\n */\n\n }, {\n key: 'setupRealityCheckManager',\n value: function setupRealityCheckManager() {\n var _this13 = this;\n\n if (this.gameModel.showRealityCheck) {\n this.trackingManager.event('RealityCheck', 'event', 'show');\n\n var interval = this.gameModel.realityCheckSeconds;\n\n var handler = function handler(msg) {\n _this13.showRealityCheck(msg);\n };\n\n // initialize with reality check\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Reality\"].init(interval, handler, false);\n\n // start the linterval listener\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Reality\"].start();\n }\n }\n\n /**\n * Hide the load screen and display the game after short delay\n */\n\n }, {\n key: 'showGameAfterDelay',\n value: function showGameAfterDelay() {\n var _this14 = this;\n\n setTimeout(function () {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Progress\"].done();\n\n var ele = document.getElementById('initial-loader');\n\n ele.style.opacity = 0;\n ele.style.display = 'none';\n\n _this14.canvasManager.showCanvasEle();\n }, this.gameModel.hideLoaderDelay);\n }\n\n /**\n * Starts a game, after any loading messages or replays\n *\n * @param {number} delay The delay in seconds before the menu shows\n */\n\n }, {\n key: 'startGame',\n value: function startGame(delay) {\n var _this15 = this;\n\n this.canvasManager.enableUserActions();\n\n if (this.started) {\n return;\n }\n\n this.started = true;\n\n this.showMenuView(delay);\n\n this.gameView.reset();\n\n this.canvasManager.popOverlay();\n\n this.rgs.balanceHandler = function (balance) {\n if (window.UTIL.isNotNumeric(balance)) {\n return;\n }\n _this15.setBalance(balance);\n };\n\n this.setBalance(this.gameModel.getBalance());\n\n if (this.gameModel.isOutOfTickets() && this.gameModel.showBuyMoreButton) {\n this.showNotificationView({ code: 'NO_TICKETS_LEFT' });\n }\n }\n\n /**\n * Places a bet\n */\n\n }, {\n key: 'placeBet',\n value: function placeBet(delay) {\n var _this16 = this;\n\n if (this.gameModel.showRealityCheck) {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Reality\"].canShowRealityCheck(false);\n }\n\n if (this.gameModel.isOutOfTickets()) {\n this.noTicketsLeft();\n\n if (this.gameModel.showBuyMoreButton) {\n this.showNotificationView({ code: 'NO_TICKETS_LEFT' });\n\n return;\n }\n }\n\n // get the current stake\n var stake = this.gameModel.getStake();\n\n // Make the network call\n this.rgs.placeBet(stake, function (err, betModel, code) {\n // console.log(betModel)\n if (err) {\n _this16.showNotificationView(err);\n\n _this16.gameView.reset();\n _this16.gameView.showPlayAndBetBtns();\n\n return;\n }\n\n if (!betModel.isValid()) {\n _this16.showNotificationView({ code: 'PLACE_BET_INVALID' });\n\n _this16.gameView.reset();\n _this16.gameView.showPlayAndBetBtns();\n\n return;\n }\n\n _this16.bottomBarView.resetLastWin();\n\n _this16.setBalance(betModel.balance.balanceBefore);\n\n _this16.setRemainingTickets(betModel.balance.roundsLeftAfter);\n\n _this16.canvasManager.popAllOverlays();\n\n _this16.canvasManager.disableScrolling();\n\n _this16.betModel = betModel;\n\n if (betModel.messages) {\n _this16.splitMessages(betModel.messages, err);\n } else {\n _this16.gameView.executeBet(betModel, err, code);\n }\n });\n }\n }, {\n key: 'splitMessages',\n value: function splitMessages(messages, err) {\n var popups = [];\n var notes = [];\n\n messages.forEach(function (message) {\n var messageData = message.getData();\n\n if (messageData.displayType === 1) {\n notes.push(messageData);\n } else {\n popups.push(messageData);\n }\n });\n\n if (popups.length) {\n this.showPopups(popups, err);\n } else {\n this.gameView.executeBet(this.betModel, err);\n }\n\n if (notes.length) {\n this.showNotes(notes);\n }\n }\n }, {\n key: 'showPopups',\n value: function showPopups(messages, err) {\n var _this17 = this;\n\n var message = messages.shift();\n\n this.showNotificationView(message, function () {\n\n if (messages.length) {\n _this17.showPopups(messages, err);\n } else {\n _this17.gameView.executeBet(_this17.betModel, err);\n }\n });\n }\n }, {\n key: 'showNotes',\n value: function showNotes(messages) {\n var _this18 = this;\n\n if (!messages.length) return;\n\n var message = messages.shift();\n\n if (message.buttons && message.buttons.length) {\n message.buttons = message.buttons.filter(function (button) {\n if (button.action === \"history\" && !_this18.gameModel.historyUrl) return false;\n if (button.action === \"cashier\" && !_this18.gameModel.cashierUrl) return false;\n return true;\n });\n\n message.buttons = message.buttons.map(function (button) {\n return Object.assign(button, { type: 'note' });\n });\n }\n\n window.toastr.options.onHidden = function () {\n console.log('goodbye');\n _this18.currentNote = null;\n _this18.showNotes(messages);\n };\n this.currentNote = window.toastr.warning(__WEBPACK_IMPORTED_MODULE_12__pug_toast_pug___default()(message));\n }\n\n /**\n * Called after a place bet message\n *\n * @param {number} winAmount The window amount\n */\n\n }, {\n key: 'continueWithBet',\n value: function continueWithBet(e) {\n if (typeof e === 'string') {\n e = JSON.parse(e);\n }\n\n if (e && e.type && e.type === 'note') {\n $('.toast-close-button').click();\n } else {\n this.hideNotificationView();\n }\n }\n }, {\n key: 'openLink',\n value: function openLink(e) {\n var _this19 = this;\n\n if (typeof e === 'string') {\n e = JSON.parse(e);\n }\n var _e = e,\n link = _e.link,\n linkType = _e.linkType;\n\n\n this.rgs.goToURL(link, linkType, function () {\n _this19.continueWithBet(e);\n });\n }\n\n /**\n * Shows the process of 3x matches and moneybags as they are revealed.\n *\n * @param {number} winAmount The window amount\n */\n\n }, {\n key: 'showMatch',\n value: function showMatch(winAmount) {\n this.bottomBarView.updateLastWin(winAmount, function () {});\n }\n\n /**\n * This happens as soon as the result is seen\n * aka before any winning animations\n */\n\n }, {\n key: 'resultShown',\n value: function resultShown() {\n // return;\n\n this.rgs.endBet(this.betModel.getEndBetData());\n }\n\n /**\n * Ends a round. After any winning animations\n *\n * @param {object} data The data\n */\n\n }, {\n key: 'endBet',\n value: function endBet(data) {\n var _this20 = this;\n\n var winAmount = data.winAmount;\n var result = data.result;\n var isReplay = this.betModel.isReplay === true;\n\n // set balance\n this.setBalance(this.betModel.balance.balanceAfter);\n\n // Show win\n if (winAmount) {\n this.canvasManager.pushView(this.winView, false);\n\n this.curtainView.close(function () {\n _this20.gameView.reset();\n\n if (isReplay) {\n _this20.showEndReplayMessage();\n\n return;\n }\n\n _this20.winView.showElements(data, function () {\n _this20.hideWinViewTimer = PIXI.setTimeout(2, function () {\n return _this20.hideWinView();\n });\n });\n });\n }\n\n // Show loss\n else {\n PIXI.setTimeout(1, function () {\n _this20.curtainView.close(function () {\n _this20.gameView.reset();\n\n if (isReplay) {\n _this20.showEndReplayMessage();\n\n return;\n }\n\n _this20.curtainView.open(function () {\n _this20.gameView.showPlayAndBetBtns();\n });\n });\n });\n }\n\n // Do we need to show the reality check?\n if (this.gameModel.showRealityCheck) {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Reality\"].canShowRealityCheck(true);\n }\n }\n\n /**\n * Hides the window view.\n */\n\n }, {\n key: 'hideWinView',\n value: function hideWinView() {\n var _this21 = this;\n\n if (this.hideWinViewTimer) {\n this.hideWinViewTimer.clear();\n }\n\n this.gameView.reset();\n\n this.winView.hideElements(function () {\n _this21.canvasManager.popView(false);\n _this21.curtainView.open(function () {\n _this21.gameView.showPlayAndBetBtns();\n });\n });\n }\n\n /**\n * Shows the replay message.\n */\n\n }, {\n key: 'showReplayMessage',\n value: function showReplayMessage() {\n this.showNotificationView({ code: 'REPLAY_START' });\n }\n\n /**\n * Starts a replay.\n */\n\n }, {\n key: 'startReplay',\n value: function startReplay() {\n var _this22 = this;\n\n this.isAttemptingToReplay = true;\n\n var ticketModel = this.gameModel.replayOutcome;\n\n this.rgs.replayBet(ticketModel, function (err, betModel) {\n if (err) {\n _this22.showNotificationView(err);\n\n return;\n }\n\n if (!betModel.isValid()) {\n _this22.showNotificationView({ code: 'PLACE_BET_INVALID' });\n\n return;\n }\n\n _this22.hideNotificationView();\n\n _this22.trackingManager.event('Replay', 'event', 'start');\n\n _this22.setBalance(betModel.getBalanceBefore());\n\n _this22.stakeChange(betModel.getStake());\n\n _this22.hideMenuView(true);\n\n _this22.betModel = betModel;\n\n PIXI.setTimeout(2, function () {\n _this22.gameView.executeBet(betModel);\n });\n });\n }\n\n /**\n * Show a message that the replay has been seen\n */\n\n }, {\n key: 'showEndReplayMessage',\n value: function showEndReplayMessage() {\n var _this23 = this;\n\n PIXI.setTimeout(1, function () {\n _this23.showNotificationView({ code: 'REPLAY_DONE' });\n });\n }\n\n /**\n * Ends a replay.\n */\n\n }, {\n key: 'endReplay',\n value: function endReplay() {\n this.isAttemptingToReplay = false;\n this.setBalance(this.gameModel.getBalance(), false);\n this.stakeChange(this.gameModel.defaultStake);\n this.startGame(0);\n }\n\n /**\n * Shows the help view.\n */\n\n }, {\n key: 'showHelpView',\n value: function showHelpView() {\n if (this.gameModel.getHelpUrl() === null) {\n return;\n }\n\n if (this.canvasManager.isTransitioning) {\n return;\n }\n\n this.trackingManager.event('HelpView', 'views', 'show');\n\n this.helpView.show();\n }\n }, {\n key: 'hideHelpView',\n value: function hideHelpView() {\n this.helpView.hide();\n }\n\n /**\n * Shows the error view\n *\n * @param {object} rawErr The raw error\n */\n\n }, {\n key: 'showNotificationView',\n value: function showNotificationView(rawErr, cb) {\n\n var code = void 0;\n var serverMsg = void 0;\n\n if (rawErr.code) {\n code = rawErr.code;\n }\n\n if (rawErr.msg) {\n serverMsg = rawErr.msg;\n }\n\n var err = code ? UTIL.clone(errorConfig[code]) : rawErr;\n\n if (!err) {\n return;\n }\n\n if (err.showServerMsg && serverMsg) {\n err.msg = serverMsg;\n }\n\n if (err.buttons) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Array.from(err.buttons)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var button = _step.value;\n\n button.text = __t.str(button.textKey);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else {\n err.buttons = [];\n }\n\n if (err.fatal) {\n this.mute();\n this.gameView.reset();\n }\n\n this.trackingManager.exception(code + ':' + serverMsg, err.fatal);\n\n var size = this.canvasManager.gameDimensions;\n\n if (!this.notificationView) {\n var options = {\n padding: 10,\n font: this.gameModel.font,\n primaryColor: this.gameModel.primaryColor,\n showCashierButton: this.gameModel.showCashierButton,\n showHistoryButton: this.gameModel.showHistoryButton,\n showHomeButton: this.gameModel.showHomeButton,\n showBuyMoreButton: this.gameModel.showBuyMoreButton,\n buttonImages: {\n // bgUrl: this.imageModel.buttonBgImage,\n normalUrl: this.imageModel.buttonSecondaryNormalImage,\n hoverUrl: this.imageModel.buttonSecondaryHoverImage\n }\n };\n\n this.notificationView = new __WEBPACK_IMPORTED_MODULE_5_vue__[\"NotificationView\"](size, options);\n }\n\n this.notificationView.setup(err.title, err.msg, err.buttons, size, function () {});\n\n this.notificationView.errorCode = code;\n this.notificationView.onHide = cb ? cb : null;\n\n this.canvasManager.pushOverlay(this.notificationView);\n }\n\n /**\n * Hides the error view\n */\n\n }, {\n key: 'hideNotificationView',\n value: function hideNotificationView(error) {\n if (['PLACE_BET_INVALID', 'PLACE_BET_FAILED'].includes(this.notificationView.errorCode) && this.isAttemptingToReplay) {\n this.endReplay();\n }\n this.canvasManager.popOverlay();\n }\n\n /**\n * Sets the balance.\n *\n * @param {Number} balance The balance\n * @param {boolean} animate The animate\n */\n\n }, {\n key: 'setBalance',\n value: function setBalance(balance) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n this.bottomBarView.updateBalance({ balance: balance, animate: animate });\n\n if (balance !== this.gameModel.getBalance()) {\n this.rgs.balanceChanged(balance);\n }\n }\n }, {\n key: 'setRemainingTickets',\n value: function setRemainingTickets(tickets) {\n this.gameModel.setRoundsLeft(tickets);\n this.bottomBarView.updateTicketCount(tickets);\n }\n\n /**\n * Shows the reality check.\n *\n * @param {string} msg The message to dispaly\n */\n\n }, {\n key: 'showRealityCheck',\n value: function showRealityCheck(time) {\n var xHours = __t.str('%{smart_count} hours', { smart_count: time.hours });\n var xMins = __t.str('%{smart_count} mins', { smart_count: time.minutes });\n var msg = __t.str('You have been playing for %{xHours} and %{xMins}', { xHours: xHours, xMins: xMins });\n\n if (this.isShowingRealityCheck) {\n this.notificationView.updateMsg(msg);\n\n return;\n }\n\n this.showNotificationView({ code: 'REALITY_CHECK', msg: msg });\n this.isShowingRealityCheck = true;\n\n this.trackingManager.event('RealityView', 'views', 'show');\n }\n\n /**\n * Hides the reality check.\n */\n\n }, {\n key: 'hideRealityCheck',\n value: function hideRealityCheck() {\n this.isShowingRealityCheck = false;\n this.canvasManager.popOverlay();\n\n // this.gameView.resetAfterNotification();\n }\n\n /**\n * Called on resize\n */\n\n }, {\n key: 'onResize',\n value: function onResize(size) {\n this.rgs.resize(size.viewportWidth, size.viewportHeight);\n }\n\n /**\n * Reload the game\n */\n\n }, {\n key: 'reload',\n value: function reload() {\n location.reload();\n }\n\n /**\n * When page becomes visible or not\n *\n * @param {boolean} isVisible Indicates if visible\n */\n\n }, {\n key: 'onPageVisibility',\n value: function onPageVisibility(isVisible) {\n if (isVisible) {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Sound\"].resumeAll();\n } else {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Sound\"].pauseAll();\n }\n }\n\n /**\n * Toggle the sound\n */\n\n }, {\n key: 'toggleMute',\n value: function toggleMute() {\n if (!this.gameModel.getMute()) {\n this.mute();\n } else {\n this.unMute();\n }\n }\n\n /**\n * Method to mute game\n */\n\n }, {\n key: 'mute',\n value: function mute() {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Sound\"].setMute(true);\n this.gameModel.setMute(true);\n this.bottomBarView.displaySoundOffButton();\n this.trackingManager.event('Mute', 'button', true);\n }\n\n /**\n * Method to unmute the games\n */\n\n }, {\n key: 'unMute',\n value: function unMute() {\n __WEBPACK_IMPORTED_MODULE_1_suga__[\"Sound\"].setMute(false);\n this.gameModel.setMute(false);\n this.bottomBarView.displaySoundOnButton();\n this.trackingManager.event('Mute', 'button', false);\n }\n\n /**\n * { function_description }\n *\n * @param {} stake The stake\n */\n\n }, {\n key: 'stakeChange',\n value: function stakeChange(stake) {\n if (isNaN(stake)) {\n debugger;\n }\n this.gameModel.stake = stake;\n this.bottomBarView.updateStake(stake);\n }\n\n /**\n * Called when we are out of tickets\n */\n\n }, {\n key: 'noTicketsLeft',\n value: function noTicketsLeft() {\n this.rgs.noTicketsLeft();\n }\n\n /**\n * Called when game will reveal all\n */\n\n }, {\n key: 'willRevealAll',\n value: function willRevealAll() {\n this.rgs.willRevealAll();\n }\n\n /**\n * Go back - we are mananging our own history\n */\n\n }, {\n key: 'back',\n value: function back() {\n this.canvasManager.back();\n }\n\n /**\n * Force the game to the previous page\n * Needed when we manage our own history\n */\n\n }, {\n key: 'forceBack',\n value: function forceBack() {\n this.canvasManager.forceBack();\n }\n\n /**\n * Tracks events to Google Analy\n *\n * @param {array} data The data\n */\n\n }, {\n key: 'trackEvent',\n value: function trackEvent(data) {\n this.trackingManager.event(data[0], data[1], data[2]);\n }\n }]);\n\n return Game;\n}();\n\nnew Game(); // eslint-disable-line\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"gameWidth\":529,\"gameHeight\":365,\"fixedAspect\":true,\"defaultVolume\":0.6,\"defaultCurrency\":\"EUR\",\"defaultLanguage\":\"en\",\"hideLoaderDelay\":200}\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"LOAD_GAME_FAILED\":{\"title\":\"Game Error\",\"msg\":\"The Game you are trying to open is temporarily unavailable. Please try again in a few moments.\",\"fatal\":true,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Reload game\",\"action\":\"reload\"},{\"textKey\":\"Home\",\"action\":\"quit\"}]},\"LOAD_CONFIG_FAILED\":{\"title\":\"Game Error\",\"msg\":\"Game does not exist. Please try another title.\",\"fatal\":true,\"showServerMsg\":true},\"WAITING_ON_BALANCE\":{\"title\":\"Retrieving Balance\",\"msg\":\"Temporary problem. Please wait.\",\"fatal\":false,\"showServerMsg\":true},\"WAITING_ON_BALANCE_FAILED\":{\"title\":\"Temporary Problem\",\"msg\":\"Please load the game again.\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Reload game\",\"action\":\"reload\"}]},\"NO_TICKETS_LEFT\":{\"code\":112,\"title\":\"No tickets left...\",\"msg\":\"The next big win could be just around the corner. Get more tickets now.\",\"fatal\":true,\"showServerMsg\":false,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"hide-error\"},{\"textKey\":\"Get more tickets\",\"action\":\"buy-more\"},{\"textKey\":\"Home\",\"action\":\"quit\"}]},\"INSUFFICIENT_FUNDS\":{\"code\":112,\"title\":\"Oops\",\"msg\":\"You have insufficient funds\",\"fatal\":true,\"showServerMsg\":false,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"hide-error\"},{\"textKey\":\"Deposit\",\"action\":\"cashier\"},{\"textKey\":\"Home\",\"action\":\"quit\"}]},\"PLACE_BET_FAILED\":{\"title\":\"Game Error\",\"msg\":\"Bet was not placed. Please try again.\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"hide-error\"},{\"textKey\":\"Quit\",\"action\":\"quit\"}]},\"PLACE_BET_INVALID\":{\"title\":\"Game Error\",\"msg\":\"Place bet response invalid\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"hide-error\"},{\"textKey\":\"Quit\",\"action\":\"quit\"}]},\"WAITING_ON_NOTIFICATION\":{\"title\":\"Placing bet\",\"msg\":\"This is taking longer than expected. Please wait.\",\"fatal\":false,\"showServerMsg\":true},\"GAME_QUIT\":{\"title\":\"Game Quit\",\"msg\":\"You have quit the game.\",\"fatal\":true,\"showServerMsg\":true},\"REPLAY_START\":{\"title\":\"Last round not finished\",\"msg\":\"The previous unseen round will now be replayed\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"start-replay\"}]},\"REPLAY_DONE\":{\"title\":\"Replay finished\",\"msg\":\"The replay has finished, you will now return to the game\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"end-replay\"}]},\"REALITY_CHECK\":{\"title\":\"Hello there!\",\"msg\":\"\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Continue\",\"action\":\"hide-reality-check\"},{\"textKey\":\"History\",\"action\":\"history\"},{\"textKey\":\"Quit\",\"action\":\"quit\"}]}}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nmodule.exports = function () {\n /**\n * Constructs the object.\n */\n function Images() {\n _classCallCheck(this, Images);\n\n this.logo = __webpack_require__(16);\n this.bg = __webpack_require__(17);\n this.bgMask = __webpack_require__(18);\n this.btnNormalImage = __webpack_require__(19);\n this.btnHoverImage = __webpack_require__(20);\n this.iconPlay = __webpack_require__(21);\n this.iconAutopick = __webpack_require__(22);\n\n this.titleChars = __webpack_require__(23);\n\n this.curtainSide = __webpack_require__(24);\n this.curtainTop = __webpack_require__(25);\n this.curtainBack = __webpack_require__(26);\n\n this.tryCounter = __webpack_require__(27);\n this.inventory = __webpack_require__(28);\n this.glow = __webpack_require__(29);\n this.daughter = __webpack_require__(30);\n this.moneyBagWin = __webpack_require__(31);\n\n this.gem1 = __webpack_require__(32);\n this.gem2 = __webpack_require__(33);\n this.gem3 = __webpack_require__(34);\n this.gem4 = __webpack_require__(35);\n this.gem5 = __webpack_require__(36);\n this.gem6 = __webpack_require__(37);\n\n this.multi1Win = __webpack_require__(38);\n this.multi2Win = __webpack_require__(39);\n this.multi3Win = __webpack_require__(40);\n this.multi4Win = __webpack_require__(41);\n this.multi5Win = __webpack_require__(42);\n this.multi6Win = __webpack_require__(43);\n\n this.multi1Normal = __webpack_require__(44);\n this.multi2Normal = __webpack_require__(45);\n this.multi3Normal = __webpack_require__(46);\n this.multi4Normal = __webpack_require__(47);\n this.multi5Normal = __webpack_require__(48);\n this.multi6Normal = __webpack_require__(49);\n\n this.vase1Json = __webpack_require__(50);\n this.vase2Json = __webpack_require__(51);\n this.vase3Json = __webpack_require__(52);\n this.vase4Json = __webpack_require__(53);\n this.vase5Json = __webpack_require__(54);\n this.vase6Json = __webpack_require__(55);\n this.vase1png = __webpack_require__(56);\n this.vase2png = __webpack_require__(57);\n this.vase3png = __webpack_require__(58);\n this.vase4png = __webpack_require__(59);\n this.vase5png = __webpack_require__(60);\n this.vase6png = __webpack_require__(61);\n\n this.gemsJson = __webpack_require__(62);\n this.gemsPng = __webpack_require__(63);\n\n this.dustJson = __webpack_require__(64);\n this.dustPng = __webpack_require__(65);\n\n this.flameJson = __webpack_require__(66);\n this.flamePng = __webpack_require__(67);\n\n this.moneyBagJson = __webpack_require__(68);\n this.moneyBagPng = __webpack_require__(69);\n }\n\n /**\n * Gets images needed to be preloaded\n *\n * @return {Array} of image urls\n */\n\n\n _createClass(Images, [{\n key: \"preload\",\n value: function preload() {\n var assets = [this.logo, this.bg, this.bgMask, this.btnNormalImage, this.btnHoverImage, this.iconPlay, this.iconAutopick, this.titleChars, this.curtainSide, this.curtainTop, this.curtainBack, this.tryCounter, this.inventory, this.daughter, this.moneyBagWin, this.glow, this.gem1, this.gem2, this.gem3, this.gem4, this.gem5, this.gem6, this.multi1Win, this.multi2Win, this.multi3Win, this.multi4Win, this.multi5Win, this.multi6Win, this.multi1Normal, this.multi2Normal, this.multi3Normal, this.multi4Normal, this.multi5Normal, this.multi6Normal, this.vase1Json, this.vase2Json, this.vase3Json, this.vase4Json, this.vase5Json, this.vase6Json, this.gemsJson, this.dustJson, this.flameJson, this.moneyBagJson];\n\n return assets;\n }\n }]);\n\n return Images;\n}();\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/logo-title@3x.png\";\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/background@3x.jpg\";\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/color-mask@3x.png\";\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/button-normal@3x.png\";\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/button-hover@3x.png\";\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/play@3x.png\";\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/autoplay@3x.png\";\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/title-characters@3x.png\";\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/curtain-side@3x.png\";\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/curtain-top@3x.png\";\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/curtain@3x.png\";\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/try-counter@3x.png\";\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/inventory@3x.png\";\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/glow-overlay@3x.png\";\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/daughter@3x.png\";\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/money-state-2@3x.png\";\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/gem-1@3x.png\";\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/gem-2@3x.png\";\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/gem-3@3x.png\";\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/gem-4@3x.png\";\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/gem-5@3x.png\";\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/gem-6@3x.png\";\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x1-gold@3x.png\";\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x3-gold@3x.png\";\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x5-gold@3x.png\";\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x10-gold@3x.png\";\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x250-gold@3x.png\";\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x3000-gold@3x.png\";\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x1-silver@3x.png\";\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x3-silver@3x.png\";\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x5-silver@3x.png\";\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x10-silver@3x.png\";\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x250-silver@3x.png\";\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/img/x3000-silver@3x.png\";\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-1@3x.json\";\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-2@3x.json\";\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-3@3x.json\";\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-4@3x.json\";\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-5@3x.json\";\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-6@3x.json\";\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-1@3x.png\";\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-2@3x.png\";\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-3@3x.png\";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-4@3x.png\";\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-5@3x.png\";\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/vase-6@3x.png\";\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/gems@3x.json\";\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/gems@3x.png\";\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/dust@3x.json\";\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/dust@3x.png\";\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/flame@3x.json\";\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/flame@3x.png\";\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/money@3x.json\";\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sprite/money@3x.png\";\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (true) {\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (definition),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n var storageKey = \"loglevel\";\n if (name) {\n storageKey += \":\" + name;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if (typeof name !== \"string\" || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n return defaultLogger;\n}));\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports) {\n\n/**\n * pixi-timeout is a plugin which replicates the behaviour of window.setTimout\n * but uses PIXI.Ticker (requestAnimationFrame) as the method of progressing time\n * The bonus is that any timeouts will be paused and resumed automatically when\n * you call PIXI.Application.stop & PIXI.Application.start\n */\n(function init(pixi) {\n if (!pixi) {\n throw new Error(\"PIXI was not found\");\n }\n\n if (!pixi.ticker || !pixi.ticker.shared) {\n throw new Error(\"PIXI.ticker was not found\");\n }\n /**\n * Sets a timeout.\n *\n * @param {number} secs The seconds\n * @param {Function} cb Callback function to fire after timeout\n * @return {object} Timer state object\n */\n\n\n function setTimeout(secs, cb) {\n var progress = 0;\n\n var ticker = function ticker(delta) {\n progress += delta;\n var elapsed = progress / (60 * pixi.ticker.shared.speed);\n if (elapsed > secs) end(true);\n };\n\n var end = function end(fire) {\n pixi.ticker.shared.remove(ticker);\n if (fire) cb();\n };\n\n var clear = function clear() {\n end(false);\n };\n\n var finish = function finish() {\n end(true);\n }; // start\n\n\n pixi.ticker.shared.add(ticker);\n return {\n clear: clear,\n finish: finish\n };\n }\n /**\n * Clears a timeout, preventing the function from being fired\n *\n * @param {object} timerObj A timer state object\n */\n\n\n function clearTimeout(timerObj) {\n timerObj.clear();\n }\n\n pixi.setTimeout = setTimeout;\n pixi.clearTimeout = clearTimeout; // eslint-disable-next-line\n})(PIXI);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7QUFNQyxVQUFTLElBQVQsQ0FBYyxJQUFkLEVBQ0Q7QUFDSSxNQUFJLENBQUMsSUFBTCxFQUNBO0FBQ0ksVUFBTSxJQUFJLEtBQUosQ0FBVSxvQkFBVixDQUFOO0FBQ0g7O0FBRUQsTUFBSSxDQUFDLEtBQUssTUFBTixJQUFnQixDQUFDLEtBQUssTUFBTCxDQUFZLE1BQWpDLEVBQ0E7QUFDSSxVQUFNLElBQUksS0FBSixDQUFVLDJCQUFWLENBQU47QUFDSDtBQUVEOzs7Ozs7Ozs7QUFPQSxXQUFTLFVBQVQsQ0FBb0IsSUFBcEIsRUFBMEIsRUFBMUIsRUFDQTtBQUNJLFFBQUksV0FBVyxDQUFmOztBQUVBLFFBQU0sU0FBVSxTQUFWLE1BQVUsQ0FBQyxLQUFELEVBQ2hCO0FBQ0ksa0JBQVksS0FBWjtBQUVBLFVBQU0sVUFBVSxZQUFZLEtBQUssS0FBSyxNQUFMLENBQVksTUFBWixDQUFtQixLQUFwQyxDQUFoQjtBQUVBLFVBQUksVUFBVSxJQUFkLEVBQW9CLElBQUksSUFBSjtBQUN2QixLQVBEOztBQVNBLFFBQU0sTUFBTSxTQUFOLEdBQU0sQ0FBQyxJQUFELEVBQ1o7QUFDSSxXQUFLLE1BQUwsQ0FBWSxNQUFaLENBQW1CLE1BQW5CLENBQTBCLE1BQTFCO0FBRUEsVUFBSSxJQUFKLEVBQVU7QUFDYixLQUxEOztBQU9BLFFBQU0sUUFBUSxTQUFSLEtBQVEsR0FDZDtBQUNJLFVBQUksS0FBSjtBQUNILEtBSEQ7O0FBS0EsUUFBTSxTQUFTLFNBQVQsTUFBUyxHQUNmO0FBQ0ksVUFBSSxJQUFKO0FBQ0gsS0FIRCxDQXhCSixDQTZCSTs7O0FBQ0EsU0FBSyxNQUFMLENBQVksTUFBWixDQUFtQixHQUFuQixDQUF1QixNQUF2QjtBQUVBLFdBQU87QUFBRSxrQkFBRjtBQUFTO0FBQVQsS0FBUDtBQUNIO0FBRUQ7Ozs7Ozs7QUFLQSxXQUFTLFlBQVQsQ0FBc0IsUUFBdEIsRUFDQTtBQUNJLGFBQVMsS0FBVDtBQUNIOztBQUVELE9BQUssVUFBTCxHQUFrQixVQUFsQjtBQUNBLE9BQUssWUFBTCxHQUFvQixZQUFwQixDQWpFSixDQW1FQTtBQUNDLENBckVBLEVBcUVDLElBckVELENBQUQiLCJmaWxlIjoicGl4aS10aW1lb3V0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBwaXhpLXRpbWVvdXQgaXMgYSBwbHVnaW4gd2hpY2ggcmVwbGljYXRlcyB0aGUgYmVoYXZpb3VyIG9mIHdpbmRvdy5zZXRUaW1vdXRcbiAqIGJ1dCB1c2VzIFBJWEkuVGlja2VyIChyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpIGFzIHRoZSBtZXRob2Qgb2YgcHJvZ3Jlc3NpbmcgdGltZVxuICogVGhlIGJvbnVzIGlzIHRoYXQgYW55IHRpbWVvdXRzIHdpbGwgYmUgcGF1c2VkIGFuZCByZXN1bWVkIGF1dG9tYXRpY2FsbHkgd2hlblxuICogeW91IGNhbGwgUElYSS5BcHBsaWNhdGlvbi5zdG9wICYgUElYSS5BcHBsaWNhdGlvbi5zdGFydFxuICovXG4oZnVuY3Rpb24gaW5pdChwaXhpKVxue1xuICAgIGlmICghcGl4aSlcbiAgICB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBJWEkgd2FzIG5vdCBmb3VuZFwiKVxuICAgIH1cblxuICAgIGlmICghcGl4aS50aWNrZXIgfHwgIXBpeGkudGlja2VyLnNoYXJlZClcbiAgICB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBJWEkudGlja2VyIHdhcyBub3QgZm91bmRcIilcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdGltZW91dC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSAge251bWJlcn0gICAgc2VjcyAgVGhlIHNlY29uZHNcbiAgICAgKiBAcGFyYW0gIHtGdW5jdGlvbn0gIGNiICAgIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGZpcmUgYWZ0ZXIgdGltZW91dFxuICAgICAqIEByZXR1cm4ge29iamVjdH0gICAgVGltZXIgc3RhdGUgb2JqZWN0XG4gICAgICovXG4gICAgZnVuY3Rpb24gc2V0VGltZW91dChzZWNzLCBjYilcbiAgICB7XG4gICAgICAgIGxldCBwcm9ncmVzcyA9IDBcblxuICAgICAgICBjb25zdCB0aWNrZXIgPSAoKGRlbHRhKSA9PlxuICAgICAgICB7XG4gICAgICAgICAgICBwcm9ncmVzcyArPSBkZWx0YTtcblxuICAgICAgICAgICAgY29uc3QgZWxhcHNlZCA9IHByb2dyZXNzIC8gKDYwICogcGl4aS50aWNrZXIuc2hhcmVkLnNwZWVkKTtcblxuICAgICAgICAgICAgaWYgKGVsYXBzZWQgPiBzZWNzKSBlbmQodHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGVuZCA9IChmaXJlKSA9PlxuICAgICAgICB7XG4gICAgICAgICAgICBwaXhpLnRpY2tlci5zaGFyZWQucmVtb3ZlKHRpY2tlcik7XG5cbiAgICAgICAgICAgIGlmIChmaXJlKSBjYigpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xlYXIgPSAoKSA9PlxuICAgICAgICB7XG4gICAgICAgICAgICBlbmQoZmFsc2UpXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZmluaXNoID0gKCkgPT5cbiAgICAgICAge1xuICAgICAgICAgICAgZW5kKHRydWUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIHN0YXJ0XG4gICAgICAgIHBpeGkudGlja2VyLnNoYXJlZC5hZGQodGlja2VyKTtcblxuICAgICAgICByZXR1cm4geyBjbGVhciwgZmluaXNoIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGEgdGltZW91dCwgcHJldmVudGluZyB0aGUgZnVuY3Rpb24gZnJvbSBiZWluZyBmaXJlZFxuICAgICAqXG4gICAgICogQHBhcmFtICB7b2JqZWN0fSAgdGltZXJPYmogIEEgdGltZXIgc3RhdGUgb2JqZWN0XG4gICAgICovXG4gICAgZnVuY3Rpb24gY2xlYXJUaW1lb3V0KHRpbWVyT2JqKVxuICAgIHtcbiAgICAgICAgdGltZXJPYmouY2xlYXIoKVxuICAgIH1cblxuICAgIHBpeGkuc2V0VGltZW91dCA9IHNldFRpbWVvdXRcbiAgICBwaXhpLmNsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dFxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbn0oUElYSSkpO1xuIl19\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports) {\n\n/**\n * pixi-pause is a plugin for pixi.js, which automatically pause and resumes your App when the browser window's visibilty changes\n */\n(function init(pixi) {\n if (!pixi) {\n throw new Error(\"PIXI was not found\");\n }\n\n if (!pixi.ticker || !pixi.ticker.shared) {\n throw new Error(\"PIXI.ticker was not found\");\n }\n\n pixi.autoPause = true;\n var hidden;\n var visibilityChange;\n\n var handleVisibilityChange = function handleVisibilityChange() {\n if (!pixi.autoPause) return;\n\n if (document[hidden]) {\n pixi.ticker.shared.stop();\n } else {\n pixi.ticker.shared.start();\n }\n };\n\n if (typeof document.hidden !== \"undefined\") {\n // Opera 12.10 and Firefox 18 and later support\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.mozHidden !== \"undefined\") {\n hidden = \"mozHidden\";\n visibilityChange = \"mozvisibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n } // Handle page visibility change\n\n\n return document.addEventListener(visibilityChange, handleVisibilityChange, false); // eslint-disable-next-line\n})(PIXI);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7QUFJQyxVQUFTLElBQVQsQ0FBYyxJQUFkLEVBQ0Q7QUFDSSxNQUFJLENBQUMsSUFBTCxFQUNBO0FBQ0ksVUFBTSxJQUFJLEtBQUosQ0FBVSxvQkFBVixDQUFOO0FBQ0g7O0FBRUQsTUFBSSxDQUFDLEtBQUssTUFBTixJQUFnQixDQUFDLEtBQUssTUFBTCxDQUFZLE1BQWpDLEVBQ0E7QUFDSSxVQUFNLElBQUksS0FBSixDQUFVLDJCQUFWLENBQU47QUFDSDs7QUFFRCxPQUFLLFNBQUwsR0FBaUIsSUFBakI7QUFFQSxNQUFJLE1BQUo7QUFDQSxNQUFJLGdCQUFKOztBQUVBLE1BQU0seUJBQXlCLFNBQXpCLHNCQUF5QixHQUMvQjtBQUNJLFFBQUksQ0FBQyxLQUFLLFNBQVYsRUFBcUI7O0FBRXJCLFFBQUksU0FBUyxNQUFULENBQUosRUFDQTtBQUNJLFdBQUssTUFBTCxDQUFZLE1BQVosQ0FBbUIsSUFBbkI7QUFDSCxLQUhELE1BS0E7QUFDSSxXQUFLLE1BQUwsQ0FBWSxNQUFaLENBQW1CLEtBQW5CO0FBQ0g7QUFDSixHQVpEOztBQWNBLE1BQUksT0FBTyxTQUFTLE1BQWhCLEtBQTJCLFdBQS9CLEVBQ0E7QUFDSTtBQUNBLGFBQVMsUUFBVDtBQUNBLHVCQUFtQixrQkFBbkI7QUFDSCxHQUxELE1BTUssSUFBSSxPQUFPLFNBQVMsU0FBaEIsS0FBOEIsV0FBbEMsRUFDTDtBQUNJLGFBQVMsV0FBVDtBQUNBLHVCQUFtQixxQkFBbkI7QUFDSCxHQUpJLE1BS0EsSUFBSSxPQUFPLFNBQVMsUUFBaEIsS0FBNkIsV0FBakMsRUFDTDtBQUNJLGFBQVMsVUFBVDtBQUNBLHVCQUFtQixvQkFBbkI7QUFDSCxHQUpJLE1BS0EsSUFBSSxPQUFPLFNBQVMsWUFBaEIsS0FBaUMsV0FBckMsRUFDTDtBQUNJLGFBQVMsY0FBVDtBQUNBLHVCQUFtQix3QkFBbkI7QUFDSCxHQWxETCxDQW9ESTs7O0FBQ0EsU0FBTyxTQUFTLGdCQUFULENBQTBCLGdCQUExQixFQUE0QyxzQkFBNUMsRUFBb0UsS0FBcEUsQ0FBUCxDQXJESixDQXdEQTtBQUNDLENBMURBLEVBMERDLElBMURELENBQUQiLCJmaWxlIjoicGl4aS1wYXVzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogcGl4aS1wYXVzZSBpcyBhIHBsdWdpbiBmb3IgcGl4aS5qcywgd2hpY2ggYXV0b21hdGljYWxseSBwYXVzZSBhbmQgcmVzdW1lcyB5b3VyIEFwcCB3aGVuIHRoZSBicm93c2VyIHdpbmRvdydzIHZpc2liaWx0eSBjaGFuZ2VzXG4gKi9cblxuKGZ1bmN0aW9uIGluaXQocGl4aSlcbntcbiAgICBpZiAoIXBpeGkpXG4gICAge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQSVhJIHdhcyBub3QgZm91bmRcIilcbiAgICB9XG5cbiAgICBpZiAoIXBpeGkudGlja2VyIHx8ICFwaXhpLnRpY2tlci5zaGFyZWQpXG4gICAge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQSVhJLnRpY2tlciB3YXMgbm90IGZvdW5kXCIpXG4gICAgfVxuXG4gICAgcGl4aS5hdXRvUGF1c2UgPSB0cnVlXG5cbiAgICBsZXQgaGlkZGVuO1xuICAgIGxldCB2aXNpYmlsaXR5Q2hhbmdlO1xuXG4gICAgY29uc3QgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSA9ICgpID0+XG4gICAge1xuICAgICAgICBpZiAoIXBpeGkuYXV0b1BhdXNlKSByZXR1cm47XG5cbiAgICAgICAgaWYgKGRvY3VtZW50W2hpZGRlbl0pXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBpeGkudGlja2VyLnNoYXJlZC5zdG9wKClcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBpeGkudGlja2VyLnNoYXJlZC5zdGFydCgpXG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudC5oaWRkZW4gIT09IFwidW5kZWZpbmVkXCIpXG4gICAge1xuICAgICAgICAvLyBPcGVyYSAxMi4xMCBhbmQgRmlyZWZveCAxOCBhbmQgbGF0ZXIgc3VwcG9ydFxuICAgICAgICBoaWRkZW4gPSBcImhpZGRlblwiO1xuICAgICAgICB2aXNpYmlsaXR5Q2hhbmdlID0gXCJ2aXNpYmlsaXR5Y2hhbmdlXCI7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudC5tb3pIaWRkZW4gIT09IFwidW5kZWZpbmVkXCIpXG4gICAge1xuICAgICAgICBoaWRkZW4gPSBcIm1vekhpZGRlblwiO1xuICAgICAgICB2aXNpYmlsaXR5Q2hhbmdlID0gXCJtb3p2aXNpYmlsaXR5Y2hhbmdlXCI7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudC5tc0hpZGRlbiAhPT0gXCJ1bmRlZmluZWRcIilcbiAgICB7XG4gICAgICAgIGhpZGRlbiA9IFwibXNIaWRkZW5cIjtcbiAgICAgICAgdmlzaWJpbGl0eUNoYW5nZSA9IFwibXN2aXNpYmlsaXR5Y2hhbmdlXCI7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudC53ZWJraXRIaWRkZW4gIT09IFwidW5kZWZpbmVkXCIpXG4gICAge1xuICAgICAgICBoaWRkZW4gPSBcIndlYmtpdEhpZGRlblwiO1xuICAgICAgICB2aXNpYmlsaXR5Q2hhbmdlID0gXCJ3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlXCI7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHBhZ2UgdmlzaWJpbGl0eSBjaGFuZ2VcbiAgICByZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih2aXNpYmlsaXR5Q2hhbmdlLCBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlLCBmYWxzZSk7XG5cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG59KFBJWEkpKTtcbiJdfQ==\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports) {\n\n/**\n * pixi-center. Helps you horizontaly and vertically center anything which inherits from `PIXI.DisplayObject`\n */\n\n/* eslint-disable prefer-destructuring */\n\n/* eslint-disable id-length */\n(function init(pixi) {\n if (!pixi || !pixi.DisplayObject) {\n throw new Error(\"PIXI was not found\");\n }\n /**\n * Centers an element along both X and Y axis\n *\n * @param {} width The width\n * @param {} height The height\n * @param {} round The round\n * @param {} anchorX The anchor x\n * @param {} anchorY The anchor y\n */\n\n\n pixi.DisplayObject.prototype.centerXY = function centerXY(width, height) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.centerX(width, opts);\n this.centerY(height, opts);\n };\n /**\n * Centers an element along its X axis\n *\n * @param {} width The width\n * @param {boolean} round The round\n * @param {number} anchorX The anchor x\n */\n\n\n pixi.DisplayObject.prototype.centerX = function centerX(width) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var round = opts.round;\n var anchorX = opts.anchorX;\n if (!this.width) return;\n\n if (!width) {\n if (!this.parent) return;\n width = this.parent.width;\n }\n\n if (typeof anchorX === \"undefined\" && this.anchor) anchorX = this.anchor.x;\n this.x = centerAxis(width, this.width, anchorX, round);\n };\n /**\n * Centers an element along its Y axis\n *\n * @param {} height The height\n * @param {boolean} round The round\n * @param {number} anchorY The anchor y\n */\n\n\n pixi.DisplayObject.prototype.centerY = function centerY(height) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var round = opts.round;\n var anchorY = opts.anchorY;\n if (!this.height) return;\n\n if (!height) {\n if (!this.parent) return;\n height = this.parent.height;\n }\n\n if (typeof anchorY === \"undefined\" && this.anchor) anchorY = this.anchor.y;\n this.y = centerAxis(height, this.height, anchorY, round);\n };\n /**\n * Centers an object at a point regardless of anchor\n *\n * @param {} coords The coordinates\n */\n\n\n pixi.DisplayObject.prototype.centerAt = function centerAt(coords) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!coords) return;\n var x = coords.x,\n y = coords.y;\n var round = opts.round;\n var anchorX = opts.anchorX,\n anchorY = opts.anchorY;\n if (typeof anchorX === \"undefined\" && this.anchor) anchorX = this.anchor.x;\n if (typeof anchorY === \"undefined\" && this.anchor) anchorY = this.anchor.y;\n\n if (x && isNumber(x)) {\n this.x = centerAtPoint(x, this.width, anchorX, round);\n }\n\n if (y && isNumber(y)) {\n this.y = centerAtPoint(y, this.height, anchorY, round);\n }\n }; // eslint-disable-next-line\n\n})(PIXI);\n/**\n * Returns the axis position to center an element within another\n *\n * @param {number} parentLength The parent length e.g. PIXI.Container.width\n * @param {number} elementLength The element length e.g. PIXI.Sprite.width\n * @param {number} anchor The anchor a value between 0-1\n * @param {(Function|boolean)} round The round whether or not to round to a pixel\n */\n\n\nfunction centerAxis(parentLength, elementLength) {\n var anchor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var round = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var offset = (parentLength - elementLength) / 2 + elementLength * anchor / 2;\n if (round) offset = Math.round(offset);\n return offset;\n}\n/**\n * Centers an object at a certain point\n *\n * @param {} axisPoint The axis point\n * @param {number} elementLength The element length\n * @param {number} anchor The anchor\n * @param {(Function|boolean)} round The round\n */\n\n\nfunction centerAtPoint(axisPoint, elementLength) {\n var anchor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var round = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var offset = parseFloat(axisPoint) - elementLength / 2 + elementLength * anchor;\n if (round) offset = Math.round(offset);\n return offset;\n}\n/**\n * Determines if number.\n *\n * @param {} val The value\n * @return {boolean} True if number, False otherwise.\n */\n\n\nfunction isNumber(val) {\n return !Number.isNaN(parseFloat(val));\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LFFBQVQsQ0FBa0IsR0FBbEIsRUFDQTtBQUNJLFNBQU8sQ0FBQyxPQUFPLEtBQVAsQ0FBYSxXQUFXLEdBQVgsQ0FBYixDQUFSO0FBQ0giLCJmaWxlIjoicGl4aS1jZW50ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHBpeGktY2VudGVyLiBIZWxwcyB5b3UgaG9yaXpvbnRhbHkgYW5kIHZlcnRpY2FsbHkgY2VudGVyIGFueXRoaW5nIHdoaWNoIGluaGVyaXRzIGZyb20gYFBJWEkuRGlzcGxheU9iamVjdGBcbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItZGVzdHJ1Y3R1cmluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgaWQtbGVuZ3RoICovXG5cblxuKGZ1bmN0aW9uIGluaXQocGl4aSlcbntcbiAgICBpZiAoIXBpeGkgfHwgIXBpeGkuRGlzcGxheU9iamVjdClcbiAgICB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBJWEkgd2FzIG5vdCBmb3VuZFwiKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENlbnRlcnMgYW4gZWxlbWVudCBhbG9uZyBib3RoIFggYW5kIFkgYXhpc1xuICAgICAqXG4gICAgICogQHBhcmFtICB7PHR5cGU+fSAgd2lkdGggICAgVGhlIHdpZHRoXG4gICAgICogQHBhcmFtICB7PHR5cGU+fSAgaGVpZ2h0ICAgVGhlIGhlaWdodFxuICAgICAqIEBwYXJhbSAgezx0eXBlPn0gIHJvdW5kICAgIFRoZSByb3VuZFxuICAgICAqIEBwYXJhbSAgezx0eXBlPn0gIGFuY2hvclggIFRoZSBhbmNob3IgeFxuICAgICAqIEBwYXJhbSAgezx0eXBlPn0gIGFuY2hvclkgIFRoZSBhbmNob3IgeVxuICAgICAqL1xuICAgIHBpeGkuRGlzcGxheU9iamVjdC5wcm90b3R5cGUuY2VudGVyWFkgPSBmdW5jdGlvbiBjZW50ZXJYWSh3aWR0aCwgaGVpZ2h0LCBvcHRzID0ge30pXG4gICAge1xuICAgICAgICB0aGlzLmNlbnRlclgod2lkdGgsIG9wdHMpXG4gICAgICAgIHRoaXMuY2VudGVyWShoZWlnaHQsIG9wdHMpXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENlbnRlcnMgYW4gZWxlbWVudCBhbG9uZyBpdHMgWCBheGlzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIHs8dHlwZT59ICAgd2lkdGggICAgVGhlIHdpZHRoXG4gICAgICogQHBhcmFtICB7Ym9vbGVhbn0gIHJvdW5kICAgIFRoZSByb3VuZFxuICAgICAqIEBwYXJhbSAge251bWJlcn0gICBhbmNob3JYICBUaGUgYW5jaG9yIHhcbiAgICAgKi9cbiAgICBwaXhpLkRpc3BsYXlPYmplY3QucHJvdG90eXBlLmNlbnRlclggPSBmdW5jdGlvbiBjZW50ZXJYKHdpZHRoLCBvcHRzID0ge30pXG4gICAge1xuICAgICAgICBjb25zdCB7IHJvdW5kIH0gPSBvcHRzXG4gICAgICAgIGxldCB7IGFuY2hvclggfSA9IG9wdHNcblxuICAgICAgICBpZiAoIXRoaXMud2lkdGgpIHJldHVybjtcblxuICAgICAgICBpZiAoIXdpZHRoKVxuICAgICAgICB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucGFyZW50KSByZXR1cm47XG5cbiAgICAgICAgICAgIHdpZHRoID0gdGhpcy5wYXJlbnQud2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGFuY2hvclggPT09IFwidW5kZWZpbmVkXCIgJiYgdGhpcy5hbmNob3IpIGFuY2hvclggPSB0aGlzLmFuY2hvci54O1xuXG4gICAgICAgIHRoaXMueCA9IGNlbnRlckF4aXMod2lkdGgsIHRoaXMud2lkdGgsIGFuY2hvclgsIHJvdW5kKVxuXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENlbnRlcnMgYW4gZWxlbWVudCBhbG9uZyBpdHMgWSBheGlzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIHs8dHlwZT59ICAgaGVpZ2h0ICAgVGhlIGhlaWdodFxuICAgICAqIEBwYXJhbSAge2Jvb2xlYW59ICByb3VuZCAgICBUaGUgcm91bmRcbiAgICAgKiBAcGFyYW0gIHtudW1iZXJ9ICAgYW5jaG9yWSAgVGhlIGFuY2hvciB5XG4gICAgICovXG4gICAgcGl4aS5EaXNwbGF5T2JqZWN0LnByb3RvdHlwZS5jZW50ZXJZID0gZnVuY3Rpb24gY2VudGVyWShoZWlnaHQsIG9wdHMgPSB7fSlcbiAgICB7XG4gICAgICAgIGNvbnN0IHsgcm91bmQgfSA9IG9wdHNcbiAgICAgICAgbGV0IHsgYW5jaG9yWSB9ID0gb3B0c1xuXG4gICAgICAgIGlmICghdGhpcy5oZWlnaHQpIHJldHVybjtcblxuICAgICAgICBpZiAoIWhlaWdodClcbiAgICAgICAge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnBhcmVudCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBoZWlnaHQgPSB0aGlzLnBhcmVudC5oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGFuY2hvclkgPT09IFwidW5kZWZpbmVkXCIgJiYgdGhpcy5hbmNob3IpIGFuY2hvclkgPSB0aGlzLmFuY2hvci55O1xuXG4gICAgICAgIHRoaXMueSA9IGNlbnRlckF4aXMoaGVpZ2h0LCB0aGlzLmhlaWdodCwgYW5jaG9yWSwgcm91bmQpXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENlbnRlcnMgYW4gb2JqZWN0IGF0IGEgcG9pbnQgcmVnYXJkbGVzcyBvZiBhbmNob3JcbiAgICAgKlxuICAgICAqIEBwYXJhbSAgezx0eXBlPn0gIGNvb3JkcyAgVGhlIGNvb3JkaW5hdGVzXG4gICAgICovXG4gICAgcGl4aS5EaXNwbGF5T2JqZWN0LnByb3RvdHlwZS5jZW50ZXJBdCA9IGZ1bmN0aW9uIGNlbnRlckF0KGNvb3Jkcywgb3B0cyA9IHt9KVxuICAgIHtcbiAgICAgICAgaWYgKCFjb29yZHMpIHJldHVybjtcblxuICAgICAgICBjb25zdCB7IHgseSB9ID0gY29vcmRzXG4gICAgICAgIGNvbnN0IHsgcm91bmQgfSA9IG9wdHNcbiAgICAgICAgbGV0IHsgYW5jaG9yWCwgYW5jaG9yWSB9ID0gb3B0c1xuXG4gICAgICAgIGlmICh0eXBlb2YgYW5jaG9yWCA9PT0gXCJ1bmRlZmluZWRcIiAmJiB0aGlzLmFuY2hvcikgYW5jaG9yWCA9IHRoaXMuYW5jaG9yLng7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhbmNob3JZID09PSBcInVuZGVmaW5lZFwiICYmIHRoaXMuYW5jaG9yKSBhbmNob3JZID0gdGhpcy5hbmNob3IueTtcblxuICAgICAgICBpZiAoeCAmJiBpc051bWJlcih4KSlcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy54ID0gY2VudGVyQXRQb2ludCh4LCB0aGlzLndpZHRoLCBhbmNob3JYLCByb3VuZClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh5ICYmIGlzTnVtYmVyKHkpKVxuICAgICAgICB7XG4gICAgICAgICAgICB0aGlzLnkgPSBjZW50ZXJBdFBvaW50KHksIHRoaXMuaGVpZ2h0LCBhbmNob3JZLCByb3VuZClcbiAgICAgICAgfVxuICAgIH1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG59KFBJWEkpKTtcblxuXG4vKipcbiAqIFJldHVybnMgdGhlIGF4aXMgcG9zaXRpb24gdG8gY2VudGVyIGFuIGVsZW1lbnQgd2l0aGluIGFub3RoZXJcbiAqXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICAgICAgICAgICAgICBwYXJlbnRMZW5ndGggICBUaGUgcGFyZW50IGxlbmd0aCBlLmcuIFBJWEkuQ29udGFpbmVyLndpZHRoXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICAgICAgICAgICAgICBlbGVtZW50TGVuZ3RoICBUaGUgZWxlbWVudCBsZW5ndGggIGUuZy4gUElYSS5TcHJpdGUud2lkdGhcbiAqIEBwYXJhbSAge251bWJlcn0gICAgICAgICAgICAgIGFuY2hvciAgICAgICAgIFRoZSBhbmNob3IgYSB2YWx1ZSBiZXR3ZWVuIDAtMVxuICogQHBhcmFtICB7KEZ1bmN0aW9ufGJvb2xlYW4pfSAgcm91bmQgICAgICAgICAgVGhlIHJvdW5kIHdoZXRoZXIgb3Igbm90IHRvIHJvdW5kIHRvIGEgcGl4ZWxcbiAqL1xuZnVuY3Rpb24gY2VudGVyQXhpcyhwYXJlbnRMZW5ndGgsIGVsZW1lbnRMZW5ndGgsIGFuY2hvciA9IDAsIHJvdW5kID0gdHJ1ZSlcbntcbiAgICBsZXQgb2Zmc2V0ID0gKChwYXJlbnRMZW5ndGggLSBlbGVtZW50TGVuZ3RoKSAvIDIpICsgKChlbGVtZW50TGVuZ3RoICogYW5jaG9yKSAvIDIpXG5cbiAgICBpZiAocm91bmQpIG9mZnNldCA9ICBNYXRoLnJvdW5kKG9mZnNldCk7XG5cbiAgICByZXR1cm4gb2Zmc2V0XG59XG5cbi8qKlxuICogQ2VudGVycyBhbiBvYmplY3QgYXQgYSBjZXJ0YWluIHBvaW50XG4gKlxuICogQHBhcmFtICB7PHR5cGU+fSAgICAgICAgICAgICAgYXhpc1BvaW50ICAgICAgVGhlIGF4aXMgcG9pbnRcbiAqIEBwYXJhbSAge251bWJlcn0gICAgICAgICAgICAgIGVsZW1lbnRMZW5ndGggIFRoZSBlbGVtZW50IGxlbmd0aFxuICogQHBhcmFtICB7bnVtYmVyfSAgICAgICAgICAgICAgYW5jaG9yICAgICAgICAgVGhlIGFuY2hvclxuICogQHBhcmFtICB7KEZ1bmN0aW9ufGJvb2xlYW4pfSAgcm91bmQgICAgICAgICAgVGhlIHJvdW5kXG4gKi9cbmZ1bmN0aW9uIGNlbnRlckF0UG9pbnQoYXhpc1BvaW50LCBlbGVtZW50TGVuZ3RoLCBhbmNob3IgPSAwLCByb3VuZCA9IHRydWUpXG57XG4gICAgbGV0IG9mZnNldCA9IChwYXJzZUZsb2F0KGF4aXNQb2ludCkgLSAoZWxlbWVudExlbmd0aCAvIDIpKSArIChlbGVtZW50TGVuZ3RoICogYW5jaG9yKTtcblxuICAgIGlmIChyb3VuZCkgb2Zmc2V0ID0gIE1hdGgucm91bmQob2Zmc2V0KTtcblxuICAgIHJldHVybiBvZmZzZXRcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gIHs8dHlwZT59ICAgdmFsICBUaGUgdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59ICBUcnVlIGlmIG51bWJlciwgRmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5mdW5jdGlvbiBpc051bWJlcih2YWwpXG57XG4gICAgcmV0dXJuICFOdW1iZXIuaXNOYU4ocGFyc2VGbG9hdCh2YWwpKVxufVxuIl19\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pariplay\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pariplay\"] = factory();\n\telse\n\t\troot[\"pariplay\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 10);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar BaseModel = function () {\n function BaseModel() {\n _classCallCheck(this, BaseModel);\n }\n\n _createClass(BaseModel, [{\n key: 'inject',\n\n\n /**\n * Initialise a model\n *\n * @param {object} obj - data to inject into model\n */\n value: function inject(obj) {\n var _this = this;\n\n for (var k in obj) {\n var v = obj[k];\n\n var lowKey = k.toLowerCase();\n\n if (this.keyMapping[lowKey] && v !== null) {\n var mappedKey = this.keyMapping[lowKey];\n\n if (this[mappedKey] && this.preventOverwrite.indexOf(mappedKey) >= 0) {\n continue;\n }\n if (this.subModels[mappedKey]) {\n (function () {\n var Klass = _this.subModels[mappedKey];\n\n var isCollection = Array.isArray(v);\n\n if (isCollection) {\n _this[mappedKey] = v.map(function (item) {\n return new Klass(item);\n });\n } else {\n _this[mappedKey] = new Klass(v);\n }\n })();\n } else {\n this[mappedKey] = this._parseValues(v);\n }\n\n if (this.decodeURI.indexOf(mappedKey) >= 0 && typeof v === 'string' && v !== '') {\n this[mappedKey] = window.decodeURIComponent(this[mappedKey]);\n }\n } else {\n // console.log('No mapping for', k)\n }\n }\n }\n\n /**\n * Get raw data from model\n *\n * @return {object} data in model\n */\n\n }, {\n key: 'getData',\n value: function getData() {\n var tmp = {};\n\n for (var k in this.keyMapping) {\n var v = this.keyMapping[k];\n\n if (this[v] !== undefined && this[v] !== null) {\n if (this[v].getData) {\n tmp[v] = this[v].getData();\n } else {\n tmp[v] = this[v];\n }\n }\n }\n\n return tmp;\n }\n\n /**\n * Get raw data from model\n *\n * @private\n * @param {string} v - value to be parsed\n * @return {any} parses the variable into the correct data type\n */\n\n }, {\n key: '_parseValues',\n value: function _parseValues(v) {\n if (typeof v !== 'string') {\n return v;\n }\n if (v === '') {\n return null;\n }\n if (v === 'true') {\n return true;\n }\n if (v === 'false') {\n return false;\n }\n if (!isNaN(Number(v))) {\n return Number(v);\n }\n if (v === 'null') {\n return null;\n }\n\n return v;\n }\n }], [{\n key: 'init',\n\n /**\n * Initialise a default model attributes\n *\n */\n value: function init() {\n this.prototype.keyMapping = {};\n this.prototype.preventOverwrite = [];\n this.prototype.decodeURI = [];\n this.prototype.subModels = {};\n }\n }]);\n\n return BaseModel;\n}();\n\nBaseModel.init();\n\nexports.default = BaseModel;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar StatusModel = function (_BaseModel) {\n _inherits(StatusModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function StatusModel(obj) {\n _classCallCheck(this, StatusModel);\n\n var _this = _possibleConstructorReturn(this, (StatusModel.__proto__ || Object.getPrototypeOf(StatusModel)).call(this));\n\n _this.name = 'StatusModel';\n\n _this.keyMapping = {\n errcode: 'errCode',\n errmessage: 'errMessage',\n errtype: 'errType',\n balance: 'balance',\n financialmode: 'financialMode',\n roundsleft: 'roundsLeft'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} has error\n */\n\n\n _createClass(StatusModel, [{\n key: 'hasError',\n value: function hasError() {\n return this.errType !== 0;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} has error type 1\n */\n\n }, {\n key: 'hasNormalError',\n value: function hasNormalError() {\n return this.errType === 1;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} has error type 2\n */\n\n }, {\n key: 'hasNotificationError',\n value: function hasNotificationError() {\n return this.errType === 2;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} are we waiting for balance\n */\n\n }, {\n key: 'isWaitingOnBalance',\n value: function isWaitingOnBalance() {\n if (this.errType === 2) {\n return true;\n }\n\n if (typeof this.balance !== 'number') {\n return true;\n }\n\n if (this.balance < 0) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} do we have tickets\n */\n\n }, {\n key: 'hasTickets',\n value: function hasTickets() {\n var c = this.roundsLeft;\n\n if (!c) {\n return false;\n }\n\n if (typeof c !== 'number') {\n return false;\n }\n\n if (c <= 0) {\n return false;\n }\n\n return true;\n }\n }]);\n\n return StatusModel;\n}(_baseModel2.default);\n\nexports.default = StatusModel;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _statusModel = __webpack_require__(1);\n\nvar _statusModel2 = _interopRequireDefault(_statusModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Balance = function () {\n _createClass(Balance, null, [{\n key: 'initClass',\n\n /**\n * @return {this} Returns self to allow chaining\n */\n value: function initClass() {\n this.prototype.name = 'Balance';\n this.prototype.interval = null;\n this.prototype.balanceDelay = 60000;\n this.prototype.debug = true;\n\n return this;\n }\n\n /**\n * @param {object} options - Options\n * @param {Pariplay.Networker} networker - Make Network calls\n * @param {Function} balanceHandler - Method to call when the balance changes\n * @return {Pariplay.Balance} Returns self to allow chaining\n */\n\n }]);\n\n function Balance(options, networker, balanceHandler) {\n _classCallCheck(this, Balance);\n\n this.balanceHandler = balanceHandler;\n this.networker = networker;\n this.playerTokenId = options.playerTokenId;\n this.clientToken = options.clientToken;\n this.endpoint = options.balanceUrl;\n this.allowedBalanceAttemps = options.balanceAttemps;\n\n return this;\n }\n\n /**\n * @return {Number} Returns id of set Interval\n */\n\n\n _createClass(Balance, [{\n key: 'startInterval',\n value: function startInterval() {\n var _this = this;\n\n if (!this.endpoint) {\n return null;\n }\n\n if (this.interval) {\n return null;\n }\n\n this.interval = setInterval(function () {\n _this.getBalance();\n }, this.balanceDelay);\n\n return this.interval;\n }\n\n /**\n * @method\n */\n\n }, {\n key: 'stopInterval',\n value: function stopInterval() {\n clearInterval(this.interval);\n this.interval = null;\n }\n\n /**\n * @method\n */\n\n }, {\n key: 'getBalance',\n value: function getBalance() {\n var _this2 = this;\n\n var params = {\n ClientToken: this.clientToken,\n PlayerTokenId: this.playerTokenId\n };\n\n if (this.endpoint === null) {\n return;\n }\n\n this.networker.POST(this.endpoint, params, function (err, resp, code) {\n if (err || code !== 200 || !resp || resp === '') {\n return;\n }\n\n var statusModel = new _statusModel2.default(resp.Status);\n\n if (_this2.balanceHandler) {\n _this2.balanceHandler(statusModel.balance);\n }\n });\n }\n }]);\n\n return Balance;\n}();\n\nBalance.initClass();\n\nexports.default = Balance;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _betModel = __webpack_require__(12);\n\nvar _betModel2 = _interopRequireDefault(_betModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Bet = function () {\n /**\n * @param {object} options - Options\n * @param {Pariplay.Networker} networker - Make Network calls\n * @return {Pariplay.Bet} Returns self to allow chaining\n */\n function Bet(options, networker) {\n _classCallCheck(this, Bet);\n\n this.name = 'Bet';\n this.logging = false;\n this.notificationAttempts = 0;\n this.notificationDelay = 5000;\n this.debug = false;\n\n this.networker = networker;\n\n this.notifyEndpoint = options.notifyUrl;\n this.placeBetEndpoint = options.placeBetUrl;\n this.endBetEndpoint = options.endUrl;\n this.clientToken = options.clientToken;\n this.playerTokenId = options.playerTokenId;\n this.finMode = options.financialMode;\n\n return this;\n }\n\n /**\n * Places a bet\n *\n * @param {Number|String|Object} stakeOrParams The stake or parameters\n * @param {Callback} callback Completion handler\n * @param {Number} stake - Stake amount\n */\n\n\n _createClass(Bet, [{\n key: 'place',\n value: function place(stakeOrParams, callback) {\n var _this = this;\n\n this.notificationAttempts = 0;\n\n var input = {};\n\n if (isObject(stakeOrParams)) {\n input = capitalizeKeys(stakeOrParams);\n } else {\n input.Stake = stakeOrParams;\n }\n\n var params = {\n ClientToken: this.clientToken,\n PlayerTokenId: this.playerTokenId,\n Input: JSON.stringify(input)\n };\n\n if (window.debugWinIndex) {\n var debug = {\n WinType: 2,\n WinIndex: window.debugWinIndex\n };\n\n params.Debug = JSON.stringify(debug);\n }\n\n if (window.debugMatrix) {\n var _debug = {\n Matrix: window.debugMatrix.split(',').map(function (char) {\n return window.parseInt(char);\n })\n };\n\n params.Debug = JSON.stringify(_debug);\n }\n\n this.networker.POST(this.placeBetEndpoint, params, function (err, resp, code) {\n _this.handleResponse(err, resp, code, callback);\n });\n }\n\n /**\n * @param {Callback} callback - Completion handler\n * @return {Number} Returns timeout id\n */\n\n }, {\n key: 'getNotifcationAfterDelay',\n value: function getNotifcationAfterDelay(callback) {\n var _this2 = this;\n\n return setTimeout(function () {\n return _this2._getNotifcation(callback);\n }, this.notificationDelay);\n }\n\n /**\n * @private\n * @param {Callback} callback - Completion handler\n */\n\n }, {\n key: '_getNotifcation',\n value: function _getNotifcation(callback) {\n var _this3 = this;\n\n this.notificationAttempts++;\n\n var params = {\n ClientToken: this.clientToken,\n PlayerTokenId: this.playerTokenId\n };\n\n this.networker.POST(this.notifyEndpoint, params, function (err, resp, code) {\n return _this3.handleResponse(err, resp, code, callback);\n });\n }\n\n /**\n * @param {object} err - Error object\n * @param {object} resp - Result object\n * @param {number} code - Http code\n * @param {Callback} callback - Completion handler\n * @return {string} Returns the state for testing\n */\n\n }, {\n key: 'handleResponse',\n value: function handleResponse(err, resp, code, callback) {\n // not json\n if (typeof resp === 'string') {\n try {\n resp = JSON.parse(resp);\n } catch (e) {\n var _err = {\n code: 'PLACE_BET_FAILED'\n };\n\n callback(_err, null, code);\n\n return 'corrupt';\n }\n }\n\n // Unknown Error\n if (code !== 200 || err || !resp || !resp.Status) {\n var _err2 = {\n code: 'PLACE_BET_FAILED'\n };\n\n callback(_err2, null, code);\n\n return 'invalid';\n }\n\n var betModel = new _betModel2.default(resp);\n var statusModel = betModel.status;\n\n // Error 1\n if (statusModel.hasNormalError()) {\n var ERR_CODE = 'PLACE_BET_FAILED';\n\n if (statusModel.errCode === 112) {\n if (this.finMode) {\n ERR_CODE = 'NO_TICKETS_LEFT';\n } else {\n ERR_CODE = 'INSUFFICIENT_FUNDS';\n }\n }\n\n var _err3 = {\n code: ERR_CODE,\n msg: statusModel.errMessage\n };\n\n callback(_err3, betModel, code);\n\n return 'err1';\n }\n\n // Error 2\n if (statusModel.hasNotificationError()) {\n var _err4 = {\n code: 'WAITING_ON_NOTIFICATION',\n msg: statusModel.errMessage\n };\n\n callback(_err4, betModel, code);\n\n this.getNotifcationAfterDelay(callback);\n\n return 'err2';\n }\n\n // Success\n callback(null, betModel, code);\n\n return 'success';\n }\n\n /**\n * @param {object} ticketId - The id of the ticket\n * @param {Callback} callback - Completion handler\n */\n\n }, {\n key: 'end',\n value: function end(ticketId, callback) {\n if (!this.endBetEndpoint) {\n return;\n }\n\n var params = {\n ClientToken: this.clientToken,\n PlayerTokenId: this.playerTokenId,\n Id: ticketId\n };\n\n this.networker.POST(this.endBetEndpoint, params, function (err, resp, code) {\n if (callback) {\n callback(err, resp, code);\n }\n });\n }\n }]);\n\n return Bet;\n}();\n\n/**\n * Determines if object.\n *\n * @param {Object} o Object to verify\n * @return {boolean} True if object, False otherwise.\n */\n\n\nexports.default = Bet;\nfunction isObject(o) {\n return o instanceof Object && o.constructor === Object;\n}\n\n/**\n * Capitalizes the keys for Pariplay\n *\n * @param {object} origObj The original object\n * @return {object} new Object with Capitalized keys\n */\nfunction capitalizeKeys(origObj) {\n return Object.keys(origObj).reduce(function (newObj, key) {\n var val = origObj[key];\n var newVal = (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && !Array.isArray(val) ? capitalizeKeys(val) : val;\n var newKey = key.charAt(0).toUpperCase() + key.slice(1);\n\n newObj[newKey] = newVal;\n\n return newObj;\n }, {});\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Helper Class\n */\nvar Helper = function () {\n function Helper() {\n _classCallCheck(this, Helper);\n }\n\n _createClass(Helper, null, [{\n key: 'getQueryAsObj',\n\n /**\n * @static\n * @param {string} query - url query string example ?key=val&foo=bar\n * @return {object} dictionary representation of the query string\n */\n value: function getQueryAsObj(query) {\n if (!query) {\n query = window.location.search;\n }\n\n if (query[0] === '?') {\n query = query.substring(1);\n }\n\n var tmp = {};\n var vars = query.split('&');\n var i = 0;\n\n while (i < vars.length) {\n var pair = vars[i].split('=');\n\n tmp[pair[0]] = pair[1];\n i++;\n }\n\n return tmp;\n }\n }]);\n\n return Helper;\n}();\n\nexports.default = Helper;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Linker = function () {\n /**\n * Constructs the object.\n *\n * @param {Pariplay.Messager} messager - to send html5 messags\n * @param {Boolean} isMobile - is this thing Mobile or not\n * @param {Function} backHandler - The function to be called when navigating back\n * @return {Pariplay.Linker} Returns self to allow chaining\n */\n function Linker(messager, networker, isMobile, backHandler) {\n _classCallCheck(this, Linker);\n\n this.name = 'Linker';\n this.messager = messager;\n this.networker = networker;\n this.isMobile = isMobile;\n this.backHandler = backHandler;\n\n return this;\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {string} reference of what occurred for testing\n */\n\n\n _createClass(Linker, [{\n key: 'home',\n value: function home(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return 'none';\n }\n\n this.messager.postQuit('RealityCheck', url);\n\n if (url === '(api)') {\n return 'api';\n }\n\n if (url === '(back)') {\n this.backHandler();\n\n return 'back';\n }\n\n if (url === '(888bingo)') {\n this.messager.post888Lobby();\n\n return '888';\n }\n\n if (!this.validateURL(url)) {\n return 'fail';\n }\n\n try {\n window.top.location.href = url;\n } catch (e) {\n return 'fail';\n }\n\n return 'url';\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {string} reference of what occurred for testing\n */\n\n }, {\n key: 'cashier',\n value: function cashier(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return 'none';\n }\n\n this.messager.postCashier('InsufficientFunds', url);\n\n if (url === '(api)') {\n return 'api';\n }\n\n if (url === '(888bingo)') {\n this.messager.post888Cashier();\n\n return '888';\n }\n\n if (!this.validateURL(url)) {\n return 'fail';\n }\n\n try {\n if (this.isMobile) {\n window.top.location.href = url;\n\n return 'url-mobile';\n }\n\n window.open(url);\n\n return 'url-desktop';\n } catch (e) {\n return 'fail';\n }\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {string} reference of what occurred for testing\n */\n\n }, {\n key: 'history',\n value: function history(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return 'none';\n }\n\n this.messager.postHistory('RealityCheck', url);\n\n if (!this.validateURL(url)) {\n return 'fail';\n }\n\n try {\n if (this.isMobile) {\n window.top.location.href = url;\n\n return 'url-mobile';\n }\n\n window.open(url);\n\n return 'url-desktop';\n } catch (e) {\n return 'fail';\n }\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {string} reference of what occurred for testing\n */\n\n }, {\n key: 'buyMore',\n value: function buyMore(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return 'none';\n }\n\n if (url === '(api)') {\n this.messager.postBuyMoreTickets();\n\n return 'api';\n }\n\n this.messager.postQuit('eCommerceBuyMore', url);\n\n if (!this.validateURL(url)) {\n return 'fail';\n }\n\n try {\n window.top.location.href = url;\n } catch (e) {\n return 'fail';\n }\n\n return 'url';\n }\n\n /**\n * go to external link\n *\n * @param {*} url\n * @param {*} type\n * @param {*} cb\n * @memberof Linker\n */\n\n }, {\n key: 'goTo',\n value: function goTo(url, type, cb) {\n switch (type) {\n case 2:\n // request instant\n this.networker.GET(url);\n if (cb) cb();\n break;\n case 3:\n // request wait\n this.networker.GET(url, cb);\n break;\n default:\n // redirect\n if (cb) cb();\n window.open(url);\n }\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {boolean} whether its valid or not\n */\n\n }, {\n key: 'validateURL',\n value: function validateURL(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return false;\n }\n\n return true;\n }\n }]);\n\n return Linker;\n}();\n\nexports.default = Linker;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _statusModel = __webpack_require__(1);\n\nvar _statusModel2 = _interopRequireDefault(_statusModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Load = function () {\n _createClass(Load, null, [{\n key: 'init',\n\n /**\n * @return {Pariplay.Bet} Returns self to allow chaining\n */\n value: function init() {\n this.prototype.name = 'Load';\n this.prototype.debug = true;\n this.prototype.attempts = 0;\n this.prototype.balanceDelay = 5000;\n this.prototype.balanceAttempts = 4;\n\n return this;\n }\n\n /**\n * @param {object} options - Options\n * @param {Pariplay.Networker} networker - Make Network calls\n * @return {Pariplay.Load} Returns self to allow chaining\n */\n\n }]);\n\n function Load(options, networker) {\n _classCallCheck(this, Load);\n\n this.networker = networker;\n this.options = options;\n\n return this;\n }\n\n /**\n * @param {Callback} callback - completion handler\n */\n\n\n _createClass(Load, [{\n key: 'loadGame',\n value: function loadGame(callback) {\n var _this = this;\n\n var params = {\n ClientToken: this.options.clientToken,\n GameCode: this.options.gameCode,\n CurrencyCode: this.options.currencyCode,\n LanguageCode: this.options.languageCode,\n FinancialMode: this.options.financialMode\n };\n\n if (this.options.extraData) {\n params.ExtraData = this.options.extraData;\n }\n\n this.networker.POST(this.options.loadGameEndpoint, params, function (err, resp, code) {\n _this.handleResponse(resp, err, code, function (validResponse, handledResp) {\n return callback(validResponse, handledResp, code);\n });\n });\n }\n\n /**\n * @param {object} resp - Result object\n * @param {object} err - Error object\n * @param {number} code - Http code\n * @param {Callback} callback - Completion handler\n * @return {string} Returns the state for testing\n */\n\n }, {\n key: 'handleResponse',\n value: function handleResponse(resp, err, code, callback) {\n // try and parse json\n if (typeof resp === 'string') {\n try {\n resp = JSON.parse(resp);\n } catch (e) {\n var _err = {\n code: 'LOAD_GAME_FAILED'\n };\n\n callback(_err, null, code);\n\n return 'corrupt';\n }\n }\n\n if (code !== 200 || err || !resp || resp === '' || (typeof resp === 'undefined' ? 'undefined' : _typeof(resp)) !== 'object') {\n var _err2 = {\n code: 'LOAD_GAME_FAILED'\n };\n\n callback(_err2, null, code);\n\n return 'invalid';\n }\n\n callback(null, resp, code);\n\n return 'success';\n }\n\n /**\n * @param {Pariplay.model.StatusModel} statusModel - The load game status Model\n * @param {boolean} isValidResponse - Did it pass the initial tests\n * @param {Callback} callback - Completion handler\n */\n\n }, {\n key: 'getInitialBalance',\n value: function getInitialBalance(statusModel, isValidResponse, callback) {\n // Unknown fail\n if (!statusModel && !statusModel.hasNormalError) {\n var err = {\n code: 'LOAD_GAME_FAILED'\n };\n\n callback(err, null, -999);\n\n return;\n }\n // Server error\n if (statusModel.hasNormalError()) {\n var _err3 = {\n code: 'LOAD_GAME_FAILED',\n msg: statusModel.errMessage\n };\n\n callback(_err3, statusModel.balance, -999);\n\n return;\n }\n // the load game response was perfect\n if (!statusModel.isWaitingOnBalance()) {\n callback(null, statusModel.balance, 200);\n\n return;\n }\n\n // the load game response was ok but missing the balance\n var waitingErr = {\n code: 'WAITING_ON_BALANCE',\n msg: statusModel.errMessage\n };\n\n callback(waitingErr, statusModel.balance, 200);\n\n // attempt to get the balance before we proceed\n this.attempts = 0;\n\n this.requestBalance(function (newStatusModel, err, code) {\n if (newStatusModel) {\n callback(err, newStatusModel.balance, code);\n\n return;\n }\n\n var failedErr = {\n code: 'WAITING_ON_BALANCE_FAILED',\n msg: statusModel.errMessage\n };\n\n callback(failedErr, null, code);\n });\n }\n\n /**\n * @private\n * @param {Callback} callback - Completion handler\n * @return {Number} Returns timeout id\n */\n\n }, {\n key: '_requestBalance',\n value: function _requestBalance(callback) {\n var _this2 = this;\n\n return setTimeout(function () {\n _this2.requestBalance(callback);\n }, this.balanceDelay);\n }\n\n /**\n * @param {Callback} callback - Completion handler\n */\n\n }, {\n key: 'requestBalance',\n value: function requestBalance(callback) {\n var _this3 = this;\n\n var params = {\n ClientToken: this.options.clientToken,\n PlayerTokenId: this.options.playerTokenId\n };\n\n if (!this.options.balanceUrl) {\n return;\n }\n\n this.networker.POST(this.options.balanceUrl, params, function (err, resp, code) {\n _this3.attempts++;\n\n if (code !== 200 || !resp || !resp.Status) {\n callback(null, err, code);\n\n return;\n }\n\n var statusModel = new _statusModel2.default(resp.Status);\n\n if (statusModel.isWaitingOnBalance()) {\n if (_this3.attempts < _this3.balanceAttempts) {\n _this3._requestBalance(callback);\n\n return;\n }\n callback(null, err, code);\n\n return;\n }\n\n callback(statusModel, err, code);\n });\n }\n }]);\n\n return Load;\n}();\n\nLoad.init();\n\nexports.default = Load;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Messager = function () {\n /**\n * @param {object} options - Options\n * @return {Pariplay.Messager} Returns self to allow chaining\n */\n function Messager(options) {\n _classCallCheck(this, Messager);\n\n this.sender = options.gameCode;\n this.lang = options.languageCode;\n\n return this;\n }\n\n /**\n * @param {object} data - Object you want to post\n * @return {Pariplay.Load} Object you tried to post\n */\n\n\n _createClass(Messager, [{\n key: 'post',\n value: function post(data) {\n window.parent.postMessage(data, '*');\n\n return data;\n }\n\n /**\n * @param {number} w - window width\n * @param {number} h - window height\n * @return {Pariplay.Load} Object you tried to post\n */\n\n }, {\n key: 'postResize',\n value: function postResize(w, h) {\n return this.post({\n type: 'resize',\n width: w,\n height: h\n });\n }\n\n /**\n * Post this as soon as you can\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postOnAppFrameReady',\n value: function postOnAppFrameReady() {\n return this.post({\n type: 'onAppFrameReady',\n sender: this.sender\n });\n }\n\n /**\n * Post After receiving LoadGame\n *\n * @param {boolean} success - Whether the LoadGame was successful or not\n * @param {object} status The load game\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postLoadGame',\n value: function postLoadGame(success, status) {\n return this.post({\n type: 'gameDataLoaded',\n sender: this.sender,\n lang: this.lang,\n data: {\n success: success,\n status: status\n }\n });\n }\n\n /**\n * Post after Currency initialization:\n *\n * @param {string} currCode - Currency code e.g. EUR\n * @param {string} currSymbol - Currency symbol e.g €\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postCurrencyStatus',\n value: function postCurrencyStatus(currCode, currSymbol) {\n return this.post({\n type: 'currencyStatus',\n sender: this.sender,\n lang: this.lang,\n data: {\n currencyCode: currCode,\n currencySymbol: currSymbol\n }\n });\n }\n\n /**\n * Post Before sending PlaceBet\n *\n * @param {string} betValue - Stake\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postBeforePlaceBet',\n value: function postBeforePlaceBet(betValue) {\n return this.post({\n type: 'roundStart',\n sender: this.sender,\n lang: this.lang,\n data: {\n totalBet: betValue\n }\n });\n }\n\n /**\n * Post After successful receiving PlaceBet\n *\n * @param {string} ticketId - Id of bet\n * @param {number} balanceBefore - The balance before\n * @param {number} ticketsBefore - How many tickets before\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postAfterPlaceBet',\n value: function postAfterPlaceBet(ticketId, balanceBefore, ticketsBefore) {\n return this.post({\n type: 'roundStarted',\n sender: this.sender,\n lang: this.lang,\n data: {\n id: ticketId,\n balanceBefore: balanceBefore,\n ticketsLeftBefore: ticketsBefore\n }\n });\n }\n\n /**\n * Post when user pressed 'Reveal All' or 'Stop' button:\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postRevealAll',\n value: function postRevealAll() {\n return this.post({\n type: 'revealAll',\n sender: this.sender,\n lang: this.lang\n });\n }\n\n /**\n * Post After round is completed\n *\n * @param {string} ticketId - Id of bet\n * @param {number} winAmount - amount won\n * @param {number} balanceAfter - The balance after\n * @param {number} ticketsAfter - How many tickets after\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postRoundEnded',\n value: function postRoundEnded(ticketId, winAmount, balanceAfter, ticketsAfter) {\n return this.post({\n type: 'roundEnded',\n sender: this.sender,\n lang: this.lang,\n data: {\n id: ticketId,\n win: winAmount,\n balanceAfter: balanceAfter,\n ticketsLeftAfter: ticketsAfter\n }\n });\n }\n\n /**\n * Post after any actual update of visible balance\n *\n * @param {number} amount - New balance amount\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postUpdateBalance',\n value: function postUpdateBalance(amount) {\n return this.post({\n type: 'balance',\n sender: this.sender,\n lang: this.lang,\n data: {\n amount: amount\n }\n });\n }\n\n /**\n * Post After when user choose to leave\n * e.g.\n * User pressed Home button of ribbon or\n * Exit button of RealityCheck popup or\n * Exit button of eCommerce Finish popup or\n * Continue button of VoucherSummary popup (causes restart) or\n * Exit button of VoucherSummary popup:\n *\n * @param {string} reason - What action the user chose\n * @param {string} url - Where they are going\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postQuit',\n value: function postQuit(reason, url) {\n return this.post({\n type: 'quit',\n sender: this.sender,\n lang: this.lang,\n data: {\n reason: reason, // 'Ribbon' | 'RealityCheck' | 'eCommerceExit' | 'VoucherSummaryContinue' | 'VoucherSummaryExit',\n target: url\n }\n });\n }\n\n /**\n * User pressed Cashier button of ribbon or\n * Deposit button of Insufficient Funds message (causes Quit in mobile mode):\n *\n * @param {string} reason - What action the user chose 'Cashier' | 'InsufficientFunds'\n * @param {string} url - Where they are going\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postCashier',\n value: function postCashier(reason, url) {\n if (!reason) {\n reason = 'InsufficientFunds';\n }\n\n return this.post({\n type: 'cashier',\n sender: this.sender,\n lang: this.lang,\n data: {\n reason: reason,\n target: url\n }\n });\n }\n\n /**\n * User pressed 'Buy More Tickets' of eCommerce Finish popup or\n * 'Deposit' button in ErrorMessage with ErrorCode 112 in eCommerce mode:\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postBuyMoreTickets',\n value: function postBuyMoreTickets() {\n return this.post({\n type: 'buyMoreTickets',\n sender: this.sender,\n lang: this.lang\n });\n }\n\n /**\n * Post when all rounds finished (eCommerce mode):\n * THIS IS THE ONE THE TELLS PP TO SHOW THEIR MODEL\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postNoRoundsLeft',\n value: function postNoRoundsLeft() {\n return this.post({\n type: 'noRoundsLeft',\n sender: this.sender,\n lang: this.lang\n });\n }\n\n /**\n * User pressed History button on Reality Check popup (causes Quit in mobile mode)\n *\n * @param {string} reason - What action the user chose\n * @param {string} url - Where they are going\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postHistory',\n value: function postHistory(reason, url) {\n if (!reason) {\n reason = 'RealityCheck';\n }\n\n return this.post({\n type: 'history',\n sender: this.sender,\n lang: this.lang,\n data: {\n reason: reason,\n target: url\n }\n });\n }\n\n /**\n * User pressed Help button on Reality Check popup (causes Quit in mobile mode)\n *\n * @param {string} reason - What action the user chose\n * @param {string} url - Where they are going\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postHelp',\n value: function postHelp(reason, url) {\n if (!reason) {\n reason = 'Ribbon';\n }\n\n return this.post({\n type: 'help',\n sender: this.sender,\n lang: this.lang,\n data: {\n reason: reason,\n target: url\n }\n });\n }\n\n /**\n * Only for 888 when someone click 'home'\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'post888Lobby',\n value: function post888Lobby() {\n return this.post({\n method: 'lobby',\n data: {}\n });\n }\n\n /**\n * Only for 888 when someone click 'cashier'|'deposit'\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'post888Cashier',\n value: function post888Cashier() {\n return this.post({\n method: 'cashier',\n data: {}\n });\n }\n }]);\n\n return Messager;\n}();\n\nexports.default = Messager;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nvar _statusModel = __webpack_require__(1);\n\nvar _statusModel2 = _interopRequireDefault(_statusModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar PariplayModel = function (_BaseModel) {\n _inherits(PariplayModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function PariplayModel(obj) {\n _classCallCheck(this, PariplayModel);\n\n var _this = _possibleConstructorReturn(this, (PariplayModel.__proto__ || Object.getPrototypeOf(PariplayModel)).call(this));\n\n _this.name = 'PariplayModel';\n\n // defaults\n _this.rgsUrl = '//rgs.pariplaygames.com';\n _this.apiPath = '/client/';\n _this.loadGameEndpoint = 'LoadGame';\n _this.currencyCode = 'EUR';\n _this.dontShowBalance = false;\n _this.dontShowStake = false;\n _this.showTicketId = false;\n _this.financialMode = 0;\n _this.playerTokenId = 0;\n _this.showBuyMoreButton = false;\n _this.ukRegulations = false;\n _this.canvas = false;\n\n // case sensitivity is no guaranteed\n // by Pariplay\n\n _this.keyMapping = {\n\n // QueryString (often doubles in loadGame)\n gamecode: 'gameCode',\n token: 'clientToken',\n clienttoken: 'clientToken',\n currencycode: 'currencyCode',\n lang: 'languageCode',\n financialmode: 'financialMode',\n rgsurl: 'rgsUrl',\n homeurl: 'homeUrl',\n historyurl: 'historyUrl',\n buymoreurl: 'buyMoreUrl',\n cashierurl: 'cashierUrl',\n dontshowbalance: 'dontShowBalance',\n dontshowstake: 'dontShowStake',\n showticketid: 'showTicketId',\n showbuymorepopup: 'showBuyMorePopup',\n sound: 'sound',\n extradata: 'extraData',\n debug: 'debug',\n fps: 'fps',\n canvas: 'canvas',\n\n // Load Game (additional)\n defaultstake: 'defaultStake',\n balanceurl: 'balanceUrl',\n playertokenid: 'playerTokenId',\n endurl: 'endUrl',\n helpurl: 'helpUrl',\n notifyurl: 'notifyUrl',\n paytable: 'paytable',\n placebeturl: 'placeBetUrl',\n maxmultiplier: 'maxMultiplier',\n replayoutcome: 'replayOutcome',\n realitychecktimeout: 'realityCheckTimeout',\n stakes: 'stakes',\n status: 'status',\n ukregulations: 'ukRegulations',\n autobetrounds: 'autoplayOptions',\n\n // Calculated\n maxprize: 'maxPrize',\n baselanguage: 'baseLanguage',\n showbuymorebutton: 'showBuyMoreButton',\n showhomebutton: 'showHomeButton',\n showhelpbutton: 'showHelpButton',\n showcashierbutton: 'showCashierButton',\n showhistorybutton: 'showHistoryButton',\n showrealitycheck: 'showRealityCheck',\n realitycheckseconds: 'realityCheckSeconds'\n };\n\n // Prevent the loadGame overwriting the query params\n _this.preventOverwrite = ['gameCode', 'cashierUrl', 'homeUrl'];\n\n _this.decodeURI = ['helpUrl', 'cashierUrl', 'homeUrl', 'historyUrl', 'buyMoreUrl'];\n\n _this.subModels = {\n status: _statusModel2.default\n };\n\n _this.inject(obj);\n return _this;\n }\n\n /**\n * Add extra functionality to inject\n *\n * @private\n * @param {object} obj - raw data\n */\n\n\n _createClass(PariplayModel, [{\n key: 'inject',\n value: function inject(obj) {\n _get(PariplayModel.prototype.__proto__ || Object.getPrototypeOf(PariplayModel.prototype), 'inject', this).call(this, obj);\n\n if (this.status && this.status.financialMode) {\n this.financialMode = this.status.financialMode;\n }\n\n if (this.languageCode) {\n this.languageCode = this._parseLangCode(this.languageCode);\n this.baseLanguage = this.languageCode.substring(0, 2);\n }\n\n if (this.rgsUrl && this.apiPath) {\n this.apiEndpoint = this.rgsUrl + this.apiPath;\n }\n\n this.maxPrize = this.getMaxPrize();\n this.showHomeButton = !!this.homeUrl;\n this.showHelpButton = !!this.helpUrl;\n this.showHistoryButton = !!this.historyUrl;\n this.showCashierButton = !!this.cashierUrl;\n this.showBuyMoreButton = this.shouldShowBuyMore();\n this.showRealityCheck = this.shouldShowRealityCheck();\n }\n\n /**\n * Gets the maximum prize.\n *\n * @return {number} The maximum prize.\n */\n\n }, {\n key: 'getMaxPrize',\n value: function getMaxPrize() {\n if (!this.maxMultiplier || !this.stakes) {\n return 0;\n }\n\n var a = this.maxMultiplier * this.stakes[this.stakes.length - 1];\n\n return Math.round(a);\n }\n\n /**\n * Should we show the reality check\n *\n * @return {boolean} whether or not to show it\n */\n\n }, {\n key: 'shouldShowRealityCheck',\n value: function shouldShowRealityCheck() {\n var rct = this.realityCheckTimeout;\n\n if (typeof rct !== 'number' || rct <= 0) return false;\n\n this.realityCheckSeconds = this.realityCheckTimeout * 60;\n\n return true;\n }\n\n /**\n * SHould show buy more\n *\n * @return {boolean} whether or not to show it\n */\n\n }, {\n key: 'shouldShowBuyMore',\n value: function shouldShowBuyMore() {\n if (this.showBuyMorePopup && (this.buyMoreUrl || this.homeUrl)) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Erro check the langCode\n *\n * @private\n * @param {string} locale - raw locale\n * @return {string} the corrected locale code\n */\n\n }, {\n key: '_parseLangCode',\n value: function _parseLangCode(locale) {\n if (typeof locale !== 'string') {\n return '';\n }\n\n var parts = locale.split('-');\n\n // try underscore instead\n if (parts.length === 1 && locale.length > 2) {\n parts = locale.split('_');\n }\n\n var lang = parts[0].toLowerCase();\n\n if (parts[1] && parts[1].length > 1 && parts[1] !== '' && parts[1] !== '-') {\n var country = parts[1].toUpperCase();\n\n lang = lang + '-' + country;\n }\n\n return lang;\n }\n }]);\n\n return PariplayModel;\n}(_baseModel2.default);\n\nexports.default = PariplayModel;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Networker = function () {\n /**\n * Post After round is completed\n *\n * @param {string} apiEndpoint - Id of bet\n * @return {Pariplay.Netowrker} For chaining\n */\n function Networker(apiEndpoint) {\n _classCallCheck(this, Networker);\n\n this.name = 'Networker';\n this.apiEndpoint = apiEndpoint;\n\n return this;\n }\n\n /**\n * Post After round is completed\n *\n * @param {string} path - Api path\n * @param {object} params - Body params\n * @param {Callback} callback - Completion handler\n */\n\n\n _createClass(Networker, [{\n key: 'POST',\n value: function POST(path, params, callback) {\n var endpoint = this.apiEndpoint + path;\n\n if (!params) {\n params = {};\n }\n\n params.Rand = Math.floor(Math.random() * 10000000);\n params = this.serializeParams(params);\n\n var request = new XMLHttpRequest();\n\n request.open('POST', endpoint, true);\n request.setRequestHeader('Accept', 'application/json, text/javascript, */*');\n request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n request.timeout = 120000;\n\n function completionHandler() {\n var resp = request.responseText;\n\n if (request.status >= 200 && request.status < 400) {\n try {\n if (resp !== '') {\n resp = JSON.parse(resp);\n }\n } catch (e) {\n callback('Fail', resp, request.status);\n\n return;\n }\n\n callback(null, resp, request.status);\n } else {\n callback('Fail', resp, request.status);\n }\n }\n\n request.onload = completionHandler;\n\n request.onerror = function (err) {\n return callback(err, null, request.status);\n };\n\n request.ontimeout = function () {\n return callback('timeout', null, request.status);\n };\n\n request.send(params);\n }\n }, {\n key: 'GET',\n value: function GET(theUrl, cb) {\n var xmlHttp = new XMLHttpRequest();\n xmlHttp.onreadystatechange = function () {\n if (!cb) return;\n if (xmlHttp.readyState == 4 && xmlHttp.status == 200) cb(null, xmlHttp.responseText);else cb('failed', xmlHttp.responseText);\n };\n xmlHttp.open(\"GET\", theUrl, true); // true for asynchronous\n xmlHttp.send(null);\n }\n\n /**\n * Turns a js object in http body params\n *\n * @param {string} params - Your params as an object\n * @return {str} Serialized params\n */\n\n }, {\n key: 'serializeParams',\n value: function serializeParams(params) {\n var str = '';\n\n for (var key in params) {\n if (str !== '') {\n str += '&';\n }\n str += key + '=' + encodeURIComponent(params[key]);\n }\n\n return str;\n }\n }]);\n\n return Networker;\n}();\n\nexports.default = Networker;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Pariplay = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _load = __webpack_require__(6);\n\nvar _load2 = _interopRequireDefault(_load);\n\nvar _bet = __webpack_require__(3);\n\nvar _bet2 = _interopRequireDefault(_bet);\n\nvar _balance = __webpack_require__(2);\n\nvar _balance2 = _interopRequireDefault(_balance);\n\nvar _linker = __webpack_require__(5);\n\nvar _linker2 = _interopRequireDefault(_linker);\n\nvar _messager = __webpack_require__(7);\n\nvar _messager2 = _interopRequireDefault(_messager);\n\nvar _networker = __webpack_require__(9);\n\nvar _networker2 = _interopRequireDefault(_networker);\n\nvar _helper = __webpack_require__(4);\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _pariplayModel = __webpack_require__(8);\n\nvar _pariplayModel2 = _interopRequireDefault(_pariplayModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * This the entry point for the Pariplay class, every method in this class needs to be implemented\n * in you application in order complete all the neccessary functionality the Pariplay RGS documentation requires.\n *\n * None of the other classes nor their methods need to be used by your application.\n */\nvar Pariplay = exports.Pariplay = function () {\n /**\n * @callback Callback\n * @param {object} err - Error\n * @param {object} resp - Response\n * @param {number} code - HTTP Code\n */\n\n /**\n * This should fire before the loadGame request and you must pass it the url\n * queryData\n *\n * @param {Object|String} queryData - url query data\n * @param {Boolean} isMobile - is this thing Mobile or not\n * @param {Function} forceBack - A handler for when the game should force a real back navigation\n * @return {Pariplay} Returns self to allow chaining\n */\n function Pariplay(queryData, isMobile, forceBack) {\n _classCallCheck(this, Pariplay);\n\n if (typeof queryData === 'string') {\n queryData = _helper2.default.getQueryAsObj(queryData);\n }\n\n this.isMobile = false;\n this.options = new _pariplayModel2.default(queryData);\n this.networker = new _networker2.default(this.options.apiEndpoint);\n this.messager = new _messager2.default(this.options);\n this.linker = new _linker2.default(this.messager, this.networker, this.isMobile, forceBack);\n this.load = new _load2.default(this.options, this.networker);\n\n this.messager.postOnAppFrameReady();\n\n if (typeof isMobile === 'boolean') {\n this.setIsMobile(isMobile);\n }\n\n return this;\n }\n\n /**\n * @param {boolean} isMobile - is this thing Mobile or not\n */\n\n\n _createClass(Pariplay, [{\n key: 'setIsMobile',\n value: function setIsMobile(isMobile) {\n this.isMobile = isMobile;\n this.linker.isMobile = isMobile;\n }\n\n /**\n * Load Game data from server\n *\n * @public\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'loadGame',\n value: function loadGame(callback) {\n var _this = this;\n\n this.load.loadGame(function (err, handledResp, code) {\n var balanceHandler = function balanceHandler(balance) {\n if (_this.balanceHandler) {\n _this.balanceHandler(balance);\n }\n };\n\n _this.options.inject(handledResp);\n _this.options.isValid = !err;\n _this.bet = new _bet2.default(_this.options, _this.networker);\n _this.balance = new _balance2.default(_this.options, _this.networker, balanceHandler);\n\n if (_this.options.status && _this.options.status.getData) {\n _this.messager.postLoadGame(_this.options.isValid, _this.options.status);\n }\n\n callback(err, _this.options, code);\n });\n }\n\n /**\n * Check if we have a balance if not then we need to get it\n * @param {function} options - options for checking balance\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'getInitialBalance',\n value: function getInitialBalance(options, callback) {\n var _this2 = this;\n\n this.load.getInitialBalance(options.status, options.isValid, function (err, balance, code) {\n if (_this2.balance && balance >= 0) {\n _this2.balance.startInterval();\n }\n\n callback(err, balance, code);\n });\n }\n\n /**\n * Place a bet\n *\n * @param {number} stake - value of bet\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'placeBet',\n value: function placeBet(stake, callback) {\n var _this3 = this;\n\n this.messager.postBeforePlaceBet(stake);\n this.bet.place(stake, function (err, betModel, code) {\n if (!err) {\n _this3.messager.postAfterPlaceBet(betModel.ticket.id, betModel.balance.balanceBefore, betModel.balance.roundsLeft);\n }\n\n _this3.balance.stopInterval();\n\n callback(err, betModel, code);\n });\n }\n\n /**\n * Setup a replay betmodel from a load game response\n *\n * @param {object} resp - Load game response\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'replayBet',\n value: function replayBet(resp, callback) {\n this.bet.handleResponse(null, resp, 200, function (err, betModel, code) {\n betModel.isReplay = true;\n callback(err, betModel, code);\n });\n }\n\n /**\n * Tell Pariplay bet has been witnessed by user\n *\n * @param {object} data - Load game response\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'endBet',\n value: function endBet(data, callback) {\n this.messager.postRoundEnded(data.ticketId, data.totalWinAmount, data.balanceAfter, data.roundsLeftAfter);\n this.balance.startInterval();\n this.bet.end(data.ticketId, function (err, resp, code) {\n if (callback) {\n callback(err, resp, code);\n }\n });\n }\n\n /**\n * Tell Pariplay the currency has loaded\n *\n * @param {object} data - message response\n * @return {object} data sent\n */\n\n }, {\n key: 'currencyLoaded',\n value: function currencyLoaded(data) {\n return this.messager.postCurrencyStatus(data.cc, data.cs);\n }\n\n /**\n * Tell Pariplay the balance changed\n *\n * @param {object} amount - message response\n * @return {object} data sent\n */\n\n }, {\n key: 'balanceChanged',\n value: function balanceChanged(amount) {\n return this.messager.postUpdateBalance(amount);\n }\n\n /**\n * Tell Pariplay the we are out of tickets\n * THIS IS THE ONE THE TELLS PP TO SHOW THEIR MODEL\n *\n * @param {object} amount - message response\n * @return {object} data sent\n */\n\n }, {\n key: 'noTicketsLeft',\n value: function noTicketsLeft() {\n return this.messager.postNoRoundsLeft();\n }\n\n /**\n * Tell Pariplay the game will reveal all\n *\n * @return {object} data sent\n */\n\n }, {\n key: 'willRevealAll',\n value: function willRevealAll() {\n return this.messager.postRevealAll();\n }\n\n /**\n * Tell Pariplay the viewport resized\n *\n * @param {number} w - width\n * @param {number} h - height\n * @return {Pariplay} Returns self to allow chaining\n */\n\n }, {\n key: 'resize',\n value: function resize(w, h) {\n return this.messager.postResize(w, h);\n }\n\n /**\n * Navigate user to homeUrl\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goHome',\n value: function goHome() {\n return this.linker.home(this.options.homeUrl);\n }\n\n /**\n * Navigate user to casier url\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goCashier',\n value: function goCashier() {\n return this.linker.cashier(this.options.cashierUrl);\n }\n\n /**\n * Navigate user to buymore url\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goBuyMore',\n value: function goBuyMore() {\n return this.linker.buyMore(this.options.buyMoreUrl);\n }\n\n /**\n * Navigate user to history url\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goHistory',\n value: function goHistory() {\n return this.linker.history(this.options.historyUrl);\n }\n\n /**\n * Handle a message link\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goToURL',\n value: function goToURL(link, linkType, cb) {\n return this.linker.goTo(link, linkType, cb);\n }\n }]);\n\n return Pariplay;\n}();\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar BalanceModel = function (_BaseModel) {\n _inherits(BalanceModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - data for model\n */\n function BalanceModel(obj) {\n _classCallCheck(this, BalanceModel);\n\n var _this = _possibleConstructorReturn(this, (BalanceModel.__proto__ || Object.getPrototypeOf(BalanceModel)).call(this));\n\n _this.name = 'BalanceModel';\n\n _this.keyMapping = {\n balancebefore: 'balanceBefore',\n balanceafter: 'balanceAfter',\n roundsleftbefore: 'roundsLeftBefore',\n roundsleftafter: 'roundsLeftAfter',\n totalwinamount: 'totalWinAmount'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n return BalanceModel;\n}(_baseModel2.default);\n\nexports.default = BalanceModel;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nvar _balanceModel = __webpack_require__(11);\n\nvar _balanceModel2 = _interopRequireDefault(_balanceModel);\n\nvar _statusModel = __webpack_require__(1);\n\nvar _statusModel2 = _interopRequireDefault(_statusModel);\n\nvar _ticketModel = __webpack_require__(16);\n\nvar _ticketModel2 = _interopRequireDefault(_ticketModel);\n\nvar _inputModel = __webpack_require__(14);\n\nvar _inputModel2 = _interopRequireDefault(_inputModel);\n\nvar _messageModel = __webpack_require__(15);\n\nvar _messageModel2 = _interopRequireDefault(_messageModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar BetModel = function (_BaseModel) {\n _inherits(BetModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function BetModel(obj) {\n _classCallCheck(this, BetModel);\n\n var _this = _possibleConstructorReturn(this, (BetModel.__proto__ || Object.getPrototypeOf(BetModel)).call(this));\n\n _this.name = 'BetModel';\n\n _this.isReplay = false;\n\n _this.keyMapping = {\n isReplay: 'isReplay',\n input: 'input',\n balance: 'balance',\n status: 'status',\n ticket: 'ticket',\n message: 'messages'\n };\n\n _this.subModels = {\n balance: _balanceModel2.default,\n status: _statusModel2.default,\n ticket: _ticketModel2.default,\n input: _inputModel2.default,\n messages: _messageModel2.default\n };\n\n _this.inject(obj);\n return _this;\n }\n\n /**\n * Gets the stake.\n *\n * @return {number} The stake.\n */\n\n\n _createClass(BetModel, [{\n key: 'getStake',\n value: function getStake() {\n return this.input.stake;\n }\n\n /**\n * Gets the ticket identifier.\n *\n * @return {number} ticket id\n */\n\n }, {\n key: 'getTicketId',\n value: function getTicketId() {\n return this.ticket.id;\n }\n\n /**\n * Gets the matrix.\n *\n * @return {array} the matrix of the game\n */\n\n }, {\n key: 'getMatrix',\n value: function getMatrix() {\n return this.ticket.matrixIndexes;\n }\n\n /**\n * Gets the window index.\n *\n * @return {number} win index\n */\n\n }, {\n key: 'getWinIndex',\n value: function getWinIndex() {\n return this.ticket.winIndex;\n }\n\n /**\n * Gets the window poss index.\n *\n * @return {number} possible win index\n */\n\n }, {\n key: 'getWinPossIndex',\n value: function getWinPossIndex() {\n return this.ticket.winPossIndex;\n }\n\n /**\n * Determines if window.\n *\n * @return {boolean} did win\n */\n\n }, {\n key: 'isWin',\n value: function isWin() {\n return this.ticket.isWin;\n }\n\n /**\n * Gets the total bet.\n *\n * @return {number} total bet (stake)\n */\n\n }, {\n key: 'getTotalBet',\n value: function getTotalBet() {\n return this.ticket.totalBet;\n }\n\n /**\n * Gets the total window amount.\n *\n * @return {number} rounds after\n */\n\n }, {\n key: 'getTotalWinAmount',\n value: function getTotalWinAmount() {\n return this.ticket.totalWinAmount;\n }\n\n /**\n * Gets the balance before.\n *\n * @return {number} balance before\n */\n\n }, {\n key: 'getBalanceBefore',\n value: function getBalanceBefore() {\n return this.balance.balanceBefore;\n }\n\n /**\n * Gets the balance after.\n *\n * @return {number} balance after\n */\n\n }, {\n key: 'getBalanceAfter',\n value: function getBalanceAfter() {\n return this.balance.balanceAfter;\n }\n\n /**\n * Gets the rounds left before.\n *\n * @return {number} rounds before\n */\n\n }, {\n key: 'getRoundsLeftBefore',\n value: function getRoundsLeftBefore() {\n return this.balance.roundsLeftBefore;\n }\n\n /**\n * Gets the rounds left after.\n *\n * @return {number} rounds after\n */\n\n }, {\n key: 'getRoundsLeftAfter',\n value: function getRoundsLeftAfter() {\n return this.balance.roundsLeftAfter;\n }\n\n /**\n * @typedef EndBet\n * @type {object}\n * @property {string} ticketId - The id of the ticket\n * @property {number} winAmount - the total amount won this round\n * @property {number} balanceAfter - new balance\n * @property {number} roundsLeft - new amount of tickets left\n */\n\n /**\n * Prepares the data object for the EndBet call\n *\n * @return {EndBet} Data needed for Pariplay.Bet.endBet()\n */\n\n }, {\n key: 'getEndBetData',\n value: function getEndBetData() {\n var data = {\n ticketId: this.getTicketId(),\n totalWinAmount: this.getTotalWinAmount(),\n balanceAfter: this.getBalanceAfter(),\n roundsLeftAfter: this.getRoundsLeftAfter()\n };\n\n return data;\n }\n\n /**\n * Determines if valid.\n *\n * @return {Booleand} whether model is valid\n */\n\n }, {\n key: 'isValid',\n value: function isValid() {\n var valid = true;\n\n if (!this.balance || !this.ticket || !this.ticket.matrixIndexes || !this.ticket.matrixIndexes.length || this.ticket.matrixIndexes.length <= 0) {\n valid = false;\n console.warn('Betmodel is corrupted' // eslint-disable-line\n );\n }\n\n return valid;\n }\n }]);\n\n return BetModel;\n}(_baseModel2.default);\n\nexports.default = BetModel;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ButtonModel = function (_BaseModel) {\n _inherits(ButtonModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function ButtonModel(obj) {\n _classCallCheck(this, ButtonModel);\n\n var _this = _possibleConstructorReturn(this, (ButtonModel.__proto__ || Object.getPrototypeOf(ButtonModel)).call(this));\n\n _this.keyMapping = {\n text: 'textKey',\n action: 'action',\n link: 'link',\n linktype: 'linkType'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n _createClass(ButtonModel, [{\n key: 'inject',\n value: function inject(obj) {\n _get(ButtonModel.prototype.__proto__ || Object.getPrototypeOf(ButtonModel.prototype), 'inject', this).call(this, obj);\n\n if (this.link && typeof this.link === 'string') {\n this.action = 'link';\n }\n }\n }]);\n\n return ButtonModel;\n}(_baseModel2.default);\n\nexports.default = ButtonModel;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar InputModel = function (_BaseModel) {\n _inherits(InputModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function InputModel(obj) {\n _classCallCheck(this, InputModel);\n\n var _this = _possibleConstructorReturn(this, (InputModel.__proto__ || Object.getPrototypeOf(InputModel)).call(this));\n\n _this.name = 'InputModel';\n\n _this.keyMapping = {\n stake: 'stake',\n selectednumbers: 'selectedNumbers'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n return InputModel;\n}(_baseModel2.default);\n\nexports.default = InputModel;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nvar _buttonModel = __webpack_require__(13);\n\nvar _buttonModel2 = _interopRequireDefault(_buttonModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MessageModel = function (_BaseModel) {\n _inherits(MessageModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function MessageModel(obj) {\n _classCallCheck(this, MessageModel);\n\n var _this = _possibleConstructorReturn(this, (MessageModel.__proto__ || Object.getPrototypeOf(MessageModel)).call(this));\n\n _this.name = 'MessageModel';\n\n _this.keyMapping = {\n displaytype: 'displayType',\n title: 'title',\n text: 'msg',\n buttons: 'buttons'\n };\n\n _this.subModels = {\n buttons: _buttonModel2.default\n };\n\n _this.inject(obj);\n return _this;\n }\n\n return MessageModel;\n}(_baseModel2.default);\n\nexports.default = MessageModel;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar TicketModel = function (_BaseModel) {\n _inherits(TicketModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function TicketModel(obj) {\n _classCallCheck(this, TicketModel);\n\n var _this = _possibleConstructorReturn(this, (TicketModel.__proto__ || Object.getPrototypeOf(TicketModel)).call(this));\n\n _this.name = 'TicketModel';\n\n _this.totalwinamount = 0;\n\n _this.keyMapping = {\n id: 'id',\n iswin: 'isWin',\n winindex: 'winIndex',\n winpossindex: 'winPossIndex',\n matrixindexes: 'matrixIndexes',\n matrix: 'matrix',\n totalbet: 'totalBet',\n totalwinamount: 'totalWinAmount',\n drawnnumbers: 'drawnNumbers',\n paytabelid: 'paytableId'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n return TicketModel;\n}(_baseModel2.default);\n\nexports.default = TicketModel;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pariplay.js.map\n\n/***/ }),\n/* 75 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = ImageModel;\n/**\n * Class for image model.\n */\nfunction ImageModel() {\n // shared sprites\n this.uiJSON = __webpack_require__(76);\n this.uiURL = __webpack_require__(77);\n\n // shared images\n this.buttonSecondaryNormalImage = __webpack_require__(78);\n this.buttonSecondaryHoverImage = __webpack_require__(79);\n\n this.preload = [this.buttonSecondaryNormalImage, this.buttonSecondaryHoverImage, this.uiJSON];\n\n return this;\n}\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"sprite/buttons@3x.json\";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"sprite/buttons@3x.png\";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"img/btn/button-secondary-normal@3x.png\";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"img/btn/button-secondary-hover@3x.png\";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = GameModel;\n/* eslint-disable func-names */\n\n/**\n * Class for game model.\n */\nfunction GameModel() {\n var muteString = window.localStorage.getItem('mute');\n\n this.mute = muteString !== 'false';\n}\n\n/**\n * Gets the font with variations.\n *\n * @return {String} The font with variations.\n */\nGameModel.prototype.getFontWithVariations = function () {\n return this.font + this.fontVariations;\n};\n\n/**\n * Gets the stake.\n *\n * @return {Number} The stake.\n */\nGameModel.prototype.getStake = function () {\n if (this.stake !== undefined) {\n return this.stake;\n }\n\n return this.defaultStake;\n};\n\n/**\n * Gets the currency multiplier.\n *\n * @return {Number} The currency multiplier.\n */\nGameModel.prototype.getCurrencyMultiplier = function () {\n return this.defaultStake / this.baseMultiplier;\n};\n\n/**\n * Determines if out of tickets.\n *\n * @return {boolean} True if out of tickets, False otherwise.\n */\nGameModel.prototype.isOutOfTickets = function () {\n var bm = this.isBasketMode();\n var hr = this.hasRoundsLeft();\n\n var res = false;\n\n if (bm && !hr) {\n res = true;\n }\n\n return res;\n};\n\n/**\n * Determines if out of funds.\n *\n * @return {Boolean} True if out of funds, False otherwise.\n */\nGameModel.prototype.isOutOfFunds = function () {\n var bm = this.isBasketMode();\n var ba = this.getBalance();\n\n if (!bm && ba <= 0) {\n return true;\n }\n\n return false;\n};\n\n/**\n * Gets the help url.\n *\n * @return {String} The help url.\n */\nGameModel.prototype.getHelpUrl = function () {\n if (!this.showHelpButton) {\n return null;\n }\n\n var mu = this.getCurrencyMultiplier();\n var cc = this.currencyCode;\n var rc = false; // 888 Hack to hide RC info in help file\n\n var url = this.helpUrl + '&data=cc-' + cc + '$mu-' + mu + '$rc-' + rc + '&v=' + window.__version;\n\n if (this.apiGameCode) {\n url = url.replace(this.gameCode, 'PP_HTML5_TreasureRaider60');\n }\n\n return url;\n};\n\n/**\n * Determines if maximum prize.\n *\n * @param {Number} index The index\n * @return {Boolean} True if maximum prize, False otherwise.\n */\nGameModel.prototype.isMaxPrize = function (index) {\n return this.maxPrize === Number(index);\n};\n\n/**\n * Gets the status.\n *\n * @return {StatusModel} The status.\n */\nGameModel.prototype.getStatus = function () {\n return this.status;\n};\n\n/**\n * Gets the balance.\n *\n * @return {Number} The balance.\n */\nGameModel.prototype.getBalance = function () {\n var s = this.getStatus();\n\n if (!s) {\n return null;\n }\n\n return s.balance;\n};\n\n/**\n * Sets the balance.\n *\n * @param {Number} v { parameter_description }\n */\nGameModel.prototype.setBalance = function (v) {\n var s = this.getStatus();\n\n if (!s) {\n return;\n }\n\n s.balance = v;\n};\n\n/**\n * Gets the financial mode.\n *\n * @return {Number} The financial mode.\n */\nGameModel.prototype.getFinancialMode = function () {\n var s = this.getStatus();\n\n if (!s) {\n return null;\n }\n\n return s.financialMode;\n};\n\n/**\n * Determines if basket mode.\n *\n * @return {boolean} True if basket mode, False otherwise.\n */\nGameModel.prototype.isBasketMode = function () {\n return this.getFinancialMode() === 1;\n};\n\n/**\n * Gets the rounds left.\n *\n * @return {Number} The rounds left.\n */\nGameModel.prototype.getRoundsLeft = function () {\n var s = this.getStatus();\n\n if (!s) {\n return null;\n }\n\n return s.roundsLeft;\n};\n\n/**\n * Sets the rounds left.\n *\n * @param {Number} v { parameter_description }\n */\nGameModel.prototype.setRoundsLeft = function (v) {\n var s = this.getStatus();\n\n if (!s) {\n return;\n }\n\n s.roundsLeft = v;\n};\n\n/**\n * Determines if it has rounds left.\n *\n * @return {Boolean} True if has rounds left, False otherwise.\n */\nGameModel.prototype.hasRoundsLeft = function () {\n return this.getRoundsLeft() > 0;\n};\n\n/**\n * Gets the sound.\n *\n * @return {Number} The sound.\n */\nGameModel.prototype.getSound = function () {\n var s = this.sound;\n\n if (typeof s === 'number') {\n if (s > 0) {\n this.defaultVolume = s;\n this.setMute(false);\n } else {\n this.setMute(true);\n }\n }\n\n if (typeof s === 'boolean') {\n this.setMute(!s);\n }\n\n return this.defaultVolume;\n};\n\n/**\n * Gets the mute.\n *\n * @return {Boolean} The mute.\n */\nGameModel.prototype.getMute = function () {\n return this.mute;\n};\n\n/**\n * Sets the mute.\n *\n * @param {Boolean} v { parameter_description }\n */\nGameModel.prototype.setMute = function (v) {\n this.mute = v;\n window.localStorage.setItem('mute', v);\n};\n\nGameModel.prototype.isAutoplaying = function (before, after, stake) {\n return this.autoplayRounds > 0;\n};\n\nGameModel.prototype.decreaseAutoplay = function () {\n return this.autoplayedRounds -= 1;\n};\n\nGameModel.prototype.resetAutoplay = function () {\n this.hasUserStartedAutoplay = false;\n this.autoplayWin = 0;\n this.autoplayLoss = 0;\n\n return this.autoplayedRounds = this.autoplayRounds;\n};\n\nGameModel.prototype.stopAutoplay = function () {\n this.hasUserStartedAutoplay = false;\n this.autoplayWin = 0;\n this.autoplayLoss = 0;\n this.autoplayedRounds = 0;\n this.autoplayRounds = 0;\n};\n\nGameModel.prototype.updateAutoplayState = function (win, loss) {\n if (!this.isAutoplaying()) {\n return 0;\n }\n\n this.autoplayWin += win;\n this.autoplayLoss += loss;\n\n var reason = null;\n\n if (win >= this.singleWin && this.singleWin > 0) {\n reason = __t.str('Single win limit reached!');\n } else if (this.autoplayLoss - this.autoplayWin >= this.lossLimit && this.lossLimit > 0) {\n reason = __t.str('Loss limit reached!');\n }\n\n if (reason !== null) {\n this.autoplayedRounds = 0;\n }\n\n return reason;\n};\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\n/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */\r\nmodule.exports = __webpack_amd_options__;\r\n\n/* WEBPACK VAR INJECTION */}.call(exports, {}))\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* eslint-disable */\n/* !\n * VERSION: 0.2.1\n * DATE: 2017-01-17\n * UPDATES AND DOCS AT: http://greensock.com\n *\n * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.\n * This work is subject to the terms at http://greensock.com/standard-license or for\n * Club GreenSock members, the software agreement that was issued with your membership.\n *\n * @author: Jack Doyle, jack@greensock.com\n **/\nvar _gsScope = typeof module !== 'undefined' && module.exports && typeof global !== 'undefined' ? global : this || window;\n\n(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function () {\n _gsScope._gsDefine('easing.CustomEase', ['easing.Ease'], function (a) {\n var b = /(?:(-|-=|\\+=)?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi,\n c = /[achlmqstvz]|(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi,\n d = /[\\+\\-]?\\d*\\.?\\d+e[\\+\\-]?\\d+/gi,\n e = /[cLlsS]/g,\n f = 'CustomEase only accepts Cubic Bezier data.',\n g = function g(a, b, c, d, e, f, h, i, j, k, l) {\n var m = void 0,\n n = (a + c) / 2,\n o = (b + d) / 2,\n p = (c + e) / 2,\n q = (d + f) / 2,\n r = (e + h) / 2,\n s = (f + i) / 2,\n t = (n + p) / 2,\n u = (o + q) / 2,\n v = (p + r) / 2,\n w = (q + s) / 2,\n x = (t + v) / 2,\n y = (u + w) / 2,\n z = h - a,\n A = i - b,\n B = Math.abs((c - h) * A - (d - i) * z),\n C = Math.abs((e - h) * A - (f - i) * z);\n\n return k || (k = [{ x: a, y: b }, { x: h, y: i }], l = 1), k.splice(l || k.length - 1, 0, { x: x, y: y }), (B + C) * (B + C) > j * (z * z + A * A) && (m = k.length, g(a, b, n, o, t, u, x, y, j, k, l), g(x, y, v, w, r, s, h, i, j, k, l + 1 + (k.length - m))), k;\n },\n h = function h(a) {\n var b = void 0,\n e = void 0,\n g = void 0,\n h = void 0,\n i = void 0,\n j = void 0,\n k = void 0,\n l = void 0,\n m = void 0,\n n = void 0,\n o = void 0,\n p = ('' + a).replace(d, function (a) {\n var b = Number(a);\n\n return b < 1e-4 && b > -1e-4 ? 0 : b;\n }).match(c) || [],\n q = [],\n r = 0,\n s = 0,\n t = p.length,\n u = 2;\n\n for (b = 0; t > b; b++) {\n if (m = h, isNaN(p[b]) ? (h = p[b].toUpperCase(), i = h !== p[b]) : b--, e = Number(p[b + 1]), g = Number(p[b + 2]), i && (e += r, g += s), b || (k = e, l = g), h === 'M') {\n j && j.length < 8 && (q.length -= 1, u = 0), r = k = e, s = l = g, j = [e, g], u = 2, q.push(j), b += 2, h = 'L';\n } else if (h === 'C') {\n j || (j = [0, 0]), j[u++] = e, j[u++] = g, i || (r = s = 0), j[u++] = r + Number(p[b + 3]), j[u++] = s + Number(p[b + 4]), j[u++] = r += Number(p[b + 5]), j[u++] = s += Number(p[b + 6]), b += 6;\n } else if (h === 'S') {\n m === 'C' || m === 'S' ? (n = r - j[u - 4], o = s - j[u - 3], j[u++] = r + n, j[u++] = s + o) : (j[u++] = r, j[u++] = s), j[u++] = e, j[u++] = g, i || (r = s = 0), j[u++] = r += Number(p[b + 3]), j[u++] = s += Number(p[b + 4]), b += 4;\n } else {\n if (h !== 'L' && h !== 'Z') {\n throw f;\n }h === 'Z' && (e = k, g = l, j.closed = !0), (h === 'L' || Math.abs(r - e) > 0.5 || Math.abs(s - g) > 0.5) && (j[u++] = r + (e - r) / 3, j[u++] = s + (g - s) / 3, j[u++] = r + 2 * (e - r) / 3, j[u++] = s + 2 * (g - s) / 3, j[u++] = e, j[u++] = g, h === 'L' && (b += 2)), r = e, s = g;\n }\n }\n\n return q[0];\n },\n i = function i(a) {\n var b = void 0,\n c = a.length,\n d = 999999999999;\n\n for (b = 1; c > b; b += 6) {\n Number(a[b]) < d && (d = Number(a[b]));\n }\n\n return d;\n },\n j = function j(a, b, c) {\n c || c === 0 || (c = Math.max(Number(a[a.length - 1]), Number(a[1])));var d = void 0,\n e = -1 * Number(a[0]),\n f = -c,\n g = a.length,\n h = 1 / (Number(a[g - 2]) + e),\n j = -b || (Math.abs(Number(a[g - 1]) - Number(a[1])) < 0.01 * (Number(a[g - 2]) - Number(a[0])) ? i(a) + f : Number(a[g - 1]) + f);\n\n for (j = j ? 1 / j : -h, d = 0; g > d; d += 2) {\n a[d] = (Number(a[d]) + e) * h, a[d + 1] = (Number(a[d + 1]) + f) * j;\n }\n },\n k = function k(a) {\n var b = this.lookup[a * this.l | 0] || this.lookup[this.l - 1];\n\n return b.nx < a && (b = b.n), b.y + (a - b.x) / b.cx * b.cy;\n },\n l = function l(b, c, d) {\n this._calcEnd = !0, this.id = b, b && (a.map[b] = this), this.getRatio = k, this.setData(c, d);\n },\n m = l.prototype = new a();\n\n return m.constructor = l, m.setData = function (a, c) {\n a = a || '0,0,1,1';var d = void 0,\n i = void 0,\n k = void 0,\n l = void 0,\n m = void 0,\n n = void 0,\n o = void 0,\n p = void 0,\n q = void 0,\n r = void 0,\n s = a.match(b),\n t = 1,\n u = [];\n\n if (c = c || {}, r = c.precision || 1, this.data = a, this.lookup = [], this.points = u, this.fast = r <= 1, (e.test(a) || a.indexOf('M') !== -1 && a.indexOf('C') === -1) && (s = h(a)), d = s.length, d === 4) {\n s.unshift(0, 0), s.push(1, 1), d = 8;\n } else if ((d - 2) % 6) {\n throw f;\n }for ((Number(s[0]) !== 0 || Number(s[d - 2]) !== 1) && j(s, c.height, c.originY), this.rawBezier = s, l = 2; d > l; l += 6) {\n i = { x: Number(s[l - 2]), y: Number(s[l - 1]) }, k = { x: Number(s[l + 4]), y: Number(s[l + 5]) }, u.push(i, k), g(i.x, i.y, Number(s[l]), Number(s[l + 1]), Number(s[l + 2]), Number(s[l + 3]), k.x, k.y, 1 / (2e5 * r), u, u.length - 1);\n }for (d = u.length, l = 0; d > l; l++) {\n o = u[l], p = u[l - 1] || o, o.x > p.x || p.y !== o.y && p.x === o.x || o === p ? (p.cx = o.x - p.x, p.cy = o.y - p.y, p.n = o, p.nx = o.x, this.fast && l > 1 && Math.abs(p.cy / p.cx - u[l - 2].cy / u[l - 2].cx) > 2 && (this.fast = !1), p.cx < t && (p.cx ? t = p.cx : (p.cx = 0.001, l === d - 1 && (p.x -= 0.001, t = Math.min(t, 0.001), this.fast = !1)))) : (u.splice(l--, 1), d--);\n }if (d = 1 / t + 1 | 0, this.l = d, m = 1 / d, n = 0, o = u[0], this.fast) {\n for (l = 0; d > l; l++) {\n q = l * m, o.nx < q && (o = u[++n]), i = o.y + (q - o.x) / o.cx * o.cy, this.lookup[l] = { x: q, cx: m, y: i, cy: 0, nx: 9 }, l && (this.lookup[l - 1].cy = i - this.lookup[l - 1].y);\n }this.lookup[d - 1].cy = u[u.length - 1].y - i;\n } else {\n for (l = 0; d > l; l++) {\n o.nx < l * m && (o = u[++n]), this.lookup[l] = o;\n }n < u.length - 1 && (this.lookup[l - 1] = u[u.length - 2]);\n }\n\n return this._calcEnd = u[u.length - 1].y !== 1 || u[0].y !== 0, this;\n }, m.getRatio = k, m.getSVGData = function (a) {\n return l.getSVGData(this, a);\n }, l.create = function (a, b, c) {\n return new l(a, b, c);\n }, l.version = '0.2.1', l.bezierToPoints = g, l.get = function (b) {\n return a.map[b];\n }, l.getSVGData = function (b, c) {\n c = c || {};var d = void 0,\n e = void 0,\n f = void 0,\n g = void 0,\n h = void 0,\n i = void 0,\n j = void 0,\n k = void 0,\n l = void 0,\n m = void 0,\n n = 1e3,\n o = c.width || 100,\n p = c.height || 100,\n q = c.x || 0,\n r = (c.y || 0) + p,\n s = c.path;\n\n if (c.invert && (p = -p, r = 0), b = b.getRatio ? b : a.map[b] || console.log('No ease found: ', b), b.rawBezier) {\n for (d = [], j = b.rawBezier.length, f = 0; j > f; f += 2) {\n d.push(((q + b.rawBezier[f] * o) * n | 0) / n + ',' + ((r + b.rawBezier[f + 1] * -p) * n | 0) / n);\n }d[0] = 'M' + d[0], d[1] = 'C' + d[1];\n } else {\n for (d = ['M' + q + ',' + r], j = Math.max(5, 200 * (c.precision || 1)), g = 1 / j, j += 2, k = 5 / j, l = ((q + g * o) * n | 0) / n, m = ((r + b.getRatio(g) * -p) * n | 0) / n, e = (m - r) / (l - q), f = 2; j > f; f++) {\n h = ((q + f * g * o) * n | 0) / n, i = ((r + b.getRatio(f * g) * -p) * n | 0) / n, (Math.abs((i - m) / (h - l) - e) > k || f === j - 1) && (d.push(l + ',' + m), e = (i - m) / (h - l)), l = h, m = i;\n }\n }\n\n return s && (typeof s === 'string' ? document.querySelector(s) : s).setAttribute('d', d.join(' ')), d.join(' ');\n }, l;\n }, !0);\n}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), function (a) {\n var b = function b() {\n return (_gsScope.GreenSockGlobals || _gsScope)[a];\n };\n\n true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (b),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : typeof module !== 'undefined' && module.exports && (require('tween'), module.exports = b());\n}('CustomEase');\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 83 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* unused harmony export default */\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * Game visualization of the data that model contains.\n */\n// export default\nfunction getTicket() {\n var pool = [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6];\n\n var ticket = [];\n\n while (ticket.length < 8) {\n var rand = Math.floor(Math.random() * pool.length);\n var value = pool.splice(rand, 1)[0];\n\n ticket.push(value);\n }\n\n return ticket;\n}\n\nfunction occurences(a) {\n return new Map([].concat(_toConsumableArray(new Set(a))).map(function (x) {\n return [x, a.filter(function (y) {\n return y === x;\n }).length];\n }));\n}\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar pug = __webpack_require__(4);\n\nfunction template(locals) {\n var pug_html = \"\",\n pug_mixins = {},\n pug_interp;;var locals_for_with = locals || {};(function (JSON, buttons, msg, title) {\n pug_html = pug_html + \"\" + pug.escape(null == (pug_interp = title) ? \"\" : pug_interp) + \"

\" + pug.escape(null == (pug_interp = msg) ? \"\" : pug_interp) + \"

\";\n // iterate buttons\n ;(function () {\n var $$obj = buttons;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var button = $$obj[pug_index0];\n pug_html = pug_html + \"\" + pug.escape(null == (pug_interp = button.textKey) ? \"\" : pug_interp) + \"\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var button = $$obj[pug_index0];\n pug_html = pug_html + \"\" + pug.escape(null == (pug_interp = button.textKey) ? \"\" : pug_interp) + \"\";\n }\n }\n }).call(this);\n }).call(this, \"JSON\" in locals_for_with ? locals_for_with.JSON : typeof JSON !== \"undefined\" ? JSON : undefined, \"buttons\" in locals_for_with ? locals_for_with.buttons : typeof buttons !== \"undefined\" ? buttons : undefined, \"msg\" in locals_for_with ? locals_for_with.msg : typeof msg !== \"undefined\" ? msg : undefined, \"title\" in locals_for_with ? locals_for_with.title : typeof title !== \"undefined\" ? title : undefined);;return pug_html;\n};\nmodule.exports = template;\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\n/* (ignored) */\n\n/***/ }),\n/* 86 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_suga__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_suga___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_suga__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__dust_view__ = __webpack_require__(87);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__vases_view__ = __webpack_require__(88);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__candles_view__ = __webpack_require__(91);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__try_counter_view__ = __webpack_require__(93);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__money_bag_view__ = __webpack_require__(94);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__inventory_view__ = __webpack_require__(95);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ticket_id_view__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__explanation_view__ = __webpack_require__(98);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__bet_btn__ = __webpack_require__(99);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__play_btn__ = __webpack_require__(100);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Game visualization of the data that model contains.\n */\n\nvar GameView = function (_PIXI$Container) {\n _inherits(GameView, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} size The size\n * @param {Object} options The options\n * @param {ThemeImageModel} themeImageModel The theme image model\n */\n function GameView(size, options, themeImageModel) {\n _classCallCheck(this, GameView);\n\n var _this = _possibleConstructorReturn(this, (GameView.__proto__ || Object.getPrototypeOf(GameView)).call(this));\n\n _this.name = 'GameView';\n\n _this.winAmount = 0;\n _this.gameProgress = {};\n _this.lightsOfAlpha = 0.5;\n _this.moneyBagMultiplier = options.moneyBagMultiplier;\n _this.sizeWidth = size.width;\n _this.playerHasInteracted = false;\n\n _this.stake = options.stake;\n _this.stakes = options.stakes;\n _this.multipliers = options.multipliers;\n\n _this.placeBet = options.placeBet;\n _this.endBet = options.endBet;\n _this.resultShown = options.resultShown;\n _this.showMatchHandler = options.showMatch;\n _this.stakeChangeHandler = options.stakeChange;\n\n _this.gemImages = [themeImageModel.gem1, themeImageModel.gem2, themeImageModel.gem3, themeImageModel.gem4, themeImageModel.gem5, themeImageModel.gem6];\n\n var moneyBagAmount = _this.stake * _this.moneyBagMultiplier;\n\n _this.moneyBagGlowImage = themeImageModel.moneyBagWin;\n\n _this.addVases(themeImageModel.bgMask);\n _this.addTryCounter(themeImageModel.tryCounter, size);\n _this.addMoneyBag(moneyBagAmount, size);\n _this.addCandles(themeImageModel.glow, size);\n _this.addInventory(themeImageModel, size);\n _this.addDarkness(size);\n _this.addPlayBtn(themeImageModel, size);\n _this.addBetBtn(_this.stake, _this.stakes, themeImageModel, size);\n _this.addTicketId();\n _this.addExplanation(size);\n return _this;\n }\n\n /**\n * Adds vases.\n */\n\n\n _createClass(GameView, [{\n key: 'addVases',\n value: function addVases(maskImg) {\n var _this2 = this;\n\n var vaseImages = [{\n frames: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-1-0'),\n broken: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-1-broken'),\n outline: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-1-outline')\n }, {\n frames: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-2-0'),\n broken: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-2-broken'),\n outline: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-2-outline')\n }, {\n frames: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-3-0'),\n broken: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-3-broken'),\n outline: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-3-outline')\n }, {\n frames: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-4-0'),\n broken: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-4-broken'),\n outline: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-4-outline')\n }, {\n frames: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-5-0'),\n broken: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-5-broken'),\n outline: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-5-outline')\n }, {\n frames: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-6-0'),\n broken: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-6-broken'),\n outline: __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('vase-6-outline')\n }];\n\n // build the animation data\n this.vases = new __WEBPACK_IMPORTED_MODULE_3__vases_view__[\"a\" /* default */](vaseImages, maskImg, function (vase) {\n return _this2.manualPick(vase);\n });\n this.addChild(this.vases);\n }\n\n /**\n * Adds a try counter.\n *\n * @param {string} image The image url\n * @param {object} size The canvas/game size data\n */\n\n }, {\n key: 'addTryCounter',\n value: function addTryCounter(image, size) {\n this.tryCounter = new __WEBPACK_IMPORTED_MODULE_5__try_counter_view__[\"a\" /* default */]();\n this.tryCounter.texture = new PIXI.Texture.fromImage(image);\n this.addChild(this.tryCounter);\n this.tryCounter.y = 6;\n this.tryCounter.x = size.width - this.tryCounter.width - 8;\n }\n\n /**\n * Adds a money bag.\n *\n * @param {string} normalImg The normal image url\n * @param {string} winImg The window image url\n * @param {object} size The canvas/game size data\n */\n\n }, {\n key: 'addMoneyBag',\n value: function addMoneyBag(amount, size) {\n var grey = __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('money-state');\n var glow = __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('money-glow');\n var array = grey.concat(glow);\n\n this.moneyBag = new __WEBPACK_IMPORTED_MODULE_6__money_bag_view__[\"a\" /* default */](array);\n this.moneyBag.setupWithAmount(amount);\n this.addChild(this.moneyBag);\n this.moneyBag.position.set(size.width - 63, 180);\n }\n\n /**\n * Adds candles.\n *\n * @param {string} image The image url\n */\n\n }, {\n key: 'addCandles',\n value: function addCandles(image, size) {\n this.candles = new __WEBPACK_IMPORTED_MODULE_4__candles_view__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('flame'), image, size);\n this.addChild(this.candles);\n // this.candles.x = 145\n // this.candles.y = 65\n }\n\n /**\n * Adds an inventory.\n *\n * @param {object} themeImageModel The theme image model\n * @param {object} size The canvas/game size data\n */\n\n }, {\n key: 'addInventory',\n value: function addInventory(themeImageModel, size) {\n var gemsImages = [__WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('gem-1'), __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('gem-2'), __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('gem-3'), __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('gem-4'), __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('gem-5'), __WEBPACK_IMPORTED_MODULE_0_suga__[\"Loader\"].makeTexturesFromName('gem-6')];\n\n var multiImages = [[new PIXI.Texture.fromImage(themeImageModel.multi1Normal), new PIXI.Texture.fromImage(themeImageModel.multi1Win)], [new PIXI.Texture.fromImage(themeImageModel.multi2Normal), new PIXI.Texture.fromImage(themeImageModel.multi2Win)], [new PIXI.Texture.fromImage(themeImageModel.multi3Normal), new PIXI.Texture.fromImage(themeImageModel.multi3Win)], [new PIXI.Texture.fromImage(themeImageModel.multi4Normal), new PIXI.Texture.fromImage(themeImageModel.multi4Win)], [new PIXI.Texture.fromImage(themeImageModel.multi5Normal), new PIXI.Texture.fromImage(themeImageModel.multi5Win)], [new PIXI.Texture.fromImage(themeImageModel.multi6Normal), new PIXI.Texture.fromImage(themeImageModel.multi6Win)]];\n\n this.inventory = new __WEBPACK_IMPORTED_MODULE_7__inventory_view__[\"a\" /* default */](themeImageModel.inventory, gemsImages, multiImages);\n this.addChild(this.inventory);\n this.inventory.y = size.height - this.inventory.height - 45;\n }\n }, {\n key: 'addDarkness',\n value: function addDarkness(size) {\n this.darkness = new PIXI.Graphics();\n this.darkness.beginFill(0x000000);\n this.darkness.drawRect(0, 0, size.width, size.height);\n this.darkness.endFill();\n this.darkness.alpha = this.lightsOfAlpha;\n this.addChild(this.darkness);\n }\n }, {\n key: 'hideDarkness',\n value: function hideDarkness(cb) {\n var _this3 = this;\n\n var to = {\n alpha: 0,\n onComplete: function onComplete() {\n _this3.darkness.visible = false;\n if (cb) {\n cb();\n }\n }\n };\n\n window.TweenMax.to(this.darkness, 1, to);\n }\n\n /**\n * Adds an autopick button.\n *\n * @param {object} themeImageModel The theme image model\n * @param {object} size The canvas/game size data\n */\n\n }, {\n key: 'addPlayBtn',\n value: function addPlayBtn(themeImageModel, size) {\n var _this4 = this;\n\n var playOptions = {\n normalUrl: themeImageModel.btnNormalImage,\n hoverUrl: themeImageModel.btnHoverImage,\n iconUrl: themeImageModel.iconPlay,\n autopickUrl: themeImageModel.iconAutopick,\n blink: 0.3\n };\n\n this.playBtn = new __WEBPACK_IMPORTED_MODULE_11__play_btn__[\"a\" /* default */](playOptions);\n this.playBtn.x = size.width;\n this.playBtn.y = size.height - 110;\n\n this.addChild(this.playBtn);\n\n this.playBtn.playButtonHandler = function () {\n _this4.playButtonHandler();\n };\n this.playBtn.autopickButtonHandler = function () {\n return _this4.autopickButtonHandler();\n };\n }\n\n /**\n * Adds a bet button.\n *\n * @param {number} stake The stake\n * @param {} stakes The stakes\n * @param {object} themeImageModel The theme image model\n * @param {object} size The canvas/game size data\n */\n\n }, {\n key: 'addBetBtn',\n value: function addBetBtn(stake, stakes, themeImageModel, size) {\n var _this5 = this;\n\n var betOptions = {\n stake: stake,\n stakes: stakes,\n normalUrl: themeImageModel.btnNormalImage,\n hoverUrl: themeImageModel.btnHoverImage,\n remainActive: true,\n blink: 0.3\n };\n\n this.betBtn = new __WEBPACK_IMPORTED_MODULE_10__bet_btn__[\"a\" /* default */](betOptions);\n this.betBtn.x = -this.betBtn.width;\n this.betBtn.y = size.height - 110;\n\n this.addChild(this.betBtn);\n\n this.betBtn.buttonHandler = function (newStake) {\n __WEBPACK_IMPORTED_MODULE_0_suga__[\"Sound\"].play('click');\n _this5.setStake(newStake);\n _this5.stakeChangeHandler(_this5.stake);\n };\n }\n\n /**\n * Sets the stake.\n *\n * @param {number} newStake The new stake\n */\n\n }, {\n key: 'setStake',\n value: function setStake(newStake) {\n this.stake = newStake;\n this.moneyBag.setAmount(this.stake * this.moneyBagMultiplier);\n }\n\n /**\n * Handles play button click\n */\n\n }, {\n key: 'playButtonHandler',\n value: function playButtonHandler() {\n __WEBPACK_IMPORTED_MODULE_0_suga__[\"Sound\"].play('click');\n\n this.placeBet();\n this.playBtn.disable();\n }\n\n /**\n * Handles autopick button click\n */\n\n }, {\n key: 'autopickButtonHandler',\n value: function autopickButtonHandler() {\n __WEBPACK_IMPORTED_MODULE_0_suga__[\"Sound\"].play('click');\n this.autoPick();\n this.playBtn.disable();\n this.hidePlayBtn();\n this.vases.disableAll();\n }\n\n /**\n * Perform autopicking\n */\n\n }, {\n key: 'autoPick',\n value: function autoPick() {\n var _this6 = this;\n\n var pickOne = function pickOne(vase, time) {\n PIXI.setTimeout(time, function () {\n return _this6.vasePicked(vase);\n });\n };\n\n for (var i = 0; i < this.ticket.length; i++) {\n var vase = this.vases.getRandomEnabledVase();\n vase.select();\n var time = i * 0.7;\n pickOne(vase, time);\n }\n }\n\n /**\n * perform manual picking\n *\n * @param {VaseView} vase The vase\n */\n\n }, {\n key: 'manualPick',\n value: function manualPick(vase) {\n vase.select();\n this.vasePicked(vase);\n }\n\n /**\n * User picked a vase\n *\n * @param {} vase The vase sprite\n */\n\n }, {\n key: 'vasePicked',\n value: function vasePicked(vase) {\n var _this7 = this;\n\n this.playerHasInteracted = true;\n\n var isLast = false;\n\n var id = this.ticket.shift();\n\n if (this.ticket.length <= 0) {\n isLast = true;\n this.vases.disableAll();\n this.playBtn.disable();\n }\n\n vase.break();\n\n this.explanantion.hide();\n\n this.betBtn.disable();\n\n this.tryCounter.decrement();\n\n this.addDust(this.tryCounter.x + 25, this.tryCounter.y + 50);\n\n var randSoundId = Math.ceil(Math.random() * 3);\n\n __WEBPACK_IMPORTED_MODULE_0_suga__[\"Sound\"].play('chink-' + randSoundId);\n\n var x = vase.x + vase.width / 2;\n var y = vase.y + vase.height / 2;\n\n if (id >= this.gemImages.length) {\n this.showMoneyBag(x, y, isLast, function () {\n _this7.addToProgress(id);\n });\n } else {\n this.showGem(x, y, id, isLast, function () {\n _this7.addToProgress(id);\n });\n }\n }\n\n /**\n * Adds to progress.\n *\n * @param {number} id The identifier\n */\n\n }, {\n key: 'addToProgress',\n value: function addToProgress(id) {\n if (this.gameProgress[id] !== undefined) {\n this.gameProgress[id]++;\n } else {\n this.gameProgress[id] = 1;\n }\n\n var progressAmount = 0;\n\n if (id === 6) {\n progressAmount = this.stake * this.moneyBagMultiplier;\n } else if (this.gameProgress[id] >= 3) {\n progressAmount = this.multipliers[id] * this.stake;\n }\n\n this.winAmount += progressAmount;\n\n this.showMatchHandler(progressAmount);\n }\n\n /**\n * Shows the money bag.\n *\n * @param {} x { parameter_description }\n * @param {} y { parameter_description }\n */\n\n }, {\n key: 'showMoneyBag',\n value: function showMoneyBag(x, y, isLast, cb) {\n var _this8 = this;\n\n var moneyBag = new PIXI.Sprite.fromImage(this.moneyBagGlowImage);\n\n moneyBag.anchor.set(0.5);\n moneyBag.scale.set(0.35);\n moneyBag.x = x;\n moneyBag.y = y;\n\n this.addChild(moneyBag);\n this.addDust(x, y);\n\n __WEBPACK_IMPORTED_MODULE_0_suga__[\"Sound\"].play('moneybag');\n\n var destX = this.moneyBag.x + this.moneyBag.width / 2;\n var destY = this.moneyBag.y + this.moneyBag.height / 2;\n\n var onComplete = function onComplete() {\n _this8.placeMoneyBagInUI(moneyBag);\n\n if (cb) {\n cb();\n }\n\n if (isLast) {\n _this8.completed();\n }\n };\n\n var delay = 0.5;\n\n var to = {\n delay: delay,\n x: destX,\n onComplete: onComplete\n };\n\n var toBounce = {\n delay: delay,\n ease: CustomEase.create('custom', 'M0,0,C0.298,-0.176,0.686,0.946,1,1'),\n y: destY\n };\n\n var toScale = {\n delay: delay,\n x: 1,\n y: 1\n };\n\n window.TweenMax.to(moneyBag, 1, to);\n window.TweenMax.to(moneyBag, 1, toBounce);\n window.TweenMax.to(moneyBag.scale, 0.3, toScale);\n }\n\n /**\n * Shows the gem.\n *\n * @param {} x { parameter_description }\n * @param {} y { parameter_description }\n * @param {} gemId The gem identifier\n */\n\n }, {\n key: 'showGem',\n value: function showGem(x, y, gemId, isLast, cb) {\n var _this9 = this;\n\n var gemUrl = this.gemImages[gemId];\n var gem = new PIXI.Sprite.fromImage(gemUrl);\n\n gem.anchor.set(0.5);\n gem.scale.set(0.35);\n gem.gemIndex = gemId;\n gem.x = x;\n gem.y = y;\n\n this.addChild(gem);\n this.addDust(x, y);\n\n __WEBPACK_IMPORTED_MODULE_0_suga__[\"Sound\"].play('gem');\n\n var destinationStr = this.inventory.pocketPositions[gemId];\n var destination = destinationStr.split('|');\n var destX = window.parseInt(destination[0]) + 13 + this.inventory.x;\n var destY = window.parseInt(destination[1]) + 13 + this.inventory.y;\n\n var onComplete = function onComplete() {\n _this9.placeGemInPocket(gem);\n\n if (cb) {\n cb();\n }\n\n if (isLast) {\n _this9.completed();\n }\n };\n\n var delay = 0.5;\n\n var to = {\n delay: delay,\n x: destX,\n onComplete: onComplete\n };\n\n var toBounce = {\n delay: delay,\n ease: CustomEase.create('custom', 'M0,0,C0.298,-0.176,0.686,0.946,1,1'),\n y: destY\n };\n\n var toScale = {\n delay: delay,\n x: 1,\n y: 1\n };\n\n window.TweenMax.to(gem, 1, to);\n window.TweenMax.to(gem, 1, toBounce);\n window.TweenMax.to(gem.scale, 0.3, toScale);\n }\n }, {\n key: 'placeMoneyBagInUI',\n value: function placeMoneyBagInUI(moneyBag) {\n this.moneyBag.win();\n\n this.addDust(moneyBag.x, moneyBag.y);\n\n moneyBag.removeSelf();\n moneyBag = null;\n }\n\n /**\n * Place a Gem In a Pocket\n *\n * @param {} gem The gem\n */\n\n }, {\n key: 'placeGemInPocket',\n value: function placeGemInPocket(gem) {\n var isMatch = this.inventory.addGem(gem.gemIndex);\n\n if (isMatch) {\n __WEBPACK_IMPORTED_MODULE_0_suga__[\"Sound\"].play('match');\n }\n\n this.addDust(gem.x, gem.y);\n\n gem.removeSelf();\n gem = null;\n }\n\n /**\n * Adds a dust.\n *\n * @param {} x { parameter_description }\n * @param {} y { parameter_description }\n */\n\n }, {\n key: 'addDust',\n value: function addDust(x, y) {\n var dust = new __WEBPACK_IMPORTED_MODULE_2__dust_view__[\"a\" /* default */](x, y);\n\n dust.onDestroy = function () {\n dust = null;\n };\n this.addChild(dust);\n }\n\n /**\n * Adds a ticket identifier.\n */\n\n }, {\n key: 'addTicketId',\n value: function addTicketId() {\n this.ticketId = new __WEBPACK_IMPORTED_MODULE_8__ticket_id_view__[\"a\" /* default */]('');\n this.ticketId.position.set(8, 5);\n this.addChild(this.ticketId);\n }\n }, {\n key: 'addExplanation',\n value: function addExplanation(size) {\n this.explanantion = new __WEBPACK_IMPORTED_MODULE_9__explanation_view__[\"a\" /* default */](__t.str('explanantion'), 70);\n this.addChild(this.explanantion);\n this.explanantion.centerX(size.width);\n }\n\n /**\n * Used to reset the game for example after replays\n */\n\n }, {\n key: 'reset',\n value: function reset() {\n this.winAmount = 0;\n\n // used on autopick\n this.vases.reset();\n\n this.tryCounter.reset();\n this.inventory.reset();\n this.moneyBag.reset();\n\n this.candles.turnOff();\n\n this.betBtn.enable();\n this.betBtn.interactive = false;\n this.betBtn.visible = true;\n\n this.playBtn.enable();\n this.playBtn.interactive = false;\n this.playBtn.visible = true;\n this.playBtn.changeToPlayState();\n\n this.darkness.alpha = this.lightsOfAlpha;\n this.darkness.visible = true;\n\n this.gameProgress = {};\n\n this.playerHasInteracted = false;\n\n // /** HACK **/\n // this.executeBet()\n }\n\n /**\n * Staring playing after user click play or on replay\n *\n * @param {BetModel} betModel The bet model\n */\n\n }, {\n key: 'executeBet',\n value: function executeBet(betModel) {\n var _this10 = this;\n\n this.ticket = betModel.ticket.matrixIndexes;\n this.ticketId.update(betModel.getTicketId());\n\n // update to make sure the stake matches what the bet sent\n this.setStake(betModel.getStake());\n\n // can no longer change bets or place new bets\n this.betBtn.disable();\n this.playBtn.disable();\n\n // turn on the lights\n this.candles.turnOn();\n this.hideDarkness(function () {});\n\n // play new round sound\n __WEBPACK_IMPORTED_MODULE_0_suga__[\"Sound\"].play('new-round');\n\n // stop blink the buttons\n this.betBtn.stopBlinking();\n this.playBtn.stopBlinking();\n\n // if replay, hide the buttons and autopick\n if (betModel.isReplay) {\n this.playBtn.visible = false;\n this.betBtn.visible = false;\n this.autoPick();\n return;\n }\n\n // enable the vases\n this.vases.enableAll();\n\n // buttons\n this.hidePlayAndBetBtns(function () {\n _this10.playBtn.changeToAutopickState();\n\n // this is a hack to look active but not be\n _this10.playBtn.enable();\n _this10.playBtn.interactive = false;\n\n _this10.showPlayBtn(function () {\n return _this10.playBtn.enable();\n });\n });\n\n if (!this.playerHasInteracted) {\n this.explanantion.showInSeconds(5);\n }\n }\n\n /**\n * Called after games ends\n *\n * @param {Boolean} isWin Indicates if window\n * @param {Number} amount The win amount\n */\n\n }, {\n key: 'completed',\n value: function completed(betModel) {\n var _this11 = this;\n\n var obj = {\n winAmount: this.winAmount,\n result: this.gameProgress,\n multipliers: this.multipliers,\n stake: this.stake\n };\n\n this.hidePlayBtn();\n\n this.resultShown();\n\n PIXI.setTimeout(1, function () {\n _this11.endBet(obj);\n });\n }\n\n /**\n * On space bar hit\n */\n\n }, {\n key: 'spacebarHit',\n value: function spacebarHit() {\n if (!this.playBtn.interactive) return;\n this.playBtn.tapped();\n }\n\n /**\n * Shows the play and bet btns.\n */\n\n }, {\n key: 'showPlayAndBetBtns',\n value: function showPlayAndBetBtns() {\n var _this12 = this;\n\n if (this.animating) {\n return;\n }\n this.animating = true;\n\n var callback = function callback() {\n _this12.betBtn.interactive = true;\n _this12.betBtn.startBlinking();\n _this12.animating = false;\n };\n\n this.showPlayBtn(callback);\n window.TweenMax.to(this.betBtn, 0.8, { delay: 0.4, x: 8 });\n }\n\n /**\n * Shows the play button.\n *\n * @param {Function} callback The callback\n */\n\n }, {\n key: 'showPlayBtn',\n value: function showPlayBtn(callback) {\n var _this13 = this;\n\n var onComplete = function onComplete() {\n _this13.playBtn.interactive = true;\n _this13.playBtn.startBlinking();\n callback();\n };\n\n this.playBtn.interactive = false;\n window.TweenMax.to(this.playBtn, 0.8, { delay: 0.4, x: this.sizeWidth - 70, onComplete: onComplete });\n }\n\n /**\n * Hides the play and bet btns.\n *\n * @param {Function} onComplete On complete\n */\n\n }, {\n key: 'hidePlayAndBetBtns',\n value: function hidePlayAndBetBtns(onComplete) {\n var _this14 = this;\n\n if (this.animating) {\n return;\n }\n this.animating = true;\n\n this.playBtn.startBlinking();\n this.betBtn.startBlinking();\n\n var callback = function callback() {\n _this14.animating = false;\n if (onComplete) {\n onComplete();\n }\n };\n\n this.hidePlayBtn(callback);\n window.TweenMax.to(this.betBtn, 0.2, { delay: 0, x: -this.betBtn.width });\n }\n\n /**\n * Hides the play button.\n *\n * @param {Function} onComplete On complete\n */\n\n }, {\n key: 'hidePlayBtn',\n value: function hidePlayBtn(onComplete) {\n window.TweenMax.to(this.playBtn, 0.2, { delay: 0, x: this.sizeWidth, onComplete: onComplete });\n }\n }]);\n\n return GameView;\n}(PIXI.Container);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (GameView);\n\n/***/ }),\n/* 87 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Game visualization of the data that model contains.\n */\nvar DustView = function (_PIXI$extras$Animated) {\n _inherits(DustView, _PIXI$extras$Animated);\n\n function DustView(x, y) {\n _classCallCheck(this, DustView);\n\n var textures = SUGA.Loader.makeTexturesFromName('dust');\n\n var _this = _possibleConstructorReturn(this, (DustView.__proto__ || Object.getPrototypeOf(DustView)).call(this, textures));\n\n _this.loop = false;\n _this.animationSpeed = 0.2;\n _this.x = x;\n _this.y = y;\n _this.anchor.x = 0.5;\n _this.anchor.y = 0.5;\n\n _this.onComplete = function () {\n _this.removeSelf();\n if (_this.onDestroy) {\n _this.onDestroy();\n }\n };\n\n _this.play();\n return _this;\n }\n\n return DustView;\n}(PIXI.extras.AnimatedSprite);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (DustView);\n\n/***/ }),\n/* 88 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__locations__ = __webpack_require__(89);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__vase_view__ = __webpack_require__(90);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n/**\n * Game visualization of the data that model contains.\n */\n\nvar VasesView = function (_PIXI$Sprite) {\n _inherits(VasesView, _PIXI$Sprite);\n\n function VasesView(vasesImages, maskImg, buttonHandler) {\n _classCallCheck(this, VasesView);\n\n var _this = _possibleConstructorReturn(this, (VasesView.__proto__ || Object.getPrototypeOf(VasesView)).call(this));\n\n _this.vases = [];\n _this.vasesImages = vasesImages;\n _this.noOfVaseTypes = vasesImages.length;\n\n __WEBPACK_IMPORTED_MODULE_0__locations__[\"a\" /* locations */].forEach(function (location) {\n var split = location.split('|');\n var x = window.parseInt(split[0]);\n var y = window.parseInt(split[1]);\n\n _this.getRandomVaseImages();\n\n var vase = new __WEBPACK_IMPORTED_MODULE_1__vase_view__[\"a\" /* default */](_this.getRandomVaseImages());\n\n vase.x = x;\n vase.y = y;\n\n vase.buttonHandler = buttonHandler;\n vase.loop = false;\n\n _this.vases.push(vase);\n _this.addChild(vase);\n });\n\n var mask = new PIXI.Sprite.fromImage(maskImg);\n\n _this.addChild(mask);\n\n // this.playShines();\n return _this;\n }\n\n _createClass(VasesView, [{\n key: 'enableAll',\n value: function enableAll() {\n this.vases.forEach(function (vase) {\n vase.enable();\n });\n }\n }, {\n key: 'disableAll',\n value: function disableAll() {\n this.vases.forEach(function (vase) {\n vase.disable();\n });\n }\n }, {\n key: 'reset',\n value: function reset() {\n var _this2 = this;\n\n this.vases.forEach(function (vase) {\n vase.textures = [];\n vase.setNewTextures(_this2.getRandomVaseImages());\n vase.updateTexture();\n vase.reset();\n });\n this.disableAll();\n }\n }, {\n key: 'getRandomVaseImages',\n value: function getRandomVaseImages() {\n var rand = Math.floor(Math.random() * this.noOfVaseTypes);\n\n return this.vasesImages[rand].broken.concat(this.vasesImages[rand].frames);\n }\n }, {\n key: 'playShines',\n value: function playShines() {\n this.playShine();\n this.playShine();\n this.playShine();\n }\n }, {\n key: 'playShine',\n value: function playShine() {\n var _this3 = this;\n\n PIXI.setTimeout(Math.random() * 5, function () {\n return _this3.shineRandom();\n });\n }\n }, {\n key: 'shineRandom',\n value: function shineRandom() {\n var vase = this.getRandomEnabledVase();\n\n if (vase && vase.shine) {\n vase.shine();\n }\n\n this.playShine();\n }\n }, {\n key: 'getRandomEnabledVase',\n value: function getRandomEnabledVase() {\n var tmp = [];\n\n this.vases.forEach(function (vase) {\n if (!vase.isSelected) {\n tmp.push(vase);\n }\n });\n\n var rand = Math.floor(Math.random() * tmp.length);\n var vase = tmp[rand];\n\n tmp = null;\n\n return vase;\n }\n }]);\n\n return VasesView;\n}(PIXI.Sprite);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (VasesView);\n\n/***/ }),\n/* 89 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return locations; });\nvar locations = ['6|28', '51|113', '66|10',\n// '70|210',\n'102|200', '126|113', '138|0', '150|207', '166|142', '229|92', '263|92', '211|151', '246|151', '281|151',\n// '312|210',\n'331|142', '354|205', '368|13', '373|113', '423|205', '432|27'];\n\n/***/ }),\n/* 90 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Game visualization of the data that model contains.\n */\nvar VaseView = function (_PIXI$extras$Animated) {\n _inherits(VaseView, _PIXI$extras$Animated);\n\n function VaseView(frames) {\n _classCallCheck(this, VaseView);\n\n var _this = _possibleConstructorReturn(this, (VaseView.__proto__ || Object.getPrototypeOf(VaseView)).call(this, frames));\n\n _this.gotoAndStop(1);\n _this.animationSpeed = 0.15;\n _this.isBroken = false;\n _this.isSelected = false;\n return _this;\n }\n\n _createClass(VaseView, [{\n key: \"enable\",\n value: function enable() {\n this.interactive = true;\n this.buttonMode = true;\n }\n }, {\n key: \"disable\",\n value: function disable() {\n this.interactive = false;\n this.buttonMode = false;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.isBroken = false;\n this.isSelected = false;\n this.enable();\n this.gotoAndStop(1);\n }\n }, {\n key: \"select\",\n value: function select() {\n this.isSelected = true;\n }\n }, {\n key: \"break\",\n value: function _break() {\n this.disable();\n this.gotoAndStop(0);\n this.tint = 0xFFFFFF;\n this.isBroken = true;\n }\n }, {\n key: \"pointerdown\",\n value: function pointerdown() {\n this.buttonHandler(this);\n }\n }, {\n key: \"pointerover\",\n value: function pointerover() {\n this.tint = 0xFFCC66;\n }\n }, {\n key: \"pointerout\",\n value: function pointerout() {\n this.tint = 0xFFFFFF;\n }\n }, {\n key: \"shine\",\n value: function shine() {\n if (this.interactive) {\n this.gotoAndPlay(1);\n }\n }\n }, {\n key: \"setNewTextures\",\n value: function setNewTextures(textures) {\n this.textures = textures;\n this.enable();\n this.gotoAndStop(1);\n }\n }]);\n\n return VaseView;\n}(PIXI.extras.AnimatedSprite);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (VaseView);\n\n/***/ }),\n/* 91 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__flame_view__ = __webpack_require__(92);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n/**\n * Game visualization of the data that model contains.\n */\n\nvar CandlesView = function (_PIXI$Container) {\n _inherits(CandlesView, _PIXI$Container);\n\n function CandlesView(flameImages, glowImage, size) {\n _classCallCheck(this, CandlesView);\n\n var _this = _possibleConstructorReturn(this, (CandlesView.__proto__ || Object.getPrototypeOf(CandlesView)).call(this));\n\n _this.flames = [];\n\n _this.glow = new PIXI.Sprite.fromImage(glowImage);\n _this.glow.width = size.width;\n _this.glow.height = size.height - 45;\n _this.glow.alpha = 0;\n _this.addChild(_this.glow);\n\n var positions = [[89 + 4, 119 + 10, 0.65], [147 + 4, 72 + 10, 0.65], [159 + 4, 66 + 10, 0.65], [183 + 4, 69 + 10, 0.65], [196 + 4, 64 + 10, 0.65], [322 + 4, 61 + 10, 0.65], // 1\n [329 + 4, 69 + 7, 0.5], // 2\n [360 + 4, 59 + 10, 0.65], // 3\n [367 + 3, 65 + 8, 0.5], // 4\n [447 + 4, 117 + 10, 0.65], // 1\n [465 + 4, 115 + 10, 0.65], // 2\n [474 + 4, 121 + 8, 0.5], // 3\n [491 + 4, 117 + 10, 0.65]];\n\n positions.forEach(function (position) {\n var flame = new __WEBPACK_IMPORTED_MODULE_0__flame_view__[\"a\" /* default */](flameImages);\n\n flame.position.set(position[0], position[1]);\n flame.anchor.set(0.5, 1);\n flame.scale.set(0.1);\n flame.animationSpeed = 0.3;\n flame.onScale = { x: position[2], y: position[2] };\n\n _this.addChild(flame);\n _this.flames.push(flame);\n });\n return _this;\n }\n\n _createClass(CandlesView, [{\n key: 'turnOn',\n value: function turnOn() {\n this.flames.forEach(function (flame) {\n var start = function start(fl) {\n fl.onScale.ease = Back.easeOut.config(2.0);\n window.TweenMax.to(fl.scale, 0.1, fl.onScale);\n fl.play();\n };\n\n PIXI.setTimeout(Math.random() / 3, function () {\n return start(flame);\n });\n });\n\n this.glow.alpha = 0.0;\n\n var to = {\n alpha: 0.6,\n repeat: -1,\n yoyo: true,\n ease: RoughEase.ease.config({ strength: 0.3, points: 12, randomize: true })\n };\n\n this.glowTween = window.TweenMax.to(this.glow, 3, to);\n }\n }, {\n key: 'turnOff',\n value: function turnOff() {\n this.flames.forEach(function (flame) {\n flame.stop();\n flame.scale.set(0);\n });\n\n if (this.glowTween) {\n this.glowTween.kill();\n }\n\n this.glow.alpha = 0;\n }\n }]);\n\n return CandlesView;\n}(PIXI.Container);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (CandlesView);\n\n/***/ }),\n/* 92 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Game visualization of the data that model contains.\n */\nvar FlameView = function (_PIXI$extras$Animated) {\n _inherits(FlameView, _PIXI$extras$Animated);\n\n function FlameView() {\n _classCallCheck(this, FlameView);\n\n return _possibleConstructorReturn(this, (FlameView.__proto__ || Object.getPrototypeOf(FlameView)).apply(this, arguments));\n }\n\n return FlameView;\n}(PIXI.extras.AnimatedSprite);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (FlameView);\n\n/***/ }),\n/* 93 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Game visualization of the data that model contains.\n */\nvar TryCounterView = function (_PIXI$Sprite) {\n _inherits(TryCounterView, _PIXI$Sprite);\n\n function TryCounterView() {\n _classCallCheck(this, TryCounterView);\n\n var _this = _possibleConstructorReturn(this, (TryCounterView.__proto__ || Object.getPrototypeOf(TryCounterView)).call(this));\n\n _this.lastPickColor = 0xe9073f;\n _this.defaultColor = 0x000000;\n _this.defaultValue = 8;\n _this.value = _this.defaultValue;\n _this.labelX = 25;\n _this.labelY = 50;\n\n var style = {\n fontWeight: 700,\n fontSize: 24,\n fontFamily: 'ProximaNova',\n padding: 10,\n fill: _this.defaultColor\n };\n\n _this.label = new PIXI.Text('' + _this.value, style);\n _this.addChild(_this.label);\n\n _this.label.centerAt(_this.labelX, _this.labelY);\n return _this;\n }\n\n _createClass(TryCounterView, [{\n key: 'decrement',\n value: function decrement() {\n if (this.value > 0) {\n this.set(this.value - 1);\n }\n\n return this.value;\n }\n }, {\n key: 'reset',\n value: function reset() {\n this.set(this.defaultValue);\n }\n }, {\n key: 'set',\n value: function set(num) {\n this.value = num;\n this.label.text = '' + this.value;\n this.label.centerAt({ x: this.labelX, y: this.labelY });\n\n if (this.value <= 1) {\n this.label.style.fill = this.lastPickColor;\n } else {\n this.label.style.fill = this.defaultColor;\n }\n }\n }]);\n\n return TryCounterView;\n}(PIXI.Sprite);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TryCounterView);\n\n/***/ }),\n/* 94 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Game visualization of the data that model contains.\n */\nvar MoneyBagView = function (_PIXI$extras$Animated) {\n _inherits(MoneyBagView, _PIXI$extras$Animated);\n\n function MoneyBagView() {\n _classCallCheck(this, MoneyBagView);\n\n return _possibleConstructorReturn(this, (MoneyBagView.__proto__ || Object.getPrototypeOf(MoneyBagView)).apply(this, arguments));\n }\n\n _createClass(MoneyBagView, [{\n key: 'setupWithAmount',\n value: function setupWithAmount(amount) {\n var _this2 = this;\n\n this.loop = false;\n this.animationSpeed = 0.2;\n\n var style = {\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2\n };\n\n this.text = new PIXI.Text('', style);\n this.text.y = 15;\n this.addChild(this.text);\n\n this.setAmount(amount);\n\n this.onComplete = function () {\n return _this2.win();\n };\n }\n }, {\n key: 'reset',\n value: function reset() {\n this.gotoAndStop(0);\n }\n }, {\n key: 'win',\n value: function win() {\n this.gotoAndPlay(1);\n }\n }, {\n key: 'setAmount',\n value: function setAmount(amount) {\n this.amount = amount;\n this.text.text = __c.localize(amount, true, false);\n this.text.centerX();\n this.text.x += 2;\n }\n }]);\n\n return MoneyBagView;\n}(PIXI.extras.AnimatedSprite);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (MoneyBagView);\n\n/***/ }),\n/* 95 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__multiplier_view__ = __webpack_require__(96);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n/**\n * Game visualization of the data that model contains.\n */\n\nvar InventoryView = function (_PIXI$Container) {\n _inherits(InventoryView, _PIXI$Container);\n\n function InventoryView(bgImg, gems, multis) {\n _classCallCheck(this, InventoryView);\n\n var _this = _possibleConstructorReturn(this, (InventoryView.__proto__ || Object.getPrototypeOf(InventoryView)).call(this));\n\n _this.gems = [];\n _this.multis = [];\n\n var bg = new PIXI.Sprite.fromImage(bgImg);\n\n _this.addChild(bg);\n\n _this.pocketPositions = ['93|15', '155|12', '218|13', '282|13', '342|13', '403|15'];\n\n _this.multiPositions = ['84|5', '146|3', '209|2', '272|2', '335|3', '398|5'];\n\n gems.forEach(function (frames, i) {\n var pos = _this.pocketPositions[i].split('|');\n var gem = new PIXI.extras.AnimatedSprite(frames);\n\n gem.position.set(pos[0], pos[1]);\n _this.addChild(gem);\n _this.gems.push(gem);\n\n var multiPos = _this.multiPositions[i].split('|');\n var multi = new __WEBPACK_IMPORTED_MODULE_0__multiplier_view__[\"a\" /* default */](multis[i]);\n\n multi.position.set(multiPos[0], multiPos[1]);\n multi.startPosition = {\n x: multiPos[0],\n y: multiPos[1]\n };\n _this.addChild(multi);\n _this.multis.push(multi);\n });\n return _this;\n }\n\n _createClass(InventoryView, [{\n key: 'addGem',\n value: function addGem(index) {\n var matches = this.gems[index].currentFrame + 1;\n\n this.gems[index].gotoAndStop(matches);\n\n if (matches === 3) {\n var multi = this.multis[index];\n\n var to = {\n yoyo: true,\n repeat: -1,\n y: multi.y - 3\n };\n\n multi.gotoAndStop(1);\n\n multi.tween = window.TweenMax.to(multi, 1, to);\n\n return true;\n }\n\n return false;\n }\n }, {\n key: 'reset',\n value: function reset() {\n this.gems.forEach(function (gem) {\n gem.gotoAndStop(0);\n });\n\n this.multis.forEach(function (multi) {\n if (multi.tween) {\n multi.tween.kill();\n multi.tween = null;\n }\n multi.gotoAndStop(0);\n multi.x = multi.startPosition.x;\n multi.y = multi.startPosition.y;\n });\n }\n }]);\n\n return InventoryView;\n}(PIXI.Container);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (InventoryView);\n\n/***/ }),\n/* 96 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Game visualization of the data that model contains.\n */\nvar MultiplierView = function (_PIXI$extras$Animated) {\n _inherits(MultiplierView, _PIXI$extras$Animated);\n\n function MultiplierView() {\n _classCallCheck(this, MultiplierView);\n\n return _possibleConstructorReturn(this, (MultiplierView.__proto__ || Object.getPrototypeOf(MultiplierView)).apply(this, arguments));\n }\n\n return MultiplierView;\n}(PIXI.extras.AnimatedSprite);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (MultiplierView);\n\n/***/ }),\n/* 97 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Game visualization of the data that model contains.\n */\nvar TicketIdView = function (_PIXI$Container) {\n _inherits(TicketIdView, _PIXI$Container);\n\n function TicketIdView(text) {\n _classCallCheck(this, TicketIdView);\n\n var _this = _possibleConstructorReturn(this, (TicketIdView.__proto__ || Object.getPrototypeOf(TicketIdView)).call(this));\n\n var style = {\n fill: 0xFFFFFF,\n fontFamily: 'courier',\n fontSize: 7\n };\n\n _this.ticketId = new PIXI.Text(text, style);\n _this.addChild(_this.ticketId);\n return _this;\n }\n\n _createClass(TicketIdView, [{\n key: 'update',\n value: function update(ticketId) {\n if (!this.ticketId) {\n return;\n }\n\n if (ticketId === 0) {\n ticketId = 'DEMO';\n } else {\n ticketId = '#' + ticketId;\n }\n\n this.ticketId.text = ticketId;\n }\n }]);\n\n return TicketIdView;\n}(PIXI.Container);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TicketIdView);\n\n/***/ }),\n/* 98 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Game visualization of the data that model contains.\n */\nvar ExplanationView = function (_PIXI$Text) {\n _inherits(ExplanationView, _PIXI$Text);\n\n /**\n * Constructs the object.\n *\n * @param {string} text The text\n * @param {number} startingY The starting y\n */\n function ExplanationView(text, startingY) {\n _classCallCheck(this, ExplanationView);\n\n var style = {\n align: 'center',\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2\n };\n\n var _this = _possibleConstructorReturn(this, (ExplanationView.__proto__ || Object.getPrototypeOf(ExplanationView)).call(this, text, style));\n\n _this.alpha = 0;\n _this.y = startingY;\n _this.startingY = startingY;\n return _this;\n }\n\n /**\n * Shows in seconds.\n *\n * @param {number} sec The seconds\n */\n\n\n _createClass(ExplanationView, [{\n key: 'showInSeconds',\n value: function showInSeconds(sec) {\n var _this2 = this;\n\n this.timer = PIXI.setTimeout(sec, function () {\n return _this2.show();\n });\n }\n\n /**\n * Show and bounce the thing\n */\n\n }, {\n key: 'show',\n value: function show() {\n var _this3 = this;\n\n this.y = this.startingY;\n\n var pulsate = function pulsate() {\n var pulsateTo = {\n repeat: -1,\n yoyo: true,\n y: _this3.startingY,\n ease: window.Sine.easeInOut\n };\n\n _this3.pulsation = window.TweenMax.to(_this3, 1, pulsateTo);\n };\n\n var to = {\n alpha: 1,\n y: this.startingY - 3,\n onComplete: pulsate\n };\n\n this.timer = null;\n window.TweenMax.to(this, 0.5, to);\n }\n\n /**\n * Hide the thing\n */\n\n }, {\n key: 'hide',\n value: function hide() {\n if (this.pulsation) {\n this.pulsation.kill();\n this.pulsation = null;\n }\n\n if (this.timer) {\n this.timer.clear();\n this.timer = null;\n }\n\n if (this.alpha > 0) {\n window.TweenMax.to(this, 0.5, { alpha: 0 });\n }\n }\n }]);\n\n return ExplanationView;\n}(PIXI.Text);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ExplanationView);\n\n/***/ }),\n/* 99 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n/**\n * Game visualization of the data that model contains.\n */\n\nvar BetBtn = function (_Button) {\n _inherits(BetBtn, _Button);\n\n function BetBtn(options) {\n _classCallCheck(this, BetBtn);\n\n var _this = _possibleConstructorReturn(this, (BetBtn.__proto__ || Object.getPrototypeOf(BetBtn)).call(this, options));\n\n _this.currentStake = options.stake;\n _this.stakes = options.stakes;\n\n var styleLabel = {\n fontWeight: 100,\n fontSize: 8,\n fontFamily: 'ProximaNova',\n padding: 10,\n fill: 0xFFFFFF,\n lineJoin: 'round',\n textAlign: 'center',\n letterSpacing: 2,\n stroke: 0x293631,\n strokeThickness: 2\n };\n\n var btnLabel = new PIXI.Text(__t.str('Bet'), styleLabel);\n\n btnLabel.sizeToFit(40);\n\n btnLabel.y = 5;\n _this.addChild(btnLabel);\n btnLabel.centerAt({ x: 29, y: 19 });\n\n var styleValue = {\n fontWeight: 700,\n fontSize: 12,\n fontFamily: 'ProximaNova',\n padding: 10,\n lineJoin: 'round',\n fill: 0xFFFFFF,\n textAlign: 'center',\n stroke: 0x293631,\n strokeThickness: 2\n };\n\n _this.btnValue = new PIXI.Text(__c.localize(_this.currentStake), styleValue);\n _this.btnValue.y = 15;\n _this.addChild(_this.btnValue);\n _this.btnValue.centerAt({ x: 29, y: 30 });\n return _this;\n }\n\n _createClass(BetBtn, [{\n key: 'tapped',\n value: function tapped() {\n var index = this.stakes.indexOf(this.currentStake);\n\n if (index >= this.stakes.length - 1) {\n index = 0;\n } else {\n index += 1;\n }\n\n this.currentStake = this.stakes[index];\n this.btnValue.text = __c.localize(this.currentStake);\n this.btnValue.centerAt({ x: 29, y: 30 });\n\n this.buttonHandler(this.currentStake);\n }\n }]);\n\n return BetBtn;\n}(__WEBPACK_IMPORTED_MODULE_0_vue__[\"Button\"]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (BetBtn);\n\n/***/ }),\n/* 100 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n/**\n * Game visualization of the data that model contains.\n */\n\nvar PlayBtn = function (_Button) {\n _inherits(PlayBtn, _Button);\n\n function PlayBtn(options) {\n _classCallCheck(this, PlayBtn);\n\n var _this = _possibleConstructorReturn(this, (PlayBtn.__proto__ || Object.getPrototypeOf(PlayBtn)).call(this, options));\n\n _this.state = 0;\n _this.playIcon = _this.icon.texture;\n _this.autoPickIcon = new PIXI.Texture.fromImage(options.autopickUrl);\n return _this;\n }\n\n _createClass(PlayBtn, [{\n key: 'tapped',\n value: function tapped() {\n // if (!this.interactive)\n // {\n // return;\n // }\n\n if (this.state === 0) {\n this.playButtonHandler();\n } else {\n this.autopickButtonHandler();\n }\n }\n }, {\n key: 'changeToPlayState',\n value: function changeToPlayState() {\n this.state = 0;\n this.icon.texture = this.playIcon;\n }\n }, {\n key: 'changeToAutopickState',\n value: function changeToAutopickState() {\n this.state = 1;\n this.icon.texture = this.autoPickIcon;\n }\n }, {\n key: 'isPlayState',\n value: function isPlayState() {\n return this.state === 0;\n }\n }]);\n\n return PlayBtn;\n}(__WEBPACK_IMPORTED_MODULE_0_vue__[\"Button\"]);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PlayBtn);\n\n/***/ }),\n/* 101 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Help visualization of the data that model contains.\n */\nvar HelpView = function () {\n /**\n * Constructs the object.\n *\n * @param {Object} size The canvas size data\n * @param {Object} options The options {helpUrl: , font:}\n */\n function HelpView(size, options) {\n _classCallCheck(this, HelpView);\n\n this.name = 'HelpView';\n this.visible = false;\n this.isHTML = true;\n this.canClick = false;\n this.isShowing = false;\n\n this.backButtonHandler = options.onBackClick;\n\n this.addIframe(size, options.helpUrl);\n\n this._size = size;\n }\n\n /**\n * Adds an iframe.\n *\n * @param {Object} size The canvas size data\n * @param {String} helpUrl The help url\n */\n\n\n _createClass(HelpView, [{\n key: 'addIframe',\n value: function addIframe(size, helpUrl) {\n var _this = this;\n\n var vp = window.SUGA.Device.getViewport();\n var w = vp.w;\n var h = vp.h;\n\n\n this.iframe = document.createElement('iframe');\n this.iframe.src = helpUrl;\n this.iframe.style.width = '100%';\n this.iframe.style.height = '100%';\n\n this.container = document.getElementById('help-container');\n this.container.style.backgroundColor = '#000000';\n this.container.style.left = '0px';\n this.container.style.bottom = '0px';\n this.container.style.right = '0px';\n this.container.style.width = '100%';\n this.container.style.height = '0%';\n this.container.style.display = 'block';\n this.container.appendChild(this.iframe);\n\n // listen for the iframes button click\n var receiveMessage = function receiveMessage(event) {\n\n if (event.data === 'close-help') {\n\n _this.buttonClick();\n }\n };\n\n window.addEventListener('message', receiveMessage, false);\n }\n\n /**\n * On button click\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'buttonClick',\n value: function buttonClick(e) {\n if (!this.canClick) {\n return;\n }\n\n this.backButtonHandler();\n if (e) {\n e.stopPropagation();\n }\n }\n\n /**\n * Called before showing view\n */\n\n }, {\n key: 'show',\n value: function show() {\n var _this2 = this;\n\n this.canClick = true;\n this.isShowing = true;\n // this.container.style.display = 'block';\n\n window.setTimeout(function () {\n _this2.container.style.height = '100%';\n }, 1);\n }\n }, {\n key: 'hide',\n value: function hide() {\n this.canClick = false;\n this.isShowing = false;\n // this.container.style.display = 'none';\n this.container.style.height = '0%';\n }\n }]);\n\n return HelpView;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (HelpView);\n\n/***/ }),\n/* 102 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * The curtains the move in and out\n */\nvar CurtainView = function (_PIXI$Container) {\n _inherits(CurtainView, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {} images The images\n * @param {} size The size\n */\n function CurtainView(images, size) {\n _classCallCheck(this, CurtainView);\n\n var _this = _possibleConstructorReturn(this, (CurtainView.__proto__ || Object.getPrototypeOf(CurtainView)).call(this));\n\n _this.name = 'CurtainView';\n _this.sizeWidth = size.width;\n\n _this.darkness = new PIXI.Graphics();\n _this.darkness.beginFill(0x000000, 0.7);\n _this.darkness.drawRect(0, 0, size.width, size.height);\n _this.darkness.endFill();\n _this.addChild(_this.darkness);\n\n _this.leftCurtain = new PIXI.Sprite.fromImage(images.curtainSide);\n\n _this.rightCurtain = new PIXI.Sprite.fromImage(images.curtainSide);\n _this.rightCurtain.x = _this.sizeWidth;\n _this.rightCurtain.scale.x = -1;\n\n _this.topCurtain = _this.buildTopCurtain(images.curtainTop, size);\n\n _this.backCurtain = new PIXI.Sprite.fromImage(images.curtainBack);\n _this.backCurtain.y = 10;\n _this.backCurtain.width = size.width;\n\n _this.addChild(_this.backCurtain);\n _this.addChild(_this.leftCurtain);\n _this.addChild(_this.rightCurtain);\n _this.addChild(_this.topCurtain);\n return _this;\n }\n\n _createClass(CurtainView, [{\n key: 'buildTopCurtain',\n value: function buildTopCurtain(curtainTop, size) {\n var left = new PIXI.Sprite.fromImage(curtainTop);\n var right = new PIXI.Sprite.fromImage(curtainTop);\n\n right.x = size.width - right.width;\n right.scale.x = -1;\n right.anchor.x = 1;\n\n var top = new PIXI.Container();\n\n top.addChild(left);\n top.addChild(right);\n\n return top;\n }\n }, {\n key: 'open',\n value: function open(cb) {\n var _this2 = this;\n\n if (this.animating) {\n return;\n }\n this.animating = true;\n\n var onComplete = function onComplete() {\n _this2.animating = false;\n if (cb) {\n cb();\n }\n };\n\n var easing = Sine.easeIn;\n\n SUGA.Sound.play('curtain');\n\n window.TweenMax.to(this.darkness, 1.0, { delay: 0.0, alpha: 0, ease: easing });\n window.TweenMax.to(this.leftCurtain, 0.8, { delay: 0.2, x: -this.leftCurtain.width, ease: easing });\n window.TweenMax.to(this.rightCurtain, 0.8, { delay: 0.2, x: this.sizeWidth + this.rightCurtain.width, ease: easing });\n window.TweenMax.to(this.topCurtain, 1.0, { delay: 0.2, y: -this.topCurtain.height, ease: easing });\n window.TweenMax.to(this.backCurtain, 1.0, { y: -this.backCurtain.height, onComplete: onComplete, ease: easing });\n }\n }, {\n key: 'close',\n value: function close(cb) {\n var _this3 = this;\n\n if (this.animating) {\n return;\n }\n this.animating = true;\n\n var onComplete = function onComplete() {\n _this3.animating = false;\n if (cb) {\n cb();\n }\n };\n\n var easing = Sine.easeOut;\n\n SUGA.Sound.play('curtain');\n\n window.TweenMax.to(this.darkness, 1.0, { delay: 0.0, alpha: 0.7, ease: easing });\n window.TweenMax.to(this.leftCurtain, 0.8, { x: 0, ease: easing });\n window.TweenMax.to(this.rightCurtain, 0.8, { x: this.sizeWidth, ease: easing });\n window.TweenMax.to(this.topCurtain, 1.0, { y: 0, ease: easing });\n window.TweenMax.to(this.backCurtain, 1.0, { delay: 0.2, y: 10, onComplete: onComplete, ease: easing });\n }\n }, {\n key: 'instantOpen',\n value: function instantOpen() {\n if (this.animating) {\n return;\n }\n this.leftCurtain.x = -this.leftCurtain.width;\n this.rightCurtain.x = this.rightCurtain.x + this.rightCurtain.width;\n this.topCurtain.y = -this.topCurtain.height;\n this.backCurtain.y = -this.backCurtain.height;\n }\n }]);\n\n return CurtainView;\n}(PIXI.Container);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (CurtainView);\n\n/***/ }),\n/* 103 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n/**\n * Foreground visualization of the data that model contains.\n */\n\nvar MenuView = function (_PIXI$Container) {\n _inherits(MenuView, _PIXI$Container);\n\n /**\n * Initialize\n *\n * @param {Object} images The images\n */\n function MenuView(images, size, taglineText, buttonHandler) {\n _classCallCheck(this, MenuView);\n\n var _this = _possibleConstructorReturn(this, (MenuView.__proto__ || Object.getPrototypeOf(MenuView)).call(this));\n\n _this.name = 'MenuView';\n\n _this.sizeWidth = size.width;\n _this.sizeHeight = size.height;\n\n _this.z = 0;\n _this.buttonHandler = buttonHandler;\n\n _this.characters = new PIXI.Sprite.fromImage(images.titleChars);\n _this.addChild(_this.characters);\n _this.characters.centerX(size.width);\n _this.characters.y = size.height + _this.characters.height;\n _this.characters.anchor.y = 1;\n\n var logo = new PIXI.Sprite.fromImage(images.logo);\n\n logo.y = 10;\n logo.centerX(size.width);\n\n var style = {\n align: 'center',\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2\n };\n\n var tagline = new PIXI.Text(taglineText, style);\n\n tagline.centerX(size.width);\n tagline.y = 120;\n\n _this.text = new PIXI.Container();\n _this.text.y = -200;\n _this.text.addChild(logo);\n _this.text.addChild(tagline);\n _this.addChild(_this.text);\n\n var options = {\n normalUrl: images.btnNormalImage,\n hoverUrl: images.btnHoverImage,\n iconUrl: images.iconPlay,\n remainActive: true,\n blink: 0.3\n };\n\n _this.playButton = new __WEBPACK_IMPORTED_MODULE_0_vue__[\"Button\"](options);\n _this.addChild(_this.playButton);\n _this.playButton.x = size.width;\n _this.playButton.y = size.height - 110;\n _this.playButton.tapped = function () {\n if (_this.animating) {\n return;\n }\n _this.playButton.disable();\n _this.buttonHandler();\n };\n return _this;\n }\n\n _createClass(MenuView, [{\n key: 'spacebarHit',\n value: function spacebarHit() {\n if (this.animating) {\n return;\n }\n this.buttonHandler();\n }\n }, {\n key: 'open',\n value: function open(cb) {\n this.hideElements(function () {\n cb();\n });\n }\n }, {\n key: 'close',\n value: function close() {\n this.showElements();\n }\n }, {\n key: 'showElements',\n value: function showElements() {\n var _this2 = this;\n\n if (this.animating) {\n return;\n }\n this.animating = true;\n\n var onComplete = function onComplete() {\n _this2.animating = false;\n _this2.playButton.startBlinking();\n };\n\n window.TweenMax.to(this.characters, 0.8, { y: this.sizeHeight });\n window.TweenMax.to(this.text, 0.8, { y: 0, onComplete: onComplete });\n window.TweenMax.to(this.playButton, 0.8, { x: this.sizeWidth - 70 });\n }\n }, {\n key: 'hideElements',\n value: function hideElements(callback) {\n var _this3 = this;\n\n if (this.animating) {\n return;\n }\n this.animating = true;\n\n this.playButton.stopBlinking();\n\n var onComplete = function onComplete() {\n _this3.animating = false;\n _this3.playButton.stopBlinking();\n if (callback) callback();\n };\n\n window.TweenMax.to(this.characters, 0.4, { y: this.sizeHeight + this.characters.height });\n window.TweenMax.to(this.text, 0.4, { y: -200, onComplete: onComplete });\n window.TweenMax.to(this.playButton, 0.2, { x: this.sizeWidth + 70 });\n }\n }]);\n\n return MenuView;\n}(PIXI.Container);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (MenuView);\n\n/***/ }),\n/* 104 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n/**\n * Foreground visualization of the data that model contains.\n */\n\nvar WinView = function (_PIXI$Container) {\n _inherits(WinView, _PIXI$Container);\n\n /**\n * Initialize\n *\n * @param {Object} images The images\n */\n function WinView(images, size, buttonHandler, moneyBagMultiplier) {\n _classCallCheck(this, WinView);\n\n var _this = _possibleConstructorReturn(this, (WinView.__proto__ || Object.getPrototypeOf(WinView)).call(this));\n\n _this.name = 'MenuView';\n\n _this.z = 0;\n _this.buttonHandler = buttonHandler;\n _this.images = images;\n _this.sizeWidth = size.width;\n _this.sizeHeight = size.height - 45;\n\n _this.moneyBagMultiplier = moneyBagMultiplier;\n\n _this.textYOffset = 250;\n\n _this.daughter = new PIXI.Sprite.fromImage(images.daughter);\n _this.addChild(_this.daughter);\n _this.daughter.x = 40;\n _this.daughter.y = _this.sizeHeight;\n\n var style = {\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2\n };\n\n var tagline = new PIXI.Text(__t.str('You Won!'), style);\n\n tagline.centerX(size.width);\n tagline.y = 0;\n\n _this.totalText = new PIXI.Text('', style);\n _this.totalText.centerX(size.width);\n _this.totalText.y = 180;\n\n _this.text = new PIXI.Container();\n _this.text.y = -_this.textYOffset;\n _this.text.addChild(tagline);\n _this.text.addChild(_this.totalText);\n\n _this.addChild(_this.text);\n\n // const options =\n // {\n // normalUrl: images.btnNormalImage,\n // hoverUrl: images.btnHoverImage,\n // iconUrl: images.iconPlay,\n // remainActive: true,\n // }\n\n // this.playButton = new Button(options);\n // this.addChild(this.playButton)\n // this.playButton.x = size.width\n // this.playButton.y = size.height - 110\n // this.playButton.tapped = () =>\n // {\n // if (this.animating) return\n // this.playButton.disable()\n // this.buttonHandler();\n // }\n return _this;\n }\n\n _createClass(WinView, [{\n key: 'spacebarHit',\n value: function spacebarHit() {\n if (this.animating) {\n return;\n }\n this.buttonHandler();\n }\n }, {\n key: 'showElements',\n value: function showElements(result, onComplete) {\n var _this2 = this;\n\n if (this.animating) {\n return;\n }\n this.animating = true;\n\n this.showResult(result);\n\n // this.playButton.enable()\n\n var callback = function callback() {\n _this2.animating = false;\n if (onComplete) {\n onComplete();\n }\n };\n\n window.TweenMax.to(this.daughter, 0.8, { y: this.sizeHeight - this.daughter.height });\n window.TweenMax.to(this.text, 0.8, { y: 80, onComplete: callback });\n // window.TweenMax.to(this.playButton,0.8,{x:this.playButton.x - 70});\n }\n }, {\n key: 'hideElements',\n value: function hideElements(onComplete) {\n var _this3 = this;\n\n if (this.animating) {\n return;\n }\n this.animating = true;\n\n var callback = function callback() {\n _this3.animating = false;\n\n if (_this3.container) {\n _this3.container.removeSelf();\n }\n\n _this3.container = null;\n\n onComplete();\n };\n\n window.TweenMax.to(this.daughter, 0.4, { y: this.sizeHeight });\n window.TweenMax.to(this.text, 0.4, { y: -this.textYOffset, onComplete: callback });\n // window.TweenMax.to(this.playButton,0.2,{x:this.playButton.x + 70});\n }\n }, {\n key: 'showResult',\n value: function showResult(data) {\n var winAmount = data.winAmount;\n var result = data.result;\n var multipliers = data.multipliers;\n var stake = data.stake;\n\n var style = {\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2\n };\n\n var container = new PIXI.Container();\n\n container.position.set(200, 20);\n this.text.addChild(container);\n\n var y = 0;\n\n for (var prizeId in result) {\n var count = result[prizeId];\n\n prizeId = window.parseInt(prizeId);\n\n var text = void 0;\n var sprite = void 0;\n\n if (prizeId === 6) {\n text = __c.localize(this.moneyBagMultiplier * stake);\n sprite = new PIXI.Sprite.fromImage(this.images.moneyBagWin);\n } else {\n if (count < 3) {\n continue;\n }\n\n var prizeImage = this.images['gem' + (window.parseInt(prizeId) + 1)];\n\n console.log(prizeImage);\n\n text = __c.localize(multipliers[prizeId] * stake);\n sprite = new PIXI.Sprite.fromImage(prizeImage);\n }\n\n var prize = new PIXI.Text(text, style);\n\n prize.x = 60;\n prize.y = y + 10;\n sprite.y = y;\n\n container.addChild(prize);\n container.addChild(sprite);\n\n y += 50;\n }\n\n var winAmountText = __c.localize(winAmount);\n\n this.totalText.text = __t.str('Total paid') + ':' + (' ' + winAmountText);\n this.totalText.centerX(this.sizeWidth);\n\n this.container = container;\n }\n }]);\n\n return WinView;\n}(PIXI.Container);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (WinView);\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./cs.json\": 106,\n\t\"./de.json\": 107,\n\t\"./en.json\": 108,\n\t\"./hu.json\": 109,\n\t\"./pl.json\": 110,\n\t\"./pt.json\": 111,\n\t\"./sk.json\": 112,\n\t\"./sv.json\": 113\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 105;\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"lang/cs.json\";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"lang/de.json\";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"lang/en.json\";\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"lang/hu.json\";\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"lang/pl.json\";\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"lang/pt.json\";\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"lang/sk.json\";\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"lang/sv.json\";\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./SignPainter-HouseScript.eot\": 115,\n\t\"./proximasoft-bold-webfont.eot\": 116,\n\t\"./proximasoft-regular-webfont.eot\": 117\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 114;\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/SignPainter-HouseScript.eot\";\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-bold-webfont.eot\";\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-regular-webfont.eot\";\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./SignPainter-HouseScript.svg\": 119,\n\t\"./proximasoft-bold-webfont.svg\": 120,\n\t\"./proximasoft-regular-webfont.svg\": 121\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 118;\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/SignPainter-HouseScript.svg\";\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-bold-webfont.svg\";\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-regular-webfont.svg\";\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./SignPainter-HouseScript.ttf\": 123,\n\t\"./proximasoft-bold-webfont.ttf\": 124,\n\t\"./proximasoft-regular-webfont.ttf\": 125\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 122;\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/SignPainter-HouseScript.ttf\";\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-bold-webfont.ttf\";\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-regular-webfont.ttf\";\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./SignPainter-HouseScript.woff\": 127,\n\t\"./proximasoft-bold-webfont.woff\": 128,\n\t\"./proximasoft-regular-webfont.woff\": 129\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 126;\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/SignPainter-HouseScript.woff\";\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-bold-webfont.woff\";\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-regular-webfont.woff\";\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar map = {\n\t\"./proximasoft-bold-webfont.woff2\": 131,\n\t\"./proximasoft-regular-webfont.woff2\": 132\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 130;\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-bold-webfont.woff2\";\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/font/proximasoft-regular-webfont.woff2\";\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/fonts.css\";\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sound/audio-sprite.json\";\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sound/audio-sprite.mp3\";\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__.p + \"themes/tr/sound/audio-sprite.ogg\";\n\n/***/ })\n/******/ ]);\n\n\n// WEBPACK FOOTER //\n// d-game.js"," \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t\"d-game\": 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"\" + ({\"debug\":\"debug\"}[chunkId]||chunkId) + \"-\" + \"29322390610edb929732\" + \".js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./assets/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 12);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 29322390610edb929732","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"vue\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vue\"] = factory();\n\telse\n\t\troot[\"vue\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 7);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Class for base button.\n */\nvar Button = function (_PIXI$Container) {\n _inherits(Button, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} options The options\n */\n function Button(options) {\n _classCallCheck(this, Button);\n\n var _this = _possibleConstructorReturn(this, (Button.__proto__ || Object.getPrototypeOf(Button)).call(this));\n\n _this.tag = 'button';\n\n _this.isEnabled = true;\n _this.interactive = true;\n _this.buttonMode = true;\n\n if (options.tapped) {\n _this.tapped = options.tapped;\n }\n\n if (options.remainActive) {\n _this.remainActive = options.remainActive;\n } else {\n _this.remainActive = false;\n }\n\n _this.options = options;\n\n if (options.bgUrl) {\n _this.bg = new PIXI.Sprite.fromImage(options.bgUrl);\n _this.addChild(_this.bg);\n }\n\n if (typeof options.normalUrl === 'string') {\n _this.normal = new PIXI.Sprite.fromImage(options.normalUrl);\n } else {\n _this.normal = new PIXI.Sprite(options.normalUrl);\n }\n\n if (typeof options.hoverUrl === 'string') {\n _this.hover = new PIXI.Sprite.fromImage(options.hoverUrl);\n } else {\n _this.hover = new PIXI.Sprite(options.hoverUrl);\n }\n\n _this.addChild(_this.normal);\n _this.addChild(_this.hover);\n\n if (options.text) {\n _this.setText(options.text, options.textStyle);\n }\n\n if (options.tint) {\n _this.normal.tint = options.tint;\n _this.hover.tint = options.tint;\n if (_this.text) {\n _this.text.tint = options.tint;\n }\n }\n\n if (options.iconUrl) {\n _this.icon = new PIXI.Sprite.fromImage(options.iconUrl);\n _this.addChild(_this.icon);\n _this.icon.centerX();\n _this.icon.centerY();\n }\n\n _this.reset();\n return _this;\n }\n\n _createClass(Button, [{\n key: 'setText',\n value: function setText(text, style) {\n if (!this.text) {\n this.text = new PIXI.Text(text, style);\n this.addChild(this.text);\n } else {\n this.text.text = text;\n }\n\n this.text.x = Math.round((this.normal.width - this.text.width) / 2);\n this.text.y = Math.round((this.normal.height - this.text.height) / 2);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerdown',\n value: function pointerdown(e) {\n if (!this.isEnabled) {\n return;\n }\n\n e.stopPropagation();\n }\n\n /**\n * Pixi Pointer event\n */\n\n }, {\n key: 'pointerover',\n value: function pointerover() {\n if (!this.isEnabled) {\n return;\n }\n\n if (this.hovered) {\n this.hovered();\n }\n\n this.hover.visible = true;\n this.normal.visible = false;\n\n this.isHovered = true;\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerup',\n value: function pointerup(e) {\n if (!this.isEnabled) {\n return;\n }\n\n e.stopPropagation();\n\n this.reset();\n\n this._tapped(e);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointertap',\n value: function pointertap(e) {\n if (!this.isEnabled) {\n return;\n }\n\n e.stopPropagation();\n\n this.reset();\n\n this._tapped(e);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerout',\n value: function pointerout() {\n this.reset();\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerupoutside',\n value: function pointerupoutside() {\n this.reset();\n }\n\n /**\n * Reset\n */\n\n }, {\n key: 'reset',\n value: function reset() {\n if (this.hover) {\n this.hover.visible = false;\n }\n if (this.normal) {\n this.normal.visible = true;\n }\n\n this.isHovered = false;\n }\n\n /**\n * Enable\n */\n\n }, {\n key: 'enable',\n value: function enable() {\n this.reset();\n this.interactive = true;\n this.buttonMode = true;\n this.alpha = 1;\n\n this.isEnabled = true;\n }\n\n /**\n * Disable\n */\n\n }, {\n key: 'disable',\n value: function disable() {\n this.reset();\n this.interactive = false;\n this.buttonMode = false;\n this.alpha = 0.5;\n\n this.isEnabled = false;\n }\n\n /**\n * @private\n * Button pressed action\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: '_tapped',\n value: function _tapped(e) {\n if (!this.remainActive) {\n this.disable();\n }\n\n if (this.tapped) {\n this.tapped(e);\n } else {\n throw new Error('Button has no Action');\n }\n }\n }, {\n key: 'startBlinking',\n value: function startBlinking() {\n var _this2 = this;\n\n if (this.blinkInterval) {\n return;\n }\n\n this.blinkInterval = window.setInterval(function () {\n if (_this2.isHovered || !_this2.isEnabled) {\n return;\n }\n\n if (_this2.blinkActive) {\n _this2.hover.visible = false;\n _this2.normal.visible = true;\n _this2.blinkActive = false;\n } else {\n _this2.hover.visible = true;\n _this2.normal.visible = false;\n _this2.blinkActive = true;\n }\n }, this.options.blink * 1000);\n }\n }, {\n key: 'stopBlinking',\n value: function stopBlinking() {\n window.clearInterval(this.blinkInterval);\n this.blinkInterval = null;\n this.reset();\n }\n }]);\n\n return Button;\n}(PIXI.Container);\n\nexports.default = Button;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _stats = __webpack_require__(11);\n\nvar _stats2 = _interopRequireDefault(_stats);\n\nvar _util = __webpack_require__(6);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Class for canvas manager.\n */\nvar CanvasManager = function () {\n /**\n * @typedef {Object} CanvasManagerOptions\n * @property {Boolean} showFPS - Whether to show the FPS counter\n * @property {Object} backgroundAnchor - Coordinates of BG Anchor {x 0.5, y: 1}\n * @property {Number} transitionSpeed - The speed of the parallax scroll\n * @property {Number} parallaxBgOffeset - The amount the BG should parallax scroll\n * @property {Number} defaultGameWidth - The width the game starts width\n * @property {Number} defaultGameHeight - The height the game starts width\n */\n\n /**\n * Constructs the object.\n *\n * @param {CanvasManagerOptions} options - The options\n * @param {PIXI.Container} bottomBarView - The bottom bar view\n * @param {PIXI.Sprite} gameBg - The game background\n */\n function CanvasManager(options, bottomBarView, gameBg) {\n var _this = this;\n\n _classCallCheck(this, CanvasManager);\n\n this.views = [];\n this.overlays = [];\n this.historyStates = [];\n this.isTransitioning = false;\n\n this.fixedAspect = options.fixedAspect;\n\n if (options.forceCanvas === undefined) {\n console.error('missing options.forceCanvas');\n }\n\n this.dpi = options.dpi;\n this.showFPS = options.showFPS; // true\n this.forceCanvas = options.forceCanvas; // true\n this.backgroundAnchor = options.backgroundAnchor;\n this.transitionSpeed = options.transitionSpeed;\n this.parallaxBgOffeset = options.parallaxBgOffeset;\n this.defaultGameWidth = options.defaultGameWidth;\n this.defaultGameHeight = options.defaultGameHeight;\n this.font = options.font;\n\n this.onPageVisibility = options.onPageVisibility;\n this.onResize = options.onResize;\n\n this.bottomBarView = bottomBarView;\n this.gameBg = gameBg;\n\n this.buttonOffset = 150;\n this.buttonPadding = 56;\n\n if (options.buttonOffset !== undefined) {\n this.buttonOffset = options.buttonOffset;\n }\n\n if (options.buttonPadding !== undefined) {\n this.buttonPadding = options.buttonPadding;\n }\n\n this.gameDimensions = {\n scale: 1,\n width: this.defaultGameWidth,\n height: this.defaultGameWidth\n };\n\n // History events\n window.onpopstate = function (e) {\n return _this.popHistory(e);\n };\n\n // document/window events\n window.SUGA.Device.resize(50, function (data) {\n return _this.sizeToFit(data);\n });\n window.SUGA.Device.pageVisibility(function (isVisible) {\n return _this.pageVisibility(isVisible);\n });\n }\n\n /**\n * Start rendering the canvas\n */\n\n\n _createClass(CanvasManager, [{\n key: 'renderCanvas',\n value: function renderCanvas() {\n this.canvasContainerEle = document.getElementById('canvas-container');\n this.canvasEle = document.getElementById('canvas');\n\n // stage options\n var rendererOptions = {\n view: this.canvasEle,\n transparent: true,\n autoResize: true,\n antialias: false,\n resolution: this.dpi,\n clearBeforeRender: false,\n forceCanvas: this.forceCanvas\n };\n\n var w = this.defaultGameWidth;\n var h = this.defaultGameHeight;\n\n // create renderer\n this.app = new PIXI.Application(w, h, rendererOptions);\n this.renderer = this.app.renderer;\n this.renderer.backgroundColor = 0xFF66CC;\n\n // add global ticker\n window.__ticker = this.app.ticker;\n\n // add stage\n this.outerStage = this.app.stage;\n this.innerStage = new PIXI.Container();\n this.outerStage.addChild(this.innerStage);\n\n // const bg = new PIXI.Graphics()\n // bg.beginFill(0x000000, 0.5)\n // bg.drawRect(0,0,w,h)\n // bg.endFill()\n // this.innerStage.addChild(bg)\n\n this.disableScrolling();\n\n // show FPS stat\n if (this.showFPS) {\n var stats = new _stats2.default();\n\n document.body.appendChild(stats.dom);\n this.app.ticker.add(function () {\n return stats.update();\n });\n }\n\n this.addBackground(w, h);\n this.addUiBars();\n }\n\n /**\n * Shows the canvas ele.\n */\n\n }, {\n key: 'showCanvasEle',\n value: function showCanvasEle() {\n this.canvasEle.style.display = 'block';\n }\n\n /**\n * fits views to dimensions\n *\n * @return {Object} Returns the new dimensions\n */\n\n }, {\n key: 'sizeToFit',\n value: function sizeToFit() {\n var rendererH = void 0;\n var rendererW = void 0;\n\n if (!this.canvasEle) {\n return this.gameDimensions;\n }\n\n // get viewport dimensions\n var vp = window.SUGA.Device.getViewport();\n\n var gW = this.defaultGameWidth;\n var gH = this.defaultGameHeight;\n\n // build ratios\n var widthGrowthRatio = vp.w / gW;\n var heightGrowthRatio = vp.h / gH;\n\n if (!this.fixedAspect) {\n // determine the ratio that fits\n if (heightGrowthRatio > widthGrowthRatio) {\n rendererW = gW;\n rendererH = Math.round(vp.h * gW / vp.w);\n } else {\n rendererW = Math.round(vp.w * gH / vp.h);\n rendererH = gH;\n }\n\n this.renderer.resize(rendererW, rendererH);\n\n this.canvasEle.style.width = vp.w + 'px';\n this.canvasEle.style.height = vp.h + 'px';\n\n this.centerBg(rendererW, rendererH);\n } else {\n var w = void 0;\n var h = void 0;\n\n // determine the ratio that fits\n if (heightGrowthRatio < widthGrowthRatio) {\n w = Math.round(gW * heightGrowthRatio);\n h = vp.h;\n } else {\n h = Math.round(gH * widthGrowthRatio);\n w = vp.w;\n }\n\n this.canvasEle.style.width = w + 'px';\n this.canvasEle.style.height = h + 'px';\n\n rendererW = gW;\n rendererH = gH;\n }\n\n this.canvasContainerEle.style.width = vp.w + 'px';\n this.canvasContainerEle.style.height = vp.h + 'px';\n\n // #set new gameDimensions\n var ratio = vp.w / rendererW;\n\n // center stage\n var x = Math.round((rendererW - gW) / 2);\n var y = Math.round((rendererH - gH) / 2);\n\n y = 0;\n this.innerStage.position.set(x, y);\n\n this.rendererWidth = rendererW;\n this.gameWidth = this.defaultGameWidth;\n\n this.gameDimensions = {\n scale: ratio,\n width: rendererW,\n height: rendererH,\n defaultWidth: this.defaultGameWidth,\n defaultHeight: this.defaultGameHeight,\n viewportWidth: vp.w,\n viewportHeight: vp.h,\n stage: {\n x: this.innerStage.x,\n y: this.innerStage.y\n }\n };\n\n if (this.bottomBarView) {\n this.bottomBarView.resize(rendererW, rendererH);\n }\n\n if (this.settingsView) {\n this.settingsView.resize(this.gameDimensions);\n }\n\n if (this.foregroundView && this.foregroundView.resize) {\n this.foregroundView.resize(this.gameDimensions);\n }\n\n if (this.backgroundView && this.backgroundView.resize) {\n this.backgroundView.resize(this.gameDimensions);\n }\n\n this.resizeViews(this.gameDimensions);\n\n this.onResize(this.gameDimensions);\n\n return this.gameDimensions;\n }\n\n /**\n * Place buttons for all views and overlays\n *\n * @param {Object} gameDimensions The game dimensions\n */\n\n }, {\n key: 'resizeViews',\n value: function resizeViews(gameDimensions) {\n var allViews = this.views.concat(this.overlays);\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = allViews[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var view = _step.value;\n\n this.resizeView(view, gameDimensions);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'resizeView',\n value: function resizeView(view, gameDimensions) {\n if (view.resize) {\n view.resize(gameDimensions);\n }\n\n if (view.buttons) {\n var buttonPadding = view.buttons.length <= 3 ? this.buttonPadding : this.buttonPadding * 0.85;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = view.buttons[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var button = _step2.value;\n\n this.placeButton(button, gameDimensions.height, buttonPadding);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n }\n\n /**\n * Reposition buttons Y axis\n *\n * @param {PIXI.DisplayObject} button The button\n * @param {Number} height The game height\n * @return {PIXI.DisplayObject} The modified button\n */\n\n }, {\n key: 'placeButton',\n value: function placeButton(button, height, buttonPadding) {\n if (!button) {\n return null;\n }\n\n button.y = Math.round(height - this.buttonOffset - buttonPadding * button.order);\n\n button.centerX();\n\n return button;\n }\n\n /**\n * Called when the page becomes visible or not\n *\n * @param {boolean} isVisible Indicates if visible\n */\n\n }, {\n key: 'pageVisibility',\n value: function pageVisibility(isVisible) {\n if (this.onPageVisibility) {\n this.onPageVisibility(isVisible);\n }\n }\n\n /**\n * Adds a background.\n *\n * @param {Number} w width\n * @param {Number} h height\n */\n\n }, {\n key: 'addBackground',\n value: function addBackground(w, h) {\n this.gameBg.anchor.set(this.backgroundAnchor.x, this.backgroundAnchor.y);\n this.outerStage.addChildAt(this.gameBg, 0);\n\n if (!this.fixedAspect) {\n this.centerBg(w, h);\n } else {\n this.gameBg.x = (w - this.gameBg.width) / 2;\n this.gameBg.y = (h - this.gameBg.height) / 2;\n // this.centerBg(w, h);\n }\n }\n\n /**\n * FIXME - Should be more abstracted\n * Adds a settings view.\n *\n * @param {PIXI.Container} settingsView The settings view\n */\n\n }, {\n key: 'addSettingsView',\n value: function addSettingsView(settingsView) {\n this.settingsView = settingsView;\n this.outerStage.addChildAt(this.settingsView, 2);\n }\n\n /**\n * Adds user interface bars.\n */\n\n }, {\n key: 'addUiBars',\n value: function addUiBars() {\n this.outerStage.addChild(this.bottomBarView);\n }\n\n /**\n * Brings UI to top Z index\n */\n\n }, {\n key: 'bringUiToFront',\n value: function bringUiToFront() {\n if (this.settingsView) {\n this.settingsView.bringToFront();\n }\n this.bottomBarView.bringToFront();\n }\n\n /**\n * Adds a background view.\n *\n * @param {PIXI.Sprite} backgroundView The background view\n * @param {Function} cb Handler after background view is completed\n */\n\n }, {\n key: 'addBackgroundView',\n value: function addBackgroundView(backgroundView) {\n this.backgroundView = backgroundView;\n this.outerStage.addChildAt(this.backgroundView, 1);\n }\n\n /**\n * Adds a foreground view.\n *\n * @param {PIXI.Sprite} foregroundView The foreground view\n * @param {Function} cb Handler after foreground view is completed\n */\n\n }, {\n key: 'addForegroundView',\n value: function addForegroundView(foregroundView) {\n this.foregroundView = foregroundView;\n this.outerStage.addChildAt(this.foregroundView, 3);\n }\n\n /**\n * Center the background in the view\n *\n * @param {Number} width The width\n * @param {Number} height The height\n */\n\n }, {\n key: 'centerBg',\n value: function centerBg(width, height) {\n if (this.gameBg) {\n this.scaleToFill(width, height, this.gameBg, this.parallaxBgOffeset);\n\n this.gameBg.originalX = this.gameBg.position.x;\n }\n }\n\n /**\n * Scale sprite to fill canvas\n *\n * @param {Number} width The width\n * @param {Number} height The height\n * @param {PIXI.Sprite} sprite The sprite\n * @param {number} parallaxPadding The parallax padding\n */\n\n }, {\n key: 'scaleToFill',\n value: function scaleToFill(width, height, sprite, parallaxPadding) {\n var ratio = void 0;\n var rW = width + parallaxPadding;\n var rH = height;\n var bgW = sprite.texture.width;\n var bgH = sprite.texture.height;\n\n if (this.backgroundAnchor.x > 0) {\n rW = rW + parallaxPadding / this.backgroundAnchor.x;\n }\n\n var ratioW = rW / bgW;\n var ratioH = rH / bgH;\n\n var rAspect = rW / rH;\n var bgAspect = bgW / bgH;\n\n if (rAspect > bgAspect) {\n ratio = ratioW;\n } else {\n ratio = ratioH;\n }\n\n // center\n var x = Math.floor(rW * this.backgroundAnchor.x) - (rW - width - parallaxPadding) / 2;\n var y = Math.floor(rH * this.backgroundAnchor.y);\n\n sprite.scale.set(ratio, ratio);\n\n sprite.position.set(x, y);\n }\n }, {\n key: 'addView',\n value: function addView(view) {\n // put view on stage\n this.innerStage.addChild(view);\n\n // add view to our stack\n this.views.push(view);\n }\n\n /**\n * Pushes a view.\n *\n * @param {PIXI.Container} view The view\n */\n\n }, {\n key: 'pushView',\n value: function pushView(view) {\n var animate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!animate) {\n this.addView(view);\n\n return;\n }\n\n // prevent mulitple views in the overlay stack\n if (this.isViewShowing(view.name)) {\n return;\n }\n\n this._pushView(view);\n\n this.bringUiToFront();\n }\n\n /**\n * @private\n * Pushes a view.\n *\n * @param {PIXI.Container} view The view\n */\n\n }, {\n key: '_pushView',\n value: function _pushView(view) {\n var _this2 = this;\n\n var currentView = void 0;\n\n // only push one view at a time\n if (this.isTransitioning) {\n return;\n }\n this.isTransitioning = true;\n\n // if we are pushing an html page above the canvas\n if (view.isHTML) {\n window.SUGA.Reality.canShowRealityCheck(false);\n }\n\n // is this the root view\n var isRootView = this.views.length < 1;\n\n // fire event on view, if defined\n if (view.willShow) {\n view.willShow();\n }\n\n // if this will not be the first view in the stack\n // then we will animate its movement\n if (!isRootView) {\n // add a push state\n this.pushHistory(view.name);\n\n // put view just out of screen to the right\n view.x = this.rendererWidth;\n\n // get current view\n currentView = (0, _util.lastItem)(this.views);\n\n // make view non-interactive\n currentView.interactiveChildren = false;\n\n // make static snap shot of view\n // currentView.cacheAsBitmap = true\n\n // fire event on previous view, if defined\n if (currentView.willHide) {\n currentView.willHide();\n }\n }\n\n // put view on stage\n this.innerStage.addChild(view);\n\n // add view to our stack\n this.views.push(view);\n\n // align stuff before we push it\n this.resizeView(view, this.gameDimensions);\n\n // dont animate if this the first view\n if (isRootView) {\n if (view.didShow) {\n view.didShow();\n }\n\n this.isTransitioning = false;\n\n return;\n }\n\n // calculate parallax x offset\n var newX = this.gameBg.position.x - this.parallaxBgOffeset;\n\n // animate background parallax\n TweenMax.to(this.gameBg, this.transitionSpeed / 1000, { x: newX });\n\n // slide in new view\n var options = {\n x: 0,\n\n onUpdate: function onUpdate() {\n if (view.showingProgress) {\n var ratio = view.x / _this2.rendererWidth;\n var domX = window.innerWidth * ratio;\n\n view.showingProgress(domX);\n }\n },\n\n onComplete: function onComplete() {\n if (view.didShow) {\n view.didShow();\n }\n\n _this2.isTransitioning = false;\n }\n };\n\n TweenMax.to(view, this.transitionSpeed / 1000, options);\n\n // slide out old view\n options = {\n\n x: -this.innerStage.x - this.gameWidth,\n\n onComplete: function onComplete() {\n currentView.renderable = false;\n\n if (currentView.didHide) {\n currentView.didHide();\n }\n }\n };\n\n TweenMax.to(currentView, this.transitionSpeed / 1000, options);\n }\n }, {\n key: 'removeView',\n value: function removeView() {\n var view = this.views.pop();\n\n view.removeSelf();\n }\n\n /**\n * Pop view from stack\n *\n * @return {Boolean} did we pop a view\n */\n\n }, {\n key: 'popView',\n value: function popView() {\n var _this3 = this;\n\n var animate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (this.isTransitioning || this.views.length < 1) {\n return false;\n }\n\n if (!animate) {\n this.removeView();\n\n return;\n }\n\n this.isTransitioning = true;\n\n var isRootView = this.views.length === 1;\n\n var view = this.views.pop();\n\n if (view.willHide) {\n view.willHide();\n }\n\n // if we are popping an html page\n if (view.isHTML) {\n window.SUGA.Reality.canShowRealityCheck(true);\n }\n\n var nextView = (0, _util.lastItem)(this.views);\n\n if (nextView) {\n if (nextView.willShow) {\n nextView.willShow();\n }\n nextView.interactiveChildren = true;\n nextView.renderable = true;\n }\n // // nextView.cacheAsBitmap = false\n\n // if (this.views.length === 1)\n // {\n // this.rootViewShown();\n // }\n\n if (isRootView) {\n if (view.didHide) {\n view.didHide();\n }\n view.removeSelf();\n this.isTransitioning = false;\n\n return true;\n }\n\n // animate background parallax\n TweenMax.to(this.gameBg, this.transitionSpeed / 1000, { x: this.gameBg.originalX });\n\n // slide in new view\n var options = {\n x: this.rendererWidth,\n onUpdate: function onUpdate() {\n if (view.showingProgress) {\n var ratio = view.x / _this3.rendererWidth;\n var domX = window.innerWidth * ratio;\n\n view.showingProgress(domX);\n }\n },\n onComplete: function onComplete() {\n if (view.didHide) {\n view.didHide();\n }\n\n view.removeSelf();\n }\n };\n\n TweenMax.to(view, this.transitionSpeed / 1000, options);\n\n // slide out old view\n options = {\n x: 0,\n onComplete: function onComplete() {\n if (nextView.didShow) {\n nextView.didShow();\n }\n\n _this3.isTransitioning = false;\n }\n };\n\n TweenMax.to(nextView, this.transitionSpeed / 1000, options);\n\n return true;\n }\n\n /**\n * Pop all views\n */\n\n }, {\n key: 'popAllViews',\n value: function popAllViews() {\n for (var i = this.views.length - 1; i >= 0; i -= 1) {\n this.popView();\n }\n }\n\n /**\n * Determines if view showing.\n *\n * @param {boolean} name The name\n * @return {boolean} True if view showing, False otherwise.\n */\n\n }, {\n key: 'isViewShowing',\n value: function isViewShowing(name) {\n var v = (0, _util.lastItem)(this.views);\n\n if (v && v.name && v.name === name) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Pushes an overlay.\n *\n * @param {PIXI.Container} overlayView The overlay view\n */\n\n }, {\n key: 'pushOverlay',\n value: function pushOverlay(overlayView) {\n // prevent mulitple views in the overlay stack\n if (this.isOverlayShowing(overlayView.name)) {\n return;\n }\n\n this._pushOverlay(overlayView);\n\n this.bringUiToFront();\n }\n\n /**\n * @private\n *\n * Pushes an overlay.\n *\n * @param {PIXI.Container} overlayView The overlay view\n */\n\n }, {\n key: '_pushOverlay',\n value: function _pushOverlay(overlayView) {\n this.disableUserActions();\n\n var currentView = (0, _util.lastItem)(this.views);\n\n if (currentView) {\n currentView.interactiveChildren = false;\n }\n\n this.outerStage.addChild(overlayView);\n\n this.overlays.push(overlayView);\n\n // align stuff before we push it\n this.resizeView(overlayView, this.gameDimensions);\n }\n\n /**\n * Pop an overlay\n *\n * @param {boolean} suppressEvents The suppress events\n * @return {boolean} { description_of_the_return_value }\n */\n\n }, {\n key: 'popOverlay',\n value: function popOverlay(suppressEvents) {\n var _this4 = this;\n\n if (!suppressEvents) {\n suppressEvents = false;\n }\n\n if (this.overlays.length < 1) {\n return false;\n }\n\n var isLastOverlay = this.overlays.length === 1;\n\n var view = (0, _util.lastItem)(this.views);\n\n if (isLastOverlay) {\n if (view.willShow) {\n view.willShow();\n }\n }\n\n var overlayView = this.overlays.pop();\n\n if (!suppressEvents) {\n this.enableUserActions();\n }\n\n var currentView = (0, _util.lastItem)(this.views);\n\n clearTimeout(this.overlayTimer);\n currentView.interactiveChildren = true;\n currentView.filters = null;\n\n overlayView.hide(function () {\n _this4.outerStage.removeChild(overlayView);\n\n if (isLastOverlay && view.didShow) {\n view.didShow();\n }\n });\n\n return true;\n }\n\n /**\n * Pup all the overlays\n *\n * @param {Boolean} suppressEvents The suppress events\n */\n\n }, {\n key: 'popAllOverlays',\n value: function popAllOverlays(suppressEvents) {\n for (var i = this.views.length - 1; i >= 0; i -= 1) {\n this.popOverlay(suppressEvents);\n }\n }\n\n /**\n * Determines if overlay showing.\n *\n * @param {String} name The name\n * @return {Boolean} True if overlay showing, False otherwise.\n */\n\n }, {\n key: 'isOverlayShowing',\n value: function isOverlayShowing(name) {\n var o = (0, _util.lastItem)(this.overlays);\n\n if (o && o.name && o.name === name) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Determines if it has overlay.\n *\n * @return {boolean} True if has overlay, False otherwise.\n */\n\n }, {\n key: 'hasOverlay',\n value: function hasOverlay() {\n return this.overlays.length > 0;\n }\n\n /**\n * Pushes an initialize history.\n *\n * @param {PIXI.Container} view The view\n */\n\n }, {\n key: 'pushInitHistory',\n value: function pushInitHistory(view) {\n this.historyStates.push(view);\n\n history.pushState(this.historyStates, 'sub-menu', null);\n }\n\n /**\n * Pushes a history.\n *\n * @param {PIXI.Container} view The view\n */\n\n }, {\n key: 'pushHistory',\n value: function pushHistory(view) {\n this.historyStates.push(view);\n\n history.replaceState(this.historyStates, 'sub-menu', null);\n }\n\n /**\n * Pop a history\n */\n\n }, {\n key: 'popHistory',\n value: function popHistory() {\n if (this.historyStates.length > 1) {\n this.historyStates.pop();\n\n window.history.pushState(this.historyStates, 'sub-menu', null);\n this.popView();\n\n return;\n }\n\n window.history.back();\n }\n\n /**\n * Navigate back\n */\n\n }, {\n key: 'back',\n value: function back() {\n this.popHistory();\n }\n\n /**\n * Force a real back navigation\n */\n\n }, {\n key: 'forceBack',\n value: function forceBack() {\n this.historyStates = [];\n\n window.history.back();\n }\n\n /**\n * User hit space bar\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'spacebarHit',\n value: function spacebarHit(e) {\n if (this.isTransitioning) {\n return;\n }\n\n e.preventDefault();\n\n var tmp = this.views.concat(this.overlays);\n\n for (var i = tmp.length - 1; i >= 0; i--) {\n var view = tmp[i];\n\n if (view && view.spacebarHit) {\n view.spacebarHit(e);\n\n return;\n }\n }\n }\n\n /**\n * Enables the user actions.\n */\n\n }, {\n key: 'enableUserActions',\n value: function enableUserActions() {\n var _this5 = this;\n\n this.innerStage.interactiveChildren = true;\n\n document.onkeydown = function (e) {\n e = e || window.event;\n\n if (e.keyCode === 32) {\n _this5.spacebarHit(e);\n }\n };\n }\n\n /**\n * Disables the user actions.\n */\n\n }, {\n key: 'disableUserActions',\n value: function disableUserActions() {\n this.innerStage.interactiveChildren = false;\n document.onkeydown = null;\n }\n\n /**\n * Enables the scrolling.\n */\n\n }, {\n key: 'enableScrolling',\n value: function enableScrolling() {\n this.renderer.plugins.interaction.autoPreventDefault = false;\n\n this.canvasEle.style['touch-action'] = 'pan-y';\n }\n\n /**\n * Disables the scrolling.\n */\n\n }, {\n key: 'disableScrolling',\n value: function disableScrolling() {\n this.renderer.plugins.interaction.autoPreventDefault = true;\n\n this.canvasEle.style['touch-action'] = 'none';\n }\n }]);\n\n return CanvasManager;\n}();\n\nexports.default = CanvasManager;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction extend(dpi) {\n function bringToFront() {\n if (this.parent) {\n var parent = this.parent;\n\n\n parent.removeChild(this);\n parent.addChild(this);\n }\n }\n window.PIXI.DisplayObject.prototype.bringToFront = bringToFront;\n\n function zSort() {\n function sortIt(a, b) {\n if (a.z < b.z) {\n return -1;\n }\n if (a.z > b.z) {\n return 1;\n }\n\n return 0;\n }\n\n this.children = this.children.sort(sortIt);\n }\n window.PIXI.DisplayObject.prototype.zSort = zSort;\n\n function getByTag(tag) {\n if (!this.children || !this.children.length) {\n return null;\n }\n\n var objects = [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Array.from(this.children)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var child = _step.value;\n\n if (child.tag === tag) {\n objects.push(child);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if (objects.length > 1) {\n return objects;\n }\n\n if (objects.length === 1) {\n return objects[0];\n }\n\n return null;\n }\n window.PIXI.DisplayObject.prototype.getByTag = getByTag;\n\n function removeAllChildren() {\n while (this.children[0]) {\n this.children[0].removeChildren();\n this.removeChild(this.children[0]);\n }\n }\n window.PIXI.DisplayObject.prototype.removeAllChildren = removeAllChildren;\n\n function removeSelf() {\n if (this.parent) {\n this.parent.removeChild(this);\n }\n }\n window.PIXI.DisplayObject.prototype.removeSelf = removeSelf;\n\n function sizeToFit(width, scaleUp) {\n if (scaleUp === null || scaleUp === undefined) {\n scaleUp = true;\n }\n\n var w = this.width;\n var h = this.height;\n\n while (this.width > width) {\n this.style.fontSize--;\n }\n\n var ratio = this.width / w;\n var change = h - this.height * ratio;\n\n this.style.lineHeight -= change;\n }\n window.PIXI.Text.prototype.sizeToFit = sizeToFit;\n\n function sizeToFitHeight(height, scaleUp) {\n if (scaleUp === null || scaleUp === undefined) {\n scaleUp = true;\n }\n\n var w = this.width;\n var h = this.height;\n\n while (this.height > height) {\n this.style.fontSize--;\n }\n\n var ratio = this.height / h;\n\n console.log(ratio);\n var change = this.style.lineHeight * ratio;\n\n this.style.lineHeight = change;\n\n console.log(this.style.lineHeight);\n }\n window.PIXI.Text.prototype.sizeToFitHeight = sizeToFitHeight;\n}\n\nexports.extend = extend;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _buttons = __webpack_require__(9);\n\nvar _buttons2 = _interopRequireDefault(_buttons);\n\nvar _counter = __webpack_require__(10);\n\nvar _counter2 = _interopRequireDefault(_counter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n// import AutoplayView from './bar/autoplay-bar';\n\n\n/**\n * Bottom bar visualization of the data that model contains.\n */\nvar BottomBarView = function (_PIXI$Container) {\n _inherits(BottomBarView, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} gameModel The game model\n * @param {CurrencyManager} currencyManager The currency manager\n */\n function BottomBarView(gameModel, options, currencyManager) {\n _classCallCheck(this, BottomBarView);\n\n var _this = _possibleConstructorReturn(this, (BottomBarView.__proto__ || Object.getPrototypeOf(BottomBarView)).call(this));\n\n _this.w = 360;\n _this.h = 45;\n _this.bgAlpha = options.bgAlpha;\n _this.winAmount = 0;\n _this.lastWin = 0;\n _this.textYOffset = 18;\n _this.textGap = 10;\n _this.showTickets = false;\n _this.infoGroupWidth = 80;\n _this.interactive = true;\n _this.counterTween = null;\n\n if (options.infoGroupWidth) {\n _this.infoGroupWidth = options.infoGroupWidth;\n }\n\n if (options.bgAlpha === undefined) {\n console.error('missing options.bgAlpha');\n }\n\n _this.gameModel = gameModel;\n\n var ticketsLabel = options.ticketsLeftText;\n var betlabel = options.betText;\n var balanceLabel = options.balanceText;\n var lastWinLabel = options.lastWinText;\n var AutoplayLabel = options.autoplayText;\n\n // debugger\n\n var letterSpacing = _this.determineLetterSpacing(2, 10, [ticketsLabel, betlabel, balanceLabel, lastWinLabel]);\n\n _this.labelStyle = {\n fontFamily: _this.gameModel.font,\n fontSize: 9,\n fontWeight: 400,\n fill: '#FFFFFF',\n wordWrap: false,\n lineHeight: 15,\n padding: 2,\n letterSpacing: letterSpacing\n };\n\n _this.valueStyle = {\n fontFamily: _this.gameModel.font,\n fontSize: 12,\n fontWeight: 400,\n fill: _this.gameModel.primaryColor,\n wordWrap: false,\n lineHeight: 15,\n padding: 2\n };\n\n _this.currencyManager = currencyManager;\n\n _this._setDimension(_this.gameModel.gameWidth, _this.gameModel.gameHeight);\n\n _this.showTickets = _this.gameModel.isBasketMode();\n _this.showHomeButton = _this.gameModel.showHomeButton;\n _this.showHelpButton = _this.gameModel.showHelpButton;\n _this.showAutoplay = _this.gameModel.showAutoplay;\n\n _this.addBg();\n _this.addInfoContainer();\n\n var buttonOpts = {\n mute: gameModel.getMute(),\n primaryColor: gameModel.primaryColor,\n showHelpButton: gameModel.showHelpButton,\n showHomeButton: gameModel.showHomeButton,\n helpButtonHandler: options.onHelpClick,\n homeButtonHandler: options.onHomeClick,\n muteButtonHandler: options.onMuteClick,\n settingsButtonHandler: options.onSettingsClick,\n isBasketMode: _this.gameModel.isBasketMode(),\n fullscreenEnabled: options.fullscreenEnabled,\n fullscreenButtonHandler: options.onFullscreenClick\n };\n\n _this.buttonContainer = new _buttons2.default(buttonOpts);\n _this.addChild(_this.buttonContainer);\n\n var ticketX = 0;\n\n if (_this.showAutoplay) {\n _this.addAutplayInfo(AutoplayLabel, ticketX, options.onSettingsClick);\n ticketX += _this.infoGroupWidth;\n }\n\n // prebought tickets\n if (_this.showTickets) {\n window.SUGA.Event.on('tickets', function (amount) {\n return _this.updateTicketCount(amount);\n });\n _this.addTickets(ticketsLabel, ticketX, _this.gameModel.getRoundsLeft());\n ticketX += _this.infoGroupWidth;\n }\n\n // buy from wallet\n else if (!_this.gameModel.dontShowStake) {\n var amount = _this.gameModel.getStake();\n\n try {\n amount = _this.currencyManager.localize(amount, true, true);\n } catch (e) {\n amount = '';\n }\n\n _this.addTickets(betlabel, ticketX, amount, options.onSettingsClick);\n ticketX += _this.infoGroupWidth;\n }\n\n if (options.showLastWin) {\n // lastWin\n _this.addLastWin(lastWinLabel, ticketX);\n ticketX += _this.infoGroupWidth;\n }\n\n // balance\n if (!_this.gameModel.dontShowBalance) {\n _this.addBalance(balanceLabel, _this.gameModel.getBalance(), ticketX);\n window.SUGA.Event.on('balance', function (amount) {\n return _this.updateBalance(amount);\n });\n ticketX += _this.infoGroupWidth;\n }\n\n _this.infoContainerXOffset = ticketX;\n return _this;\n }\n\n /**\n * Sets the dimension.\n *\n * @param {Number} viewportWidth The viewport width\n * @param {Number} viewportHeight The viewport height\n */\n\n\n _createClass(BottomBarView, [{\n key: '_setDimension',\n value: function _setDimension(viewportWidth, viewportHeight) {\n this.w = viewportWidth;\n var y = viewportHeight - this.h;\n\n this.position.y = y;\n }\n\n /**\n * Adds a background.\n */\n\n }, {\n key: 'addBg',\n value: function addBg() {\n this.bg = new PIXI.Graphics();\n this.bg.beginFill(0x000000);\n this.bg.drawRect(0, 0, this.w, this.h);\n this.bg.endFill();\n this.bg.alpha = this.bgAlpha;\n this.addChildAt(this.bg, 0);\n }\n\n /**\n * Adds an information container.\n */\n\n }, {\n key: 'addInfoContainer',\n value: function addInfoContainer() {\n this.infoContainer = new PIXI.Container();\n this.addChild(this.infoContainer);\n this.infoContainer.x = this.width - this.infoGroupWidth * 2;\n }\n\n /**\n * Adds tickets.\n *\n * @param {String} label The label\n * @param {Number} x The x position\n * @param {(PIXI|string)} amount The amount\n */\n\n }, {\n key: 'addTickets',\n value: function addTickets(label, x, amount, handler) {\n if (amount === null || amount === undefined) {\n amount = '';\n }\n\n var y = this.textYOffset;\n\n var container = new PIXI.Container();\n\n container.x = x;\n this.infoContainer.addChild(container);\n\n var bg = new PIXI.Graphics();\n\n bg.beginFill(0xFFCC66);\n bg.drawRect(0, 0, this.infoGroupWidth, this.h);\n bg.endFill();\n bg.alpha = 0;\n container.addChild(bg);\n\n if (!this.ticketLabel) {\n this.ticketLabel = new PIXI.Text(label, this.labelStyle);\n }\n\n container.addChild(this.ticketLabel);\n this.ticketLabel.centerX();\n this.ticketLabel.y = 11;\n\n y = y + this.textGap;\n\n this.ticketValue = new PIXI.Text('' + amount, this.valueStyle);\n container.addChild(this.ticketValue);\n this.ticketValue.centerX();\n this.ticketValue.y = 21;\n\n if (!this.gameModel.isBasketMode() && this.settingsButtonHandler) {\n container.interactive = true;\n container.buttonMode = true;\n container.pointerup = function () {\n return handler();\n };\n }\n }\n\n /**\n * Updates the ticket count\n *\n * @param {Number} amount The amount\n */\n\n }, {\n key: 'updateTicketCount',\n value: function updateTicketCount(amount) {\n if (!this.gameModel.isBasketMode()) return;\n this.ticketValue.text = '' + amount;\n }\n }, {\n key: 'updateStake',\n value: function updateStake(stake) {\n if (this.gameModel.isBasketMode()) return;\n var amount = this.currencyManager.localize(stake, true, true);\n\n this.ticketValue.text = '' + amount;\n this.ticketValue.centerX();\n }\n\n /**\n * Adds a balance.\n *\n * @param {Number} amount The amount\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addBalance',\n value: function addBalance(label, amount, x) {\n var _this2 = this;\n\n var y = this.textYOffset;\n\n var container = new PIXI.Container();\n\n container.x = x;\n this.infoContainer.addChild(container);\n\n var bg = new PIXI.Graphics();\n\n bg.beginFill(0xFFCC66);\n bg.drawRect(0, 0, this.infoGroupWidth, this.h);\n bg.endFill();\n bg.alpha = 0;\n container.addChild(bg);\n\n if (!this.balanceLabel) {\n this.balanceLabel = new PIXI.Text(label, this.labelStyle);\n }\n container.addChild(this.balanceLabel);\n this.balanceLabel.centerX();\n this.balanceLabel.y = 11;\n\n y = y + this.textGap;\n\n var formatter = function formatter(amount) {\n if (amount === null || amount === undefined || amount < 0) {\n return '';\n }\n\n return _this2.currencyManager.localize(amount, true, true);\n };\n\n var currencyMultiplier = this.gameModel.getCurrencyMultiplier();\n\n this.balanceValue = new _counter2.default('', this.valueStyle, formatter, currencyMultiplier, 1000);\n container.addChild(this.balanceValue);\n this.balanceValue.centerX();\n this.balanceValue.y = 21;\n\n this.setBalance(amount);\n }\n\n /**\n * Finish balance animation instantly\n */\n\n }, {\n key: 'instantFinishBalance',\n value: function instantFinishBalance() {\n return this.balanceValue.instantFinish();\n }\n\n /**\n * { function_description }\n *\n * @param {Number} newBalance The new balance\n * @param {Function} cb { parameter_description }\n */\n\n }, {\n key: 'updateBalance',\n value: function updateBalance(newBalance, cb) {\n if (!this.balanceValue) return;\n\n var newCount = {\n animate: newBalance.animate,\n count: newBalance.balance\n };\n\n return this.balanceValue.updateCount(newCount, cb);\n }\n\n /**\n * Sets the balance.\n *\n * @param {(number|string)} amount The amount\n * @return {boolean} { description_of_the_return_value }\n */\n\n }, {\n key: 'setBalance',\n value: function setBalance(amount) {\n if (!this.balanceValue) return;\n\n return this.balanceValue.setCount(amount);\n }\n\n /**\n * Center's the balance label\n */\n\n }, {\n key: 'centerBalance',\n value: function centerBalance() {\n if (!this.balanceValue) return;\n\n return this.balanceValue.centerX();\n }\n\n /**\n * Adds a balance.\n *\n * @param {Number} amount The amount\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addLastWin',\n value: function addLastWin(label, x) {\n var _this3 = this;\n\n var y = this.textYOffset;\n\n var container = new PIXI.Container();\n\n container.x = x;\n this.infoContainer.addChild(container);\n\n var bg = new PIXI.Graphics();\n\n bg.beginFill(0xCCFF66);\n bg.drawRect(0, 0, this.infoGroupWidth, this.h);\n bg.endFill();\n bg.alpha = 0;\n container.addChild(bg);\n\n if (!this.lastWinLabel) {\n this.lastWinLabel = new PIXI.Text(label, this.labelStyle);\n }\n container.addChild(this.lastWinLabel);\n this.lastWinLabel.centerX();\n this.lastWinLabel.y = 11;\n\n y = y + this.textGap;\n\n var formatter = function formatter(amount) {\n if (amount === null || amount === undefined || amount < 0) {\n return '';\n }\n\n return _this3.currencyManager.localize(amount, true, true);\n };\n\n var currencyMultiplier = this.gameModel.getCurrencyMultiplier();\n\n this.lastWinValue = new _counter2.default('-', this.valueStyle, formatter, currencyMultiplier, 1000, '-');\n container.addChild(this.lastWinValue);\n this.lastWinValue.centerX();\n this.lastWinValue.y = 21;\n }\n }, {\n key: 'updateLastWin',\n value: function updateLastWin(amount, cb) {\n if (amount <= 0) return;\n\n this.lastWin += amount;\n\n var newCount = {\n animate: true,\n count: this.lastWin\n };\n\n return this.lastWinValue.updateCount(newCount, cb);\n }\n }, {\n key: 'setLastWin',\n value: function setLastWin(amount) {\n return this.lastWinValue.setCount(amount);\n }\n }, {\n key: 'resetLastWin',\n value: function resetLastWin() {\n this.lastWinValue.instantFinish();\n this.lastWin = 0;\n this.setLastWin(0);\n }\n\n /**\n * Adds autoplayLabel.\n *\n * @param {String} label The label\n * @param {Number} x The x position\n * @param {(PIXI|string)} amount The amount\n */\n\n }, {\n key: 'addAutplayInfo',\n value: function addAutplayInfo(label, x, handler) {\n var y = this.textYOffset;\n\n var container = new PIXI.Container();\n\n container.x = x;\n this.infoContainer.addChild(container);\n\n var bg = new PIXI.Graphics();\n\n bg.beginFill(0xFFCC66);\n bg.drawRect(0, 0, this.infoGroupWidth, this.h);\n bg.endFill();\n bg.alpha = 0;\n container.addChild(bg);\n\n var pill = new PIXI.Graphics();\n // pill.lineStyle(1, 0x222222)\n\n pill.beginFill(0xFFFFFF);\n pill.drawRoundedRect(5, 5, this.infoGroupWidth - 10, 34, 18);\n pill.endFill();\n pill.tint = 0x111111;\n container.addChild(pill);\n\n pill.interactive = true;\n pill.buttonMode = true;\n pill.pointerover = function () {\n return pill.tint = 0x222222;\n };\n pill.pointerout = function () {\n return pill.tint = 0x111111;\n };\n\n if (!this.autoplayLabel) {\n this.autoplayLabel = new PIXI.Text(label, this.labelStyle);\n }\n\n container.addChild(this.autoplayLabel);\n this.autoplayLabel.centerX();\n this.autoplayLabel.y = 11;\n\n y = y + this.textGap;\n\n this.autoplayValue = new PIXI.Text('OFF', this.valueStyle);\n container.addChild(this.autoplayValue);\n this.autoplayValue.centerX(this.infoGroupWidth);\n this.autoplayValue.y = 21;\n\n console.log('add', this.autoplayValue.parent.width);\n\n container.interactive = true;\n container.buttonMode = true;\n container.pointerup = function () {\n return handler();\n };\n }\n }, {\n key: 'updateAutoplay',\n value: function updateAutoplay(round, rounds) {\n if (!this.autoplayValue) return;\n\n if (rounds <= 0) {\n this.autoplayValue.text = 'OFF';\n } else {\n this.autoplayValue.text = round + '/' + rounds;\n }\n\n this.autoplayValue.centerX(this.infoGroupWidth);\n }\n\n /**\n * Display the sound on button\n */\n\n }, {\n key: 'displaySoundOnButton',\n value: function displaySoundOnButton() {\n this.buttonContainer.displaySoundOnButton();\n }\n\n /**\n * Display the Sound off button\n */\n\n }, {\n key: 'displaySoundOffButton',\n value: function displaySoundOffButton() {\n this.buttonContainer.displaySoundOffButton();\n }\n\n /**\n * On resize\n *\n * @param {Number} rendererW The renderer w\n * @param {Number} rendererH The renderer h\n */\n\n }, {\n key: 'resize',\n value: function resize(rendererW, rendererH) {\n this._setDimension(rendererW, rendererH);\n this.removeChild(this.bg);\n this.bg = null;\n this.addBg();\n\n this.infoContainer.x = rendererW - this.infoContainerXOffset;\n this.infoContainer.bringToFront();\n\n // this.autoplayBar.resize(rendererW);\n }\n }, {\n key: 'determineLetterSpacing',\n value: function determineLetterSpacing(defaultSpacing, maxLength, array) {\n var tmp = 0;\n\n array.forEach(function (label) {\n if (label.length > tmp) {\n tmp = label.length;\n }\n });\n\n if (tmp <= maxLength) {\n return defaultSpacing;\n }\n\n return defaultSpacing * (maxLength / tmp);\n }\n }]);\n\n return BottomBarView;\n}(PIXI.Container);\n\nexports.default = BottomBarView;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Help visualization of the data that model contains.\n */\nvar HelpView = function (_PIXI$Container) {\n _inherits(HelpView, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} size The canvas size data\n * @param {Object} options The options {helpUrl: , font:}\n */\n function HelpView(size, options) {\n _classCallCheck(this, HelpView);\n\n var _this = _possibleConstructorReturn(this, (HelpView.__proto__ || Object.getPrototypeOf(HelpView)).call(this));\n\n _this.name = 'HelpView';\n _this.visible = false;\n _this.isHTML = true;\n _this.balanceBarHeight = options.balanceBarHeight;\n _this.canClick = false;\n _this.isShowing = false;\n\n _this.backButtonHandler = options.onBackClick;\n\n _this.style = {\n fontFamily: options.font,\n fontSize: 22,\n fill: '#FFFFFF',\n align: 'center',\n lineHeight: 32\n };\n\n _this.addIframe(size, options.helpUrl);\n\n _this._size = size;\n return _this;\n }\n\n _createClass(HelpView, [{\n key: 'setBalanceBarHeight',\n value: function setBalanceBarHeight(h) {\n this.balanceBarHeight = h;\n this.resize(this._size);\n }\n\n /**\n * Animates the windows position when showing and hiding\n *\n * @param {Nuber} progress The progress\n */\n\n }, {\n key: 'showingProgress',\n value: function showingProgress(progress) {\n progress = Math.round(progress);\n\n this.container.style.left = progress + 'px';\n }\n\n /**\n * Adds an iframe.\n *\n * @param {Object} size The canvas size data\n * @param {String} helpUrl The help url\n */\n\n }, {\n key: 'addIframe',\n value: function addIframe(size, helpUrl) {\n var _this2 = this;\n\n var vp = window.SUGA.Device.getViewport();\n var w = vp.w;\n\n\n this.iframe = document.createElement('iframe');\n this.iframe.src = helpUrl;\n // this.iframe.style.width = `${w}px`;\n\n this.container = document.getElementById('help-container');\n this.container.style.left = vp.w + 'px';\n this.container.style.bottom = Math.floor(this.balanceBarHeight * size.scale) + 'px';\n this.container.style.display = 'none';\n this.container.style.width = w + 'px';\n this.container.appendChild(this.iframe);\n\n // listen for the iframes button click\n var receiveMessage = function receiveMessage(event) {\n if (event.data === 'close-help') {\n _this2.buttonClick();\n }\n };\n\n window.addEventListener('message', receiveMessage, false);\n }\n\n /**\n * On button click\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'buttonClick',\n value: function buttonClick(e) {\n if (!this.canClick) {\n return;\n }\n\n this.backButtonHandler();\n if (e) {\n e.stopPropagation();\n }\n }\n\n /**\n * Called on resize\n *\n * @param {Object} size The size data\n */\n\n }, {\n key: 'resize',\n value: function resize(size) {\n if (!this.iframe) {\n return;\n }\n\n var w = size.viewportWidth;\n\n this.prevWidth = w;\n\n // this.iframe.style.width = `${w}px`;\n this.container.style.width = w + 'px';\n\n this.container.style.bottom = Math.floor(this.balanceBarHeight * size.scale) + 'px';\n\n this._size = size;\n }\n\n /**\n * Called before showing view\n */\n\n }, {\n key: 'willShow',\n value: function willShow() {\n this.container.style.display = 'block';\n }\n\n /**\n * Called after showing view\n */\n\n }, {\n key: 'didShow',\n value: function didShow() {\n this.canClick = true;\n this.isShowing = true;\n }\n\n /**\n * Called before hiding view\n */\n\n }, {\n key: 'willHide',\n value: function willHide() {\n this.canClick = false;\n this.isShowing = false;\n }\n\n /**\n * Called after hiding view\n */\n\n }, {\n key: 'didHide',\n value: function didHide() {\n this.container.style.display = 'none';\n }\n }]);\n\n return HelpView;\n}(PIXI.Container);\n\nexports.default = HelpView;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _button = __webpack_require__(0);\n\nvar _button2 = _interopRequireDefault(_button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Notification visualization of the data that model contains.\n */\nvar NotificationView = function (_PIXI$Container) {\n _inherits(NotificationView, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} size The size\n * @param {Object} options The options\n */\n function NotificationView(size, options) {\n _classCallCheck(this, NotificationView);\n\n var _this = _possibleConstructorReturn(this, (NotificationView.__proto__ || Object.getPrototypeOf(NotificationView)).call(this));\n\n _this.overlayAlpha = 0.9;\n _this.buttons = [];\n\n if (options.padding !== undefined) {\n _this.padding = options.padding;\n }\n\n _this.style = {\n fontSize: 28,\n fontWeight: 100,\n fill: '#FFFFFF',\n align: 'center',\n lineHeight: 32,\n wordWrap: true,\n wordWrapWidth: 380\n };\n\n _this.msgStyle = {\n fontSize: 13,\n fontWeight: 100,\n align: 'center',\n fill: '#FFFFFF',\n lineHeight: 17,\n wordWrap: true,\n wordWrapWidth: 380\n };\n\n _this.buttonTextStyle = {\n fontSize: 13,\n fontWeight: 100,\n align: 'center',\n fill: '#FFFFFF',\n lineHeight: 17,\n wordWrap: true,\n wordWrapWidth: 280\n };\n\n _this.style.fontFamily = options.font;\n _this.msgStyle.fontFamily = options.font;\n _this.buttonTextStyle.fontFamily = options.font;\n\n _this.font = options.font;\n _this.primaryColor = options.primaryColor;\n _this.defaultWidth = size.defaultWidth;\n\n _this.showCashierButton = options.showCashierButton;\n _this.showHistoryButton = options.showHistoryButton;\n _this.showHomeButton = options.showHomeButton;\n _this.showBuyMoreButton = options.showBuyMoreButton;\n\n _this.buttonImages = options.buttonImages;\n\n _this.addBg(size);\n\n _this.inner = new PIXI.Container();\n _this.addChild(_this.inner);\n\n return _this;\n }\n\n /**\n * Adds a background.\n *\n * @param {Object} size The size\n */\n\n\n _createClass(NotificationView, [{\n key: 'addBg',\n value: function addBg(size) {\n this.overlay = new PIXI.Graphics();\n this.overlay.beginFill(0x000000);\n this.overlay.drawRect(0, 0, size.width, size.height);\n this.overlay.endFill();\n this.overlay.alpha = 0;\n\n this.addChildAt(this.overlay, 0);\n }\n\n /**\n * Setups the view\n *\n * @param {String} title The title\n * @param {String} message The message\n * @param {Array} actions The actions\n * @param {Object} size The size\n * @param {Function} cb { parameter_description }\n */\n\n }, {\n key: 'setup',\n value: function setup(title, message, actions, size, cb) {\n this.inner.removeAllChildren();\n\n var textHeight = this.addText(title, message, size);\n this.addButtons(actions, textHeight, size);\n\n var y = (size.height - 50 - this.inner.height) / 2;\n this.inner.position.set(size.stage.x, y);\n\n this.showOverlay(function () {\n cb();\n });\n }\n\n /**\n * Hides view\n *\n * @param {Function} cb Completion Handler\n */\n\n }, {\n key: 'hide',\n value: function hide(cb) {\n var _this2 = this;\n\n // next tick\n setTimeout(function () {\n if (_this2.text) {\n _this2.text.visible = false;\n }\n\n _this2.inner.removeAllChildren();\n\n _this2.hideOverlay(function () {\n if (cb) {\n cb();\n }\n\n if (_this2.onHide) {\n _this2.onHide();\n }\n });\n }, 1);\n }\n\n /**\n * Adds text.\n *\n * @param {String} title The title\n * @param {String} msg The message\n * @param {Object} size The size\n */\n\n }, {\n key: 'addText',\n value: function addText(title, msg, size) {\n var gap = 10;\n title = window.__t.str(title);\n msg = window.__t.str(msg);\n\n var titleText = new PIXI.Text(title, this.style);\n this.inner.addChild(titleText);\n titleText.sizeToFitHeight(80, false);\n titleText.centerX(size.defaultWidth);\n\n var messageText = new PIXI.Text(msg, this.msgStyle);\n this.inner.addChild(messageText);\n messageText.y = titleText.height + gap;\n messageText.sizeToFitHeight(80, false);\n messageText.centerX(size.defaultWidth);\n\n return titleText.height + messageText.height + gap;\n }\n\n /**\n * Adds buttons\n *\n * @param {Array} unreversedActions The unreversed actions\n * @param {Object} size The size\n * @return {Array} buttons\n */\n\n }, {\n key: 'addButtons',\n value: function addButtons(unreversedActions, y, size) {\n\n var actions = unreversedActions.slice();\n\n actions = actions.reverse();\n\n var height = 0;\n var j = 0;\n\n for (var i = 0; i < actions.length; i += 1) {\n var action = actions[i];\n\n if (!this.canPerformAction(action.action)) {\n continue;\n }\n\n var offset = y + j * 50;\n\n j += 1;\n\n if (this.addButton(action, offset, i, actions.length, size)) {\n height += offset;\n }\n }\n\n return height;\n }\n\n /**\n * Adds a button.\n *\n * @param {String|Function} options The action\n * @param {Number} place The place\n * @param {Number} i Index of incrment\n * @param {Number} total The total\n * @return {Boolean} Whether the button was placed\n */\n\n }, {\n key: 'addButton',\n value: function addButton(options, y, i, total, size) {\n options.tapped = function () {\n window.SUGA.Event.trigger(options.action, options);\n };\n\n options.remainActive = true;\n\n options.normalUrl = this.buttonImages.normalUrl;\n options.hoverUrl = this.buttonImages.hoverUrl;\n options.font = this.font;\n options.textStyle = this.buttonTextStyle;\n options.tint = i === total - 1 ? this.primaryColor : 0xaaaaaa;\n\n var button = new _button2.default(options);\n\n button.y = y;\n button.centerX();\n button.centerX(size.defaultWidth);\n this.inner.addChild(button);\n\n return true;\n }\n\n /**\n * Shows the overlay.\n *\n * @param {Function} cb Completion handler\n */\n\n }, {\n key: 'showOverlay',\n value: function showOverlay(cb) {\n var to = {\n alpha: this.overlayAlpha,\n onComplete: cb\n };\n\n window.TweenMax.to(this.overlay, 300 / 1000, to);\n }\n\n /**\n * Hides the overlay.\n *\n * @param {Function} cb Completion handler\n */\n\n }, {\n key: 'hideOverlay',\n value: function hideOverlay(cb) {\n if (!this.overlay) {\n if (cb) {\n cb();\n }\n\n return;\n }\n\n var to = {\n alpha: 0,\n onComplete: function onComplete() {\n if (cb) {\n cb();\n }\n }\n };\n\n window.TweenMax.to(this.overlay, 300 / 1000, to);\n }\n\n /**\n * On resize\n *\n * @param {Object} size The size\n */\n\n }, {\n key: 'resize',\n value: function resize(size) {\n this.removeChild(this.overlay);\n\n this.addBg(size);\n\n if (this.parent) {\n this.overlay.alpha = this.overlayAlpha;\n } else {\n this.overlay.alpha = 0;\n }\n }\n\n /**\n * Determines ability to perform action.\n *\n * @param {String} action The action\n * @return {Boolean} True if able to perform action, False otherwise.\n */\n\n }, {\n key: 'canPerformAction',\n value: function canPerformAction(action) {\n switch (action) {\n case 'cashier':\n if (!this.showCashierButton) {\n return false;\n }\n break;\n case 'history':\n if (!this.showHistoryButton) {\n return false;\n }\n break;\n case 'home':\n if (!this.showHomeButton) {\n return false;\n }\n break;\n case 'buy-more':\n if (!this.showBuyMoreButton) {\n return false;\n }\n break;\n }\n\n return true;\n }\n }]);\n\n return NotificationView;\n}(PIXI.Container);\n\nexports.default = NotificationView;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nfunction lastItem(array) {\n var length = array === null ? 0 : array.length;\n\n return length ? array[length - 1] : undefined;\n}\n\nexports.lastItem = lastItem;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.NotificationView = exports.HelpView = exports.BottomBarView = exports.Button = exports.Pixi = exports.Canvas = undefined;\n\nvar _canvas = __webpack_require__(1);\n\nvar _canvas2 = _interopRequireDefault(_canvas);\n\nvar _pixiExtend = __webpack_require__(2);\n\nvar Pixi = _interopRequireWildcard(_pixiExtend);\n\nvar _button = __webpack_require__(0);\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _bottomBarView = __webpack_require__(3);\n\nvar _bottomBarView2 = _interopRequireDefault(_bottomBarView);\n\nvar _helpView = __webpack_require__(4);\n\nvar _helpView2 = _interopRequireDefault(_helpView);\n\nvar _notificationView = __webpack_require__(5);\n\nvar _notificationView2 = _interopRequireDefault(_notificationView);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Canvas = _canvas2.default;\nexports.Pixi = Pixi;\nexports.Button = _button2.default;\nexports.BottomBarView = _bottomBarView2.default;\nexports.HelpView = _helpView2.default;\nexports.NotificationView = _notificationView2.default;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Class for base menu button.\n */\nvar Button = function (_PIXI$Container) {\n _inherits(Button, _PIXI$Container);\n\n /**\n * Constructs the object.\n *\n * @param {Object} options The options\n */\n function Button(options) {\n _classCallCheck(this, Button);\n\n var _this = _possibleConstructorReturn(this, (Button.__proto__ || Object.getPrototypeOf(Button)).call(this));\n\n _this.options = options;\n\n _this.tag = 'button';\n\n _this.isEnabled = true;\n _this.interactive = true;\n _this.buttonMode = true;\n\n _this.action = null;\n _this.remainActive = true;\n\n _this.enable();\n _this.removeChildren();\n\n _this.normalBg = new PIXI.Sprite(options.buttonImage);\n\n _this.bg = new PIXI.Graphics();\n _this.bg.beginFill(options.tint, 0.1);\n _this.bg.drawRect(0, 0, _this.normalBg.width, _this.normalBg.height);\n _this.bg.endFill();\n _this.bg.visible = false;\n\n _this.addChild(_this.bg);\n _this.addChild(_this.normalBg);\n\n if (typeof options.toggleState === 'boolean') {\n if (options.toggleState) {\n _this.setOn();\n } else {\n _this.setOff();\n }\n }\n return _this;\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n\n _createClass(Button, [{\n key: 'pointerdown',\n value: function pointerdown(e) {\n if (!this.isEnabled) {\n return;\n }\n\n e.stopPropagation();\n\n this.normalBg.tint = this.options.tint;\n }\n\n /**\n * Pixi Pointer event\n */\n\n }, {\n key: 'pointerover',\n value: function pointerover() {\n if (!this.isEnabled) {\n return;\n }\n\n if (this.hovered) {\n this.hovered();\n }\n\n this.normalBg.tint = this.options.tint;\n this.bg.visible = true;\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerup',\n value: function pointerup(e) {\n if (!this.isEnabled) {\n return;\n }\n\n this.reset();\n\n this._tapped(e);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointertap',\n value: function pointertap(e) {\n if (!this.isEnabled) {\n return;\n }\n e.stopPropagation();\n this.reset();\n\n this._tapped(e);\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerout',\n value: function pointerout() {\n this.reset();\n }\n\n /**\n * Pixi Pointer event\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: 'pointerupoutside',\n value: function pointerupoutside() {\n this.reset();\n }\n\n /**\n * Reset\n */\n\n }, {\n key: 'reset',\n value: function reset() {\n if (this.normalBg) {\n this.normalBg.tint = 0xFFFFFF;\n this.bg.visible = false;\n }\n }\n\n /**\n * Enable\n */\n\n }, {\n key: 'enable',\n value: function enable() {\n this.reset();\n this.interactive = true;\n this.buttonMode = true;\n this.alpha = 1;\n\n this.isEnabled = true;\n }\n\n /**\n * Disable\n */\n\n }, {\n key: 'disable',\n value: function disable() {\n this.reset();\n this.interactive = false;\n this.buttonMode = false;\n this.alpha = 0.5;\n\n this.isEnabled = false;\n }\n\n /**\n * @private\n * Button pressed action\n *\n * @param {UIEvent} e The event\n */\n\n }, {\n key: '_tapped',\n value: function _tapped(e) {\n if (this.tapped) {\n this.tapped(e);\n } else {\n throw new Error('Button has no Action');\n }\n\n if (!this.remainActive) {\n this.disable();\n }\n }\n\n /**\n * Turn Button on\n */\n\n }, {\n key: 'setOn',\n value: function setOn() {\n this.state = true;\n\n this.normalBg.texture = this.options.buttonImage;\n }\n\n /**\n * Turn button off\n */\n\n }, {\n key: 'setOff',\n value: function setOff() {\n this.state = false;\n\n this.normalBg.texture = this.options.buttonOffImage;\n }\n\n /**\n * Toggle state\n *\n * @return {Boolean} True if on false if off\n */\n\n }, {\n key: 'toggleState',\n value: function toggleState() {\n if (this.state) {\n this.setOff();\n } else {\n this.setOn();\n }\n\n return this.state;\n }\n }]);\n\n return Button;\n}(PIXI.Container);\n\nexports.default = Button;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _button = __webpack_require__(8);\n\nvar _button2 = _interopRequireDefault(_button);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ButtonContainer = function (_PIXI$Container) {\n _inherits(ButtonContainer, _PIXI$Container);\n\n function ButtonContainer(options) {\n _classCallCheck(this, ButtonContainer);\n\n var _this = _possibleConstructorReturn(this, (ButtonContainer.__proto__ || Object.getPrototypeOf(ButtonContainer)).call(this));\n\n Object.assign(_this, options);\n\n _this.buttonYOffset = 0;\n\n var color = options.primaryColor;\n var mute = options.mute;\n\n var x = 0;\n\n if (_this.showHomeButton) {\n _this.addHomeButton(x, color);\n _this.addLine(x);\n x += 45;\n }\n\n _this.addSoundButton(x, color, mute);\n _this.addLine(x);\n x += 45;\n\n if (_this.showHelpButton) {\n _this.addHelpButton(x, color);\n _this.addLine(x);\n x += 45;\n }\n\n if (options.fullscreenEnabled) {\n _this.addFullscreenButton(x, color, false);\n _this.addLine(x);\n x += 45;\n }\n return _this;\n }\n\n /**\n * Adds a line.\n *\n * @param {Number} x The x position\n */\n\n\n _createClass(ButtonContainer, [{\n key: 'addLine',\n value: function addLine(x) {\n x = x + 45;\n var graphics = new PIXI.Graphics();\n\n graphics.lineStyle(1, 0x000000);\n graphics.moveTo(x, 0);\n graphics.lineTo(x, 45);\n graphics.endFill();\n // graphics.alpha = 0.1;\n graphics.cachedAsBitmap = true;\n this.addChild(graphics);\n }\n\n /**\n * Adds a home button.\n *\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addHomeButton',\n value: function addHomeButton(x, color) {\n var _this2 = this;\n\n var img = window.SUGA.Loader.makeTexturesFromName('btn-home-normal')[0];\n\n var options = {\n tint: color,\n buttonImage: img\n };\n\n this.homeButton = new _button2.default(options);\n this.homeButton.tapped = function (e) {\n return _this2.homeButtonClick(e);\n };\n this.homeButton.position.set(x, this.buttonYOffset);\n this.addChild(this.homeButton);\n }\n\n /**\n * Home button clicked\n *\n * @param {UIEvent} e event\n */\n\n }, {\n key: 'homeButtonClick',\n value: function homeButtonClick(e) {\n window.SUGA.Sound.play('click');\n this.homeButtonHandler(e);\n e.stopPropagation();\n }\n\n /**\n * Adds a help button.\n *\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addHelpButton',\n value: function addHelpButton(x, color) {\n var _this3 = this;\n\n var options = {\n tint: color,\n buttonImage: window.SUGA.Loader.makeTexturesFromName('btn-help-normal')[0]\n };\n\n this.helpButton = new _button2.default(options);\n this.helpButton.tapped = function (e) {\n return _this3.helpButtonClick(e);\n };\n this.helpButton.position.set(x, this.buttonYOffset);\n\n this.addChild(this.helpButton);\n }\n\n /**\n * Help button clicked\n *\n * @param {UIEvent} e event\n */\n\n }, {\n key: 'helpButtonClick',\n value: function helpButtonClick(e) {\n window.SUGA.Sound.play('click');\n this.helpButtonHandler(e);\n e.stopPropagation();\n }\n\n /**\n * Adds a sound button.\n *\n * @param {Number} x The x position\n */\n\n }, {\n key: 'addSoundButton',\n value: function addSoundButton(x, color, mute) {\n var _this4 = this;\n\n var options = {\n tint: color,\n toggleBtn: true,\n toggleState: !mute,\n buttonImage: window.SUGA.Loader.makeTexturesFromName('btn-soundon-normal')[0],\n buttonOffImage: window.SUGA.Loader.makeTexturesFromName('btn-soundoff-normal')[0]\n };\n\n this.soundButton = new _button2.default(options);\n this.soundButton.position.set(x, this.buttonYOffset);\n this.addChild(this.soundButton);\n\n // Hack to always hide sound\n\n this.soundButton.tapped = function (e) {\n _this4.toggleSoundClick(e);\n };\n }\n\n /**\n * Toggle sound button\n *\n * @param {UIEvent} e event\n */\n\n }, {\n key: 'toggleSoundClick',\n value: function toggleSoundClick(e) {\n e.stopPropagation();\n\n window.SUGA.Sound.play('click');\n\n this.soundButton.toggleState();\n\n this.muteButtonHandler(e);\n }\n\n /**\n * Display the sound on button\n */\n\n }, {\n key: 'displaySoundOnButton',\n value: function displaySoundOnButton() {\n this.soundButton.setOn();\n }\n\n /**\n * Display the Sound off button\n */\n\n }, {\n key: 'displaySoundOffButton',\n value: function displaySoundOffButton() {\n this.soundButton.setOff();\n }\n }, {\n key: 'addFullscreenButton',\n value: function addFullscreenButton(x, color, fullscreen) {\n var _this5 = this;\n\n var options = {\n tint: color,\n toggleBtn: true,\n toggleState: fullscreen,\n buttonImage: window.SUGA.Loader.makeTexturesFromName('btn-fullscreen-active')[0],\n buttonOffImage: window.SUGA.Loader.makeTexturesFromName('btn-fullscreen-normal')[0]\n };\n\n this.fullscreenBtn = new _button2.default(options);\n this.fullscreenBtn.tapped = function (e) {\n return _this5.fullscreenClick(e);\n };\n this.fullscreenBtn.position.set(x, this.buttonYOffset);\n\n this.addChild(this.fullscreenBtn);\n }\n }, {\n key: 'fullscreenClick',\n value: function fullscreenClick(e) {\n e.stopPropagation();\n\n window.SUGA.Sound.play('click');\n\n this.fullscreenBtn.toggleState();\n\n this.fullscreenButtonHandler(e);\n }\n }]);\n\n return ButtonContainer;\n}(PIXI.Container);\n\nexports.default = ButtonContainer;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Bottom bar visualization of the data that model contains.\n */\nvar Counter = function (_PIXI$Text) {\n _inherits(Counter, _PIXI$Text);\n\n /**\n * Constructs the object.\n *\n * @param {Object} gameModel The game model\n * @param {CurrencyManager} currencyManager The currency manager\n */\n function Counter(initCount, style, formatter, currencyMulitplier, maxPrize, zeroSymbol) {\n _classCallCheck(this, Counter);\n\n var _this = _possibleConstructorReturn(this, (Counter.__proto__ || Object.getPrototypeOf(Counter)).call(this, initCount, style));\n\n _this.counterTween = null;\n _this.formatter = formatter;\n _this.currencyMulitplier = currencyMulitplier;\n _this.maxPrize = maxPrize;\n _this.zeroSymbol = zeroSymbol;\n return _this;\n }\n\n /**\n * Finish count animation instantly\n */\n\n\n _createClass(Counter, [{\n key: 'instantFinish',\n value: function instantFinish() {\n // end current counter\n if (this.counterTween) {\n this.counterTween.totalProgress(1).kill();\n }\n }\n\n /**\n * { function_description }\n *\n * @param {Number} newCount The new count\n * @param {Function} cb { parameter_description }\n */\n\n }, {\n key: 'updateCount',\n value: function updateCount(newCount, cb) {\n var _this2 = this;\n\n this.instantFinish();\n\n var animate = true;\n\n if ((typeof newCount === 'undefined' ? 'undefined' : _typeof(newCount)) === 'object') {\n var _newCount = newCount;\n animate = _newCount.animate;\n\n newCount = newCount.count;\n }\n\n // if this is a debit or we are getting initial count\n if (this.currentCount >= newCount || this.currentCount < 0 || !animate) {\n this.setCount(newCount);\n this.centerCount();\n\n return;\n }\n\n if (!this.currentCount) {\n this.currentCount = 0;\n }\n\n var diff = newCount - this.currentCount;\n\n diff = Math.ceil(diff / this.currencyMulitplier);\n var maxPrize = this.maxPrize / this.currencyMulitplier;\n\n // max & min seconds\n var min = 2;\n var max = 15 - min;\n var scale = max / Math.log10(maxPrize);\n var timeLength = Math.log(diff) * Math.LOG10E * scale + min;\n var frames = timeLength * 60;\n var steps = Math.floor(frames / 2);\n\n var obj = {\n count: this.currentCount\n };\n\n var to = {\n ease: window.SteppedEase.config(steps),\n count: newCount,\n onUpdate: function onUpdate() {\n _this2.setCount(obj.count);\n },\n // play sound here\n\n onComplete: function onComplete() {\n _this2.setCount(obj.count);\n _this2.counterTween = null;\n // soundManager.play 'coin-done'\n if (cb) {\n cb();\n }\n }\n };\n\n this.counterTween = window.TweenMax.to(obj, timeLength, to);\n }\n\n /**\n * Sets the count.\n *\n * @param {(number|string)} amount The amount\n * @return {boolean} { description_of_the_return_value }\n */\n\n }, {\n key: 'setCount',\n value: function setCount(amount) {\n if (this.currentCount === amount) {\n return false;\n }\n\n this.currentCount = amount;\n\n var display = amount <= 0 ? 0 : amount;\n\n if (amount === 0 && this.zeroSymbol) {\n display = this.zeroSymbol;\n } else {\n display = this.formatter(amount);\n }\n\n this.text = display;\n this.centerCount();\n\n return true;\n }\n\n /**\n * Center's the count label\n */\n\n }, {\n key: 'centerCount',\n value: function centerCount() {\n this.centerX();\n }\n }]);\n\n return Counter;\n}(PIXI.Text);\n\nexports.default = Counter;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// stats.js - http://github.com/mrdoob/stats.js\n(function(f,e){ true?module.exports=e():\"function\"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;dg+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/\n1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement(\"canvas\");q.width=r;q.height=h;q.style.cssText=\"width:80px;height:48px\";var b=q.getContext(\"2d\");b.font=\"bold \"+9*a+\"px Helvetica,Arial,sans-serif\";b.textBaseline=\"top\";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v);\nb.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+\" \"+e+\" (\"+g(c)+\"-\"+g(k)+\")\",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f});\n\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=vue.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/brendon/Dev/www/vue/lib/vue.js\n// module id = 0\n// module chunks = d-game","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"suga\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"suga\"] = factory();\n\telse\n\t\troot[\"suga\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 20);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar implementation = __webpack_require__(30);\n\nmodule.exports = Function.prototype.bind || implementation;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Device = function () {\n function Device() {\n _classCallCheck(this, Device);\n }\n\n _createClass(Device, null, [{\n key: 'isInIframe',\n\n /**\n * @return {boolean} Are we in a iFrame\n */\n value: function isInIframe() {\n return self !== top;\n }\n\n /**\n * @return {boolean|string} Which IE browser are we\n */\n\n }, {\n key: 'whichIE',\n value: function whichIE() {\n var myNav = navigator.userAgent.toLowerCase();\n\n if (myNav.indexOf('msie') !== -1) {\n return parseInt(myNav.split('msie')[1], 10);\n }\n\n return false;\n }\n\n /**\n * @return {boolean} is this a webkit browser\n */\n\n }, {\n key: 'isWebkit',\n value: function isWebkit() {\n return (/WebKit/.test(navigator.userAgent)\n );\n }\n\n /**\n * @return {boolean} is this iOS\n */\n\n }, {\n key: 'isIOS',\n value: function isIOS() {\n return (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream\n );\n }\n\n /**\n * @return {boolean} is this a touch device\n */\n\n }, {\n key: 'isTouchscreen',\n value: function isTouchscreen() {\n return 'ontouchstart' in window || navigator.MaxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n }\n\n /**\n * @return {boolean} is the device orientation landscape\n */\n\n }, {\n key: 'isLandscape',\n value: function isLandscape() {\n var v = Device.getViewport();\n\n var w = v.w;\n var h = v.h;\n\n var isLandscape = false;\n\n if (w > h) {\n isLandscape = true;\n }\n\n return isLandscape;\n }\n\n /**\n * @return {number} pixel density 1|2 no higher\n */\n\n }, {\n key: 'getDpi',\n value: function getDpi() {\n var dpi = Math.floor(window.devicePixelRatio);\n\n if (dpi > 2) {\n return 2;\n }\n\n return dpi;\n }\n\n /**\n * Gets the resource postfix.\n *\n * @param {number} dpi The dpi\n * @return {string} The resource postfix.\n */\n\n }, {\n key: 'getResPostfix',\n value: function getResPostfix(dpi) {\n if (!dpi) {\n dpi = Device.getDpi();\n }\n\n if (dpi === 1) {\n return '';\n }\n var postfix = '@' + dpi + 'x';\n\n return postfix;\n }\n\n /**\n * @return {object} the viewport vp.w (width) & vp.h (height)\n */\n\n }, {\n key: 'getViewport',\n value: function getViewport() {\n var vp = {\n w: Math.floor(document.documentElement.clientWidth, window.innerWidth || 0),\n h: Math.floor(document.documentElement.clientHeight, window.innerHeight || 0)\n };\n\n return vp;\n }\n\n /**\n * @param {number} throttleMs - How many ms to throttle\n * @param {function} callback - Event handler\n */\n\n }, {\n key: 'resize',\n value: function resize(throttleMs, callback) {\n window.addEventListener('resize', function () {\n var vp = Device.getViewport();\n\n callback(vp);\n });\n }\n\n /**\n * @param {function} callback - Event handler\n * @return {object} reference to the listener\n */\n\n }, {\n key: 'pageVisibility',\n value: function pageVisibility(callback) {\n var hidden = void 0;\n var visibilityChange = void 0;\n\n var handleVisibilityChange = function handleVisibilityChange() {\n if (document[hidden]) {\n callback(false);\n\n return;\n }\n\n callback(true);\n };\n\n if (typeof document.hidden !== 'undefined') {\n // Opera 12.10 and Firefox 18 and later support\n hidden = 'hidden';\n visibilityChange = 'visibilitychange';\n } else if (typeof document.mozHidden !== 'undefined') {\n hidden = 'mozHidden';\n visibilityChange = 'mozvisibilitychange';\n } else if (typeof document.msHidden !== 'undefined') {\n hidden = 'msHidden';\n visibilityChange = 'msvisibilitychange';\n } else if (typeof document.webkitHidden !== 'undefined') {\n hidden = 'webkitHidden';\n visibilityChange = 'webkitvisibilitychange';\n }\n\n // Handle page visibility change\n return document.addEventListener(visibilityChange, handleVisibilityChange, false);\n }\n\n /**\n * Toggle Fulscreen\n *\n * @param {DOMElement} element The element\n * @return {Boolean} is fullscreen\n */\n\n }, {\n key: 'toggleFullscreen',\n value: function toggleFullscreen(element) {\n if (Device.fullscreenElement()) {\n return Device.exitFullscreen();\n }\n\n return Device.enterFullscreen(element);\n }\n\n /**\n * Enter Dullscreen\n *\n * @param {DOMElement} element The element\n * @return {Boolean} Whether we successfully made it into fulscreen\n */\n\n }, {\n key: 'enterFullscreen',\n value: function enterFullscreen(element) {\n var isFullscreen = false;\n\n if (element.requestFullscreen) {\n isFullscreen = true;\n element.requestFullscreen();\n } else if (element.mozRequestFullScreen) {\n isFullscreen = true;\n element.mozRequestFullScreen();\n } else if (element.webkitRequestFullscreen) {\n isFullscreen = true;\n element.webkitRequestFullscreen();\n } else if (element.msRequestFullscreen) {\n isFullscreen = true;\n element.msRequestFullscreen();\n }\n\n return isFullscreen;\n }\n\n /**\n * Leave Fullscreen\n *\n * @return {Boolean} nolonger in Fullscreen\n */\n\n }, {\n key: 'exitFullscreen',\n value: function exitFullscreen() {\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n } else if (document.msExitFullscreen) {\n document.msExitFullscreen();\n }\n\n return false;\n }\n\n /**\n * Are we currently in Fullscreen\n *\n * @return {Boolean} Are we currently in Fullscreen\n */\n\n }, {\n key: 'fullscreenElement',\n value: function fullscreenElement() {\n return document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement;\n }\n\n /**\n * Is fullscreen possible on this device\n *\n * @return {Boolean} Is fullscreen possible on this device\n */\n\n }, {\n key: 'fullscreenEnabled',\n value: function fullscreenEnabled() {\n return document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled;\n }\n\n /**\n * Adds a clock.\n *\n * @param {DOMElement} element The element\n */\n\n }, {\n key: 'addClock',\n value: function addClock(element) {\n var clock = document.createElement('div');\n\n clock.id = 'clock';\n clock.innerHTML = Device.timeNow();\n\n clock.style.position = 'absolute';\n clock.style.top = '10px';\n clock.style.right = '10px';\n clock.style.zIndex = 99999;\n clock.style.color = '#FFFFFF';\n clock.style.backgroundColor = '#000000';\n clock.style.padding = '5px';\n clock.style.borderRadius = '2px';\n\n element.appendChild(clock);\n\n Device.updateClock();\n }\n\n /**\n * Removes the clock.\n */\n\n }, {\n key: 'removeClock',\n value: function removeClock() {\n window.setTimeout(Device.prototype.clockTimer);\n\n var clock = document.getElementById('clock');\n\n if (!clock) return;\n clock.parentNode.removeChild(clock);\n }\n\n /**\n * Update the time\n */\n\n }, {\n key: 'updateClock',\n value: function updateClock() {\n Device.prototype.clockTimer = window.setTimeout(function () {\n var clock = document.getElementById('clock');\n\n if (!clock) return;\n clock.innerHTML = Device.timeNow();\n Device.updateClock();\n }, 60 * 1000);\n }\n\n /**\n * Get time right now as 13:10\n *\n * @return {string} The time\n */\n\n }, {\n key: 'timeNow',\n value: function timeNow() {\n var d = new Date();\n var h = (d.getHours() < 10 ? '0' : '') + d.getHours();\n var m = (d.getMinutes() < 10 ? '0' : '') + d.getMinutes();\n\n return h + ':' + m;\n }\n\n /**\n * Listen for fullscreen changes\n */\n\n }, {\n key: 'listenForFullscreenChanges',\n value: function listenForFullscreenChanges() {\n function handler() {\n if (Device.fullscreenElement()) {\n Device.addClock(Device.fullscreenElement());\n } else {\n Device.removeClock();\n }\n }\n\n if (document.addEventListener) {\n document.addEventListener('webkitfullscreenchange', handler, false);\n document.addEventListener('mozfullscreenchange', handler, false);\n document.addEventListener('fullscreenchange', handler, false);\n document.addEventListener('MSFullscreenChange', handler, false);\n }\n }\n }]);\n\n return Device;\n}();\n\nexports.default = Device;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Network = function () {\n function Network() {\n _classCallCheck(this, Network);\n }\n\n _createClass(Network, null, [{\n key: 'getJSON',\n\n /**\n * @param {string} url - Url of json file\n * @param {string} version - To version the urls\n * @param {Function} callback - Completion handler\n */\n value: function getJSON(url, version, callback) {\n url = url + '?v=' + version;\n\n var request = new XMLHttpRequest();\n\n // request.timeout = 120000;\n\n request.open('GET', url, true);\n\n request.onload = function () {\n return Network.handler(request, callback);\n };\n\n request.onerror = function (err) {\n return callback(err, null, request.status);\n };\n\n request.ontimeout = function () {\n return callback('timeout', null, request.status);\n };\n\n request.send();\n }\n\n /**\n * Handler function\n *\n * @param {XMLHttpRequest} request The request\n * @param {Function} callback The callback\n */\n\n }, {\n key: 'handler',\n value: function handler(request, callback) {\n var data = void 0;\n\n try {\n data = JSON.parse(request.responseText);\n } catch (err) {\n callback(err, null, request.status);\n\n return;\n }\n\n callback(null, data, request.status);\n }\n }]);\n\n return Network;\n}();\n\nexports.default = Network;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar keys = __webpack_require__(35);\nvar foreach = __webpack_require__(29);\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';\n\nvar toStr = Object.prototype.toString;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\tObject.defineProperty(obj, 'x', { enumerable: false, value: obj });\n /* eslint-disable no-unused-vars, no-restricted-syntax */\n for (var _ in obj) { return false; }\n /* eslint-enable no-unused-vars, no-restricted-syntax */\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\tObject.defineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = props.concat(Object.getOwnPropertySymbols(map));\n\t}\n\tforeach(props, function (name) {\n\t\tdefineProperty(object, name, map[name], predicates[name]);\n\t});\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar fnToStr = Function.prototype.toString;\n\nvar constructorRegex = /^\\s*class /;\nvar isES6ClassFn = function isES6ClassFn(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\tvar singleStripped = fnStr.replace(/\\/\\/.*\\n/g, '');\n\t\tvar multiStripped = singleStripped.replace(/\\/\\*[.\\s\\S]*\\*\\//g, '');\n\t\tvar spaceStripped = multiStripped.replace(/\\n/mg, ' ').replace(/ {2}/g, ' ');\n\t\treturn constructorRegex.test(spaceStripped);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionObject(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isCallable(value) {\n\tif (!value) { return false; }\n\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\tif (hasToStringTag) { return tryFunctionObject(value); }\n\tif (isES6ClassFn(value)) { return false; }\n\tvar strClass = toStr.call(value);\n\treturn strClass === fnClass || strClass === genClass;\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(0);\nvar ES = __webpack_require__(21);\nvar replace = bind.call(Function.call, String.prototype.replace);\n\nvar leftWhitespace = /^[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+/;\nvar rightWhitespace = /[\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF]+$/;\n\nmodule.exports = function trim() {\n\tvar S = ES.ToString(ES.CheckObjectCoercible(this));\n\treturn replace(replace(S, leftWhitespace, ''), rightWhitespace, '');\n};\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar implementation = __webpack_require__(6);\n\nvar zeroWidthSpace = '\\u200b';\n\nmodule.exports = function getPolyfill() {\n\tif (String.prototype.trim && zeroWidthSpace.trim() === zeroWidthSpace) {\n\t\treturn String.prototype.trim;\n\t}\n\treturn implementation;\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Currency & number formatting helper\n *\n * @example\n *\n * const currency = new SUGA.Currency(SUGA.Data)\n * const options = currency.setup(\"de-DE\",\"EUR\")\n * const formattedStr = currency.localize(1234.56,true,true)\n * // formattedStr is \"1.234,56.00\"\n */\nvar Currency = function () {\n /**\n * @typedef {Object} Options\n * @property {string} format - The format, e.g. `%s%v` is €10\n * @property {string} decimal - The decimal delimiter\n * @property {string} thousand - The thousand delimiter\n * @property {string} symbol - The currency symbol\n */\n\n /**\n * @param {object} data - currency data\n * @param {object} data.defaults - the most common currency formatting\n * @param {object} data.locales - the locale fallback\n * @param {object} data.currencies - the alternative formatting\n * @returns {SUGA.Currency} for chaining\n */\n function Currency(data) {\n _classCallCheck(this, Currency);\n\n this.defaults = data.defaults;\n this.locales = data.locales;\n this.currencies = data.currencies;\n\n return this;\n }\n\n /**\n * @param {string} locale - localeCode e.g. de-AT\n * @param {string} currency - currencyCode e.g. EUR\n * @returns {Options} the determined options\n */\n\n\n _createClass(Currency, [{\n key: 'setup',\n value: function setup(locale, currency) {\n if (!currency || currency === '') {\n throw new Error('No currency code provided');\n }\n\n if (!locale || locale === '') {\n throw new Error('No locale code provided');\n }\n\n var cc = currency.toUpperCase();\n var lc = locale;\n\n // if de-DE or hu-HU make de or hu\n var parts = lc.toLowerCase().split('-');\n\n if (parts[1] && parts[0] === parts[1]) {\n lc = parts[0];\n }\n\n var format = void 0;\n var decimal = void 0;\n var thousand = void 0;\n var symbol = void 0;\n\n // get the symbol\n symbol = this._lookFor(this.currencies.s, cc);\n\n // attempt to get formatting data for locale\n format = this._lookFor(this.locales.f, lc);\n decimal = this._lookFor(this.locales.d, lc);\n thousand = this._lookFor(this.locales.t, lc);\n\n // fallback to defaults if we have no data\n if (!format) {\n format = this.defaults.format;\n }\n if (!decimal) {\n decimal = this.defaults.decimal;\n }\n if (!thousand) {\n thousand = this.defaults.thousand;\n }\n\n // if no symbol use currency code\n if (!symbol) {\n symbol = cc;\n // if no format aswell use a different format\n format = this.defaults.noSymbolFormat;\n }\n\n thousand = this.nbspToSpace(thousand);\n decimal = this.nbspToSpace(decimal);\n\n this.options = {\n format: format,\n decimal: decimal,\n thousand: thousand,\n symbol: symbol\n };\n\n return this.options;\n }\n\n /**\n * Method that seaches throw data looking for matches\n *\n * @private\n * @param {array} data - data to search through\n * @param {string} query - item we are looking for\n * @return {object} What we found\n */\n\n }, {\n key: '_lookFor',\n value: function _lookFor(data, query) {\n for (var key in data) {\n var val = data[key];\n\n for (var i = 0, len = val.length; i < len; i++) {\n if (val[i] === query) {\n return key;\n }\n }\n }\n\n return null;\n }\n\n /**\n * Determines if not numeric.\n *\n * @param {Any} n { parameter_description }\n * @return {Boolean} True if not numeric, False otherwise.\n */\n\n }, {\n key: 'isNotNumeric',\n value: function isNotNumeric(n) {\n return !(!isNaN(parseFloat(n)) && isFinite(n));\n }\n\n /**\n * @return {string} The current currency symbol\n */\n\n }, {\n key: 'getCurrencySymbol',\n value: function getCurrencySymbol() {\n return this.options.symbol;\n }\n\n /**\n * @param {number} amount - amount to format\n * @param {boolean} [showSymbol] - Should include symbol in formatting\n * @param {boolean} [show00] - should show `00` e.g. €13.00 = €13 but €12.10 = €12.10\n * @return {string} The localized representation of the given amount\n */\n\n }, {\n key: 'localize',\n value: function localize(amount, showSymbol, show00) {\n if (amount === '') {\n return '';\n }\n\n amount = parseFloat(amount);\n\n if (this.isNotNumeric(amount)) {\n console.error('Amount is not valid: ', amount); // eslint-disable-line\n\n return '';\n }\n\n if (show00 === undefined) {\n show00 = true;\n }\n\n amount = this.roundToDecimal(amount);\n var precision = this.getPrecision(amount, show00);\n var value = this.formatNumber(amount, precision, this.options);\n\n if (showSymbol === undefined) {\n showSymbol = true;\n }\n\n if (!showSymbol) {\n return value;\n }\n\n var result = this.options.format;\n\n result = result.replace('%s', this.options.symbol);\n result = result.replace('%v', value);\n\n return result;\n }\n\n /**\n * @param {number} amount - amount to format\n * @param {number} precision - number of decimal places\n * @param {object} options - formatter options\n * @return {string} The localized representation of the given amount with no symbol\n */\n\n }, {\n key: 'formatNumber',\n value: function formatNumber(amount, precision, options) {\n var usePrecision = precision;\n var negative = amount < 0 ? '-' : '';\n var base = String(parseInt(Math.abs(amount || 0).toFixed(usePrecision), 10));\n var mod = base.length > 3 ? base.length % 3 : 0;\n\n return negative + (mod ? base.substr(0, mod) + options.thousand : '') + base.substr(mod).replace(/(\\d{3})(?=\\d)/g, '$1' + options.thousand) + (usePrecision ? options.decimal + Math.abs(amount).toFixed(usePrecision).split('.')[1] : '');\n }\n\n /**\n * @private\n * @param {number} amount - amount to format\n * @param {boolean} show00 - should show `00` e.g. €13.00 = €13 but €12.10 = €12.10\n * @return {string} The localized representation of the given amount with no symbol\n */\n\n }, {\n key: 'getPrecision',\n value: function getPrecision(amount, show00) {\n if (show00) {\n return 2;\n }\n\n if (amount % 1 !== 0) {\n return 2;\n }\n\n return 0;\n }\n\n /**\n * @private\n * @param {number} amount - amount to format\n * @return {number} Converts 10.967 = 10.97\n */\n\n }, {\n key: 'roundToDecimal',\n value: function roundToDecimal(amount) {\n return Math.round(amount * 100) / 100;\n }\n\n /**\n * @private\n * @param {number} char - character to test\n * @return {number} Returns a whitespace char in place of a nbsp\n */\n\n }, {\n key: 'nbspToSpace',\n value: function nbspToSpace(char) {\n if (char.charCodeAt(0) === 160) {\n char = String.fromCharCode(32);\n }\n\n return char;\n }\n }]);\n\n return Currency;\n}();\n\nexports.default = Currency;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar data = {\n defaults: {\n format: '%s%v',\n decimal: '.',\n thousand: ',',\n noSymbolFormat: '%s %v'\n },\n locales: {\n f: {\n '%s %v': ['ar', 'ar-AE', 'ar-BH', 'ar-DJ', 'ar-DZ', 'ar-EG', 'ar-EH', 'ar-ER', 'ar-IL', 'ar-IQ', 'ar-JO', 'ar-KM', 'ar-KW', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-MR', 'ar-OM', 'ar-PS', 'ar-QA', 'ar-SA', 'ar-SD', 'ar-SO', 'ar-SS', 'ar-SY', 'ar-TD', 'ar-TN', 'ar-YE', 'az', 'az-Latn', 'de-AT', 'de-CH', 'de-LI', 'en-AT', 'en-CH', 'en-IN', 'en-NL', 'en-US-POSIX', 'es-AR', 'es-CO', 'es-PY', 'es-UY', 'fr-CH', 'hy', 'it-CH', 'mk', 'mn', 'ms-BN', 'my', 'nb', 'nb-SJ', 'ne', 'ne-IN', 'nl', 'nl-AW', 'nl-BQ', 'nl-CW', 'nl-SR', 'nl-SX', 'pa', 'pa-Guru', 'root', 'ta', 'ta-LK', 'ta-MY', 'ta-SG', 'to', 'ur', 'ur-IN', 'vi'],\n '%v %s': ['be', 'bg', 'bs', 'bs-Latn', 'ca', 'ca-AD', 'ca-ES-VALENCIA', 'ca-FR', 'ca-IT', 'cs', 'da', 'da-GL', 'de', 'de-BE', 'de-LU', 'el', 'el-CY', 'en-150', 'en-BE', 'en-DE', 'en-DK', 'en-FI', 'en-SE', 'en-SI', 'es', 'es-EA', 'es-IC', 'es-PH', 'et', 'eu', 'fi', 'fo', 'fo-DK', 'fr', 'fr-BE', 'fr-BF', 'fr-BI', 'fr-BJ', 'fr-BL', 'fr-CA', 'fr-CD', 'fr-CF', 'fr-CG', 'fr-CI', 'fr-CM', 'fr-DJ', 'fr-DZ', 'fr-GA', 'fr-GF', 'fr-GN', 'fr-GP', 'fr-GQ', 'fr-HT', 'fr-KM', 'fr-LU', 'fr-MA', 'fr-MC', 'fr-MF', 'fr-MG', 'fr-ML', 'fr-MQ', 'fr-MR', 'fr-MU', 'fr-NC', 'fr-NE', 'fr-PF', 'fr-PM', 'fr-RE', 'fr-RW', 'fr-SC', 'fr-SN', 'fr-SY', 'fr-TD', 'fr-TG', 'fr-TN', 'fr-VU', 'fr-WF', 'fr-YT', 'he', 'hr', 'hr-BA', 'hu', 'is', 'it', 'it-SM', 'ka', 'kk', 'ky', 'lt', 'lv', 'nl-BE', 'pl', 'pt-AO', 'pt-CV', 'pt-GW', 'pt-MO', 'pt-MZ', 'pt-PT', 'pt-ST', 'pt-TL', 'ro', 'ro-MD', 'ru', 'ru-BY', 'ru-KG', 'ru-KZ', 'ru-MD', 'ru-UA', 'sk', 'sl', 'sq', 'sq-MK', 'sq-XK', 'sr', 'sr-Cyrl', 'sr-Cyrl-BA', 'sr-Cyrl-ME', 'sr-Cyrl-XK', 'sr-Latn', 'sr-Latn-BA', 'sr-Latn-ME', 'sr-Latn-XK', 'sv', 'sv-SE', 'sv-AX', 'sv-FI', 'tr', 'tr-CY', 'uk', 'uz', 'uz-Latn'],\n '%v%s': ['bn', 'bn-IN']\n },\n d: {\n ',': ['af', 'af-NA', 'ar-DZ', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-MR', 'ar-TN', 'az', 'az-Latn', 'be', 'bg', 'bs', 'bs-Latn', 'ca', 'ca-AD', 'ca-ES-VALENCIA', 'ca-FR', 'ca-IT', 'cs', 'da', 'da-GL', 'de', 'de-AT', 'de-BE', 'de-LU', 'el', 'el-CY', 'en-150', 'en-AT', 'en-BE', 'en-CH', 'en-DE', 'en-DK', 'en-FI', 'en-NL', 'en-SE', 'en-SI', 'en-ZA', 'es', 'es-AR', 'es-BO', 'es-CL', 'es-CO', 'es-CR', 'es-EA', 'es-EC', 'es-GQ', 'es-IC', 'es-PH', 'es-PY', 'es-UY', 'es-VE', 'et', 'eu', 'fi', 'fo', 'fo-DK', 'fr', 'fr-BE', 'fr-BF', 'fr-BI', 'fr-BJ', 'fr-BL', 'fr-CA', 'fr-CD', 'fr-CF', 'fr-CG', 'fr-CI', 'fr-CM', 'fr-DJ', 'fr-DZ', 'fr-GA', 'fr-GF', 'fr-GN', 'fr-GP', 'fr-GQ', 'fr-HT', 'fr-KM', 'fr-LU', 'fr-MA', 'fr-MC', 'fr-MF', 'fr-MG', 'fr-ML', 'fr-MQ', 'fr-MR', 'fr-MU', 'fr-NC', 'fr-NE', 'fr-PF', 'fr-PM', 'fr-RE', 'fr-RW', 'fr-SC', 'fr-SN', 'fr-SY', 'fr-TD', 'fr-TG', 'fr-TN', 'fr-VU', 'fr-WF', 'fr-YT', 'gl', 'hr', 'hr-BA', 'hu', 'hy', 'id', 'is', 'it', 'it-SM', 'ka', 'kk', 'km', 'ky', 'lo', 'lt', 'lv', 'mk', 'ms-BN', 'nb', 'nb-SJ', 'nl', 'nl-AW', 'nl-BE', 'nl-BQ', 'nl-CW', 'nl-SR', 'nl-SX', 'pl', 'pt', 'pt-AO', 'pt-CV', 'pt-GW', 'pt-MO', 'pt-MZ', 'pt-PT', 'pt-ST', 'pt-TL', 'ro', 'ro-MD', 'ru', 'ru-BY', 'ru-KG', 'ru-KZ', 'ru-MD', 'ru-UA', 'sk', 'sl', 'sq', 'sq-MK', 'sq-XK', 'sr', 'sr-Cyrl', 'sr-Cyrl-BA', 'sr-Cyrl-ME', 'sr-Cyrl-XK', 'sr-Latn', 'sr-Latn-BA', 'sr-Latn-ME', 'sr-Latn-XK', 'sv', 'sv-SE', 'sv-AX', 'sv-FI', 'sw-CD', 'tr', 'tr-CY', 'uk', 'uz', 'uz-Latn', 'vi']\n },\n t: {\n ' ': ['af', 'af-NA', 'be', 'bg', 'cs', 'de-AT', 'en-FI', 'en-SE', 'en-ZA', 'es-CR', 'et', 'fi', 'fr', 'fr-BF', 'fr-BI', 'fr-BJ', 'fr-BL', 'fr-CA', 'fr-CD', 'fr-CF', 'fr-CG', 'fr-CH', 'fr-CI', 'fr-CM', 'fr-DJ', 'fr-DZ', 'fr-GA', 'fr-GF', 'fr-GN', 'fr-GP', 'fr-GQ', 'fr-HT', 'fr-KM', 'fr-MC', 'fr-MF', 'fr-MG', 'fr-ML', 'fr-MQ', 'fr-MR', 'fr-MU', 'fr-NC', 'fr-NE', 'fr-PF', 'fr-PM', 'fr-RE', 'fr-RW', 'fr-SC', 'fr-SN', 'fr-SY', 'fr-TD', 'fr-TG', 'fr-TN', 'fr-VU', 'fr-WF', 'fr-YT', 'hu', 'ka', 'kk', 'ky', 'lt', 'lv', 'nb', 'nb-SJ', 'pl', 'pt-AO', 'pt-CV', 'pt-GW', 'pt-MO', 'pt-MZ', 'pt-PT', 'pt-ST', 'pt-TL', 'ru', 'ru-BY', 'ru-KG', 'ru-KZ', 'ru-MD', 'ru-UA', 'sk', 'sq', 'sq-MK', 'sq-XK', 'sv', 'sv-SE', 'sv-AX', 'sv-FI', 'uk', 'uz', 'uz-Latn'],\n '.': ['ar-DZ', 'ar-LB', 'ar-LY', 'ar-MA', 'ar-MR', 'ar-TN', 'az', 'az-Latn', 'bs', 'bs-Latn', 'ca', 'ca-AD', 'ca-ES-VALENCIA', 'ca-FR', 'ca-IT', 'da', 'da-GL', 'de', 'de-BE', 'de-LU', 'el', 'el-CY', 'en-150', 'en-AT', 'en-BE', 'en-CH', 'en-DE', 'en-DK', 'en-NL', 'en-SI', 'es', 'es-AR', 'es-BO', 'es-CL', 'es-CO', 'es-EA', 'es-EC', 'es-GQ', 'es-IC', 'es-PH', 'es-PY', 'es-UY', 'es-VE', 'eu', 'fo', 'fo-DK', 'fr-BE', 'fr-LU', 'fr-MA', 'gl', 'hr', 'hr-BA', 'hy', 'id', 'is', 'it', 'it-SM', 'km', 'lo', 'mk', 'ms-BN', 'nl', 'nl-AW', 'nl-BE', 'nl-BQ', 'nl-CW', 'nl-SR', 'nl-SX', 'pt', 'ro', 'ro-MD', 'sl', 'sr', 'sr-Cyrl', 'sr-Cyrl-BA', 'sr-Cyrl-ME', 'sr-Cyrl-XK', 'sr-Latn', 'sr-Latn-BA', 'sr-Latn-ME', 'sr-Latn-XK', 'sw-CD', 'tr', 'tr-CY', 'vi'],\n '\\'': ['de-CH', 'de-LI', 'it-CH']\n }\n },\n currencies: {\n s: {\n '€': ['EUR'],\n '£': ['GBP'],\n kr: ['DKK', 'SEK', 'NOK'],\n $: ['AUD', 'CAD', 'NZD', 'USD', 'HKD', 'SGD'],\n Դ: ['AMD'],\n R$: ['BRL'],\n Kč: ['CZK'],\n '¥': ['JPY', 'CNY'],\n zł: ['PLN'],\n Ft: ['HUF'],\n '₦': ['NGN'],\n '৳': ['BDT'],\n CHF: ['CHF'],\n Rp: ['IDR'],\n '₩': ['KRW'],\n '₨': ['LKR'],\n RM: ['MYR'],\n C$: ['NIO'],\n '₱': ['PHP'],\n '₽': ['RUB'],\n '฿': ['THB'],\n R: ['ZAR'],\n '₺': ['TRY']\n }\n }\n};\n\nexports.default = data;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Event = function () {\n function Event() {\n _classCallCheck(this, Event);\n }\n\n _createClass(Event, null, [{\n key: 'trigger',\n\n /**\n * @param {string} eventName - Name of event to listen for e.g. 'resize'\n * @param {object} eventData - The data to send along\n * @return {object} Reference to the dispatched event\n */\n value: function trigger(eventName, eventData) {\n if (!eventData) {\n eventData = '';\n }\n\n var event = new CustomEvent(eventName, { detail: eventData });\n\n return document.dispatchEvent(event);\n }\n\n /**\n * @param {string} eventName - Name of event to listen for e.g. 'resize'\n * @param {object} callback - Event handler\n * @param {bool} onlyOnce - Should only fire once\n * @return {object} Reference to the callback function\n */\n\n }, {\n key: 'on',\n value: function on(eventName, callback, onlyOnce) {\n if (onlyOnce === undefined) {\n onlyOnce = false;\n }\n\n var _callback = function _callback(e) {\n if (onlyOnce) {\n Event.off(eventName, _callback);\n }\n\n callback(e.detail, e);\n };\n\n document.addEventListener(eventName, _callback, false);\n\n return _callback;\n }\n\n /**\n * @param {string} eventName - Name of event to listen for e.g. 'resize'\n * @param {object} callback - Event handler\n * @return {object} Reference to the callback function\n */\n\n }, {\n key: 'once',\n value: function once(eventName, callback) {\n return Event.on(eventName, callback, true);\n }\n\n /**\n * @param {string} eventName - Name of event to listen for e.g. 'resize'\n * @param {object} callback - Event handler to remove\n */\n\n }, {\n key: 'off',\n value: function off(eventName, callback) {\n document.removeEventListener(eventName, callback, false);\n }\n }]);\n\n return Event;\n}();\n\nexports.default = Event;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _webfontloader = __webpack_require__(41);\n\nvar _webfontloader2 = _interopRequireDefault(_webfontloader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Font = function () {\n function Font() {\n _classCallCheck(this, Font);\n }\n\n _createClass(Font, null, [{\n key: 'loadFonts',\n\n /**\n * @param {array} names - List of fonts to load\n * @param {string} url - To css file\n * @param {string} version - To version the urls\n * @param {function} callback - Completion handler\n */\n value: function loadFonts(names, url, version, callback) {\n if (!names || !url || !version) {\n throw new Error('Missing arguements');\n }\n\n url = url + '?v=' + version;\n\n _webfontloader2.default.load({\n // google:\n // families: names\n custom: {\n families: names,\n urls: [url]\n },\n\n active: function active() {\n var styles = Font.getStylesFromNames(names);\n\n if (callback) {\n callback(styles);\n }\n },\n\n inactive: function inactive() {\n if (callback) {\n callback(null);\n }\n }\n });\n }\n\n /**\n * @private\n * @param {array} names - List of fonts to load\n * @param {function} TextConstructor - A constructor to pre-make all fonts\n * e.g. PIXI.Text\n * @return {array} All the constructed text objects\n */\n\n }, {\n key: 'getStylesFromNames',\n value: function getStylesFromNames(names) {\n if (!names) {\n throw new Error('Missing names arguement');\n }\n\n var tmp = [];\n\n for (var i = names.length - 1; i >= 0; i--) {\n var name = names[i];\n var nameParts = name.split(':');\n\n if (nameParts[1]) {\n var weights = nameParts[1].split(',');\n\n for (var _i = weights.length - 1; _i >= 0; _i--) {\n var weight = weights[_i];\n\n var font = {\n fontFamily: nameParts[0],\n fontWeight: weight[1] + '00'\n };\n\n tmp.push(font);\n }\n } else {\n var _font = {\n fontFamily: nameParts[0],\n fontWeight: 400\n };\n\n tmp.push(_font);\n }\n }\n\n return tmp;\n }\n }]);\n\n return Font;\n}();\n\nexports.default = Font;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _util = __webpack_require__(19);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Class for image manager.\n */\nvar Loader = function () {\n function Loader() {\n _classCallCheck(this, Loader);\n }\n\n _createClass(Loader, null, [{\n key: 'loadAsset',\n\n /**\n * Loads an asset.\n *\n * @param {String} url The url\n * @param {Function} callback The callback\n */\n value: function loadAsset(url, callback) {\n Loader.loadAssets([url], callback);\n }\n\n /**\n * Loads assets.\n *\n * @param {String} urls The urls\n * @param {Function} callback The callback\n * @param {Function} progressHandler The progress handler\n */\n\n }, {\n key: 'loadAssets',\n value: function loadAssets(urls, callback, progressHandler) {\n if (!this.prototype.loader) {\n this.prototype.loader = new PIXI.loaders.Loader();\n }\n\n if (!this.prototype.allNamespaces) {\n this.prototype.allNamespaces = [];\n }\n\n urls = (0, _util.uniq)(urls);\n\n var tmp = [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = Array.from(urls)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var url = _step.value;\n\n if (!this.prototype.loader.resources[url]) {\n tmp.push(url);\n\n var extension = url.split('.').pop();\n\n if (extension === 'json') {\n this.prototype.allNamespaces.push(url);\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n if (!tmp.length) {\n callback('All assets already loaded', null);\n\n return;\n }\n\n this.prototype.loader.defaultQueryString = 'v=' + window.__version;\n this.prototype.loader.add(tmp);\n\n this.prototype.loader.onProgress.add(function (loader) {\n if (progressHandler) progressHandler(loader.progress);\n });\n\n this.prototype.loader.on('error', function (err) {\n callback(err, null);\n });\n\n this.prototype.loader.once('complete', function (result) {\n callback(null, result);\n });\n\n this.prototype.loader.load();\n }\n\n /**\n * Makes an array of textures from name.\n *\n * @param {String} name The name\n * @return {Array} Sorted array of textures\n */\n\n }, {\n key: 'makeTexturesFromName',\n value: function makeTexturesFromName(name) {\n var textures = [];\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = Array.from(this.prototype.allNamespaces)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var namespace = _step2.value;\n\n var newTextures = Loader.makeTexturesFromNamespace(namespace, name);\n\n textures = textures.concat(newTextures);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n (0, _util.sortArrayByKey)(textures, ['__name']);\n\n return textures;\n }\n\n /**\n * Makes an array of textures from namespace.\n *\n * @param {String} namespace The namespace\n * @param {String} name The name\n * @return {Array} Sorted array of textures\n */\n\n }, {\n key: 'makeTexturesFromNamespace',\n value: function makeTexturesFromNamespace(namespace, name) {\n var textures = this.prototype.loader.resources[namespace].textures;\n\n var re = new RegExp(name, 'g');\n\n var tmp = [];\n\n for (var key in textures) {\n var value = textures[key];\n\n if (key.match(re)) {\n value.__name = key;\n tmp.push(value);\n }\n }\n\n return tmp;\n }\n\n /**\n * Gets the sprite sheet image names.\n *\n * @return {Array} The sprite sheet image names.\n */\n\n }, {\n key: 'getSpriteSheetImageNames',\n value: function getSpriteSheetImageNames() {\n var tmp = [];\n\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = Array.from(this.prototype.allNamespaces)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var resourceName = _step3.value;\n\n tmp.push(resourceName + '_image');\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n return tmp;\n }\n\n /**\n * Determines if we already have a resource\n *\n * @param {String} key The key\n * @return {Boolean} True if asset exists else False\n */\n\n }, {\n key: 'exists',\n value: function exists(key) {\n return !!this.prototype.loader.resources[key];\n }\n }]);\n\n return Loader;\n}();\n\nexports.default = Loader;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _network = __webpack_require__(2);\n\nvar _network2 = _interopRequireDefault(_network);\n\nvar _nodePolyglot = __webpack_require__(34);\n\nvar _nodePolyglot2 = _interopRequireDefault(_nodePolyglot);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Locale = function () {\n /**\n * Constructs the object.\n *\n * @param {string} defaultLocale - A locale like 'en'\n * @param {string} url - Url to the dir with the lang files\n * @param {string} version The app version\n * @return {SUGA.Locale} For chaining\n */\n function Locale(defaultLocale, url, version) {\n _classCallCheck(this, Locale);\n\n this.url = url;\n this.defaultLocale = defaultLocale;\n this.version = version;\n\n this.polyglot = new _nodePolyglot2.default({\n warn: function warn(m) {\n return console.warn(m);\n }\n });\n\n return this;\n }\n\n /**\n * reset locale files\n */\n\n\n _createClass(Locale, [{\n key: 'clearLocales',\n value: function clearLocales() {\n this.polyglot.clear();\n this.hasDefaultLocale = false;\n }\n\n /**\n * @param {string} localeCode - e.g. en, en-GB\n * @param {function} callback - Completion handler\n */\n\n }, {\n key: 'setLocale',\n value: function setLocale(localeCode, callback) {\n var chain = this.getLoadingChain(localeCode, this.defaultLocale);\n\n this.loadLocaleData(chain, callback);\n }\n\n /**\n * @private\n * @param {string} localeCode - e.g. en, en-GB\n * @param {string} defaultCode - typically 'en'\n * @return {array} locales to load and in order\n */\n\n }, {\n key: 'getLoadingChain',\n value: function getLoadingChain(localeCode, defaultCode) {\n var chain = [defaultCode];\n\n if (localeCode === defaultCode || localeCode.length < 2) {\n return chain;\n }\n\n chain.push(localeCode.substr(0, 2));\n\n if (localeCode.length <= 4 || localeCode[2] !== '-') {\n return chain;\n }\n\n chain.push(localeCode);\n\n return chain;\n }\n\n /**\n * @private\n * @param {array} chain - e.g. en, en-GB\n * @param {function} callback - Completion handler\n */\n\n }, {\n key: 'loadLocaleData',\n value: function loadLocaleData(chain, callback) {\n var _this = this;\n\n var localeCode = chain.shift();\n\n var path = this.url + localeCode + '.json';\n\n // get base\n _network2.default.getJSON(path, this.version, function (err, json) {\n if (err) {\n callback(err);\n }\n\n if (json && !err) {\n _this.polyglot.extend(json);\n _this.polyglot.locale(localeCode);\n }\n\n // is this an extended code\n if (chain.length > 0) {\n _this.loadLocaleData(chain, callback);\n } else {\n callback(null);\n }\n });\n }\n\n /**\n * Transalate string\n *\n * @param {string} string - phrase to localize\n * @param {object} vars - variables to interpolate\n * @return {string} Localized phrase\n */\n\n }, {\n key: 'str',\n value: function str(string, vars) {\n return this.polyglot.t(string, vars);\n }\n }]);\n\n return Locale;\n}();\n\nexports.default = Locale;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Progress = function () {\n function Progress() {\n _classCallCheck(this, Progress);\n }\n\n _createClass(Progress, null, [{\n key: 'init',\n\n\n /**\n * Instanitate and selec dom element\n * @param {string} selector - css selector for getting element\n * @return {SUGA.Progress} for chaining\n */\n value: function init(selector) {\n this.prototype.percent = 0;\n this.prototype.queue = [];\n this.prototype.hasStarted = false;\n this.prototype.isProcessingQueue = false;\n this.prototype.doneDelay = 3000;\n this.prototype.incDelay = 20;\n this.prototype.queueTimer = null;\n this.prototype.trickleTimer = null;\n\n this.prototype.selector = selector;\n this.prototype.container = document.getElementById(selector);\n\n this.prototype.bg = document.createElement('div');\n this.prototype.bg.id = 'progress-bg';\n this.prototype.container.appendChild(this.prototype.bg);\n\n this.prototype.bar = document.createElement('div');\n this.prototype.bar.id = 'progress-bar';\n this.prototype.bg.appendChild(this.prototype.bar);\n\n this.prototype.label = document.createElement('p');\n this.prototype.label.id = 'progress-percent';\n this.prototype.label.innerHTML = this.prototype.percent + '%';\n this.prototype.container.appendChild(this.prototype.label);\n\n return this;\n }\n\n /**\n * Starts progressing\n * @return {SUGA.Progress} for chaining\n */\n\n }, {\n key: 'start',\n value: function start() {\n this.prototype.bar.style.display = 'block';\n this.prototype.hasStarted = true;\n\n return this;\n }\n\n /**\n * Make progress bar end\n * @return {SUGA.Progress} for chaining\n */\n\n }, {\n key: 'done',\n value: function done() {\n clearTimeout(this.prototype.queueTimer);\n clearTimeout(this.prototype.trickleTimer);\n\n this.prototype.queue = [];\n this.prototype.hasStarted = false;\n this.prototype.isProcessingQueue = false;\n this.prototype.percent = 100;\n this.prototype.bar.style.display = 'none';\n this.prototype.bar.style.width = '100%';\n this.prototype.label.innerHTML = '100%';\n\n return this;\n }\n\n /**\n * Set percentage\n * @param {number} percentage - Progress percentage\n * @return {SUGA.Progress} for chaining\n */\n\n }, {\n key: 'set',\n value: function set(percentage) {\n if (!this.prototype.hasStarted) {\n return this;\n }\n\n if (percentage * 100 < this.prototype.percent) {\n return this;\n }\n\n this.prototype.queue.push(percentage);\n\n if (!this.prototype.isProcessingQueue) {\n Progress.processQueue();\n }\n\n return this;\n }\n\n /**\n * Process the queue\n * @private\n */\n\n }, {\n key: 'processQueue',\n value: function processQueue() {\n var _this = this;\n\n if (this.prototype.queue.length === 0) {\n this.prototype.isProcessingQueue = false;\n\n return;\n }\n\n this.prototype.isProcessingQueue = true;\n\n var amount = this.prototype.queue.shift();\n\n if (amount > 1) amount = 1;\n\n this.prototype.percent = amount * 100;\n\n this.prototype.queueTimer = setTimeout(function () {\n if (_this.prototype.percent >= 100) {\n _this.prototype.percent = 100;\n }\n\n _this.prototype.bar.style.width = _this.prototype.percent + '%';\n\n _this.prototype.label.innerHTML = Math.round(_this.prototype.percent) + '%';\n\n if (_this.prototype.queue.length === 0 && _this.prototype.percent === 100 && _this.prototype.onComplete) {\n Progress.onComplete();\n }\n\n Progress.processQueue();\n }, this.prototype.incDelay);\n }\n\n /**\n * Bump the bar a little\n *\n * @param {number} amount The amount to increment\n * @return {SUGA.Progress} for chaining\n */\n\n }, {\n key: 'increment',\n value: function increment() {\n var amount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0.1;\n\n Progress.set(this.prototype.percent + amount);\n\n return this;\n }\n\n /**\n * Fake progress\n *\n * @return {Object} { description_of_the_return_value }\n */\n\n }, {\n key: 'trickle',\n value: function trickle() {\n var delay = Math.random() * 1000 + 50;\n\n Progress.set(this.prototype.percent / 100 + 0.01);\n\n this.prototype.trickleTimer = setTimeout(function () {\n Progress.trickle();\n }, delay);\n\n return this;\n }\n\n /**\n * Destroy this thing\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n Progress.done();\n\n this.prototype.container.innerHTML = '';\n\n delete this.prototype.selector;\n delete this.prototype.container;\n delete this.prototype.bg;\n delete this.prototype.bar;\n delete this.prototype.label;\n }\n }]);\n\n return Progress;\n}();\n\nexports.default = Progress;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Reality = function () {\n function Reality() {\n _classCallCheck(this, Reality);\n }\n\n _createClass(Reality, null, [{\n key: 'init',\n\n /**\n * Initialzes the thing\n *\n * @param {number} interval - Seconds between notifcations\n * @param {function} callback - Reality check trigger handler\n * @param {boolean} debug The debug\n * @return {SUGA.Reality} for chaining\n */\n value: function init(interval, callback) {\n var debug = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n this.prototype.elapsed = 0;\n this.prototype.started = false;\n this.prototype.startTime = null;\n this.prototype.needsToShowRealityCheck = false;\n this.prototype.allowedToShowRealityCheck = false;\n this.prototype.debug = debug;\n\n if (interval) {\n Reality.setInterval(interval);\n }\n\n if (callback) {\n Reality.setHandler(callback);\n }\n\n this.prototype.isInitialized = true;\n\n return this;\n }\n\n /**\n * @param {number} interval - Seconds between notifcations\n */\n\n }, {\n key: 'setInterval',\n value: function setInterval(interval) {\n if (interval) {\n this.prototype.interval = interval;\n }\n }\n\n /**\n * @param {number} [callback] - Reality check trigger handler\n */\n\n }, {\n key: 'setHandler',\n value: function setHandler(callback) {\n if (callback) {\n this.prototype.triggerHandler = callback;\n }\n }\n\n /**\n * @param {number} [interval] - Seconds between notifcations\n * @param {function} [callback] - Function called when reality check triggered\n */\n\n }, {\n key: 'start',\n value: function start(interval, callback) {\n if (!this.prototype.isInitialized) {\n throw new Error('Reality check is not initialized');\n }\n\n if (this.prototype.started) {\n return;\n }\n\n if (interval) {\n Reality.setInterval(interval);\n }\n\n if (callback) {\n Reality.setHandler(callback);\n }\n\n this.prototype.started = true;\n this.prototype.startTime = new Date().getTime();\n this.prototype.lastTime = this.prototype.startTime;\n\n Reality.loopInterval();\n }\n\n /**\n * Every n milliseconds check if time has lapsed\n * @private\n */\n\n }, {\n key: 'loopInterval',\n value: function loopInterval() {\n var _this = this;\n\n window.setInterval(function () {\n if (_this.prototype.debug) {\n console.log(_this.prototype.elapsed / 1000, _this.prototype.interval); // eslint-disable-line\n }\n\n _this.prototype.currentTime = new Date().getTime();\n _this.prototype.elapsed = _this.prototype.currentTime - _this.prototype.lastTime;\n\n if (_this.prototype.elapsed > _this.prototype.interval * 1000) {\n _this.prototype.lastTime = new Date().getTime();\n\n Reality.tryToShowRealityCheck();\n }\n }, 1000); // Check interval every 1 seconds\n }\n\n /**\n * A method lets you tell when to & not to trigger a message\n * @param {boolean} allowedToShowRealityCheck - whether one can trigger a message\n * @return {boolean} Flag whether a check was triggered or not\n */\n\n }, {\n key: 'canShowRealityCheck',\n value: function canShowRealityCheck(allowedToShowRealityCheck) {\n this.prototype.allowedToShowRealityCheck = allowedToShowRealityCheck;\n\n if (this.prototype.allowedToShowRealityCheck && this.prototype.needsToShowRealityCheck) {\n Reality.triggerRealityCheck();\n\n return true;\n }\n\n return false;\n }\n\n /**\n * Try and trigger a reality check, if we are allowed\n */\n\n }, {\n key: 'tryToShowRealityCheck',\n value: function tryToShowRealityCheck() {\n if (!this.prototype.allowedToShowRealityCheck) {\n this.prototype.needsToShowRealityCheck = true;\n\n return;\n }\n\n Reality.triggerRealityCheck();\n }\n\n /**\n * @private\n */\n\n }, {\n key: 'triggerRealityCheck',\n value: function triggerRealityCheck() {\n this.prototype.needsToShowRealityCheck = false;\n\n var now = new Date().getTime();\n var duration = now - this.prototype.startTime;\n var timeObj = Reality.msToTime(duration);\n\n this.prototype.triggerHandler(timeObj);\n }\n\n /**\n * @private\n * @param {number} milli - Milliseconds\n * @return {object} time object with hours and minutes\n */\n\n }, {\n key: 'msToTime',\n value: function msToTime(milli) {\n var hours = parseInt(milli / (1000 * 60 * 60), 10);\n var mins = Math.round(milli / 1000 / 60) % 60;\n\n var res = {\n hours: hours,\n minutes: mins\n };\n\n return res;\n }\n }]);\n\n return Reality;\n}();\n\nexports.default = Reality;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _howlerCoreMin = __webpack_require__(32);\n\nvar _device = __webpack_require__(1);\n\nvar _device2 = _interopRequireDefault(_device);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n_howlerCoreMin.Howler.mobileAutoEnable = false;\n\n/**\n *\n */\n\nvar Sound = function () {\n function Sound() {\n _classCallCheck(this, Sound);\n }\n\n _createClass(Sound, null, [{\n key: 'init',\n\n\n /**\n * @typedef {Object} SoundOpts\n * @property {string} masterVolume - the volume of all tracks\n * @property {string} volumes - the volume of the individual tracks\n * @property {string} mute - Tis playback silent\n * @property {string} audioSpriteObj - json sprite sheet object (see Howler docs)\n * @property {string} mp3 - url to the audio mp3 files\n * @property {string} ogg - url to the audio ogg files\n * @property {DOMElement} element - element to listen for startclick;\n * @property {Boolean} startOnInteraction - whether to start immediately or after user interaction\n * @property {Boolean} autoMute. - mute audio when the window is not in focus\n */\n\n /**\n * Constructs the object.\n *\n * @param {SoundOpts} options The options\n * @param {Function} callback The callback\n */\n value: function init(options, callback) {\n Sound.prototype.masterVolume = options.masterVolume;\n Sound.prototype.volumes = options.volumes;\n Sound.prototype.mute = options.mute;\n Sound.prototype.audioSpriteObj = options.audioSpriteObj;\n Sound.prototype.mp3 = options.mp3;\n Sound.prototype.ogg = options.ogg;\n Sound.prototype.ids = {};\n Sound.prototype.element = options.element;\n Sound.prototype.startOnInteraction = options.startOnInteraction;\n Sound.prototype.autoMute = options.autoMute;\n\n // add some features to Howler\n Sound.extend();\n\n if (options.startOnInteraction) {\n Sound.startAudioOnInteraction(callback);\n } else {\n Sound.startAudio(callback);\n }\n\n if (options.autoMute) {\n Sound.startAutoMute();\n }\n }\n\n /**\n * Create and start the audio\n *\n * @param {Function} callback The callback\n */\n\n }, {\n key: 'startAudio',\n value: function startAudio(callback) {\n _howlerCoreMin.Howler.mute(Sound.prototype.mute);\n\n Sound.prototype.sound = new _howlerCoreMin.Howl({\n src: [Sound.prototype.ogg, Sound.prototype.mp3],\n volume: Sound.prototype.masterVolume,\n sprite: Sound.prototype.audioSpriteObj.sprite,\n\n onloaderror: function onloaderror(id, error) {\n if (callback) callback(error);\n },\n\n onload: function onload() {\n if (callback) callback(null);\n }\n }); // start bg audio\n }\n\n /**\n * Starts audio on user interaction.\n *\n * @param {Function} callback The callback\n */\n\n }, {\n key: 'startAudioOnInteraction',\n value: function startAudioOnInteraction(callback) {\n // Handler function to start Audio on first user interaction\n function startAudio() {\n // remove listener after first touch\n Sound.prototype.element.removeEventListener('touchend', startAudio, false);\n\n // load the audio files\n Sound.startAudio(callback);\n }\n\n // add a touch listener in order to start the audio from user interaction\n Sound.prototype.element.addEventListener('touchend', startAudio, false);\n }\n\n /**\n * Starts the event listener which will pause sound s when page is not visible.\n */\n\n }, {\n key: 'startAutoMute',\n value: function startAutoMute() {\n _device2.default.pageVisibility(function (isVisible) {\n if (isVisible) {\n Sound.resumeAll();\n } else {\n Sound.pauseAll();\n }\n });\n }\n\n /**\n * Sets the mute.\n *\n * @param {Function} newValue The new value\n */\n\n }, {\n key: 'setMute',\n value: function setMute(newValue) {\n Sound.prototype.mute = newValue;\n\n _howlerCoreMin.Howler.mute(newValue);\n }\n\n /**\n * Play a sound by key and volume\n *\n * @param {string} key The key\n * @param {number} vol The volume\n * @param {boolean} onlyIfNotPlaying Only if not already playing\n * @return {string} id of playing sound\n */\n\n }, {\n key: 'play',\n value: function play(key, vol, onlyIfNotPlaying, onComplete) {\n if (!Sound.prototype.sound) {\n return null;\n }\n\n if (onlyIfNotPlaying && Sound.prototype.sound.isPlayingByName(key)) {\n return null;\n }\n\n var id = Sound.prototype.sound.play(key);\n\n if (vol === null || vol === undefined) {\n vol = 1;\n }\n\n if (Sound.prototype.volumes[key] !== undefined) {\n vol *= Sound.prototype.volumes[key];\n }\n\n Sound.prototype.sound.volume(vol, id);\n\n Sound.prototype.ids[key] = id;\n\n // Pause if trying to play a sound while page\n // isnt visible\n if (document.hidden && Sound.prototype.autoMute) {\n Sound.prototype.sound.pause(id);\n }\n\n if (onComplete) {\n Sound.prototype.sound.on('end', onComplete, id);\n }\n\n return id;\n }\n\n /**\n * Pleases an array of sounds in sequence\n *\n * @param {Array} sequence The sequence\n * @param {Function} cb Called on completion\n * @return {Function} the cancel sequence function\n */\n\n }, {\n key: 'playSequence',\n value: function playSequence(sequence, cb) {\n if (Sound.prototype.sound) {\n return Sound.prototype.sound.playSequence(sequence, cb);\n }\n\n return null;\n }\n\n /**\n * Pause all sounds\n */\n\n }, {\n key: 'pauseAll',\n value: function pauseAll() {\n if (Sound.prototype.sound) {\n Sound.prototype.sound.pause();\n }\n }\n\n /**\n * Resum all sounds\n */\n\n }, {\n key: 'resumeAll',\n value: function resumeAll() {\n if (Sound.prototype.sound) {\n Sound.prototype.sound.unpause(Sound.prototype.volumes);\n }\n }\n\n /**\n * Stop sound by key\n *\n * @param {string} key The key/name of sound\n */\n\n }, {\n key: 'stop',\n value: function stop(key) {\n if (Sound.prototype.sound) {\n Sound.prototype.sound.killByName(key);\n }\n }\n\n /**\n * Fade sound\n *\n * @param {string} key The key/name of sound\n * @param {number} to Ending volume\n * @param {number} d Duration\n */\n\n }, {\n key: 'fade',\n value: function fade(key, to, d) {\n if (d === null) {\n d = 2000;\n }\n\n var id = Sound.prototype.ids[key];\n\n if (!Sound.prototype.sound || !id) {\n return;\n }\n\n var from = Sound.prototype.sound.getSoundById(id)._volume;\n\n if (Sound.prototype.volumes[key] !== undefined) {\n to *= Sound.prototype.volumes[key];\n }\n\n Sound.prototype.sound.fade(from, to, d, id);\n }\n\n /**\n * Extend the functionality of Howler\n */\n\n }, {\n key: 'extend',\n value: function extend() {\n function unpause(volumes) {\n var self = this;\n var id = void 0;\n var i = 0;\n\n while (i < self._sounds.length) {\n if (self._sounds[i]._paused && !self._sounds[i]._ended) {\n var track = self._sounds[i];\n\n id = track._id;\n self.play(id, volumes[track._sprite]);\n }\n i++;\n }\n\n return self;\n }\n\n /**\n * Kill track by name\n *\n * @param {String} name The name\n * @return {Object} Self fo chaining\n */\n function killByName(name) {\n var self = this;\n var id = void 0;\n var track = void 0;\n var i = 0;\n\n while (i < self._sounds.length) {\n track = self._sounds[i];\n if (track._sprite && track._sprite === name) {\n id = self._sounds[i]._id;\n self.stop(id);\n }\n i++;\n }\n\n return self;\n }\n\n function isPlayingByName(name) {\n var self = this;\n var track = void 0;\n var i = 0;\n\n while (i < self._sounds.length) {\n track = self._sounds[i];\n if (track._sprite && track._sprite === name && !track._paused && !track._ended) {\n return true;\n }\n i++;\n }\n\n return false;\n }\n\n function getSoundById(id) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this._sounds[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var sound = _step.value;\n\n if (sound._id === id) {\n return sound;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return null;\n }\n\n function playSequence(sequence, handler) {\n var _this = this;\n\n var stop = false;\n var playingId = void 0;\n\n var stopFn = function stopFn() {\n stop = true;\n _this.stop(playingId);\n if (handler) handler();\n };\n\n var recursiveSequence = function recursiveSequence(seq) {\n if (stop) {\n seq = [];\n\n return;\n }\n\n var item = seq.shift();\n\n if (item) {\n var _cb = function _cb(endedId) //eslint-disable-line\n {\n if (id === endedId) {\n this.off('end', _cb);\n recursiveSequence(seq);\n }\n };\n\n var id = _this.play(item);\n\n playingId = id;\n\n _this.on('end', _cb);\n } else if (handler) handler();\n };\n\n recursiveSequence(sequence);\n\n return stopFn;\n }\n\n _howlerCoreMin.Howl.prototype.unpause = unpause;\n _howlerCoreMin.Howl.prototype.killByName = killByName;\n _howlerCoreMin.Howl.prototype.isPlayingByName = isPlayingByName;\n _howlerCoreMin.Howl.prototype.getSoundById = getSoundById;\n _howlerCoreMin.Howl.prototype.playSequence = playSequence;\n }\n }]);\n\n return Sound;\n}();\n\nexports.default = Sound;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Tracking = function () {\n /**\n * Setup the game code\n *\n * @param {string} gameCode The game code\n * @param {string} version The version\n */\n function Tracking(gameCode, version) {\n _classCallCheck(this, Tracking);\n\n this.gameCode = gameCode;\n this.version = version;\n this.jsErrors();\n }\n\n /**\n * Track user events\n *\n * @param {string} label The label\n * @param {string} category The category\n * @param {string} action The action\n * @param {number} count The count\n * @return {object} data sent to GA\n */\n\n\n _createClass(Tracking, [{\n key: 'event',\n value: function event(label, category, action, count) {\n if (!category) category = 'button';\n if (!action) action = 'click';\n if (!count) count = 0;\n\n if (!window.ga) return null;\n\n var event = {\n hitType: 'event', // Required.\n eventCategory: category, // Required.\n eventAction: action, // Required.\n eventLabel: label,\n eventValue: count\n };\n\n // GA Event tracking\n window.ga('send', event);\n\n return event;\n }\n\n /**\n * Track js exceptions\n *\n * @param {string} desc The description\n * @param {boolean} fatal The fatal\n * @return {object} data sent to GA\n */\n\n }, {\n key: 'exception',\n value: function exception(desc, fatal) {\n if (!fatal) fatal = false;\n\n if (!window.ga) return null;\n\n var exception = {\n exDescription: desc,\n exFatal: fatal,\n appName: this.gameCode,\n appVersion: this.version\n };\n\n window.ga('send', 'exception', exception);\n\n return exception;\n }\n\n /**\n * watch for js errors\n */\n\n }, {\n key: 'jsErrors',\n value: function jsErrors() {\n var _this = this;\n\n window.addEventListener('error', function (err) {\n var lineAndColumnInfo = err.colno ? ' line:' + err.lineno + ', column:' + err.colno : ' line:' + err.lineno;\n var location = err.filename + lineAndColumnInfo + ' -> ' + navigator.userAgent;\n\n _this.event('JavaScript Error', err.message, location);\n _this.exception('JSERROR - ' + err.message);\n });\n }\n }]);\n\n return Tracking;\n}();\n\nexports.default = Tracking;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports) {\n\n// Polyfill for creating CustomEvents on IE9/10/11\n\n// code pulled from:\n// https://github.com/d4tocchini/customevent-polyfill\n// https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent#Polyfill\n\ntry {\n var ce = new window.CustomEvent('test');\n ce.preventDefault();\n if (ce.defaultPrevented !== true) {\n // IE has problems with .preventDefault() on custom events\n // http://stackoverflow.com/questions/23349191\n throw new Error('Could not prevent default');\n }\n} catch(e) {\n var CustomEvent = function(event, params) {\n var evt, origPrevent;\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: undefined\n };\n\n evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n origPrevent = evt.preventDefault;\n evt.preventDefault = function () {\n origPrevent.call(this);\n try {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function () {\n return true;\n }\n });\n } catch(e) {\n this.defaultPrevented = true;\n }\n };\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n window.CustomEvent = CustomEvent; // expose definition to window\n}\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction sortArrayByKey() {\n var sorters = {\n string: function string(a, b) {\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n }\n\n return 0;\n },\n number: function number(a, b) {\n return a - b;\n }\n };\n\n return function sortIt(ary, prop) {\n var type = _typeof(ary[0][prop]) || 'string';\n\n return ary.sort(function (a, b) {\n return sorters[type](a[prop], b[prop]);\n });\n };\n}\n\nfunction uniq(array) {\n var result = Array.from(new Set(array));\n\n return result;\n}\n\nexports.sortArrayByKey = sortArrayByKey;\nexports.uniq = uniq;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Data = exports.Network = exports.Tracking = exports.Sound = exports.Reality = exports.Loader = exports.Locale = exports.Progress = exports.Font = exports.Event = exports.Device = exports.Currency = undefined;\n\n__webpack_require__(18);\n\nvar _currency = __webpack_require__(8);\n\nvar _currency2 = _interopRequireDefault(_currency);\n\nvar _device = __webpack_require__(1);\n\nvar _device2 = _interopRequireDefault(_device);\n\nvar _event = __webpack_require__(10);\n\nvar _event2 = _interopRequireDefault(_event);\n\nvar _font = __webpack_require__(11);\n\nvar _font2 = _interopRequireDefault(_font);\n\nvar _progress = __webpack_require__(14);\n\nvar _progress2 = _interopRequireDefault(_progress);\n\nvar _locale = __webpack_require__(13);\n\nvar _locale2 = _interopRequireDefault(_locale);\n\nvar _loader = __webpack_require__(12);\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _reality = __webpack_require__(15);\n\nvar _reality2 = _interopRequireDefault(_reality);\n\nvar _sound = __webpack_require__(16);\n\nvar _sound2 = _interopRequireDefault(_sound);\n\nvar _tracking = __webpack_require__(17);\n\nvar _tracking2 = _interopRequireDefault(_tracking);\n\nvar _network = __webpack_require__(2);\n\nvar _network2 = _interopRequireDefault(_network);\n\nvar _currency3 = __webpack_require__(9);\n\nvar _currency4 = _interopRequireDefault(_currency3);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.Currency = _currency2.default;\nexports.Device = _device2.default;\nexports.Event = _event2.default;\nexports.Font = _font2.default;\nexports.Progress = _progress2.default;\nexports.Locale = _locale2.default;\nexports.Loader = _loader2.default;\nexports.Reality = _reality2.default;\nexports.Sound = _sound2.default;\nexports.Tracking = _tracking2.default;\nexports.Network = _network2.default;\nexports.Data = _currency4.default;\n\n\nglobal.SUGA = exports; // eslint-disable-line\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar $isNaN = __webpack_require__(23);\nvar $isFinite = __webpack_require__(22);\n\nvar sign = __webpack_require__(25);\nvar mod = __webpack_require__(24);\n\nvar IsCallable = __webpack_require__(5);\nvar toPrimitive = __webpack_require__(26);\n\n// https://es5.github.io/#x9\nvar ES5 = {\n\tToPrimitive: toPrimitive,\n\n\tToBoolean: function ToBoolean(value) {\n\t\treturn Boolean(value);\n\t},\n\tToNumber: function ToNumber(value) {\n\t\treturn Number(value);\n\t},\n\tToInteger: function ToInteger(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number)) { return 0; }\n\t\tif (number === 0 || !$isFinite(number)) { return number; }\n\t\treturn sign(number) * Math.floor(Math.abs(number));\n\t},\n\tToInt32: function ToInt32(x) {\n\t\treturn this.ToNumber(x) >> 0;\n\t},\n\tToUint32: function ToUint32(x) {\n\t\treturn this.ToNumber(x) >>> 0;\n\t},\n\tToUint16: function ToUint16(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }\n\t\tvar posInt = sign(number) * Math.floor(Math.abs(number));\n\t\treturn mod(posInt, 0x10000);\n\t},\n\tToString: function ToString(value) {\n\t\treturn String(value);\n\t},\n\tToObject: function ToObject(value) {\n\t\tthis.CheckObjectCoercible(value);\n\t\treturn Object(value);\n\t},\n\tCheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {\n\t\t/* jshint eqnull:true */\n\t\tif (value == null) {\n\t\t\tthrow new TypeError(optMessage || 'Cannot call method on ' + value);\n\t\t}\n\t\treturn value;\n\t},\n\tIsCallable: IsCallable,\n\tSameValue: function SameValue(x, y) {\n\t\tif (x === y) { // 0 === -0, but they are not identical.\n\t\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\t\treturn true;\n\t\t}\n\t\treturn $isNaN(x) && $isNaN(y);\n\t},\n\n\t// http://www.ecma-international.org/ecma-262/5.1/#sec-8\n\tType: function Type(x) {\n\t\tif (x === null) {\n\t\t\treturn 'Null';\n\t\t}\n\t\tif (typeof x === 'undefined') {\n\t\t\treturn 'Undefined';\n\t\t}\n\t\tif (typeof x === 'function' || typeof x === 'object') {\n\t\t\treturn 'Object';\n\t\t}\n\t\tif (typeof x === 'number') {\n\t\t\treturn 'Number';\n\t\t}\n\t\tif (typeof x === 'boolean') {\n\t\t\treturn 'Boolean';\n\t\t}\n\t\tif (typeof x === 'string') {\n\t\t\treturn 'String';\n\t\t}\n\t}\n};\n\nmodule.exports = ES5;\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\nvar $isNaN = Number.isNaN || function (a) { return a !== a; };\n\nmodule.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\nmodule.exports = function mod(number, modulo) {\n\tvar remain = number % modulo;\n\treturn Math.floor(remain >= 0 ? remain : remain + modulo);\n};\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports) {\n\nmodule.exports = function sign(number) {\n\treturn number >= 0 ? 1 : -1;\n};\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar toStr = Object.prototype.toString;\n\nvar isPrimitive = __webpack_require__(27);\n\nvar isCallable = __webpack_require__(5);\n\n// https://es5.github.io/#x8.12\nvar ES5internalSlots = {\n\t'[[DefaultValue]]': function (O, hint) {\n\t\tvar actualHint = hint || (toStr.call(O) === '[object Date]' ? String : Number);\n\n\t\tif (actualHint === String || actualHint === Number) {\n\t\t\tvar methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\t\t\tvar value, i;\n\t\t\tfor (i = 0; i < methods.length; ++i) {\n\t\t\t\tif (isCallable(O[methods[i]])) {\n\t\t\t\t\tvalue = O[methods[i]]();\n\t\t\t\t\tif (isPrimitive(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new TypeError('No default value');\n\t\t}\n\t\tthrow new TypeError('invalid [[DefaultValue]] hint supplied');\n\t}\n};\n\n// https://es5.github.io/#x9\nmodule.exports = function ToPrimitive(input, PreferredType) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\treturn ES5internalSlots['[[DefaultValue]]'](input, PreferredType);\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nmodule.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isFunction = __webpack_require__(33)\n\nmodule.exports = forEach\n\nvar toString = Object.prototype.toString\nvar hasOwnProperty = Object.prototype.hasOwnProperty\n\nfunction forEach(list, iterator, context) {\n if (!isFunction(iterator)) {\n throw new TypeError('iterator must be a function')\n }\n\n if (arguments.length < 3) {\n context = this\n }\n \n if (toString.call(list) === '[object Array]')\n forEachArray(list, iterator, context)\n else if (typeof list === 'string')\n forEachString(list, iterator, context)\n else\n forEachObject(list, iterator, context)\n}\n\nfunction forEachArray(array, iterator, context) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n iterator.call(context, array[i], i, array)\n }\n }\n}\n\nfunction forEachString(string, iterator, context) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n iterator.call(context, string.charAt(i), i, string)\n }\n}\n\nfunction forEachObject(object, iterator, context) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n iterator.call(context, object[k], k, object)\n }\n }\n}\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toString = Object.prototype.toString;\n\nmodule.exports = function forEach (obj, fn, ctx) {\n if (toString.call(fn) !== '[object Function]') {\n throw new TypeError('iterator must be a function');\n }\n var l = obj.length;\n if (l === +l) {\n for (var i = 0; i < l; i++) {\n fn.call(ctx, obj[i], i, obj);\n }\n } else {\n for (var k in obj) {\n if (hasOwn.call(obj, k)) {\n fn.call(ctx, obj[k], k, obj);\n }\n }\n }\n};\n\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar bind = __webpack_require__(0);\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! howler.js v2.0.8 | (c) 2013-2018, James Simpson of GoldFire Studios | MIT License | howlerjs.com */\n!function(){\"use strict\";var e=function(){this.init()};e.prototype={init:function(){var e=this||n;return e._counter=1e3,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent=\"canplaythrough\",e._navigator=\"undefined\"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.mobileAutoEnable=!0,e._setup(),e},volume:function(e){var t=this||n;if(e=parseFloat(e),t.ctx||_(),void 0!==e&&e>=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var o=0;o=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,_()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,\"\")]},_setup:function(){var e=this||n;if(e.state=e.ctx?e.ctx.state||\"running\":\"running\",e._autoSuspend(),!e.usingWebAudio)if(\"undefined\"!=typeof Audio)try{var t=new Audio;void 0===t.oncanplaythrough&&(e._canPlayEvent=\"canplay\")}catch(n){e.noAudio=!0}else e.noAudio=!0;try{var t=new Audio;t.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,t=null;try{t=\"undefined\"!=typeof Audio?new Audio:null}catch(n){return e}if(!t||\"function\"!=typeof t.canPlayType)return e;var o=t.canPlayType(\"audio/mpeg;\").replace(/^no$/,\"\"),r=e._navigator&&e._navigator.userAgent.match(/OPR\\/([0-6].)/g),a=r&&parseInt(r[0].split(\"/\")[1],10)<33;return e._codecs={mp3:!(a||!o&&!t.canPlayType(\"audio/mp3;\").replace(/^no$/,\"\")),mpeg:!!o,opus:!!t.canPlayType('audio/ogg; codecs=\"opus\"').replace(/^no$/,\"\"),ogg:!!t.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/,\"\"),oga:!!t.canPlayType('audio/ogg; codecs=\"vorbis\"').replace(/^no$/,\"\"),wav:!!t.canPlayType('audio/wav; codecs=\"1\"').replace(/^no$/,\"\"),aac:!!t.canPlayType(\"audio/aac;\").replace(/^no$/,\"\"),caf:!!t.canPlayType(\"audio/x-caf;\").replace(/^no$/,\"\"),m4a:!!(t.canPlayType(\"audio/x-m4a;\")||t.canPlayType(\"audio/m4a;\")||t.canPlayType(\"audio/aac;\")).replace(/^no$/,\"\"),mp4:!!(t.canPlayType(\"audio/x-mp4;\")||t.canPlayType(\"audio/mp4;\")||t.canPlayType(\"audio/aac;\")).replace(/^no$/,\"\"),weba:!!t.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/,\"\"),webm:!!t.canPlayType('audio/webm; codecs=\"vorbis\"').replace(/^no$/,\"\"),dolby:!!t.canPlayType('audio/mp4; codecs=\"ec-3\"').replace(/^no$/,\"\"),flac:!!(t.canPlayType(\"audio/x-flac;\")||t.canPlayType(\"audio/flac;\")).replace(/^no$/,\"\")},e},_enableMobileAudio:function(){var e=this||n,t=/iPhone|iPad|iPod|Android|BlackBerry|BB10|Silk|Mobi/i.test(e._navigator&&e._navigator.userAgent),o=!!(\"ontouchend\"in window||e._navigator&&e._navigator.maxTouchPoints>0||e._navigator&&e._navigator.msMaxTouchPoints>0);if(!e._mobileEnabled&&e.ctx&&(t||o)){e._mobileEnabled=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var r=function(){n._autoResume();var t=e.ctx.createBufferSource();t.buffer=e._scratchBuffer,t.connect(e.ctx.destination),void 0===t.start?t.noteOn(0):t.start(0),\"function\"==typeof e.ctx.resume&&e.ctx.resume(),t.onended=function(){t.disconnect(0),e._mobileEnabled=!0,e.mobileAutoEnable=!1,document.removeEventListener(\"touchstart\",r,!0),document.removeEventListener(\"touchend\",r,!0)}};return document.addEventListener(\"touchstart\",r,!0),document.addEventListener(\"touchend\",r,!0),e}},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&void 0!==e.ctx.suspend&&n.usingWebAudio){for(var t=0;t0?i._seek:o._sprite[e][0]/1e3),s=Math.max(0,(o._sprite[e][0]+o._sprite[e][1])/1e3-_),l=1e3*s/Math.abs(i._rate);i._paused=!1,i._ended=!1,i._sprite=e,i._seek=_,i._start=o._sprite[e][0]/1e3,i._stop=(o._sprite[e][0]+o._sprite[e][1])/1e3,i._loop=!(!i._loop&&!o._sprite[e][2]);var c=i._node;if(o._webAudio){var f=function(){o._refreshBuffer(i);var e=i._muted||o._muted?0:i._volume;c.gain.setValueAtTime(e,n.ctx.currentTime),i._playStart=n.ctx.currentTime,void 0===c.bufferSource.start?i._loop?c.bufferSource.noteGrainOn(0,_,86400):c.bufferSource.noteGrainOn(0,_,s):i._loop?c.bufferSource.start(0,_,86400):c.bufferSource.start(0,_,s),l!==1/0&&(o._endTimers[i._id]=setTimeout(o._ended.bind(o,i),l)),t||setTimeout(function(){o._emit(\"play\",i._id)},0)};\"running\"===n.state?f():(o.once(\"resume\",f),o._clearTimer(i._id))}else{var p=function(){c.currentTime=_,c.muted=i._muted||o._muted||n._muted||c.muted,c.volume=i._volume*n.volume(),c.playbackRate=i._rate;try{var e=c.play();if(\"undefined\"!=typeof Promise&&e instanceof Promise&&(o._playLock=!0,e.then(function(){o._playLock=!1,o._loadQueue()})),c.paused)return void o._emit(\"playerror\",i._id,\"Playback was unable to start. This is most commonly an issue on mobile devices where playback was not within a user interaction.\");l!==1/0&&(o._endTimers[i._id]=setTimeout(o._ended.bind(o,i),l)),t||o._emit(\"play\",i._id)}catch(e){o._emit(\"playerror\",i._id,e)}},m=window&&window.ejecta||!c.readyState&&n._navigator.isCocoonJS;if(4===c.readyState||m)p();else{var v=function(){p(),c.removeEventListener(n._canPlayEvent,v,!1)};c.addEventListener(n._canPlayEvent,v,!1),o._clearTimer(i._id)}}return i._id},pause:function(e){var n=this;if(\"loaded\"!==n._state||n._playLock)return n._queue.push({event:\"pause\",action:function(){n.pause(e)}}),n;for(var t=n._getSoundIds(e),o=0;o=0?t=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),t=parseInt(r[1],10));var a;if(!(void 0!==e&&e>=0&&e<=1))return a=t?o._soundById(t):o._sounds[0],a?a._volume:0;if(\"loaded\"!==o._state)return o._queue.push({event:\"volume\",action:function(){o.volume.apply(o,r)}}),o;void 0===t&&(o._volume=e),t=o._getSoundIds(t);for(var u=0;u0?o/_:o),l=Date.now();e._fadeTo=t,e._interval=setInterval(function(){var r=(Date.now()-l)/o;l=Date.now(),i+=d*r,i=Math.max(0,i),i=Math.min(1,i),i=Math.round(100*i)/100,u._webAudio?e._volume=i:u.volume(i,e._id,!0),a&&(u._volume=i),(tn&&i>=t)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,u.volume(t,e._id),u._emit(\"fade\",e._id))},s)},_stopFade:function(e){var t=this,o=t._soundById(e);return o&&o._interval&&(t._webAudio&&o._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(o._interval),o._interval=null,t.volume(o._fadeTo,e),o._fadeTo=null,t._emit(\"fade\",e)),t},loop:function(){var e,n,t,o=this,r=arguments;if(0===r.length)return o._loop;if(1===r.length){if(\"boolean\"!=typeof r[0])return!!(t=o._soundById(parseInt(r[0],10)))&&t._loop;e=r[0],o._loop=e}else 2===r.length&&(e=r[0],n=parseInt(r[1],10));for(var a=o._getSoundIds(n),u=0;u=0?t=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));var i;if(\"number\"!=typeof e)return i=o._soundById(t),i?i._rate:o._rate;if(\"loaded\"!==o._state)return o._queue.push({event:\"rate\",action:function(){o.rate.apply(o,r)}}),o;void 0===t&&(o._rate=e),t=o._getSoundIds(t);for(var d=0;d=0?t=parseInt(r[0],10):o._sounds.length&&(t=o._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));if(void 0===t)return o;if(\"loaded\"!==o._state)return o._queue.push({event:\"seek\",action:function(){o.seek.apply(o,r)}}),o;var i=o._soundById(t);if(i){if(!(\"number\"==typeof e&&e>=0)){if(o._webAudio){var d=o.playing(t)?n.ctx.currentTime-i._playStart:0,_=i._rateSeek?i._rateSeek-i._seek:0;return i._seek+(_+d*Math.abs(i._rate))}return i._node.currentTime}var s=o.playing(t);s&&o.pause(t,!0),i._seek=e,i._ended=!1,o._clearTimer(t),s&&o.play(t,!0),!o._webAudio&&i._node&&(i._node.currentTime=e),o._emit(\"seek\",t)}return o},playing:function(e){var n=this;if(\"number\"==typeof e){var t=n._soundById(e);return!!t&&!t._paused}for(var o=0;o=0&&n._howls.splice(a,1)}var u=!0;for(o=0;o=0;a--)r[a].id&&r[a].id!==n&&\"load\"!==e||(setTimeout(function(e){e.call(this,n,t)}.bind(o,r[a].fn),0),r[a].once&&o.off(e,r[a].fn,r[a].id));return o},_loadQueue:function(){var e=this;if(e._queue.length>0){var n=e._queue[0];e.once(n.event,function(){e._queue.shift(),e._loadQueue()}),n.action()}return e},_ended:function(e){var t=this,o=e._sprite;if(!t._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime=0;o--){if(t<=n)return;e._sounds[o]._ended&&(e._webAudio&&e._sounds[o]._node&&e._sounds[o]._node.disconnect(0),e._sounds.splice(o,1),t--)}}},_getSoundIds:function(e){var n=this;if(void 0===e){for(var t=[],o=0;o0&&(r[t._src]=e,d(t,e))},function(){t._emit(\"loaderror\",null,\"Decoding audio data failed.\")})},d=function(e,n){n&&!e._duration&&(e._duration=n.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),\"loaded\"!==e._state&&(e._state=\"loaded\",e._emit(\"load\"),e._loadQueue())},_=function(){try{\"undefined\"!=typeof AudioContext?n.ctx=new AudioContext:\"undefined\"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),t=n._navigator&&n._navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/),o=t?parseInt(t[1],10):null;if(e&&o&&o<9){var r=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());(n._navigator&&n._navigator.standalone&&!r||n._navigator&&!n._navigator.standalone&&!r)&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:1,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()};\"function\"==\"function\"&&__webpack_require__(42)&&!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function(){return{Howler:n,Howl:t}}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)),\"undefined\"!=typeof exports&&(exports.Howler=n,exports.Howl=t),\"undefined\"!=typeof window?(window.HowlerGlobal=e,window.Howler=n,window.Howl=t,window.Sound=o):\"undefined\"!=typeof global&&(global.HowlerGlobal=e,global.Howler=n,global.Howl=t,global.Sound=o)}();\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3)))\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports) {\n\nmodule.exports = isFunction\n\nvar toString = Object.prototype.toString\n\nfunction isFunction (fn) {\n var string = toString.call(fn)\n return string === '[object Function]' ||\n (typeof fn === 'function' && string !== '[object RegExp]') ||\n (typeof window !== 'undefined' &&\n // IE8 and below\n (fn === window.setTimeout ||\n fn === window.alert ||\n fn === window.confirm ||\n fn === window.prompt))\n};\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// (c) 2012-2016 Airbnb, Inc.\n//\n// polyglot.js may be freely distributed under the terms of the BSD\n// license. For all licensing information, details, and documention:\n// http://airbnb.github.com/polyglot.js\n//\n//\n// Polyglot.js is an I18n helper library written in JavaScript, made to\n// work both in the browser and in Node. It provides a simple solution for\n// interpolation and pluralization, based off of Airbnb's\n// experience adding I18n functionality to its Backbone.js and Node apps.\n//\n// Polylglot is agnostic to your translation backend. It doesn't perform any\n// translation; it simply gives you a way to manage translated phrases from\n// your client- or server-side JavaScript application.\n//\n\n\n\nvar forEach = __webpack_require__(28);\nvar warning = __webpack_require__(40);\nvar has = __webpack_require__(31);\nvar trim = __webpack_require__(38);\n\nvar warn = function warn(message) {\n warning(false, message);\n};\n\nvar replace = String.prototype.replace;\nvar split = String.prototype.split;\n\n// #### Pluralization methods\n// The string that separates the different phrase possibilities.\nvar delimeter = '||||';\n\n// Mapping from pluralization group plural logic.\nvar pluralTypes = {\n arabic: function (n) {\n // http://www.arabeyes.org/Plural_Forms\n if (n < 3) { return n; }\n if (n % 100 >= 3 && n % 100 <= 10) return 3;\n return n % 100 >= 11 ? 4 : 5;\n },\n chinese: function () { return 0; },\n german: function (n) { return n !== 1 ? 1 : 0; },\n french: function (n) { return n > 1 ? 1 : 0; },\n russian: function (n) {\n if (n % 10 === 1 && n % 100 !== 11) { return 0; }\n return n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2;\n },\n czech: function (n) {\n if (n === 1) { return 0; }\n return (n >= 2 && n <= 4) ? 1 : 2;\n },\n polish: function (n) {\n if (n === 1) { return 0; }\n return n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2;\n },\n icelandic: function (n) { return (n % 10 !== 1 || n % 100 === 11) ? 1 : 0; }\n};\n\n// Mapping from pluralization group to individual locales.\nvar pluralTypeToLanguages = {\n arabic: ['ar'],\n chinese: ['fa', 'id', 'ja', 'ko', 'lo', 'ms', 'th', 'tr', 'zh'],\n german: ['da', 'de', 'en', 'es', 'fi', 'el', 'he', 'hu', 'it', 'nl', 'no', 'pt', 'sv'],\n french: ['fr', 'tl', 'pt-br'],\n russian: ['hr', 'ru', 'lt'],\n czech: ['cs', 'sk'],\n polish: ['pl'],\n icelandic: ['is']\n};\n\nfunction langToTypeMap(mapping) {\n var ret = {};\n forEach(mapping, function (langs, type) {\n forEach(langs, function (lang) {\n ret[lang] = type;\n });\n });\n return ret;\n}\n\nfunction pluralTypeName(locale) {\n var langToPluralType = langToTypeMap(pluralTypeToLanguages);\n return langToPluralType[locale]\n || langToPluralType[split.call(locale, /-/, 1)[0]]\n || langToPluralType.en;\n}\n\nfunction pluralTypeIndex(locale, count) {\n return pluralTypes[pluralTypeName(locale)](count);\n}\n\nvar dollarRegex = /\\$/g;\nvar dollarBillsYall = '$$';\nvar tokenRegex = /%\\{(.*?)\\}/g;\n\n// ### transformPhrase(phrase, substitutions, locale)\n//\n// Takes a phrase string and transforms it by choosing the correct\n// plural form and interpolating it.\n//\n// transformPhrase('Hello, %{name}!', {name: 'Spike'});\n// // \"Hello, Spike!\"\n//\n// The correct plural form is selected if substitutions.smart_count\n// is set. You can pass in a number instead of an Object as `substitutions`\n// as a shortcut for `smart_count`.\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 1}, 'en');\n// // \"1 new message\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', {smart_count: 2}, 'en');\n// // \"2 new messages\"\n//\n// transformPhrase('%{smart_count} new messages |||| 1 new message', 5, 'en');\n// // \"5 new messages\"\n//\n// You should pass in a third argument, the locale, to specify the correct plural type.\n// It defaults to `'en'` with 2 plural forms.\nfunction transformPhrase(phrase, substitutions, locale) {\n if (typeof phrase !== 'string') {\n throw new TypeError('Polyglot.transformPhrase expects argument #1 to be string');\n }\n\n if (substitutions == null) {\n return phrase;\n }\n\n var result = phrase;\n\n // allow number as a pluralization shortcut\n var options = typeof substitutions === 'number' ? { smart_count: substitutions } : substitutions;\n\n // Select plural form: based on a phrase text that contains `n`\n // plural forms separated by `delimeter`, a `locale`, and a `substitutions.smart_count`,\n // choose the correct plural form. This is only done if `count` is set.\n if (options.smart_count != null && result) {\n var texts = split.call(result, delimeter);\n result = trim(texts[pluralTypeIndex(locale || 'en', options.smart_count)] || texts[0]);\n }\n\n // Interpolate: Creates a `RegExp` object for each interpolation placeholder.\n result = replace.call(result, tokenRegex, function (expression, argument) {\n if (!has(options, argument) || options[argument] == null) { return expression; }\n // Ensure replacement value is escaped to prevent special $-prefixed regex replace tokens.\n return replace.call(options[argument], dollarRegex, dollarBillsYall);\n });\n\n return result;\n}\n\n// ### Polyglot class constructor\nfunction Polyglot(options) {\n var opts = options || {};\n this.phrases = {};\n this.extend(opts.phrases || {});\n this.currentLocale = opts.locale || 'en';\n var allowMissing = opts.allowMissing ? transformPhrase : null;\n this.onMissingKey = typeof opts.onMissingKey === 'function' ? opts.onMissingKey : allowMissing;\n this.warn = opts.warn || warn;\n}\n\n// ### polyglot.locale([locale])\n//\n// Get or set locale. Internally, Polyglot only uses locale for pluralization.\nPolyglot.prototype.locale = function (newLocale) {\n if (newLocale) this.currentLocale = newLocale;\n return this.currentLocale;\n};\n\n// ### polyglot.extend(phrases)\n//\n// Use `extend` to tell Polyglot how to translate a given key.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The key can be any string. Feel free to call `extend` multiple times;\n// it will override any phrases with the same key, but leave existing phrases\n// untouched.\n//\n// It is also possible to pass nested phrase objects, which get flattened\n// into an object with the nested keys concatenated using dot notation.\n//\n// polyglot.extend({\n// \"nav\": {\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\",\n// \"sidebar\": {\n// \"welcome\": \"Welcome\"\n// }\n// }\n// });\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}',\n// // 'nav.sidebar.welcome': 'Welcome'\n// // }\n//\n// `extend` accepts an optional second argument, `prefix`, which can be used\n// to prefix every key in the phrases object with some string, using dot\n// notation.\n//\n// polyglot.extend({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// }, \"nav\");\n//\n// console.log(polyglot.phrases);\n// // {\n// // 'nav.hello': 'Hello',\n// // 'nav.hello_name': 'Hello, %{name}'\n// // }\n//\n// This feature is used internally to support nested phrase objects.\nPolyglot.prototype.extend = function (morePhrases, prefix) {\n forEach(morePhrases, function (phrase, key) {\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.extend(phrase, prefixedKey);\n } else {\n this.phrases[prefixedKey] = phrase;\n }\n }, this);\n};\n\n// ### polyglot.unset(phrases)\n// Use `unset` to selectively remove keys from a polyglot instance.\n//\n// polyglot.unset(\"some_key\");\n// polyglot.unset({\n// \"hello\": \"Hello\",\n// \"hello_name\": \"Hello, %{name}\"\n// });\n//\n// The unset method can take either a string (for the key), or an object hash with\n// the keys that you would like to unset.\nPolyglot.prototype.unset = function (morePhrases, prefix) {\n if (typeof morePhrases === 'string') {\n delete this.phrases[morePhrases];\n } else {\n forEach(morePhrases, function (phrase, key) {\n var prefixedKey = prefix ? prefix + '.' + key : key;\n if (typeof phrase === 'object') {\n this.unset(phrase, prefixedKey);\n } else {\n delete this.phrases[prefixedKey];\n }\n }, this);\n }\n};\n\n// ### polyglot.clear()\n//\n// Clears all phrases. Useful for special cases, such as freeing\n// up memory if you have lots of phrases but no longer need to\n// perform any translation. Also used internally by `replace`.\nPolyglot.prototype.clear = function () {\n this.phrases = {};\n};\n\n// ### polyglot.replace(phrases)\n//\n// Completely replace the existing phrases with a new set of phrases.\n// Normally, just use `extend` to add more phrases, but under certain\n// circumstances, you may want to make sure no old phrases are lying around.\nPolyglot.prototype.replace = function (newPhrases) {\n this.clear();\n this.extend(newPhrases);\n};\n\n\n// ### polyglot.t(key, options)\n//\n// The most-used method. Provide a key, and `t` will return the\n// phrase.\n//\n// polyglot.t(\"hello\");\n// => \"Hello\"\n//\n// The phrase value is provided first by a call to `polyglot.extend()` or\n// `polyglot.replace()`.\n//\n// Pass in an object as the second argument to perform interpolation.\n//\n// polyglot.t(\"hello_name\", {name: \"Spike\"});\n// => \"Hello, Spike\"\n//\n// If you like, you can provide a default value in case the phrase is missing.\n// Use the special option key \"_\" to specify a default.\n//\n// polyglot.t(\"i_like_to_write_in_language\", {\n// _: \"I like to write in %{language}.\",\n// language: \"JavaScript\"\n// });\n// => \"I like to write in JavaScript.\"\n//\nPolyglot.prototype.t = function (key, options) {\n var phrase, result;\n var opts = options == null ? {} : options;\n if (typeof this.phrases[key] === 'string') {\n phrase = this.phrases[key];\n } else if (typeof opts._ === 'string') {\n phrase = opts._;\n } else if (this.onMissingKey) {\n var onMissingKey = this.onMissingKey;\n result = onMissingKey(key, opts, this.currentLocale);\n } else {\n this.warn('Missing translation for key: \"' + key + '\"');\n result = key;\n }\n if (typeof phrase === 'string') {\n result = transformPhrase(phrase, opts, this.currentLocale);\n }\n return result;\n};\n\n\n// ### polyglot.has(key)\n//\n// Check if polyglot has a translation for given key\nPolyglot.prototype.has = function (key) {\n return has(this.phrases, key);\n};\n\n// export transformPhrase\nPolyglot.transformPhrase = transformPhrase;\n\nmodule.exports = Polyglot;\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n// modified from https://github.com/es-shims/es5-shim\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = __webpack_require__(36);\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = [\n\t'toString',\n\t'toLocaleString',\n\t'valueOf',\n\t'hasOwnProperty',\n\t'isPrototypeOf',\n\t'propertyIsEnumerable',\n\t'constructor'\n];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = (function () {\n\t/* global window */\n\tif (typeof window === 'undefined') { return false; }\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}());\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) {\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar bind = __webpack_require__(0);\nvar define = __webpack_require__(4);\n\nvar implementation = __webpack_require__(6);\nvar getPolyfill = __webpack_require__(7);\nvar shim = __webpack_require__(39);\n\nvar boundTrim = bind.call(Function.call, getPolyfill());\n\ndefine(boundTrim, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundTrim;\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar define = __webpack_require__(4);\nvar getPolyfill = __webpack_require__(7);\n\nmodule.exports = function shimStringTrim() {\n\tvar polyfill = getPolyfill();\n\tdefine(String.prototype, { trim: polyfill }, { trim: function () { return String.prototype.trim !== polyfill; } });\n\treturn polyfill;\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(37)))\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+\",serif\",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+\",sans-serif\",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G(\"serif\",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G(\"sans-serif\",J(this.a));a=\nO(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:\"serif\",C:\"sans-serif\"},S=null;function T(){if(null===S){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.m.a.offsetWidth;this.A=q();U(this)};\nfunction la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f[\"sans-serif\"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,J(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\")]);K(b,\"fontactive\",a);this.m=!0;na(this)};\nW.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c(\"wf\",a.c,J(a).toString(),\"active\")),d=[],e=[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\")];c||d.push(b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\"));w(b.f,d,e)}K(b,\"fontinactive\",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),K(a,\"active\")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};\nfunction qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h.998){var g=this._totalTime;this.render(0,!0,!1),this._initted=!1,this.render(g,!0,!1)}else if(this._initted=!1,this._init(),this._time>0||f)for(var h,i=1/(1-e),j=this._firstPT;j;)h=j.s+j.c,j.c*=i,j.s=h-j.c,j=j._next;return this},k.render=function(a,b,d){this._initted||0===this._duration&&this.vars.repeat&&this.invalidate();var e,f,i,j,k,l,m,n,o,p=this._dirty?this.totalDuration():this._totalDuration,q=this._time,r=this._totalTime,s=this._cycle,t=this._duration,u=this._rawPrevTime;if(a>=p-1e-7&&a>=0?(this._totalTime=p,this._cycle=this._repeat,this._yoyo&&0!==(1&this._cycle)?(this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0):(this._time=t,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1),this._reversed||(e=!0,f=\"onComplete\",d=d||this._timeline.autoRemoveChildren),0===t&&(this._initted||!this.vars.lazy||d)&&(this._startTime===this._timeline._duration&&(a=0),(0>u||0>=a&&a>=-1e-7||u===g&&\"isPause\"!==this.data)&&u!==a&&(d=!0,u>g&&(f=\"onReverseComplete\")),this._rawPrevTime=n=!b||a||u===a?a:g)):1e-7>a?(this._totalTime=this._time=this._cycle=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==r||0===t&&u>0)&&(f=\"onReverseComplete\",e=this._reversed),0>a&&(this._active=!1,0===t&&(this._initted||!this.vars.lazy||d)&&(u>=0&&(d=!0),this._rawPrevTime=n=!b||a||u===a?a:g)),this._initted||(d=!0)):(this._totalTime=this._time=a,0!==this._repeat&&(j=t+this._repeatDelay,this._cycle=this._totalTime/j>>0,0!==this._cycle&&this._cycle===this._totalTime/j&&a>=r&&this._cycle--,this._time=this._totalTime-this._cycle*j,this._yoyo&&0!==(1&this._cycle)&&(this._time=t-this._time,o=this._yoyoEase||this.vars.yoyoEase,o&&(this._yoyoEase||(o!==!0||this._initted?this._yoyoEase=o=o===!0?this._ease:o instanceof Ease?o:Ease.map[o]:(o=this.vars.ease,this._yoyoEase=o=o?o instanceof Ease?o:\"function\"==typeof o?new Ease(o,this.vars.easeParams):Ease.map[o]||c.defaultEase:c.defaultEase)),this.ratio=o?1-o.getRatio((t-this._time)/t):0)),this._time>t?this._time=t:this._time<0&&(this._time=0)),this._easeType&&!o?(k=this._time/t,l=this._easeType,m=this._easePower,(1===l||3===l&&k>=.5)&&(k=1-k),3===l&&(k*=2),1===m?k*=k:2===m?k*=k*k:3===m?k*=k*k*k:4===m&&(k*=k*k*k*k),1===l?this.ratio=1-k:2===l?this.ratio=k:this._time/t<.5?this.ratio=k/2:this.ratio=1-k/2):o||(this.ratio=this._ease.getRatio(this._time/t))),q===this._time&&!d&&s===this._cycle)return void(r!==this._totalTime&&this._onUpdate&&(b||this._callback(\"onUpdate\")));if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!d&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=q,this._totalTime=r,this._rawPrevTime=u,this._cycle=s,h.lazyTweens.push(this),void(this._lazy=[a,b]);!this._time||e||o?e&&this._ease._calcEnd&&!o&&(this.ratio=this._ease.getRatio(0===this._time?0:1)):this.ratio=this._ease.getRatio(this._time/t)}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==q&&a>=0&&(this._active=!0),0===r&&(2===this._initted&&a>0&&this._init(),this._startAt&&(a>=0?this._startAt.render(a,b,d):f||(f=\"_dummyGS\")),this.vars.onStart&&(0!==this._totalTime||0===t)&&(b||this._callback(\"onStart\"))),i=this._firstPT;i;)i.f?i.t[i.p](i.c*this.ratio+i.s):i.t[i.p]=i.c*this.ratio+i.s,i=i._next;this._onUpdate&&(0>a&&this._startAt&&this._startTime&&this._startAt.render(a,b,d),b||(this._totalTime!==r||f)&&this._callback(\"onUpdate\")),this._cycle!==s&&(b||this._gc||this.vars.onRepeat&&this._callback(\"onRepeat\")),f&&(!this._gc||d)&&(0>a&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(a,b,d),e&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[f]&&this._callback(f),0===t&&this._rawPrevTime===g&&n!==g&&(this._rawPrevTime=0))},f.to=function(a,b,c){return new f(a,b,c)},f.from=function(a,b,c){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,new f(a,b,c)},f.fromTo=function(a,b,c,d){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,new f(a,b,d)},f.staggerTo=f.allTo=function(a,b,g,h,k,m,n){h=h||0;var o,p,q,r,s=0,t=[],u=function(){g.onComplete&&g.onComplete.apply(g.onCompleteScope||this,arguments),k.apply(n||g.callbackScope||this,m||l)},v=g.cycle,w=g.startAt&&g.startAt.cycle;for(j(a)||(\"string\"==typeof a&&(a=c.selector(a)||a),i(a)&&(a=d(a))),a=a||[],0>h&&(a=d(a),a.reverse(),h*=-1),o=a.length-1,q=0;o>=q;q++){p={};for(r in g)p[r]=g[r];if(v&&(e(p,a,q),null!=p.duration&&(b=p.duration,delete p.duration)),w){w=p.startAt={};for(r in g.startAt)w[r]=g.startAt[r];e(p.startAt,a,q)}p.delay=s+(p.delay||0),q===o&&k&&(p.onComplete=u),t[q]=new f(a[q],b,p),s+=h}return t},f.staggerFrom=f.allFrom=function(a,b,c,d,e,g,h){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,f.staggerTo(a,b,c,d,e,g,h)},f.staggerFromTo=f.allFromTo=function(a,b,c,d,e,g,h,i){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,f.staggerTo(a,b,d,e,g,h,i)},f.delayedCall=function(a,b,c,d,e){return new f(b,0,{delay:a,onComplete:b,onCompleteParams:c,callbackScope:d,onReverseComplete:b,onReverseCompleteParams:c,immediateRender:!1,useFrames:e,overwrite:0})},f.set=function(a,b){return new f(a,0,b)},f.isTweening=function(a){return c.getTweensOf(a,!0).length>0};var m=function(a,b){for(var d=[],e=0,f=a._first;f;)f instanceof c?d[e++]=f:(b&&(d[e++]=f),d=d.concat(m(f,b)),e=d.length),f=f._next;return d},n=f.getAllTweens=function(b){return m(a._rootTimeline,b).concat(m(a._rootFramesTimeline,b))};f.killAll=function(a,c,d,e){null==c&&(c=!0),null==d&&(d=!0);var f,g,h,i=n(0!=e),j=i.length,k=c&&d&&e;for(h=0;j>h;h++)g=i[h],(k||g instanceof b||(f=g.target===g.vars.onComplete)&&d||c&&!f)&&(a?g.totalTime(g._reversed?0:g.totalDuration()):g._enabled(!1,!1))},f.killChildTweensOf=function(a,b){if(null!=a){var e,g,k,l,m,n=h.tweenLookup;if(\"string\"==typeof a&&(a=c.selector(a)||a),i(a)&&(a=d(a)),j(a))for(l=a.length;--l>-1;)f.killChildTweensOf(a[l],b);else{e=[];for(k in n)for(g=n[k].target.parentNode;g;)g===a&&(e=e.concat(n[k].tweens)),g=g.parentNode;for(m=e.length,l=0;m>l;l++)b&&e[l].totalTime(e[l].totalDuration()),e[l]._enabled(!1,!1)}}};var o=function(a,c,d,e){c=c!==!1,d=d!==!1,e=e!==!1;for(var f,g,h=n(e),i=c&&d&&e,j=h.length;--j>-1;)g=h[j],(i||g instanceof b||(f=g.target===g.vars.onComplete)&&d||c&&!f)&&g.paused(a)};return f.pauseAll=function(a,b,c){o(!0,a,b,c)},f.resumeAll=function(a,b,c){o(!1,a,b,c)},f.globalTimeScale=function(b){var d=a._rootTimeline,e=c.ticker.time;return arguments.length?(b=b||g,d._startTime=e-(e-d._startTime)*d._timeScale/b,d=a._rootFramesTimeline,e=c.ticker.frame,d._startTime=e-(e-d._startTime)*d._timeScale/b,d._timeScale=a._rootTimeline._timeScale=b,b):d._timeScale},k.progress=function(a,b){return arguments.length?this.totalTime(this.duration()*(this._yoyo&&0!==(1&this._cycle)?1-a:a)+this._cycle*(this._duration+this._repeatDelay),b):this._time/this.duration()},k.totalProgress=function(a,b){return arguments.length?this.totalTime(this.totalDuration()*a,b):this._totalTime/this.totalDuration()},k.time=function(a,b){return arguments.length?(this._dirty&&this.totalDuration(),a>this._duration&&(a=this._duration),this._yoyo&&0!==(1&this._cycle)?a=this._duration-a+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(a+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(a,b)):this._time},k.duration=function(b){return arguments.length?a.prototype.duration.call(this,b):this._duration},k.totalDuration=function(a){return arguments.length?-1===this._repeat?this:this.duration((a-this._repeat*this._repeatDelay)/(this._repeat+1)):(this._dirty&&(this._totalDuration=-1===this._repeat?999999999999:this._duration*(this._repeat+1)+this._repeatDelay*this._repeat,this._dirty=!1),this._totalDuration)},k.repeat=function(a){return arguments.length?(this._repeat=a,this._uncache(!0)):this._repeat},k.repeatDelay=function(a){return arguments.length?(this._repeatDelay=a,this._uncache(!0)):this._repeatDelay},k.yoyo=function(a){return arguments.length?(this._yoyo=a,this):this._yoyo},f},!0),_gsScope._gsDefine(\"TimelineLite\",[\"core.Animation\",\"core.SimpleTimeline\",\"TweenLite\"],function(a,b,c){var d=function(a){b.call(this,a),this._labels={},this.autoRemoveChildren=this.vars.autoRemoveChildren===!0,this.smoothChildTiming=this.vars.smoothChildTiming===!0,this._sortChildren=!0,this._onUpdate=this.vars.onUpdate;var c,d,e=this.vars;for(d in e)c=e[d],i(c)&&-1!==c.join(\"\").indexOf(\"{self}\")&&(e[d]=this._swapSelfInParams(c));i(e.tweens)&&this.add(e.tweens,0,e.align,e.stagger)},e=1e-10,f=c._internals,g=d._internals={},h=f.isSelector,i=f.isArray,j=f.lazyTweens,k=f.lazyRender,l=_gsScope._gsDefine.globals,m=function(a){var b,c={};for(b in a)c[b]=a[b];return c},n=function(a,b,c){var d,e,f=a.cycle;for(d in f)e=f[d],a[d]=\"function\"==typeof e?e(c,b[c]):e[c%e.length];delete a.cycle},o=g.pauseCallback=function(){},p=function(a){var b,c=[],d=a.length;for(b=0;b!==d;c.push(a[b++]));return c},q=d.prototype=new b;return d.version=\"1.20.2\",q.constructor=d,q.kill()._gc=q._forcingPlayhead=q._hasPause=!1,q.to=function(a,b,d,e){var f=d.repeat&&l.TweenMax||c;return b?this.add(new f(a,b,d),e):this.set(a,d,e)},q.from=function(a,b,d,e){return this.add((d.repeat&&l.TweenMax||c).from(a,b,d),e)},q.fromTo=function(a,b,d,e,f){var g=e.repeat&&l.TweenMax||c;return b?this.add(g.fromTo(a,b,d,e),f):this.set(a,e,f)},q.staggerTo=function(a,b,e,f,g,i,j,k){var l,o,q=new d({onComplete:i,onCompleteParams:j,callbackScope:k,smoothChildTiming:this.smoothChildTiming}),r=e.cycle;for(\"string\"==typeof a&&(a=c.selector(a)||a),a=a||[],h(a)&&(a=p(a)),f=f||0,0>f&&(a=p(a),a.reverse(),f*=-1),o=0;ol;l++)i(m=e[l])&&(m=new d({tweens:m})),this.add(m,j),\"string\"!=typeof m&&\"function\"!=typeof m&&(\"sequence\"===g?j=m._startTime+m.totalDuration()/m._timeScale:\"start\"===g&&(m._startTime-=m.delay())),j+=h;return this._uncache(!0)}if(\"string\"==typeof e)return this.addLabel(e,f);if(\"function\"!=typeof e)throw\"Cannot add \"+e+\" into the timeline; it is not a tween, timeline, function, or string.\";e=c.delayedCall(0,e)}if(b.prototype.add.call(this,e,f),e._time&&e.render((this.rawTime()-e._startTime)*e._timeScale,!1,!1),(this._gc||this._time===this._duration)&&!this._paused&&this._duratione._startTime;n._timeline;)o&&n._timeline.smoothChildTiming?n.totalTime(n._totalTime,!0):n._gc&&n._enabled(!0,!1),n=n._timeline;return this},q.remove=function(b){if(b instanceof a){this._remove(b,!1);var c=b._timeline=b.vars.useFrames?a._rootFramesTimeline:a._rootTimeline;return b._startTime=(b._paused?b._pauseTime:c._time)-(b._reversed?b.totalDuration()-b._totalTime:b._totalTime)/b._timeScale,this}if(b instanceof Array||b&&b.push&&i(b)){for(var d=b.length;--d>-1;)this.remove(b[d]);return this}return\"string\"==typeof b?this.removeLabel(b):this.kill(null,b)},q._remove=function(a,c){b.prototype._remove.call(this,a,c);var d=this._last;return d?this._time>this.duration()&&(this._time=this._duration,this._totalTime=this._totalDuration):this._time=this._totalTime=this._duration=this._totalDuration=0,this},q.append=function(a,b){return this.add(a,this._parseTimeOrLabel(null,b,!0,a))},q.insert=q.insertMultiple=function(a,b,c,d){return this.add(a,b||0,c,d)},q.appendMultiple=function(a,b,c,d){return this.add(a,this._parseTimeOrLabel(null,b,!0,a),c,d)},q.addLabel=function(a,b){return this._labels[a]=this._parseTimeOrLabel(b),this},q.addPause=function(a,b,d,e){var f=c.delayedCall(0,o,d,e||this);return f.vars.onComplete=f.vars.onReverseComplete=b,f.data=\"isPause\",this._hasPause=!0,this.add(f,a)},q.removeLabel=function(a){return delete this._labels[a],this},q.getLabelTime=function(a){return null!=this._labels[a]?this._labels[a]:-1},q._parseTimeOrLabel=function(b,c,d,e){var f,g;if(e instanceof a&&e.timeline===this)this.remove(e);else if(e&&(e instanceof Array||e.push&&i(e)))for(g=e.length;--g>-1;)e[g]instanceof a&&e[g].timeline===this&&this.remove(e[g]);if(f=this.duration()>99999999999?this.recent().endTime(!1):this._duration,\"string\"==typeof c)return this._parseTimeOrLabel(c,d&&\"number\"==typeof b&&null==this._labels[c]?b-f:0,d);if(c=c||0,\"string\"!=typeof b||!isNaN(b)&&null==this._labels[b])null==b&&(b=f);else{if(g=b.indexOf(\"=\"),-1===g)return null==this._labels[b]?d?this._labels[b]=f+c:c:this._labels[b]+c;c=parseInt(b.charAt(g-1)+\"1\",10)*Number(b.substr(g+1)),b=g>1?this._parseTimeOrLabel(b.substr(0,g-1),0,d):f}return Number(b)+c},q.seek=function(a,b){return this.totalTime(\"number\"==typeof a?a:this._parseTimeOrLabel(a),b!==!1)},q.stop=function(){return this.paused(!0)},q.gotoAndPlay=function(a,b){return this.play(a,b)},q.gotoAndStop=function(a,b){return this.pause(a,b)},q.render=function(a,b,c){this._gc&&this._enabled(!0,!1);var d,f,g,h,i,l,m,n=this._dirty?this.totalDuration():this._totalDuration,o=this._time,p=this._startTime,q=this._timeScale,r=this._paused;if(a>=n-1e-7&&a>=0)this._totalTime=this._time=n,this._reversed||this._hasPausedChild()||(f=!0,h=\"onComplete\",i=!!this._timeline.autoRemoveChildren,0===this._duration&&(0>=a&&a>=-1e-7||this._rawPrevTime<0||this._rawPrevTime===e)&&this._rawPrevTime!==a&&this._first&&(i=!0,this._rawPrevTime>e&&(h=\"onReverseComplete\"))),this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,a=n+1e-4;else if(1e-7>a)if(this._totalTime=this._time=0,(0!==o||0===this._duration&&this._rawPrevTime!==e&&(this._rawPrevTime>0||0>a&&this._rawPrevTime>=0))&&(h=\"onReverseComplete\",f=this._reversed),0>a)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(i=f=!0,h=\"onReverseComplete\"):this._rawPrevTime>=0&&this._first&&(i=!0),this._rawPrevTime=a;else{if(this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,0===a&&f)for(d=this._first;d&&0===d._startTime;)d._duration||(f=!1),d=d._next;a=0,this._initted||(i=!0)}else{if(this._hasPause&&!this._forcingPlayhead&&!b){if(a>=o)for(d=this._first;d&&d._startTime<=a&&!l;)d._duration||\"isPause\"!==d.data||d.ratio||0===d._startTime&&0===this._rawPrevTime||(l=d),d=d._next;else for(d=this._last;d&&d._startTime>=a&&!l;)d._duration||\"isPause\"===d.data&&d._rawPrevTime>0&&(l=d),d=d._prev;l&&(this._time=a=l._startTime,this._totalTime=a+this._cycle*(this._totalDuration+this._repeatDelay))}this._totalTime=this._time=this._rawPrevTime=a}if(this._time!==o&&this._first||c||i||l){if(this._initted||(this._initted=!0),this._active||!this._paused&&this._time!==o&&a>0&&(this._active=!0),0===o&&this.vars.onStart&&(0===this._time&&this._duration||b||this._callback(\"onStart\")),m=this._time,m>=o)for(d=this._first;d&&(g=d._next,m===this._time&&(!this._paused||r));)(d._active||d._startTime<=m&&!d._paused&&!d._gc)&&(l===d&&this.pause(),d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)),d=g;else for(d=this._last;d&&(g=d._prev,m===this._time&&(!this._paused||r));){if(d._active||d._startTime<=o&&!d._paused&&!d._gc){if(l===d){for(l=d._prev;l&&l.endTime()>this._time;)l.render(l._reversed?l.totalDuration()-(a-l._startTime)*l._timeScale:(a-l._startTime)*l._timeScale,b,c),l=l._prev;l=null,this.pause()}d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)}d=g}this._onUpdate&&(b||(j.length&&k(),this._callback(\"onUpdate\"))),h&&(this._gc||(p===this._startTime||q!==this._timeScale)&&(0===this._time||n>=this.totalDuration())&&(f&&(j.length&&k(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[h]&&this._callback(h)))}},q._hasPausedChild=function(){for(var a=this._first;a;){if(a._paused||a instanceof d&&a._hasPausedChild())return!0;a=a._next}return!1},q.getChildren=function(a,b,d,e){e=e||-9999999999;for(var f=[],g=this._first,h=0;g;)g._startTime-1;)(d[e].timeline===this||b&&this._contains(d[e]))&&(g[h++]=d[e]);return f&&this._enabled(!1,!0),g},q.recent=function(){return this._recent},q._contains=function(a){for(var b=a.timeline;b;){if(b===this)return!0;b=b.timeline}return!1},q.shiftChildren=function(a,b,c){c=c||0;for(var d,e=this._first,f=this._labels;e;)e._startTime>=c&&(e._startTime+=a),e=e._next;if(b)for(d in f)f[d]>=c&&(f[d]+=a);return this._uncache(!0)},q._kill=function(a,b){if(!a&&!b)return this._enabled(!1,!1);for(var c=b?this.getTweensOf(b):this.getChildren(!0,!0,!1),d=c.length,e=!1;--d>-1;)c[d]._kill(a,b)&&(e=!0);return e},q.clear=function(a){var b=this.getChildren(!1,!0,!0),c=b.length;for(this._time=this._totalTime=0;--c>-1;)b[c]._enabled(!1,!1);return a!==!1&&(this._labels={}),this._uncache(!0)},q.invalidate=function(){for(var b=this._first;b;)b.invalidate(),b=b._next;return a.prototype.invalidate.call(this)},q._enabled=function(a,c){if(a===this._gc)for(var d=this._first;d;)d._enabled(a,!0),d=d._next;return b.prototype._enabled.call(this,a,c)},q.totalTime=function(b,c,d){this._forcingPlayhead=!0;var e=a.prototype.totalTime.apply(this,arguments);return this._forcingPlayhead=!1,e},q.duration=function(a){return arguments.length?(0!==this.duration()&&0!==a&&this.timeScale(this._duration/a),this):(this._dirty&&this.totalDuration(),this._duration)},q.totalDuration=function(a){if(!arguments.length){if(this._dirty){for(var b,c,d=0,e=this._last,f=999999999999;e;)b=e._prev,e._dirty&&e.totalDuration(),e._startTime>f&&this._sortChildren&&!e._paused?this.add(e,e._startTime-e._delay):f=e._startTime,e._startTime<0&&!e._paused&&(d-=e._startTime,this._timeline.smoothChildTiming&&(this._startTime+=e._startTime/this._timeScale),this.shiftChildren(-e._startTime,!1,-9999999999),f=0),c=e._startTime+e._totalDuration/e._timeScale,c>d&&(d=c),e=b;this._duration=this._totalDuration=d,this._dirty=!1}return this._totalDuration}return a&&this.totalDuration()?this.timeScale(this._totalDuration/a):this},q.paused=function(b){if(!b)for(var c=this._first,d=this._time;c;)c._startTime===d&&\"isPause\"===c.data&&(c._rawPrevTime=0),c=c._next;return a.prototype.paused.apply(this,arguments)},q.usesFrames=function(){for(var b=this._timeline;b._timeline;)b=b._timeline;return b===a._rootFramesTimeline},q.rawTime=function(a){return a&&(this._paused||this._repeat&&this.time()>0&&this.totalProgress()<1)?this._totalTime%(this._duration+this._repeatDelay):this._paused?this._totalTime:(this._timeline.rawTime(a)-this._startTime)*this._timeScale},d},!0),_gsScope._gsDefine(\"TimelineMax\",[\"TimelineLite\",\"TweenLite\",\"easing.Ease\"],function(a,b,c){var d=function(b){a.call(this,b),this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._cycle=0,this._yoyo=this.vars.yoyo===!0,this._dirty=!0},e=1e-10,f=b._internals,g=f.lazyTweens,h=f.lazyRender,i=_gsScope._gsDefine.globals,j=new c(null,null,1,0),k=d.prototype=new a;return k.constructor=d,k.kill()._gc=!1,d.version=\"1.20.2\",k.invalidate=function(){return this._yoyo=this.vars.yoyo===!0,this._repeat=this.vars.repeat||0,this._repeatDelay=this.vars.repeatDelay||0,this._uncache(!0),a.prototype.invalidate.call(this)},k.addCallback=function(a,c,d,e){return this.add(b.delayedCall(0,a,d,e),c)},k.removeCallback=function(a,b){if(a)if(null==b)this._kill(null,a);else for(var c=this.getTweensOf(a,!1),d=c.length,e=this._parseTimeOrLabel(b);--d>-1;)c[d]._startTime===e&&c[d]._enabled(!1,!1);return this},k.removePause=function(b){return this.removeCallback(a._internals.pauseCallback,b)},k.tweenTo=function(a,c){c=c||{};var d,e,f,g={ease:j,useFrames:this.usesFrames(),immediateRender:!1},h=c.repeat&&i.TweenMax||b;for(e in c)g[e]=c[e];return g.time=this._parseTimeOrLabel(a),d=Math.abs(Number(g.time)-this._time)/this._timeScale||.001,f=new h(this,d,g),g.onStart=function(){f.target.paused(!0),f.vars.time!==f.target.time()&&d===f.duration()&&f.duration(Math.abs(f.vars.time-f.target.time())/f.target._timeScale),c.onStart&&c.onStart.apply(c.onStartScope||c.callbackScope||f,c.onStartParams||[])},f},k.tweenFromTo=function(a,b,c){c=c||{},a=this._parseTimeOrLabel(a),c.startAt={onComplete:this.seek,onCompleteParams:[a],callbackScope:this},c.immediateRender=c.immediateRender!==!1;var d=this.tweenTo(b,c);return d.duration(Math.abs(d.vars.time-a)/this._timeScale||.001)},k.render=function(a,b,c){this._gc&&this._enabled(!0,!1);var d,f,i,j,k,l,m,n,o=this._dirty?this.totalDuration():this._totalDuration,p=this._duration,q=this._time,r=this._totalTime,s=this._startTime,t=this._timeScale,u=this._rawPrevTime,v=this._paused,w=this._cycle;if(a>=o-1e-7&&a>=0)this._locked||(this._totalTime=o,this._cycle=this._repeat),this._reversed||this._hasPausedChild()||(f=!0,j=\"onComplete\",k=!!this._timeline.autoRemoveChildren,0===this._duration&&(0>=a&&a>=-1e-7||0>u||u===e)&&u!==a&&this._first&&(k=!0,u>e&&(j=\"onReverseComplete\"))),this._rawPrevTime=this._duration||!b||a||this._rawPrevTime===a?a:e,this._yoyo&&0!==(1&this._cycle)?this._time=a=0:(this._time=p,a=p+1e-4);else if(1e-7>a)if(this._locked||(this._totalTime=this._cycle=0),this._time=0,(0!==q||0===p&&u!==e&&(u>0||0>a&&u>=0)&&!this._locked)&&(j=\"onReverseComplete\",f=this._reversed),0>a)this._active=!1,this._timeline.autoRemoveChildren&&this._reversed?(k=f=!0,j=\"onReverseComplete\"):u>=0&&this._first&&(k=!0),this._rawPrevTime=a;else{if(this._rawPrevTime=p||!b||a||this._rawPrevTime===a?a:e,0===a&&f)for(d=this._first;d&&0===d._startTime;)d._duration||(f=!1),d=d._next;a=0,this._initted||(k=!0)}else if(0===p&&0>u&&(k=!0),this._time=this._rawPrevTime=a,this._locked||(this._totalTime=a,0!==this._repeat&&(l=p+this._repeatDelay,this._cycle=this._totalTime/l>>0,0!==this._cycle&&this._cycle===this._totalTime/l&&a>=r&&this._cycle--,this._time=this._totalTime-this._cycle*l,this._yoyo&&0!==(1&this._cycle)&&(this._time=p-this._time),this._time>p?(this._time=p,a=p+1e-4):this._time<0?this._time=a=0:a=this._time)),this._hasPause&&!this._forcingPlayhead&&!b){if(a=this._time,a>=q||this._repeat&&w!==this._cycle)for(d=this._first;d&&d._startTime<=a&&!m;)d._duration||\"isPause\"!==d.data||d.ratio||0===d._startTime&&0===this._rawPrevTime||(m=d),d=d._next;else for(d=this._last;d&&d._startTime>=a&&!m;)d._duration||\"isPause\"===d.data&&d._rawPrevTime>0&&(m=d),d=d._prev;m&&m._startTime0&&(this._active=!0),0===r&&this.vars.onStart&&(0===this._totalTime&&this._totalDuration||b||this._callback(\"onStart\")),n=this._time,n>=q)for(d=this._first;d&&(i=d._next,n===this._time&&(!this._paused||v));)(d._active||d._startTime<=this._time&&!d._paused&&!d._gc)&&(m===d&&this.pause(),d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)),d=i;else for(d=this._last;d&&(i=d._prev,n===this._time&&(!this._paused||v));){if(d._active||d._startTime<=q&&!d._paused&&!d._gc){if(m===d){for(m=d._prev;m&&m.endTime()>this._time;)m.render(m._reversed?m.totalDuration()-(a-m._startTime)*m._timeScale:(a-m._startTime)*m._timeScale,b,c),m=m._prev;m=null,this.pause()}d._reversed?d.render((d._dirty?d.totalDuration():d._totalDuration)-(a-d._startTime)*d._timeScale,b,c):d.render((a-d._startTime)*d._timeScale,b,c)}d=i}this._onUpdate&&(b||(g.length&&h(),this._callback(\"onUpdate\"))),j&&(this._locked||this._gc||(s===this._startTime||t!==this._timeScale)&&(0===this._time||o>=this.totalDuration())&&(f&&(g.length&&h(),this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[j]&&this._callback(j)))},k.getActive=function(a,b,c){null==a&&(a=!0),null==b&&(b=!0),null==c&&(c=!1);var d,e,f=[],g=this.getChildren(a,b,c),h=0,i=g.length;for(d=0;i>d;d++)e=g[d],e.isActive()&&(f[h++]=e);return f},k.getLabelAfter=function(a){a||0!==a&&(a=this._time);var b,c=this.getLabelsArray(),d=c.length;for(b=0;d>b;b++)if(c[b].time>a)return c[b].name;return null},k.getLabelBefore=function(a){null==a&&(a=this._time);for(var b=this.getLabelsArray(),c=b.length;--c>-1;)if(b[c].timethis._duration&&(a=this._duration),this._yoyo&&0!==(1&this._cycle)?a=this._duration-a+this._cycle*(this._duration+this._repeatDelay):0!==this._repeat&&(a+=this._cycle*(this._duration+this._repeatDelay)),this.totalTime(a,b)):this._time},k.repeat=function(a){return arguments.length?(this._repeat=a,this._uncache(!0)):this._repeat},k.repeatDelay=function(a){return arguments.length?(this._repeatDelay=a,this._uncache(!0)):this._repeatDelay},k.yoyo=function(a){return arguments.length?(this._yoyo=a,this):this._yoyo},k.currentLabel=function(a){return arguments.length?this.seek(a,!0):this.getLabelBefore(this._time+1e-8)},d},!0),function(){var a=180/Math.PI,b=[],c=[],d=[],e={},f=_gsScope._gsDefine.globals,g=function(a,b,c,d){c===d&&(c=d-(d-b)/1e6),a===b&&(b=a+(c-a)/1e6),this.a=a,this.b=b,this.c=c,this.d=d,this.da=d-a,this.ca=c-a,this.ba=b-a},h=\",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,\",i=function(a,b,c,d){var e={a:a},f={},g={},h={c:d},i=(a+b)/2,j=(b+c)/2,k=(c+d)/2,l=(i+j)/2,m=(j+k)/2,n=(m-l)/8;return e.b=i+(a-i)/4,f.b=l+n,e.c=f.a=(e.b+f.b)/2,f.c=g.a=(l+m)/2,g.b=m-n,h.b=k+(d-k)/4,g.c=h.a=(g.b+h.b)/2,[e,f,g,h]},j=function(a,e,f,g,h){var j,k,l,m,n,o,p,q,r,s,t,u,v,w=a.length-1,x=0,y=a[0].a;for(j=0;w>j;j++)n=a[x],k=n.a,l=n.d,m=a[x+1].d,h?(t=b[j],u=c[j],v=(u+t)*e*.25/(g?.5:d[j]||.5),o=l-(l-k)*(g?.5*e:0!==t?v/t:0),p=l+(m-l)*(g?.5*e:0!==u?v/u:0),q=l-(o+((p-o)*(3*t/(t+u)+.5)/4||0))):(o=l-(l-k)*e*.5,p=l+(m-l)*e*.5,q=l-(o+p)/2),o+=q,p+=q,n.c=r=o,0!==j?n.b=y:n.b=y=n.a+.6*(n.c-n.a),n.da=l-k,n.ca=r-k,n.ba=y-k,f?(s=i(k,y,r,l),a.splice(x,1,s[0],s[1],s[2],s[3]),x+=4):x++,y=p;n=a[x],n.b=y,n.c=y+.4*(n.d-y),n.da=n.d-n.a,n.ca=n.c-n.a,n.ba=y-n.a,f&&(s=i(n.a,y,n.c,n.d),a.splice(x,1,s[0],s[1],s[2],s[3]))},k=function(a,d,e,f){var h,i,j,k,l,m,n=[];if(f)for(a=[f].concat(a),i=a.length;--i>-1;)\"string\"==typeof(m=a[i][d])&&\"=\"===m.charAt(1)&&(a[i][d]=f[d]+Number(m.charAt(0)+m.substr(2)));if(h=a.length-2,0>h)return n[0]=new g(a[0][d],0,0,a[0][d]),n;for(i=0;h>i;i++)j=a[i][d],k=a[i+1][d],n[i]=new g(j,0,0,k),e&&(l=a[i+2][d],b[i]=(b[i]||0)+(k-j)*(k-j),c[i]=(c[i]||0)+(l-k)*(l-k));return n[i]=new g(a[i][d],0,0,a[i+1][d]),n},l=function(a,f,g,i,l,m){var n,o,p,q,r,s,t,u,v={},w=[],x=m||a[0];l=\"string\"==typeof l?\",\"+l+\",\":h,null==f&&(f=1);for(o in a[0])w.push(o);if(a.length>1){for(u=a[a.length-1],t=!0,n=w.length;--n>-1;)if(o=w[n],Math.abs(x[o]-u[o])>.05){t=!1;break}t&&(a=a.concat(),m&&a.unshift(m),a.push(a[1]),m=a[a.length-3])}for(b.length=c.length=d.length=0,n=w.length;--n>-1;)o=w[n],e[o]=-1!==l.indexOf(\",\"+o+\",\"),v[o]=k(a,o,e[o],m);for(n=b.length;--n>-1;)b[n]=Math.sqrt(b[n]),c[n]=Math.sqrt(c[n]);if(!i){for(n=w.length;--n>-1;)if(e[o])for(p=v[w[n]],s=p.length-1,q=0;s>q;q++)r=p[q+1].da/c[q]+p[q].da/b[q]||0,d[q]=(d[q]||0)+r*r;for(n=d.length;--n>-1;)d[n]=Math.sqrt(d[n])}for(n=w.length,q=g?4:1;--n>-1;)o=w[n],p=v[o],j(p,f,g,i,e[o]),t&&(p.splice(0,q),p.splice(p.length-q,q));return v},m=function(a,b,c){b=b||\"soft\";var d,e,f,h,i,j,k,l,m,n,o,p={},q=\"cubic\"===b?3:2,r=\"soft\"===b,s=[];if(r&&c&&(a=[c].concat(a)),null==a||a.length-1;){for(m=s[j],p[m]=i=[],n=0,l=a.length,k=0;l>k;k++)d=null==c?a[k][m]:\"string\"==typeof(o=a[k][m])&&\"=\"===o.charAt(1)?c[m]+Number(o.charAt(0)+o.substr(2)):Number(o),r&&k>1&&l-1>k&&(i[n++]=(d+i[n-2])/2),i[n++]=d;for(l=n-q+1,n=0,k=0;l>k;k+=q)d=i[k],e=i[k+1],f=i[k+2],h=2===q?0:i[k+3],i[n++]=o=3===q?new g(d,e,f,h):new g(d,(2*e+d)/3,(2*e+f)/3,f);i.length=n}return p},n=function(a,b,c){for(var d,e,f,g,h,i,j,k,l,m,n,o=1/c,p=a.length;--p>-1;)for(m=a[p],f=m.a,g=m.d-f,h=m.c-f,i=m.b-f,d=e=0,k=1;c>=k;k++)j=o*k,l=1-j,d=e-(e=(j*j*g+3*l*(j*h+l*i))*j),n=p*c+k-1,b[n]=(b[n]||0)+d*d},o=function(a,b){b=b>>0||6;var c,d,e,f,g=[],h=[],i=0,j=0,k=b-1,l=[],m=[];for(c in a)n(a[c],g,b);for(e=g.length,d=0;e>d;d++)i+=Math.sqrt(g[d]),f=d%b,m[f]=i,f===k&&(j+=i,f=d/b>>0,l[f]=m,h[f]=j,i=0,m=[]);return{length:j,lengths:h,segments:l}},p=_gsScope._gsDefine.plugin({propName:\"bezier\",priority:-1,version:\"1.3.8\",API:2,global:!0,init:function(a,b,c){this._target=a,b instanceof Array&&(b={values:b}),this._func={},this._mod={},this._props=[],this._timeRes=null==b.timeResolution?6:parseInt(b.timeResolution,10);var d,e,f,g,h,i=b.values||[],j={},k=i[0],n=b.autoRotate||c.vars.orientToBezier;this._autoRotate=n?n instanceof Array?n:[[\"x\",\"y\",\"rotation\",n===!0?0:Number(n)||0]]:null;for(d in k)this._props.push(d);for(f=this._props.length;--f>-1;)d=this._props[f],this._overwriteProps.push(d),e=this._func[d]=\"function\"==typeof a[d],j[d]=e?a[d.indexOf(\"set\")||\"function\"!=typeof a[\"get\"+d.substr(3)]?d:\"get\"+d.substr(3)]():parseFloat(a[d]),h||j[d]!==i[0][d]&&(h=j);if(this._beziers=\"cubic\"!==b.type&&\"quadratic\"!==b.type&&\"soft\"!==b.type?l(i,isNaN(b.curviness)?1:b.curviness,!1,\"thruBasic\"===b.type,b.correlate,h):m(i,b.type,j),this._segCount=this._beziers[d].length,this._timeRes){var p=o(this._beziers,this._timeRes);this._length=p.length,this._lengths=p.lengths,this._segments=p.segments,this._l1=this._li=this._s1=this._si=0,this._l2=this._lengths[0],this._curSeg=this._segments[0],this._s2=this._curSeg[0],this._prec=1/this._curSeg.length}if(n=this._autoRotate)for(this._initialRotations=[],n[0]instanceof Array||(this._autoRotate=n=[n]),f=n.length;--f>-1;){for(g=0;3>g;g++)d=n[f][g],this._func[d]=\"function\"==typeof a[d]?a[d.indexOf(\"set\")||\"function\"!=typeof a[\"get\"+d.substr(3)]?d:\"get\"+d.substr(3)]:!1;d=n[f][2],this._initialRotations[f]=(this._func[d]?this._func[d].call(this._target):this._target[d])||0,this._overwriteProps.push(d)}return this._startRatio=c.vars.runBackwards?1:0,!0},set:function(b){var c,d,e,f,g,h,i,j,k,l,m=this._segCount,n=this._func,o=this._target,p=b!==this._startRatio;if(this._timeRes){if(k=this._lengths,l=this._curSeg,b*=this._length,e=this._li,b>this._l2&&m-1>e){for(j=m-1;j>e&&(this._l2=k[++e])<=b;);this._l1=k[e-1],this._li=e,this._curSeg=l=this._segments[e],this._s2=l[this._s1=this._si=0]}else if(b0){for(;e>0&&(this._l1=k[--e])>=b;);0===e&&bthis._s2&&ee&&(this._s2=l[++e])<=b;);this._s1=l[e-1],this._si=e}else if(b0){for(;e>0&&(this._s1=l[--e])>=b;);0===e&&bb?0:b>=1?m-1:m*b>>0,h=(b-c*(1/m))*m;for(d=1-h,e=this._props.length;--e>-1;)f=this._props[e],g=this._beziers[f][c],i=(h*h*g.da+3*d*(h*g.ca+d*g.ba))*h+g.a,this._mod[f]&&(i=this._mod[f](i,o)),n[f]?o[f](i):o[f]=i;if(this._autoRotate){var q,r,s,t,u,v,w,x=this._autoRotate;for(e=x.length;--e>-1;)f=x[e][2],v=x[e][3]||0,w=x[e][4]===!0?1:a,g=this._beziers[x[e][0]],q=this._beziers[x[e][1]],g&&q&&(g=g[c],q=q[c],r=g.a+(g.b-g.a)*h,t=g.b+(g.c-g.b)*h,r+=(t-r)*h,t+=(g.c+(g.d-g.c)*h-t)*h,s=q.a+(q.b-q.a)*h,u=q.b+(q.c-q.b)*h,s+=(u-s)*h,u+=(q.c+(q.d-q.c)*h-u)*h,i=p?Math.atan2(u-s,t-r)*w+v:this._initialRotations[e],this._mod[f]&&(i=this._mod[f](i,o)),n[f]?o[f](i):o[f]=i)}}}),q=p.prototype;p.bezierThrough=l,p.cubicToQuadratic=i,p._autoCSS=!0,p.quadraticToCubic=function(a,b,c){return new g(a,(2*b+a)/3,(2*b+c)/3,c)},p._cssRegister=function(){var a=f.CSSPlugin;if(a){var b=a._internals,c=b._parseToProxy,d=b._setPluginRatio,e=b.CSSPropTween;b._registerComplexSpecialProp(\"bezier\",{parser:function(a,b,f,g,h,i){b instanceof Array&&(b={values:b}),i=new p;var j,k,l,m=b.values,n=m.length-1,o=[],q={};if(0>n)return h;for(j=0;n>=j;j++)l=c(a,m[j],g,h,i,n!==j),o[j]=l.end;for(k in b)q[k]=b[k];return q.values=o,h=new e(a,\"bezier\",0,0,l.pt,2),h.data=l,h.plugin=i,h.setRatio=d,0===q.autoRotate&&(q.autoRotate=!0),!q.autoRotate||q.autoRotate instanceof Array||(j=q.autoRotate===!0?0:Number(q.autoRotate),q.autoRotate=null!=l.end.left?[[\"left\",\"top\",\"rotation\",j,!1]]:null!=l.end.x?[[\"x\",\"y\",\"rotation\",j,!1]]:!1),q.autoRotate&&(g._transform||g._enableTransforms(!1),l.autoRotate=g._target._gsTransform,l.proxy.rotation=l.autoRotate.rotation||0,g._overwriteProps.push(\"rotation\")),i._onInitTween(l.proxy,q,g._tween),h}})}},q._mod=function(a){for(var b,c=this._overwriteProps,d=c.length;--d>-1;)b=a[c[d]],b&&\"function\"==typeof b&&(this._mod[c[d]]=b)},q._kill=function(a){var b,c,d=this._props;for(b in this._beziers)if(b in a)for(delete this._beziers[b],delete this._func[b],c=d.length;--c>-1;)d[c]===b&&d.splice(c,1);if(d=this._autoRotate)for(c=d.length;--c>-1;)a[d[c][2]]&&d.splice(c,1);return this._super._kill.call(this,a)}}(),_gsScope._gsDefine(\"plugins.CSSPlugin\",[\"plugins.TweenPlugin\",\"TweenLite\"],function(a,b){var c,d,e,f,g=function(){a.call(this,\"css\"),this._overwriteProps.length=0,this.setRatio=g.prototype.setRatio},h=_gsScope._gsDefine.globals,i={},j=g.prototype=new a(\"css\");j.constructor=g,g.version=\"1.20.0\",g.API=2,g.defaultTransformPerspective=0,g.defaultSkewType=\"compensated\",g.defaultSmoothOrigin=!0,j=\"px\",g.suffixMap={top:j,right:j,bottom:j,left:j,width:j,height:j,fontSize:j,padding:j,margin:j,perspective:j,lineHeight:\"\"};var k,l,m,n,o,p,q,r,s=/(?:\\-|\\.|\\b)(\\d|\\.|e\\-)+/g,t=/(?:\\d|\\-\\d|\\.\\d|\\-\\.\\d|\\+=\\d|\\-=\\d|\\+=.\\d|\\-=\\.\\d)+/g,u=/(?:\\+=|\\-=|\\-|\\b)[\\d\\-\\.]+[a-zA-Z0-9]*(?:%|\\b)/gi,v=/(?![+-]?\\d*\\.?\\d+|[+-]|e[+-]\\d+)[^0-9]/g,w=/(?:\\d|\\-|\\+|=|#|\\.)*/g,x=/opacity *= *([^)]*)/i,y=/opacity:([^;]*)/i,z=/alpha\\(opacity *=.+?\\)/i,A=/^(rgb|hsl)/,B=/([A-Z])/g,C=/-([a-z])/gi,D=/(^(?:url\\(\\\"|url\\())|(?:(\\\"\\))$|\\)$)/gi,E=function(a,b){return b.toUpperCase()},F=/(?:Left|Right|Width)/i,G=/(M11|M12|M21|M22)=[\\d\\-\\.e]+/gi,H=/progid\\:DXImageTransform\\.Microsoft\\.Matrix\\(.+?\\)/i,I=/,(?=[^\\)]*(?:\\(|$))/gi,J=/[\\s,\\(]/i,K=Math.PI/180,L=180/Math.PI,M={},N={style:{}},O=_gsScope.document||{createElement:function(){return N}},P=function(a,b){return O.createElementNS?O.createElementNS(b||\"http://www.w3.org/1999/xhtml\",a):O.createElement(a)},Q=P(\"div\"),R=P(\"img\"),S=g._internals={_specialProps:i},T=(_gsScope.navigator||{}).userAgent||\"\",U=function(){var a=T.indexOf(\"Android\"),b=P(\"a\");return m=-1!==T.indexOf(\"Safari\")&&-1===T.indexOf(\"Chrome\")&&(-1===a||parseFloat(T.substr(a+8,2))>3),o=m&&parseFloat(T.substr(T.indexOf(\"Version/\")+8,2))<6,n=-1!==T.indexOf(\"Firefox\"),(/MSIE ([0-9]{1,}[\\.0-9]{0,})/.exec(T)||/Trident\\/.*rv:([0-9]{1,}[\\.0-9]{0,})/.exec(T))&&(p=parseFloat(RegExp.$1)),b?(b.style.cssText=\"top:1px;opacity:.55;\",/^0.55/.test(b.style.opacity)):!1}(),V=function(a){return x.test(\"string\"==typeof a?a:(a.currentStyle?a.currentStyle.filter:a.style.filter)||\"\")?parseFloat(RegExp.$1)/100:1},W=function(a){_gsScope.console&&console.log(a)},X=\"\",Y=\"\",Z=function(a,b){b=b||Q;var c,d,e=b.style;if(void 0!==e[a])return a;for(a=a.charAt(0).toUpperCase()+a.substr(1),c=[\"O\",\"Moz\",\"ms\",\"Ms\",\"Webkit\"],d=5;--d>-1&&void 0===e[c[d]+a];);return d>=0?(Y=3===d?\"ms\":c[d],X=\"-\"+Y.toLowerCase()+\"-\",Y+a):null},$=O.defaultView?O.defaultView.getComputedStyle:function(){},_=g.getStyle=function(a,b,c,d,e){var f;return U||\"opacity\"!==b?(!d&&a.style[b]?f=a.style[b]:(c=c||$(a))?f=c[b]||c.getPropertyValue(b)||c.getPropertyValue(b.replace(B,\"-$1\").toLowerCase()):a.currentStyle&&(f=a.currentStyle[b]),null==e||f&&\"none\"!==f&&\"auto\"!==f&&\"auto auto\"!==f?f:e):V(a)},aa=S.convertToPixels=function(a,c,d,e,f){if(\"px\"===e||!e&&\"lineHeight\"!==c)return d;if(\"auto\"===e||!d)return 0;var h,i,j,k=F.test(c),l=a,m=Q.style,n=0>d,o=1===d;if(n&&(d=-d),o&&(d*=100),\"lineHeight\"!==c||e)if(\"%\"===e&&-1!==c.indexOf(\"border\"))h=d/100*(k?a.clientWidth:a.clientHeight);else{if(m.cssText=\"border:0 solid red;position:\"+_(a,\"position\")+\";line-height:0;\",\"%\"!==e&&l.appendChild&&\"v\"!==e.charAt(0)&&\"rem\"!==e)m[k?\"borderLeftWidth\":\"borderTopWidth\"]=d+e;else{if(l=a.parentNode||O.body,-1!==_(l,\"display\").indexOf(\"flex\")&&(m.position=\"absolute\"),i=l._gsCache,j=b.ticker.frame,i&&k&&i.time===j)return i.width*d/100;m[k?\"width\":\"height\"]=d+e}l.appendChild(Q),h=parseFloat(Q[k?\"offsetWidth\":\"offsetHeight\"]),l.removeChild(Q),k&&\"%\"===e&&g.cacheWidths!==!1&&(i=l._gsCache=l._gsCache||{},i.time=j,i.width=h/d*100),0!==h||f||(h=aa(a,c,d,e,!0))}else i=$(a).lineHeight,a.style.lineHeight=d,h=parseFloat($(a).lineHeight),a.style.lineHeight=i;return o&&(h/=100),n?-h:h},ba=S.calculateOffset=function(a,b,c){if(\"absolute\"!==_(a,\"position\",c))return 0;var d=\"left\"===b?\"Left\":\"Top\",e=_(a,\"margin\"+d,c);return a[\"offset\"+d]-(aa(a,b,parseFloat(e),e.replace(w,\"\"))||0)},ca=function(a,b){var c,d,e,f={};if(b=b||$(a,null))if(c=b.length)for(;--c>-1;)e=b[c],(-1===e.indexOf(\"-transform\")||Da===e)&&(f[e.replace(C,E)]=b.getPropertyValue(e));else for(c in b)(-1===c.indexOf(\"Transform\")||Ca===c)&&(f[c]=b[c]);else if(b=a.currentStyle||a.style)for(c in b)\"string\"==typeof c&&void 0===f[c]&&(f[c.replace(C,E)]=b[c]);return U||(f.opacity=V(a)),d=Ra(a,b,!1),f.rotation=d.rotation,f.skewX=d.skewX,f.scaleX=d.scaleX,f.scaleY=d.scaleY,f.x=d.x,f.y=d.y,Fa&&(f.z=d.z,f.rotationX=d.rotationX,f.rotationY=d.rotationY,f.scaleZ=d.scaleZ),f.filters&&delete f.filters,f},da=function(a,b,c,d,e){var f,g,h,i={},j=a.style;for(g in c)\"cssText\"!==g&&\"length\"!==g&&isNaN(g)&&(b[g]!==(f=c[g])||e&&e[g])&&-1===g.indexOf(\"Origin\")&&(\"number\"==typeof f||\"string\"==typeof f)&&(i[g]=\"auto\"!==f||\"left\"!==g&&\"top\"!==g?\"\"!==f&&\"auto\"!==f&&\"none\"!==f||\"string\"!=typeof b[g]||\"\"===b[g].replace(v,\"\")?f:0:ba(a,g),void 0!==j[g]&&(h=new sa(j,g,j[g],h)));if(d)for(g in d)\"className\"!==g&&(i[g]=d[g]);return{difs:i,firstMPT:h}},ea={width:[\"Left\",\"Right\"],height:[\"Top\",\"Bottom\"]},fa=[\"marginLeft\",\"marginRight\",\"marginTop\",\"marginBottom\"],ga=function(a,b,c){if(\"svg\"===(a.nodeName+\"\").toLowerCase())return(c||$(a))[b]||0;if(a.getCTM&&Oa(a))return a.getBBox()[b]||0;var d=parseFloat(\"width\"===b?a.offsetWidth:a.offsetHeight),e=ea[b],f=e.length;for(c=c||$(a,null);--f>-1;)d-=parseFloat(_(a,\"padding\"+e[f],c,!0))||0,d-=parseFloat(_(a,\"border\"+e[f]+\"Width\",c,!0))||0;return d},ha=function(a,b){if(\"contain\"===a||\"auto\"===a||\"auto auto\"===a)return a+\" \";(null==a||\"\"===a)&&(a=\"0 0\");var c,d=a.split(\" \"),e=-1!==a.indexOf(\"left\")?\"0%\":-1!==a.indexOf(\"right\")?\"100%\":d[0],f=-1!==a.indexOf(\"top\")?\"0%\":-1!==a.indexOf(\"bottom\")?\"100%\":d[1];if(d.length>3&&!b){for(d=a.split(\", \").join(\",\").split(\",\"),a=[],c=0;c2?\" \"+d[2]:\"\"),b&&(b.oxp=-1!==e.indexOf(\"%\"),b.oyp=-1!==f.indexOf(\"%\"),b.oxr=\"=\"===e.charAt(1),b.oyr=\"=\"===f.charAt(1),b.ox=parseFloat(e.replace(v,\"\")),b.oy=parseFloat(f.replace(v,\"\")),b.v=a),b||a},ia=function(a,b){return\"function\"==typeof a&&(a=a(r,q)),\"string\"==typeof a&&\"=\"===a.charAt(1)?parseInt(a.charAt(0)+\"1\",10)*parseFloat(a.substr(2)):parseFloat(a)-parseFloat(b)||0},ja=function(a,b){return\"function\"==typeof a&&(a=a(r,q)),null==a?b:\"string\"==typeof a&&\"=\"===a.charAt(1)?parseInt(a.charAt(0)+\"1\",10)*parseFloat(a.substr(2))+b:parseFloat(a)||0},ka=function(a,b,c,d){var e,f,g,h,i,j=1e-6;return\"function\"==typeof a&&(a=a(r,q)),null==a?h=b:\"number\"==typeof a?h=a:(e=360,f=a.split(\"_\"),i=\"=\"===a.charAt(1),g=(i?parseInt(a.charAt(0)+\"1\",10)*parseFloat(f[0].substr(2)):parseFloat(f[0]))*(-1===a.indexOf(\"rad\")?1:L)-(i?0:b),f.length&&(d&&(d[c]=b+g),-1!==a.indexOf(\"short\")&&(g%=e,g!==g%(e/2)&&(g=0>g?g+e:g-e)),-1!==a.indexOf(\"_cw\")&&0>g?g=(g+9999999999*e)%e-(g/e|0)*e:-1!==a.indexOf(\"ccw\")&&g>0&&(g=(g-9999999999*e)%e-(g/e|0)*e)),h=b+g),j>h&&h>-j&&(h=0),h},la={aqua:[0,255,255],lime:[0,255,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,255],navy:[0,0,128],white:[255,255,255],fuchsia:[255,0,255],olive:[128,128,0],yellow:[255,255,0],orange:[255,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[255,0,0],pink:[255,192,203],cyan:[0,255,255],transparent:[255,255,255,0]},ma=function(a,b,c){return a=0>a?a+1:a>1?a-1:a,255*(1>6*a?b+(c-b)*a*6:.5>a?c:2>3*a?b+(c-b)*(2/3-a)*6:b)+.5|0},na=g.parseColor=function(a,b){var c,d,e,f,g,h,i,j,k,l,m;if(a)if(\"number\"==typeof a)c=[a>>16,a>>8&255,255&a];else{if(\",\"===a.charAt(a.length-1)&&(a=a.substr(0,a.length-1)),la[a])c=la[a];else if(\"#\"===a.charAt(0))4===a.length&&(d=a.charAt(1),e=a.charAt(2),f=a.charAt(3),a=\"#\"+d+d+e+e+f+f),a=parseInt(a.substr(1),16),c=[a>>16,a>>8&255,255&a];else if(\"hsl\"===a.substr(0,3))if(c=m=a.match(s),b){if(-1!==a.indexOf(\"=\"))return a.match(t)}else g=Number(c[0])%360/360,h=Number(c[1])/100,i=Number(c[2])/100,e=.5>=i?i*(h+1):i+h-i*h,d=2*i-e,c.length>3&&(c[3]=Number(a[3])),c[0]=ma(g+1/3,d,e),c[1]=ma(g,d,e),c[2]=ma(g-1/3,d,e);else c=a.match(s)||la.transparent;c[0]=Number(c[0]),c[1]=Number(c[1]),c[2]=Number(c[2]),c.length>3&&(c[3]=Number(c[3]))}else c=la.black;return b&&!m&&(d=c[0]/255,e=c[1]/255,f=c[2]/255,j=Math.max(d,e,f),k=Math.min(d,e,f),i=(j+k)/2,j===k?g=h=0:(l=j-k,h=i>.5?l/(2-j-k):l/(j+k),g=j===d?(e-f)/l+(f>e?6:0):j===e?(f-d)/l+2:(d-e)/l+4,g*=60),c[0]=g+.5|0,c[1]=100*h+.5|0,c[2]=100*i+.5|0),c},oa=function(a,b){var c,d,e,f=a.match(pa)||[],g=0,h=\"\";if(!f.length)return a;for(c=0;c0?g[0].replace(s,\"\"):\"\";return k?e=b?function(a){var b,m,n,o;if(\"number\"==typeof a)a+=l;else if(d&&I.test(a)){for(o=a.replace(I,\"|\").split(\"|\"),n=0;nn--)for(;++nm--)for(;++mi;i++)h[a[i]]=j[i]=j[i]||j[(i-1)/2>>0];return e.parse(b,h,f,g)}},sa=(S._setPluginRatio=function(a){this.plugin.setRatio(a);for(var b,c,d,e,f,g=this.data,h=g.proxy,i=g.firstMPT,j=1e-6;i;)b=h[i.v],i.r?b=Math.round(b):j>b&&b>-j&&(b=0),i.t[i.p]=b,i=i._next;if(g.autoRotate&&(g.autoRotate.rotation=g.mod?g.mod(h.rotation,this.t):h.rotation),1===a||0===a)for(i=g.firstMPT,f=1===a?\"e\":\"b\";i;){if(c=i.t,c.type){if(1===c.type){for(e=c.xs0+c.s+c.xs1,d=1;d0;)i=\"xn\"+g,h=d.p+\"_\"+i,n[h]=d.data[i],m[h]=d[i],f||(j=new sa(d,i,h,j,d.rxp[i]));d=d._next}return{proxy:m,end:n,firstMPT:j,pt:k}},S.CSSPropTween=function(a,b,d,e,g,h,i,j,k,l,m){this.t=a,this.p=b,this.s=d,this.c=e,this.n=i||b,a instanceof ta||f.push(this.n),this.r=j,this.type=h||0,k&&(this.pr=k,c=!0),this.b=void 0===l?d:l,this.e=void 0===m?d+e:m,g&&(this._next=g,g._prev=this)}),ua=function(a,b,c,d,e,f){var g=new ta(a,b,c,d-c,e,-1,f);return g.b=c,g.e=g.xs0=d,g},va=g.parseComplex=function(a,b,c,d,e,f,h,i,j,l){c=c||f||\"\",\"function\"==typeof d&&(d=d(r,q)),h=new ta(a,b,0,0,h,l?2:1,null,!1,i,c,d),d+=\"\",e&&pa.test(d+c)&&(d=[c,d],g.colorStringFilter(d),c=d[0],d=d[1]);var m,n,o,p,u,v,w,x,y,z,A,B,C,D=c.split(\", \").join(\",\").split(\" \"),E=d.split(\", \").join(\",\").split(\" \"),F=D.length,G=k!==!1;for((-1!==d.indexOf(\",\")||-1!==c.indexOf(\",\"))&&(D=D.join(\" \").replace(I,\", \").split(\" \"),E=E.join(\" \").replace(I,\", \").split(\" \"),F=D.length),F!==E.length&&(D=(f||\"\").split(\" \"),F=D.length),h.plugin=j,h.setRatio=l,pa.lastIndex=0,m=0;F>m;m++)if(p=D[m],u=E[m],x=parseFloat(p),x||0===x)h.appendXtra(\"\",x,ia(u,x),u.replace(t,\"\"),G&&-1!==u.indexOf(\"px\"),!0);else if(e&&pa.test(p))B=u.indexOf(\")\")+1,B=\")\"+(B?u.substr(B):\"\"),C=-1!==u.indexOf(\"hsl\")&&U,z=u,p=na(p,C),u=na(u,C),y=p.length+u.length>6,y&&!U&&0===u[3]?(h[\"xs\"+h.l]+=h.l?\" transparent\":\"transparent\",h.e=h.e.split(E[m]).join(\"transparent\")):(U||(y=!1),C?h.appendXtra(z.substr(0,z.indexOf(\"hsl\"))+(y?\"hsla(\":\"hsl(\"),p[0],ia(u[0],p[0]),\",\",!1,!0).appendXtra(\"\",p[1],ia(u[1],p[1]),\"%,\",!1).appendXtra(\"\",p[2],ia(u[2],p[2]),y?\"%,\":\"%\"+B,!1):h.appendXtra(z.substr(0,z.indexOf(\"rgb\"))+(y?\"rgba(\":\"rgb(\"),p[0],u[0]-p[0],\",\",!0,!0).appendXtra(\"\",p[1],u[1]-p[1],\",\",!0).appendXtra(\"\",p[2],u[2]-p[2],y?\",\":B,!0),y&&(p=p.length<4?1:p[3],h.appendXtra(\"\",p,(u.length<4?1:u[3])-p,B,!1))),pa.lastIndex=0;else if(v=p.match(s)){if(w=u.match(t),!w||w.length!==v.length)return h;for(o=0,n=0;n0;)j[\"xn\"+wa]=0,j[\"xs\"+wa]=\"\";j.xs0=\"\",j._next=j._prev=j.xfirst=j.data=j.plugin=j.setRatio=j.rxp=null,j.appendXtra=function(a,b,c,d,e,f){var g=this,h=g.l;return g[\"xs\"+h]+=f&&(h||g[\"xs\"+h])?\" \"+a:a||\"\",c||0===h||g.plugin?(g.l++,g.type=g.setRatio?2:1,g[\"xs\"+g.l]=d||\"\",h>0?(g.data[\"xn\"+h]=b+c,g.rxp[\"xn\"+h]=e,g[\"xn\"+h]=b,g.plugin||(g.xfirst=new ta(g,\"xn\"+h,b,c,g.xfirst||g,0,g.n,e,g.pr),g.xfirst.xs0=0),g):(g.data={s:b+c},g.rxp={},g.s=b,g.c=c,g.r=e,g)):(g[\"xs\"+h]+=b+(d||\"\"),g)};var xa=function(a,b){b=b||{},this.p=b.prefix?Z(a)||a:a,i[a]=i[this.p]=this,this.format=b.formatter||qa(b.defaultValue,b.color,b.collapsible,b.multi),b.parser&&(this.parse=b.parser),this.clrs=b.color,this.multi=b.multi,this.keyword=b.keyword,this.dflt=b.defaultValue,this.pr=b.priority||0},ya=S._registerComplexSpecialProp=function(a,b,c){\"object\"!=typeof b&&(b={parser:c});var d,e,f=a.split(\",\"),g=b.defaultValue;for(c=c||[g],d=0;dh.length?i.length:h.length,g=0;j>g;g++)b=h[g]=h[g]||this.dflt,c=i[g]=i[g]||this.dflt,m&&(k=b.indexOf(m),l=c.indexOf(m),k!==l&&(-1===l?h[g]=h[g].split(m).join(\"\"):-1===k&&(h[g]+=\" \"+m)));b=h.join(\", \"),c=i.join(\", \")}return va(a,this.p,b,c,this.clrs,this.dflt,d,this.pr,e,f)},j.parse=function(a,b,c,d,f,g,h){return this.parseComplex(a.style,this.format(_(a,this.p,e,!1,this.dflt)),this.format(b),f,g)},g.registerSpecialProp=function(a,b,c){ya(a,{parser:function(a,d,e,f,g,h,i){var j=new ta(a,e,0,0,g,2,e,!1,c);return j.plugin=h,j.setRatio=b(a,d,f._tween,e),j},priority:c})},g.useSVGTransformAttr=!0;var Aa,Ba=\"scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent\".split(\",\"),Ca=Z(\"transform\"),Da=X+\"transform\",Ea=Z(\"transformOrigin\"),Fa=null!==Z(\"perspective\"),Ga=S.Transform=function(){this.perspective=parseFloat(g.defaultTransformPerspective)||0,this.force3D=g.defaultForce3D!==!1&&Fa?g.defaultForce3D||\"auto\":!1},Ha=_gsScope.SVGElement,Ia=function(a,b,c){var d,e=O.createElementNS(\"http://www.w3.org/2000/svg\",a),f=/([a-z])([A-Z])/g;for(d in c)e.setAttributeNS(null,d.replace(f,\"$1-$2\").toLowerCase(),c[d]);return b.appendChild(e),e},Ja=O.documentElement||{},Ka=function(){var a,b,c,d=p||/Android/i.test(T)&&!_gsScope.chrome;return O.createElementNS&&!d&&(a=Ia(\"svg\",Ja),b=Ia(\"rect\",a,{width:100,height:50,x:100}),c=b.getBoundingClientRect().width,b.style[Ea]=\"50% 50%\",b.style[Ca]=\"scaleX(0.5)\",d=c===b.getBoundingClientRect().width&&!(n&&Fa),Ja.removeChild(a)),d}(),La=function(a,b,c,d,e,f){var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a._gsTransform,w=Qa(a,!0);v&&(t=v.xOrigin,u=v.yOrigin),(!d||(h=d.split(\" \")).length<2)&&(n=a.getBBox(),0===n.x&&0===n.y&&n.width+n.height===0&&(n={x:parseFloat(a.hasAttribute(\"x\")?a.getAttribute(\"x\"):a.hasAttribute(\"cx\")?a.getAttribute(\"cx\"):0)||0,y:parseFloat(a.hasAttribute(\"y\")?a.getAttribute(\"y\"):a.hasAttribute(\"cy\")?a.getAttribute(\"cy\"):0)||0,width:0,height:0}),b=ha(b).split(\" \"),h=[(-1!==b[0].indexOf(\"%\")?parseFloat(b[0])/100*n.width:parseFloat(b[0]))+n.x,(-1!==b[1].indexOf(\"%\")?parseFloat(b[1])/100*n.height:parseFloat(b[1]))+n.y]),c.xOrigin=k=parseFloat(h[0]),c.yOrigin=l=parseFloat(h[1]),d&&w!==Pa&&(m=w[0],n=w[1],o=w[2],p=w[3],q=w[4],r=w[5],s=m*p-n*o,s&&(i=k*(p/s)+l*(-o/s)+(o*r-p*q)/s,j=k*(-n/s)+l*(m/s)-(m*r-n*q)/s,k=c.xOrigin=h[0]=i,l=c.yOrigin=h[1]=j)),v&&(f&&(c.xOffset=v.xOffset,c.yOffset=v.yOffset,v=c),e||e!==!1&&g.defaultSmoothOrigin!==!1?(i=k-t,j=l-u,v.xOffset+=i*w[0]+j*w[2]-i,v.yOffset+=i*w[1]+j*w[3]-j):v.xOffset=v.yOffset=0),f||a.setAttribute(\"data-svg-origin\",h.join(\" \"))},Ma=function(a){var b,c=P(\"svg\",this.ownerSVGElement.getAttribute(\"xmlns\")||\"http://www.w3.org/2000/svg\"),d=this.parentNode,e=this.nextSibling,f=this.style.cssText;if(Ja.appendChild(c),c.appendChild(this),this.style.display=\"block\",a)try{b=this.getBBox(),this._originalGetBBox=this.getBBox,this.getBBox=Ma}catch(g){}else this._originalGetBBox&&(b=this._originalGetBBox());return e?d.insertBefore(this,e):d.appendChild(this),Ja.removeChild(c),this.style.cssText=f,b},Na=function(a){try{return a.getBBox()}catch(b){return Ma.call(a,!0)}},Oa=function(a){return!(!(Ha&&a.getCTM&&Na(a))||a.parentNode&&!a.ownerSVGElement)},Pa=[1,0,0,1,0,0],Qa=function(a,b){var c,d,e,f,g,h,i=a._gsTransform||new Ga,j=1e5,k=a.style;if(Ca?d=_(a,Da,null,!0):a.currentStyle&&(d=a.currentStyle.filter.match(G),d=d&&4===d.length?[d[0].substr(4),Number(d[2].substr(4)),Number(d[1].substr(4)),d[3].substr(4),i.x||0,i.y||0].join(\",\"):\"\"),c=!d||\"none\"===d||\"matrix(1, 0, 0, 1, 0, 0)\"===d,!Ca||!(h=\"none\"===$(a).display)&&a.parentNode||(h&&(f=k.display,k.display=\"block\"),a.parentNode||(g=1,Ja.appendChild(a)),d=_(a,Da,null,!0),c=!d||\"none\"===d||\"matrix(1, 0, 0, 1, 0, 0)\"===d,f?k.display=f:h&&Va(k,\"display\"),g&&Ja.removeChild(a)),(i.svg||a.getCTM&&Oa(a))&&(c&&-1!==(k[Ca]+\"\").indexOf(\"matrix\")&&(d=k[Ca],c=0),e=a.getAttribute(\"transform\"),c&&e&&(-1!==e.indexOf(\"matrix\")?(d=e,c=0):-1!==e.indexOf(\"translate\")&&(d=\"matrix(1,0,0,1,\"+e.match(/(?:\\-|\\b)[\\d\\-\\.e]+\\b/gi).join(\",\")+\")\",c=0))),c)return Pa;for(e=(d||\"\").match(s)||[],wa=e.length;--wa>-1;)f=Number(e[wa]),e[wa]=(g=f-(f|=0))?(g*j+(0>g?-.5:.5)|0)/j+f:f;return b&&e.length>6?[e[0],e[1],e[4],e[5],e[12],e[13]]:e},Ra=S.getTransform=function(a,c,d,e){if(a._gsTransform&&d&&!e)return a._gsTransform;var f,h,i,j,k,l,m=d?a._gsTransform||new Ga:new Ga,n=m.scaleX<0,o=2e-5,p=1e5,q=Fa?parseFloat(_(a,Ea,c,!1,\"0 0 0\").split(\" \")[2])||m.zOrigin||0:0,r=parseFloat(g.defaultTransformPerspective)||0;if(m.svg=!(!a.getCTM||!Oa(a)),m.svg&&(La(a,_(a,Ea,c,!1,\"50% 50%\")+\"\",m,a.getAttribute(\"data-svg-origin\")),Aa=g.useSVGTransformAttr||Ka),f=Qa(a),f!==Pa){if(16===f.length){var s,t,u,v,w,x=f[0],y=f[1],z=f[2],A=f[3],B=f[4],C=f[5],D=f[6],E=f[7],F=f[8],G=f[9],H=f[10],I=f[12],J=f[13],K=f[14],M=f[11],N=Math.atan2(D,H);m.zOrigin&&(K=-m.zOrigin,I=F*K-f[12],J=G*K-f[13],K=H*K+m.zOrigin-f[14]),m.rotationX=N*L,N&&(v=Math.cos(-N),w=Math.sin(-N),s=B*v+F*w,t=C*v+G*w,u=D*v+H*w,F=B*-w+F*v,G=C*-w+G*v,H=D*-w+H*v,M=E*-w+M*v,B=s,C=t,D=u),N=Math.atan2(-z,H),m.rotationY=N*L,N&&(v=Math.cos(-N),w=Math.sin(-N),s=x*v-F*w,t=y*v-G*w,u=z*v-H*w,G=y*w+G*v,H=z*w+H*v,M=A*w+M*v,x=s,y=t,z=u),N=Math.atan2(y,x),m.rotation=N*L,N&&(v=Math.cos(N),w=Math.sin(N),s=x*v+y*w,t=B*v+C*w,u=F*v+G*w,y=y*v-x*w,C=C*v-B*w,G=G*v-F*w,x=s,B=t,F=u),m.rotationX&&Math.abs(m.rotationX)+Math.abs(m.rotation)>359.9&&(m.rotationX=m.rotation=0,m.rotationY=180-m.rotationY),N=Math.atan2(B,C),m.scaleX=(Math.sqrt(x*x+y*y+z*z)*p+.5|0)/p,m.scaleY=(Math.sqrt(C*C+D*D)*p+.5|0)/p,m.scaleZ=(Math.sqrt(F*F+G*G+H*H)*p+.5|0)/p,x/=m.scaleX,B/=m.scaleY,y/=m.scaleX,C/=m.scaleY,Math.abs(N)>o?(m.skewX=N*L,B=0,\"simple\"!==m.skewType&&(m.scaleY*=1/Math.cos(N))):m.skewX=0,m.perspective=M?1/(0>M?-M:M):0,m.x=I,m.y=J,m.z=K,m.svg&&(m.x-=m.xOrigin-(m.xOrigin*x-m.yOrigin*B),m.y-=m.yOrigin-(m.yOrigin*y-m.xOrigin*C))}else if(!Fa||e||!f.length||m.x!==f[4]||m.y!==f[5]||!m.rotationX&&!m.rotationY){var O=f.length>=6,P=O?f[0]:1,Q=f[1]||0,R=f[2]||0,S=O?f[3]:1;m.x=f[4]||0,m.y=f[5]||0,i=Math.sqrt(P*P+Q*Q),j=Math.sqrt(S*S+R*R),k=P||Q?Math.atan2(Q,P)*L:m.rotation||0,l=R||S?Math.atan2(R,S)*L+k:m.skewX||0,m.scaleX=i,m.scaleY=j,m.rotation=k,m.skewX=l,Fa&&(m.rotationX=m.rotationY=m.z=0,m.perspective=r,m.scaleZ=1),m.svg&&(m.x-=m.xOrigin-(m.xOrigin*P+m.yOrigin*R),m.y-=m.yOrigin-(m.xOrigin*Q+m.yOrigin*S))}Math.abs(m.skewX)>90&&Math.abs(m.skewX)<270&&(n?(m.scaleX*=-1,m.skewX+=m.rotation<=0?180:-180,m.rotation+=m.rotation<=0?180:-180):(m.scaleY*=-1,m.skewX+=m.skewX<=0?180:-180)),m.zOrigin=q;for(h in m)m[h]-o&&(m[h]=0)}return d&&(a._gsTransform=m,m.svg&&(Aa&&a.style[Ca]?b.delayedCall(.001,function(){Va(a.style,Ca)}):!Aa&&a.getAttribute(\"transform\")&&b.delayedCall(.001,function(){a.removeAttribute(\"transform\")}))),m},Sa=function(a){var b,c,d=this.data,e=-d.rotation*K,f=e+d.skewX*K,g=1e5,h=(Math.cos(e)*d.scaleX*g|0)/g,i=(Math.sin(e)*d.scaleX*g|0)/g,j=(Math.sin(f)*-d.scaleY*g|0)/g,k=(Math.cos(f)*d.scaleY*g|0)/g,l=this.t.style,m=this.t.currentStyle;if(m){c=i,i=-j,j=-c,b=m.filter,l.filter=\"\";var n,o,q=this.t.offsetWidth,r=this.t.offsetHeight,s=\"absolute\"!==m.position,t=\"progid:DXImageTransform.Microsoft.Matrix(M11=\"+h+\", M12=\"+i+\", M21=\"+j+\", M22=\"+k,u=d.x+q*d.xPercent/100,v=d.y+r*d.yPercent/100;if(null!=d.ox&&(n=(d.oxp?q*d.ox*.01:d.ox)-q/2,o=(d.oyp?r*d.oy*.01:d.oy)-r/2,u+=n-(n*h+o*i),v+=o-(n*j+o*k)),s?(n=q/2,o=r/2,t+=\", Dx=\"+(n-(n*h+o*i)+u)+\", Dy=\"+(o-(n*j+o*k)+v)+\")\"):t+=\", sizingMethod='auto expand')\",-1!==b.indexOf(\"DXImageTransform.Microsoft.Matrix(\")?l.filter=b.replace(H,t):l.filter=t+\" \"+b,(0===a||1===a)&&1===h&&0===i&&0===j&&1===k&&(s&&-1===t.indexOf(\"Dx=0, Dy=0\")||x.test(b)&&100!==parseFloat(RegExp.$1)||-1===b.indexOf(b.indexOf(\"Alpha\"))&&l.removeAttribute(\"filter\")),!s){var y,z,A,B=8>p?1:-1;for(n=d.ieOffsetX||0,o=d.ieOffsetY||0,d.ieOffsetX=Math.round((q-((0>h?-h:h)*q+(0>i?-i:i)*r))/2+u),d.ieOffsetY=Math.round((r-((0>k?-k:k)*r+(0>j?-j:j)*q))/2+v),wa=0;4>wa;wa++)z=fa[wa],y=m[z],c=-1!==y.indexOf(\"px\")?parseFloat(y):aa(this.t,z,parseFloat(y),y.replace(w,\"\"))||0,A=c!==d[z]?2>wa?-d.ieOffsetX:-d.ieOffsetY:2>wa?n-d.ieOffsetX:o-d.ieOffsetY,l[z]=(d[z]=Math.round(c-A*(0===wa||2===wa?1:B)))+\"px\"}}},Ta=S.set3DTransformRatio=S.setTransformRatio=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,o,p,q,r,s,t,u,v,w,x,y,z=this.data,A=this.t.style,B=z.rotation,C=z.rotationX,D=z.rotationY,E=z.scaleX,F=z.scaleY,G=z.scaleZ,H=z.x,I=z.y,J=z.z,L=z.svg,M=z.perspective,N=z.force3D,O=z.skewY,P=z.skewX;if(O&&(P+=O,B+=O),((1===a||0===a)&&\"auto\"===N&&(this.tween._totalTime===this.tween._totalDuration||!this.tween._totalTime)||!N)&&!J&&!M&&!D&&!C&&1===G||Aa&&L||!Fa)return void(B||P||L?(B*=K,x=P*K,y=1e5,c=Math.cos(B)*E,f=Math.sin(B)*E,d=Math.sin(B-x)*-F,g=Math.cos(B-x)*F,x&&\"simple\"===z.skewType&&(b=Math.tan(x-O*K),b=Math.sqrt(1+b*b),d*=b,g*=b,O&&(b=Math.tan(O*K),b=Math.sqrt(1+b*b),c*=b,f*=b)),L&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset,Aa&&(z.xPercent||z.yPercent)&&(q=this.t.getBBox(),H+=.01*z.xPercent*q.width,I+=.01*z.yPercent*q.height),q=1e-6,q>H&&H>-q&&(H=0),q>I&&I>-q&&(I=0)),u=(c*y|0)/y+\",\"+(f*y|0)/y+\",\"+(d*y|0)/y+\",\"+(g*y|0)/y+\",\"+H+\",\"+I+\")\",L&&Aa?this.t.setAttribute(\"transform\",\"matrix(\"+u):A[Ca]=(z.xPercent||z.yPercent?\"translate(\"+z.xPercent+\"%,\"+z.yPercent+\"%) matrix(\":\"matrix(\")+u):A[Ca]=(z.xPercent||z.yPercent?\"translate(\"+z.xPercent+\"%,\"+z.yPercent+\"%) matrix(\":\"matrix(\")+E+\",0,0,\"+F+\",\"+H+\",\"+I+\")\");if(n&&(q=1e-4,q>E&&E>-q&&(E=G=2e-5),q>F&&F>-q&&(F=G=2e-5),!M||z.z||z.rotationX||z.rotationY||(M=0)),B||P)B*=K,r=c=Math.cos(B),s=f=Math.sin(B),P&&(B-=P*K,r=Math.cos(B),s=Math.sin(B),\"simple\"===z.skewType&&(b=Math.tan((P-O)*K),b=Math.sqrt(1+b*b),r*=b,s*=b,z.skewY&&(b=Math.tan(O*K),b=Math.sqrt(1+b*b),c*=b,f*=b))),d=-s,g=r;else{if(!(D||C||1!==G||M||L))return void(A[Ca]=(z.xPercent||z.yPercent?\"translate(\"+z.xPercent+\"%,\"+z.yPercent+\"%) translate3d(\":\"translate3d(\")+H+\"px,\"+I+\"px,\"+J+\"px)\"+(1!==E||1!==F?\" scale(\"+E+\",\"+F+\")\":\"\"));c=g=1,d=f=0}k=1,e=h=i=j=l=m=0,o=M?-1/M:0,p=z.zOrigin,q=1e-6,v=\",\",w=\"0\",B=D*K,B&&(r=Math.cos(B),s=Math.sin(B),i=-s,l=o*-s,e=c*s,h=f*s,k=r,o*=r,c*=r,f*=r),B=C*K,B&&(r=Math.cos(B),s=Math.sin(B),b=d*r+e*s,t=g*r+h*s,j=k*s,m=o*s,e=d*-s+e*r,h=g*-s+h*r,k*=r,o*=r,d=b,g=t),1!==G&&(e*=G,h*=G,k*=G,o*=G),1!==F&&(d*=F,g*=F,j*=F,m*=F),1!==E&&(c*=E,f*=E,i*=E,l*=E),(p||L)&&(p&&(H+=e*-p,I+=h*-p,J+=k*-p+p),L&&(H+=z.xOrigin-(z.xOrigin*c+z.yOrigin*d)+z.xOffset,I+=z.yOrigin-(z.xOrigin*f+z.yOrigin*g)+z.yOffset),q>H&&H>-q&&(H=w),q>I&&I>-q&&(I=w),q>J&&J>-q&&(J=0)),u=z.xPercent||z.yPercent?\"translate(\"+z.xPercent+\"%,\"+z.yPercent+\"%) matrix3d(\":\"matrix3d(\",u+=(q>c&&c>-q?w:c)+v+(q>f&&f>-q?w:f)+v+(q>i&&i>-q?w:i),u+=v+(q>l&&l>-q?w:l)+v+(q>d&&d>-q?w:d)+v+(q>g&&g>-q?w:g),C||D||1!==G?(u+=v+(q>j&&j>-q?w:j)+v+(q>m&&m>-q?w:m)+v+(q>e&&e>-q?w:e),u+=v+(q>h&&h>-q?w:h)+v+(q>k&&k>-q?w:k)+v+(q>o&&o>-q?w:o)+v):u+=\",0,0,0,0,1,0,\",u+=H+v+I+v+J+v+(M?1+-J/M:1)+\")\",A[Ca]=u};j=Ga.prototype,j.x=j.y=j.z=j.skewX=j.skewY=j.rotation=j.rotationX=j.rotationY=j.zOrigin=j.xPercent=j.yPercent=j.xOffset=j.yOffset=0,j.scaleX=j.scaleY=j.scaleZ=1,ya(\"transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin\",{parser:function(a,b,c,d,f,h,i){if(d._lastParsedTransform===i)return f;d._lastParsedTransform=i;var j,k=i.scale&&\"function\"==typeof i.scale?i.scale:0;\"function\"==typeof i[c]&&(j=i[c],i[c]=b),k&&(i.scale=k(r,a));var l,m,n,o,p,s,t,u,v,w=a._gsTransform,x=a.style,y=1e-6,z=Ba.length,A=i,B={},C=\"transformOrigin\",D=Ra(a,e,!0,A.parseTransform),E=A.transform&&(\"function\"==typeof A.transform?A.transform(r,q):A.transform);if(D.skewType=A.skewType||D.skewType||g.defaultSkewType,d._transform=D,E&&\"string\"==typeof E&&Ca)m=Q.style,\nm[Ca]=E,m.display=\"block\",m.position=\"absolute\",O.body.appendChild(Q),l=Ra(Q,null,!1),\"simple\"===D.skewType&&(l.scaleY*=Math.cos(l.skewX*K)),D.svg&&(s=D.xOrigin,t=D.yOrigin,l.x-=D.xOffset,l.y-=D.yOffset,(A.transformOrigin||A.svgOrigin)&&(E={},La(a,ha(A.transformOrigin),E,A.svgOrigin,A.smoothOrigin,!0),s=E.xOrigin,t=E.yOrigin,l.x-=E.xOffset-D.xOffset,l.y-=E.yOffset-D.yOffset),(s||t)&&(u=Qa(Q,!0),l.x-=s-(s*u[0]+t*u[2]),l.y-=t-(s*u[1]+t*u[3]))),O.body.removeChild(Q),l.perspective||(l.perspective=D.perspective),null!=A.xPercent&&(l.xPercent=ja(A.xPercent,D.xPercent)),null!=A.yPercent&&(l.yPercent=ja(A.yPercent,D.yPercent));else if(\"object\"==typeof A){if(l={scaleX:ja(null!=A.scaleX?A.scaleX:A.scale,D.scaleX),scaleY:ja(null!=A.scaleY?A.scaleY:A.scale,D.scaleY),scaleZ:ja(A.scaleZ,D.scaleZ),x:ja(A.x,D.x),y:ja(A.y,D.y),z:ja(A.z,D.z),xPercent:ja(A.xPercent,D.xPercent),yPercent:ja(A.yPercent,D.yPercent),perspective:ja(A.transformPerspective,D.perspective)},p=A.directionalRotation,null!=p)if(\"object\"==typeof p)for(m in p)A[m]=p[m];else A.rotation=p;\"string\"==typeof A.x&&-1!==A.x.indexOf(\"%\")&&(l.x=0,l.xPercent=ja(A.x,D.xPercent)),\"string\"==typeof A.y&&-1!==A.y.indexOf(\"%\")&&(l.y=0,l.yPercent=ja(A.y,D.yPercent)),l.rotation=ka(\"rotation\"in A?A.rotation:\"shortRotation\"in A?A.shortRotation+\"_short\":\"rotationZ\"in A?A.rotationZ:D.rotation,D.rotation,\"rotation\",B),Fa&&(l.rotationX=ka(\"rotationX\"in A?A.rotationX:\"shortRotationX\"in A?A.shortRotationX+\"_short\":D.rotationX||0,D.rotationX,\"rotationX\",B),l.rotationY=ka(\"rotationY\"in A?A.rotationY:\"shortRotationY\"in A?A.shortRotationY+\"_short\":D.rotationY||0,D.rotationY,\"rotationY\",B)),l.skewX=ka(A.skewX,D.skewX),l.skewY=ka(A.skewY,D.skewY)}for(Fa&&null!=A.force3D&&(D.force3D=A.force3D,o=!0),n=D.force3D||D.z||D.rotationX||D.rotationY||l.z||l.rotationX||l.rotationY||l.perspective,n||null==A.scale||(l.scaleZ=1);--z>-1;)v=Ba[z],E=l[v]-D[v],(E>y||-y>E||null!=A[v]||null!=M[v])&&(o=!0,f=new ta(D,v,D[v],E,f),v in B&&(f.e=B[v]),f.xs0=0,f.plugin=h,d._overwriteProps.push(f.n));return E=A.transformOrigin,D.svg&&(E||A.svgOrigin)&&(s=D.xOffset,t=D.yOffset,La(a,ha(E),l,A.svgOrigin,A.smoothOrigin),f=ua(D,\"xOrigin\",(w?D:l).xOrigin,l.xOrigin,f,C),f=ua(D,\"yOrigin\",(w?D:l).yOrigin,l.yOrigin,f,C),(s!==D.xOffset||t!==D.yOffset)&&(f=ua(D,\"xOffset\",w?s:D.xOffset,D.xOffset,f,C),f=ua(D,\"yOffset\",w?t:D.yOffset,D.yOffset,f,C)),E=\"0px 0px\"),(E||Fa&&n&&D.zOrigin)&&(Ca?(o=!0,v=Ea,E=(E||_(a,v,e,!1,\"50% 50%\"))+\"\",f=new ta(x,v,0,0,f,-1,C),f.b=x[v],f.plugin=h,Fa?(m=D.zOrigin,E=E.split(\" \"),D.zOrigin=(E.length>2&&(0===m||\"0px\"!==E[2])?parseFloat(E[2]):m)||0,f.xs0=f.e=E[0]+\" \"+(E[1]||\"50%\")+\" 0px\",f=new ta(D,\"zOrigin\",0,0,f,-1,f.n),f.b=m,f.xs0=f.e=D.zOrigin):f.xs0=f.e=E):ha(E+\"\",D)),o&&(d._transformType=D.svg&&Aa||!n&&3!==this._transformType?2:3),j&&(i[c]=j),k&&(i.scale=k),f},prefix:!0}),ya(\"boxShadow\",{defaultValue:\"0px 0px 0px 0px #999\",prefix:!0,color:!0,multi:!0,keyword:\"inset\"}),ya(\"borderRadius\",{defaultValue:\"0px\",parser:function(a,b,c,f,g,h){b=this.format(b);var i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=[\"borderTopLeftRadius\",\"borderTopRightRadius\",\"borderBottomRightRadius\",\"borderBottomLeftRadius\"],z=a.style;for(q=parseFloat(a.offsetWidth),r=parseFloat(a.offsetHeight),i=b.split(\" \"),j=0;jp?1:0))||\"\"):(p=parseFloat(n),s=n.substr((p+\"\").length)),\"\"===s&&(s=d[c]||t),s!==t&&(v=aa(a,\"borderLeft\",o,t),w=aa(a,\"borderTop\",o,t),\"%\"===s?(m=v/q*100+\"%\",l=w/r*100+\"%\"):\"em\"===s?(x=aa(a,\"borderLeft\",1,\"em\"),m=v/x+\"em\",l=w/x+\"em\"):(m=v+\"px\",l=w+\"px\"),u&&(n=parseFloat(m)+p+s,k=parseFloat(l)+p+s)),g=va(z,y[j],m+\" \"+l,n+\" \"+k,!1,\"0px\",g);return g},prefix:!0,formatter:qa(\"0px 0px 0px 0px\",!1,!0)}),ya(\"borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius\",{defaultValue:\"0px\",parser:function(a,b,c,d,f,g){return va(a.style,c,this.format(_(a,c,e,!1,\"0px 0px\")),this.format(b),!1,\"0px\",f)},prefix:!0,formatter:qa(\"0px 0px\",!1,!0)}),ya(\"backgroundPosition\",{defaultValue:\"0 0\",parser:function(a,b,c,d,f,g){var h,i,j,k,l,m,n=\"background-position\",o=e||$(a,null),q=this.format((o?p?o.getPropertyValue(n+\"-x\")+\" \"+o.getPropertyValue(n+\"-y\"):o.getPropertyValue(n):a.currentStyle.backgroundPositionX+\" \"+a.currentStyle.backgroundPositionY)||\"0 0\"),r=this.format(b);if(-1!==q.indexOf(\"%\")!=(-1!==r.indexOf(\"%\"))&&r.split(\",\").length<2&&(m=_(a,\"backgroundImage\").replace(D,\"\"),m&&\"none\"!==m)){for(h=q.split(\" \"),i=r.split(\" \"),R.setAttribute(\"src\",m),j=2;--j>-1;)q=h[j],k=-1!==q.indexOf(\"%\"),k!==(-1!==i[j].indexOf(\"%\"))&&(l=0===j?a.offsetWidth-R.width:a.offsetHeight-R.height,h[j]=k?parseFloat(q)/100*l+\"px\":parseFloat(q)/l*100+\"%\");q=h.join(\" \")}return this.parseComplex(a.style,q,r,f,g)},formatter:ha}),ya(\"backgroundSize\",{defaultValue:\"0 0\",formatter:function(a){return a+=\"\",ha(-1===a.indexOf(\" \")?a+\" \"+a:a)}}),ya(\"perspective\",{defaultValue:\"0px\",prefix:!0}),ya(\"perspectiveOrigin\",{defaultValue:\"50% 50%\",prefix:!0}),ya(\"transformStyle\",{prefix:!0}),ya(\"backfaceVisibility\",{prefix:!0}),ya(\"userSelect\",{prefix:!0}),ya(\"margin\",{parser:ra(\"marginTop,marginRight,marginBottom,marginLeft\")}),ya(\"padding\",{parser:ra(\"paddingTop,paddingRight,paddingBottom,paddingLeft\")}),ya(\"clip\",{defaultValue:\"rect(0px,0px,0px,0px)\",parser:function(a,b,c,d,f,g){var h,i,j;return 9>p?(i=a.currentStyle,j=8>p?\" \":\",\",h=\"rect(\"+i.clipTop+j+i.clipRight+j+i.clipBottom+j+i.clipLeft+\")\",b=this.format(b).split(\",\").join(j)):(h=this.format(_(a,this.p,e,!1,this.dflt)),b=this.format(b)),this.parseComplex(a.style,h,b,f,g)}}),ya(\"textShadow\",{defaultValue:\"0px 0px 0px #999\",color:!0,multi:!0}),ya(\"autoRound,strictUnits\",{parser:function(a,b,c,d,e){return e}}),ya(\"border\",{defaultValue:\"0px solid #000\",parser:function(a,b,c,d,f,g){var h=_(a,\"borderTopWidth\",e,!1,\"0px\"),i=this.format(b).split(\" \"),j=i[0].replace(w,\"\");return\"px\"!==j&&(h=parseFloat(h)/aa(a,\"borderTopWidth\",1,j)+j),this.parseComplex(a.style,this.format(h+\" \"+_(a,\"borderTopStyle\",e,!1,\"solid\")+\" \"+_(a,\"borderTopColor\",e,!1,\"#000\")),i.join(\" \"),f,g)},color:!0,formatter:function(a){var b=a.split(\" \");return b[0]+\" \"+(b[1]||\"solid\")+\" \"+(a.match(pa)||[\"#000\"])[0]}}),ya(\"borderWidth\",{parser:ra(\"borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth\")}),ya(\"float,cssFloat,styleFloat\",{parser:function(a,b,c,d,e,f){var g=a.style,h=\"cssFloat\"in g?\"cssFloat\":\"styleFloat\";return new ta(g,h,0,0,e,-1,c,!1,0,g[h],b)}});var Ua=function(a){var b,c=this.t,d=c.filter||_(this.data,\"filter\")||\"\",e=this.s+this.c*a|0;100===e&&(-1===d.indexOf(\"atrix(\")&&-1===d.indexOf(\"radient(\")&&-1===d.indexOf(\"oader(\")?(c.removeAttribute(\"filter\"),b=!_(this.data,\"filter\")):(c.filter=d.replace(z,\"\"),b=!0)),b||(this.xn1&&(c.filter=d=d||\"alpha(opacity=\"+e+\")\"),-1===d.indexOf(\"pacity\")?0===e&&this.xn1||(c.filter=d+\" alpha(opacity=\"+e+\")\"):c.filter=d.replace(x,\"opacity=\"+e))};ya(\"opacity,alpha,autoAlpha\",{defaultValue:\"1\",parser:function(a,b,c,d,f,g){var h=parseFloat(_(a,\"opacity\",e,!1,\"1\")),i=a.style,j=\"autoAlpha\"===c;return\"string\"==typeof b&&\"=\"===b.charAt(1)&&(b=(\"-\"===b.charAt(0)?-1:1)*parseFloat(b.substr(2))+h),j&&1===h&&\"hidden\"===_(a,\"visibility\",e)&&0!==b&&(h=0),U?f=new ta(i,\"opacity\",h,b-h,f):(f=new ta(i,\"opacity\",100*h,100*(b-h),f),f.xn1=j?1:0,i.zoom=1,f.type=2,f.b=\"alpha(opacity=\"+f.s+\")\",f.e=\"alpha(opacity=\"+(f.s+f.c)+\")\",f.data=a,f.plugin=g,f.setRatio=Ua),j&&(f=new ta(i,\"visibility\",0,0,f,-1,null,!1,0,0!==h?\"inherit\":\"hidden\",0===b?\"hidden\":\"inherit\"),f.xs0=\"inherit\",d._overwriteProps.push(f.n),d._overwriteProps.push(c)),f}});var Va=function(a,b){b&&(a.removeProperty?((\"ms\"===b.substr(0,2)||\"webkit\"===b.substr(0,6))&&(b=\"-\"+b),a.removeProperty(b.replace(B,\"-$1\").toLowerCase())):a.removeAttribute(b))},Wa=function(a){if(this.t._gsClassPT=this,1===a||0===a){this.t.setAttribute(\"class\",0===a?this.b:this.e);for(var b=this.data,c=this.t.style;b;)b.v?c[b.p]=b.v:Va(c,b.p),b=b._next;1===a&&this.t._gsClassPT===this&&(this.t._gsClassPT=null)}else this.t.getAttribute(\"class\")!==this.e&&this.t.setAttribute(\"class\",this.e)};ya(\"className\",{parser:function(a,b,d,f,g,h,i){var j,k,l,m,n,o=a.getAttribute(\"class\")||\"\",p=a.style.cssText;if(g=f._classNamePT=new ta(a,d,0,0,g,2),g.setRatio=Wa,g.pr=-11,c=!0,g.b=o,k=ca(a,e),l=a._gsClassPT){for(m={},n=l.data;n;)m[n.p]=1,n=n._next;l.setRatio(1)}return a._gsClassPT=g,g.e=\"=\"!==b.charAt(1)?b:o.replace(new RegExp(\"(?:\\\\s|^)\"+b.substr(2)+\"(?![\\\\w-])\"),\"\")+(\"+\"===b.charAt(0)?\" \"+b.substr(2):\"\"),a.setAttribute(\"class\",g.e),j=da(a,k,ca(a),i,m),a.setAttribute(\"class\",o),g.data=j.firstMPT,a.style.cssText=p,g=g.xfirst=f.parse(a,j.difs,g,h)}});var Xa=function(a){if((1===a||0===a)&&this.data._totalTime===this.data._totalDuration&&\"isFromStart\"!==this.data.data){var b,c,d,e,f,g=this.t.style,h=i.transform.parse;if(\"all\"===this.e)g.cssText=\"\",e=!0;else for(b=this.e.split(\" \").join(\"\").split(\",\"),d=b.length;--d>-1;)c=b[d],i[c]&&(i[c].parse===h?e=!0:c=\"transformOrigin\"===c?Ea:i[c].p),Va(g,c);e&&(Va(g,Ca),f=this.t._gsTransform,f&&(f.svg&&(this.t.removeAttribute(\"data-svg-origin\"),this.t.removeAttribute(\"transform\")),delete this.t._gsTransform))}};for(ya(\"clearProps\",{parser:function(a,b,d,e,f){return f=new ta(a,d,0,0,f,2),f.setRatio=Xa,f.e=b,f.pr=-10,f.data=e._tween,c=!0,f}}),j=\"bezier,throwProps,physicsProps,physics2D\".split(\",\"),wa=j.length;wa--;)za(j[wa]);j=g.prototype,j._firstPT=j._lastParsedTransform=j._transform=null,j._onInitTween=function(a,b,h,j){if(!a.nodeType)return!1;this._target=q=a,this._tween=h,this._vars=b,r=j,k=b.autoRound,c=!1,d=b.suffixMap||g.suffixMap,e=$(a,\"\"),f=this._overwriteProps;var n,p,s,t,u,v,w,x,z,A=a.style;if(l&&\"\"===A.zIndex&&(n=_(a,\"zIndex\",e),(\"auto\"===n||\"\"===n)&&this._addLazySet(A,\"zIndex\",0)),\"string\"==typeof b&&(t=A.cssText,n=ca(a,e),A.cssText=t+\";\"+b,n=da(a,n,ca(a)).difs,!U&&y.test(b)&&(n.opacity=parseFloat(RegExp.$1)),b=n,A.cssText=t),b.className?this._firstPT=p=i.className.parse(a,b.className,\"className\",this,null,null,b):this._firstPT=p=this.parse(a,b,null),this._transformType){for(z=3===this._transformType,Ca?m&&(l=!0,\"\"===A.zIndex&&(w=_(a,\"zIndex\",e),(\"auto\"===w||\"\"===w)&&this._addLazySet(A,\"zIndex\",0)),o&&this._addLazySet(A,\"WebkitBackfaceVisibility\",this._vars.WebkitBackfaceVisibility||(z?\"visible\":\"hidden\"))):A.zoom=1,s=p;s&&s._next;)s=s._next;x=new ta(a,\"transform\",0,0,null,2),this._linkCSSP(x,null,s),x.setRatio=Ca?Ta:Sa,x.data=this._transform||Ra(a,e,!0),x.tween=h,x.pr=-1,f.pop()}if(c){for(;p;){for(v=p._next,s=t;s&&s.pr>p.pr;)s=s._next;(p._prev=s?s._prev:u)?p._prev._next=p:t=p,(p._next=s)?s._prev=p:u=p,p=v}this._firstPT=t}return!0},j.parse=function(a,b,c,f){var g,h,j,l,m,n,o,p,s,t,u=a.style;for(g in b){if(n=b[g],\"function\"==typeof n&&(n=n(r,q)),h=i[g])c=h.parse(a,n,g,this,c,f,b);else{if(\"--\"===g.substr(0,2)){this._tween._propLookup[g]=this._addTween.call(this._tween,a.style,\"setProperty\",$(a).getPropertyValue(g)+\"\",n+\"\",g,!1,g);continue}m=_(a,g,e)+\"\",s=\"string\"==typeof n,\"color\"===g||\"fill\"===g||\"stroke\"===g||-1!==g.indexOf(\"Color\")||s&&A.test(n)?(s||(n=na(n),n=(n.length>3?\"rgba(\":\"rgb(\")+n.join(\",\")+\")\"),c=va(u,g,m,n,!0,\"transparent\",c,0,f)):s&&J.test(n)?c=va(u,g,m,n,!0,null,c,0,f):(j=parseFloat(m),o=j||0===j?m.substr((j+\"\").length):\"\",(\"\"===m||\"auto\"===m)&&(\"width\"===g||\"height\"===g?(j=ga(a,g,e),o=\"px\"):\"left\"===g||\"top\"===g?(j=ba(a,g,e),o=\"px\"):(j=\"opacity\"!==g?0:1,o=\"\")),t=s&&\"=\"===n.charAt(1),t?(l=parseInt(n.charAt(0)+\"1\",10),n=n.substr(2),l*=parseFloat(n),p=n.replace(w,\"\")):(l=parseFloat(n),p=s?n.replace(w,\"\"):\"\"),\"\"===p&&(p=g in d?d[g]:o),n=l||0===l?(t?l+j:l)+p:b[g],o!==p&&(\"\"!==p||\"lineHeight\"===g)&&(l||0===l)&&j&&(j=aa(a,g,j,o),\"%\"===p?(j/=aa(a,g,100,\"%\")/100,b.strictUnits!==!0&&(m=j+\"%\")):\"em\"===p||\"rem\"===p||\"vw\"===p||\"vh\"===p?j/=aa(a,g,1,p):\"px\"!==p&&(l=aa(a,g,l,p),p=\"px\"),t&&(l||0===l)&&(n=l+j+p)),t&&(l+=j),!j&&0!==j||!l&&0!==l?void 0!==u[g]&&(n||n+\"\"!=\"NaN\"&&null!=n)?(c=new ta(u,g,l||j||0,0,c,-1,g,!1,0,m,n),c.xs0=\"none\"!==n||\"display\"!==g&&-1===g.indexOf(\"Style\")?n:m):W(\"invalid \"+g+\" tween value: \"+b[g]):(c=new ta(u,g,j,l-j,c,0,g,k!==!1&&(\"px\"===p||\"zIndex\"===g),0,m,n),c.xs0=p))}f&&c&&!c.plugin&&(c.plugin=f)}return c},j.setRatio=function(a){var b,c,d,e=this._firstPT,f=1e-6;if(1!==a||this._tween._time!==this._tween._duration&&0!==this._tween._time)if(a||this._tween._time!==this._tween._duration&&0!==this._tween._time||this._tween._rawPrevTime===-1e-6)for(;e;){if(b=e.c*a+e.s,e.r?b=Math.round(b):f>b&&b>-f&&(b=0),e.type)if(1===e.type)if(d=e.l,2===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2;else if(3===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3;else if(4===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4;else if(5===d)e.t[e.p]=e.xs0+b+e.xs1+e.xn1+e.xs2+e.xn2+e.xs3+e.xn3+e.xs4+e.xn4+e.xs5;else{for(c=e.xs0+b+e.xs1,d=1;d-1;)Za(a[e],b,c);else for(d=a.childNodes,e=d.length;--e>-1;)f=d[e],g=f.type,f.style&&(b.push(ca(f)),c&&c.push(f)),1!==g&&9!==g&&11!==g||!f.childNodes.length||Za(f,b,c)};return g.cascadeTo=function(a,c,d){var e,f,g,h,i=b.to(a,c,d),j=[i],k=[],l=[],m=[],n=b._internals.reservedProps;for(a=i._targets||i.target,Za(a,k,m),i.render(c,!0,!0),Za(a,l),i.render(0,!0,!0),i._enabled(!0),e=m.length;--e>-1;)if(f=da(m[e],k[e],l[e]),f.firstMPT){f=f.difs;for(g in d)n[g]&&(f[g]=d[g]);h={};for(g in f)h[g]=k[e][g];j.push(b.fromTo(m[e],c,h,f))}return j},a.activate([g]),g},!0),function(){var a=_gsScope._gsDefine.plugin({propName:\"roundProps\",version:\"1.6.0\",priority:-1,API:2,init:function(a,b,c){return this._tween=c,!0}}),b=function(a){for(;a;)a.f||a.blob||(a.m=Math.round),a=a._next},c=a.prototype;c._onInitAllProps=function(){for(var a,c,d,e=this._tween,f=e.vars.roundProps.join?e.vars.roundProps:e.vars.roundProps.split(\",\"),g=f.length,h={},i=e._propLookup.roundProps;--g>-1;)h[f[g]]=Math.round;for(g=f.length;--g>-1;)for(a=f[g],c=e._firstPT;c;)d=c._next,c.pg?c.t._mod(h):c.n===a&&(2===c.f&&c.t?b(c.t._firstPT):(this._add(c.t,a,c.s,c.c),d&&(d._prev=c._prev),c._prev?c._prev._next=d:e._firstPT===c&&(e._firstPT=d),c._next=c._prev=null,e._propLookup[a]=i)),c=d;return!1},c._add=function(a,b,c,d){this._addTween(a,b,c,c+d,b,Math.round),this._overwriteProps.push(b)}}(),function(){_gsScope._gsDefine.plugin({propName:\"attr\",API:2,version:\"0.6.1\",init:function(a,b,c,d){var e,f;if(\"function\"!=typeof a.setAttribute)return!1;for(e in b)f=b[e],\"function\"==typeof f&&(f=f(d,a)),this._addTween(a,\"setAttribute\",a.getAttribute(e)+\"\",f+\"\",e,!1,e),this._overwriteProps.push(e);return!0}})}(),_gsScope._gsDefine.plugin({propName:\"directionalRotation\",version:\"0.3.1\",API:2,init:function(a,b,c,d){\"object\"!=typeof b&&(b={rotation:b}),this.finals={};var e,f,g,h,i,j,k=b.useRadians===!0?2*Math.PI:360,l=1e-6;for(e in b)\"useRadians\"!==e&&(h=b[e],\"function\"==typeof h&&(h=h(d,a)),j=(h+\"\").split(\"_\"),f=j[0],g=parseFloat(\"function\"!=typeof a[e]?a[e]:a[e.indexOf(\"set\")||\"function\"!=typeof a[\"get\"+e.substr(3)]?e:\"get\"+e.substr(3)]()),h=this.finals[e]=\"string\"==typeof f&&\"=\"===f.charAt(1)?g+parseInt(f.charAt(0)+\"1\",10)*Number(f.substr(2)):Number(f)||0,i=h-g,j.length&&(f=j.join(\"_\"),-1!==f.indexOf(\"short\")&&(i%=k,i!==i%(k/2)&&(i=0>i?i+k:i-k)),-1!==f.indexOf(\"_cw\")&&0>i?i=(i+9999999999*k)%k-(i/k|0)*k:-1!==f.indexOf(\"ccw\")&&i>0&&(i=(i-9999999999*k)%k-(i/k|0)*k)),(i>l||-l>i)&&(this._addTween(a,e,g,g+i,e),this._overwriteProps.push(e)));return!0},set:function(a){var b;if(1!==a)this._super.setRatio.call(this,a);else for(b=this._firstPT;b;)b.f?b.t[b.p](this.finals[b.p]):b.t[b.p]=this.finals[b.p],b=b._next}})._autoCSS=!0,_gsScope._gsDefine(\"easing.Back\",[\"easing.Ease\"],function(a){var b,c,d,e=_gsScope.GreenSockGlobals||_gsScope,f=e.com.greensock,g=2*Math.PI,h=Math.PI/2,i=f._class,j=function(b,c){var d=i(\"easing.\"+b,function(){},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,d},k=a.register||function(){},l=function(a,b,c,d,e){var f=i(\"easing.\"+a,{easeOut:new b,easeIn:new c,easeInOut:new d},!0);return k(f,a),f},m=function(a,b,c){this.t=a,this.v=b,c&&(this.next=c,c.prev=this,this.c=c.v-b,this.gap=c.t-a)},n=function(b,c){var d=i(\"easing.\"+b,function(a){this._p1=a||0===a?a:1.70158,this._p2=1.525*this._p1},!0),e=d.prototype=new a;return e.constructor=d,e.getRatio=c,e.config=function(a){return new d(a)},d},o=l(\"Back\",n(\"BackOut\",function(a){return(a-=1)*a*((this._p1+1)*a+this._p1)+1}),n(\"BackIn\",function(a){return a*a*((this._p1+1)*a-this._p1)}),n(\"BackInOut\",function(a){return(a*=2)<1?.5*a*a*((this._p2+1)*a-this._p2):.5*((a-=2)*a*((this._p2+1)*a+this._p2)+2)})),p=i(\"easing.SlowMo\",function(a,b,c){b=b||0===b?b:.7,null==a?a=.7:a>1&&(a=1),this._p=1!==a?b:0,this._p1=(1-a)/2,this._p2=a,this._p3=this._p1+this._p2,this._calcEnd=c===!0},!0),q=p.prototype=new a;return q.constructor=p,q.getRatio=function(a){var b=a+(.5-a)*this._p;return athis._p3?this._calcEnd?1-(a=(a-this._p3)/this._p1)*a:b+(a-b)*(a=(a-this._p3)/this._p1)*a*a*a:this._calcEnd?1:b},p.ease=new p(.7,.7),q.config=p.config=function(a,b,c){return new p(a,b,c)},b=i(\"easing.SteppedEase\",function(a,b){a=a||1,this._p1=1/a,this._p2=a+(b?0:1),this._p3=b?1:0},!0),q=b.prototype=new a,q.constructor=b,q.getRatio=function(a){return 0>a?a=0:a>=1&&(a=.999999999),((this._p2*a|0)+this._p3)*this._p1},q.config=b.config=function(a,c){return new b(a,c)},c=i(\"easing.RoughEase\",function(b){b=b||{};for(var c,d,e,f,g,h,i=b.taper||\"none\",j=[],k=0,l=0|(b.points||20),n=l,o=b.randomize!==!1,p=b.clamp===!0,q=b.template instanceof a?b.template:null,r=\"number\"==typeof b.strength?.4*b.strength:.4;--n>-1;)c=o?Math.random():1/l*n,d=q?q.getRatio(c):c,\"none\"===i?e=r:\"out\"===i?(f=1-c,e=f*f*r):\"in\"===i?e=c*c*r:.5>c?(f=2*c,e=f*f*.5*r):(f=2*(1-c),e=f*f*.5*r),o?d+=Math.random()*e-.5*e:n%2?d+=.5*e:d-=.5*e,p&&(d>1?d=1:0>d&&(d=0)),j[k++]={x:c,y:d};for(j.sort(function(a,b){return a.x-b.x}),h=new m(1,1,null),n=l;--n>-1;)g=j[n],h=new m(g.x,g.y,h);this._prev=new m(0,0,0!==h.t?h:h.next)},!0),q=c.prototype=new a,q.constructor=c,q.getRatio=function(a){var b=this._prev;if(a>b.t){for(;b.next&&a>=b.t;)b=b.next;b=b.prev}else for(;b.prev&&a<=b.t;)b=b.prev;return this._prev=b,b.v+(a-b.t)/b.gap*b.c},q.config=function(a){return new c(a)},c.ease=new c,l(\"Bounce\",j(\"BounceOut\",function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}),j(\"BounceIn\",function(a){return(a=1-a)<1/2.75?1-7.5625*a*a:2/2.75>a?1-(7.5625*(a-=1.5/2.75)*a+.75):2.5/2.75>a?1-(7.5625*(a-=2.25/2.75)*a+.9375):1-(7.5625*(a-=2.625/2.75)*a+.984375)}),j(\"BounceInOut\",function(a){var b=.5>a;return a=b?1-2*a:2*a-1,a=1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375,b?.5*(1-a):.5*a+.5})),l(\"Circ\",j(\"CircOut\",function(a){return Math.sqrt(1-(a-=1)*a)}),j(\"CircIn\",function(a){return-(Math.sqrt(1-a*a)-1)}),j(\"CircInOut\",function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)})),d=function(b,c,d){var e=i(\"easing.\"+b,function(a,b){this._p1=a>=1?a:1,this._p2=(b||d)/(1>a?a:1),this._p3=this._p2/g*(Math.asin(1/this._p1)||0),this._p2=g/this._p2},!0),f=e.prototype=new a;return f.constructor=e,f.getRatio=c,f.config=function(a,b){return new e(a,b)},e},l(\"Elastic\",d(\"ElasticOut\",function(a){return this._p1*Math.pow(2,-10*a)*Math.sin((a-this._p3)*this._p2)+1},.3),d(\"ElasticIn\",function(a){return-(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2))},.3),d(\"ElasticInOut\",function(a){return(a*=2)<1?-.5*(this._p1*Math.pow(2,10*(a-=1))*Math.sin((a-this._p3)*this._p2)):this._p1*Math.pow(2,-10*(a-=1))*Math.sin((a-this._p3)*this._p2)*.5+1},.45)),l(\"Expo\",j(\"ExpoOut\",function(a){return 1-Math.pow(2,-10*a)}),j(\"ExpoIn\",function(a){return Math.pow(2,10*(a-1))-.001}),j(\"ExpoInOut\",function(a){return(a*=2)<1?.5*Math.pow(2,10*(a-1)):.5*(2-Math.pow(2,-10*(a-1)))})),l(\"Sine\",j(\"SineOut\",function(a){return Math.sin(a*h)}),j(\"SineIn\",function(a){return-Math.cos(a*h)+1}),j(\"SineInOut\",function(a){return-.5*(Math.cos(Math.PI*a)-1)})),i(\"easing.EaseLookup\",{find:function(b){return a.map[b]}},!0),k(e.SlowMo,\"SlowMo\",\"ease,\"),k(c,\"RoughEase\",\"ease,\"),k(b,\"SteppedEase\",\"ease,\"),o},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(),function(a,b){\"use strict\";var c={},d=a.document,e=a.GreenSockGlobals=a.GreenSockGlobals||a;if(!e.TweenLite){var f,g,h,i,j,k=function(a){var b,c=a.split(\".\"),d=e;for(b=0;b-1;)(l=q[f[p]]||new r(f[p],[])).gsClass?(i[p]=l.gsClass,s--):j&&l.sc.push(this);if(0===s&&g){if(m=(\"com.greensock.\"+d).split(\".\"),n=m.pop(),o=k(m.join(\".\"))[n]=this.gsClass=g.apply(g,i),h)if(e[n]=c[n]=o,\"undefined\"!=typeof module&&module.exports)if(d===b){module.exports=c[b]=o;for(p in c)o[p]=c[p]}else c[b]&&(c[b][n]=o);else\"function\"==typeof define&&define.amd&&define((a.GreenSockAMDPath?a.GreenSockAMDPath+\"/\":\"\")+d.split(\".\").pop(),[],function(){return o});for(p=0;p-1;)for(f=i[j],e=d?t(\"easing.\"+f,null,!0):l.easing[f]||{},g=k.length;--g>-1;)h=k[g],w[f+\".\"+h]=w[h+f]=e[h]=a.getRatio?a:a[h]||new a};for(h=v.prototype,h._calcEnd=!1,h.getRatio=function(a){if(this._func)return this._params[0]=a,this._func.apply(null,this._params);var b=this._type,c=this._power,d=1===b?1-a:2===b?a:.5>a?2*a:2*(1-a);return 1===c?d*=d:2===c?d*=d*d:3===c?d*=d*d*d:4===c&&(d*=d*d*d*d),1===b?1-d:2===b?d:.5>a?d/2:1-d/2},f=[\"Linear\",\"Quad\",\"Cubic\",\"Quart\",\"Quint,Strong\"],g=f.length;--g>-1;)h=f[g]+\",Power\"+g,x(new v(null,null,1,g),h,\"easeOut\",!0),x(new v(null,null,2,g),h,\"easeIn\"+(0===g?\",easeNone\":\"\")),x(new v(null,null,3,g),h,\"easeInOut\");w.linear=l.easing.Linear.easeIn,w.swing=l.easing.Quad.easeInOut;var y=t(\"events.EventDispatcher\",function(a){this._listeners={},this._eventTarget=a||this});h=y.prototype,h.addEventListener=function(a,b,c,d,e){e=e||0;var f,g,h=this._listeners[a],k=0;for(this!==i||j||i.wake(),null==h&&(this._listeners[a]=h=[]),g=h.length;--g>-1;)f=h[g],f.c===b&&f.s===c?h.splice(g,1):0===k&&f.pr-1;)if(d[c].c===b)return void d.splice(c,1)},h.dispatchEvent=function(a){var b,c,d,e=this._listeners[a];if(e)for(b=e.length,b>1&&(e=e.slice(0)),c=this._eventTarget;--b>-1;)d=e[b],d&&(d.up?d.c.call(d.s||c,{type:a,target:c}):d.c.call(d.s||c))};var z=a.requestAnimationFrame,A=a.cancelAnimationFrame,B=Date.now||function(){return(new Date).getTime()},C=B();for(f=[\"ms\",\"moz\",\"webkit\",\"o\"],g=f.length;--g>-1&&!z;)z=a[f[g]+\"RequestAnimationFrame\"],A=a[f[g]+\"CancelAnimationFrame\"]||a[f[g]+\"CancelRequestAnimationFrame\"];t(\"Ticker\",function(a,b){var c,e,f,g,h,k=this,l=B(),n=b!==!1&&z?\"auto\":!1,p=500,q=33,r=\"tick\",s=function(a){var b,d,i=B()-C;i>p&&(l+=i-q),C+=i,k.time=(C-l)/1e3,b=k.time-h,(!c||b>0||a===!0)&&(k.frame++,h+=b+(b>=g?.004:g-b),d=!0),a!==!0&&(f=e(s)),d&&k.dispatchEvent(r)};y.call(k),k.time=k.frame=0,k.tick=function(){s(!0)},k.lagSmoothing=function(a,b){p=a||1/m,q=Math.min(b,p,0)},k.sleep=function(){null!=f&&(n&&A?A(f):clearTimeout(f),e=o,f=null,k===i&&(j=!1))},k.wake=function(a){null!==f?k.sleep():a?l+=-C+(C=B()):k.frame>10&&(C=B()-p+5),e=0===c?o:n&&z?z:function(a){return setTimeout(a,1e3*(h-k.time)+1|0)},k===i&&(j=!0),s(2)},k.fps=function(a){return arguments.length?(c=a,g=1/(c||60),h=this.time+g,void k.wake()):c},k.useRAF=function(a){return arguments.length?(k.sleep(),n=a,void k.fps(c)):n},k.fps(a),setTimeout(function(){\"auto\"===n&&k.frame<5&&\"hidden\"!==d.visibilityState&&k.useRAF(!1)},1500)}),h=l.Ticker.prototype=new l.events.EventDispatcher,h.constructor=l.Ticker;var D=t(\"core.Animation\",function(a,b){if(this.vars=b=b||{},this._duration=this._totalDuration=a||0,this._delay=Number(b.delay)||0,this._timeScale=1,this._active=b.immediateRender===!0,this.data=b.data,this._reversed=b.reversed===!0,X){j||i.wake();var c=this.vars.useFrames?W:X;c.add(this,c._time),this.vars.paused&&this.paused(!0)}});i=D.ticker=new l.Ticker,h=D.prototype,h._dirty=h._gc=h._initted=h._paused=!1,h._totalTime=h._time=0,h._rawPrevTime=-1,h._next=h._last=h._onUpdate=h._timeline=h.timeline=null,h._paused=!1;var E=function(){j&&B()-C>2e3&&\"hidden\"!==d.visibilityState&&i.wake();var a=setTimeout(E,2e3);a.unref&&a.unref()};E(),h.play=function(a,b){return null!=a&&this.seek(a,b),this.reversed(!1).paused(!1)},h.pause=function(a,b){return null!=a&&this.seek(a,b),this.paused(!0)},h.resume=function(a,b){return null!=a&&this.seek(a,b),this.paused(!1)},h.seek=function(a,b){return this.totalTime(Number(a),b!==!1)},h.restart=function(a,b){return this.reversed(!1).paused(!1).totalTime(a?-this._delay:0,b!==!1,!0)},h.reverse=function(a,b){return null!=a&&this.seek(a||this.totalDuration(),b),this.reversed(!0).paused(!1)},h.render=function(a,b,c){},h.invalidate=function(){return this._time=this._totalTime=0,this._initted=this._gc=!1,this._rawPrevTime=-1,(this._gc||!this.timeline)&&this._enabled(!0),this},h.isActive=function(){var a,b=this._timeline,c=this._startTime;return!b||!this._gc&&!this._paused&&b.isActive()&&(a=b.rawTime(!0))>=c&&a-1;)\"{self}\"===a[b]&&(c[b]=this);return c},h._callback=function(a){var b=this.vars,c=b[a],d=b[a+\"Params\"],e=b[a+\"Scope\"]||b.callbackScope||this,f=d?d.length:0;switch(f){case 0:c.call(e);break;case 1:c.call(e,d[0]);break;case 2:c.call(e,d[0],d[1]);break;default:c.apply(e,d)}},h.eventCallback=function(a,b,c,d){if(\"on\"===(a||\"\").substr(0,2)){var e=this.vars;if(1===arguments.length)return e[a];null==b?delete e[a]:(e[a]=b,e[a+\"Params\"]=p(c)&&-1!==c.join(\"\").indexOf(\"{self}\")?this._swapSelfInParams(c):c,e[a+\"Scope\"]=d),\"onUpdate\"===a&&(this._onUpdate=b)}return this},h.delay=function(a){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+a-this._delay),this._delay=a,this):this._delay},h.duration=function(a){return arguments.length?(this._duration=this._totalDuration=a,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._timethis._duration?this._duration:a,b)):this._time},h.totalTime=function(a,b,c){if(j||i.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>a&&!c&&(a+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var d=this._totalDuration,e=this._timeline;if(a>d&&!c&&(a=d),this._startTime=(this._paused?this._pauseTime:e._time)-(this._reversed?d-a:a)/this._timeScale,e._dirty||this._uncache(!1),e._timeline)for(;e._timeline;)e._timeline._time!==(e._startTime+e._totalTime)/e._timeScale&&e.totalTime(e._totalTime,!0),e=e._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==a||0===this._duration)&&(J.length&&Z(),this.render(a,b,!1),J.length&&Z())}return this},h.progress=h.totalProgress=function(a,b){var c=this.duration();return arguments.length?this.totalTime(c*a,b):c?this._time/c:this.ratio},h.startTime=function(a){return arguments.length?(a!==this._startTime&&(this._startTime=a,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,a-this._delay)),this):this._startTime},h.endTime=function(a){return this._startTime+(0!=a?this.totalDuration():this.duration())/this._timeScale},h.timeScale=function(a){if(!arguments.length)return this._timeScale;if(a=a||m,this._timeline&&this._timeline.smoothChildTiming){var b=this._pauseTime,c=b||0===b?b:this._timeline.totalTime();this._startTime=c-(c-this._startTime)*this._timeScale/a}return this._timeScale=a,this._uncache(!1)},h.reversed=function(a){return arguments.length?(a!=this._reversed&&(this._reversed=a,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},h.paused=function(a){if(!arguments.length)return this._paused;var b,c,d=this._timeline;return a!=this._paused&&d&&(j||a||i.wake(),b=d.rawTime(),c=b-this._pauseTime,!a&&d.smoothChildTiming&&(this._startTime+=c,this._uncache(!1)),this._pauseTime=a?b:null,this._paused=a,this._active=this.isActive(),!a&&0!==c&&this._initted&&this.duration()&&(b=d.smoothChildTiming?this._totalTime:(b-this._startTime)/this._timeScale,this.render(b,b===this._totalTime,!0))),this._gc&&!a&&this._enabled(!0,!1),this};var F=t(\"core.SimpleTimeline\",function(a){D.call(this,0,a),this.autoRemoveChildren=this.smoothChildTiming=!0});h=F.prototype=new D,h.constructor=F,h.kill()._gc=!1,h._first=h._last=h._recent=null,h._sortChildren=!1,h.add=h.insert=function(a,b,c,d){var e,f;if(a._startTime=Number(b||0)+a._delay,a._paused&&this!==a._timeline&&(a._pauseTime=a._startTime+(this.rawTime()-a._startTime)/a._timeScale),\na.timeline&&a.timeline._remove(a,!0),a.timeline=a._timeline=this,a._gc&&a._enabled(!0,!0),e=this._last,this._sortChildren)for(f=a._startTime;e&&e._startTime>f;)e=e._prev;return e?(a._next=e._next,e._next=a):(a._next=this._first,this._first=a),a._next?a._next._prev=a:this._last=a,a._prev=e,this._recent=a,this._timeline&&this._uncache(!0),this},h._remove=function(a,b){return a.timeline===this&&(b||a._enabled(!1,!0),a._prev?a._prev._next=a._next:this._first===a&&(this._first=a._next),a._next?a._next._prev=a._prev:this._last===a&&(this._last=a._prev),a._next=a._prev=a.timeline=null,a===this._recent&&(this._recent=this._last),this._timeline&&this._uncache(!0)),this},h.render=function(a,b,c){var d,e=this._first;for(this._totalTime=this._time=this._rawPrevTime=a;e;)d=e._next,(e._active||a>=e._startTime&&!e._paused&&!e._gc)&&(e._reversed?e.render((e._dirty?e.totalDuration():e._totalDuration)-(a-e._startTime)*e._timeScale,b,c):e.render((a-e._startTime)*e._timeScale,b,c)),e=d},h.rawTime=function(){return j||i.wake(),this._totalTime};var G=t(\"TweenLite\",function(b,c,d){if(D.call(this,c,d),this.render=G.prototype.render,null==b)throw\"Cannot tween a null target.\";this.target=b=\"string\"!=typeof b?b:G.selector(b)||b;var e,f,g,h=b.jquery||b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType),i=this.vars.overwrite;if(this._overwrite=i=null==i?V[G.defaultOverwrite]:\"number\"==typeof i?i>>0:V[i],(h||b instanceof Array||b.push&&p(b))&&\"number\"!=typeof b[0])for(this._targets=g=n(b),this._propLookup=[],this._siblings=[],e=0;e1&&aa(f,this,null,1,this._siblings[e])):(f=g[e--]=G.selector(f),\"string\"==typeof f&&g.splice(e+1,1)):g.splice(e--,1);else this._propLookup={},this._siblings=$(b,this,!1),1===i&&this._siblings.length>1&&aa(b,this,null,1,this._siblings);(this.vars.immediateRender||0===c&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-m,this.render(Math.min(0,-this._delay)))},!0),H=function(b){return b&&b.length&&b!==a&&b[0]&&(b[0]===a||b[0].nodeType&&b[0].style&&!b.nodeType)},I=function(a,b){var c,d={};for(c in a)U[c]||c in b&&\"transform\"!==c&&\"x\"!==c&&\"y\"!==c&&\"width\"!==c&&\"height\"!==c&&\"className\"!==c&&\"border\"!==c||!(!R[c]||R[c]&&R[c]._autoCSS)||(d[c]=a[c],delete a[c]);a.css=d};h=G.prototype=new D,h.constructor=G,h.kill()._gc=!1,h.ratio=0,h._firstPT=h._targets=h._overwrittenProps=h._startAt=null,h._notifyPluginsOfEnabled=h._lazy=!1,G.version=\"1.20.2\",G.defaultEase=h._ease=new v(null,null,1,1),G.defaultOverwrite=\"auto\",G.ticker=i,G.autoSleep=120,G.lagSmoothing=function(a,b){i.lagSmoothing(a,b)},G.selector=a.$||a.jQuery||function(b){var c=a.$||a.jQuery;return c?(G.selector=c,c(b)):\"undefined\"==typeof d?b:d.querySelectorAll?d.querySelectorAll(b):d.getElementById(\"#\"===b.charAt(0)?b.substr(1):b)};var J=[],K={},L=/(?:(-|-=|\\+=)?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi,M=/[\\+-]=-?[\\.\\d]/,N=function(a){for(var b,c=this._firstPT,d=1e-6;c;)b=c.blob?1===a&&this.end?this.end:a?this.join(\"\"):this.start:c.c*a+c.s,c.m?b=c.m(b,this._target||c.t):d>b&&b>-d&&!c.blob&&(b=0),c.f?c.fp?c.t[c.p](c.fp,b):c.t[c.p](b):c.t[c.p]=b,c=c._next},O=function(a,b,c,d){var e,f,g,h,i,j,k,l=[],m=0,n=\"\",o=0;for(l.start=a,l.end=b,a=l[0]=a+\"\",b=l[1]=b+\"\",c&&(c(l),a=l[0],b=l[1]),l.length=0,e=a.match(L)||[],f=b.match(L)||[],d&&(d._next=null,d.blob=1,l._firstPT=l._applyPT=d),i=f.length,h=0;i>h;h++)k=f[h],j=b.substr(m,b.indexOf(k,m)-m),n+=j||!h?j:\",\",m+=j.length,o?o=(o+1)%5:\"rgba(\"===j.substr(-5)&&(o=1),k===e[h]||e.length<=h?n+=k:(n&&(l.push(n),n=\"\"),g=parseFloat(e[h]),l.push(g),l._firstPT={_next:l._firstPT,t:l,p:l.length-1,s:g,c:(\"=\"===k.charAt(1)?parseInt(k.charAt(0)+\"1\",10)*parseFloat(k.substr(2)):parseFloat(k)-g)||0,f:0,m:o&&4>o?Math.round:0}),m+=k.length;return n+=b.substr(m),n&&l.push(n),l.setRatio=N,M.test(b)&&(l.end=0),l},P=function(a,b,c,d,e,f,g,h,i){\"function\"==typeof d&&(d=d(i||0,a));var j,k=typeof a[b],l=\"function\"!==k?\"\":b.indexOf(\"set\")||\"function\"!=typeof a[\"get\"+b.substr(3)]?b:\"get\"+b.substr(3),m=\"get\"!==c?c:l?g?a[l](g):a[l]():a[b],n=\"string\"==typeof d&&\"=\"===d.charAt(1),o={t:a,p:b,s:m,f:\"function\"===k,pg:0,n:e||b,m:f?\"function\"==typeof f?f:Math.round:0,pr:0,c:n?parseInt(d.charAt(0)+\"1\",10)*parseFloat(d.substr(2)):parseFloat(d)-m||0};return(\"number\"!=typeof m||\"number\"!=typeof d&&!n)&&(g||isNaN(m)||!n&&isNaN(d)||\"boolean\"==typeof m||\"boolean\"==typeof d?(o.fp=g,j=O(m,n?parseFloat(o.s)+o.c:d,h||G.defaultStringFilter,o),o={t:j,p:\"setRatio\",s:0,c:1,f:2,pg:0,n:e||b,pr:0,m:0}):(o.s=parseFloat(m),n||(o.c=parseFloat(d)-o.s||0))),o.c?((o._next=this._firstPT)&&(o._next._prev=o),this._firstPT=o,o):void 0},Q=G._internals={isArray:p,isSelector:H,lazyTweens:J,blobDif:O},R=G._plugins={},S=Q.tweenLookup={},T=0,U=Q.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1,onOverwrite:1,callbackScope:1,stringFilter:1,id:1,yoyoEase:1},V={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,\"true\":1,\"false\":0},W=D._rootFramesTimeline=new F,X=D._rootTimeline=new F,Y=30,Z=Q.lazyRender=function(){var a,b=J.length;for(K={};--b>-1;)a=J[b],a&&a._lazy!==!1&&(a.render(a._lazy[0],a._lazy[1],!0),a._lazy=!1);J.length=0};X._startTime=i.time,W._startTime=i.frame,X._active=W._active=!0,setTimeout(Z,1),D._updateRoot=G.render=function(){var a,b,c;if(J.length&&Z(),X.render((i.time-X._startTime)*X._timeScale,!1,!1),W.render((i.frame-W._startTime)*W._timeScale,!1,!1),J.length&&Z(),i.frame>=Y){Y=i.frame+(parseInt(G.autoSleep,10)||120);for(c in S){for(b=S[c].tweens,a=b.length;--a>-1;)b[a]._gc&&b.splice(a,1);0===b.length&&delete S[c]}if(c=X._first,(!c||c._paused)&&G.autoSleep&&!W._first&&1===i._listeners.tick.length){for(;c&&c._paused;)c=c._next;c||i.sleep()}}},i.addEventListener(\"tick\",D._updateRoot);var $=function(a,b,c){var d,e,f=a._gsTweenID;if(S[f||(a._gsTweenID=f=\"t\"+T++)]||(S[f]={target:a,tweens:[]}),b&&(d=S[f].tweens,d[e=d.length]=b,c))for(;--e>-1;)d[e]===b&&d.splice(e,1);return S[f].tweens},_=function(a,b,c,d){var e,f,g=a.vars.onOverwrite;return g&&(e=g(a,b,c,d)),g=G.onOverwrite,g&&(f=g(a,b,c,d)),e!==!1&&f!==!1},aa=function(a,b,c,d,e){var f,g,h,i;if(1===d||d>=4){for(i=e.length,f=0;i>f;f++)if((h=e[f])!==b)h._gc||h._kill(null,a,b)&&(g=!0);else if(5===d)break;return g}var j,k=b._startTime+m,l=[],n=0,o=0===b._duration;for(f=e.length;--f>-1;)(h=e[f])===b||h._gc||h._paused||(h._timeline!==b._timeline?(j=j||ba(b,0,o),0===ba(h,j,o)&&(l[n++]=h)):h._startTime<=k&&h._startTime+h.totalDuration()/h._timeScale>k&&((o||!h._initted)&&k-h._startTime<=2e-10||(l[n++]=h)));for(f=n;--f>-1;)if(h=l[f],2===d&&h._kill(c,a,b)&&(g=!0),2!==d||!h._firstPT&&h._initted){if(2!==d&&!_(h,b))continue;h._enabled(!1,!1)&&(g=!0)}return g},ba=function(a,b,c){for(var d=a._timeline,e=d._timeScale,f=a._startTime;d._timeline;){if(f+=d._startTime,e*=d._timeScale,d._paused)return-100;d=d._timeline}return f/=e,f>b?f-b:c&&f===b||!a._initted&&2*m>f-b?m:(f+=a.totalDuration()/a._timeScale/e)>b+m?0:f-b-m};h._init=function(){var a,b,c,d,e,f,g=this.vars,h=this._overwrittenProps,i=this._duration,j=!!g.immediateRender,k=g.ease;if(g.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),e={};for(d in g.startAt)e[d]=g.startAt[d];if(e.overwrite=!1,e.immediateRender=!0,e.lazy=j&&g.lazy!==!1,e.startAt=e.delay=null,e.onUpdate=g.onUpdate,e.onUpdateScope=g.onUpdateScope||g.callbackScope||this,this._startAt=G.to(this.target,0,e),j)if(this._time>0)this._startAt=null;else if(0!==i)return}else if(g.runBackwards&&0!==i)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{0!==this._time&&(j=!1),c={};for(d in g)U[d]&&\"autoCSS\"!==d||(c[d]=g[d]);if(c.overwrite=0,c.data=\"isFromStart\",c.lazy=j&&g.lazy!==!1,c.immediateRender=j,this._startAt=G.to(this.target,0,c),j){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1),this.vars.immediateRender&&(this._startAt=null)}if(this._ease=k=k?k instanceof v?k:\"function\"==typeof k?new v(k,g.easeParams):w[k]||G.defaultEase:G.defaultEase,g.easeParams instanceof Array&&k.config&&(this._ease=k.config.apply(k,g.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(f=this._targets.length,a=0;f>a;a++)this._initProps(this._targets[a],this._propLookup[a]={},this._siblings[a],h?h[a]:null,a)&&(b=!0);else b=this._initProps(this.target,this._propLookup,this._siblings,h,0);if(b&&G._onPluginEvent(\"_onInitAllProps\",this),h&&(this._firstPT||\"function\"!=typeof this.target&&this._enabled(!1,!1)),g.runBackwards)for(c=this._firstPT;c;)c.s+=c.c,c.c=-c.c,c=c._next;this._onUpdate=g.onUpdate,this._initted=!0},h._initProps=function(b,c,d,e,f){var g,h,i,j,k,l;if(null==b)return!1;K[b._gsTweenID]&&Z(),this.vars.css||b.style&&b!==a&&b.nodeType&&R.css&&this.vars.autoCSS!==!1&&I(this.vars,b);for(g in this.vars)if(l=this.vars[g],U[g])l&&(l instanceof Array||l.push&&p(l))&&-1!==l.join(\"\").indexOf(\"{self}\")&&(this.vars[g]=l=this._swapSelfInParams(l,this));else if(R[g]&&(j=new R[g])._onInitTween(b,this.vars[g],this,f)){for(this._firstPT=k={_next:this._firstPT,t:j,p:\"setRatio\",s:0,c:1,f:1,n:g,pg:1,pr:j._priority,m:0},h=j._overwriteProps.length;--h>-1;)c[j._overwriteProps[h]]=this._firstPT;(j._priority||j._onInitAllProps)&&(i=!0),(j._onDisable||j._onEnable)&&(this._notifyPluginsOfEnabled=!0),k._next&&(k._next._prev=k)}else c[g]=P.call(this,b,g,\"get\",l,g,0,null,this.vars.stringFilter,f);return e&&this._kill(e,b)?this._initProps(b,c,d,e,f):this._overwrite>1&&this._firstPT&&d.length>1&&aa(b,this,c,this._overwrite,d)?(this._kill(c,b),this._initProps(b,c,d,e,f)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(K[b._gsTweenID]=!0),i)},h.render=function(a,b,c){var d,e,f,g,h=this._time,i=this._duration,j=this._rawPrevTime;if(a>=i-1e-7&&a>=0)this._totalTime=this._time=i,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(d=!0,e=\"onComplete\",c=c||this._timeline.autoRemoveChildren),0===i&&(this._initted||!this.vars.lazy||c)&&(this._startTime===this._timeline._duration&&(a=0),(0>j||0>=a&&a>=-1e-7||j===m&&\"isPause\"!==this.data)&&j!==a&&(c=!0,j>m&&(e=\"onReverseComplete\")),this._rawPrevTime=g=!b||a||j===a?a:m);else if(1e-7>a)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==h||0===i&&j>0)&&(e=\"onReverseComplete\",d=this._reversed),0>a&&(this._active=!1,0===i&&(this._initted||!this.vars.lazy||c)&&(j>=0&&(j!==m||\"isPause\"!==this.data)&&(c=!0),this._rawPrevTime=g=!b||a||j===a?a:m)),(!this._initted||this._startAt&&this._startAt.progress())&&(c=!0);else if(this._totalTime=this._time=a,this._easeType){var k=a/i,l=this._easeType,n=this._easePower;(1===l||3===l&&k>=.5)&&(k=1-k),3===l&&(k*=2),1===n?k*=k:2===n?k*=k*k:3===n?k*=k*k*k:4===n&&(k*=k*k*k*k),1===l?this.ratio=1-k:2===l?this.ratio=k:.5>a/i?this.ratio=k/2:this.ratio=1-k/2}else this.ratio=this._ease.getRatio(a/i);if(this._time!==h||c){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!c&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=h,this._rawPrevTime=j,J.push(this),void(this._lazy=[a,b]);this._time&&!d?this.ratio=this._ease.getRatio(this._time/i):d&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==h&&a>=0&&(this._active=!0),0===h&&(this._startAt&&(a>=0?this._startAt.render(a,b,c):e||(e=\"_dummyGS\")),this.vars.onStart&&(0!==this._time||0===i)&&(b||this._callback(\"onStart\"))),f=this._firstPT;f;)f.f?f.t[f.p](f.c*this.ratio+f.s):f.t[f.p]=f.c*this.ratio+f.s,f=f._next;this._onUpdate&&(0>a&&this._startAt&&a!==-1e-4&&this._startAt.render(a,b,c),b||(this._time!==h||d||c)&&this._callback(\"onUpdate\")),e&&(!this._gc||c)&&(0>a&&this._startAt&&!this._onUpdate&&a!==-1e-4&&this._startAt.render(a,b,c),d&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!b&&this.vars[e]&&this._callback(e),0===i&&this._rawPrevTime===m&&g!==m&&(this._rawPrevTime=0))}},h._kill=function(a,b,c){if(\"all\"===a&&(a=null),null==a&&(null==b||b===this.target))return this._lazy=!1,this._enabled(!1,!1);b=\"string\"!=typeof b?b||this._targets||this.target:G.selector(b)||b;var d,e,f,g,h,i,j,k,l,m=c&&this._time&&c._startTime===this._startTime&&this._timeline===c._timeline;if((p(b)||H(b))&&\"number\"!=typeof b[0])for(d=b.length;--d>-1;)this._kill(a,b[d],c)&&(i=!0);else{if(this._targets){for(d=this._targets.length;--d>-1;)if(b===this._targets[d]){h=this._propLookup[d]||{},this._overwrittenProps=this._overwrittenProps||[],e=this._overwrittenProps[d]=a?this._overwrittenProps[d]||{}:\"all\";break}}else{if(b!==this.target)return!1;h=this._propLookup,e=this._overwrittenProps=a?this._overwrittenProps||{}:\"all\"}if(h){if(j=a||h,k=a!==e&&\"all\"!==e&&a!==h&&(\"object\"!=typeof a||!a._tempKill),c&&(G.onOverwrite||this.vars.onOverwrite)){for(f in j)h[f]&&(l||(l=[]),l.push(f));if((l||!a)&&!_(this,c,b,l))return!1}for(f in j)(g=h[f])&&(m&&(g.f?g.t[g.p](g.s):g.t[g.p]=g.s,i=!0),g.pg&&g.t._kill(j)&&(i=!0),g.pg&&0!==g.t._overwriteProps.length||(g._prev?g._prev._next=g._next:g===this._firstPT&&(this._firstPT=g._next),g._next&&(g._next._prev=g._prev),g._next=g._prev=null),delete h[f]),k&&(e[f]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return i},h.invalidate=function(){return this._notifyPluginsOfEnabled&&G._onPluginEvent(\"_onDisable\",this),this._firstPT=this._overwrittenProps=this._startAt=this._onUpdate=null,this._notifyPluginsOfEnabled=this._active=this._lazy=!1,this._propLookup=this._targets?{}:[],D.prototype.invalidate.call(this),this.vars.immediateRender&&(this._time=-m,this.render(Math.min(0,-this._delay))),this},h._enabled=function(a,b){if(j||i.wake(),a&&this._gc){var c,d=this._targets;if(d)for(c=d.length;--c>-1;)this._siblings[c]=$(d[c],this,!0);else this._siblings=$(this.target,this,!0)}return D.prototype._enabled.call(this,a,b),this._notifyPluginsOfEnabled&&this._firstPT?G._onPluginEvent(a?\"_onEnable\":\"_onDisable\",this):!1},G.to=function(a,b,c){return new G(a,b,c)},G.from=function(a,b,c){return c.runBackwards=!0,c.immediateRender=0!=c.immediateRender,new G(a,b,c)},G.fromTo=function(a,b,c,d){return d.startAt=c,d.immediateRender=0!=d.immediateRender&&0!=c.immediateRender,new G(a,b,d)},G.delayedCall=function(a,b,c,d,e){return new G(b,0,{delay:a,onComplete:b,onCompleteParams:c,callbackScope:d,onReverseComplete:b,onReverseCompleteParams:c,immediateRender:!1,lazy:!1,useFrames:e,overwrite:0})},G.set=function(a,b){return new G(a,0,b)},G.getTweensOf=function(a,b){if(null==a)return[];a=\"string\"!=typeof a?a:G.selector(a)||a;var c,d,e,f;if((p(a)||H(a))&&\"number\"!=typeof a[0]){for(c=a.length,d=[];--c>-1;)d=d.concat(G.getTweensOf(a[c],b));for(c=d.length;--c>-1;)for(f=d[c],e=c;--e>-1;)f===d[e]&&d.splice(c,1)}else if(a._gsTweenID)for(d=$(a).concat(),c=d.length;--c>-1;)(d[c]._gc||b&&!d[c].isActive())&&d.splice(c,1);return d||[]},G.killTweensOf=G.killDelayedCallsTo=function(a,b,c){\"object\"==typeof b&&(c=b,b=!1);for(var d=G.getTweensOf(a,b),e=d.length;--e>-1;)d[e]._kill(c,a)};var ca=t(\"plugins.TweenPlugin\",function(a,b){this._overwriteProps=(a||\"\").split(\",\"),this._propName=this._overwriteProps[0],this._priority=b||0,this._super=ca.prototype},!0);if(h=ca.prototype,ca.version=\"1.19.0\",ca.API=2,h._firstPT=null,h._addTween=P,h.setRatio=N,h._kill=function(a){var b,c=this._overwriteProps,d=this._firstPT;if(null!=a[this._propName])this._overwriteProps=[];else for(b=c.length;--b>-1;)null!=a[c[b]]&&c.splice(b,1);for(;d;)null!=a[d.n]&&(d._next&&(d._next._prev=d._prev),d._prev?(d._prev._next=d._next,d._prev=null):this._firstPT===d&&(this._firstPT=d._next)),d=d._next;return!1},h._mod=h._roundProps=function(a){for(var b,c=this._firstPT;c;)b=a[this._propName]||null!=c.n&&a[c.n.split(this._propName+\"_\").join(\"\")],b&&\"function\"==typeof b&&(2===c.f?c.t._applyPT.m=b:c.m=b),c=c._next},G._onPluginEvent=function(a,b){var c,d,e,f,g,h=b._firstPT;if(\"_onInitAllProps\"===a){for(;h;){for(g=h._next,d=e;d&&d.pr>h.pr;)d=d._next;(h._prev=d?d._prev:f)?h._prev._next=h:e=h,(h._next=d)?d._prev=h:f=h,h=g}h=b._firstPT=e}for(;h;)h.pg&&\"function\"==typeof h.t[a]&&h.t[a]()&&(c=!0),h=h._next;return c},ca.activate=function(a){for(var b=a.length;--b>-1;)a[b].API===ca.API&&(R[(new a[b])._propName]=a[b]);return!0},s.plugin=function(a){if(!(a&&a.propName&&a.init&&a.API))throw\"illegal plugin definition.\";var b,c=a.propName,d=a.priority||0,e=a.overwriteProps,f={init:\"_onInitTween\",set:\"setRatio\",kill:\"_kill\",round:\"_mod\",mod:\"_mod\",initAll:\"_onInitAllProps\"},g=t(\"plugins.\"+c.charAt(0).toUpperCase()+c.substr(1)+\"Plugin\",function(){ca.call(this,c,d),this._overwriteProps=e||[]},a.global===!0),h=g.prototype=new ca(c);h.constructor=g,g.API=a.API;for(b in f)\"function\"==typeof a[b]&&(h[f[b]]=a[b]);return g.version=a.version,ca.activate([g]),g},f=a._gsQueue){for(g=0;g|Object.|string)} val\n * @param {?Array.} escaping\n * @return {String}\n */\nexports.classes = pug_classes;\nfunction pug_classes_array(val, escaping) {\n var classString = '', className, padding = '', escapeEnabled = Array.isArray(escaping);\n for (var i = 0; i < val.length; i++) {\n className = pug_classes(val[i]);\n if (!className) continue;\n escapeEnabled && escaping[i] && (className = pug_escape(className));\n classString = classString + padding + className;\n padding = ' ';\n }\n return classString;\n}\nfunction pug_classes_object(val) {\n var classString = '', padding = '';\n for (var key in val) {\n if (key && val[key] && pug_has_own_property.call(val, key)) {\n classString = classString + padding + key;\n padding = ' ';\n }\n }\n return classString;\n}\nfunction pug_classes(val, escaping) {\n if (Array.isArray(val)) {\n return pug_classes_array(val, escaping);\n } else if (val && typeof val === 'object') {\n return pug_classes_object(val);\n } else {\n return val || '';\n }\n}\n\n/**\n * Convert object or string to a string of CSS styles delimited by a semicolon.\n *\n * @param {(Object.|string)} val\n * @return {String}\n */\n\nexports.style = pug_style;\nfunction pug_style(val) {\n if (!val) return '';\n if (typeof val === 'object') {\n var out = '';\n for (var style in val) {\n /* istanbul ignore else */\n if (pug_has_own_property.call(val, style)) {\n out = out + style + ':' + val[style] + ';';\n }\n }\n return out;\n } else {\n val += '';\n if (val[val.length - 1] !== ';') \n return val + ';';\n return val;\n }\n};\n\n/**\n * Render the given attribute.\n *\n * @param {String} key\n * @param {String} val\n * @param {Boolean} escaped\n * @param {Boolean} terse\n * @return {String}\n */\nexports.attr = pug_attr;\nfunction pug_attr(key, val, escaped, terse) {\n if (val === false || val == null || !val && (key === 'class' || key === 'style')) {\n return '';\n }\n if (val === true) {\n return ' ' + (terse ? key : key + '=\"' + key + '\"');\n }\n if (typeof val.toJSON === 'function') {\n val = val.toJSON();\n }\n if (typeof val !== 'string') {\n val = JSON.stringify(val);\n if (!escaped && val.indexOf('\"') !== -1) {\n return ' ' + key + '=\\'' + val.replace(/'/g, ''') + '\\'';\n }\n }\n if (escaped) val = pug_escape(val);\n return ' ' + key + '=\"' + val + '\"';\n};\n\n/**\n * Render the given attributes object.\n *\n * @param {Object} obj\n * @param {Object} terse whether to use HTML5 terse boolean attributes\n * @return {String}\n */\nexports.attrs = pug_attrs;\nfunction pug_attrs(obj, terse){\n var attrs = '';\n\n for (var key in obj) {\n if (pug_has_own_property.call(obj, key)) {\n var val = obj[key];\n\n if ('class' === key) {\n val = pug_classes(val);\n attrs = pug_attr(key, val, false, terse) + attrs;\n continue;\n }\n if ('style' === key) {\n val = pug_style(val);\n }\n attrs += pug_attr(key, val, false, terse);\n }\n }\n\n return attrs;\n};\n\n/**\n * Escape the given string of `html`.\n *\n * @param {String} html\n * @return {String}\n * @api private\n */\n\nvar pug_match_html = /[\"&<>]/;\nexports.escape = pug_escape;\nfunction pug_escape(_html){\n var html = '' + _html;\n var regexResult = pug_match_html.exec(html);\n if (!regexResult) return _html;\n\n var result = '';\n var i, lastIndex, escape;\n for (i = regexResult.index, lastIndex = 0; i < html.length; i++) {\n switch (html.charCodeAt(i)) {\n case 34: escape = '"'; break;\n case 38: escape = '&'; break;\n case 60: escape = '<'; break;\n case 62: escape = '>'; break;\n default: continue;\n }\n if (lastIndex !== i) result += html.substring(lastIndex, i);\n lastIndex = i + 1;\n result += escape;\n }\n if (lastIndex !== i) return result + html.substring(lastIndex, i);\n else return result;\n};\n\n/**\n * Re-throw the given `err` in context to the\n * the pug in `filename` at the given `lineno`.\n *\n * @param {Error} err\n * @param {String} filename\n * @param {String} lineno\n * @param {String} str original source\n * @api private\n */\n\nexports.rethrow = pug_rethrow;\nfunction pug_rethrow(err, filename, lineno, str){\n if (!(err instanceof Error)) throw err;\n if ((typeof window != 'undefined' || !filename) && !str) {\n err.message += ' on line ' + lineno;\n throw err;\n }\n try {\n str = str || require('fs').readFileSync(filename, 'utf8')\n } catch (ex) {\n pug_rethrow(err, null, lineno)\n }\n var context = 3\n , lines = str.split('\\n')\n , start = Math.max(lineno - context, 0)\n , end = Math.min(lines.length, lineno + context);\n\n // Error context\n var context = lines.slice(start, end).map(function(line, i){\n var curr = i + start + 1;\n return (curr == lineno ? ' > ' : ' ')\n + curr\n + '| '\n + line;\n }).join('\\n');\n\n // Alter exception message\n err.path = filename;\n err.message = (filename || 'Pug') + ':' + lineno\n + '\\n' + context + '\\n\\n' + err.message;\n throw err;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/pug-runtime/index.js\n// module id = 4\n// module chunks = d-game","// Webpack loaders\nconst configDefaults = require('configDefaults');\nconst errorConfig = require('errors');\nconst ThemeImageModel = require(`../../themes/${__themeCode}/images.js`);\n\n// Native\nimport log from 'loglevel';\nimport * as SUGA from 'suga';\n\n// set up my awesome pixi extras\nimport pixiTimeout from 'pixi-timeout'\nimport pixiPause from 'pixi-pause'\nimport pixiCenter from 'pixi-center'\n\n// Common Views\nimport * as VUE from 'vue';\nimport { Pariplay as RGS } from 'pariplay'\n\n// Models\nimport ImageModel from '../model/image-model';\nimport GameModel from '../model/game-model';\n\n// Import tween library\nimport TweenMax from 'tween';\nimport CustomEase from '../vendor/custom-ease';\n\n// HACK\nimport API from './api';\n\nimport Toast from '../../pug/toast.pug'\n\nwindow.toastr.options = {\n closeButton: true,\n debug: false,\n newestOnTop: false,\n progressBar: false,\n positionClass: \"toast-top-full-width\",\n preventDuplicates: false,\n showDuration: \"300\",\n hideDuration: \"1000\",\n timeOut: 7000,\n extendedTimeOut: \"1000\",\n showEasing: \"swing\",\n hideEasing: \"linear\",\n showMethod: \"slideDown\",\n hideMethod: \"slideUp\",\n tapToDismiss: false,\n onclick: false,\n closeOnHover: false,\n}\n\n/**\n * Class for game.\n */\nclass Game\n{\n /**\n * Constructs the object.\n */\n constructor()\n {\n window.__log = log;\n log.disableAll();\n\n // inject the common & default config options\n this.gameModel = new GameModel();\n this.gameModel = Object.assign(this.gameModel, configDefaults);\n\n // __dpi = 3; // SUGA.Device.getDpi()\n // __postfix = SUGA.Device.getResPostfix(__dpi);\n\n // start the progress bar\n SUGA.Progress.init('progress-container');\n SUGA.Progress.start();\n SUGA.Progress.trickle();\n SUGA.Device.listenForFullscreenChanges();\n\n // extend PIXI\n VUE.Pixi.extend(__dpi);\n\n // get the query string\n const queryData = UTIL.getQueryAsObj();\n\n // overwrite games which dont have a code\n if (__theme.apiGameCode)\n {\n queryData.gameCode = __theme.apiGameCode;\n }\n\n // create an instance of the RGS lib &\n // set it up with the URL querystring data\n // if you are managing your own history you need to handle `back`\n this.rgs = new RGS(queryData, __isMobile, () => this.forceBack());\n\n // toggle logging based on the this.gameModel.debug\n this.setupLogging();\n\n this.rgs.loadGame((err, rgsModel) =>\n {\n this.loadGameHandler(err, rgsModel);\n });\n }\n\n /**\n * Loads a game handler.\n *\n * @param {object} err The error\n * @param {object} rgsModel The rgs model\n */\n loadGameHandler(err, rgsModel)\n {\n // inject the data from the load game request\n this.gameModel = Object.assign(this.gameModel, rgsModel.getData());\n\n // // inject the theme specific values\n this.gameModel = Object.assign(this.gameModel, __theme);\n\n // make the whole thing global, for easy logging\n window.__config = this.gameModel;\n\n // setup the currency manager\n this.setupCurrencyManager();\n\n // setup all the event listeners\n this.setupEventListeners();\n\n // toggle showing the debug info & options\n this.setupDebugging();\n\n // start Google Analytics tracking\n this.setupTrackingManager();\n\n // load fonts, images, etc\n this.setupIndependentManagers(() =>\n {\n // this essentially starts PIXI\n // and the render loop\n this.setupCanvasManager(() =>\n {\n // setup some views, so we can either\n // display the game or any errors\n this.setupInitialViews();\n\n // show the game and hide the loader\n this.showGameAfterDelay();\n\n // wait until we get a valid response\n // this callback will be called multiple times\n if (err)\n {\n this.showNotificationView(err);\n\n return;\n }\n\n // check we have the current & valid balance\n this.getInitialBalance(rgsModel, () =>\n {\n // tell Google Analytics we are up and running\n this.trackingManager.event('Request', 'LoadGame', (!!err));\n\n // set the default reality check timer\n this.setupRealityCheckManager();\n\n // setup & start sound\n this.setupSoundManager();\n\n // start a replay game first if there is one to show\n if (this.gameModel.replayOutcome)\n {\n this.showReplayMessage();\n\n return;\n }\n\n // start a normal game (no replay)\n this.startGame(1);\n });\n });\n });\n }\n\n /**\n * Gets the initial balance.\n *\n * @param {Object} rgsModel The rgs model\n * @param {Function} cb Completion handler\n */\n getInitialBalance(rgsModel, cb)\n {\n // now we validate the state of the game\n // we wait until now so everything is setup\n // and any actions such as errors or replays\n // can be displayed to the user\n this.rgs.getInitialBalance(rgsModel, (err, balance) =>\n {\n // wait until we get a valid response\n // this callback will be called multiple times\n if (err)\n {\n this.showNotificationView(err);\n\n return;\n }\n\n // if the balance is unknown. `-1` represents unknown\n if (balance === null || balance === undefined)\n {\n balance = -1;\n }\n\n // tell the rest of the app about the balance\n this.setBalance(balance, false);\n\n // update the balance if the process got a new balance\n if (balance !== null && balance !== undefined)\n {\n this.gameModel.setBalance(balance);\n }\n\n // tell Google Analytics we are up and running\n this.trackingManager.event('Request', 'LoadGame', (!!err));\n\n cb();\n });\n }\n\n /**\n * Adds the event listeners\n */\n setupEventListeners()\n {\n // notification view events\n SUGA.Event.on('start-replay', (data) => this.startReplay(data));\n SUGA.Event.on('end-replay', (data) => this.endReplay(data));\n SUGA.Event.on('reload', (e) => this.reload(e));\n SUGA.Event.on('hide-reality-check', (data) => this.hideRealityCheck(data));\n SUGA.Event.on('hide-error', (err) => this.hideNotificationView(err));\n SUGA.Event.on('continue', (err) => this.continueWithBet(err));\n SUGA.Event.on('quit', (e) => this.rgs.goHome(e)); // RGS external link\n SUGA.Event.on('cashier', (e) => this.rgs.goCashier(e)); // RGS external link\n SUGA.Event.on('buy-more', (e) => this.rgs.goBuyMore(e)); // RGS external link\n SUGA.Event.on('history', (e) => this.rgs.goHistory(e)); // RGS external link\n SUGA.Event.on('link', (e) => this.openLink(e));// RGS external link\n }\n\n /**\n * To log or not to log, that is the question\n */\n setupLogging()\n {\n // turn loggin of by default\n if (this.gameModel.debug)\n {\n log.enableAll();\n }\n }\n\n /**\n * Set up the vies we will nees initially\n */\n setupInitialViews()\n {\n // get size of all the elements\n const size = this.canvasManager.gameDimensions;\n\n const GameView = require(`../../themes/${__themeCode}/view/game-view`).default;\n\n const gameOpts = {\n font: this.gameModel.font,\n showTicketId: this.gameModel.showTicketId,\n stake: this.gameModel.getStake(),\n stakes: this.gameModel.stakes,\n multipliers: this.gameModel.prizeMultipliers,\n moneyBagMultiplier: this.gameModel.moneyBagMultiplier,\n placeBet: (data) => this.placeBet(data),\n endBet: (data) => this.endBet(data),\n resultShown: (data) => this.resultShown(data),\n showMatch: (data) => this.showMatch(data),\n stakeChange: (data) => this.stakeChange(data),\n };\n\n // setup game view aswell\n this.gameView = new GameView(size, gameOpts, this.themeImageModel);\n this.canvasManager.pushView(this.gameView, false);\n\n // setup this shit helpView\n if (this.gameModel.showHelpButton)\n {\n const HelpView = require(`../../themes/${__themeCode}/view/help-view`).default;\n\n const helpOpts = {\n font: this.gameModel.font,\n helpUrl: this.gameModel.getHelpUrl(),\n balanceBarHeight: 45,\n onBackClick: () => this.hideHelpView(),\n };\n\n this.helpView = new HelpView(size, helpOpts);\n }\n\n // setup menu view\n const CurtainView = require(`../../themes/${__themeCode}/view/curtain-view`).default;\n\n this.curtainView = new CurtainView(this.themeImageModel, size);\n\n this.canvasManager.pushView(this.curtainView, false);\n\n // localize introtext\n const maxPrize = this.currencyManager.localize(this.gameModel.maxPrize);\n const introtext = __t.str('introtext', { maxPrize });\n\n // action when user clicks play from menu\n const buttonHandler = () =>\n {\n SUGA.Sound.play('click');\n this.hideMenuView(false);\n };\n\n // setup menu view\n const MenuView = require(`../../themes/${__themeCode}/view/menu-view`).default;\n\n this.menuView = new MenuView(this.themeImageModel, size, introtext, buttonHandler);\n\n this.canvasManager.pushView(this.menuView, false);\n\n // action when user clicks play from menu\n const winButtonHandler = () =>\n {\n SUGA.Sound.play('click');\n this.hideWinView();\n };\n\n // setup menu view\n const WinView = require(`../../themes/${__themeCode}/view/win-view`).default;\n\n this.winView = new WinView(this.themeImageModel, size, winButtonHandler, this.gameModel.moneyBagMultiplier);\n\n // make everything fit\n this.canvasManager.sizeToFit();\n }\n\n /**\n * Sequence of animations to show the MenuView\n */\n showMenuView(delay)\n {\n PIXI.setTimeout(delay, () =>\n {\n this.menuView.close();\n });\n }\n\n /**\n * Hides the menu view.\n */\n hideMenuView(isReplay = false)\n {\n this.menuView.open(() =>\n {\n this.curtainView.open();\n\n if (!isReplay)\n {\n // pop menu view\n this.canvasManager.popView(false);\n\n // we won't need this view again\n this.menuView = null;\n delete this.menuView;\n\n // lets go\n this.gameView.showPlayAndBetBtns();\n }\n\n });\n }\n\n /**\n * Setup the class that managers PIXI and all the view navigation\n *\n * @param {Function} cb Handler when we are done\n */\n setupCanvasManager(cb)\n {\n // build the views needed for the canvas manager\n this.gameBg = new PIXI.Sprite.fromImage(this.themeImageModel.bg);\n\n const bottomBarViewOptions = {\n bgAlpha: 1,\n infoGroupWidth: 100,\n showLastWin: true,\n betText: __t.str('Stake').toUpperCase(),\n lastWinText: __t.str('Last Win').toUpperCase(),\n balanceText: __t.str('Balance').toUpperCase(),\n autoplayText: __t.str('Autoplay').toUpperCase(),\n ticketsLeftText: __t.str('Tickets left').toUpperCase(),\n onHelpClick: (e) => this.showHelpView(e),\n onHomeClick: (e) => this.rgs.goHome(e),\n onMuteClick: (e) => this.toggleMute(e),\n onFullscreenClick: (e) => SUGA.Device.toggleFullscreen(document.body),\n fullscreenEnabled: SUGA.Device.fullscreenEnabled(),\n };\n\n this.bottomBarView = new VUE.BottomBarView(this.gameModel, bottomBarViewOptions, this.currencyManager);\n\n const options = {\n dpi: __dpi,\n font: this.gameModel.font,\n showFPS: this.gameModel.fps,\n forceCanvas: this.gameModel.canvas,\n buttonOffset: 120,\n backgroundAnchor: this.gameModel.backgroundAnchor,\n transitionSpeed: 300,\n parallaxBgOffeset: this.gameModel.parallax,\n defaultGameWidth: this.gameModel.gameWidth,\n defaultGameHeight: this.gameModel.gameHeight,\n fixedAspect: this.gameModel.fixedAspect,\n onResize: (size) => this.onResize(size),\n onPageVisibility: (state) => this.onPageVisibility(state),\n };\n\n this.canvasManager = new VUE.Canvas(options, this.bottomBarView, this.gameBg);\n this.canvasManager.renderCanvas();\n this.canvasManager.sizeToFit();\n this.canvasManager.pushInitHistory('MenuView');\n\n cb();\n }\n\n /**\n * Setup the correct currency formatting\n */\n setupCurrencyManager()\n {\n const currCode = this.gameModel.currencyCode;\n const locale = this.gameModel.languageCode;\n\n this.currencyManager = new SUGA.Currency(SUGA.Data);\n this.currencyManager.setup(locale, currCode);\n\n window.__c = this.currencyManager;\n\n if (this.rgs.currencyLoaded)\n {\n this.rgs.currencyLoaded({\n cs: this.currencyManager.getCurrencySymbol(),\n cc: this.gameModel.currencyCode,\n });\n }\n }\n\n setupIndependentManagers(cb)\n {\n Promise.all([\n this.setupFontManager(),\n this.setupImageManager(),\n this.setupLocaleManager(),\n ]).then(cb).catch((reason) =>\n {\n cb();\n });\n }\n\n /**\n * Setup the image/asset loader\n */\n setupImageManager()\n {\n return new Promise((resolve, reject) =>\n {\n try\n {\n this.themeImageModel = new ThemeImageModel();\n\n const themeUrls = this.themeImageModel.preload();\n\n this.imageModel = new ImageModel();\n\n const urls = themeUrls.concat(this.imageModel.preload);\n\n SUGA.Loader.loadAssets(\n urls,\n () =>\n {\n resolve();\n }\n , (progress) =>\n {\n SUGA.Progress.set(progress / 100);\n }\n );\n }\n catch (e)\n {\n reject();\n // eslint-disable-line\n }\n });\n }\n\n /**\n * Load the correct locale/language files\n */\n setupLocaleManager()\n {\n return new Promise((resolve) =>\n {\n const lang = this.gameModel.languageCode;\n\n const hackFunctionToLoadLangFiles = () => // eslint-disable-line\n {\n const path = require(`lang/${lang}.json`); // eslint-disable-line\n };\n\n this.localeManager = new SUGA.Locale(this.gameModel.defaultLanguage, './assets/lang/', __version);\n\n this.localeManager.setLocale(lang, resolve);\n\n window.__t = this.localeManager;\n });\n }\n\n /**\n * Load the fonts for the theme\n */\n setupFontManager()\n {\n return new Promise((resolve) =>\n {\n // copy all the fonts over\n function fake(val) // eslint-disable-line\n {\n require(`../../themes/${__themeCode}/font/${val}.eot`);\n require(`../../themes/${__themeCode}/font/${val}.svg`);\n require(`../../themes/${__themeCode}/font/${val}.ttf`);\n require(`../../themes/${__themeCode}/font/${val}.woff`);\n require(`../../themes/${__themeCode}/font/${val}.woff2`);\n }\n\n // the css file loads those fonts\n const fontCssUrl = require(`../../themes/${__themeCode}/fonts.css`);\n const fontsToLoad = [this.gameModel.getFontWithVariations(), this.gameModel.secondaryFont];\n\n SUGA.Font.loadFonts(fontsToLoad, fontCssUrl, __version, (styles) =>\n {\n if (styles)\n {\n styles.forEach((style) => new PIXI.Text('test', style));\n }\n\n resolve();\n });\n });\n }\n\n /**\n * Start up the audio\n */\n setupSoundManager()\n {\n if (__isMobile)\n {\n this.mute();\n }\n\n return new Promise((resolve, reject) =>\n {\n // get url of JSON sprite sheet\n const audioSpriteUrl = require(`../../themes/${__themeCode}/sound/audio-sprite.json`);\n\n // fetch the JSON sprite sheet\n SUGA.Network.getJSON(audioSpriteUrl, __version, (err, audioSpriteObj) =>\n {\n // catch error\n if (err || !audioSpriteObj)\n {\n reject();\n\n return;\n }\n\n resolve();\n\n // make background audio loop\n audioSpriteObj.sprite.music.push(true);\n\n // get audio urls\n const mp3 = require(`../../themes/${__themeCode}/sound/audio-sprite.mp3`);\n const ogg = require(`../../themes/${__themeCode}/sound/audio-sprite.ogg`);\n\n // build options\n const options = {\n mp3: `${mp3}?v=${__version}`, // version audio files\n ogg: `${ogg}?v=${__version}`, // version audio files\n masterVolume: this.gameModel.getSound(),\n volumes: this.gameModel.volumes,\n mute: this.gameModel.getMute(),\n audioSpriteObj,\n startOnInteraction: __isMobile, // whether to start immediately or after user interaction\n element: document.getElementById('canvas'),\n };\n\n const onStart = () =>\n {\n // start background audio\n SUGA.Sound.play('music');\n };\n\n // Load the audio sprite json and setup for playback\n SUGA.Sound.init(options, onStart);\n });\n });\n }\n\n /**\n * Start Google Analytics event and error tracking\n */\n setupTrackingManager()\n {\n this.trackingManager = new SUGA.Tracking(this.gameModel.gameCode, __version);\n }\n\n /**\n * Show the debug options\n */\n setupDebugging()\n {\n const prizeCount = (this.gameModel.paytable) ? this.gameModel.paytable.length : 43;\n\n if (this.gameModel.debug)\n {\n System.import(/* webpackChunkName: \"debug\" */ 'debugManager')\n .then((module) =>\n {\n const debugManager = module.default;\n\n debugManager.render(prizeCount);\n })\n .catch((error) => { throw (new Error(error)); });\n }\n }\n\n /**\n * Set up reality check stuff\n */\n setupRealityCheckManager()\n {\n if (this.gameModel.showRealityCheck)\n {\n this.trackingManager.event('RealityCheck', 'event', 'show');\n\n const interval = this.gameModel.realityCheckSeconds;\n\n const handler = ((msg) =>\n {\n this.showRealityCheck(msg);\n });\n\n // initialize with reality check\n SUGA.Reality.init(interval, handler, false);\n\n // start the linterval listener\n SUGA.Reality.start();\n }\n }\n\n /**\n * Hide the load screen and display the game after short delay\n */\n showGameAfterDelay()\n {\n setTimeout(() =>\n {\n SUGA.Progress.done();\n\n const ele = document.getElementById('initial-loader');\n\n ele.style.opacity = 0;\n ele.style.display = 'none';\n\n this.canvasManager.showCanvasEle();\n }, this.gameModel.hideLoaderDelay);\n }\n\n /**\n * Starts a game, after any loading messages or replays\n *\n * @param {number} delay The delay in seconds before the menu shows\n */\n startGame(delay)\n {\n this.canvasManager.enableUserActions()\n\n if (this.started)\n {\n return;\n }\n\n this.started = true;\n\n this.showMenuView(delay);\n\n this.gameView.reset();\n\n this.canvasManager.popOverlay();\n\n this.rgs.balanceHandler = (balance) =>\n {\n if (window.UTIL.isNotNumeric(balance)) { return; }\n this.setBalance(balance);\n };\n\n this.setBalance(this.gameModel.getBalance());\n\n if (this.gameModel.isOutOfTickets() && this.gameModel.showBuyMoreButton)\n {\n this.showNotificationView({ code: 'NO_TICKETS_LEFT' });\n }\n }\n\n /**\n * Places a bet\n */\n placeBet(delay)\n {\n if (this.gameModel.showRealityCheck)\n {\n SUGA.Reality.canShowRealityCheck(false);\n }\n\n if (this.gameModel.isOutOfTickets())\n {\n this.noTicketsLeft();\n\n if (this.gameModel.showBuyMoreButton)\n {\n this.showNotificationView({ code: 'NO_TICKETS_LEFT' });\n\n return;\n }\n }\n\n // get the current stake\n const stake = this.gameModel.getStake();\n\n // Make the network call\n this.rgs.placeBet(stake, (err, betModel, code) =>\n {\n // console.log(betModel)\n if (err)\n {\n this.showNotificationView(err);\n\n this.gameView.reset();\n this.gameView.showPlayAndBetBtns();\n\n return;\n }\n\n if(!betModel.isValid())\n {\n this.showNotificationView({ code: 'PLACE_BET_INVALID' });\n\n this.gameView.reset();\n this.gameView.showPlayAndBetBtns();\n\n return;\n }\n\n this.bottomBarView.resetLastWin();\n\n this.setBalance(betModel.balance.balanceBefore);\n\n this.setRemainingTickets(betModel.balance.roundsLeftAfter);\n\n this.canvasManager.popAllOverlays();\n\n this.canvasManager.disableScrolling();\n\n this.betModel = betModel;\n\n if (betModel.messages)\n {\n this.splitMessages(betModel.messages, err)\n }\n else\n {\n this.gameView.executeBet(betModel, err, code);\n }\n\n\n });\n }\n\n splitMessages(messages, err)\n {\n const popups = []\n const notes = []\n\n messages.forEach(message =>\n {\n const messageData = message.getData()\n\n if (messageData.displayType === 1)\n {\n notes.push(messageData)\n }\n else\n {\n popups.push(messageData)\n }\n })\n\n if (popups.length)\n {\n this.showPopups(popups, err)\n }\n else\n {\n this.gameView.executeBet(this.betModel, err);\n }\n\n if (notes.length)\n {\n this.showNotes(notes)\n }\n }\n\n showPopups(messages, err)\n {\n const message = messages.shift()\n\n this.showNotificationView(message, () => {\n\n if (messages.length)\n {\n this.showPopups(messages, err)\n }\n else\n {\n this.gameView.executeBet(this.betModel, err);\n }\n })\n }\n\n showNotes(messages)\n {\n if (!messages.length) return\n\n const message = messages.shift()\n\n if (message.buttons && message.buttons.length)\n {\n message.buttons = message.buttons.filter(button => {\n if (button.action === \"history\" && !this.gameModel.historyUrl) return false\n if (button.action === \"cashier\" && !this.gameModel.cashierUrl) return false\n return true\n })\n\n message.buttons = message.buttons.map(button => Object.assign(button, { type: 'note' }))\n }\n\n window.toastr.options.onHidden = () => {\n console.log('goodbye');\n this.currentNote = null\n this.showNotes(messages)\n }\n this.currentNote = window.toastr.warning(Toast(message))\n }\n\n\n /**\n * Called after a place bet message\n *\n * @param {number} winAmount The window amount\n */\n continueWithBet(e)\n {\n if (typeof e === 'string')\n {\n e = JSON.parse(e)\n }\n\n if (e && e.type && e.type === 'note')\n {\n $('.toast-close-button').click()\n\n }\n else\n {\n this.hideNotificationView()\n }\n\n }\n\n openLink(e)\n {\n if (typeof e === 'string')\n {\n e = JSON.parse(e)\n }\n const {link, linkType} = e\n\n this.rgs.goToURL(link, linkType, () => {\n this.continueWithBet(e)\n });\n }\n\n /**\n * Shows the process of 3x matches and moneybags as they are revealed.\n *\n * @param {number} winAmount The window amount\n */\n showMatch(winAmount)\n {\n this.bottomBarView.updateLastWin(winAmount, () => {});\n }\n\n /**\n * This happens as soon as the result is seen\n * aka before any winning animations\n */\n resultShown()\n {\n // return;\n\n this.rgs.endBet(this.betModel.getEndBetData());\n }\n\n /**\n * Ends a round. After any winning animations\n *\n * @param {object} data The data\n */\n endBet(data)\n {\n const winAmount = data.winAmount;\n const result = data.result;\n const isReplay = (this.betModel.isReplay === true)\n\n // set balance\n this.setBalance(this.betModel.balance.balanceAfter);\n\n\n // Show win\n if (winAmount)\n {\n this.canvasManager.pushView(this.winView, false);\n\n this.curtainView.close(() =>\n {\n this.gameView.reset();\n\n if (isReplay)\n {\n this.showEndReplayMessage();\n\n return;\n }\n\n this.winView.showElements(data, () =>\n {\n this.hideWinViewTimer = PIXI.setTimeout(2, () => this.hideWinView());\n });\n });\n }\n\n // Show loss\n else\n {\n PIXI.setTimeout(1, () =>\n {\n this.curtainView.close(() =>\n {\n this.gameView.reset();\n\n if (isReplay)\n {\n this.showEndReplayMessage();\n\n return;\n }\n\n this.curtainView.open(() =>\n {\n this.gameView.showPlayAndBetBtns();\n });\n });\n });\n }\n\n // Do we need to show the reality check?\n if (this.gameModel.showRealityCheck)\n {\n SUGA.Reality.canShowRealityCheck(true);\n }\n }\n\n /**\n * Hides the window view.\n */\n hideWinView()\n {\n if (this.hideWinViewTimer)\n {\n this.hideWinViewTimer.clear();\n }\n\n this.gameView.reset();\n\n this.winView.hideElements(() =>\n {\n this.canvasManager.popView(false);\n this.curtainView.open(() =>\n {\n this.gameView.showPlayAndBetBtns();\n });\n });\n }\n\n /**\n * Shows the replay message.\n */\n showReplayMessage()\n {\n this.showNotificationView({ code: 'REPLAY_START' });\n }\n\n /**\n * Starts a replay.\n */\n startReplay()\n {\n this.isAttemptingToReplay = true;\n\n const ticketModel = this.gameModel.replayOutcome;\n\n this.rgs.replayBet(ticketModel, (err, betModel) =>\n {\n if (err)\n {\n this.showNotificationView(err);\n\n return;\n }\n\n if(!betModel.isValid())\n {\n this.showNotificationView({ code: 'PLACE_BET_INVALID' });\n\n return;\n }\n\n this.hideNotificationView()\n\n this.trackingManager.event('Replay', 'event', 'start');\n\n this.setBalance(betModel.getBalanceBefore());\n\n this.stakeChange(betModel.getStake())\n\n this.hideMenuView(true);\n\n this.betModel = betModel;\n\n PIXI.setTimeout(2, () =>\n {\n this.gameView.executeBet(betModel);\n });\n });\n }\n\n /**\n * Show a message that the replay has been seen\n */\n showEndReplayMessage()\n {\n PIXI.setTimeout(1, () =>\n {\n this.showNotificationView({ code: 'REPLAY_DONE' });\n });\n }\n\n /**\n * Ends a replay.\n */\n endReplay()\n {\n this.isAttemptingToReplay = false\n this.setBalance(this.gameModel.getBalance(), false);\n this.stakeChange(this.gameModel.defaultStake)\n this.startGame(0);\n }\n\n /**\n * Shows the help view.\n */\n showHelpView()\n {\n if (this.gameModel.getHelpUrl() === null)\n {\n return;\n }\n\n if (this.canvasManager.isTransitioning)\n\n {\n return;\n }\n\n this.trackingManager.event('HelpView', 'views', 'show');\n\n this.helpView.show()\n }\n\n hideHelpView()\n {\n this.helpView.hide()\n }\n\n /**\n * Shows the error view\n *\n * @param {object} rawErr The raw error\n */\n showNotificationView(rawErr, cb)\n {\n\n let code;\n let serverMsg;\n\n if (rawErr.code)\n {\n code = rawErr.code;\n }\n\n if (rawErr.msg)\n {\n serverMsg = rawErr.msg;\n }\n\n\n const err = (code) ? UTIL.clone(errorConfig[code]): rawErr;\n\n if (!err)\n {\n return;\n }\n\n if (err.showServerMsg && serverMsg)\n {\n err.msg = serverMsg;\n }\n\n if (err.buttons)\n {\n for (const button of Array.from(err.buttons))\n {\n button.text = __t.str(button.textKey);\n }\n }\n\n else\n {\n err.buttons = [];\n }\n\n if (err.fatal)\n {\n this.mute();\n this.gameView.reset();\n }\n\n this.trackingManager.exception(`${code}:${serverMsg}`, err.fatal);\n\n const size = this.canvasManager.gameDimensions;\n\n if (!this.notificationView)\n {\n const options = {\n padding: 10,\n font: this.gameModel.font,\n primaryColor: this.gameModel.primaryColor,\n showCashierButton: this.gameModel.showCashierButton,\n showHistoryButton: this.gameModel.showHistoryButton,\n showHomeButton: this.gameModel.showHomeButton,\n showBuyMoreButton: this.gameModel.showBuyMoreButton,\n buttonImages: {\n // bgUrl: this.imageModel.buttonBgImage,\n normalUrl: this.imageModel.buttonSecondaryNormalImage,\n hoverUrl: this.imageModel.buttonSecondaryHoverImage,\n },\n };\n\n this.notificationView = new VUE.NotificationView(size, options);\n }\n\n this.notificationView.setup(err.title, err.msg, err.buttons, size, () =>\n {\n\n });\n\n this.notificationView.errorCode = code\n this.notificationView.onHide = (cb) ? cb : null\n\n this.canvasManager.pushOverlay(this.notificationView);\n\n }\n\n /**\n * Hides the error view\n */\n hideNotificationView(error)\n {\n if (['PLACE_BET_INVALID','PLACE_BET_FAILED'].includes(this.notificationView.errorCode) && this.isAttemptingToReplay)\n {\n this.endReplay()\n }\n this.canvasManager.popOverlay();\n }\n\n /**\n * Sets the balance.\n *\n * @param {Number} balance The balance\n * @param {boolean} animate The animate\n */\n setBalance(balance, animate = true)\n {\n this.bottomBarView.updateBalance({ balance, animate });\n\n if (balance !== this.gameModel.getBalance())\n {\n this.rgs.balanceChanged(balance);\n }\n }\n\n setRemainingTickets(tickets)\n {\n this.gameModel.setRoundsLeft(tickets);\n this.bottomBarView.updateTicketCount(tickets);\n }\n\n /**\n * Shows the reality check.\n *\n * @param {string} msg The message to dispaly\n */\n showRealityCheck(time)\n {\n const xHours = __t.str('%{smart_count} hours', { smart_count: time.hours });\n const xMins = __t.str('%{smart_count} mins', { smart_count: time.minutes });\n const msg = __t.str('You have been playing for %{xHours} and %{xMins}', { xHours, xMins });\n\n if (this.isShowingRealityCheck)\n {\n this.notificationView.updateMsg(msg);\n\n return;\n }\n\n this.showNotificationView({ code: 'REALITY_CHECK', msg });\n this.isShowingRealityCheck = true;\n\n this.trackingManager.event('RealityView', 'views', 'show');\n }\n\n /**\n * Hides the reality check.\n */\n hideRealityCheck()\n {\n this.isShowingRealityCheck = false;\n this.canvasManager.popOverlay();\n\n // this.gameView.resetAfterNotification();\n }\n\n /**\n * Called on resize\n */\n onResize(size)\n {\n this.rgs.resize(size.viewportWidth, size.viewportHeight);\n }\n\n /**\n * Reload the game\n */\n reload()\n {\n location.reload();\n }\n\n /**\n * When page becomes visible or not\n *\n * @param {boolean} isVisible Indicates if visible\n */\n onPageVisibility(isVisible)\n {\n if (isVisible)\n {\n SUGA.Sound.resumeAll();\n }\n else\n {\n SUGA.Sound.pauseAll();\n }\n }\n\n /**\n * Toggle the sound\n */\n toggleMute()\n {\n if (!this.gameModel.getMute())\n {\n this.mute();\n }\n else\n {\n this.unMute();\n }\n }\n\n /**\n * Method to mute game\n */\n mute()\n {\n SUGA.Sound.setMute(true);\n this.gameModel.setMute(true);\n this.bottomBarView.displaySoundOffButton();\n this.trackingManager.event('Mute', 'button', true);\n }\n\n /**\n * Method to unmute the games\n */\n unMute()\n {\n SUGA.Sound.setMute(false);\n this.gameModel.setMute(false);\n this.bottomBarView.displaySoundOnButton();\n this.trackingManager.event('Mute', 'button', false);\n }\n\n /**\n * { function_description }\n *\n * @param {} stake The stake\n */\n stakeChange(stake)\n {\n if (isNaN(stake))\n {\n debugger\n }\n this.gameModel.stake = stake;\n this.bottomBarView.updateStake(stake);\n }\n\n /**\n * Called when we are out of tickets\n */\n noTicketsLeft()\n {\n this.rgs.noTicketsLeft();\n }\n\n /**\n * Called when game will reveal all\n */\n willRevealAll()\n {\n this.rgs.willRevealAll();\n }\n\n /**\n * Go back - we are mananging our own history\n */\n back()\n {\n this.canvasManager.back();\n }\n\n /**\n * Force the game to the previous page\n * Needed when we manage our own history\n */\n forceBack()\n {\n this.canvasManager.forceBack();\n }\n\n /**\n * Tracks events to Google Analy\n *\n * @param {array} data The data\n */\n trackEvent(data)\n {\n this.trackingManager.event(data[0], data[1], data[2]);\n }\n}\n\nnew Game(); // eslint-disable-line\n\n\n\n\n// WEBPACK FOOTER //\n// ./babel/app/game.js","module.exports = {\"gameWidth\":529,\"gameHeight\":365,\"fixedAspect\":true,\"defaultVolume\":0.6,\"defaultCurrency\":\"EUR\",\"defaultLanguage\":\"en\",\"hideLoaderDelay\":200}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./config/config.yaml\n// module id = 13\n// module chunks = d-game","module.exports = {\"LOAD_GAME_FAILED\":{\"title\":\"Game Error\",\"msg\":\"The Game you are trying to open is temporarily unavailable. Please try again in a few moments.\",\"fatal\":true,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Reload game\",\"action\":\"reload\"},{\"textKey\":\"Home\",\"action\":\"quit\"}]},\"LOAD_CONFIG_FAILED\":{\"title\":\"Game Error\",\"msg\":\"Game does not exist. Please try another title.\",\"fatal\":true,\"showServerMsg\":true},\"WAITING_ON_BALANCE\":{\"title\":\"Retrieving Balance\",\"msg\":\"Temporary problem. Please wait.\",\"fatal\":false,\"showServerMsg\":true},\"WAITING_ON_BALANCE_FAILED\":{\"title\":\"Temporary Problem\",\"msg\":\"Please load the game again.\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Reload game\",\"action\":\"reload\"}]},\"NO_TICKETS_LEFT\":{\"code\":112,\"title\":\"No tickets left...\",\"msg\":\"The next big win could be just around the corner. Get more tickets now.\",\"fatal\":true,\"showServerMsg\":false,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"hide-error\"},{\"textKey\":\"Get more tickets\",\"action\":\"buy-more\"},{\"textKey\":\"Home\",\"action\":\"quit\"}]},\"INSUFFICIENT_FUNDS\":{\"code\":112,\"title\":\"Oops\",\"msg\":\"You have insufficient funds\",\"fatal\":true,\"showServerMsg\":false,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"hide-error\"},{\"textKey\":\"Deposit\",\"action\":\"cashier\"},{\"textKey\":\"Home\",\"action\":\"quit\"}]},\"PLACE_BET_FAILED\":{\"title\":\"Game Error\",\"msg\":\"Bet was not placed. Please try again.\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"hide-error\"},{\"textKey\":\"Quit\",\"action\":\"quit\"}]},\"PLACE_BET_INVALID\":{\"title\":\"Game Error\",\"msg\":\"Place bet response invalid\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"hide-error\"},{\"textKey\":\"Quit\",\"action\":\"quit\"}]},\"WAITING_ON_NOTIFICATION\":{\"title\":\"Placing bet\",\"msg\":\"This is taking longer than expected. Please wait.\",\"fatal\":false,\"showServerMsg\":true},\"GAME_QUIT\":{\"title\":\"Game Quit\",\"msg\":\"You have quit the game.\",\"fatal\":true,\"showServerMsg\":true},\"REPLAY_START\":{\"title\":\"Last round not finished\",\"msg\":\"The previous unseen round will now be replayed\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"start-replay\"}]},\"REPLAY_DONE\":{\"title\":\"Replay finished\",\"msg\":\"The replay has finished, you will now return to the game\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Okay\",\"action\":\"end-replay\"}]},\"REALITY_CHECK\":{\"title\":\"Hello there!\",\"msg\":\"\",\"fatal\":false,\"showServerMsg\":true,\"buttons\":[{\"textKey\":\"Continue\",\"action\":\"hide-reality-check\"},{\"textKey\":\"History\",\"action\":\"history\"},{\"textKey\":\"Quit\",\"action\":\"quit\"}]}}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./config/errors.yaml\n// module id = 14\n// module chunks = d-game","module.exports = class Images\n{\n /**\n * Constructs the object.\n */\n constructor()\n {\n this.logo = require(`./img/logo-title${__postfix}.png`);\n this.bg = require(`./img/background${__postfix}.jpg`);\n this.bgMask = require(`./img/color-mask${__postfix}.png`);\n this.btnNormalImage = require(`./img/button-normal${__postfix}.png`);\n this.btnHoverImage = require(`./img/button-hover${__postfix}.png`);\n this.iconPlay = require(`./img/play${__postfix}.png`);\n this.iconAutopick = require(`./img/autoplay${__postfix}.png`);\n\n this.titleChars = require(`./img/title-characters${__postfix}.png`);\n\n this.curtainSide = require(`./img/curtain-side${__postfix}.png`);\n this.curtainTop = require(`./img/curtain-top${__postfix}.png`);\n this.curtainBack = require(`./img/curtain${__postfix}.png`);\n\n this.tryCounter = require(`./img/try-counter${__postfix}.png`);\n this.inventory = require(`./img/inventory${__postfix}.png`);\n this.glow = require(`./img/glow-overlay${__postfix}.png`);\n this.daughter = require(`./img/daughter${__postfix}.png`);\n this.moneyBagWin = require(`./img/money-state-2${__postfix}.png`);\n\n this.gem1 = require(`./img/gem-1${__postfix}.png`);\n this.gem2 = require(`./img/gem-2${__postfix}.png`);\n this.gem3 = require(`./img/gem-3${__postfix}.png`);\n this.gem4 = require(`./img/gem-4${__postfix}.png`);\n this.gem5 = require(`./img/gem-5${__postfix}.png`);\n this.gem6 = require(`./img/gem-6${__postfix}.png`);\n\n this.multi1Win = require(`./img/x1-gold${__postfix}.png`);\n this.multi2Win = require(`./img/x3-gold${__postfix}.png`);\n this.multi3Win = require(`./img/x5-gold${__postfix}.png`);\n this.multi4Win = require(`./img/x10-gold${__postfix}.png`);\n this.multi5Win = require(`./img/x250-gold${__postfix}.png`);\n this.multi6Win = require(`./img/x3000-gold${__postfix}.png`);\n\n this.multi1Normal = require(`./img/x1-silver${__postfix}.png`);\n this.multi2Normal = require(`./img/x3-silver${__postfix}.png`);\n this.multi3Normal = require(`./img/x5-silver${__postfix}.png`);\n this.multi4Normal = require(`./img/x10-silver${__postfix}.png`);\n this.multi5Normal = require(`./img/x250-silver${__postfix}.png`);\n this.multi6Normal = require(`./img/x3000-silver${__postfix}.png`);\n\n this.vase1Json = require(`./sprite/vase-1${__postfix}.json`);\n this.vase2Json = require(`./sprite/vase-2${__postfix}.json`);\n this.vase3Json = require(`./sprite/vase-3${__postfix}.json`);\n this.vase4Json = require(`./sprite/vase-4${__postfix}.json`);\n this.vase5Json = require(`./sprite/vase-5${__postfix}.json`);\n this.vase6Json = require(`./sprite/vase-6${__postfix}.json`);\n this.vase1png = require(`./sprite/vase-1${__postfix}.png`);\n this.vase2png = require(`./sprite/vase-2${__postfix}.png`);\n this.vase3png = require(`./sprite/vase-3${__postfix}.png`);\n this.vase4png = require(`./sprite/vase-4${__postfix}.png`);\n this.vase5png = require(`./sprite/vase-5${__postfix}.png`);\n this.vase6png = require(`./sprite/vase-6${__postfix}.png`);\n\n this.gemsJson = require(`./sprite/gems${__postfix}.json`);\n this.gemsPng = require(`./sprite/gems${__postfix}.png`);\n\n this.dustJson = require(`./sprite/dust${__postfix}.json`);\n this.dustPng = require(`./sprite/dust${__postfix}.png`);\n\n this.flameJson = require(`./sprite/flame${__postfix}.json`);\n this.flamePng = require(`./sprite/flame${__postfix}.png`);\n\n this.moneyBagJson = require(`./sprite/money${__postfix}.json`);\n this.moneyBagPng = require(`./sprite/money${__postfix}.png`);\n }\n\n /**\n * Gets images needed to be preloaded\n *\n * @return {Array} of image urls\n */\n preload()\n {\n const assets = [\n this.logo,\n this.bg,\n this.bgMask,\n this.btnNormalImage,\n this.btnHoverImage,\n this.iconPlay,\n this.iconAutopick,\n this.titleChars,\n this.curtainSide,\n this.curtainTop,\n this.curtainBack,\n this.tryCounter,\n this.inventory,\n this.daughter,\n this.moneyBagWin,\n this.glow,\n this.gem1,\n this.gem2,\n this.gem3,\n this.gem4,\n this.gem5,\n this.gem6,\n this.multi1Win,\n this.multi2Win,\n this.multi3Win,\n this.multi4Win,\n this.multi5Win,\n this.multi6Win,\n this.multi1Normal,\n this.multi2Normal,\n this.multi3Normal,\n this.multi4Normal,\n this.multi5Normal,\n this.multi6Normal,\n this.vase1Json,\n this.vase2Json,\n this.vase3Json,\n this.vase4Json,\n this.vase5Json,\n this.vase6Json,\n this.gemsJson,\n this.dustJson,\n this.flameJson,\n this.moneyBagJson,\n ];\n\n return assets;\n }\n};\n\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/images.js","module.exports = __webpack_public_path__ + \"themes/tr/img/logo-title@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/logo-title@3x.png\n// module id = 16\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/background@3x.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/background@3x.jpg\n// module id = 17\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/color-mask@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/color-mask@3x.png\n// module id = 18\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/button-normal@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/button-normal@3x.png\n// module id = 19\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/button-hover@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/button-hover@3x.png\n// module id = 20\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/play@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/play@3x.png\n// module id = 21\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/autoplay@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/autoplay@3x.png\n// module id = 22\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/title-characters@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/title-characters@3x.png\n// module id = 23\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/curtain-side@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/curtain-side@3x.png\n// module id = 24\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/curtain-top@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/curtain-top@3x.png\n// module id = 25\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/curtain@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/curtain@3x.png\n// module id = 26\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/try-counter@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/try-counter@3x.png\n// module id = 27\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/inventory@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/inventory@3x.png\n// module id = 28\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/glow-overlay@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/glow-overlay@3x.png\n// module id = 29\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/daughter@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/daughter@3x.png\n// module id = 30\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/money-state-2@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/money-state-2@3x.png\n// module id = 31\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/gem-1@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/gem-1@3x.png\n// module id = 32\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/gem-2@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/gem-2@3x.png\n// module id = 33\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/gem-3@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/gem-3@3x.png\n// module id = 34\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/gem-4@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/gem-4@3x.png\n// module id = 35\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/gem-5@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/gem-5@3x.png\n// module id = 36\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/gem-6@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/gem-6@3x.png\n// module id = 37\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x1-gold@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x1-gold@3x.png\n// module id = 38\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x3-gold@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x3-gold@3x.png\n// module id = 39\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x5-gold@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x5-gold@3x.png\n// module id = 40\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x10-gold@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x10-gold@3x.png\n// module id = 41\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x250-gold@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x250-gold@3x.png\n// module id = 42\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x3000-gold@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x3000-gold@3x.png\n// module id = 43\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x1-silver@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x1-silver@3x.png\n// module id = 44\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x3-silver@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x3-silver@3x.png\n// module id = 45\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x5-silver@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x5-silver@3x.png\n// module id = 46\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x10-silver@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x10-silver@3x.png\n// module id = 47\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x250-silver@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x250-silver@3x.png\n// module id = 48\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/img/x3000-silver@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/img/x3000-silver@3x.png\n// module id = 49\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-1@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-1@3x.json\n// module id = 50\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-2@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-2@3x.json\n// module id = 51\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-3@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-3@3x.json\n// module id = 52\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-4@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-4@3x.json\n// module id = 53\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-5@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-5@3x.json\n// module id = 54\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-6@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-6@3x.json\n// module id = 55\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-1@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-1@3x.png\n// module id = 56\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-2@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-2@3x.png\n// module id = 57\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-3@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-3@3x.png\n// module id = 58\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-4@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-4@3x.png\n// module id = 59\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-5@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-5@3x.png\n// module id = 60\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/vase-6@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/vase-6@3x.png\n// module id = 61\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/gems@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/gems@3x.json\n// module id = 62\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/gems@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/gems@3x.png\n// module id = 63\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/dust@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/dust@3x.json\n// module id = 64\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/dust@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/dust@3x.png\n// module id = 65\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/flame@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/flame@3x.json\n// module id = 66\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/flame@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/flame@3x.png\n// module id = 67\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/money@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/money@3x.json\n// module id = 68\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sprite/money@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sprite/money@3x.png\n// module id = 69\n// module chunks = d-game","/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n var storageKey = \"loglevel\";\n if (name) {\n storageKey += \":\" + name;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if (typeof name !== \"string\" || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n return defaultLogger;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/loglevel/lib/loglevel.js\n// module id = 70\n// module chunks = d-game","/**\n * pixi-timeout is a plugin which replicates the behaviour of window.setTimout\n * but uses PIXI.Ticker (requestAnimationFrame) as the method of progressing time\n * The bonus is that any timeouts will be paused and resumed automatically when\n * you call PIXI.Application.stop & PIXI.Application.start\n */\n(function init(pixi) {\n if (!pixi) {\n throw new Error(\"PIXI was not found\");\n }\n\n if (!pixi.ticker || !pixi.ticker.shared) {\n throw new Error(\"PIXI.ticker was not found\");\n }\n /**\n * Sets a timeout.\n *\n * @param {number} secs The seconds\n * @param {Function} cb Callback function to fire after timeout\n * @return {object} Timer state object\n */\n\n\n function setTimeout(secs, cb) {\n var progress = 0;\n\n var ticker = function ticker(delta) {\n progress += delta;\n var elapsed = progress / (60 * pixi.ticker.shared.speed);\n if (elapsed > secs) end(true);\n };\n\n var end = function end(fire) {\n pixi.ticker.shared.remove(ticker);\n if (fire) cb();\n };\n\n var clear = function clear() {\n end(false);\n };\n\n var finish = function finish() {\n end(true);\n }; // start\n\n\n pixi.ticker.shared.add(ticker);\n return {\n clear: clear,\n finish: finish\n };\n }\n /**\n * Clears a timeout, preventing the function from being fired\n *\n * @param {object} timerObj A timer state object\n */\n\n\n function clearTimeout(timerObj) {\n timerObj.clear();\n }\n\n pixi.setTimeout = setTimeout;\n pixi.clearTimeout = clearTimeout; // eslint-disable-next-line\n})(PIXI);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7QUFNQyxVQUFTLElBQVQsQ0FBYyxJQUFkLEVBQ0Q7QUFDSSxNQUFJLENBQUMsSUFBTCxFQUNBO0FBQ0ksVUFBTSxJQUFJLEtBQUosQ0FBVSxvQkFBVixDQUFOO0FBQ0g7O0FBRUQsTUFBSSxDQUFDLEtBQUssTUFBTixJQUFnQixDQUFDLEtBQUssTUFBTCxDQUFZLE1BQWpDLEVBQ0E7QUFDSSxVQUFNLElBQUksS0FBSixDQUFVLDJCQUFWLENBQU47QUFDSDtBQUVEOzs7Ozs7Ozs7QUFPQSxXQUFTLFVBQVQsQ0FBb0IsSUFBcEIsRUFBMEIsRUFBMUIsRUFDQTtBQUNJLFFBQUksV0FBVyxDQUFmOztBQUVBLFFBQU0sU0FBVSxTQUFWLE1BQVUsQ0FBQyxLQUFELEVBQ2hCO0FBQ0ksa0JBQVksS0FBWjtBQUVBLFVBQU0sVUFBVSxZQUFZLEtBQUssS0FBSyxNQUFMLENBQVksTUFBWixDQUFtQixLQUFwQyxDQUFoQjtBQUVBLFVBQUksVUFBVSxJQUFkLEVBQW9CLElBQUksSUFBSjtBQUN2QixLQVBEOztBQVNBLFFBQU0sTUFBTSxTQUFOLEdBQU0sQ0FBQyxJQUFELEVBQ1o7QUFDSSxXQUFLLE1BQUwsQ0FBWSxNQUFaLENBQW1CLE1BQW5CLENBQTBCLE1BQTFCO0FBRUEsVUFBSSxJQUFKLEVBQVU7QUFDYixLQUxEOztBQU9BLFFBQU0sUUFBUSxTQUFSLEtBQVEsR0FDZDtBQUNJLFVBQUksS0FBSjtBQUNILEtBSEQ7O0FBS0EsUUFBTSxTQUFTLFNBQVQsTUFBUyxHQUNmO0FBQ0ksVUFBSSxJQUFKO0FBQ0gsS0FIRCxDQXhCSixDQTZCSTs7O0FBQ0EsU0FBSyxNQUFMLENBQVksTUFBWixDQUFtQixHQUFuQixDQUF1QixNQUF2QjtBQUVBLFdBQU87QUFBRSxrQkFBRjtBQUFTO0FBQVQsS0FBUDtBQUNIO0FBRUQ7Ozs7Ozs7QUFLQSxXQUFTLFlBQVQsQ0FBc0IsUUFBdEIsRUFDQTtBQUNJLGFBQVMsS0FBVDtBQUNIOztBQUVELE9BQUssVUFBTCxHQUFrQixVQUFsQjtBQUNBLE9BQUssWUFBTCxHQUFvQixZQUFwQixDQWpFSixDQW1FQTtBQUNDLENBckVBLEVBcUVDLElBckVELENBQUQiLCJmaWxlIjoicGl4aS10aW1lb3V0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBwaXhpLXRpbWVvdXQgaXMgYSBwbHVnaW4gd2hpY2ggcmVwbGljYXRlcyB0aGUgYmVoYXZpb3VyIG9mIHdpbmRvdy5zZXRUaW1vdXRcbiAqIGJ1dCB1c2VzIFBJWEkuVGlja2VyIChyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpIGFzIHRoZSBtZXRob2Qgb2YgcHJvZ3Jlc3NpbmcgdGltZVxuICogVGhlIGJvbnVzIGlzIHRoYXQgYW55IHRpbWVvdXRzIHdpbGwgYmUgcGF1c2VkIGFuZCByZXN1bWVkIGF1dG9tYXRpY2FsbHkgd2hlblxuICogeW91IGNhbGwgUElYSS5BcHBsaWNhdGlvbi5zdG9wICYgUElYSS5BcHBsaWNhdGlvbi5zdGFydFxuICovXG4oZnVuY3Rpb24gaW5pdChwaXhpKVxue1xuICAgIGlmICghcGl4aSlcbiAgICB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBJWEkgd2FzIG5vdCBmb3VuZFwiKVxuICAgIH1cblxuICAgIGlmICghcGl4aS50aWNrZXIgfHwgIXBpeGkudGlja2VyLnNoYXJlZClcbiAgICB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBJWEkudGlja2VyIHdhcyBub3QgZm91bmRcIilcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdGltZW91dC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSAge251bWJlcn0gICAgc2VjcyAgVGhlIHNlY29uZHNcbiAgICAgKiBAcGFyYW0gIHtGdW5jdGlvbn0gIGNiICAgIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGZpcmUgYWZ0ZXIgdGltZW91dFxuICAgICAqIEByZXR1cm4ge29iamVjdH0gICAgVGltZXIgc3RhdGUgb2JqZWN0XG4gICAgICovXG4gICAgZnVuY3Rpb24gc2V0VGltZW91dChzZWNzLCBjYilcbiAgICB7XG4gICAgICAgIGxldCBwcm9ncmVzcyA9IDBcblxuICAgICAgICBjb25zdCB0aWNrZXIgPSAoKGRlbHRhKSA9PlxuICAgICAgICB7XG4gICAgICAgICAgICBwcm9ncmVzcyArPSBkZWx0YTtcblxuICAgICAgICAgICAgY29uc3QgZWxhcHNlZCA9IHByb2dyZXNzIC8gKDYwICogcGl4aS50aWNrZXIuc2hhcmVkLnNwZWVkKTtcblxuICAgICAgICAgICAgaWYgKGVsYXBzZWQgPiBzZWNzKSBlbmQodHJ1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGVuZCA9IChmaXJlKSA9PlxuICAgICAgICB7XG4gICAgICAgICAgICBwaXhpLnRpY2tlci5zaGFyZWQucmVtb3ZlKHRpY2tlcik7XG5cbiAgICAgICAgICAgIGlmIChmaXJlKSBjYigpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xlYXIgPSAoKSA9PlxuICAgICAgICB7XG4gICAgICAgICAgICBlbmQoZmFsc2UpXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZmluaXNoID0gKCkgPT5cbiAgICAgICAge1xuICAgICAgICAgICAgZW5kKHRydWUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIC8vIHN0YXJ0XG4gICAgICAgIHBpeGkudGlja2VyLnNoYXJlZC5hZGQodGlja2VyKTtcblxuICAgICAgICByZXR1cm4geyBjbGVhciwgZmluaXNoIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGEgdGltZW91dCwgcHJldmVudGluZyB0aGUgZnVuY3Rpb24gZnJvbSBiZWluZyBmaXJlZFxuICAgICAqXG4gICAgICogQHBhcmFtICB7b2JqZWN0fSAgdGltZXJPYmogIEEgdGltZXIgc3RhdGUgb2JqZWN0XG4gICAgICovXG4gICAgZnVuY3Rpb24gY2xlYXJUaW1lb3V0KHRpbWVyT2JqKVxuICAgIHtcbiAgICAgICAgdGltZXJPYmouY2xlYXIoKVxuICAgIH1cblxuICAgIHBpeGkuc2V0VGltZW91dCA9IHNldFRpbWVvdXRcbiAgICBwaXhpLmNsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dFxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbn0oUElYSSkpO1xuIl19\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/pixi-timeout/lib/pixi-timeout.js\n// module id = 71\n// module chunks = d-game","/**\n * pixi-pause is a plugin for pixi.js, which automatically pause and resumes your App when the browser window's visibilty changes\n */\n(function init(pixi) {\n if (!pixi) {\n throw new Error(\"PIXI was not found\");\n }\n\n if (!pixi.ticker || !pixi.ticker.shared) {\n throw new Error(\"PIXI.ticker was not found\");\n }\n\n pixi.autoPause = true;\n var hidden;\n var visibilityChange;\n\n var handleVisibilityChange = function handleVisibilityChange() {\n if (!pixi.autoPause) return;\n\n if (document[hidden]) {\n pixi.ticker.shared.stop();\n } else {\n pixi.ticker.shared.start();\n }\n };\n\n if (typeof document.hidden !== \"undefined\") {\n // Opera 12.10 and Firefox 18 and later support\n hidden = \"hidden\";\n visibilityChange = \"visibilitychange\";\n } else if (typeof document.mozHidden !== \"undefined\") {\n hidden = \"mozHidden\";\n visibilityChange = \"mozvisibilitychange\";\n } else if (typeof document.msHidden !== \"undefined\") {\n hidden = \"msHidden\";\n visibilityChange = \"msvisibilitychange\";\n } else if (typeof document.webkitHidden !== \"undefined\") {\n hidden = \"webkitHidden\";\n visibilityChange = \"webkitvisibilitychange\";\n } // Handle page visibility change\n\n\n return document.addEventListener(visibilityChange, handleVisibilityChange, false); // eslint-disable-next-line\n})(PIXI);\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2luZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7QUFJQyxVQUFTLElBQVQsQ0FBYyxJQUFkLEVBQ0Q7QUFDSSxNQUFJLENBQUMsSUFBTCxFQUNBO0FBQ0ksVUFBTSxJQUFJLEtBQUosQ0FBVSxvQkFBVixDQUFOO0FBQ0g7O0FBRUQsTUFBSSxDQUFDLEtBQUssTUFBTixJQUFnQixDQUFDLEtBQUssTUFBTCxDQUFZLE1BQWpDLEVBQ0E7QUFDSSxVQUFNLElBQUksS0FBSixDQUFVLDJCQUFWLENBQU47QUFDSDs7QUFFRCxPQUFLLFNBQUwsR0FBaUIsSUFBakI7QUFFQSxNQUFJLE1BQUo7QUFDQSxNQUFJLGdCQUFKOztBQUVBLE1BQU0seUJBQXlCLFNBQXpCLHNCQUF5QixHQUMvQjtBQUNJLFFBQUksQ0FBQyxLQUFLLFNBQVYsRUFBcUI7O0FBRXJCLFFBQUksU0FBUyxNQUFULENBQUosRUFDQTtBQUNJLFdBQUssTUFBTCxDQUFZLE1BQVosQ0FBbUIsSUFBbkI7QUFDSCxLQUhELE1BS0E7QUFDSSxXQUFLLE1BQUwsQ0FBWSxNQUFaLENBQW1CLEtBQW5CO0FBQ0g7QUFDSixHQVpEOztBQWNBLE1BQUksT0FBTyxTQUFTLE1BQWhCLEtBQTJCLFdBQS9CLEVBQ0E7QUFDSTtBQUNBLGFBQVMsUUFBVDtBQUNBLHVCQUFtQixrQkFBbkI7QUFDSCxHQUxELE1BTUssSUFBSSxPQUFPLFNBQVMsU0FBaEIsS0FBOEIsV0FBbEMsRUFDTDtBQUNJLGFBQVMsV0FBVDtBQUNBLHVCQUFtQixxQkFBbkI7QUFDSCxHQUpJLE1BS0EsSUFBSSxPQUFPLFNBQVMsUUFBaEIsS0FBNkIsV0FBakMsRUFDTDtBQUNJLGFBQVMsVUFBVDtBQUNBLHVCQUFtQixvQkFBbkI7QUFDSCxHQUpJLE1BS0EsSUFBSSxPQUFPLFNBQVMsWUFBaEIsS0FBaUMsV0FBckMsRUFDTDtBQUNJLGFBQVMsY0FBVDtBQUNBLHVCQUFtQix3QkFBbkI7QUFDSCxHQWxETCxDQW9ESTs7O0FBQ0EsU0FBTyxTQUFTLGdCQUFULENBQTBCLGdCQUExQixFQUE0QyxzQkFBNUMsRUFBb0UsS0FBcEUsQ0FBUCxDQXJESixDQXdEQTtBQUNDLENBMURBLEVBMERDLElBMURELENBQUQiLCJmaWxlIjoicGl4aS1wYXVzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogcGl4aS1wYXVzZSBpcyBhIHBsdWdpbiBmb3IgcGl4aS5qcywgd2hpY2ggYXV0b21hdGljYWxseSBwYXVzZSBhbmQgcmVzdW1lcyB5b3VyIEFwcCB3aGVuIHRoZSBicm93c2VyIHdpbmRvdydzIHZpc2liaWx0eSBjaGFuZ2VzXG4gKi9cblxuKGZ1bmN0aW9uIGluaXQocGl4aSlcbntcbiAgICBpZiAoIXBpeGkpXG4gICAge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQSVhJIHdhcyBub3QgZm91bmRcIilcbiAgICB9XG5cbiAgICBpZiAoIXBpeGkudGlja2VyIHx8ICFwaXhpLnRpY2tlci5zaGFyZWQpXG4gICAge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQSVhJLnRpY2tlciB3YXMgbm90IGZvdW5kXCIpXG4gICAgfVxuXG4gICAgcGl4aS5hdXRvUGF1c2UgPSB0cnVlXG5cbiAgICBsZXQgaGlkZGVuO1xuICAgIGxldCB2aXNpYmlsaXR5Q2hhbmdlO1xuXG4gICAgY29uc3QgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSA9ICgpID0+XG4gICAge1xuICAgICAgICBpZiAoIXBpeGkuYXV0b1BhdXNlKSByZXR1cm47XG5cbiAgICAgICAgaWYgKGRvY3VtZW50W2hpZGRlbl0pXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBpeGkudGlja2VyLnNoYXJlZC5zdG9wKClcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBpeGkudGlja2VyLnNoYXJlZC5zdGFydCgpXG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHR5cGVvZiBkb2N1bWVudC5oaWRkZW4gIT09IFwidW5kZWZpbmVkXCIpXG4gICAge1xuICAgICAgICAvLyBPcGVyYSAxMi4xMCBhbmQgRmlyZWZveCAxOCBhbmQgbGF0ZXIgc3VwcG9ydFxuICAgICAgICBoaWRkZW4gPSBcImhpZGRlblwiO1xuICAgICAgICB2aXNpYmlsaXR5Q2hhbmdlID0gXCJ2aXNpYmlsaXR5Y2hhbmdlXCI7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudC5tb3pIaWRkZW4gIT09IFwidW5kZWZpbmVkXCIpXG4gICAge1xuICAgICAgICBoaWRkZW4gPSBcIm1vekhpZGRlblwiO1xuICAgICAgICB2aXNpYmlsaXR5Q2hhbmdlID0gXCJtb3p2aXNpYmlsaXR5Y2hhbmdlXCI7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudC5tc0hpZGRlbiAhPT0gXCJ1bmRlZmluZWRcIilcbiAgICB7XG4gICAgICAgIGhpZGRlbiA9IFwibXNIaWRkZW5cIjtcbiAgICAgICAgdmlzaWJpbGl0eUNoYW5nZSA9IFwibXN2aXNpYmlsaXR5Y2hhbmdlXCI7XG4gICAgfVxuICAgIGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudC53ZWJraXRIaWRkZW4gIT09IFwidW5kZWZpbmVkXCIpXG4gICAge1xuICAgICAgICBoaWRkZW4gPSBcIndlYmtpdEhpZGRlblwiO1xuICAgICAgICB2aXNpYmlsaXR5Q2hhbmdlID0gXCJ3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlXCI7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIHBhZ2UgdmlzaWJpbGl0eSBjaGFuZ2VcbiAgICByZXR1cm4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih2aXNpYmlsaXR5Q2hhbmdlLCBoYW5kbGVWaXNpYmlsaXR5Q2hhbmdlLCBmYWxzZSk7XG5cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG59KFBJWEkpKTtcbiJdfQ==\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/pixi-pause/lib/pixi-pause.js\n// module id = 72\n// module chunks = d-game","/**\n * pixi-center. Helps you horizontaly and vertically center anything which inherits from `PIXI.DisplayObject`\n */\n\n/* eslint-disable prefer-destructuring */\n\n/* eslint-disable id-length */\n(function init(pixi) {\n if (!pixi || !pixi.DisplayObject) {\n throw new Error(\"PIXI was not found\");\n }\n /**\n * Centers an element along both X and Y axis\n *\n * @param {} width The width\n * @param {} height The height\n * @param {} round The round\n * @param {} anchorX The anchor x\n * @param {} anchorY The anchor y\n */\n\n\n pixi.DisplayObject.prototype.centerXY = function centerXY(width, height) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.centerX(width, opts);\n this.centerY(height, opts);\n };\n /**\n * Centers an element along its X axis\n *\n * @param {} width The width\n * @param {boolean} round The round\n * @param {number} anchorX The anchor x\n */\n\n\n pixi.DisplayObject.prototype.centerX = function centerX(width) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var round = opts.round;\n var anchorX = opts.anchorX;\n if (!this.width) return;\n\n if (!width) {\n if (!this.parent) return;\n width = this.parent.width;\n }\n\n if (typeof anchorX === \"undefined\" && this.anchor) anchorX = this.anchor.x;\n this.x = centerAxis(width, this.width, anchorX, round);\n };\n /**\n * Centers an element along its Y axis\n *\n * @param {} height The height\n * @param {boolean} round The round\n * @param {number} anchorY The anchor y\n */\n\n\n pixi.DisplayObject.prototype.centerY = function centerY(height) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var round = opts.round;\n var anchorY = opts.anchorY;\n if (!this.height) return;\n\n if (!height) {\n if (!this.parent) return;\n height = this.parent.height;\n }\n\n if (typeof anchorY === \"undefined\" && this.anchor) anchorY = this.anchor.y;\n this.y = centerAxis(height, this.height, anchorY, round);\n };\n /**\n * Centers an object at a point regardless of anchor\n *\n * @param {} coords The coordinates\n */\n\n\n pixi.DisplayObject.prototype.centerAt = function centerAt(coords) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!coords) return;\n var x = coords.x,\n y = coords.y;\n var round = opts.round;\n var anchorX = opts.anchorX,\n anchorY = opts.anchorY;\n if (typeof anchorX === \"undefined\" && this.anchor) anchorX = this.anchor.x;\n if (typeof anchorY === \"undefined\" && this.anchor) anchorY = this.anchor.y;\n\n if (x && isNumber(x)) {\n this.x = centerAtPoint(x, this.width, anchorX, round);\n }\n\n if (y && isNumber(y)) {\n this.y = centerAtPoint(y, this.height, anchorY, round);\n }\n }; // eslint-disable-next-line\n\n})(PIXI);\n/**\n * Returns the axis position to center an element within another\n *\n * @param {number} parentLength The parent length e.g. PIXI.Container.width\n * @param {number} elementLength The element length e.g. PIXI.Sprite.width\n * @param {number} anchor The anchor a value between 0-1\n * @param {(Function|boolean)} round The round whether or not to round to a pixel\n */\n\n\nfunction centerAxis(parentLength, elementLength) {\n var anchor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var round = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var offset = (parentLength - elementLength) / 2 + elementLength * anchor / 2;\n if (round) offset = Math.round(offset);\n return offset;\n}\n/**\n * Centers an object at a certain point\n *\n * @param {} axisPoint The axis point\n * @param {number} elementLength The element length\n * @param {number} anchor The anchor\n * @param {(Function|boolean)} round The round\n */\n\n\nfunction centerAtPoint(axisPoint, elementLength) {\n var anchor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var round = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var offset = parseFloat(axisPoint) - elementLength / 2 + elementLength * anchor;\n if (round) offset = Math.round(offset);\n return offset;\n}\n/**\n * Determines if number.\n *\n * @param {} val The value\n * @return {boolean} True if number, False otherwise.\n */\n\n\nfunction isNumber(val) {\n return !Number.isNaN(parseFloat(val));\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LFFBQVQsQ0FBa0IsR0FBbEIsRUFDQTtBQUNJLFNBQU8sQ0FBQyxPQUFPLEtBQVAsQ0FBYSxXQUFXLEdBQVgsQ0FBYixDQUFSO0FBQ0giLCJmaWxlIjoicGl4aS1jZW50ZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHBpeGktY2VudGVyLiBIZWxwcyB5b3UgaG9yaXpvbnRhbHkgYW5kIHZlcnRpY2FsbHkgY2VudGVyIGFueXRoaW5nIHdoaWNoIGluaGVyaXRzIGZyb20gYFBJWEkuRGlzcGxheU9iamVjdGBcbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBwcmVmZXItZGVzdHJ1Y3R1cmluZyAqL1xuLyogZXNsaW50LWRpc2FibGUgaWQtbGVuZ3RoICovXG5cblxuKGZ1bmN0aW9uIGluaXQocGl4aSlcbntcbiAgICBpZiAoIXBpeGkgfHwgIXBpeGkuRGlzcGxheU9iamVjdClcbiAgICB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBJWEkgd2FzIG5vdCBmb3VuZFwiKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENlbnRlcnMgYW4gZWxlbWVudCBhbG9uZyBib3RoIFggYW5kIFkgYXhpc1xuICAgICAqXG4gICAgICogQHBhcmFtICB7PHR5cGU+fSAgd2lkdGggICAgVGhlIHdpZHRoXG4gICAgICogQHBhcmFtICB7PHR5cGU+fSAgaGVpZ2h0ICAgVGhlIGhlaWdodFxuICAgICAqIEBwYXJhbSAgezx0eXBlPn0gIHJvdW5kICAgIFRoZSByb3VuZFxuICAgICAqIEBwYXJhbSAgezx0eXBlPn0gIGFuY2hvclggIFRoZSBhbmNob3IgeFxuICAgICAqIEBwYXJhbSAgezx0eXBlPn0gIGFuY2hvclkgIFRoZSBhbmNob3IgeVxuICAgICAqL1xuICAgIHBpeGkuRGlzcGxheU9iamVjdC5wcm90b3R5cGUuY2VudGVyWFkgPSBmdW5jdGlvbiBjZW50ZXJYWSh3aWR0aCwgaGVpZ2h0LCBvcHRzID0ge30pXG4gICAge1xuICAgICAgICB0aGlzLmNlbnRlclgod2lkdGgsIG9wdHMpXG4gICAgICAgIHRoaXMuY2VudGVyWShoZWlnaHQsIG9wdHMpXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENlbnRlcnMgYW4gZWxlbWVudCBhbG9uZyBpdHMgWCBheGlzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIHs8dHlwZT59ICAgd2lkdGggICAgVGhlIHdpZHRoXG4gICAgICogQHBhcmFtICB7Ym9vbGVhbn0gIHJvdW5kICAgIFRoZSByb3VuZFxuICAgICAqIEBwYXJhbSAge251bWJlcn0gICBhbmNob3JYICBUaGUgYW5jaG9yIHhcbiAgICAgKi9cbiAgICBwaXhpLkRpc3BsYXlPYmplY3QucHJvdG90eXBlLmNlbnRlclggPSBmdW5jdGlvbiBjZW50ZXJYKHdpZHRoLCBvcHRzID0ge30pXG4gICAge1xuICAgICAgICBjb25zdCB7IHJvdW5kIH0gPSBvcHRzXG4gICAgICAgIGxldCB7IGFuY2hvclggfSA9IG9wdHNcblxuICAgICAgICBpZiAoIXRoaXMud2lkdGgpIHJldHVybjtcblxuICAgICAgICBpZiAoIXdpZHRoKVxuICAgICAgICB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucGFyZW50KSByZXR1cm47XG5cbiAgICAgICAgICAgIHdpZHRoID0gdGhpcy5wYXJlbnQud2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGFuY2hvclggPT09IFwidW5kZWZpbmVkXCIgJiYgdGhpcy5hbmNob3IpIGFuY2hvclggPSB0aGlzLmFuY2hvci54O1xuXG4gICAgICAgIHRoaXMueCA9IGNlbnRlckF4aXMod2lkdGgsIHRoaXMud2lkdGgsIGFuY2hvclgsIHJvdW5kKVxuXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENlbnRlcnMgYW4gZWxlbWVudCBhbG9uZyBpdHMgWSBheGlzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIHs8dHlwZT59ICAgaGVpZ2h0ICAgVGhlIGhlaWdodFxuICAgICAqIEBwYXJhbSAge2Jvb2xlYW59ICByb3VuZCAgICBUaGUgcm91bmRcbiAgICAgKiBAcGFyYW0gIHtudW1iZXJ9ICAgYW5jaG9yWSAgVGhlIGFuY2hvciB5XG4gICAgICovXG4gICAgcGl4aS5EaXNwbGF5T2JqZWN0LnByb3RvdHlwZS5jZW50ZXJZID0gZnVuY3Rpb24gY2VudGVyWShoZWlnaHQsIG9wdHMgPSB7fSlcbiAgICB7XG4gICAgICAgIGNvbnN0IHsgcm91bmQgfSA9IG9wdHNcbiAgICAgICAgbGV0IHsgYW5jaG9yWSB9ID0gb3B0c1xuXG4gICAgICAgIGlmICghdGhpcy5oZWlnaHQpIHJldHVybjtcblxuICAgICAgICBpZiAoIWhlaWdodClcbiAgICAgICAge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnBhcmVudCkgcmV0dXJuO1xuXG4gICAgICAgICAgICBoZWlnaHQgPSB0aGlzLnBhcmVudC5oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGFuY2hvclkgPT09IFwidW5kZWZpbmVkXCIgJiYgdGhpcy5hbmNob3IpIGFuY2hvclkgPSB0aGlzLmFuY2hvci55O1xuXG4gICAgICAgIHRoaXMueSA9IGNlbnRlckF4aXMoaGVpZ2h0LCB0aGlzLmhlaWdodCwgYW5jaG9yWSwgcm91bmQpXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENlbnRlcnMgYW4gb2JqZWN0IGF0IGEgcG9pbnQgcmVnYXJkbGVzcyBvZiBhbmNob3JcbiAgICAgKlxuICAgICAqIEBwYXJhbSAgezx0eXBlPn0gIGNvb3JkcyAgVGhlIGNvb3JkaW5hdGVzXG4gICAgICovXG4gICAgcGl4aS5EaXNwbGF5T2JqZWN0LnByb3RvdHlwZS5jZW50ZXJBdCA9IGZ1bmN0aW9uIGNlbnRlckF0KGNvb3Jkcywgb3B0cyA9IHt9KVxuICAgIHtcbiAgICAgICAgaWYgKCFjb29yZHMpIHJldHVybjtcblxuICAgICAgICBjb25zdCB7IHgseSB9ID0gY29vcmRzXG4gICAgICAgIGNvbnN0IHsgcm91bmQgfSA9IG9wdHNcbiAgICAgICAgbGV0IHsgYW5jaG9yWCwgYW5jaG9yWSB9ID0gb3B0c1xuXG4gICAgICAgIGlmICh0eXBlb2YgYW5jaG9yWCA9PT0gXCJ1bmRlZmluZWRcIiAmJiB0aGlzLmFuY2hvcikgYW5jaG9yWCA9IHRoaXMuYW5jaG9yLng7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhbmNob3JZID09PSBcInVuZGVmaW5lZFwiICYmIHRoaXMuYW5jaG9yKSBhbmNob3JZID0gdGhpcy5hbmNob3IueTtcblxuICAgICAgICBpZiAoeCAmJiBpc051bWJlcih4KSlcbiAgICAgICAge1xuICAgICAgICAgICAgdGhpcy54ID0gY2VudGVyQXRQb2ludCh4LCB0aGlzLndpZHRoLCBhbmNob3JYLCByb3VuZClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh5ICYmIGlzTnVtYmVyKHkpKVxuICAgICAgICB7XG4gICAgICAgICAgICB0aGlzLnkgPSBjZW50ZXJBdFBvaW50KHksIHRoaXMuaGVpZ2h0LCBhbmNob3JZLCByb3VuZClcbiAgICAgICAgfVxuICAgIH1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG59KFBJWEkpKTtcblxuXG4vKipcbiAqIFJldHVybnMgdGhlIGF4aXMgcG9zaXRpb24gdG8gY2VudGVyIGFuIGVsZW1lbnQgd2l0aGluIGFub3RoZXJcbiAqXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICAgICAgICAgICAgICBwYXJlbnRMZW5ndGggICBUaGUgcGFyZW50IGxlbmd0aCBlLmcuIFBJWEkuQ29udGFpbmVyLndpZHRoXG4gKiBAcGFyYW0gIHtudW1iZXJ9ICAgICAgICAgICAgICBlbGVtZW50TGVuZ3RoICBUaGUgZWxlbWVudCBsZW5ndGggIGUuZy4gUElYSS5TcHJpdGUud2lkdGhcbiAqIEBwYXJhbSAge251bWJlcn0gICAgICAgICAgICAgIGFuY2hvciAgICAgICAgIFRoZSBhbmNob3IgYSB2YWx1ZSBiZXR3ZWVuIDAtMVxuICogQHBhcmFtICB7KEZ1bmN0aW9ufGJvb2xlYW4pfSAgcm91bmQgICAgICAgICAgVGhlIHJvdW5kIHdoZXRoZXIgb3Igbm90IHRvIHJvdW5kIHRvIGEgcGl4ZWxcbiAqL1xuZnVuY3Rpb24gY2VudGVyQXhpcyhwYXJlbnRMZW5ndGgsIGVsZW1lbnRMZW5ndGgsIGFuY2hvciA9IDAsIHJvdW5kID0gdHJ1ZSlcbntcbiAgICBsZXQgb2Zmc2V0ID0gKChwYXJlbnRMZW5ndGggLSBlbGVtZW50TGVuZ3RoKSAvIDIpICsgKChlbGVtZW50TGVuZ3RoICogYW5jaG9yKSAvIDIpXG5cbiAgICBpZiAocm91bmQpIG9mZnNldCA9ICBNYXRoLnJvdW5kKG9mZnNldCk7XG5cbiAgICByZXR1cm4gb2Zmc2V0XG59XG5cbi8qKlxuICogQ2VudGVycyBhbiBvYmplY3QgYXQgYSBjZXJ0YWluIHBvaW50XG4gKlxuICogQHBhcmFtICB7PHR5cGU+fSAgICAgICAgICAgICAgYXhpc1BvaW50ICAgICAgVGhlIGF4aXMgcG9pbnRcbiAqIEBwYXJhbSAge251bWJlcn0gICAgICAgICAgICAgIGVsZW1lbnRMZW5ndGggIFRoZSBlbGVtZW50IGxlbmd0aFxuICogQHBhcmFtICB7bnVtYmVyfSAgICAgICAgICAgICAgYW5jaG9yICAgICAgICAgVGhlIGFuY2hvclxuICogQHBhcmFtICB7KEZ1bmN0aW9ufGJvb2xlYW4pfSAgcm91bmQgICAgICAgICAgVGhlIHJvdW5kXG4gKi9cbmZ1bmN0aW9uIGNlbnRlckF0UG9pbnQoYXhpc1BvaW50LCBlbGVtZW50TGVuZ3RoLCBhbmNob3IgPSAwLCByb3VuZCA9IHRydWUpXG57XG4gICAgbGV0IG9mZnNldCA9IChwYXJzZUZsb2F0KGF4aXNQb2ludCkgLSAoZWxlbWVudExlbmd0aCAvIDIpKSArIChlbGVtZW50TGVuZ3RoICogYW5jaG9yKTtcblxuICAgIGlmIChyb3VuZCkgb2Zmc2V0ID0gIE1hdGgucm91bmQob2Zmc2V0KTtcblxuICAgIHJldHVybiBvZmZzZXRcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gIHs8dHlwZT59ICAgdmFsICBUaGUgdmFsdWVcbiAqIEByZXR1cm4ge2Jvb2xlYW59ICBUcnVlIGlmIG51bWJlciwgRmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5mdW5jdGlvbiBpc051bWJlcih2YWwpXG57XG4gICAgcmV0dXJuICFOdW1iZXIuaXNOYU4ocGFyc2VGbG9hdCh2YWwpKVxufVxuIl19\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/pixi-center/lib/pixi-center.js\n// module id = 73\n// module chunks = d-game","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pariplay\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pariplay\"] = factory();\n\telse\n\t\troot[\"pariplay\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// identity function for calling harmony imports with the correct context\n/******/ \t__webpack_require__.i = function(value) { return value; };\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 10);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar BaseModel = function () {\n function BaseModel() {\n _classCallCheck(this, BaseModel);\n }\n\n _createClass(BaseModel, [{\n key: 'inject',\n\n\n /**\n * Initialise a model\n *\n * @param {object} obj - data to inject into model\n */\n value: function inject(obj) {\n var _this = this;\n\n for (var k in obj) {\n var v = obj[k];\n\n var lowKey = k.toLowerCase();\n\n if (this.keyMapping[lowKey] && v !== null) {\n var mappedKey = this.keyMapping[lowKey];\n\n if (this[mappedKey] && this.preventOverwrite.indexOf(mappedKey) >= 0) {\n continue;\n }\n if (this.subModels[mappedKey]) {\n (function () {\n var Klass = _this.subModels[mappedKey];\n\n var isCollection = Array.isArray(v);\n\n if (isCollection) {\n _this[mappedKey] = v.map(function (item) {\n return new Klass(item);\n });\n } else {\n _this[mappedKey] = new Klass(v);\n }\n })();\n } else {\n this[mappedKey] = this._parseValues(v);\n }\n\n if (this.decodeURI.indexOf(mappedKey) >= 0 && typeof v === 'string' && v !== '') {\n this[mappedKey] = window.decodeURIComponent(this[mappedKey]);\n }\n } else {\n // console.log('No mapping for', k)\n }\n }\n }\n\n /**\n * Get raw data from model\n *\n * @return {object} data in model\n */\n\n }, {\n key: 'getData',\n value: function getData() {\n var tmp = {};\n\n for (var k in this.keyMapping) {\n var v = this.keyMapping[k];\n\n if (this[v] !== undefined && this[v] !== null) {\n if (this[v].getData) {\n tmp[v] = this[v].getData();\n } else {\n tmp[v] = this[v];\n }\n }\n }\n\n return tmp;\n }\n\n /**\n * Get raw data from model\n *\n * @private\n * @param {string} v - value to be parsed\n * @return {any} parses the variable into the correct data type\n */\n\n }, {\n key: '_parseValues',\n value: function _parseValues(v) {\n if (typeof v !== 'string') {\n return v;\n }\n if (v === '') {\n return null;\n }\n if (v === 'true') {\n return true;\n }\n if (v === 'false') {\n return false;\n }\n if (!isNaN(Number(v))) {\n return Number(v);\n }\n if (v === 'null') {\n return null;\n }\n\n return v;\n }\n }], [{\n key: 'init',\n\n /**\n * Initialise a default model attributes\n *\n */\n value: function init() {\n this.prototype.keyMapping = {};\n this.prototype.preventOverwrite = [];\n this.prototype.decodeURI = [];\n this.prototype.subModels = {};\n }\n }]);\n\n return BaseModel;\n}();\n\nBaseModel.init();\n\nexports.default = BaseModel;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar StatusModel = function (_BaseModel) {\n _inherits(StatusModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function StatusModel(obj) {\n _classCallCheck(this, StatusModel);\n\n var _this = _possibleConstructorReturn(this, (StatusModel.__proto__ || Object.getPrototypeOf(StatusModel)).call(this));\n\n _this.name = 'StatusModel';\n\n _this.keyMapping = {\n errcode: 'errCode',\n errmessage: 'errMessage',\n errtype: 'errType',\n balance: 'balance',\n financialmode: 'financialMode',\n roundsleft: 'roundsLeft'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} has error\n */\n\n\n _createClass(StatusModel, [{\n key: 'hasError',\n value: function hasError() {\n return this.errType !== 0;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} has error type 1\n */\n\n }, {\n key: 'hasNormalError',\n value: function hasNormalError() {\n return this.errType === 1;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} has error type 2\n */\n\n }, {\n key: 'hasNotificationError',\n value: function hasNotificationError() {\n return this.errType === 2;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} are we waiting for balance\n */\n\n }, {\n key: 'isWaitingOnBalance',\n value: function isWaitingOnBalance() {\n if (this.errType === 2) {\n return true;\n }\n\n if (typeof this.balance !== 'number') {\n return true;\n }\n\n if (this.balance < 0) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Initialise a model\n *\n * @return {boolean} do we have tickets\n */\n\n }, {\n key: 'hasTickets',\n value: function hasTickets() {\n var c = this.roundsLeft;\n\n if (!c) {\n return false;\n }\n\n if (typeof c !== 'number') {\n return false;\n }\n\n if (c <= 0) {\n return false;\n }\n\n return true;\n }\n }]);\n\n return StatusModel;\n}(_baseModel2.default);\n\nexports.default = StatusModel;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _statusModel = __webpack_require__(1);\n\nvar _statusModel2 = _interopRequireDefault(_statusModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Balance = function () {\n _createClass(Balance, null, [{\n key: 'initClass',\n\n /**\n * @return {this} Returns self to allow chaining\n */\n value: function initClass() {\n this.prototype.name = 'Balance';\n this.prototype.interval = null;\n this.prototype.balanceDelay = 60000;\n this.prototype.debug = true;\n\n return this;\n }\n\n /**\n * @param {object} options - Options\n * @param {Pariplay.Networker} networker - Make Network calls\n * @param {Function} balanceHandler - Method to call when the balance changes\n * @return {Pariplay.Balance} Returns self to allow chaining\n */\n\n }]);\n\n function Balance(options, networker, balanceHandler) {\n _classCallCheck(this, Balance);\n\n this.balanceHandler = balanceHandler;\n this.networker = networker;\n this.playerTokenId = options.playerTokenId;\n this.clientToken = options.clientToken;\n this.endpoint = options.balanceUrl;\n this.allowedBalanceAttemps = options.balanceAttemps;\n\n return this;\n }\n\n /**\n * @return {Number} Returns id of set Interval\n */\n\n\n _createClass(Balance, [{\n key: 'startInterval',\n value: function startInterval() {\n var _this = this;\n\n if (!this.endpoint) {\n return null;\n }\n\n if (this.interval) {\n return null;\n }\n\n this.interval = setInterval(function () {\n _this.getBalance();\n }, this.balanceDelay);\n\n return this.interval;\n }\n\n /**\n * @method\n */\n\n }, {\n key: 'stopInterval',\n value: function stopInterval() {\n clearInterval(this.interval);\n this.interval = null;\n }\n\n /**\n * @method\n */\n\n }, {\n key: 'getBalance',\n value: function getBalance() {\n var _this2 = this;\n\n var params = {\n ClientToken: this.clientToken,\n PlayerTokenId: this.playerTokenId\n };\n\n if (this.endpoint === null) {\n return;\n }\n\n this.networker.POST(this.endpoint, params, function (err, resp, code) {\n if (err || code !== 200 || !resp || resp === '') {\n return;\n }\n\n var statusModel = new _statusModel2.default(resp.Status);\n\n if (_this2.balanceHandler) {\n _this2.balanceHandler(statusModel.balance);\n }\n });\n }\n }]);\n\n return Balance;\n}();\n\nBalance.initClass();\n\nexports.default = Balance;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _betModel = __webpack_require__(12);\n\nvar _betModel2 = _interopRequireDefault(_betModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Bet = function () {\n /**\n * @param {object} options - Options\n * @param {Pariplay.Networker} networker - Make Network calls\n * @return {Pariplay.Bet} Returns self to allow chaining\n */\n function Bet(options, networker) {\n _classCallCheck(this, Bet);\n\n this.name = 'Bet';\n this.logging = false;\n this.notificationAttempts = 0;\n this.notificationDelay = 5000;\n this.debug = false;\n\n this.networker = networker;\n\n this.notifyEndpoint = options.notifyUrl;\n this.placeBetEndpoint = options.placeBetUrl;\n this.endBetEndpoint = options.endUrl;\n this.clientToken = options.clientToken;\n this.playerTokenId = options.playerTokenId;\n this.finMode = options.financialMode;\n\n return this;\n }\n\n /**\n * Places a bet\n *\n * @param {Number|String|Object} stakeOrParams The stake or parameters\n * @param {Callback} callback Completion handler\n * @param {Number} stake - Stake amount\n */\n\n\n _createClass(Bet, [{\n key: 'place',\n value: function place(stakeOrParams, callback) {\n var _this = this;\n\n this.notificationAttempts = 0;\n\n var input = {};\n\n if (isObject(stakeOrParams)) {\n input = capitalizeKeys(stakeOrParams);\n } else {\n input.Stake = stakeOrParams;\n }\n\n var params = {\n ClientToken: this.clientToken,\n PlayerTokenId: this.playerTokenId,\n Input: JSON.stringify(input)\n };\n\n if (window.debugWinIndex) {\n var debug = {\n WinType: 2,\n WinIndex: window.debugWinIndex\n };\n\n params.Debug = JSON.stringify(debug);\n }\n\n if (window.debugMatrix) {\n var _debug = {\n Matrix: window.debugMatrix.split(',').map(function (char) {\n return window.parseInt(char);\n })\n };\n\n params.Debug = JSON.stringify(_debug);\n }\n\n this.networker.POST(this.placeBetEndpoint, params, function (err, resp, code) {\n _this.handleResponse(err, resp, code, callback);\n });\n }\n\n /**\n * @param {Callback} callback - Completion handler\n * @return {Number} Returns timeout id\n */\n\n }, {\n key: 'getNotifcationAfterDelay',\n value: function getNotifcationAfterDelay(callback) {\n var _this2 = this;\n\n return setTimeout(function () {\n return _this2._getNotifcation(callback);\n }, this.notificationDelay);\n }\n\n /**\n * @private\n * @param {Callback} callback - Completion handler\n */\n\n }, {\n key: '_getNotifcation',\n value: function _getNotifcation(callback) {\n var _this3 = this;\n\n this.notificationAttempts++;\n\n var params = {\n ClientToken: this.clientToken,\n PlayerTokenId: this.playerTokenId\n };\n\n this.networker.POST(this.notifyEndpoint, params, function (err, resp, code) {\n return _this3.handleResponse(err, resp, code, callback);\n });\n }\n\n /**\n * @param {object} err - Error object\n * @param {object} resp - Result object\n * @param {number} code - Http code\n * @param {Callback} callback - Completion handler\n * @return {string} Returns the state for testing\n */\n\n }, {\n key: 'handleResponse',\n value: function handleResponse(err, resp, code, callback) {\n // not json\n if (typeof resp === 'string') {\n try {\n resp = JSON.parse(resp);\n } catch (e) {\n var _err = {\n code: 'PLACE_BET_FAILED'\n };\n\n callback(_err, null, code);\n\n return 'corrupt';\n }\n }\n\n // Unknown Error\n if (code !== 200 || err || !resp || !resp.Status) {\n var _err2 = {\n code: 'PLACE_BET_FAILED'\n };\n\n callback(_err2, null, code);\n\n return 'invalid';\n }\n\n var betModel = new _betModel2.default(resp);\n var statusModel = betModel.status;\n\n // Error 1\n if (statusModel.hasNormalError()) {\n var ERR_CODE = 'PLACE_BET_FAILED';\n\n if (statusModel.errCode === 112) {\n if (this.finMode) {\n ERR_CODE = 'NO_TICKETS_LEFT';\n } else {\n ERR_CODE = 'INSUFFICIENT_FUNDS';\n }\n }\n\n var _err3 = {\n code: ERR_CODE,\n msg: statusModel.errMessage\n };\n\n callback(_err3, betModel, code);\n\n return 'err1';\n }\n\n // Error 2\n if (statusModel.hasNotificationError()) {\n var _err4 = {\n code: 'WAITING_ON_NOTIFICATION',\n msg: statusModel.errMessage\n };\n\n callback(_err4, betModel, code);\n\n this.getNotifcationAfterDelay(callback);\n\n return 'err2';\n }\n\n // Success\n callback(null, betModel, code);\n\n return 'success';\n }\n\n /**\n * @param {object} ticketId - The id of the ticket\n * @param {Callback} callback - Completion handler\n */\n\n }, {\n key: 'end',\n value: function end(ticketId, callback) {\n if (!this.endBetEndpoint) {\n return;\n }\n\n var params = {\n ClientToken: this.clientToken,\n PlayerTokenId: this.playerTokenId,\n Id: ticketId\n };\n\n this.networker.POST(this.endBetEndpoint, params, function (err, resp, code) {\n if (callback) {\n callback(err, resp, code);\n }\n });\n }\n }]);\n\n return Bet;\n}();\n\n/**\n * Determines if object.\n *\n * @param {Object} o Object to verify\n * @return {boolean} True if object, False otherwise.\n */\n\n\nexports.default = Bet;\nfunction isObject(o) {\n return o instanceof Object && o.constructor === Object;\n}\n\n/**\n * Capitalizes the keys for Pariplay\n *\n * @param {object} origObj The original object\n * @return {object} new Object with Capitalized keys\n */\nfunction capitalizeKeys(origObj) {\n return Object.keys(origObj).reduce(function (newObj, key) {\n var val = origObj[key];\n var newVal = (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && !Array.isArray(val) ? capitalizeKeys(val) : val;\n var newKey = key.charAt(0).toUpperCase() + key.slice(1);\n\n newObj[newKey] = newVal;\n\n return newObj;\n }, {});\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Helper Class\n */\nvar Helper = function () {\n function Helper() {\n _classCallCheck(this, Helper);\n }\n\n _createClass(Helper, null, [{\n key: 'getQueryAsObj',\n\n /**\n * @static\n * @param {string} query - url query string example ?key=val&foo=bar\n * @return {object} dictionary representation of the query string\n */\n value: function getQueryAsObj(query) {\n if (!query) {\n query = window.location.search;\n }\n\n if (query[0] === '?') {\n query = query.substring(1);\n }\n\n var tmp = {};\n var vars = query.split('&');\n var i = 0;\n\n while (i < vars.length) {\n var pair = vars[i].split('=');\n\n tmp[pair[0]] = pair[1];\n i++;\n }\n\n return tmp;\n }\n }]);\n\n return Helper;\n}();\n\nexports.default = Helper;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Linker = function () {\n /**\n * Constructs the object.\n *\n * @param {Pariplay.Messager} messager - to send html5 messags\n * @param {Boolean} isMobile - is this thing Mobile or not\n * @param {Function} backHandler - The function to be called when navigating back\n * @return {Pariplay.Linker} Returns self to allow chaining\n */\n function Linker(messager, networker, isMobile, backHandler) {\n _classCallCheck(this, Linker);\n\n this.name = 'Linker';\n this.messager = messager;\n this.networker = networker;\n this.isMobile = isMobile;\n this.backHandler = backHandler;\n\n return this;\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {string} reference of what occurred for testing\n */\n\n\n _createClass(Linker, [{\n key: 'home',\n value: function home(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return 'none';\n }\n\n this.messager.postQuit('RealityCheck', url);\n\n if (url === '(api)') {\n return 'api';\n }\n\n if (url === '(back)') {\n this.backHandler();\n\n return 'back';\n }\n\n if (url === '(888bingo)') {\n this.messager.post888Lobby();\n\n return '888';\n }\n\n if (!this.validateURL(url)) {\n return 'fail';\n }\n\n try {\n window.top.location.href = url;\n } catch (e) {\n return 'fail';\n }\n\n return 'url';\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {string} reference of what occurred for testing\n */\n\n }, {\n key: 'cashier',\n value: function cashier(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return 'none';\n }\n\n this.messager.postCashier('InsufficientFunds', url);\n\n if (url === '(api)') {\n return 'api';\n }\n\n if (url === '(888bingo)') {\n this.messager.post888Cashier();\n\n return '888';\n }\n\n if (!this.validateURL(url)) {\n return 'fail';\n }\n\n try {\n if (this.isMobile) {\n window.top.location.href = url;\n\n return 'url-mobile';\n }\n\n window.open(url);\n\n return 'url-desktop';\n } catch (e) {\n return 'fail';\n }\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {string} reference of what occurred for testing\n */\n\n }, {\n key: 'history',\n value: function history(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return 'none';\n }\n\n this.messager.postHistory('RealityCheck', url);\n\n if (!this.validateURL(url)) {\n return 'fail';\n }\n\n try {\n if (this.isMobile) {\n window.top.location.href = url;\n\n return 'url-mobile';\n }\n\n window.open(url);\n\n return 'url-desktop';\n } catch (e) {\n return 'fail';\n }\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {string} reference of what occurred for testing\n */\n\n }, {\n key: 'buyMore',\n value: function buyMore(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return 'none';\n }\n\n if (url === '(api)') {\n this.messager.postBuyMoreTickets();\n\n return 'api';\n }\n\n this.messager.postQuit('eCommerceBuyMore', url);\n\n if (!this.validateURL(url)) {\n return 'fail';\n }\n\n try {\n window.top.location.href = url;\n } catch (e) {\n return 'fail';\n }\n\n return 'url';\n }\n\n /**\n * go to external link\n *\n * @param {*} url\n * @param {*} type\n * @param {*} cb\n * @memberof Linker\n */\n\n }, {\n key: 'goTo',\n value: function goTo(url, type, cb) {\n switch (type) {\n case 2:\n // request instant\n this.networker.GET(url);\n if (cb) cb();\n break;\n case 3:\n // request wait\n this.networker.GET(url, cb);\n break;\n default:\n // redirect\n if (cb) cb();\n window.open(url);\n }\n }\n\n /**\n * @param {string} url - Url of where to navigate\n * @return {boolean} whether its valid or not\n */\n\n }, {\n key: 'validateURL',\n value: function validateURL(url) {\n if (!url || typeof url !== 'string' || url === '') {\n return false;\n }\n\n return true;\n }\n }]);\n\n return Linker;\n}();\n\nexports.default = Linker;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _statusModel = __webpack_require__(1);\n\nvar _statusModel2 = _interopRequireDefault(_statusModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Load = function () {\n _createClass(Load, null, [{\n key: 'init',\n\n /**\n * @return {Pariplay.Bet} Returns self to allow chaining\n */\n value: function init() {\n this.prototype.name = 'Load';\n this.prototype.debug = true;\n this.prototype.attempts = 0;\n this.prototype.balanceDelay = 5000;\n this.prototype.balanceAttempts = 4;\n\n return this;\n }\n\n /**\n * @param {object} options - Options\n * @param {Pariplay.Networker} networker - Make Network calls\n * @return {Pariplay.Load} Returns self to allow chaining\n */\n\n }]);\n\n function Load(options, networker) {\n _classCallCheck(this, Load);\n\n this.networker = networker;\n this.options = options;\n\n return this;\n }\n\n /**\n * @param {Callback} callback - completion handler\n */\n\n\n _createClass(Load, [{\n key: 'loadGame',\n value: function loadGame(callback) {\n var _this = this;\n\n var params = {\n ClientToken: this.options.clientToken,\n GameCode: this.options.gameCode,\n CurrencyCode: this.options.currencyCode,\n LanguageCode: this.options.languageCode,\n FinancialMode: this.options.financialMode\n };\n\n if (this.options.extraData) {\n params.ExtraData = this.options.extraData;\n }\n\n this.networker.POST(this.options.loadGameEndpoint, params, function (err, resp, code) {\n _this.handleResponse(resp, err, code, function (validResponse, handledResp) {\n return callback(validResponse, handledResp, code);\n });\n });\n }\n\n /**\n * @param {object} resp - Result object\n * @param {object} err - Error object\n * @param {number} code - Http code\n * @param {Callback} callback - Completion handler\n * @return {string} Returns the state for testing\n */\n\n }, {\n key: 'handleResponse',\n value: function handleResponse(resp, err, code, callback) {\n // try and parse json\n if (typeof resp === 'string') {\n try {\n resp = JSON.parse(resp);\n } catch (e) {\n var _err = {\n code: 'LOAD_GAME_FAILED'\n };\n\n callback(_err, null, code);\n\n return 'corrupt';\n }\n }\n\n if (code !== 200 || err || !resp || resp === '' || (typeof resp === 'undefined' ? 'undefined' : _typeof(resp)) !== 'object') {\n var _err2 = {\n code: 'LOAD_GAME_FAILED'\n };\n\n callback(_err2, null, code);\n\n return 'invalid';\n }\n\n callback(null, resp, code);\n\n return 'success';\n }\n\n /**\n * @param {Pariplay.model.StatusModel} statusModel - The load game status Model\n * @param {boolean} isValidResponse - Did it pass the initial tests\n * @param {Callback} callback - Completion handler\n */\n\n }, {\n key: 'getInitialBalance',\n value: function getInitialBalance(statusModel, isValidResponse, callback) {\n // Unknown fail\n if (!statusModel && !statusModel.hasNormalError) {\n var err = {\n code: 'LOAD_GAME_FAILED'\n };\n\n callback(err, null, -999);\n\n return;\n }\n // Server error\n if (statusModel.hasNormalError()) {\n var _err3 = {\n code: 'LOAD_GAME_FAILED',\n msg: statusModel.errMessage\n };\n\n callback(_err3, statusModel.balance, -999);\n\n return;\n }\n // the load game response was perfect\n if (!statusModel.isWaitingOnBalance()) {\n callback(null, statusModel.balance, 200);\n\n return;\n }\n\n // the load game response was ok but missing the balance\n var waitingErr = {\n code: 'WAITING_ON_BALANCE',\n msg: statusModel.errMessage\n };\n\n callback(waitingErr, statusModel.balance, 200);\n\n // attempt to get the balance before we proceed\n this.attempts = 0;\n\n this.requestBalance(function (newStatusModel, err, code) {\n if (newStatusModel) {\n callback(err, newStatusModel.balance, code);\n\n return;\n }\n\n var failedErr = {\n code: 'WAITING_ON_BALANCE_FAILED',\n msg: statusModel.errMessage\n };\n\n callback(failedErr, null, code);\n });\n }\n\n /**\n * @private\n * @param {Callback} callback - Completion handler\n * @return {Number} Returns timeout id\n */\n\n }, {\n key: '_requestBalance',\n value: function _requestBalance(callback) {\n var _this2 = this;\n\n return setTimeout(function () {\n _this2.requestBalance(callback);\n }, this.balanceDelay);\n }\n\n /**\n * @param {Callback} callback - Completion handler\n */\n\n }, {\n key: 'requestBalance',\n value: function requestBalance(callback) {\n var _this3 = this;\n\n var params = {\n ClientToken: this.options.clientToken,\n PlayerTokenId: this.options.playerTokenId\n };\n\n if (!this.options.balanceUrl) {\n return;\n }\n\n this.networker.POST(this.options.balanceUrl, params, function (err, resp, code) {\n _this3.attempts++;\n\n if (code !== 200 || !resp || !resp.Status) {\n callback(null, err, code);\n\n return;\n }\n\n var statusModel = new _statusModel2.default(resp.Status);\n\n if (statusModel.isWaitingOnBalance()) {\n if (_this3.attempts < _this3.balanceAttempts) {\n _this3._requestBalance(callback);\n\n return;\n }\n callback(null, err, code);\n\n return;\n }\n\n callback(statusModel, err, code);\n });\n }\n }]);\n\n return Load;\n}();\n\nLoad.init();\n\nexports.default = Load;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Messager = function () {\n /**\n * @param {object} options - Options\n * @return {Pariplay.Messager} Returns self to allow chaining\n */\n function Messager(options) {\n _classCallCheck(this, Messager);\n\n this.sender = options.gameCode;\n this.lang = options.languageCode;\n\n return this;\n }\n\n /**\n * @param {object} data - Object you want to post\n * @return {Pariplay.Load} Object you tried to post\n */\n\n\n _createClass(Messager, [{\n key: 'post',\n value: function post(data) {\n window.parent.postMessage(data, '*');\n\n return data;\n }\n\n /**\n * @param {number} w - window width\n * @param {number} h - window height\n * @return {Pariplay.Load} Object you tried to post\n */\n\n }, {\n key: 'postResize',\n value: function postResize(w, h) {\n return this.post({\n type: 'resize',\n width: w,\n height: h\n });\n }\n\n /**\n * Post this as soon as you can\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postOnAppFrameReady',\n value: function postOnAppFrameReady() {\n return this.post({\n type: 'onAppFrameReady',\n sender: this.sender\n });\n }\n\n /**\n * Post After receiving LoadGame\n *\n * @param {boolean} success - Whether the LoadGame was successful or not\n * @param {object} status The load game\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postLoadGame',\n value: function postLoadGame(success, status) {\n return this.post({\n type: 'gameDataLoaded',\n sender: this.sender,\n lang: this.lang,\n data: {\n success: success,\n status: status\n }\n });\n }\n\n /**\n * Post after Currency initialization:\n *\n * @param {string} currCode - Currency code e.g. EUR\n * @param {string} currSymbol - Currency symbol e.g €\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postCurrencyStatus',\n value: function postCurrencyStatus(currCode, currSymbol) {\n return this.post({\n type: 'currencyStatus',\n sender: this.sender,\n lang: this.lang,\n data: {\n currencyCode: currCode,\n currencySymbol: currSymbol\n }\n });\n }\n\n /**\n * Post Before sending PlaceBet\n *\n * @param {string} betValue - Stake\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postBeforePlaceBet',\n value: function postBeforePlaceBet(betValue) {\n return this.post({\n type: 'roundStart',\n sender: this.sender,\n lang: this.lang,\n data: {\n totalBet: betValue\n }\n });\n }\n\n /**\n * Post After successful receiving PlaceBet\n *\n * @param {string} ticketId - Id of bet\n * @param {number} balanceBefore - The balance before\n * @param {number} ticketsBefore - How many tickets before\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postAfterPlaceBet',\n value: function postAfterPlaceBet(ticketId, balanceBefore, ticketsBefore) {\n return this.post({\n type: 'roundStarted',\n sender: this.sender,\n lang: this.lang,\n data: {\n id: ticketId,\n balanceBefore: balanceBefore,\n ticketsLeftBefore: ticketsBefore\n }\n });\n }\n\n /**\n * Post when user pressed 'Reveal All' or 'Stop' button:\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postRevealAll',\n value: function postRevealAll() {\n return this.post({\n type: 'revealAll',\n sender: this.sender,\n lang: this.lang\n });\n }\n\n /**\n * Post After round is completed\n *\n * @param {string} ticketId - Id of bet\n * @param {number} winAmount - amount won\n * @param {number} balanceAfter - The balance after\n * @param {number} ticketsAfter - How many tickets after\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postRoundEnded',\n value: function postRoundEnded(ticketId, winAmount, balanceAfter, ticketsAfter) {\n return this.post({\n type: 'roundEnded',\n sender: this.sender,\n lang: this.lang,\n data: {\n id: ticketId,\n win: winAmount,\n balanceAfter: balanceAfter,\n ticketsLeftAfter: ticketsAfter\n }\n });\n }\n\n /**\n * Post after any actual update of visible balance\n *\n * @param {number} amount - New balance amount\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postUpdateBalance',\n value: function postUpdateBalance(amount) {\n return this.post({\n type: 'balance',\n sender: this.sender,\n lang: this.lang,\n data: {\n amount: amount\n }\n });\n }\n\n /**\n * Post After when user choose to leave\n * e.g.\n * User pressed Home button of ribbon or\n * Exit button of RealityCheck popup or\n * Exit button of eCommerce Finish popup or\n * Continue button of VoucherSummary popup (causes restart) or\n * Exit button of VoucherSummary popup:\n *\n * @param {string} reason - What action the user chose\n * @param {string} url - Where they are going\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postQuit',\n value: function postQuit(reason, url) {\n return this.post({\n type: 'quit',\n sender: this.sender,\n lang: this.lang,\n data: {\n reason: reason, // 'Ribbon' | 'RealityCheck' | 'eCommerceExit' | 'VoucherSummaryContinue' | 'VoucherSummaryExit',\n target: url\n }\n });\n }\n\n /**\n * User pressed Cashier button of ribbon or\n * Deposit button of Insufficient Funds message (causes Quit in mobile mode):\n *\n * @param {string} reason - What action the user chose 'Cashier' | 'InsufficientFunds'\n * @param {string} url - Where they are going\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postCashier',\n value: function postCashier(reason, url) {\n if (!reason) {\n reason = 'InsufficientFunds';\n }\n\n return this.post({\n type: 'cashier',\n sender: this.sender,\n lang: this.lang,\n data: {\n reason: reason,\n target: url\n }\n });\n }\n\n /**\n * User pressed 'Buy More Tickets' of eCommerce Finish popup or\n * 'Deposit' button in ErrorMessage with ErrorCode 112 in eCommerce mode:\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postBuyMoreTickets',\n value: function postBuyMoreTickets() {\n return this.post({\n type: 'buyMoreTickets',\n sender: this.sender,\n lang: this.lang\n });\n }\n\n /**\n * Post when all rounds finished (eCommerce mode):\n * THIS IS THE ONE THE TELLS PP TO SHOW THEIR MODEL\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postNoRoundsLeft',\n value: function postNoRoundsLeft() {\n return this.post({\n type: 'noRoundsLeft',\n sender: this.sender,\n lang: this.lang\n });\n }\n\n /**\n * User pressed History button on Reality Check popup (causes Quit in mobile mode)\n *\n * @param {string} reason - What action the user chose\n * @param {string} url - Where they are going\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postHistory',\n value: function postHistory(reason, url) {\n if (!reason) {\n reason = 'RealityCheck';\n }\n\n return this.post({\n type: 'history',\n sender: this.sender,\n lang: this.lang,\n data: {\n reason: reason,\n target: url\n }\n });\n }\n\n /**\n * User pressed Help button on Reality Check popup (causes Quit in mobile mode)\n *\n * @param {string} reason - What action the user chose\n * @param {string} url - Where they are going\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'postHelp',\n value: function postHelp(reason, url) {\n if (!reason) {\n reason = 'Ribbon';\n }\n\n return this.post({\n type: 'help',\n sender: this.sender,\n lang: this.lang,\n data: {\n reason: reason,\n target: url\n }\n });\n }\n\n /**\n * Only for 888 when someone click 'home'\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'post888Lobby',\n value: function post888Lobby() {\n return this.post({\n method: 'lobby',\n data: {}\n });\n }\n\n /**\n * Only for 888 when someone click 'cashier'|'deposit'\n *\n * @return {object} Object you tried to post\n */\n\n }, {\n key: 'post888Cashier',\n value: function post888Cashier() {\n return this.post({\n method: 'cashier',\n data: {}\n });\n }\n }]);\n\n return Messager;\n}();\n\nexports.default = Messager;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nvar _statusModel = __webpack_require__(1);\n\nvar _statusModel2 = _interopRequireDefault(_statusModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar PariplayModel = function (_BaseModel) {\n _inherits(PariplayModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function PariplayModel(obj) {\n _classCallCheck(this, PariplayModel);\n\n var _this = _possibleConstructorReturn(this, (PariplayModel.__proto__ || Object.getPrototypeOf(PariplayModel)).call(this));\n\n _this.name = 'PariplayModel';\n\n // defaults\n _this.rgsUrl = '//rgs.pariplaygames.com';\n _this.apiPath = '/client/';\n _this.loadGameEndpoint = 'LoadGame';\n _this.currencyCode = 'EUR';\n _this.dontShowBalance = false;\n _this.dontShowStake = false;\n _this.showTicketId = false;\n _this.financialMode = 0;\n _this.playerTokenId = 0;\n _this.showBuyMoreButton = false;\n _this.ukRegulations = false;\n _this.canvas = false;\n\n // case sensitivity is no guaranteed\n // by Pariplay\n\n _this.keyMapping = {\n\n // QueryString (often doubles in loadGame)\n gamecode: 'gameCode',\n token: 'clientToken',\n clienttoken: 'clientToken',\n currencycode: 'currencyCode',\n lang: 'languageCode',\n financialmode: 'financialMode',\n rgsurl: 'rgsUrl',\n homeurl: 'homeUrl',\n historyurl: 'historyUrl',\n buymoreurl: 'buyMoreUrl',\n cashierurl: 'cashierUrl',\n dontshowbalance: 'dontShowBalance',\n dontshowstake: 'dontShowStake',\n showticketid: 'showTicketId',\n showbuymorepopup: 'showBuyMorePopup',\n sound: 'sound',\n extradata: 'extraData',\n debug: 'debug',\n fps: 'fps',\n canvas: 'canvas',\n\n // Load Game (additional)\n defaultstake: 'defaultStake',\n balanceurl: 'balanceUrl',\n playertokenid: 'playerTokenId',\n endurl: 'endUrl',\n helpurl: 'helpUrl',\n notifyurl: 'notifyUrl',\n paytable: 'paytable',\n placebeturl: 'placeBetUrl',\n maxmultiplier: 'maxMultiplier',\n replayoutcome: 'replayOutcome',\n realitychecktimeout: 'realityCheckTimeout',\n stakes: 'stakes',\n status: 'status',\n ukregulations: 'ukRegulations',\n autobetrounds: 'autoplayOptions',\n\n // Calculated\n maxprize: 'maxPrize',\n baselanguage: 'baseLanguage',\n showbuymorebutton: 'showBuyMoreButton',\n showhomebutton: 'showHomeButton',\n showhelpbutton: 'showHelpButton',\n showcashierbutton: 'showCashierButton',\n showhistorybutton: 'showHistoryButton',\n showrealitycheck: 'showRealityCheck',\n realitycheckseconds: 'realityCheckSeconds'\n };\n\n // Prevent the loadGame overwriting the query params\n _this.preventOverwrite = ['gameCode', 'cashierUrl', 'homeUrl'];\n\n _this.decodeURI = ['helpUrl', 'cashierUrl', 'homeUrl', 'historyUrl', 'buyMoreUrl'];\n\n _this.subModels = {\n status: _statusModel2.default\n };\n\n _this.inject(obj);\n return _this;\n }\n\n /**\n * Add extra functionality to inject\n *\n * @private\n * @param {object} obj - raw data\n */\n\n\n _createClass(PariplayModel, [{\n key: 'inject',\n value: function inject(obj) {\n _get(PariplayModel.prototype.__proto__ || Object.getPrototypeOf(PariplayModel.prototype), 'inject', this).call(this, obj);\n\n if (this.status && this.status.financialMode) {\n this.financialMode = this.status.financialMode;\n }\n\n if (this.languageCode) {\n this.languageCode = this._parseLangCode(this.languageCode);\n this.baseLanguage = this.languageCode.substring(0, 2);\n }\n\n if (this.rgsUrl && this.apiPath) {\n this.apiEndpoint = this.rgsUrl + this.apiPath;\n }\n\n this.maxPrize = this.getMaxPrize();\n this.showHomeButton = !!this.homeUrl;\n this.showHelpButton = !!this.helpUrl;\n this.showHistoryButton = !!this.historyUrl;\n this.showCashierButton = !!this.cashierUrl;\n this.showBuyMoreButton = this.shouldShowBuyMore();\n this.showRealityCheck = this.shouldShowRealityCheck();\n }\n\n /**\n * Gets the maximum prize.\n *\n * @return {number} The maximum prize.\n */\n\n }, {\n key: 'getMaxPrize',\n value: function getMaxPrize() {\n if (!this.maxMultiplier || !this.stakes) {\n return 0;\n }\n\n var a = this.maxMultiplier * this.stakes[this.stakes.length - 1];\n\n return Math.round(a);\n }\n\n /**\n * Should we show the reality check\n *\n * @return {boolean} whether or not to show it\n */\n\n }, {\n key: 'shouldShowRealityCheck',\n value: function shouldShowRealityCheck() {\n var rct = this.realityCheckTimeout;\n\n if (typeof rct !== 'number' || rct <= 0) return false;\n\n this.realityCheckSeconds = this.realityCheckTimeout * 60;\n\n return true;\n }\n\n /**\n * SHould show buy more\n *\n * @return {boolean} whether or not to show it\n */\n\n }, {\n key: 'shouldShowBuyMore',\n value: function shouldShowBuyMore() {\n if (this.showBuyMorePopup && (this.buyMoreUrl || this.homeUrl)) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Erro check the langCode\n *\n * @private\n * @param {string} locale - raw locale\n * @return {string} the corrected locale code\n */\n\n }, {\n key: '_parseLangCode',\n value: function _parseLangCode(locale) {\n if (typeof locale !== 'string') {\n return '';\n }\n\n var parts = locale.split('-');\n\n // try underscore instead\n if (parts.length === 1 && locale.length > 2) {\n parts = locale.split('_');\n }\n\n var lang = parts[0].toLowerCase();\n\n if (parts[1] && parts[1].length > 1 && parts[1] !== '' && parts[1] !== '-') {\n var country = parts[1].toUpperCase();\n\n lang = lang + '-' + country;\n }\n\n return lang;\n }\n }]);\n\n return PariplayModel;\n}(_baseModel2.default);\n\nexports.default = PariplayModel;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n *\n */\nvar Networker = function () {\n /**\n * Post After round is completed\n *\n * @param {string} apiEndpoint - Id of bet\n * @return {Pariplay.Netowrker} For chaining\n */\n function Networker(apiEndpoint) {\n _classCallCheck(this, Networker);\n\n this.name = 'Networker';\n this.apiEndpoint = apiEndpoint;\n\n return this;\n }\n\n /**\n * Post After round is completed\n *\n * @param {string} path - Api path\n * @param {object} params - Body params\n * @param {Callback} callback - Completion handler\n */\n\n\n _createClass(Networker, [{\n key: 'POST',\n value: function POST(path, params, callback) {\n var endpoint = this.apiEndpoint + path;\n\n if (!params) {\n params = {};\n }\n\n params.Rand = Math.floor(Math.random() * 10000000);\n params = this.serializeParams(params);\n\n var request = new XMLHttpRequest();\n\n request.open('POST', endpoint, true);\n request.setRequestHeader('Accept', 'application/json, text/javascript, */*');\n request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n request.timeout = 120000;\n\n function completionHandler() {\n var resp = request.responseText;\n\n if (request.status >= 200 && request.status < 400) {\n try {\n if (resp !== '') {\n resp = JSON.parse(resp);\n }\n } catch (e) {\n callback('Fail', resp, request.status);\n\n return;\n }\n\n callback(null, resp, request.status);\n } else {\n callback('Fail', resp, request.status);\n }\n }\n\n request.onload = completionHandler;\n\n request.onerror = function (err) {\n return callback(err, null, request.status);\n };\n\n request.ontimeout = function () {\n return callback('timeout', null, request.status);\n };\n\n request.send(params);\n }\n }, {\n key: 'GET',\n value: function GET(theUrl, cb) {\n var xmlHttp = new XMLHttpRequest();\n xmlHttp.onreadystatechange = function () {\n if (!cb) return;\n if (xmlHttp.readyState == 4 && xmlHttp.status == 200) cb(null, xmlHttp.responseText);else cb('failed', xmlHttp.responseText);\n };\n xmlHttp.open(\"GET\", theUrl, true); // true for asynchronous\n xmlHttp.send(null);\n }\n\n /**\n * Turns a js object in http body params\n *\n * @param {string} params - Your params as an object\n * @return {str} Serialized params\n */\n\n }, {\n key: 'serializeParams',\n value: function serializeParams(params) {\n var str = '';\n\n for (var key in params) {\n if (str !== '') {\n str += '&';\n }\n str += key + '=' + encodeURIComponent(params[key]);\n }\n\n return str;\n }\n }]);\n\n return Networker;\n}();\n\nexports.default = Networker;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Pariplay = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _load = __webpack_require__(6);\n\nvar _load2 = _interopRequireDefault(_load);\n\nvar _bet = __webpack_require__(3);\n\nvar _bet2 = _interopRequireDefault(_bet);\n\nvar _balance = __webpack_require__(2);\n\nvar _balance2 = _interopRequireDefault(_balance);\n\nvar _linker = __webpack_require__(5);\n\nvar _linker2 = _interopRequireDefault(_linker);\n\nvar _messager = __webpack_require__(7);\n\nvar _messager2 = _interopRequireDefault(_messager);\n\nvar _networker = __webpack_require__(9);\n\nvar _networker2 = _interopRequireDefault(_networker);\n\nvar _helper = __webpack_require__(4);\n\nvar _helper2 = _interopRequireDefault(_helper);\n\nvar _pariplayModel = __webpack_require__(8);\n\nvar _pariplayModel2 = _interopRequireDefault(_pariplayModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * This the entry point for the Pariplay class, every method in this class needs to be implemented\n * in you application in order complete all the neccessary functionality the Pariplay RGS documentation requires.\n *\n * None of the other classes nor their methods need to be used by your application.\n */\nvar Pariplay = exports.Pariplay = function () {\n /**\n * @callback Callback\n * @param {object} err - Error\n * @param {object} resp - Response\n * @param {number} code - HTTP Code\n */\n\n /**\n * This should fire before the loadGame request and you must pass it the url\n * queryData\n *\n * @param {Object|String} queryData - url query data\n * @param {Boolean} isMobile - is this thing Mobile or not\n * @param {Function} forceBack - A handler for when the game should force a real back navigation\n * @return {Pariplay} Returns self to allow chaining\n */\n function Pariplay(queryData, isMobile, forceBack) {\n _classCallCheck(this, Pariplay);\n\n if (typeof queryData === 'string') {\n queryData = _helper2.default.getQueryAsObj(queryData);\n }\n\n this.isMobile = false;\n this.options = new _pariplayModel2.default(queryData);\n this.networker = new _networker2.default(this.options.apiEndpoint);\n this.messager = new _messager2.default(this.options);\n this.linker = new _linker2.default(this.messager, this.networker, this.isMobile, forceBack);\n this.load = new _load2.default(this.options, this.networker);\n\n this.messager.postOnAppFrameReady();\n\n if (typeof isMobile === 'boolean') {\n this.setIsMobile(isMobile);\n }\n\n return this;\n }\n\n /**\n * @param {boolean} isMobile - is this thing Mobile or not\n */\n\n\n _createClass(Pariplay, [{\n key: 'setIsMobile',\n value: function setIsMobile(isMobile) {\n this.isMobile = isMobile;\n this.linker.isMobile = isMobile;\n }\n\n /**\n * Load Game data from server\n *\n * @public\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'loadGame',\n value: function loadGame(callback) {\n var _this = this;\n\n this.load.loadGame(function (err, handledResp, code) {\n var balanceHandler = function balanceHandler(balance) {\n if (_this.balanceHandler) {\n _this.balanceHandler(balance);\n }\n };\n\n _this.options.inject(handledResp);\n _this.options.isValid = !err;\n _this.bet = new _bet2.default(_this.options, _this.networker);\n _this.balance = new _balance2.default(_this.options, _this.networker, balanceHandler);\n\n if (_this.options.status && _this.options.status.getData) {\n _this.messager.postLoadGame(_this.options.isValid, _this.options.status);\n }\n\n callback(err, _this.options, code);\n });\n }\n\n /**\n * Check if we have a balance if not then we need to get it\n * @param {function} options - options for checking balance\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'getInitialBalance',\n value: function getInitialBalance(options, callback) {\n var _this2 = this;\n\n this.load.getInitialBalance(options.status, options.isValid, function (err, balance, code) {\n if (_this2.balance && balance >= 0) {\n _this2.balance.startInterval();\n }\n\n callback(err, balance, code);\n });\n }\n\n /**\n * Place a bet\n *\n * @param {number} stake - value of bet\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'placeBet',\n value: function placeBet(stake, callback) {\n var _this3 = this;\n\n this.messager.postBeforePlaceBet(stake);\n this.bet.place(stake, function (err, betModel, code) {\n if (!err) {\n _this3.messager.postAfterPlaceBet(betModel.ticket.id, betModel.balance.balanceBefore, betModel.balance.roundsLeft);\n }\n\n _this3.balance.stopInterval();\n\n callback(err, betModel, code);\n });\n }\n\n /**\n * Setup a replay betmodel from a load game response\n *\n * @param {object} resp - Load game response\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'replayBet',\n value: function replayBet(resp, callback) {\n this.bet.handleResponse(null, resp, 200, function (err, betModel, code) {\n betModel.isReplay = true;\n callback(err, betModel, code);\n });\n }\n\n /**\n * Tell Pariplay bet has been witnessed by user\n *\n * @param {object} data - Load game response\n * @param {Callback} callback - completion handler\n */\n\n }, {\n key: 'endBet',\n value: function endBet(data, callback) {\n this.messager.postRoundEnded(data.ticketId, data.totalWinAmount, data.balanceAfter, data.roundsLeftAfter);\n this.balance.startInterval();\n this.bet.end(data.ticketId, function (err, resp, code) {\n if (callback) {\n callback(err, resp, code);\n }\n });\n }\n\n /**\n * Tell Pariplay the currency has loaded\n *\n * @param {object} data - message response\n * @return {object} data sent\n */\n\n }, {\n key: 'currencyLoaded',\n value: function currencyLoaded(data) {\n return this.messager.postCurrencyStatus(data.cc, data.cs);\n }\n\n /**\n * Tell Pariplay the balance changed\n *\n * @param {object} amount - message response\n * @return {object} data sent\n */\n\n }, {\n key: 'balanceChanged',\n value: function balanceChanged(amount) {\n return this.messager.postUpdateBalance(amount);\n }\n\n /**\n * Tell Pariplay the we are out of tickets\n * THIS IS THE ONE THE TELLS PP TO SHOW THEIR MODEL\n *\n * @param {object} amount - message response\n * @return {object} data sent\n */\n\n }, {\n key: 'noTicketsLeft',\n value: function noTicketsLeft() {\n return this.messager.postNoRoundsLeft();\n }\n\n /**\n * Tell Pariplay the game will reveal all\n *\n * @return {object} data sent\n */\n\n }, {\n key: 'willRevealAll',\n value: function willRevealAll() {\n return this.messager.postRevealAll();\n }\n\n /**\n * Tell Pariplay the viewport resized\n *\n * @param {number} w - width\n * @param {number} h - height\n * @return {Pariplay} Returns self to allow chaining\n */\n\n }, {\n key: 'resize',\n value: function resize(w, h) {\n return this.messager.postResize(w, h);\n }\n\n /**\n * Navigate user to homeUrl\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goHome',\n value: function goHome() {\n return this.linker.home(this.options.homeUrl);\n }\n\n /**\n * Navigate user to casier url\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goCashier',\n value: function goCashier() {\n return this.linker.cashier(this.options.cashierUrl);\n }\n\n /**\n * Navigate user to buymore url\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goBuyMore',\n value: function goBuyMore() {\n return this.linker.buyMore(this.options.buyMoreUrl);\n }\n\n /**\n * Navigate user to history url\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goHistory',\n value: function goHistory() {\n return this.linker.history(this.options.historyUrl);\n }\n\n /**\n * Handle a message link\n *\n * @return {string} result of action\n */\n\n }, {\n key: 'goToURL',\n value: function goToURL(link, linkType, cb) {\n return this.linker.goTo(link, linkType, cb);\n }\n }]);\n\n return Pariplay;\n}();\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar BalanceModel = function (_BaseModel) {\n _inherits(BalanceModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - data for model\n */\n function BalanceModel(obj) {\n _classCallCheck(this, BalanceModel);\n\n var _this = _possibleConstructorReturn(this, (BalanceModel.__proto__ || Object.getPrototypeOf(BalanceModel)).call(this));\n\n _this.name = 'BalanceModel';\n\n _this.keyMapping = {\n balancebefore: 'balanceBefore',\n balanceafter: 'balanceAfter',\n roundsleftbefore: 'roundsLeftBefore',\n roundsleftafter: 'roundsLeftAfter',\n totalwinamount: 'totalWinAmount'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n return BalanceModel;\n}(_baseModel2.default);\n\nexports.default = BalanceModel;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nvar _balanceModel = __webpack_require__(11);\n\nvar _balanceModel2 = _interopRequireDefault(_balanceModel);\n\nvar _statusModel = __webpack_require__(1);\n\nvar _statusModel2 = _interopRequireDefault(_statusModel);\n\nvar _ticketModel = __webpack_require__(16);\n\nvar _ticketModel2 = _interopRequireDefault(_ticketModel);\n\nvar _inputModel = __webpack_require__(14);\n\nvar _inputModel2 = _interopRequireDefault(_inputModel);\n\nvar _messageModel = __webpack_require__(15);\n\nvar _messageModel2 = _interopRequireDefault(_messageModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar BetModel = function (_BaseModel) {\n _inherits(BetModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function BetModel(obj) {\n _classCallCheck(this, BetModel);\n\n var _this = _possibleConstructorReturn(this, (BetModel.__proto__ || Object.getPrototypeOf(BetModel)).call(this));\n\n _this.name = 'BetModel';\n\n _this.isReplay = false;\n\n _this.keyMapping = {\n isReplay: 'isReplay',\n input: 'input',\n balance: 'balance',\n status: 'status',\n ticket: 'ticket',\n message: 'messages'\n };\n\n _this.subModels = {\n balance: _balanceModel2.default,\n status: _statusModel2.default,\n ticket: _ticketModel2.default,\n input: _inputModel2.default,\n messages: _messageModel2.default\n };\n\n _this.inject(obj);\n return _this;\n }\n\n /**\n * Gets the stake.\n *\n * @return {number} The stake.\n */\n\n\n _createClass(BetModel, [{\n key: 'getStake',\n value: function getStake() {\n return this.input.stake;\n }\n\n /**\n * Gets the ticket identifier.\n *\n * @return {number} ticket id\n */\n\n }, {\n key: 'getTicketId',\n value: function getTicketId() {\n return this.ticket.id;\n }\n\n /**\n * Gets the matrix.\n *\n * @return {array} the matrix of the game\n */\n\n }, {\n key: 'getMatrix',\n value: function getMatrix() {\n return this.ticket.matrixIndexes;\n }\n\n /**\n * Gets the window index.\n *\n * @return {number} win index\n */\n\n }, {\n key: 'getWinIndex',\n value: function getWinIndex() {\n return this.ticket.winIndex;\n }\n\n /**\n * Gets the window poss index.\n *\n * @return {number} possible win index\n */\n\n }, {\n key: 'getWinPossIndex',\n value: function getWinPossIndex() {\n return this.ticket.winPossIndex;\n }\n\n /**\n * Determines if window.\n *\n * @return {boolean} did win\n */\n\n }, {\n key: 'isWin',\n value: function isWin() {\n return this.ticket.isWin;\n }\n\n /**\n * Gets the total bet.\n *\n * @return {number} total bet (stake)\n */\n\n }, {\n key: 'getTotalBet',\n value: function getTotalBet() {\n return this.ticket.totalBet;\n }\n\n /**\n * Gets the total window amount.\n *\n * @return {number} rounds after\n */\n\n }, {\n key: 'getTotalWinAmount',\n value: function getTotalWinAmount() {\n return this.ticket.totalWinAmount;\n }\n\n /**\n * Gets the balance before.\n *\n * @return {number} balance before\n */\n\n }, {\n key: 'getBalanceBefore',\n value: function getBalanceBefore() {\n return this.balance.balanceBefore;\n }\n\n /**\n * Gets the balance after.\n *\n * @return {number} balance after\n */\n\n }, {\n key: 'getBalanceAfter',\n value: function getBalanceAfter() {\n return this.balance.balanceAfter;\n }\n\n /**\n * Gets the rounds left before.\n *\n * @return {number} rounds before\n */\n\n }, {\n key: 'getRoundsLeftBefore',\n value: function getRoundsLeftBefore() {\n return this.balance.roundsLeftBefore;\n }\n\n /**\n * Gets the rounds left after.\n *\n * @return {number} rounds after\n */\n\n }, {\n key: 'getRoundsLeftAfter',\n value: function getRoundsLeftAfter() {\n return this.balance.roundsLeftAfter;\n }\n\n /**\n * @typedef EndBet\n * @type {object}\n * @property {string} ticketId - The id of the ticket\n * @property {number} winAmount - the total amount won this round\n * @property {number} balanceAfter - new balance\n * @property {number} roundsLeft - new amount of tickets left\n */\n\n /**\n * Prepares the data object for the EndBet call\n *\n * @return {EndBet} Data needed for Pariplay.Bet.endBet()\n */\n\n }, {\n key: 'getEndBetData',\n value: function getEndBetData() {\n var data = {\n ticketId: this.getTicketId(),\n totalWinAmount: this.getTotalWinAmount(),\n balanceAfter: this.getBalanceAfter(),\n roundsLeftAfter: this.getRoundsLeftAfter()\n };\n\n return data;\n }\n\n /**\n * Determines if valid.\n *\n * @return {Booleand} whether model is valid\n */\n\n }, {\n key: 'isValid',\n value: function isValid() {\n var valid = true;\n\n if (!this.balance || !this.ticket || !this.ticket.matrixIndexes || !this.ticket.matrixIndexes.length || this.ticket.matrixIndexes.length <= 0) {\n valid = false;\n console.warn('Betmodel is corrupted' // eslint-disable-line\n );\n }\n\n return valid;\n }\n }]);\n\n return BetModel;\n}(_baseModel2.default);\n\nexports.default = BetModel;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ButtonModel = function (_BaseModel) {\n _inherits(ButtonModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function ButtonModel(obj) {\n _classCallCheck(this, ButtonModel);\n\n var _this = _possibleConstructorReturn(this, (ButtonModel.__proto__ || Object.getPrototypeOf(ButtonModel)).call(this));\n\n _this.keyMapping = {\n text: 'textKey',\n action: 'action',\n link: 'link',\n linktype: 'linkType'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n _createClass(ButtonModel, [{\n key: 'inject',\n value: function inject(obj) {\n _get(ButtonModel.prototype.__proto__ || Object.getPrototypeOf(ButtonModel.prototype), 'inject', this).call(this, obj);\n\n if (this.link && typeof this.link === 'string') {\n this.action = 'link';\n }\n }\n }]);\n\n return ButtonModel;\n}(_baseModel2.default);\n\nexports.default = ButtonModel;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar InputModel = function (_BaseModel) {\n _inherits(InputModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function InputModel(obj) {\n _classCallCheck(this, InputModel);\n\n var _this = _possibleConstructorReturn(this, (InputModel.__proto__ || Object.getPrototypeOf(InputModel)).call(this));\n\n _this.name = 'InputModel';\n\n _this.keyMapping = {\n stake: 'stake',\n selectednumbers: 'selectedNumbers'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n return InputModel;\n}(_baseModel2.default);\n\nexports.default = InputModel;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nvar _buttonModel = __webpack_require__(13);\n\nvar _buttonModel2 = _interopRequireDefault(_buttonModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MessageModel = function (_BaseModel) {\n _inherits(MessageModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function MessageModel(obj) {\n _classCallCheck(this, MessageModel);\n\n var _this = _possibleConstructorReturn(this, (MessageModel.__proto__ || Object.getPrototypeOf(MessageModel)).call(this));\n\n _this.name = 'MessageModel';\n\n _this.keyMapping = {\n displaytype: 'displayType',\n title: 'title',\n text: 'msg',\n buttons: 'buttons'\n };\n\n _this.subModels = {\n buttons: _buttonModel2.default\n };\n\n _this.inject(obj);\n return _this;\n }\n\n return MessageModel;\n}(_baseModel2.default);\n\nexports.default = MessageModel;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseModel = __webpack_require__(0);\n\nvar _baseModel2 = _interopRequireDefault(_baseModel);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n *\n */\nvar TicketModel = function (_BaseModel) {\n _inherits(TicketModel, _BaseModel);\n\n /**\n * Initialise a model\n *\n * @param {object} obj - Ticket data\n */\n function TicketModel(obj) {\n _classCallCheck(this, TicketModel);\n\n var _this = _possibleConstructorReturn(this, (TicketModel.__proto__ || Object.getPrototypeOf(TicketModel)).call(this));\n\n _this.name = 'TicketModel';\n\n _this.totalwinamount = 0;\n\n _this.keyMapping = {\n id: 'id',\n iswin: 'isWin',\n winindex: 'winIndex',\n winpossindex: 'winPossIndex',\n matrixindexes: 'matrixIndexes',\n matrix: 'matrix',\n totalbet: 'totalBet',\n totalwinamount: 'totalWinAmount',\n drawnnumbers: 'drawnNumbers',\n paytabelid: 'paytableId'\n };\n\n _this.inject(obj);\n return _this;\n }\n\n return TicketModel;\n}(_baseModel2.default);\n\nexports.default = TicketModel;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pariplay.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// /Users/brendon/Dev/www/pariplay/lib/pariplay.js\n// module id = 74\n// module chunks = d-game","/**\n * Class for image model.\n */\nexport default function ImageModel()\n{\n // shared sprites\n this.uiJSON = require(`../../sprite/buttons${__postfix}.json`);\n this.uiURL = require(`../../sprite/buttons${__postfix}.png`);\n\n // shared images\n this.buttonSecondaryNormalImage = require(`../../img/btn/button-secondary-normal${__postfix}.png`);\n this.buttonSecondaryHoverImage = require(`../../img/btn/button-secondary-hover${__postfix}.png`);\n\n this.preload = [\n this.buttonSecondaryNormalImage,\n this.buttonSecondaryHoverImage,\n this.uiJSON,\n ];\n\n return this;\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./babel/model/image-model.js","module.exports = __webpack_public_path__ + \"sprite/buttons@3x.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./sprite/buttons@3x.json\n// module id = 76\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"sprite/buttons@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./sprite/buttons@3x.png\n// module id = 77\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"img/btn/button-secondary-normal@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./img/btn/button-secondary-normal@3x.png\n// module id = 78\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"img/btn/button-secondary-hover@3x.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./img/btn/button-secondary-hover@3x.png\n// module id = 79\n// module chunks = d-game","/* eslint-disable func-names */\n\n/**\n * Class for game model.\n */\nexport default function GameModel()\n{\n const muteString = window.localStorage.getItem('mute');\n\n this.mute = muteString !== 'false';\n}\n\n/**\n * Gets the font with variations.\n *\n * @return {String} The font with variations.\n */\nGameModel.prototype.getFontWithVariations = function ()\n{\n return this.font + this.fontVariations;\n};\n\n/**\n * Gets the stake.\n *\n * @return {Number} The stake.\n */\nGameModel.prototype.getStake = function ()\n{\n if (this.stake !== undefined)\n {\n return this.stake;\n }\n\n return this.defaultStake;\n};\n\n/**\n * Gets the currency multiplier.\n *\n * @return {Number} The currency multiplier.\n */\nGameModel.prototype.getCurrencyMultiplier = function ()\n{\n return this.defaultStake / this.baseMultiplier;\n};\n\n/**\n * Determines if out of tickets.\n *\n * @return {boolean} True if out of tickets, False otherwise.\n */\nGameModel.prototype.isOutOfTickets = function ()\n{\n const bm = this.isBasketMode();\n const hr = this.hasRoundsLeft();\n\n let res = false;\n\n if (bm && !hr) { res = true; }\n\n return res;\n};\n\n/**\n * Determines if out of funds.\n *\n * @return {Boolean} True if out of funds, False otherwise.\n */\nGameModel.prototype.isOutOfFunds = function ()\n{\n const bm = this.isBasketMode();\n const ba = this.getBalance();\n\n if (!bm && (ba <= 0)) { return true; }\n\n return false;\n};\n\n/**\n * Gets the help url.\n *\n * @return {String} The help url.\n */\nGameModel.prototype.getHelpUrl = function ()\n{\n if (!this.showHelpButton) { return null; }\n\n const mu = this.getCurrencyMultiplier();\n const cc = this.currencyCode;\n const rc = false; // 888 Hack to hide RC info in help file\n\n let url = `${this.helpUrl}&data=cc-${cc}$mu-${mu}$rc-${rc}&v=${window.__version}`;\n\n if (this.apiGameCode)\n {\n url = url.replace(this.gameCode, 'PP_HTML5_TreasureRaider60');\n }\n\n return url;\n};\n\n/**\n * Determines if maximum prize.\n *\n * @param {Number} index The index\n * @return {Boolean} True if maximum prize, False otherwise.\n */\nGameModel.prototype.isMaxPrize = function (index)\n{\n return this.maxPrize === Number(index);\n};\n\n/**\n * Gets the status.\n *\n * @return {StatusModel} The status.\n */\nGameModel.prototype.getStatus = function ()\n{\n return this.status;\n};\n\n/**\n * Gets the balance.\n *\n * @return {Number} The balance.\n */\nGameModel.prototype.getBalance = function ()\n{\n const s = this.getStatus();\n\n if (!s)\n {\n return null;\n }\n\n return s.balance;\n};\n\n/**\n * Sets the balance.\n *\n * @param {Number} v { parameter_description }\n */\nGameModel.prototype.setBalance = function (v)\n{\n const s = this.getStatus();\n\n if (!s)\n {\n return;\n }\n\n s.balance = v;\n};\n\n/**\n * Gets the financial mode.\n *\n * @return {Number} The financial mode.\n */\nGameModel.prototype.getFinancialMode = function ()\n{\n const s = this.getStatus();\n\n if (!s)\n {\n return null;\n }\n\n return s.financialMode;\n};\n\n/**\n * Determines if basket mode.\n *\n * @return {boolean} True if basket mode, False otherwise.\n */\nGameModel.prototype.isBasketMode = function ()\n{\n return this.getFinancialMode() === 1;\n};\n\n/**\n * Gets the rounds left.\n *\n * @return {Number} The rounds left.\n */\nGameModel.prototype.getRoundsLeft = function ()\n{\n const s = this.getStatus();\n\n if (!s)\n {\n return null;\n }\n\n return s.roundsLeft;\n};\n\n/**\n * Sets the rounds left.\n *\n * @param {Number} v { parameter_description }\n */\nGameModel.prototype.setRoundsLeft = function (v)\n{\n const s = this.getStatus();\n\n if (!s)\n {\n return;\n }\n\n s.roundsLeft = v;\n};\n\n/**\n * Determines if it has rounds left.\n *\n * @return {Boolean} True if has rounds left, False otherwise.\n */\nGameModel.prototype.hasRoundsLeft = function ()\n{\n return this.getRoundsLeft() > 0;\n};\n\n/**\n * Gets the sound.\n *\n * @return {Number} The sound.\n */\nGameModel.prototype.getSound = function ()\n{\n const s = this.sound;\n\n if (typeof (s) === 'number')\n {\n if (s > 0)\n {\n this.defaultVolume = s;\n this.setMute(false);\n }\n else\n {\n this.setMute(true);\n }\n }\n\n if (typeof (s) === 'boolean')\n {\n this.setMute(!s);\n }\n\n return this.defaultVolume;\n};\n\n/**\n * Gets the mute.\n *\n * @return {Boolean} The mute.\n */\nGameModel.prototype.getMute = function ()\n{\n return this.mute;\n};\n\n/**\n * Sets the mute.\n *\n * @param {Boolean} v { parameter_description }\n */\nGameModel.prototype.setMute = function (v)\n{\n this.mute = v;\n window.localStorage.setItem('mute', v);\n};\n\nGameModel.prototype.isAutoplaying = function (before, after, stake)\n{\n return this.autoplayRounds > 0;\n};\n\nGameModel.prototype.decreaseAutoplay = function ()\n{\n return this.autoplayedRounds -= 1;\n};\n\nGameModel.prototype.resetAutoplay = function ()\n{\n this.hasUserStartedAutoplay = false;\n this.autoplayWin = 0;\n this.autoplayLoss = 0;\n\n return this.autoplayedRounds = this.autoplayRounds;\n};\n\nGameModel.prototype.stopAutoplay = function ()\n{\n this.hasUserStartedAutoplay = false;\n this.autoplayWin = 0;\n this.autoplayLoss = 0;\n this.autoplayedRounds = 0;\n this.autoplayRounds = 0;\n};\n\nGameModel.prototype.updateAutoplayState = function (win, loss)\n{\n if (!this.isAutoplaying())\n {\n return 0;\n }\n\n this.autoplayWin += win;\n this.autoplayLoss += loss;\n\n let reason = null;\n\n if (win >= this.singleWin && this.singleWin > 0)\n {\n reason = __t.str('Single win limit reached!');\n }\n else if ((this.autoplayLoss - this.autoplayWin) >= this.lossLimit && this.lossLimit > 0)\n {\n reason = __t.str('Loss limit reached!');\n }\n\n if (reason !== null)\n {\n this.autoplayedRounds = 0;\n }\n\n return reason;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./babel/model/game-model.js","/* globals __webpack_amd_options__ */\r\nmodule.exports = __webpack_amd_options__;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/webpack/buildin/amd-options.js\n// module id = 81\n// module chunks = d-game","/* eslint-disable */\n/* !\n * VERSION: 0.2.1\n * DATE: 2017-01-17\n * UPDATES AND DOCS AT: http://greensock.com\n *\n * @license Copyright (c) 2008-2017, GreenSock. All rights reserved.\n * This work is subject to the terms at http://greensock.com/standard-license or for\n * Club GreenSock members, the software agreement that was issued with your membership.\n *\n * @author: Jack Doyle, jack@greensock.com\n **/\nconst _gsScope = typeof module !== 'undefined' && module.exports && typeof global !== 'undefined' ? global : this || window;\n\n(_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function ()\n{\n _gsScope._gsDefine('easing.CustomEase', ['easing.Ease'], function (a)\n{\n var b = /(?:(-|-=|\\+=)?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi,\n c = /[achlmqstvz]|(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[0-9]/gi,\n d = /[\\+\\-]?\\d*\\.?\\d+e[\\+\\-]?\\d+/gi,\n e = /[cLlsS]/g,\n f = 'CustomEase only accepts Cubic Bezier data.',\n g = function (a, b, c, d, e, f, h, i, j, k, l)\n{\n let m,\n n = (a + c) / 2,\n o = (b + d) / 2,\n p = (c + e) / 2,\n q = (d + f) / 2,\n r = (e + h) / 2,\n s = (f + i) / 2,\n t = (n + p) / 2,\n u = (o + q) / 2,\n v = (p + r) / 2,\n w = (q + s) / 2,\n x = (t + v) / 2,\n y = (u + w) / 2,\n z = h - a,\n A = i - b,\n B = Math.abs((c - h) * A - (d - i) * z),\n C = Math.abs((e - h) * A - (f - i) * z);\n\n return k || (k = [{ x: a, y: b }, { x: h, y: i }], l = 1), k.splice(l || k.length - 1, 0, { x, y }), (B + C) * (B + C) > j * (z * z + A * A) && (m = k.length, g(a, b, n, o, t, u, x, y, j, k, l), g(x, y, v, w, r, s, h, i, j, k, l + 1 + (k.length - m))), k;\n },\n h = function (a)\n{\n let b,\n e,\n g,\n h,\n i,\n j,\n k,\n l,\n m,\n n,\n o,\n p = (`${a}`).replace(d, function (a)\n{\n const b = Number(a);\n\n return b < 1e-4 && b > -1e-4 ? 0 : b;\n }).match(c) || [],\n q = [],\n r = 0,\n s = 0,\n t = p.length,\n u = 2;\n\n for (b = 0; t > b; b++)\n{\n if (m = h, isNaN(p[b]) ? (h = p[b].toUpperCase(), i = h !== p[b]) : b--, e = Number(p[b + 1]), g = Number(p[b + 2]), i && (e += r, g += s), b || (k = e, l = g), h === 'M') { j && j.length < 8 && (q.length -= 1, u = 0), r = k = e, s = l = g, j = [e, g], u = 2, q.push(j), b += 2, h = 'L'; }\n else if (h === 'C') { j || (j = [0, 0]), j[u++] = e, j[u++] = g, i || (r = s = 0), j[u++] = r + Number(p[b + 3]), j[u++] = s + Number(p[b + 4]), j[u++] = r += Number(p[b + 5]), j[u++] = s += Number(p[b + 6]), b += 6; }\n else if (h === 'S') { m === 'C' || m === 'S' ? (n = r - j[u - 4], o = s - j[u - 3], j[u++] = r + n, j[u++] = s + o) : (j[u++] = r, j[u++] = s), j[u++] = e, j[u++] = g, i || (r = s = 0), j[u++] = r += Number(p[b + 3]), j[u++] = s += Number(p[b + 4]), b += 4; }\n else { if (h !== 'L' && h !== 'Z') { throw f; } h === 'Z' && (e = k, g = l, j.closed = !0), (h === 'L' || Math.abs(r - e) > 0.5 || Math.abs(s - g) > 0.5) && (j[u++] = r + (e - r) / 3, j[u++] = s + (g - s) / 3, j[u++] = r + 2 * (e - r) / 3, j[u++] = s + 2 * (g - s) / 3, j[u++] = e, j[u++] = g, h === 'L' && (b += 2)), r = e, s = g; }\n }\n\n return q[0];\n },\n i = function (a)\n{\n let b,\n c = a.length,\n d = 999999999999;\n\n for (b = 1; c > b; b += 6) { Number(a[b]) < d && (d = Number(a[b])); }\n\n return d;\n },\n j = function (a, b, c)\n{\n c || c === 0 || (c = Math.max(Number(a[a.length - 1]), Number(a[1]))); let d,\n e = -1 * Number(a[0]),\n f = -c,\n g = a.length,\n h = 1 / (Number(a[g - 2]) + e),\n j = -b || (Math.abs(Number(a[g - 1]) - Number(a[1])) < 0.01 * (Number(a[g - 2]) - Number(a[0])) ? i(a) + f : Number(a[g - 1]) + f);\n\n for (j = j ? 1 / j : -h, d = 0; g > d; d += 2) { a[d] = (Number(a[d]) + e) * h, a[d + 1] = (Number(a[d + 1]) + f) * j; }\n },\n k = function (a)\n{\n let b = this.lookup[a * this.l | 0] || this.lookup[this.l - 1];\n\n return b.nx < a && (b = b.n), b.y + (a - b.x) / b.cx * b.cy;\n },\n l = function (b, c, d) { this._calcEnd = !0, this.id = b, b && (a.map[b] = this), this.getRatio = k, this.setData(c, d); },\n m = l.prototype = new a();\n\n return m.constructor = l, m.setData = function (a, c)\n{\n a = a || '0,0,1,1'; let d,\n i,\n k,\n l,\n m,\n n,\n o,\n p,\n q,\n r,\n s = a.match(b),\n t = 1,\n u = [];\n\n if (c = c || {}, r = c.precision || 1, this.data = a, this.lookup = [], this.points = u, this.fast = r <= 1, (e.test(a) || a.indexOf('M') !== -1 && a.indexOf('C') === -1) && (s = h(a)), d = s.length, d === 4) { s.unshift(0, 0), s.push(1, 1), d = 8; }\n else if ((d - 2) % 6) { throw f; } for ((Number(s[0]) !== 0 || Number(s[d - 2]) !== 1) && j(s, c.height, c.originY), this.rawBezier = s, l = 2; d > l; l += 6) { i = { x: Number(s[l - 2]), y: Number(s[l - 1]) }, k = { x: Number(s[l + 4]), y: Number(s[l + 5]) }, u.push(i, k), g(i.x, i.y, Number(s[l]), Number(s[l + 1]), Number(s[l + 2]), Number(s[l + 3]), k.x, k.y, 1 / (2e5 * r), u, u.length - 1); } for (d = u.length, l = 0; d > l; l++) { o = u[l], p = u[l - 1] || o, o.x > p.x || p.y !== o.y && p.x === o.x || o === p ? (p.cx = o.x - p.x, p.cy = o.y - p.y, p.n = o, p.nx = o.x, this.fast && l > 1 && Math.abs(p.cy / p.cx - u[l - 2].cy / u[l - 2].cx) > 2 && (this.fast = !1), p.cx < t && (p.cx ? t = p.cx : (p.cx = 0.001, l === d - 1 && (p.x -= 0.001, t = Math.min(t, 0.001), this.fast = !1)))) : (u.splice(l--, 1), d--); } if (d = 1 / t + 1 | 0, this.l = d, m = 1 / d, n = 0, o = u[0], this.fast) { for (l = 0; d > l; l++) { q = l * m, o.nx < q && (o = u[++n]), i = o.y + (q - o.x) / o.cx * o.cy, this.lookup[l] = { x: q, cx: m, y: i, cy: 0, nx: 9 }, l && (this.lookup[l - 1].cy = i - this.lookup[l - 1].y); } this.lookup[d - 1].cy = u[u.length - 1].y - i; }\n else { for (l = 0; d > l; l++) { o.nx < l * m && (o = u[++n]), this.lookup[l] = o; }n < u.length - 1 && (this.lookup[l - 1] = u[u.length - 2]); }\n\n return this._calcEnd = u[u.length - 1].y !== 1 || u[0].y !== 0, this;\n }, m.getRatio = k, m.getSVGData = function (a) { return l.getSVGData(this, a); }, l.create = function (a, b, c) { return new l(a, b, c); }, l.version = '0.2.1', l.bezierToPoints = g, l.get = function (b) { return a.map[b]; }, l.getSVGData = function (b, c)\n{\n c = c || {}; let d,\n e,\n f,\n g,\n h,\n i,\n j,\n k,\n l,\n m,\n n = 1e3,\n o = c.width || 100,\n p = c.height || 100,\n q = c.x || 0,\n r = (c.y || 0) + p,\n s = c.path;\n\n if (c.invert && (p = -p, r = 0), b = b.getRatio ? b : a.map[b] || console.log('No ease found: ', b), b.rawBezier) { for (d = [], j = b.rawBezier.length, f = 0; j > f; f += 2) { d.push(`${((q + b.rawBezier[f] * o) * n | 0) / n},${((r + b.rawBezier[f + 1] * -p) * n | 0) / n}`); }d[0] = `M${d[0]}`, d[1] = `C${d[1]}`; }\n else { for (d = [`M${q},${r}`], j = Math.max(5, 200 * (c.precision || 1)), g = 1 / j, j += 2, k = 5 / j, l = ((q + g * o) * n | 0) / n, m = ((r + b.getRatio(g) * -p) * n | 0) / n, e = (m - r) / (l - q), f = 2; j > f; f++) { h = ((q + f * g * o) * n | 0) / n, i = ((r + b.getRatio(f * g) * -p) * n | 0) / n, (Math.abs((i - m) / (h - l) - e) > k || f === j - 1) && (d.push(`${l},${m}`), e = (i - m) / (h - l)), l = h, m = i; } }\n\n return s && (typeof s === 'string' ? document.querySelector(s) : s).setAttribute('d', d.join(' ')), d.join(' ');\n }, l;\n }, !0);\n}), _gsScope._gsDefine && _gsScope._gsQueue.pop()(), (function (a)\n{\n const b = function () { return (_gsScope.GreenSockGlobals || _gsScope)[a]; };\n\n typeof define === 'function' && define.amd ? define(['tween'], b) : typeof module !== 'undefined' && module.exports && (require('tween'), module.exports = b());\n})('CustomEase');\n\n\n\n// WEBPACK FOOTER //\n// ./babel/vendor/custom-ease.js","var pug = require(\"!../../node_modules/pug-runtime/index.js\");\n\nfunction template(locals) {var pug_html = \"\", pug_mixins = {}, pug_interp;;var locals_for_with = (locals || {});(function (JSON, buttons, msg, title) {pug_html = pug_html + \"\\u003Cstrong\\u003E\" + (pug.escape(null == (pug_interp = title) ? \"\" : pug_interp)) + \"\\u003C\\u002Fstrong\\u003E\\u003Cbr\\u003E\\u003Cp\\u003E\" + (pug.escape(null == (pug_interp = msg) ? \"\" : pug_interp)) + \"\\u003C\\u002Fp\\u003E\";\n// iterate buttons\n;(function(){\n var $$obj = buttons;\n if ('number' == typeof $$obj.length) {\n for (var pug_index0 = 0, $$l = $$obj.length; pug_index0 < $$l; pug_index0++) {\n var button = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cbutton\" + (\" class=\\\"note-button\\\"\"+pug.attr(\"onclick\", `window.SUGA.Event.trigger('${button.action}', '${JSON.stringify(button)}')`, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = button.textKey) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\";\n }\n } else {\n var $$l = 0;\n for (var pug_index0 in $$obj) {\n $$l++;\n var button = $$obj[pug_index0];\npug_html = pug_html + \"\\u003Cbutton\" + (\" class=\\\"note-button\\\"\"+pug.attr(\"onclick\", `window.SUGA.Event.trigger('${button.action}', '${JSON.stringify(button)}')`, true, true)) + \"\\u003E\" + (pug.escape(null == (pug_interp = button.textKey) ? \"\" : pug_interp)) + \"\\u003C\\u002Fbutton\\u003E\";\n }\n }\n}).call(this);\n}.call(this,\"JSON\" in locals_for_with?locals_for_with.JSON:typeof JSON!==\"undefined\"?JSON:undefined,\"buttons\" in locals_for_with?locals_for_with.buttons:typeof buttons!==\"undefined\"?buttons:undefined,\"msg\" in locals_for_with?locals_for_with.msg:typeof msg!==\"undefined\"?msg:undefined,\"title\" in locals_for_with?locals_for_with.title:typeof title!==\"undefined\"?title:undefined));;return pug_html;};\nmodule.exports = template;\n\n\n// WEBPACK FOOTER //\n// ./pug/toast.pug","import * as SUGA from 'suga';\nimport { Button } from 'vue';\nimport Dust from './dust-view';\nimport Vases from './vases-view';\nimport Candles from './candles-view';\nimport TryCounter from './try-counter-view';\nimport MoneyBag from './money-bag-view';\nimport Inventory from './inventory-view';\nimport TicketId from './ticket-id-view';\nimport Explanation from './explanation-view';\nimport BetBtn from './bet-btn';\nimport PlayBtn from './play-btn';\n\n/**\n * Game visualization of the data that model contains.\n */\nexport default class GameView extends PIXI.Container\n{\n /**\n * Constructs the object.\n *\n * @param {Object} size The size\n * @param {Object} options The options\n * @param {ThemeImageModel} themeImageModel The theme image model\n */\n constructor(size, options, themeImageModel)\n {\n super();\n\n this.name = 'GameView';\n\n this.winAmount = 0;\n this.gameProgress = {};\n this.lightsOfAlpha = 0.5;\n this.moneyBagMultiplier = options.moneyBagMultiplier;\n this.sizeWidth = size.width;\n this.playerHasInteracted = false;\n\n this.stake = options.stake;\n this.stakes = options.stakes;\n this.multipliers = options.multipliers;\n\n this.placeBet = options.placeBet;\n this.endBet = options.endBet;\n this.resultShown = options.resultShown;\n this.showMatchHandler = options.showMatch;\n this.stakeChangeHandler = options.stakeChange;\n\n this.gemImages = [\n themeImageModel.gem1,\n themeImageModel.gem2,\n themeImageModel.gem3,\n themeImageModel.gem4,\n themeImageModel.gem5,\n themeImageModel.gem6,\n ];\n\n const moneyBagAmount = this.stake * this.moneyBagMultiplier\n\n this.moneyBagGlowImage = themeImageModel.moneyBagWin;\n\n this.addVases(themeImageModel.bgMask);\n this.addTryCounter(themeImageModel.tryCounter, size);\n this.addMoneyBag(moneyBagAmount,size);\n this.addCandles(themeImageModel.glow, size);\n this.addInventory(themeImageModel, size);\n this.addDarkness(size);\n this.addPlayBtn(themeImageModel, size);\n this.addBetBtn(this.stake, this.stakes, themeImageModel, size);\n this.addTicketId();\n this.addExplanation(size);\n }\n\n /**\n * Adds vases.\n */\n addVases(maskImg)\n {\n const vaseImages = [\n {\n frames: SUGA.Loader.makeTexturesFromName('vase-1-0'),\n broken: SUGA.Loader.makeTexturesFromName('vase-1-broken'),\n outline: SUGA.Loader.makeTexturesFromName('vase-1-outline'),\n },\n {\n frames: SUGA.Loader.makeTexturesFromName('vase-2-0'),\n broken: SUGA.Loader.makeTexturesFromName('vase-2-broken'),\n outline: SUGA.Loader.makeTexturesFromName('vase-2-outline'),\n },\n {\n frames: SUGA.Loader.makeTexturesFromName('vase-3-0'),\n broken: SUGA.Loader.makeTexturesFromName('vase-3-broken'),\n outline: SUGA.Loader.makeTexturesFromName('vase-3-outline'),\n },\n {\n frames: SUGA.Loader.makeTexturesFromName('vase-4-0'),\n broken: SUGA.Loader.makeTexturesFromName('vase-4-broken'),\n outline: SUGA.Loader.makeTexturesFromName('vase-4-outline'),\n },\n {\n frames: SUGA.Loader.makeTexturesFromName('vase-5-0'),\n broken: SUGA.Loader.makeTexturesFromName('vase-5-broken'),\n outline: SUGA.Loader.makeTexturesFromName('vase-5-outline'),\n },\n {\n frames: SUGA.Loader.makeTexturesFromName('vase-6-0'),\n broken: SUGA.Loader.makeTexturesFromName('vase-6-broken'),\n outline: SUGA.Loader.makeTexturesFromName('vase-6-outline'),\n },\n ];\n\n // build the animation data\n this.vases = new Vases(vaseImages, maskImg, (vase) => this.manualPick(vase));\n this.addChild(this.vases);\n }\n\n /**\n * Adds a try counter.\n *\n * @param {string} image The image url\n * @param {object} size The canvas/game size data\n */\n addTryCounter(image, size)\n {\n this.tryCounter = new TryCounter();\n this.tryCounter.texture = new PIXI.Texture.fromImage(image);\n this.addChild(this.tryCounter);\n this.tryCounter.y = 6;\n this.tryCounter.x = size.width - this.tryCounter.width - 8;\n }\n\n /**\n * Adds a money bag.\n *\n * @param {string} normalImg The normal image url\n * @param {string} winImg The window image url\n * @param {object} size The canvas/game size data\n */\n addMoneyBag(amount, size)\n {\n const grey = SUGA.Loader.makeTexturesFromName('money-state');\n const glow = SUGA.Loader.makeTexturesFromName('money-glow');\n const array = grey.concat(glow);\n\n this.moneyBag = new MoneyBag(array);\n this.moneyBag.setupWithAmount(amount);\n this.addChild(this.moneyBag);\n this.moneyBag.position.set(size.width - 63, 180);\n }\n\n /**\n * Adds candles.\n *\n * @param {string} image The image url\n */\n addCandles(image, size)\n {\n this.candles = new Candles(SUGA.Loader.makeTexturesFromName('flame'), image, size);\n this.addChild(this.candles);\n // this.candles.x = 145\n // this.candles.y = 65\n }\n\n /**\n * Adds an inventory.\n *\n * @param {object} themeImageModel The theme image model\n * @param {object} size The canvas/game size data\n */\n addInventory(themeImageModel, size)\n {\n const gemsImages = [\n SUGA.Loader.makeTexturesFromName('gem-1'),\n SUGA.Loader.makeTexturesFromName('gem-2'),\n SUGA.Loader.makeTexturesFromName('gem-3'),\n SUGA.Loader.makeTexturesFromName('gem-4'),\n SUGA.Loader.makeTexturesFromName('gem-5'),\n SUGA.Loader.makeTexturesFromName('gem-6'),\n ];\n\n const multiImages = [\n [\n new PIXI.Texture.fromImage(themeImageModel.multi1Normal),\n new PIXI.Texture.fromImage(themeImageModel.multi1Win),\n ],\n [\n new PIXI.Texture.fromImage(themeImageModel.multi2Normal),\n new PIXI.Texture.fromImage(themeImageModel.multi2Win),\n ],\n [\n new PIXI.Texture.fromImage(themeImageModel.multi3Normal),\n new PIXI.Texture.fromImage(themeImageModel.multi3Win),\n ],\n [\n new PIXI.Texture.fromImage(themeImageModel.multi4Normal),\n new PIXI.Texture.fromImage(themeImageModel.multi4Win),\n ],\n [\n new PIXI.Texture.fromImage(themeImageModel.multi5Normal),\n new PIXI.Texture.fromImage(themeImageModel.multi5Win),\n ],\n [\n new PIXI.Texture.fromImage(themeImageModel.multi6Normal),\n new PIXI.Texture.fromImage(themeImageModel.multi6Win),\n ],\n ];\n\n this.inventory = new Inventory(themeImageModel.inventory, gemsImages, multiImages);\n this.addChild(this.inventory);\n this.inventory.y = size.height - this.inventory.height - 45;\n }\n\n addDarkness(size)\n {\n this.darkness = new PIXI.Graphics();\n this.darkness.beginFill(0x000000);\n this.darkness.drawRect(0, 0, size.width, size.height);\n this.darkness.endFill();\n this.darkness.alpha = this.lightsOfAlpha;\n this.addChild(this.darkness);\n }\n\n hideDarkness(cb)\n {\n const to = {\n alpha: 0,\n onComplete: () =>\n {\n this.darkness.visible = false;\n if (cb) { cb(); }\n },\n };\n\n window.TweenMax.to(this.darkness, 1, to);\n }\n\n /**\n * Adds an autopick button.\n *\n * @param {object} themeImageModel The theme image model\n * @param {object} size The canvas/game size data\n */\n addPlayBtn(themeImageModel, size)\n {\n const playOptions\n = {\n normalUrl: themeImageModel.btnNormalImage,\n hoverUrl: themeImageModel.btnHoverImage,\n iconUrl: themeImageModel.iconPlay,\n autopickUrl: themeImageModel.iconAutopick,\n blink: 0.3,\n };\n\n this.playBtn = new PlayBtn(playOptions);\n this.playBtn.x = size.width;\n this.playBtn.y = size.height - 110;\n\n this.addChild(this.playBtn);\n\n this.playBtn.playButtonHandler = () => {\n this.playButtonHandler();\n }\n this.playBtn.autopickButtonHandler = () => this.autopickButtonHandler();\n }\n\n /**\n * Adds a bet button.\n *\n * @param {number} stake The stake\n * @param {} stakes The stakes\n * @param {object} themeImageModel The theme image model\n * @param {object} size The canvas/game size data\n */\n addBetBtn(stake, stakes, themeImageModel, size)\n {\n const betOptions =\n {\n stake,\n stakes,\n normalUrl: themeImageModel.btnNormalImage,\n hoverUrl: themeImageModel.btnHoverImage,\n remainActive: true,\n blink: 0.3,\n };\n\n this.betBtn = new BetBtn(betOptions);\n this.betBtn.x = -this.betBtn.width;\n this.betBtn.y = size.height - 110;\n\n this.addChild(this.betBtn);\n\n this.betBtn.buttonHandler = (newStake) =>\n {\n SUGA.Sound.play('click');\n this.setStake(newStake)\n this.stakeChangeHandler(this.stake);\n };\n }\n\n /**\n * Sets the stake.\n *\n * @param {number} newStake The new stake\n */\n setStake(newStake)\n {\n this.stake = newStake;\n this.moneyBag.setAmount(this.stake * this.moneyBagMultiplier);\n }\n\n /**\n * Handles play button click\n */\n playButtonHandler()\n {\n SUGA.Sound.play('click');\n\n this.placeBet();\n this.playBtn.disable();\n }\n\n /**\n * Handles autopick button click\n */\n autopickButtonHandler()\n {\n SUGA.Sound.play('click');\n this.autoPick();\n this.playBtn.disable();\n this.hidePlayBtn();\n this.vases.disableAll();\n }\n\n /**\n * Perform autopicking\n */\n autoPick()\n {\n const pickOne = (vase, time) =>\n {\n PIXI.setTimeout(time, () => this.vasePicked(vase));\n };\n\n for (var i = 0; i < this.ticket.length; i++)\n {\n const vase = this.vases.getRandomEnabledVase();\n vase.select();\n const time = i * 0.7\n pickOne(vase,time)\n }\n }\n\n /**\n * perform manual picking\n *\n * @param {VaseView} vase The vase\n */\n manualPick(vase)\n {\n vase.select()\n this.vasePicked(vase)\n }\n\n /**\n * User picked a vase\n *\n * @param {} vase The vase sprite\n */\n vasePicked(vase)\n {\n\n this.playerHasInteracted = true\n\n let isLast = false\n\n const id = this.ticket.shift();\n\n if (this.ticket.length <= 0)\n {\n isLast = true\n this.vases.disableAll();\n this.playBtn.disable();\n }\n\n vase.break();\n\n this.explanantion.hide();\n\n this.betBtn.disable();\n\n this.tryCounter.decrement()\n\n this.addDust(this.tryCounter.x + 25, this.tryCounter.y + 50);\n\n const randSoundId = Math.ceil(Math.random() * 3);\n\n SUGA.Sound.play(`chink-${randSoundId}`);\n\n const x = vase.x + (vase.width / 2);\n const y = vase.y + (vase.height / 2);\n\n if (id >= this.gemImages.length)\n {\n this.showMoneyBag(x, y, isLast, () => {\n this.addToProgress(id);\n });\n }\n\n else\n {\n this.showGem(x, y, id, isLast, () => {\n this.addToProgress(id);\n });\n }\n }\n\n /**\n * Adds to progress.\n *\n * @param {number} id The identifier\n */\n addToProgress(id)\n {\n if (this.gameProgress[id] !== undefined)\n {\n this.gameProgress[id]++;\n }\n else\n {\n this.gameProgress[id] = 1;\n }\n\n let progressAmount = 0;\n\n if (id === 6)\n {\n progressAmount = this.stake * this.moneyBagMultiplier;\n }\n else if (this.gameProgress[id] >= 3)\n {\n progressAmount = this.multipliers[id] * this.stake;\n }\n\n this.winAmount += progressAmount;\n\n this.showMatchHandler(progressAmount);\n }\n\n /**\n * Shows the money bag.\n *\n * @param {} x { parameter_description }\n * @param {} y { parameter_description }\n */\n showMoneyBag(x, y, isLast, cb)\n {\n const moneyBag = new PIXI.Sprite.fromImage(this.moneyBagGlowImage);\n\n moneyBag.anchor.set(0.5);\n moneyBag.scale.set(0.35);\n moneyBag.x = x;\n moneyBag.y = y;\n\n this.addChild(moneyBag);\n this.addDust(x, y);\n\n SUGA.Sound.play('moneybag');\n\n const destX = this.moneyBag.x + (this.moneyBag.width / 2);\n const destY = this.moneyBag.y + (this.moneyBag.height / 2);\n\n const onComplete = () =>\n {\n this.placeMoneyBagInUI(moneyBag);\n\n if (cb)\n {\n cb()\n }\n\n if (isLast)\n {\n this.completed();\n }\n };\n\n const delay = 0.5;\n\n const to = {\n delay,\n x: destX,\n onComplete,\n };\n\n const toBounce = {\n delay,\n ease: CustomEase.create('custom', 'M0,0,C0.298,-0.176,0.686,0.946,1,1'),\n y: destY,\n };\n\n const toScale = {\n delay,\n x: 1,\n y: 1,\n };\n\n window.TweenMax.to(moneyBag, 1, to);\n window.TweenMax.to(moneyBag, 1, toBounce);\n window.TweenMax.to(moneyBag.scale, 0.3, toScale);\n }\n\n /**\n * Shows the gem.\n *\n * @param {} x { parameter_description }\n * @param {} y { parameter_description }\n * @param {} gemId The gem identifier\n */\n showGem(x, y, gemId, isLast, cb)\n {\n const gemUrl = this.gemImages[gemId];\n const gem = new PIXI.Sprite.fromImage(gemUrl);\n\n gem.anchor.set(0.5);\n gem.scale.set(0.35);\n gem.gemIndex = gemId;\n gem.x = x;\n gem.y = y;\n\n this.addChild(gem);\n this.addDust(x, y);\n\n SUGA.Sound.play('gem');\n\n const destinationStr = this.inventory.pocketPositions[gemId];\n const destination = destinationStr.split('|');\n const destX = window.parseInt(destination[0]) + 13 + this.inventory.x;\n const destY = window.parseInt(destination[1]) + 13 + this.inventory.y;\n\n const onComplete = () =>\n {\n this.placeGemInPocket(gem);\n\n if (cb)\n {\n cb()\n }\n\n if (isLast)\n {\n this.completed();\n }\n };\n\n const delay = 0.5;\n\n const to = {\n delay,\n x: destX,\n onComplete,\n };\n\n const toBounce = {\n delay,\n ease: CustomEase.create('custom', 'M0,0,C0.298,-0.176,0.686,0.946,1,1'),\n y: destY,\n };\n\n const toScale = {\n delay,\n x: 1,\n y: 1,\n };\n\n window.TweenMax.to(gem, 1, to);\n window.TweenMax.to(gem, 1, toBounce);\n window.TweenMax.to(gem.scale, 0.3, toScale);\n }\n\n placeMoneyBagInUI(moneyBag)\n {\n this.moneyBag.win();\n\n this.addDust(moneyBag.x, moneyBag.y);\n\n moneyBag.removeSelf();\n moneyBag = null;\n }\n\n /**\n * Place a Gem In a Pocket\n *\n * @param {} gem The gem\n */\n placeGemInPocket(gem)\n {\n const isMatch = this.inventory.addGem(gem.gemIndex);\n\n if (isMatch)\n {\n SUGA.Sound.play('match');\n }\n\n this.addDust(gem.x, gem.y);\n\n gem.removeSelf();\n gem = null;\n }\n\n /**\n * Adds a dust.\n *\n * @param {} x { parameter_description }\n * @param {} y { parameter_description }\n */\n addDust(x, y)\n {\n let dust = new Dust(x, y);\n\n dust.onDestroy = () => { dust = null; };\n this.addChild(dust);\n }\n\n /**\n * Adds a ticket identifier.\n */\n addTicketId()\n {\n this.ticketId = new TicketId('');\n this.ticketId.position.set(8, 5);\n this.addChild(this.ticketId);\n }\n\n addExplanation(size)\n {\n this.explanantion = new Explanation(__t.str('explanantion'), 70);\n this.addChild(this.explanantion);\n this.explanantion.centerX(size.width);\n }\n\n /**\n * Used to reset the game for example after replays\n */\n reset()\n {\n this.winAmount = 0;\n\n // used on autopick\n this.vases.reset();\n\n this.tryCounter.reset();\n this.inventory.reset();\n this.moneyBag.reset();\n\n this.candles.turnOff();\n\n this.betBtn.enable();\n this.betBtn.interactive = false\n this.betBtn.visible = true;\n\n this.playBtn.enable();\n this.playBtn.interactive = false\n this.playBtn.visible = true;\n this.playBtn.changeToPlayState();\n\n this.darkness.alpha = this.lightsOfAlpha;\n this.darkness.visible = true;\n\n this.gameProgress = {};\n\n this.playerHasInteracted = false;\n\n // /** HACK **/\n // this.executeBet()\n }\n\n /**\n * Staring playing after user click play or on replay\n *\n * @param {BetModel} betModel The bet model\n */\n executeBet(betModel)\n {\n this.ticket = betModel.ticket.matrixIndexes;\n this.ticketId.update(betModel.getTicketId());\n\n // update to make sure the stake matches what the bet sent\n this.setStake(betModel.getStake())\n\n // can no longer change bets or place new bets\n this.betBtn.disable();\n this.playBtn.disable()\n\n // turn on the lights\n this.candles.turnOn();\n this.hideDarkness(() => {});\n\n // play new round sound\n SUGA.Sound.play('new-round');\n\n // stop blink the buttons\n this.betBtn.stopBlinking();\n this.playBtn.stopBlinking();\n\n // if replay, hide the buttons and autopick\n if(betModel.isReplay)\n {\n this.playBtn.visible = false;\n this.betBtn.visible = false;\n this.autoPick()\n return\n }\n\n // enable the vases\n this.vases.enableAll();\n\n // buttons\n this.hidePlayAndBetBtns(() =>\n {\n this.playBtn.changeToAutopickState();\n\n // this is a hack to look active but not be\n this.playBtn.enable()\n this.playBtn.interactive = false\n\n\n this.showPlayBtn(() => this.playBtn.enable());\n });\n\n if(!this.playerHasInteracted)\n {\n this.explanantion.showInSeconds(5);\n }\n\n }\n\n /**\n * Called after games ends\n *\n * @param {Boolean} isWin Indicates if window\n * @param {Number} amount The win amount\n */\n completed(betModel)\n {\n const obj = {\n winAmount: this.winAmount,\n result: this.gameProgress,\n multipliers: this.multipliers,\n stake: this.stake,\n };\n\n this.hidePlayBtn();\n\n this.resultShown();\n\n PIXI.setTimeout(1, () =>\n {\n this.endBet(obj)\n });\n }\n\n /**\n * On space bar hit\n */\n spacebarHit()\n {\n if (!this.playBtn.interactive) return\n this.playBtn.tapped();\n }\n\n /**\n * Shows the play and bet btns.\n */\n showPlayAndBetBtns()\n {\n if (this.animating) { return; }\n this.animating = true;\n\n const callback = () =>\n {\n this.betBtn.interactive = true;\n this.betBtn.startBlinking();\n this.animating = false;\n };\n\n this.showPlayBtn(callback);\n window.TweenMax.to(this.betBtn, 0.8, { delay: 0.4, x: 8 });\n }\n\n /**\n * Shows the play button.\n *\n * @param {Function} callback The callback\n */\n showPlayBtn(callback)\n {\n const onComplete = () =>\n {\n this.playBtn.interactive = true;\n this.playBtn.startBlinking();\n callback()\n }\n\n this.playBtn.interactive = false\n window.TweenMax.to(this.playBtn, 0.8, { delay: 0.4, x: this.sizeWidth - 70, onComplete });\n }\n\n /**\n * Hides the play and bet btns.\n *\n * @param {Function} onComplete On complete\n */\n hidePlayAndBetBtns(onComplete)\n {\n if (this.animating) { return; }\n this.animating = true;\n\n this.playBtn.startBlinking();\n this.betBtn.startBlinking();\n\n const callback = () =>\n {\n this.animating = false;\n if (onComplete) { onComplete(); }\n };\n\n this.hidePlayBtn(callback);\n window.TweenMax.to(this.betBtn, 0.2, { delay: 0, x: -this.betBtn.width });\n }\n\n /**\n * Hides the play button.\n *\n * @param {Function} onComplete On complete\n */\n hidePlayBtn(onComplete)\n {\n window.TweenMax.to(this.playBtn, 0.2, { delay: 0, x: this.sizeWidth, onComplete });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/game-view.js","/**\n * Game visualization of the data that model contains.\n */\nexport default class DustView extends PIXI.extras.AnimatedSprite\n{\n constructor(x, y)\n {\n const textures = SUGA.Loader.makeTexturesFromName('dust');\n\n super(textures);\n\n this.loop = false;\n this.animationSpeed = 0.2;\n this.x = x;\n this.y = y;\n this.anchor.x = 0.5;\n this.anchor.y = 0.5;\n\n this.onComplete = () =>\n {\n this.removeSelf();\n if (this.onDestroy) { this.onDestroy(); }\n };\n\n this.play();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/dust-view.js","import { locations } from './locations';\nimport Vase from './vase-view';\n\n/**\n * Game visualization of the data that model contains.\n */\nexport default class VasesView extends PIXI.Sprite\n{\n constructor(vasesImages, maskImg, buttonHandler)\n {\n super();\n\n this.vases = [];\n this.vasesImages = vasesImages;\n this.noOfVaseTypes = vasesImages.length;\n\n locations.forEach((location) =>\n {\n const split = location.split('|');\n const x = window.parseInt(split[0]);\n const y = window.parseInt(split[1]);\n\n this.getRandomVaseImages();\n\n const vase = new Vase(this.getRandomVaseImages());\n\n vase.x = x;\n vase.y = y;\n\n vase.buttonHandler = buttonHandler;\n vase.loop = false;\n\n this.vases.push(vase);\n this.addChild(vase);\n });\n\n const mask = new PIXI.Sprite.fromImage(maskImg);\n\n this.addChild(mask);\n\n // this.playShines();\n }\n\n enableAll()\n {\n this.vases.forEach((vase) =>\n {\n vase.enable();\n });\n }\n\n disableAll()\n {\n this.vases.forEach((vase) =>\n {\n vase.disable();\n });\n }\n\n reset()\n {\n this.vases.forEach((vase) =>\n {\n vase.textures = [];\n vase.setNewTextures(this.getRandomVaseImages());\n vase.updateTexture();\n vase.reset();\n });\n this.disableAll();\n }\n\n getRandomVaseImages()\n {\n const rand = Math.floor(Math.random() * this.noOfVaseTypes);\n\n return this.vasesImages[rand].broken.concat(this.vasesImages[rand].frames);\n }\n\n playShines()\n {\n this.playShine();\n this.playShine();\n this.playShine();\n }\n\n playShine()\n {\n PIXI.setTimeout(Math.random() * 5, () => this.shineRandom());\n }\n\n shineRandom()\n {\n const vase = this.getRandomEnabledVase();\n\n if (vase && vase.shine)\n {\n vase.shine();\n }\n\n this.playShine();\n }\n\n getRandomEnabledVase()\n {\n let tmp = [];\n\n this.vases.forEach((vase) =>\n {\n if (!vase.isSelected)\n {\n tmp.push(vase);\n }\n });\n\n const rand = Math.floor(Math.random() * tmp.length);\n const vase = tmp[rand];\n\n tmp = null;\n\n return vase;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/vases-view.js","export const locations = [\n '6|28',\n '51|113',\n '66|10',\n // '70|210',\n '102|200',\n '126|113',\n '138|0',\n '150|207',\n '166|142',\n '229|92',\n '263|92',\n '211|151',\n '246|151',\n '281|151',\n // '312|210',\n '331|142',\n '354|205',\n '368|13',\n '373|113',\n '423|205',\n '432|27',\n];\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/locations.js","/**\n * Game visualization of the data that model contains.\n */\nexport default class VaseView extends PIXI.extras.AnimatedSprite\n{\n constructor(frames)\n {\n super(frames);\n this.gotoAndStop(1);\n this.animationSpeed = 0.15;\n this.isBroken = false;\n this.isSelected = false;\n }\n\n enable()\n {\n this.interactive = true;\n this.buttonMode = true;\n }\n\n disable()\n {\n this.interactive = false;\n this.buttonMode = false;\n }\n\n reset()\n {\n this.isBroken = false;\n this.isSelected = false;\n this.enable();\n this.gotoAndStop(1);\n }\n\n select()\n {\n this.isSelected = true;\n }\n\n break()\n {\n this.disable();\n this.gotoAndStop(0);\n this.tint = 0xFFFFFF;\n this.isBroken = true;\n }\n\n pointerdown()\n {\n this.buttonHandler(this);\n }\n\n pointerover()\n {\n this.tint = 0xFFCC66;\n }\n\n pointerout()\n {\n this.tint = 0xFFFFFF;\n }\n\n shine()\n {\n if (this.interactive)\n {\n this.gotoAndPlay(1);\n }\n }\n\n setNewTextures(textures)\n {\n this.textures = textures;\n this.enable();\n this.gotoAndStop(1);\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/vase-view.js","import Flame from './flame-view';\n\n/**\n * Game visualization of the data that model contains.\n */\nexport default class CandlesView extends PIXI.Container\n{\n constructor(flameImages, glowImage, size)\n {\n super();\n\n this.flames = [];\n\n this.glow = new PIXI.Sprite.fromImage(glowImage);\n this.glow.width = size.width;\n this.glow.height = size.height - 45;\n this.glow.alpha = 0;\n this.addChild(this.glow);\n\n const positions = [\n [89 + 4, 119 + 10, 0.65],\n [147 + 4, 72 + 10, 0.65],\n [159 + 4, 66 + 10, 0.65],\n [183 + 4, 69 + 10, 0.65],\n [196 + 4, 64 + 10, 0.65],\n [322 + 4, 61 + 10, 0.65], // 1\n [329 + 4, 69 + 7, 0.5], // 2\n [360 + 4, 59 + 10, 0.65], // 3\n [367 + 3, 65 + 8, 0.5], // 4\n [447 + 4, 117 + 10, 0.65], // 1\n [465 + 4, 115 + 10, 0.65], // 2\n [474 + 4, 121 + 8, 0.5], // 3\n [491 + 4, 117 + 10, 0.65], // 4\n ];\n\n positions.forEach((position) =>\n {\n const flame = new Flame(flameImages);\n\n flame.position.set(position[0], position[1]);\n flame.anchor.set(0.5, 1);\n flame.scale.set(0.1);\n flame.animationSpeed = 0.3;\n flame.onScale = { x: position[2], y: position[2] };\n\n this.addChild(flame);\n this.flames.push(flame);\n });\n }\n\n turnOn()\n {\n this.flames.forEach((flame) =>\n {\n const start = (fl) =>\n {\n fl.onScale.ease = Back.easeOut.config(2.0);\n window.TweenMax.to(fl.scale, 0.1, fl.onScale);\n fl.play();\n };\n\n PIXI.setTimeout(Math.random() / 3, () => start(flame));\n });\n\n this.glow.alpha = 0.0;\n\n const to = {\n alpha: 0.6,\n repeat: -1,\n yoyo: true,\n ease: RoughEase.ease.config({ strength: 0.3, points: 12, randomize: true }),\n };\n\n this.glowTween = window.TweenMax.to(this.glow, 3, to);\n }\n\n turnOff()\n {\n this.flames.forEach((flame) =>\n {\n flame.stop();\n flame.scale.set(0);\n });\n\n if (this.glowTween)\n {\n this.glowTween.kill();\n }\n\n this.glow.alpha = 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/candles-view.js","/**\n * Game visualization of the data that model contains.\n */\nexport default class FlameView extends PIXI.extras.AnimatedSprite\n{\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/flame-view.js","/**\n * Game visualization of the data that model contains.\n */\nexport default class TryCounterView extends PIXI.Sprite\n{\n constructor()\n {\n super();\n\n this.lastPickColor = 0xe9073f;\n this.defaultColor = 0x000000;\n this.defaultValue = 8;\n this.value = this.defaultValue;\n this.labelX = 25;\n this.labelY = 50;\n\n const style = {\n fontWeight: 700,\n fontSize: 24,\n fontFamily: 'ProximaNova',\n padding: 10,\n fill: this.defaultColor,\n };\n\n this.label = new PIXI.Text(`${this.value}`, style);\n this.addChild(this.label);\n\n this.label.centerAt(this.labelX, this.labelY);\n }\n\n decrement()\n {\n if (this.value > 0)\n {\n this.set(this.value - 1);\n }\n\n return this.value;\n }\n\n reset()\n {\n this.set(this.defaultValue);\n }\n\n set(num)\n {\n this.value = num;\n this.label.text = `${this.value}`;\n this.label.centerAt({x: this.labelX, y: this.labelY});\n\n if (this.value <= 1)\n {\n this.label.style.fill = this.lastPickColor;\n }\n else\n {\n this.label.style.fill = this.defaultColor;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/try-counter-view.js","/**\n * Game visualization of the data that model contains.\n */\nexport default class MoneyBagView extends PIXI.extras.AnimatedSprite\n{\n setupWithAmount(amount)\n {\n this.loop = false;\n this.animationSpeed = 0.2;\n\n const style\n = {\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2,\n };\n\n this.text = new PIXI.Text('', style);\n this.text.y = 15;\n this.addChild(this.text);\n\n this.setAmount(amount);\n\n this.onComplete = () => this.win();\n }\n\n reset()\n {\n this.gotoAndStop(0);\n }\n\n win()\n {\n this.gotoAndPlay(1);\n }\n\n setAmount(amount)\n {\n this.amount = amount;\n this.text.text = __c.localize(amount, true, false);\n this.text.centerX();\n this.text.x += 2;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/money-bag-view.js","import Multiplier from './multiplier-view';\n\n/**\n * Game visualization of the data that model contains.\n */\nexport default class InventoryView extends PIXI.Container\n{\n constructor(bgImg, gems, multis)\n {\n super();\n\n this.gems = [];\n this.multis = [];\n\n const bg = new PIXI.Sprite.fromImage(bgImg);\n\n this.addChild(bg);\n\n this.pocketPositions = [\n '93|15',\n '155|12',\n '218|13',\n '282|13',\n '342|13',\n '403|15',\n ];\n\n this.multiPositions = [\n '84|5',\n '146|3',\n '209|2',\n '272|2',\n '335|3',\n '398|5',\n ];\n\n gems.forEach((frames, i) =>\n {\n const pos = this.pocketPositions[i].split('|');\n const gem = new PIXI.extras.AnimatedSprite(frames);\n\n gem.position.set(pos[0], pos[1]);\n this.addChild(gem);\n this.gems.push(gem);\n\n const multiPos = this.multiPositions[i].split('|');\n const multi = new Multiplier(multis[i]);\n\n multi.position.set(multiPos[0], multiPos[1]);\n multi.startPosition = {\n x: multiPos[0],\n y: multiPos[1],\n };\n this.addChild(multi);\n this.multis.push(multi);\n });\n }\n\n addGem(index)\n {\n const matches = this.gems[index].currentFrame + 1;\n\n this.gems[index].gotoAndStop(matches);\n\n if (matches === 3)\n {\n const multi = this.multis[index];\n\n const to = {\n yoyo: true,\n repeat: -1,\n y: multi.y - 3,\n };\n\n multi.gotoAndStop(1);\n\n multi.tween = window.TweenMax.to(multi, 1, to);\n\n return true;\n }\n\n return false;\n }\n\n reset()\n {\n this.gems.forEach((gem) =>\n {\n gem.gotoAndStop(0);\n });\n\n this.multis.forEach((multi) =>\n {\n if (multi.tween)\n {\n multi.tween.kill();\n multi.tween = null;\n }\n multi.gotoAndStop(0);\n multi.x = multi.startPosition.x;\n multi.y = multi.startPosition.y;\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/inventory-view.js","/**\n * Game visualization of the data that model contains.\n */\nexport default class MultiplierView extends PIXI.extras.AnimatedSprite\n{\n\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/multiplier-view.js","/**\n * Game visualization of the data that model contains.\n */\nexport default class TicketIdView extends PIXI.Container\n{\n constructor(text)\n {\n super();\n\n const style = {\n fill: 0xFFFFFF,\n fontFamily: 'courier',\n fontSize: 7,\n };\n\n this.ticketId = new PIXI.Text(text, style);\n this.addChild(this.ticketId);\n }\n\n update(ticketId)\n {\n if (!this.ticketId) { return; }\n\n if (ticketId === 0)\n {\n ticketId = 'DEMO';\n }\n else\n {\n ticketId = `#${ticketId}`;\n }\n\n this.ticketId.text = ticketId;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/ticket-id-view.js","/**\n * Game visualization of the data that model contains.\n */\nexport default class ExplanationView extends PIXI.Text\n{\n /**\n * Constructs the object.\n *\n * @param {string} text The text\n * @param {number} startingY The starting y\n */\n constructor(text, startingY)\n {\n const style\n = {\n align: 'center',\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2,\n };\n\n super(text, style);\n\n this.alpha = 0;\n this.y = startingY;\n this.startingY = startingY;\n }\n\n /**\n * Shows in seconds.\n *\n * @param {number} sec The seconds\n */\n showInSeconds(sec)\n {\n this.timer = PIXI.setTimeout(sec, () => this.show());\n }\n\n /**\n * Show and bounce the thing\n */\n show()\n {\n this.y = this.startingY;\n\n const pulsate = () =>\n {\n const pulsateTo\n = {\n repeat: -1,\n yoyo: true,\n y: this.startingY,\n ease: window.Sine.easeInOut,\n };\n\n this.pulsation = window.TweenMax.to(this, 1, pulsateTo);\n };\n\n const to\n = {\n alpha: 1,\n y: this.startingY - 3,\n onComplete: pulsate,\n };\n\n this.timer = null;\n window.TweenMax.to(this, 0.5, to);\n }\n\n /**\n * Hide the thing\n */\n hide()\n {\n if (this.pulsation)\n {\n this.pulsation.kill();\n this.pulsation = null;\n }\n\n if (this.timer)\n {\n this.timer.clear();\n this.timer = null;\n }\n\n if (this.alpha > 0)\n {\n window.TweenMax.to(this, 0.5, { alpha: 0 });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/explanation-view.js","import { Button } from 'vue';\n\n/**\n * Game visualization of the data that model contains.\n */\nexport default class BetBtn extends Button\n{\n constructor(options)\n {\n super(options);\n\n this.currentStake = options.stake;\n this.stakes = options.stakes;\n\n const styleLabel = {\n fontWeight: 100,\n fontSize: 8,\n fontFamily: 'ProximaNova',\n padding: 10,\n fill: 0xFFFFFF,\n lineJoin: 'round',\n textAlign: 'center',\n letterSpacing: 2,\n stroke: 0x293631,\n strokeThickness: 2,\n };\n\n const btnLabel = new PIXI.Text(__t.str('Bet'), styleLabel);\n\n btnLabel.sizeToFit(40)\n\n btnLabel.y = 5;\n this.addChild(btnLabel);\n btnLabel.centerAt({x:29, y:19});\n\n const styleValue = {\n fontWeight: 700,\n fontSize: 12,\n fontFamily: 'ProximaNova',\n padding: 10,\n lineJoin: 'round',\n fill: 0xFFFFFF,\n textAlign: 'center',\n stroke: 0x293631,\n strokeThickness: 2,\n };\n\n this.btnValue = new PIXI.Text(__c.localize(this.currentStake), styleValue);\n this.btnValue.y = 15;\n this.addChild(this.btnValue);\n this.btnValue.centerAt({x:29, y:30});\n }\n\n tapped()\n {\n let index = this.stakes.indexOf(this.currentStake);\n\n if (index >= this.stakes.length - 1)\n {\n index = 0;\n }\n else\n {\n index += 1;\n }\n\n this.currentStake = this.stakes[index];\n this.btnValue.text = __c.localize(this.currentStake);\n this.btnValue.centerAt({x:29, y:30});\n\n this.buttonHandler(this.currentStake);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/bet-btn.js","import { Button } from 'vue';\n\n/**\n * Game visualization of the data that model contains.\n */\nexport default class PlayBtn extends Button\n{\n constructor(options)\n {\n super(options);\n\n this.state = 0;\n this.playIcon = this.icon.texture;\n this.autoPickIcon = new PIXI.Texture.fromImage(options.autopickUrl);\n }\n\n tapped()\n {\n // if (!this.interactive)\n // {\n // return;\n // }\n\n if (this.state === 0)\n {\n this.playButtonHandler();\n }\n else\n {\n this.autopickButtonHandler();\n }\n }\n\n changeToPlayState()\n {\n this.state = 0;\n this.icon.texture = this.playIcon;\n }\n\n changeToAutopickState()\n {\n this.state = 1;\n this.icon.texture = this.autoPickIcon;\n }\n\n isPlayState()\n {\n return (this.state === 0);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/play-btn.js","/**\n * Help visualization of the data that model contains.\n */\nexport default class HelpView\n{\n /**\n * Constructs the object.\n *\n * @param {Object} size The canvas size data\n * @param {Object} options The options {helpUrl: , font:}\n */\n constructor(size, options)\n {\n this.name = 'HelpView';\n this.visible = false;\n this.isHTML = true;\n this.canClick = false;\n this.isShowing = false;\n\n this.backButtonHandler = options.onBackClick;\n\n this.addIframe(size, options.helpUrl);\n\n this._size = size;\n }\n\n\n /**\n * Adds an iframe.\n *\n * @param {Object} size The canvas size data\n * @param {String} helpUrl The help url\n */\n addIframe(size, helpUrl)\n {\n const vp = window.SUGA.Device.getViewport();\n const { w } = vp;\n const { h } = vp;\n\n this.iframe = document.createElement('iframe');\n this.iframe.src = helpUrl;\n this.iframe.style.width = `100%`;\n this.iframe.style.height = `100%`;\n\n this.container = document.getElementById('help-container');\n this.container.style.backgroundColor = '#000000'\n this.container.style.left = '0px';\n this.container.style.bottom = '0px'\n this.container.style.right = '0px';\n this.container.style.width = `100%`;\n this.container.style.height = `0%`;\n this.container.style.display = 'block';\n this.container.appendChild(this.iframe);\n\n // listen for the iframes button click\n const receiveMessage = (event) =>\n {\n\n if (event.data === 'close-help')\n {\n\n this.buttonClick()\n }\n };\n\n window.addEventListener('message', receiveMessage, false);\n }\n\n /**\n * On button click\n *\n * @param {UIEvent} e The event\n */\n buttonClick(e)\n {\n if (!this.canClick) { return; }\n\n this.backButtonHandler();\n if (e)\n {\n e.stopPropagation();\n }\n }\n\n /**\n * Called before showing view\n */\n show()\n {\n this.canClick = true;\n this.isShowing = true;\n // this.container.style.display = 'block';\n\n window.setTimeout(() =>\n {\n this.container.style.height = '100%';\n },1)\n\n }\n\n hide()\n {\n this.canClick = false;\n this.isShowing = false;\n // this.container.style.display = 'none';\n this.container.style.height = '0%';\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/help-view.js","/**\n * The curtains the move in and out\n */\nexport default class CurtainView extends PIXI.Container\n{\n /**\n * Constructs the object.\n *\n * @param {} images The images\n * @param {} size The size\n */\n constructor(images, size)\n {\n super();\n\n this.name = 'CurtainView';\n this.sizeWidth = size.width;\n\n this.darkness = new PIXI.Graphics();\n this.darkness.beginFill(0x000000, 0.7);\n this.darkness.drawRect(0, 0, size.width, size.height);\n this.darkness.endFill();\n this.addChild(this.darkness);\n\n this.leftCurtain = new PIXI.Sprite.fromImage(images.curtainSide);\n\n this.rightCurtain = new PIXI.Sprite.fromImage(images.curtainSide);\n this.rightCurtain.x = this.sizeWidth;\n this.rightCurtain.scale.x = -1;\n\n this.topCurtain = this.buildTopCurtain(images.curtainTop, size);\n\n this.backCurtain = new PIXI.Sprite.fromImage(images.curtainBack);\n this.backCurtain.y = 10;\n this.backCurtain.width = size.width;\n\n this.addChild(this.backCurtain);\n this.addChild(this.leftCurtain);\n this.addChild(this.rightCurtain);\n this.addChild(this.topCurtain);\n }\n\n buildTopCurtain(curtainTop, size)\n {\n const left = new PIXI.Sprite.fromImage(curtainTop);\n const right = new PIXI.Sprite.fromImage(curtainTop);\n\n right.x = size.width - right.width;\n right.scale.x = -1;\n right.anchor.x = 1;\n\n const top = new PIXI.Container();\n\n top.addChild(left);\n top.addChild(right);\n\n return top;\n }\n\n open(cb)\n {\n if (this.animating) { return; }\n this.animating = true;\n\n const onComplete = () =>\n {\n this.animating = false;\n if (cb) { cb(); }\n };\n\n const easing = Sine.easeIn;\n\n SUGA.Sound.play('curtain');\n\n window.TweenMax.to(this.darkness, 1.0, { delay: 0.0, alpha: 0, ease: easing });\n window.TweenMax.to(this.leftCurtain, 0.8, { delay: 0.2, x: -this.leftCurtain.width, ease: easing });\n window.TweenMax.to(this.rightCurtain, 0.8, { delay: 0.2, x: this.sizeWidth + this.rightCurtain.width, ease: easing });\n window.TweenMax.to(this.topCurtain, 1.0, { delay: 0.2, y: -this.topCurtain.height, ease: easing });\n window.TweenMax.to(this.backCurtain, 1.0, { y: -this.backCurtain.height, onComplete, ease: easing });\n }\n\n close(cb)\n {\n if (this.animating) { return; }\n this.animating = true;\n\n const onComplete = () =>\n {\n this.animating = false;\n if (cb) { cb(); }\n };\n\n const easing = Sine.easeOut;\n\n SUGA.Sound.play('curtain');\n\n window.TweenMax.to(this.darkness, 1.0, { delay: 0.0, alpha: 0.7, ease: easing });\n window.TweenMax.to(this.leftCurtain, 0.8, { x: 0, ease: easing });\n window.TweenMax.to(this.rightCurtain, 0.8, { x: this.sizeWidth, ease: easing });\n window.TweenMax.to(this.topCurtain, 1.0, { y: 0, ease: easing });\n window.TweenMax.to(this.backCurtain, 1.0, { delay: 0.2, y: 10, onComplete, ease: easing });\n }\n\n instantOpen()\n {\n if (this.animating) { return; }\n this.leftCurtain.x = -this.leftCurtain.width;\n this.rightCurtain.x = this.rightCurtain.x + this.rightCurtain.width;\n this.topCurtain.y = -this.topCurtain.height;\n this.backCurtain.y = -this.backCurtain.height;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/curtain-view.js","import { Button } from 'vue';\n\n/**\n * Foreground visualization of the data that model contains.\n */\nexport default class MenuView extends PIXI.Container\n{\n /**\n * Initialize\n *\n * @param {Object} images The images\n */\n constructor(images, size, taglineText, buttonHandler)\n {\n super();\n\n this.name = 'MenuView';\n\n this.sizeWidth = size.width;\n this.sizeHeight = size.height;\n\n this.z = 0;\n this.buttonHandler = buttonHandler;\n\n this.characters = new PIXI.Sprite.fromImage(images.titleChars);\n this.addChild(this.characters);\n this.characters.centerX(size.width);\n this.characters.y = size.height + this.characters.height;\n this.characters.anchor.y = 1;\n\n const logo = new PIXI.Sprite.fromImage(images.logo);\n\n logo.y = 10;\n logo.centerX(size.width);\n\n const style\n = {\n align: 'center',\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2,\n };\n\n const tagline = new PIXI.Text(taglineText, style);\n\n tagline.centerX(size.width);\n tagline.y = 120;\n\n this.text = new PIXI.Container();\n this.text.y = -200;\n this.text.addChild(logo);\n this.text.addChild(tagline);\n this.addChild(this.text);\n\n const options\n = {\n normalUrl: images.btnNormalImage,\n hoverUrl: images.btnHoverImage,\n iconUrl: images.iconPlay,\n remainActive: true,\n blink: 0.3,\n };\n\n this.playButton = new Button(options);\n this.addChild(this.playButton);\n this.playButton.x = size.width;\n this.playButton.y = size.height - 110;\n this.playButton.tapped = () =>\n {\n if (this.animating) { return; }\n this.playButton.disable();\n this.buttonHandler();\n };\n }\n\n spacebarHit()\n {\n if (this.animating) { return; }\n this.buttonHandler();\n }\n\n open(cb)\n {\n this.hideElements(() =>\n {\n cb();\n });\n }\n\n close()\n {\n this.showElements();\n }\n\n showElements()\n {\n if (this.animating) { return; }\n this.animating = true;\n\n const onComplete = () =>\n {\n this.animating = false;\n this.playButton.startBlinking();\n };\n\n window.TweenMax.to(this.characters, 0.8, { y: this.sizeHeight });\n window.TweenMax.to(this.text, 0.8, { y: 0, onComplete });\n window.TweenMax.to(this.playButton, 0.8, { x: this.sizeWidth - 70 });\n }\n\n hideElements(callback)\n {\n if (this.animating) { return; }\n this.animating = true;\n\n this.playButton.stopBlinking();\n\n const onComplete = () =>\n {\n this.animating = false;\n this.playButton.stopBlinking();\n if (callback) callback()\n };\n\n window.TweenMax.to(this.characters, 0.4, { y: this.sizeHeight + this.characters.height });\n window.TweenMax.to(this.text, 0.4, { y: -200, onComplete });\n window.TweenMax.to(this.playButton, 0.2, { x: this.sizeWidth + 70 });\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/menu-view.js","import { Button } from 'vue';\n\n/**\n * Foreground visualization of the data that model contains.\n */\nexport default class WinView extends PIXI.Container\n{\n /**\n * Initialize\n *\n * @param {Object} images The images\n */\n constructor(images, size, buttonHandler,moneyBagMultiplier)\n {\n super();\n\n this.name = 'MenuView';\n\n this.z = 0;\n this.buttonHandler = buttonHandler;\n this.images = images;\n this.sizeWidth = size.width;\n this.sizeHeight = size.height - 45;\n\n this.moneyBagMultiplier = moneyBagMultiplier\n\n this.textYOffset = 250;\n\n this.daughter = new PIXI.Sprite.fromImage(images.daughter);\n this.addChild(this.daughter);\n this.daughter.x = 40;\n this.daughter.y = this.sizeHeight;\n\n const style\n = {\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2,\n };\n\n const tagline = new PIXI.Text(__t.str('You Won!'), style);\n\n tagline.centerX(size.width);\n tagline.y = 0;\n\n this.totalText = new PIXI.Text('', style);\n this.totalText.centerX(size.width);\n this.totalText.y = 180;\n\n this.text = new PIXI.Container();\n this.text.y = -this.textYOffset;\n this.text.addChild(tagline);\n this.text.addChild(this.totalText);\n\n this.addChild(this.text);\n\n // const options =\n // {\n // normalUrl: images.btnNormalImage,\n // hoverUrl: images.btnHoverImage,\n // iconUrl: images.iconPlay,\n // remainActive: true,\n // }\n\n // this.playButton = new Button(options);\n // this.addChild(this.playButton)\n // this.playButton.x = size.width\n // this.playButton.y = size.height - 110\n // this.playButton.tapped = () =>\n // {\n // if (this.animating) return\n // this.playButton.disable()\n // this.buttonHandler();\n // }\n }\n\n spacebarHit()\n {\n if (this.animating) { return; }\n this.buttonHandler();\n }\n\n showElements(result, onComplete)\n {\n if (this.animating) { return; }\n this.animating = true;\n\n this.showResult(result);\n\n // this.playButton.enable()\n\n const callback = () =>\n {\n this.animating = false;\n if (onComplete) { onComplete(); }\n };\n\n window.TweenMax.to(this.daughter, 0.8, { y: this.sizeHeight - this.daughter.height });\n window.TweenMax.to(this.text, 0.8, { y: 80, onComplete: callback });\n // window.TweenMax.to(this.playButton,0.8,{x:this.playButton.x - 70});\n }\n\n hideElements(onComplete)\n {\n if (this.animating) { return; }\n this.animating = true;\n\n const callback = () =>\n {\n this.animating = false;\n\n if (this.container)\n {\n this.container.removeSelf();\n }\n\n this.container = null;\n\n onComplete();\n };\n\n window.TweenMax.to(this.daughter, 0.4, { y: this.sizeHeight });\n window.TweenMax.to(this.text, 0.4, { y: -this.textYOffset, onComplete: callback });\n // window.TweenMax.to(this.playButton,0.2,{x:this.playButton.x + 70});\n }\n\n showResult(data)\n {\n const winAmount = data.winAmount;\n const result = data.result;\n const multipliers = data.multipliers;\n const stake = data.stake;\n\n const style\n = {\n fill: 0xFFFFFF,\n fontWeight: 700,\n fontSize: 14,\n fontFamily: 'ProximaNova',\n padding: 10,\n dropShadow: true,\n dropShadowAlpha: 0.5,\n dropShadowAngle: Math.PI / 4,\n dropShadowBlur: 1,\n dropShadowColor: 0x000000,\n dropShadowDistance: 2,\n };\n\n const container = new PIXI.Container();\n\n container.position.set(200, 20);\n this.text.addChild(container);\n\n let y = 0;\n\n for (let prizeId in result)\n {\n const count = result[prizeId];\n\n prizeId = window.parseInt(prizeId);\n\n let text;\n let sprite;\n\n if (prizeId === 6)\n {\n text = __c.localize(this.moneyBagMultiplier * stake);\n sprite = new PIXI.Sprite.fromImage(this.images.moneyBagWin);\n }\n else\n {\n if (count < 3)\n {\n continue;\n }\n\n const prizeImage = this.images[`gem${window.parseInt(prizeId) + 1}`];\n\n console.log(prizeImage);\n\n text = __c.localize(multipliers[prizeId] * stake);\n sprite = new PIXI.Sprite.fromImage(prizeImage);\n }\n\n const prize = new PIXI.Text(text, style);\n\n prize.x = 60;\n prize.y = y + 10;\n sprite.y = y;\n\n container.addChild(prize);\n container.addChild(sprite);\n\n y += 50;\n }\n\n const winAmountText = __c.localize(winAmount);\n\n this.totalText.text = `${__t.str('Total paid')}:` + ` ${winAmountText}`;\n this.totalText.centerX(this.sizeWidth);\n\n this.container = container;\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./themes/tr/view/win-view.js","var map = {\n\t\"./cs.json\": 106,\n\t\"./de.json\": 107,\n\t\"./en.json\": 108,\n\t\"./hu.json\": 109,\n\t\"./pl.json\": 110,\n\t\"./pt.json\": 111,\n\t\"./sk.json\": 112,\n\t\"./sv.json\": 113\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 105;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang ^\\.\\/.*\\.json$\n// module id = 105\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"lang/cs.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang/cs.json\n// module id = 106\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"lang/de.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang/de.json\n// module id = 107\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"lang/en.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang/en.json\n// module id = 108\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"lang/hu.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang/hu.json\n// module id = 109\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"lang/pl.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang/pl.json\n// module id = 110\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"lang/pt.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang/pt.json\n// module id = 111\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"lang/sk.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang/sk.json\n// module id = 112\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"lang/sv.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./lang/sv.json\n// module id = 113\n// module chunks = d-game","var map = {\n\t\"./SignPainter-HouseScript.eot\": 115,\n\t\"./proximasoft-bold-webfont.eot\": 116,\n\t\"./proximasoft-regular-webfont.eot\": 117\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 114;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font ^\\.\\/.*\\.eot$\n// module id = 114\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/SignPainter-HouseScript.eot\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/SignPainter-HouseScript.eot\n// module id = 115\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-bold-webfont.eot\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-bold-webfont.eot\n// module id = 116\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-regular-webfont.eot\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-regular-webfont.eot\n// module id = 117\n// module chunks = d-game","var map = {\n\t\"./SignPainter-HouseScript.svg\": 119,\n\t\"./proximasoft-bold-webfont.svg\": 120,\n\t\"./proximasoft-regular-webfont.svg\": 121\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 118;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font ^\\.\\/.*\\.svg$\n// module id = 118\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/SignPainter-HouseScript.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/SignPainter-HouseScript.svg\n// module id = 119\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-bold-webfont.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-bold-webfont.svg\n// module id = 120\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-regular-webfont.svg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-regular-webfont.svg\n// module id = 121\n// module chunks = d-game","var map = {\n\t\"./SignPainter-HouseScript.ttf\": 123,\n\t\"./proximasoft-bold-webfont.ttf\": 124,\n\t\"./proximasoft-regular-webfont.ttf\": 125\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 122;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font ^\\.\\/.*\\.ttf$\n// module id = 122\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/SignPainter-HouseScript.ttf\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/SignPainter-HouseScript.ttf\n// module id = 123\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-bold-webfont.ttf\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-bold-webfont.ttf\n// module id = 124\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-regular-webfont.ttf\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-regular-webfont.ttf\n// module id = 125\n// module chunks = d-game","var map = {\n\t\"./SignPainter-HouseScript.woff\": 127,\n\t\"./proximasoft-bold-webfont.woff\": 128,\n\t\"./proximasoft-regular-webfont.woff\": 129\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 126;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font ^\\.\\/.*\\.woff$\n// module id = 126\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/SignPainter-HouseScript.woff\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/SignPainter-HouseScript.woff\n// module id = 127\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-bold-webfont.woff\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-bold-webfont.woff\n// module id = 128\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-regular-webfont.woff\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-regular-webfont.woff\n// module id = 129\n// module chunks = d-game","var map = {\n\t\"./proximasoft-bold-webfont.woff2\": 131,\n\t\"./proximasoft-regular-webfont.woff2\": 132\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number or string\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 130;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font ^\\.\\/.*\\.woff2$\n// module id = 130\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-bold-webfont.woff2\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-bold-webfont.woff2\n// module id = 131\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/font/proximasoft-regular-webfont.woff2\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/font/proximasoft-regular-webfont.woff2\n// module id = 132\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/fonts.css\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/fonts.css\n// module id = 133\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sound/audio-sprite.json\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sound/audio-sprite.json\n// module id = 134\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sound/audio-sprite.mp3\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sound/audio-sprite.mp3\n// module id = 135\n// module chunks = d-game","module.exports = __webpack_public_path__ + \"themes/tr/sound/audio-sprite.ogg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./themes/tr/sound/audio-sprite.ogg\n// module id = 136\n// module chunks = d-game"],"sourceRoot":""}